All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo
      Src: /src/trafficserver/tests/tools/plugins/missing_mangled_definition_cpp.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/missing_mangled_definition_cpp.cc
    functionUses: 0
    functionsReached:
    - foo
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:57,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:63,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:65,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: handle_msg
    functionSourceFile: /src/trafficserver/tests/tools/plugins/continuations_verify.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContScheduleOnPool
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_msg(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:82,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:87,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:89,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:90,1
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:93,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:95,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: handle_order_1
    functionSourceFile: /src/trafficserver/tests/tools/plugins/continuations_verify.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - reinterpret_cast<TSHttpSsn>
    - Dbg
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_order_1(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:112,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:117,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:119,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:120,1
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:123,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:125,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: handle_order_2
    functionSourceFile: /src/trafficserver/tests/tools/plugins/continuations_verify.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - reinterpret_cast<TSHttpSsn>
    - Dbg
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_order_2(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:146,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:154,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:155,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:158,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:158,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:159,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:159,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:160,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:160,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:164,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:165,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:170,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:172,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:174,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:176,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:178,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:181,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:182,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:184,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:185,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/continuations_verify.cc:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 190
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/continuations_verify.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSLifecycleHookAdd
    - abort
    - TSError
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: started_txn
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void started_txn(uint64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - txnp
    - ssnp
    argTypes:
    - uint64_t
    - TSHttpTxn
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: started_txn
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void started_txn(uint64_t id, TSHttpTxn txnp, TSHttpSsn ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - started_txn
    - started_txn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: operator()(const started_txn &lhs, const started_txn &rhs) const
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const started_txn &lhs, const started_txn &rhs) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:105,1
    - Dst: std::string
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:108,1
    - Dst: empty
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:110,1
    - Dst: empty
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:119,1
    - Dst: std::string
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:127,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: dump_tables
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - empty
    - std::stringstream::str
    - std::string
    linkageType: ''
    returnType: void
    signature: void dump_tables()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:148,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:149,1
    - Dst: erase
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:150,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:152,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:153,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:154,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:158,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:159,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:160,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:163,1
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:170,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:171,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:173,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:175,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:176,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:177,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:181,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:187,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:188,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:188,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:189,1
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:191,1
    - Dst: started_txn
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:191,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:191,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:192,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:194,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:195,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:198,1
    - Dst: started_txn
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:198,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:198,1
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:199,1
    - Dst: started_txn
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:199,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:199,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:201,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:201,1
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:205,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:205,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:208,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:212,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:213,1
    - Dst: erase
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:215,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:218,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:221,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:222,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:227,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:228,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:229,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:232,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:238,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:240,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:240,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:241,1
    - Dst: started_txn
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:243,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:243,1
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:245,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:245,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:247,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:251,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:252,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:255,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:257,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:258,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:259,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:264,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:270,1
    - Dst: reinterpret_cast<TSPluginMsg *>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:271,1
    - Dst: strcmp
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:274,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:274,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:274,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:274,1
    - Dst: dump_tables
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:275,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:277,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:284,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:289,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 99
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 294
    functionName: handle_order
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - insert
    - TSContScheduleOnPool
    - TSHttpTxnSsnGet
    - TSHttpTxnIdGet
    - dump_tables
    - strncmp
    - abort
    - strcmp
    - erase
    - find
    - reinterpret_cast<TSHttpSsn>
    - reinterpret_cast<TSPluginMsg *>
    - end
    - Dbg
    - strlen
    - TSHttpTxnReenable
    - reinterpret_cast<const char *>
    - started_txn
    - TSHttpSsnReenable
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_order(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:306,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:314,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:315,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:318,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:318,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:321,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:322,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:326,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:327,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:328,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:329,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:330,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:331,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:334,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:335,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:337,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:338,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 342
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssntxnorder_verify.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSLifecycleHookAdd
    - abort
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_last_of
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:55,1
    - Dst: std::string::append
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:58,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:60,1
    - Dst: std::string::append
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:61,1
    - Dst: std::string::append
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:62,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - path
    - newname
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: update_file_name
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc
    functionUses: 0
    functionsReached:
    - std::string_view::find_last_of
    - std::string_view::substr
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void update_file_name(const std::string_view &path, std::string &newname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:69,1
    - Dst: open
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:73,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:75,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:75,1
    - Dst: std::string::resize
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:79,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:81,1
    - Dst: read
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:83,1
    - Dst: close
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:85,1
    - Dst: close
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - newname
    - statdata
    - data_item
    argTypes:
    - std::string
    - struct stat*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: load_file
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc
    functionUses: 0
    functionsReached:
    - stat
    - std::string::data
    - std::string::resize
    - read
    - close
    - Dbg
    - open
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool load_file(const std::string &newname, struct stat *statdata, std::string
      &data_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSSecretID *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:99,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:99,1
    - Dst: update_file_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:105,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:107,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:107,1
    - Dst: load_file
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:110,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:113,1
    - Dst: std::make_pair
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:113,1
    - Dst: TSSslSecretSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:115,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:115,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:118,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:118,1
    - Dst: update_file_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:121,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:121,1
    - Dst: load_file
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:124,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:127,1
    - Dst: std::make_pair
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:127,1
    - Dst: TSSslSecretSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:129,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:129,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: CB_Load_Secret
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - load_file
    - reinterpret_cast<TSSecretID *>
    - update_file_name
    - insert
    - std::string::size
    - std::string::data
    - std::make_pair
    - Dbg
    - TSSslSecretSet
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int CB_Load_Secret(TSCont /* cont ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:139,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:139,1
    - Dst: update_file_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:145,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:145,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:145,1
    - Dst: stat
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:147,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:152,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:152,1
    - Dst: load_file
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:153,1
    - Dst: TSSslSecretSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:156,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:156,1
    - Dst: auto::first::length
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:156,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:156,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:156,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:162,1
    - Dst: c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:162,1
    - Dst: TSSslSecretUpdate
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:163,1
    - Dst: c_str
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:163,1
    - Dst: length
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:163,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: CB_Update_Secret
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc
    functionUses: 0
    functionsReached:
    - begin
    - load_file
    - update_file_name
    - auto::first::c_str
    - stat
    - std::string::data
    - std::string::size
    - std::vector::push_back
    - TSSslSecretUpdate
    - length
    - end
    - Dbg
    - TSSslSecretSet
    - auto::first::length
    - c_str
    - TSContScheduleOnPool
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int CB_Update_Secret(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:174,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:175,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:176,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:177,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:178,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:181,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:182,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:185,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:185,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_secret_load_test.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSError
    - TSContScheduleOnPool
    - const_cast<char *>
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:37,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:38,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:42,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:43,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:43,1
    - Dst: strncasecmp
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:43,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:44,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: is_get_request
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_log_interface.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrMethodGet
    - TSError
    - strlen
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: bool
    signature: bool is_get_request(TSHttpTxn transaction)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:54,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:55,1
    - Dst: is_get_request
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:59,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:61,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:61,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:67,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: global_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_log_interface.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - TSError
    - static_cast<TSHttpTxn>
    - static_cast<TSHttpSsn>
    - is_get_request
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int global_handler(TSCont /* continuation ATS_UNUSED */, TSEvent event,
      void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:80,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:81,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:82,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:84,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:85,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:89,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:89,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:90,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/test_log_interface.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_log_interface.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - TSAssert
    - TSHttpHookAdd
    - TSTextLogObjectCreate
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:45,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:45,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:47,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:48,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:48,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:49,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:49,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:50,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - header
    - val
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: set_header
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSReleaseAssert
    - strlen
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char *header,
      const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:62,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:63,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:64,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:66,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:67,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:68,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: cont_global
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    - TSHttpTxnSsnGet
    - static_cast<TSHttpTxn>
    - TSHttpSsnClientVConnGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int cont_global(TSCont /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArgIndexes *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:80,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:80,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:81,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:82,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:83,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:85,1
    - Dst: set_header
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:86,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:86,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:86,1
    - Dst: set_header
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:87,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:87,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:87,1
    - Dst: set_header
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:88,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:88,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:88,1
    - Dst: set_header
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:89,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:89,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:89,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: cont_remap
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    - static_cast<ArgIndexes *>
    - set_header
    - TSHttpTxnSsnGet
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<const char *>
    - TSHttpSsnClientVConnGet
    - TSUserArgGet
    linkageType: ''
    returnType: int
    signature: int cont_remap(TSCont contp, TSEvent /* event ATS_UNUSED */, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:102,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:103,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:104,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:105,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:106,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:109,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:110,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:112,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:113,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:115,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:116,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:118,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:119,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:124,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:126,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSUserArgIndexReserve
    - TSUserArgSet
    - const_cast<char *>
    - TSHttpHookAdd
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:133,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:134,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - api_info
    argTypes:
    - TSRemapInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char * /* errbuf
      ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ArgIndexes::ArgIndexes
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:144,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:146,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:147,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:147,1
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:149,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:150,1
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:152,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:153,1
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:155,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:156,1
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:158,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:159,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSUserArgIndexNameLookup
    - TSError
    - TSContDataSet
    - TSContCreate
    - ArgIndexes::ArgIndexes
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int /* argc ATS_UNUSED */, char **
      /* argv ATS_UNUSED */, void **ih, char * /* errbuf ATS_UNUSED */,\n                   int
      /* errbuf_size ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArgIndexes *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:170,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - static_cast<ArgIndexes *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArgIndexes *>
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:179,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:181,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/tests/tools/plugins/user_args.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/tests/tools/plugins/user_args.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSHttpTxnStatusSet
    - static_cast<ArgIndexes *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:63,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:63,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:65,1
    - Dst: TSContThreadAffinityGet
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:68,1
    - Dst: TSContThreadAffinityClear
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:69,1
    - Dst: TSContThreadAffinityGet
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:71,1
    - Dst: TSContThreadAffinitySet
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:72,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:72,1
    - Dst: TSContThreadAffinityGet
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:76,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:79,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: TSContThreadAffinity_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - TSContThreadAffinitySet
    - TSThreadSelf
    - TSContThreadAffinityClear
    - Dbg
    - TSEventThreadSelf
    - TSContThreadAffinityGet
    linkageType: ''
    returnType: int
    signature: int TSContThreadAffinity_handler(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:91,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:94,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:97,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: TSContThreadAffinity_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - abort
    - TSContScheduleOnPool
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSContThreadAffinity_test()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:106,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:106,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:109,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:113,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: TSContScheduleOnPool_handler_1
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleOnPool_handler_1(TSCont /* contp ATS_UNUSED */, TSEvent
      /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:125,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:125,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:128,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: TSContScheduleOnPool_handler_2
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleOnPool_handler_2(TSCont /* contp ATS_UNUSED */, TSEvent
      /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:145,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:145,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:146,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:146,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:149,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:150,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:152,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:154,1
    - Dst: TSContThreadAffinityClear
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:155,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:156,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:158,1
    - Dst: TSContThreadAffinityClear
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:159,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: TSContScheduleOnPool_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - abort
    - TSContScheduleOnPool
    - TSContThreadAffinityClear
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSContScheduleOnPool_test()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:169,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:169,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:173,1
    - Dst: TSContScheduleOnThread
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:174,1
    - Dst: TSContScheduleOnThread
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:177,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:180,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: TSContScheduleOnThread_handler_1
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    - TSContScheduleOnThread
    linkageType: ''
    returnType: int
    signature: int TSContScheduleOnThread_handler_1(TSCont /* contp ATS_UNUSED */,
      TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:191,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:191,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:193,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:194,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:195,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: TSContScheduleOnThread_handler_2
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleOnThread_handler_2(TSCont /* contp ATS_UNUSED */,
      TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:205,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:205,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:206,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:209,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:212,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:213,1
    - Dst: TSContThreadAffinityClear
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:214,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: TSContScheduleOnThread_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - abort
    - TSContScheduleOnPool
    - TSContThreadAffinityClear
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSContScheduleOnThread_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:222,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: TSContScheduleOnEntirePool_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleOnEntirePool_handler(TSCont /* contp ATS_UNUSED */,
      TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:232,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:233,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:235,1
    - Dst: TSContScheduleOnEntirePool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: TSContScheduleOnEntirePool_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnEntirePool
    - Dbg
    - TSContCreate
    - abort
    linkageType: ''
    returnType: void
    signature: void TSContScheduleOnEntirePool_test()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:243,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:243,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:247,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:250,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:251,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: TSContScheduleEveryOnPool_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleEveryOnPool_handler(TSCont /* contp ATS_UNUSED */,
      TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:262,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:262,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:265,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:266,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:268,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: TSContScheduleEveryOnPool_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - abort
    - Dbg
    - TSContCreate
    - TSContScheduleEveryOnPool
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSContScheduleEveryOnPool_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:276,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:276,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:278,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:279,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: TSContScheduleEveryOnThread_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    - TSEventThreadSelf
    linkageType: ''
    returnType: int
    signature: int TSContScheduleEveryOnThread_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:289,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:289,1
    - Dst: TSEventThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:294,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:295,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:297,1
    - Dst: TSContScheduleEveryOnThread
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: TSContScheduleEveryOnThread_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - abort
    - TSContScheduleEveryOnThread
    - Dbg
    - TSContCreate
    - TSEventThreadSelf
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSContScheduleEveryOnThread_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:306,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: TSContScheduleEveryOnEntirePool_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSThreadSelf
    linkageType: ''
    returnType: int
    signature: "int TSContScheduleEveryOnEntirePool_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent /* event ATS_UNUSED */,\n                                        void
      * /* edata ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:316,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:317,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:319,1
    - Dst: TSContScheduleEveryOnEntirePool
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: TSContScheduleEveryOnEntirePool_test
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContScheduleEveryOnEntirePool
    - TSContCreate
    - abort
    linkageType: ''
    returnType: void
    signature: void TSContScheduleEveryOnEntirePool_test()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSContThreadAffinity_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:330,1
    - Dst: TSContScheduleOnPool_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:333,1
    - Dst: TSContScheduleOnThread_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:336,1
    - Dst: TSContScheduleOnEntirePool_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:339,1
    - Dst: TSContScheduleEveryOnPool_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:342,1
    - Dst: TSContScheduleEveryOnThread_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:345,1
    - Dst: TSContScheduleEveryOnEntirePool_test
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 355
    functionName: LifecycleHookTracer
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - TSContThreadAffinity_test
    - TSContScheduleOnPool_test
    - TSContScheduleOnThread_test
    - TSContScheduleEveryOnEntirePool_test
    - TSContScheduleEveryOnPool_test
    - TSContScheduleEveryOnThread_test
    - TSContScheduleOnEntirePool_test
    linkageType: ''
    returnType: int
    signature: int LifecycleHookTracer(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void * /* edata ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:361,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:363,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:365,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:366,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:368,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:369,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:371,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:372,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:374,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:375,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:377,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:378,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:380,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:381,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:396,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:397,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:398,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:401,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:401,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:401,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:406,1
    - Dst: abort
      Src: /src/trafficserver/tests/tools/plugins/cont_schedule.cc:407,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 408
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/cont_schedule.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - Dbg
    - TSContCreate
    - strlen
    - strncmp
    - TSMutexCreate
    - abort
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: foo
    functionSourceFile: /src/trafficserver/tests/tools/plugins/missing_ts_plugin_init.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: foo
    functionSourceFile: /src/trafficserver/tests/tools/plugins/missing_mangled_definition_c.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foo
      Src: /src/trafficserver/tests/tools/plugins/missing_mangled_definition_c.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ATS_UNUSED
    - ATS_UNUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/missing_mangled_definition_c.c
    functionUses: 0
    functionsReached:
    - foo
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:51,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: check_name
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool check_name(const std::string &name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:61,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:65,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:70,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:71,1
    - Dst: strndup
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:72,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:72,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:72,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:72,1
    - Dst: check_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:73,1
    - Dst: free
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:74,1
    - Dst: static_cast<GENERAL_NAMES *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:79,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:79,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:81,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:85,1
    - Dst: strndup
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:88,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:88,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:88,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:88,1
    - Dst: check_name
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:89,1
    - Dst: free
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:90,1
    - Dst: GENERAL_NAMES_free
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: check_names
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - free
    - check_name
    - X509_get_subject_name
    - strndup
    - reinterpret_cast<const char *>
    - sk_GENERAL_NAME_value
    - X509_get_ext_d2i
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_num
    - X509_NAME_get_index_by_NID
    - static_cast<GENERAL_NAMES *>
    - X509_NAME_get_entry
    - GENERAL_NAMES_free
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: bool
    signature: bool check_names(X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:102,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:104,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:104,1
    - Dst: reinterpret_cast<X509_STORE_CTX *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:108,1
    - Dst: TSVConnSslVerifyCTXGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:108,1
    - Dst: STACK_OF
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:110,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:114,1
    - Dst: sk_X509_num
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:114,1
    - Dst: sk_X509_value
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:115,1
    - Dst: check_names
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:116,1
    - Dst: sk_X509_pop_free
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:121,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:126,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: CB_client_verify
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sk_X509_num
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - check_names
    - Dbg
    - TSVConnSslVerifyCTXGet
    - X509_STORE_CTX_get1_chain
    - sk_X509_value
    - TSContDataGet
    - TSVConnReenableEx
    - sk_X509_pop_free
    - reinterpret_cast<X509_STORE_CTX *>
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int CB_client_verify(TSCont cont, TSEvent event, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:143,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:145,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:149,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:151,1
    - Dst: std::pair<std::string, int>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:151,1
    - Dst: std::string
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - count
    argTypes:
    - int
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: parse_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - index
    - insert
    - std::string
    - atoi
    - std::pair<std::string, int>
    linkageType: ''
    returnType: void
    signature: void parse_callbacks(int argc, const char *argv[], int &count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:165,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:167,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:167,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:168,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:168,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: setup_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<intptr_t>
    - TSContDataSet
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void setup_callbacks(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:179,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:180,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:181,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:182,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:183,1
    - Dst: parse_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:187,1
    - Dst: setup_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_client_verify_test.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - setup_callbacks
    - parse_callbacks
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:49,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:51,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:51,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:55,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:56,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:57,1
    - Dst: find
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:60,1
    - Dst: end
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:64,1
    - Dst: TSVConnSslSniGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:68,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:69,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:69,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:71,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: CB_server_verify
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - find
    - end
    - Dbg
    - TSVConnReenableEx
    - TSContDataGet
    - SSL_get_servername
    - reinterpret_cast<SSL *>
    - strncmp
    - TSVConnSslConnectionGet
    - TSVConnSslSniGet
    linkageType: ''
    returnType: int
    signature: int CB_server_verify(TSCont cont, TSEvent event, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:89,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:91,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:95,1
    - Dst: insert
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:97,1
    - Dst: std::pair<std::string, int>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:97,1
    - Dst: std::string
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - count
    argTypes:
    - int
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: parse_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc
    functionUses: 1
    functionsReached:
    - index
    - insert
    - std::string
    - atoi
    - std::pair<std::string, int>
    linkageType: ''
    returnType: void
    signature: void parse_callbacks(int argc, const char *argv[], int &count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:111,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:113,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:113,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:114,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:114,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: setup_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc
    functionUses: 1
    functionsReached:
    - static_cast<intptr_t>
    - TSContDataSet
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void setup_callbacks(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:125,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:126,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:127,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:128,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:129,1
    - Dst: parse_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:133,1
    - Dst: setup_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_verify_test.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - setup_callbacks
    - parse_callbacks
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:40,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:42,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:46,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:47,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:49,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:50,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:52,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:53,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:56,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:57,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:58,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:59,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:63,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:66,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:68,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: txn_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - Dbg
    - static_cast<TSHttpTxn>
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSHttpTxnReenable
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: int
    signature: int txn_handler(TSCont /* contp */, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:80,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:81,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:82,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:84,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:85,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:89,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:90,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/http2_close_connection.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:50,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:62,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:63,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:64,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:65,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:68,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:70,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:72,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:76,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:78,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:81,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:82,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:86,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:88,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:89,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:90,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:91,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:92,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:93,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:99,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:100,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:101,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:101,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:101,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:106,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:110,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:115,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:116,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 119
    functionName: local_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/custom204plugin.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSError
    - TSHttpTxnHookAdd
    - TSstrdup
    - TSContDestroy
    - TSAssert
    - TSHttpTxnErrorBodySet
    - Dbg
    - TSUrlHostGet
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - strlen
    - strncmp
    - TSHttpHdrUrlGet
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int local_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:124,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:129,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:129,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:130,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:132,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:135,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: global_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/custom204plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSAssert
    - Dbg
    - TSContCreate
    - static_cast<TSHttpTxn>
    - TSMutexCreate
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int global_handler(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:151,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:152,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:155,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:155,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/custom204plugin.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/custom204plugin.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpHookAdd
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: test_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: int test_handler(TSCont /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:46,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:46,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:47,1
    - Dst: TSEmergency
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: LifecycleHookTracer
    functionSourceFile: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSMutexCreate
    - TSContCreate
    - TSEmergency
    linkageType: ''
    returnType: int
    signature: int LifecycleHookTracer(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:62,1
    - Dst: TSEmergency
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:63,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:66,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:66,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/emergency_shutdown.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSContCreate
    - TSEmergency
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ALWAYS_ASSERT
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALWAYS_ASSERT(EXPR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ATest
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void ATest(void (*testFuncPtr)())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TEST_FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: TEST
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(TEST_FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: memcmp
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: TextViewTest::f
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ts::swoc::TextView
    - std::ostringstream::str
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void f()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: memcmp
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: TextViewTest::f
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ts::swoc::TextView
    - std::ostringstream::str
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void f()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ContinuationTest::checkPassed
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkPassed(TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ContinuationTest::TestCont::TestCont
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestCont(Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ContinuationTest::TestCont::TestCont
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: ContinuationTest::TestCont::_run
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _run(TSEvent event, void *edata) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:108,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:109,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:109,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:110,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:110,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:114,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:115,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:115,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:116,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:116,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:123,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:124,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:124,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:125,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:125,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:130,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:131,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:131,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:132,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:132,1
    - Dst: std::move
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:134,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:136,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:137,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:137,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:138,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:138,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:143,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:144,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:144,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:145,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:145,1
    - Dst: TestCont::destroy
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:148,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:150,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:151,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:151,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:152,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:152,1
    - Dst: TestCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:154,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:156,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:157,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:157,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:158,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 159
    functionName: ContinuationTest::f
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - TestCont
    - TestCont::destroy
    - TestCont::mutex
    - TestCont::asTSCont
    - std::move
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void f()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ContinuationTest::checkPassed
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkPassed(TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ContinuationTest::TestCont::TestCont
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestCont(Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ContinuationTest::TestCont::TestCont
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: ContinuationTest::TestCont::_run
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _run(TSEvent event, void *edata) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:108,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:109,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:109,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:110,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:110,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:114,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:115,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:115,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:116,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:116,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:123,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:124,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:124,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:125,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:125,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:130,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:131,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:131,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:132,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:132,1
    - Dst: std::move
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:134,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:136,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:137,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:137,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:138,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:138,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:143,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:144,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:144,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:145,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:145,1
    - Dst: TestCont::destroy
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:148,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:150,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:151,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:151,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:152,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:152,1
    - Dst: TestCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:154,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:156,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:157,1
    - Dst: TestCont::asTSCont
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:157,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:158,1
    - Dst: TestCont::mutex
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 159
    functionName: ContinuationTest::f
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - TestCont
    - TestCont::destroy
    - TestCont::mutex
    - TestCont::asTSCont
    - std::move
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void f()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:176,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:176,1
    - Dst: fp
      Src: /src/trafficserver/tests/tools/plugins/test_cppapi.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_cppapi.cc
    functionUses: 0
    functionsReached:
    - fp
    - TSPluginRegister
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int, const char **)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ALWAYS_ASSERT
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALWAYS_ASSERT(EXPR)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:60,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:60,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:66,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:66,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:69,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:71,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:71,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:73,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:79,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:79,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:81,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:82,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:82,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:84,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 94
    functionName: transactionContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int transactionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:103,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:103,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:107,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:110,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:112,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:116,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:121,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:121,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:123,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:123,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:125,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:126,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:128,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:132,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:134,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:134,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:137,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:139,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:139,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:141,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:145,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:147,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:147,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:149,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:150,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:150,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:152,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 162
    functionName: sessionContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int sessionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:171,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:171,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:175,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:177,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:181,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:183,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:187,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:189,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:191,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:193,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:197,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:199,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:201,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:203,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:209,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:211,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:215,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:216,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:217,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:218,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:220,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:224,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:226,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:230,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:234,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:238,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:238,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:242,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:242,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:244,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:248,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:250,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:250,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:252,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:253,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:253,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:257,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:261,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:263,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:263,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:265,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:266,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:266,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:268,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 278
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSVConn>
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - TSHttpSsnHookAdd
    - TSVConnIsSsl
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSVConnReenable
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:60,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:60,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:66,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:66,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:69,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:71,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:71,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:73,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:79,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:79,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:81,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:82,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:82,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:84,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 94
    functionName: transactionContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int transactionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:103,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:103,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:107,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:110,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:112,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:116,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:121,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:121,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:123,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:123,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:125,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:126,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:128,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:132,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:134,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:134,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:137,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:139,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:139,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:141,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:145,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:147,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:147,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:149,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:150,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:150,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:152,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 162
    functionName: sessionContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int sessionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:171,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:171,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:175,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:177,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:181,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:183,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:187,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:189,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:191,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:193,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:197,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:199,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:201,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:203,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:209,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:211,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:215,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:216,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:217,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:218,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:220,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:224,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:226,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:230,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:234,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:238,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:238,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:242,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:242,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:244,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:248,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:250,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:250,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:252,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:253,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:253,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:257,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:261,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:263,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:263,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:265,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:266,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:266,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:268,1
    - Dst: ALWAYS_ASSERT
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 278
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSVConn>
    - TSHttpTxnSsnGet
    - TSHttpEventNameLookup
    - Dbg
    - TSHttpSsnHookAdd
    - TSVConnIsSsl
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSVConnReenable
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:293,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:294,1
    - Dst: std::getenv
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:299,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:302,1
    - Dst: rdbuf
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:308,1
    - Dst: open
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:310,1
    - Dst: is_open
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:311,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:312,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:319,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:321,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:324,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:325,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:326,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:327,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:328,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:329,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:330,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:336,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:337,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:345,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/test_hooks.cc:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 348
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/test_hooks.cc
    functionUses: 0
    functionsReached:
    - rdbuf
    - TSError
    - std::getenv
    - TSHttpHookAdd
    - is_open
    - TSContCreate
    - TSMutexCreate
    - open
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:45,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:49,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:49,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:50,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:51,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: ReenableSSL
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - TSContDestroy
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int ReenableSSL(TSCont cont, TSEvent /* event ATS_UNUSED */, void *
      /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:59,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:61,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:63,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: CB_Pre_Accept
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_Pre_Accept(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:73,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:75,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:75,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:77,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:79,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:81,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: CB_Pre_Accept_Delay
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSContDataGet
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int CB_Pre_Accept_Delay(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:93,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:95,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:97,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: CB_out_start
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_out_start(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:108,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:110,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:112,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:115,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:117,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: CB_out_start_delay
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSContDataGet
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int CB_out_start_delay(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:129,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:131,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:133,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: CB_close
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_close(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:146,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:148,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:150,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: CB_out_close
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_out_close(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:160,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:162,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:162,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:164,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: CB_Client_Hello_Immediate
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_Client_Hello_Immediate(TSCont cont, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:174,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:176,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:178,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:180,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:180,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:182,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: CB_Client_Hello
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSContDataGet
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int CB_Client_Hello(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:194,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:196,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:196,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:198,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: CB_SNI
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_SNI(TSCont cont, TSEvent /* event ATS_UNUSED */, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:208,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:210,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:212,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: CB_Cert_Immediate
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - Dbg
    - TSContDataGet
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int CB_Cert_Immediate(TSCont cont, TSEvent /* event ATS_UNUSED */,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:221,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:223,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:225,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:227,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:227,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:229,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: CB_Cert
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<intptr_t>
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSContDataGet
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int CB_Cert(TSCont cont, TSEvent /* event ATS_UNUSED */, void *edata)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:249,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:251,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:255,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:257,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:261,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:263,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:263,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:264,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:265,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:265,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:266,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:267,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:267,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:268,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:270,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:275,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:277,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:281,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:283,1
    - Dst: index
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:287,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:289,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:289,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:290,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:291,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:291,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:292,1
    - Dst: strncmp
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:293,1
    - Dst: strlen
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:293,1
    - Dst: atoi
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 13
    argNames:
    - argc
    - argv
    - preaccept_count
    - client_hello_count
    - client_hello_count_immediate
    - sni_count
    - cert_count
    - cert_count_immediate
    - preaccept_count_delay
    - close_count
    - out_start_count
    - out_start_delay_count
    - out_close_count
    argTypes:
    - int
    - char*[]
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 300
    functionName: parse_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 2
    functionsReached:
    - atoi
    - strncmp
    - strlen
    - index
    linkageType: ''
    returnType: void
    signature: "void parse_callbacks(int argc, const char *argv[], int &preaccept_count,
      int &client_hello_count, int &client_hello_count_immediate,\n                int
      &sni_count, int &cert_count, int &cert_count_immediate, int &preaccept_count_delay,
      int &close_count,\n                int &out_start_count, int &out_start_delay_count,
      int &out_close_count)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:310,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:313,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:314,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:314,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:316,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:318,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:322,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:323,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:323,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:325,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:327,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:331,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:331,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:332,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:332,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:334,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:336,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:340,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:340,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:341,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:341,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:343,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:345,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:349,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:350,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:350,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:352,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:354,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:358,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:359,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:359,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:361,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:363,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:367,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:368,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:368,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:370,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:372,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:377,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:378,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:378,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:380,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:382,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:386,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:387,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:387,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:389,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:391,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:395,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:396,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:396,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:398,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:400,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:404,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:405,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:405,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:407,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:409,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 102
    argCount: 12
    argNames:
    - txn
    - preaccept_count
    - client_hello_count
    - client_hello_count_immediate
    - sni_count
    - cert_count
    - cert_count_immediate
    - preaccept_count_delay
    - close_count
    - out_start_count
    - out_start_delay_count
    - out_close_count
    argTypes:
    - TSHttpTxn
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 414
    functionName: setup_callbacks
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 2
    functionsReached:
    - static_cast<intptr_t>
    - TSHttpTxnHookAdd
    - TSContDataSet
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: "void setup_callbacks(TSHttpTxn txn, int preaccept_count, int client_hello_count,
      int client_hello_count_immediate, int sni_count,\n                int cert_count,
      int cert_count_immediate, int preaccept_count_delay, int close_count, int out_start_count,\n
      \               int out_start_delay_count, int out_close_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:421,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:422,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:423,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:424,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:425,1
    - Dst: parse_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:439,1
    - Dst: setup_callbacks
      Src: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 446
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/ssl_hook_test.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - setup_callbacks
    - parse_callbacks
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:39,1
    - Dst: TSHttpTxnTypeGet
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:40,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:41,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:43,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:45,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:46,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:47,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: tunnelStart
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - Dbg
    - TSHttpTxnReenable
    - TSHttpTxnTypeGet
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int tunnelStart(TSCont /* cont ATS_UNUSED */, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:57,1
    - Dst: TSHttpTxnTypeGet
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:59,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:61,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:63,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: transactionStart
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - Dbg
    - TSHttpTxnReenable
    - TSHttpTxnTypeGet
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transactionStart(TSCont /* cont ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:73,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: handleMsg
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handleMsg(TSCont /* cont ATS_UNUSED */, TSEvent event, void * /*
      edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:83,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:84,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:85,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:87,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:88,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:91,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:92,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:93,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:94,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:96,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:96,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:97,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:97,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:98,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:98,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:100,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:101,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_tunnel_plugin.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSLifecycleHookAdd
    - TSError
    - const_cast<char *>
    - TSHttpHookAdd
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/conf_remap_stripped.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/tests/tools/plugins/conf_remap_stripped.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int /* argc ATS_UNUSED */, char **
      /* argv ATS_UNUSED */, void ** /* ih ATS_UNUSED */,\n                   char
      * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/tests/tools/plugins/conf_remap_stripped.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void * /* ih ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/tests/tools/plugins/conf_remap_stripped.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void * /* ih ATS_UNUSED */, TSHttpTxn
      /* rh ATS_UNUSED */, TSRemapRequestInfo * /* rri ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:40,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:44,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:48,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:52,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:53,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:54,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - continuation
    - event
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: transactionHandler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSContDestroy
    - TSContDataSet
    - Dbg
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transactionHandler(TSCont continuation, TSEvent event, void *d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:69,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:74,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:75,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:78,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:79,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:83,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:84,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:86,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:92,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:93,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:93,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:94,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:98,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - continuation
    - event
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 104
    functionName: sessionHandler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSContDestroy
    - TSAssert
    - Dbg
    - TSContCreate
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int sessionHandler(TSCont continuation, TSEvent event, void *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:111,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:112,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:112,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:114,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:117,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:120,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:122,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: globalHandler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSHttpSsnHookAdd
    - TSContCreate
    - static_cast<TSHttpSsn>
    - TSHttpSsnReenable
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int globalHandler(TSCont /* continuation ATS_UNUSED */, TSEvent event,
      void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:135,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:136,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:137,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:139,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:140,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:145,1
    - Dst: strcmp
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:146,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:150,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:150,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/hook_add_plugin.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TSError
    - const_cast<char *>
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: my_data_alloc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSmalloc
    linkageType: ''
    returnType: MyData
    signature: 'MyData *

      my_data_alloc()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:63,1
    - Dst: TSfree
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - MyData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: my_data_destroy
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSfree
    linkageType: ''
    returnType: void
    signature: void my_data_destroy(MyData *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:78,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:81,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:89,1
    - Dst: static_cast<decltype(data)>
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:96,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:96,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:98,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:99,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:101,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:101,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:102,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:103,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:114,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:117,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:117,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:118,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:126,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:127,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:133,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:133,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:134,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:141,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:141,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:141,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:146,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:146,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:151,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:151,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:153,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:155,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:163,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:170,1
    - Dst: TSContCall
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:175,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:175,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:184,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:184,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:185,1
    - Dst: TSContCall
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:190,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - contp
    - forward
    argTypes:
    - TSCont
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 192
    functionName: handle_transform
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - static_cast<decltype(data)>
    - TSVIONBytesGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - Dbg
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSContDataSet
    - my_data_alloc
    - TSIOBufferReaderAlloc
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void handle_transform(TSCont contp, bool forward)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:200,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:203,1
    - Dst: my_data_destroy
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:204,1
    - Dst: static_cast<MyData *>
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:204,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:204,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:205,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:214,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:219,1
    - Dst: TSContCall
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:224,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:224,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:227,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:233,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:233,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:241,1
    - Dst: handle_transform
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:242,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:245,1
    - Dst: handle_transform
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - contp
    - event
    - forward
    argTypes:
    - TSCont
    - TSEvent
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 252
    functionName: null_transform
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - handle_transform
    - TSVConnWriteVIOGet
    - TSContCall
    - static_cast<MyData *>
    - TSContDestroy
    - TSVIOContGet
    - TSVConnShutdown
    - TSTransformOutputVConnGet
    - Dbg
    - TSContDataGet
    - my_data_destroy
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int null_transform(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */, bool forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: null_transform
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: forward_null_transform
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - null_transform
    linkageType: ''
    returnType: int
    signature: int forward_null_transform(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: null_transform
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: reverse_null_transform
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - null_transform
    linkageType: ''
    returnType: int
    signature: int reverse_null_transform(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:269,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:270,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:271,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:272,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: transform_add
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - Dbg
    - TSTransformCreate
    linkageType: ''
    returnType: void
    signature: void transform_add(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:281,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:284,1
    - Dst: transform_add
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:285,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: transform_plugin
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnReenable
    - transform_add
    linkageType: ''
    returnType: int
    signature: int transform_plugin(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:298,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: handleMsg
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handleMsg(TSCont /* cont ATS_UNUSED */, TSEvent event, void * /*
      edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:312,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:313,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:319,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:321,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:322,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:323,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:325,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:325,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:326,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:326,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:326,1
    - Dst: TSError
      Src: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 331
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/tunnel_transform.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSLifecycleHookAdd
    - TSError
    - TSHttpHookAdd
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_new
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:91,1
    - Dst: RSA_meth_set_pub_enc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:92,1
    - Dst: RSA_meth_set_pub_dec
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:92,1
    - Dst: RSA_meth_set_priv_enc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:93,1
    - Dst: RSA_meth_set_priv_dec
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:94,1
    - Dst: RSA_meth_set_mod_exp
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:95,1
    - Dst: RSA_meth_set_bn_mod_exp
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:96,1
    - Dst: RSA_meth_set_init
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:96,1
    - Dst: RSA_meth_set_finish
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:97,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:98,1
    - Dst: ERR_load_ASYNC_strings
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:103,1
    - Dst: ENGINE_set_id
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:105,1
    - Dst: ENGINE_set_name
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:105,1
    - Dst: ENGINE_set_RSA
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:105,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:106,1
    - Dst: ENGINE_set_init_function
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:106,1
    - Dst: ENGINE_set_finish_function
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:107,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:107,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: bind_async
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - ERR_load_ASYNC_strings
    - RSA_meth_set_priv_dec
    - RSA_meth_set_pub_enc
    - RSA_meth_set_bn_mod_exp
    - fprintf
    - ENGINE_set_id
    - ENGINE_set_name
    - ENGINE_set_load_privkey_function
    - ENGINE_set_init_function
    - ENGINE_set_destroy_function
    - RSA_meth_set_mod_exp
    - RSA_meth_set_init
    - RSA_meth_set_finish
    - RSA_meth_new
    - RSA_meth_set_pub_dec
    - RSA_meth_set_priv_enc
    - ENGINE_set_finish_function
    - ENGINE_set_RSA
    linkageType: ''
    returnType: int
    signature: int bind_async(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:119,1
    - Dst: bind_async
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: bind_helper
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_async
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:133,1
    - Dst: bind_async
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:136,1
    - Dst: ENGINE_free
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: engine_async
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - bind_async
    - ENGINE_new
    - ENGINE_free
    linkageType: ''
    returnType: ENGINE
    signature: 'ENGINE *

      engine_async(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_async
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:146,1
    - Dst: ENGINE_add
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:149,1
    - Dst: ENGINE_free
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:150,1
    - Dst: ERR_clear_error
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: engine_load_async_int
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - ENGINE_add
    - ENGINE_free
    - ERR_clear_error
    - engine_async
    linkageType: ''
    returnType: void
    signature: void engine_load_async_int(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:194,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:195,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:199,1
    - Dst: ASYNC_WAIT_CTX_get_fd
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:201,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:202,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:204,1
    - Dst: pipe
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:207,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:208,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:213,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:215,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:216,1
    - Dst: wait_cleanup
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:217,1
    - Dst: ASYNC_pause_job
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:223,1
    - Dst: read
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 228
    functionName: async_pause_job
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - pipe
    - fprintf
    - OPENSSL_free
    - OPENSSL_malloc
    - wait_cleanup
    - read
    - ASYNC_get_wait_ctx
    - ASYNC_get_current_job
    - ASYNC_pause_job
    - ASYNC_WAIT_CTX_get_fd
    linkageType: ''
    returnType: void
    signature: void async_pause_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:234,1
    - Dst: write
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:236,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:237,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: delay_method
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - write
    - fprintf
    - sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      delay_method(void *arg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:249,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:250,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:254,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:257,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:258,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:262,1
    - Dst: pipe
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:263,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:264,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:268,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:269,1
    - Dst: pthread_create
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: spawn_delay_thread
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - pipe
    - fprintf
    - OPENSSL_malloc
    - pthread_create
    - ASYNC_get_wait_ctx
    - ASYNC_get_current_job
    - ASYNC_WAIT_CTX_get_all_fds
    linkageType: ''
    returnType: void
    signature: void spawn_delay_thread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_get_pub_enc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:281,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: async_pub_enc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - RSA_meth_get_pub_enc
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_pub_enc(int flen, const unsigned char *from, unsigned char
      *to, RSA *rsa, int padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_get_pub_dec
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:287,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: async_pub_dec
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - RSA_meth_get_pub_dec
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_pub_dec(int flen, const unsigned char *from, unsigned char
      *to, RSA *rsa, int padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:293,1
    - Dst: spawn_delay_thread
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:294,1
    - Dst: async_pause_job
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:295,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:296,1
    - Dst: RSA_meth_get_priv_enc
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:297,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: async_rsa_priv_enc
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - fprintf
    - async_pause_job
    - spawn_delay_thread
    - RSA_meth_get_priv_enc
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_rsa_priv_enc(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:303,1
    - Dst: spawn_delay_thread
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:304,1
    - Dst: async_pause_job
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:305,1
    - Dst: RSA_meth_get_priv_dec
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:306,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: async_rsa_priv_dec
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - fprintf
    - RSA_meth_get_priv_dec
    - async_pause_job
    - spawn_delay_thread
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_rsa_priv_dec(int flen, const unsigned char *from, unsigned
      char *to, RSA *rsa, int padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_get_mod_exp
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:312,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r0
    - I
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: async_rsa_mod_exp
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - RSA_meth_get_mod_exp
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_get_init
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:318,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: async_rsa_init
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - RSA_meth_get_init
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_rsa_init(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_get_finish
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:323,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/trafficserver/tests/tools/plugins/async_engine.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: async_rsa_finish
    functionSourceFile: /src/trafficserver/tests/tools/plugins/async_engine.c
    functionUses: 0
    functionsReached:
    - RSA_meth_get_finish
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int async_rsa_finish(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: test_handler
    functionSourceFile: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: int test_handler(TSCont /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:46,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:46,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:47,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: LifecycleHookTracer
    functionSourceFile: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSMutexCreate
    - TSContCreate
    - TSFatal
    linkageType: ''
    returnType: int
    signature: int LifecycleHookTracer(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:62,1
    - Dst: TSEmergency
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:63,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:66,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:66,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/tools/plugins/fatal_shutdown.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSContCreate
    - TSEmergency
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:54,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:55,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:60,1
    - Dst: OPENSSL_init_ssl
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:62,1
    - Dst: memset
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:65,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:71,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:73,1
    - Dst: gai_strerror
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:73,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:74,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:83,1
    - Dst: connect
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:87,1
    - Dst: close
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:91,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:95,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:96,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:99,1
    - Dst: SSLv23_client_method
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:99,1
    - Dst: assert
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:100,1
    - Dst: SSL_new
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:101,1
    - Dst: assert
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:102,1
    - Dst: SSL_set_fd
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:104,1
    - Dst: SSL_connect
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:105,1
    - Dst: assert
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:106,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:108,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:109,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:109,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:110,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:111,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:112,1
    - Dst: SSL_read
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:118,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:121,1
    - Dst: close
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:125,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (client_ctx != NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c
    - condition: (ssl != NULL)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c
    - condition: (ret == 1)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c
    constantsTouched: []
    func_position:
      end: 128
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/trafficserver/tests/gold_tests/chunked_encoding/smuggle-client.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - SSL_write
    - gai_strerror
    - exit
    - SSL_read
    - socket
    - fprintf
    - connect
    - SSL_get_error
    - OPENSSL_init_ssl
    - assert
    - SSL_new
    - SSLv23_client_method
    - getaddrinfo
    - close
    - SSL_set_fd
    - strlen
    - printf
    - memset
    - SSL_connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:56,1
    - Dst: pthread_mutex_unlock
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:58,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mode
    - type
    - ATS_UNUSED
    - ATS_UNUSED
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: SSL_locking_callback
    functionSourceFile: /src/trafficserver/tests/gold_tests/tls/ssl-post.c
    functionUses: 0
    functionsReached:
    - printf
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void SSL_locking_callback(int mode, int type, const char *file ATS_UNUSED,
      int line ATS_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:73,1
    - Dst: pthread_self
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: SSL_pthreads_thread_id
    functionSourceFile: /src/trafficserver/tests/gold_tests/tls/ssl-post.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - CRYPTO_THREADID_set_numeric
    linkageType: ''
    returnType: void
    signature: void SSL_pthreads_thread_id(CRYPTO_THREADID *id)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:83,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:85,1
    - Dst: perror
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:86,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:87,1
    - Dst: connect
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:89,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:90,1
    - Dst: perror
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:91,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:92,1
    - Dst: fcntl
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:95,1
    - Dst: setsockopt
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:98,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:100,1
    - Dst: SSLv23_client_method
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:100,1
    - Dst: SSL_new
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:101,1
    - Dst: SSL_set_max_proto_version
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:102,1
    - Dst: SSL_set_session
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:104,1
    - Dst: SSL_set_fd
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:106,1
    - Dst: SSL_connect
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:107,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:112,1
    - Dst: FD_ZERO
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:115,1
    - Dst: FD_ZERO
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:116,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:120,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:124,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:129,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:130,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:134,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:135,1
    - Dst: select
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:138,1
    - Dst: FD_ISSET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:139,1
    - Dst: FD_ISSET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:139,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:140,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:140,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:142,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:148,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:148,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:151,1
    - Dst: shutdown
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:156,1
    - Dst: SSL_read
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:159,1
    - Dst: FD_ZERO
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:163,1
    - Dst: FD_ZERO
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:164,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:166,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:168,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:172,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:176,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:177,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:182,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:183,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:186,1
    - Dst: FD_SET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:187,1
    - Dst: select
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:191,1
    - Dst: FD_ISSET
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:192,1
    - Dst: SSL_read
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:193,1
    - Dst: pthread_exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:208,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 93
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 209
    functionName: spawn_same_session_send
    functionSourceFile: /src/trafficserver/tests/gold_tests/tls/ssl-post.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - SSL_write
    - setsockopt
    - SSL_read
    - fcntl
    - socket
    - SSL_set_session
    - connect
    - shutdown
    - SSL_get_error
    - FD_SET
    - SSL_set_max_proto_version
    - FD_ZERO
    - SSL_new
    - SSLv23_client_method
    - FD_ISSET
    - SSL_set_fd
    - strlen
    - printf
    - select
    - perror
    - pthread_exit
    - SSL_connect
    linkageType: ''
    returnType: void
    signature: 'void *

      spawn_same_session_send(void *arg)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:224,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:225,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:228,1
    - Dst: snprintf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:229,1
    - Dst: snprintf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:233,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:233,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:233,1
    - Dst: strcat
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:235,1
    - Dst: memset
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:236,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:238,1
    - Dst: memset
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:244,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:250,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:252,1
    - Dst: gai_strerror
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:252,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:253,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:262,1
    - Dst: connect
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:266,1
    - Dst: close
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:270,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:274,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:275,1
    - Dst: SSL_load_error_strings
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:280,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:281,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:283,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:283,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:284,1
    - Dst: pthread_mutex_init
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:285,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:288,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:293,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:296,1
    - Dst: SSLv23_client_method
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:296,1
    - Dst: SSL_new
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:297,1
    - Dst: SSL_set_max_proto_version
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:298,1
    - Dst: SSL_set_fd
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:300,1
    - Dst: SSL_connect
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:301,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:304,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:305,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:306,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:309,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:310,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:310,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:311,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:312,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:313,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:315,1
    - Dst: SSL_read
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:318,1
    - Dst: SSL_get_session
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:325,1
    - Dst: close
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:326,1
    - Dst: malloc
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:330,1
    - Dst: pthread_create
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:332,1
    - Dst: pthread_join
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:338,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:340,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:344,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/tls/ssl-post.c:346,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/trafficserver/tests/gold_tests/tls/ssl-post.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - SSL_write
    - pthread_create
    - pthread_join
    - gai_strerror
    - strcat
    - CRYPTO_THREADID_set_callback
    - snprintf
    - exit
    - SSL_read
    - socket
    - fprintf
    - connect
    - SSL_get_error
    - SSL_set_max_proto_version
    - SSL_load_error_strings
    - SSL_new
    - SSLv23_client_method
    - SSL_get_session
    - pthread_mutex_init
    - getaddrinfo
    - close
    - SSL_set_fd
    - atoi
    - strlen
    - printf
    - memset
    - SSL_library_init
    - OPENSSL_malloc
    - SSL_connect
    - CRYPTO_num_locks
    - CRYPTO_set_locking_callback
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:61,1
    - Dst: pthread_mutex_unlock
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:63,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mode
    - type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: SSL_locking_callback
    functionSourceFile: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc
    functionUses: 0
    functionsReached:
    - printf
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void SSL_locking_callback(int mode, int type, const char * /* file
      ATS_UNUSED */, int /* line ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:72,1
    - Dst: pthread_self
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: SSL_pthreads_thread_id
    functionSourceFile: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - CRYPTO_THREADID_set_numeric
    linkageType: ''
    returnType: void
    signature: void SSL_pthreads_thread_id([[maybe_unused]] CRYPTO_THREADID *id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:82,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:84,1
    - Dst: SSL_set_max_proto_version
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:88,1
    - Dst: SSL_set_fd
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:90,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:92,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:96,1
    - Dst: sleep
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:98,1
    - Dst: SSL_accept
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:102,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:106,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:108,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:109,1
    - Dst: SSL_read
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:114,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:117,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:119,1
    - Dst: sleep
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:122,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:124,1
    - Dst: SSL_write
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:125,1
    - Dst: strlen
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:125,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:126,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:128,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:130,1
    - Dst: SSL_free
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:135,1
    - Dst: close
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 140
    functionName: run_session
    functionSourceFile: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc
    functionUses: 0
    functionsReached:
    - SSL_new
    - fprintf
    - SSL_write
    - sleep
    - SSL_accept
    - SSL_free
    - close
    - SSL_set_fd
    - SSL_get_error
    - strlen
    - SSL_read
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: 'void *

      run_session(void *arg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:151,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:152,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:154,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:155,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:156,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:159,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:161,1
    - Dst: memset
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:164,1
    - Dst: htonl
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:167,1
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:168,1
    - Dst: bind
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:170,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:170,1
    - Dst: SSL_load_error_strings
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:172,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:173,1
    - Dst: static_cast<pthread_mutex_t *>
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:175,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:175,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:175,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:176,1
    - Dst: pthread_mutex_init
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:177,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:180,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:182,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:185,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:185,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:187,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:188,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:189,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:192,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:193,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:194,1
    - Dst: listen
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:197,1
    - Dst: accept
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:200,1
    - Dst: printf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:203,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:204,1
    - Dst: fprintf
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:207,1
    - Dst: pthread_create
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:211,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:211,1
    - Dst: exit
      Src: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/trafficserver/tests/gold_tests/timeout/ssl-delay-server.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_new
    - pthread_create
    - CRYPTO_THREADID_set_callback
    - htonl
    - exit
    - socket
    - fprintf
    - bind
    - SSL_load_error_strings
    - SSL_CTX_use_PrivateKey_file
    - static_cast<intptr_t>
    - htons
    - reinterpret_cast<struct sockaddr *>
    - pthread_mutex_init
    - atoi
    - SSL_CTX_use_certificate_file
    - printf
    - memset
    - SSLv23_server_method
    - SSL_library_init
    - OPENSSL_malloc
    - CRYPTO_num_locks
    - CRYPTO_set_locking_callback
    - accept
    - listen
    - static_cast<pthread_mutex_t *>
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:52,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:53,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:60,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::vector::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:68,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::for_each
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: std::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:77,1
    - Dst: TSRPCHandlerDone
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:80,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:82,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:82,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:83,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - id
    - p
    argTypes:
    - char*
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 86
    functionName: test_join_hosts_method
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - std::for_each
    - YAML::Node::Node
    - auto::as
    - std::vector::size
    - what
    - std::string::size
    - reinterpret_cast<TSYaml>
    - TSRPCHandlerDone
    - TSRPCHandlerError
    - Dbg
    - end
    - reinterpret_cast<YAML::Node *>
    - std::begin
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void test_join_hosts_method(const char *id, TSYaml p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:92,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:94,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:98,1
    - Dst: auto::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:101,1
    - Dst: std::for_each
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: CharIndex::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:106,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:106,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:108,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: test_join_hosts_notification
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - std::for_each
    - auto::as
    - what
    - auto::size
    - end
    - Dbg
    - reinterpret_cast<YAML::Node *>
    - CharIndex::begin
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void test_join_hosts_notification(TSYaml p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:52,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:53,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:60,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:64,1
    - Dst: std::vector::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:68,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:71,1
    - Dst: std::for_each
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: std::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:76,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:77,1
    - Dst: TSRPCHandlerDone
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:80,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:82,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:82,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:83,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - id
    - p
    argTypes:
    - char*
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 86
    functionName: test_join_hosts_method
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - std::for_each
    - YAML::Node::Node
    - auto::as
    - std::vector::size
    - what
    - std::string::size
    - reinterpret_cast<TSYaml>
    - TSRPCHandlerDone
    - TSRPCHandlerError
    - Dbg
    - end
    - reinterpret_cast<YAML::Node *>
    - std::begin
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void test_join_hosts_method(const char *id, TSYaml p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:92,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:94,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:98,1
    - Dst: auto::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:101,1
    - Dst: std::for_each
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: CharIndex::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:105,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:106,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:106,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:108,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: test_join_hosts_notification
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - std::for_each
    - auto::as
    - what
    - auto::size
    - end
    - Dbg
    - reinterpret_cast<YAML::Node *>
    - CharIndex::begin
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void test_join_hosts_notification(TSYaml p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:125,1
    - Dst: static_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:126,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:126,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:132,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: auto::Type
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:145,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:150,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:154,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:156,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: swoc::SWOC_VERSION_NS::file::current_path
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:166,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:169,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:175,1
    - Dst: push_back
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:178,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:181,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:184,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:184,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:185,1
    - Dst: std::find_if
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: std::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:190,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:192,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:196,1
    - Dst: add_host
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:200,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:207,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:207,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: add_host
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:213,1
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:219,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:223,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:224,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:225,1
    - Dst: RefCountCachePartition<C>::copy
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: l_remove
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:237,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:237,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:241,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:244,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:247,1
    - Dst: TSRPCHandlerDone
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:248,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:248,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 250
    functionName: CB_handle_rpc_io_call
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - YAML::Emitter::c_str
    - TSContDestroy
    - swoc::SWOC_VERSION_NS::file::current_path
    - YAML::LoadFile
    - TSContDataGet
    - YAML::Emitter::Emitter
    - add_host
    - std::begin
    - YAML::Node::Node
    - std::runtime_error
    - what
    - reinterpret_cast<TSYaml>
    - auto::Type
    - static_cast<YAML::Node *>
    - TSRPCHandlerError
    - std::error_code::value
    - fs::path::c_str
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    - std::vector::push_back
    - TSRPCHandlerDone
    - push_back
    - Dbg
    - end
    - std::ofstream::close
    - YAML::Node::Type
    - std::error_code::message
    - l_remove
    - auto::as
    - std::string::size
    - YAML::Node::IsSequence
    - BaseLogFile::exists
    - std::find_if
    - RefCountCachePartition<C>::copy
    linkageType: ''
    returnType: int
    signature: int CB_handle_rpc_io_call(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:259,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:259,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:260,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: test_io_on_et_task
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSMutexCreate
    - TSContCreate
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void test_io_on_et_task(const char * /* id ATS_UNUSED */, TSYaml p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:125,1
    - Dst: static_cast<YAML::Node *>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:126,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:126,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:132,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:134,1
    - Dst: auto::Type
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:145,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:150,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:154,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:156,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:160,1
    - Dst: swoc::SWOC_VERSION_NS::file::current_path
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:166,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:169,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:175,1
    - Dst: push_back
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:178,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:181,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:184,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:184,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:185,1
    - Dst: std::find_if
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: std::begin
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:188,1
    - Dst: auto::as
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:190,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:192,1
    - Dst: end
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:196,1
    - Dst: add_host
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:200,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:207,1
    - Dst: what
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:207,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:208,1
    - Dst: add_host
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:213,1
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:219,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:223,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:224,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:225,1
    - Dst: RefCountCachePartition<C>::copy
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:230,1
    - Dst: TSRPCHandlerError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:231,1
    - Dst: l_remove
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:237,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:237,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:241,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:244,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:247,1
    - Dst: TSRPCHandlerDone
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:248,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:248,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 250
    functionName: CB_handle_rpc_io_call
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - YAML::Emitter::c_str
    - TSContDestroy
    - swoc::SWOC_VERSION_NS::file::current_path
    - YAML::LoadFile
    - TSContDataGet
    - YAML::Emitter::Emitter
    - add_host
    - std::begin
    - YAML::Node::Node
    - std::runtime_error
    - what
    - reinterpret_cast<TSYaml>
    - auto::Type
    - static_cast<YAML::Node *>
    - TSRPCHandlerError
    - std::error_code::value
    - fs::path::c_str
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    - std::vector::push_back
    - TSRPCHandlerDone
    - push_back
    - Dbg
    - end
    - std::ofstream::close
    - YAML::Node::Type
    - std::error_code::message
    - l_remove
    - auto::as
    - std::string::size
    - YAML::Node::IsSequence
    - BaseLogFile::exists
    - std::find_if
    - RefCountCachePartition<C>::copy
    linkageType: ''
    returnType: int
    signature: int CB_handle_rpc_io_call(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:259,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:259,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:260,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: test_io_on_et_task
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSMutexCreate
    - TSContCreate
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void test_io_on_et_task(const char * /* id ATS_UNUSED */, TSYaml p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:274,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:275,1
    - Dst: TSRPCRegister
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:280,1
    - Dst: c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:280,1
    - Dst: size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:280,1
    - Dst: c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:280,1
    - Dst: size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:280,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:283,1
    - Dst: TSRPCRegisterMethodHandler
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:288,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:288,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:290,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:292,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:292,1
    - Dst: TSRPCRegisterMethodHandler
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:297,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:297,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:297,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:299,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:299,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:301,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:301,1
    - Dst: TSRPCRegisterNotificationHandler
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:307,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:307,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:307,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:309,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:309,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:311,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:311,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 315
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/jsonrpc/plugins/jsonrpc_plugin_handler_test.cc
    functionUses: 0
    functionsReached:
    - TSRPCRegisterMethodHandler
    - TSError
    - std::string::size
    - TSRPCRegisterNotificationHandler
    - Dbg
    - c_str
    - TSRPCRegister
    - size
    - std::string::c_str
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - test_step
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: step_cstr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      step_cstr(int test_step)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:83,1
    - Dst: std::atomic::load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:83,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:96,1
    - Dst: step_cstr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:96,1
    - Dst: std::atomic::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - curr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: next_step
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - std::atomic::store
    - std::atomic::load
    - step_cstr
    - Dbg
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void next_step(int curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSThreadWait
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:113,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:113,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: ~Blocking_action()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - TSThreadWait
    linkageType: ''
    returnType: void
    signature: void ~Blocking_action()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Blocking_action::Blocking_action
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blocking_action()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:139,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:141,1
    - Dst: TSContUniqPtr::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:141,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:142,1
    - Dst: TSContUniqPtr::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Blocking_action::init
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookAdd
    - TSContCreate
    - TSContUniqPtr::get
    linkageType: ''
    returnType: void
    signature: void Blocking_action::init()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:148,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:150,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:152,1
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:156,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:158,1
    - Dst: Blocking_action::_checker::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:160,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:161,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:162,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:166,1
    - Dst: Blocking_action::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:166,1
    - Dst: Blocking_action::_cont_mutex_locked::load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:168,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:169,1
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:174,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:176,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:185,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 192
    functionName: Blocking_action::_global_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - Blocking_action::_checker::get
    - TSError
    - TSHttpTxnHookAdd
    - TSstrdup
    - Blocking_action::_txn_hook_cont::get
    - Dbg
    - FetchSM::ext_read_data
    - TSReleaseAssert
    - Blocking_action::_cont_mutex_locked::load
    - static_cast<TSHttpTxn>
    - ink_thr_yield
    - next_step
    - TSHttpTxnErrorBodySet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int Blocking_action::_global_cont_func(TSCont, TSEvent event, void
      *eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:197,1
    - Dst: static_cast<Blocking_action *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:199,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: auto::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: auto::_cont_mutex_locked::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:202,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:206,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:206,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    - Dst: auto::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - vba
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: Blocking_action::_thread_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - auto::_cont_mutex_locked::store
    - proxy_wasm::exports::set_tick_period_milliseconds
    - static_cast<Blocking_action *>
    - TSMutexUnlock
    - next_step
    - TSContMutexGet
    - auto::_txn_hook_cont::get
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: 'void *

      Blocking_action::_thread_func(void *vba)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:224,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:226,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:227,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:229,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:231,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:234,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: Blocking_action::_txn_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - FetchSM::ext_read_data
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - next_step
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int Blocking_action::_txn_cont_func(TSCont, TSEvent event, void *eventData)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - test_step
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: step_cstr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      step_cstr(int test_step)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:83,1
    - Dst: std::atomic::load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:83,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:96,1
    - Dst: step_cstr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:96,1
    - Dst: std::atomic::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - curr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: next_step
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 3
    functionsReached:
    - std::atomic::store
    - std::atomic::load
    - step_cstr
    - Dbg
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void next_step(int curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSThreadWait
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:113,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:113,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: ~Blocking_action()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - TSThreadWait
    linkageType: ''
    returnType: void
    signature: void ~Blocking_action()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Blocking_action::Blocking_action
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blocking_action()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:139,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:141,1
    - Dst: TSContUniqPtr::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:141,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:142,1
    - Dst: TSContUniqPtr::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Blocking_action::init
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookAdd
    - TSContCreate
    - TSContUniqPtr::get
    linkageType: ''
    returnType: void
    signature: void Blocking_action::init()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:148,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:150,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:152,1
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:156,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:158,1
    - Dst: Blocking_action::_checker::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:160,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:161,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:162,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:166,1
    - Dst: Blocking_action::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:166,1
    - Dst: Blocking_action::_cont_mutex_locked::load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:168,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:169,1
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:174,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:176,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSstrdup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:179,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:185,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 192
    functionName: Blocking_action::_global_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - Blocking_action::_checker::get
    - TSError
    - TSHttpTxnHookAdd
    - TSstrdup
    - Blocking_action::_txn_hook_cont::get
    - Dbg
    - FetchSM::ext_read_data
    - TSReleaseAssert
    - Blocking_action::_cont_mutex_locked::load
    - static_cast<TSHttpTxn>
    - ink_thr_yield
    - next_step
    - TSHttpTxnErrorBodySet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int Blocking_action::_global_cont_func(TSCont, TSEvent event, void
      *eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:197,1
    - Dst: static_cast<Blocking_action *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:199,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: auto::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:201,1
    - Dst: auto::_cont_mutex_locked::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:202,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:206,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:206,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    - Dst: auto::_txn_hook_cont::get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - vba
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: Blocking_action::_thread_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - auto::_cont_mutex_locked::store
    - proxy_wasm::exports::set_tick_period_milliseconds
    - static_cast<Blocking_action *>
    - TSMutexUnlock
    - next_step
    - TSContMutexGet
    - auto::_txn_hook_cont::get
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: 'void *

      Blocking_action::_thread_func(void *vba)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_step
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:224,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:226,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:227,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:229,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:231,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:234,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: Blocking_action::_txn_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - FetchSM::ext_read_data
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - next_step
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int Blocking_action::_txn_cont_func(TSCont, TSEvent event, void *eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:247,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:251,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:252,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:253,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:255,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:259,1
    - Dst: atscppapi::TxnAuxDataMgr::init
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:262,1
    - Dst: Blocking_action::init
      Src: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/polite_hook_wait/polite_hook_wait.cc
    functionUses: 0
    functionsReached:
    - TSError
    - atscppapi::TxnAuxDataMgr::init
    - const_cast<char *>
    - Blocking_action::init
    - Dbg
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* n_arg ATS_UNUSED */, char const ** /* arg
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:51,1
    - Dst: inet_pton
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:52,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: TargetAddress::TargetAddress
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - inet_pton
    - htons
    - TSError
    linkageType: ''
    returnType: void
    signature: void TargetAddress(char const *address, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: TargetAddress::get_address
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: TargetAddress::get_port
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: TargetAddress::is_valid
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sockaddr const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TargetAddress::get_sockaddr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\n  get_sockaddr() const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:117,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:121,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:123,1
    - Dst: std::make_unique<TargetAddress>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:126,1
    - Dst: is_valid
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:127,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: parse_arguments
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - atoi
    - std::make_unique<TargetAddress>
    - is_valid
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool parse_arguments(int argc, char const *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:140,1
    - Dst: TSHttpTxnServerAddrSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:145,1
    - Dst: get_sockaddr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:145,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: get_address
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: get_port
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:150,1
    - Dst: get_address
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:150,1
    - Dst: get_port
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:151,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: set_origin
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - get_address
    - TSHttpTxnServerAddrSet
    - TSError
    - Dbg
    - get_port
    - get_sockaddr
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int set_origin(TSCont /* cont ATS_UNUSED */, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:51,1
    - Dst: inet_pton
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:52,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: TargetAddress::TargetAddress
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - inet_pton
    - htons
    - TSError
    linkageType: ''
    returnType: void
    signature: void TargetAddress(char const *address, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: TargetAddress::get_address
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: TargetAddress::get_port
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: TargetAddress::is_valid
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sockaddr const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TargetAddress::get_sockaddr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\n  get_sockaddr() const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:117,1
    - Dst: atoi
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:121,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:123,1
    - Dst: std::make_unique<TargetAddress>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:126,1
    - Dst: is_valid
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:127,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: parse_arguments
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - atoi
    - std::make_unique<TargetAddress>
    - is_valid
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool parse_arguments(int argc, char const *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:140,1
    - Dst: TSHttpTxnServerAddrSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:145,1
    - Dst: get_sockaddr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:145,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: get_address
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: get_port
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:146,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:150,1
    - Dst: get_address
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:150,1
    - Dst: get_port
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:151,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: set_origin
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - get_address
    - TSHttpTxnServerAddrSet
    - TSError
    - Dbg
    - get_port
    - get_sockaddr
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int set_origin(TSCont /* cont ATS_UNUSED */, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:161,1
    - Dst: data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:164,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:167,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:167,1
    - Dst: parse_arguments
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:169,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:174,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:176,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpTxnServerAddrSet.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpHookAdd
    - Dbg
    - parse_arguments
    - TSReleaseAssert
    - TSContCreate
    - data
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientProtocolStackContains
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:39,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:41,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:42,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:43,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:44,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:45,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:46,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:47,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:48,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:49,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:50,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:51,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:58,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:59,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:60,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:61,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:62,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:63,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:64,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:65,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:66,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:67,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:68,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:69,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:70,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:71,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:72,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: handle_ssn_close
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnInfoIntGet
    - TSHttpSsnClientProtocolStackContains
    - TSHttpSsnReenable
    linkageType: ''
    returnType: void
    signature: void handle_ssn_close(TSHttpSsn ssn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:88,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:88,1
    - Dst: handle_ssn_close
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:92,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - handle_ssn_close
    - static_cast<TSHttpSsn>
    - TSHttpEventNameLookup
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientProtocolStackContains
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:39,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:41,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:42,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:43,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:44,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:45,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:46,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:47,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:48,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:49,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:50,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:51,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:58,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:59,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:60,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:61,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:62,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:63,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:64,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:65,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:66,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:67,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:68,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:69,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:70,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:71,1
    - Dst: TSHttpSsnInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:72,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: handle_ssn_close
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc
    functionUses: 1
    functionsReached:
    - TSHttpSsnInfoIntGet
    - TSHttpSsnClientProtocolStackContains
    - TSHttpSsnReenable
    linkageType: ''
    returnType: void
    signature: void handle_ssn_close(TSHttpSsn ssn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:88,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:88,1
    - Dst: handle_ssn_close
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:92,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - handle_ssn_close
    - static_cast<TSHttpSsn>
    - TSHttpEventNameLookup
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:114,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:115,1
    - Dst: std::getenv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:120,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:123,1
    - Dst: rdbuf
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:129,1
    - Dst: open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:131,1
    - Dst: is_open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:132,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:133,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:139,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:140,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo.cc
    functionUses: 0
    functionsReached:
    - rdbuf
    - TSError
    - std::getenv
    - TSHttpHookAdd
    - is_open
    - TSContCreate
    - TSMutexCreate
    - open
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrEffectiveUrlBufGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:64,1
    - Dst: TSHttpHdrEffectiveUrlBufGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:77,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:77,1
    - Dst: std::string::substr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:83,1
    - Dst: std::string::substr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:87,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:92,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:96,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:99,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:103,1
    - Dst: TSUrlRawSchemeGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:106,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:110,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:112,1
    - Dst: TSUrlRawPortGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - desc
    - hbuf
    - hloc
    argTypes:
    - char*
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 115
    functionName: testsForReqHdr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - std::string::substr
    - TSUrlRawSchemeGet
    - std::string::data
    - TSUrlPortGet
    - TSUrlRawPortGet
    - TSUrlSchemeGet
    - TSHttpHdrUrlGet
    - std::string_view
    - TSHttpHdrEffectiveUrlBufGet
    linkageType: ''
    returnType: void
    signature: void testsForReqHdr(char const *desc, TSMBuffer hbuf, TSMLoc hloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:122,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:130,1
    - Dst: TSfree
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: testsForEffectiveUrlStringGet
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnEffectiveUrlStringGet
    - std::string_view
    - TSfree
    linkageType: ''
    returnType: void
    signature: void testsForEffectiveUrlStringGet(TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:139,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:145,1
    - Dst: testsForReqHdr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: testsForReadReqHdrHook
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - testsForReqHdr
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: void
    signature: void testsForReadReqHdrHook(TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:158,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:164,1
    - Dst: testsForReqHdr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:168,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: testsForSendReqHdrHook
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReqHdr
    - testsForEffectiveUrlStringGet
    - TSHttpTxnServerReqGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void testsForSendReqHdrHook(TSHttpTxn txn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:179,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:181,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:185,1
    - Dst: testsForReadReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:187,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:189,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:193,1
    - Dst: testsForSendReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:195,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:197,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: transactionContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReadReqHdrHook
    - TSHttpEventNameLookup
    - testsForSendReqHdrHook
    - Dbg
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transactionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:214,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:214,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:218,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:220,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:221,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:223,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:227,1
    - Dst: testsForReadReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:229,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:231,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:235,1
    - Dst: testsForSendReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:237,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:239,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 249
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReadReqHdrHook
    - TSHttpTxnHookAdd
    - TSHttpEventNameLookup
    - testsForSendReqHdrHook
    - Dbg
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrEffectiveUrlBufGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:64,1
    - Dst: TSHttpHdrEffectiveUrlBufGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:77,1
    - Dst: std::string::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:77,1
    - Dst: std::string::substr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:83,1
    - Dst: std::string::substr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:87,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:92,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:96,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:99,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:103,1
    - Dst: TSUrlRawSchemeGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:106,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:110,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:112,1
    - Dst: TSUrlRawPortGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - desc
    - hbuf
    - hloc
    argTypes:
    - char*
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 115
    functionName: testsForReqHdr
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 2
    functionsReached:
    - TSHandleMLocRelease
    - std::string::substr
    - TSUrlRawSchemeGet
    - std::string::data
    - TSUrlPortGet
    - TSUrlRawPortGet
    - TSUrlSchemeGet
    - TSHttpHdrUrlGet
    - std::string_view
    - TSHttpHdrEffectiveUrlBufGet
    linkageType: ''
    returnType: void
    signature: void testsForReqHdr(char const *desc, TSMBuffer hbuf, TSMLoc hloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:122,1
    - Dst: std::string_view
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:130,1
    - Dst: TSfree
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: testsForEffectiveUrlStringGet
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 2
    functionsReached:
    - TSHttpTxnEffectiveUrlStringGet
    - std::string_view
    - TSfree
    linkageType: ''
    returnType: void
    signature: void testsForEffectiveUrlStringGet(TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:139,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:145,1
    - Dst: testsForReqHdr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: testsForReadReqHdrHook
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 2
    functionsReached:
    - testsForEffectiveUrlStringGet
    - testsForReqHdr
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: void
    signature: void testsForReadReqHdrHook(TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:158,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:164,1
    - Dst: testsForReqHdr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:168,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: testsForSendReqHdrHook
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 2
    functionsReached:
    - testsForReqHdr
    - testsForEffectiveUrlStringGet
    - TSHttpTxnServerReqGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void testsForSendReqHdrHook(TSHttpTxn txn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:179,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:181,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:185,1
    - Dst: testsForReadReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:187,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:189,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:193,1
    - Dst: testsForSendReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:195,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:197,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: transactionContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReadReqHdrHook
    - TSHttpEventNameLookup
    - testsForSendReqHdrHook
    - Dbg
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transactionContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:214,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:214,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:218,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:220,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:221,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:223,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:227,1
    - Dst: testsForReadReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:229,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:231,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:235,1
    - Dst: testsForSendReqHdrHook
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:237,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:239,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 249
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReadReqHdrHook
    - TSHttpTxnHookAdd
    - TSHttpEventNameLookup
    - testsForSendReqHdrHook
    - Dbg
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:256,1
    - Dst: SpecificDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:258,1
    - Dst: SpecificDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:259,1
    - Dst: SpecificDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:260,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:262,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:263,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:264,1
    - Dst: std::getenv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:266,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:269,1
    - Dst: rdbuf
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:275,1
    - Dst: open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:277,1
    - Dst: is_open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:278,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:279,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:286,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:288,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:290,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:291,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:292,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - api_info
    argTypes:
    - TSRemapInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - rdbuf
    - SpecificDbg
    - TSError
    - std::getenv
    - TSHttpHookAdd
    - is_open
    - Dbg
    - TSReleaseAssert
    - TSContCreate
    - TSMutexCreate
    - open
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char * /* errbuf
      ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:301,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:302,1
    - Dst: size
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:302,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - argc
    - argv
    - instance
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void *>
    - TSReleaseAssert
    - size
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:320,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:322,1
    - Dst: size
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:322,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::uintptr_t>
    - size
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:330,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:331,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:332,1
    - Dst: size
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:332,1
    - Dst: testsForReqHdr
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - instance
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - testsForReqHdr
    - TSReleaseAssert
    - size
    - reinterpret_cast<std::uintptr_t>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:351,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: ~Cleanup()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~Cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:351,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: ~Cleanup()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_tsapi.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~Cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:40,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:42,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:47,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:48,1
    - Dst: TSVConnPPInfoGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:49,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:49,1
    - Dst: TSVConnPPInfoGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:50,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:50,1
    - Dst: inet_ntoa
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:53,1
    - Dst: inet_ntoa
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:53,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: handle_ssn_start
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char **>
    - TSVConnPPInfoGet
    - TSHttpSsnClientVConnGet
    - inet_ntoa
    - TSVConnPPInfoIntGet
    - TSHttpSsnReenable
    linkageType: ''
    returnType: void
    signature: void handle_ssn_start(TSHttpSsn ssn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:62,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:64,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:64,1
    - Dst: handle_ssn_start
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:68,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - handle_ssn_start
    - static_cast<TSHttpSsn>
    - TSHttpEventNameLookup
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:40,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:42,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:47,1
    - Dst: TSVConnPPInfoIntGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:48,1
    - Dst: TSVConnPPInfoGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:49,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:49,1
    - Dst: TSVConnPPInfoGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:50,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:50,1
    - Dst: inet_ntoa
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:53,1
    - Dst: inet_ntoa
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:53,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: handle_ssn_start
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char **>
    - TSVConnPPInfoGet
    - TSHttpSsnClientVConnGet
    - inet_ntoa
    - TSVConnPPInfoIntGet
    - TSHttpSsnReenable
    linkageType: ''
    returnType: void
    signature: void handle_ssn_start(TSHttpSsn ssn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:62,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:64,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:64,1
    - Dst: handle_ssn_start
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:68,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - eventData
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: globalContFunc
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - handle_ssn_start
    - static_cast<TSHttpSsn>
    - TSHttpEventNameLookup
    linkageType: ''
    returnType: int
    signature: int globalContFunc(TSCont, TSEvent event, void *eventData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:90,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:91,1
    - Dst: std::getenv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:96,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:99,1
    - Dst: rdbuf
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:105,1
    - Dst: open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:107,1
    - Dst: is_open
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:108,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:109,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:115,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:116,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 118
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo.cc
    functionUses: 0
    functionsReached:
    - rdbuf
    - TSError
    - std::getenv
    - TSHttpHookAdd
    - is_open
    - TSContCreate
    - TSMutexCreate
    - open
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: nonNullPtrRel
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    linkageType: ''
    returnType: T
    signature: 'T *

      nonNullPtrRel(T *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: nonNullPtrDbg
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: T
    signature: 'T *

      nonNullPtrDbg(T *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io_buffer
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - reset
    - TSIOBufferReaderAlloc
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume(TSIOBuffer io_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume(Io_buffer_consume &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(Io_buffer_consume &&)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Io_buffer_consume
    signature: Io_buffer_consume &operator=(Io_buffer_consume &&)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:113,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:113,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:114,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:114,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:119,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:123,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:123,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:128,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Io_buffer_consume::avail
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSAssert
    - TSIOBufferReaderStart
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t Io_buffer_consume::avail()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:142,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: Io_buffer_consume::consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: char
    signature: 'char *

      Io_buffer_consume::consume(std::int64_t amount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:163,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:163,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Recv_from_vconn::Recv_from_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSContDataSet
    - TSVConnRead
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Recv_from_vconn(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Recv_from_vconn::vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn vconn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: ~Recv_from_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Recv_from_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Recv_from_vconn::_status
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: _Status
    signature: _Status _status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:194,1
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: Recv_from_vconn::_error_event
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent _error_event() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Recv_from_vconn::_avail
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - avail
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t _avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Recv_from_vconn::_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - consume
    linkageType: ''
    returnType: char
    signature: "char *\n  _consume(std::int64_t amount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Recv_from_vconn::_mtx
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex _mtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: Recv_from_vconn::Recv_from_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Recv_from_vconn(Recv_from_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: '&operator=(Recv_from_vconn const &)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Recv_from_vconn
    signature: Recv_from_vconn &operator=(Recv_from_vconn const &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Recv_from_vconn *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:248,1
    - Dst: auto::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:248,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:249,1
    - Dst: auto::_status_::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:256,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:272,1
    - Dst: auto::_status_::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:274,1
    - Dst: auto::_notify_recv_from_vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: Recv_from_vconn::_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - static_cast<Recv_from_vconn *>
    - TSError
    - TSAssert
    - auto::_status
    - TSContDataGet
    - auto::_status_::store
    - nonNullPtrDbg
    - auto::_notify_recv_from_vconn
    linkageType: ''
    returnType: int
    signature: int Recv_from_vconn::_cont_func(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:287,1
    - Dst: store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vconn
    - bytes_to_send
    argTypes:
    - TSVConn
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Send_to_vconn::Send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - store
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn(TSVConn vconn, int64_t bytes_to_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: Send_to_vconn::vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn vconn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: Send_to_vconn::status
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:316,1
    - Dst: Send_to_vconn::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: Send_to_vconn::error_event
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - Send_to_vconn::status
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent error_event() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Send_to_vconn::mtx
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex mtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: ~Send_to_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Send_to_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: Send_to_vconn::Send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn(Send_to_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: '&operator=(Send_to_vconn const &)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Send_to_vconn
    signature: Send_to_vconn &operator=(Send_to_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: Send_to_vconn::_notify_send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _notify_send_to_vconn()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:365,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:367,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:369,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:371,1
    - Dst: Send_to_vconn::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:371,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:374,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:377,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:377,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:378,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: Send_to_vconn::_send
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<char const *>
    - TSAssert
    - TSIOBufferWrite
    - nonNullPtrDbg
    - Send_to_vconn::status
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn::_send(void const *data, int64_t n_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:397,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:397,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:399,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:399,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: Send_to_vconn::_send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:408,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 417
    functionName: Send_to_vconn::send
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSIOBufferCreate
    - TSContDataSet
    - TSVConnWrite
    - reset
    - TSContCreate
    - Send_to_vconn::_send
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn::send(void const *data, int64_t n_bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Send_to_vconn *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:424,1
    - Dst: auto::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:424,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:431,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:435,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:440,1
    - Dst: auto::_notify_send_to_vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cont
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 446
    functionName: Send_to_vconn::_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - auto::_notify_send_to_vconn
    - static_cast<Send_to_vconn *>
    - TSAssert
    - TSContDataGet
    - auto::status
    - nonNullPtrDbg
    - auto::_status::store
    linkageType: ''
    returnType: int
    signature: int Send_to_vconn::_cont_func(TSCont cont, TSEvent event, void * /*
      edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pathspec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: File_deleter::File_deleter
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void File_deleter(std::string &&pathspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:457,1
    - Dst: c_str
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: ~File_deleter()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - unlink
    - c_str
    linkageType: ''
    returnType: void
    signature: void ~File_deleter()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:491,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:494,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:495,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:496,1
    - Dst: buf::resize
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:510,1
    - Dst: send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:515,1
    - Dst: buf::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:515,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:521,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - vconn_
    - f_del
    - n_groups_send
    - n_group_bytes
    - allow_send_error
    - n_bytes_recv
    argTypes:
    - TSVConn
    - std::shared_ptr<File_deleter>
    - int
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 528
    functionName: Ramp_test::_Send_recv::_Send_recv
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - Ramp_test::_Send_recv::_done
    - buf::data
    - Dbg
    - buf::resize
    - TSReleaseAssert
    - send
    linkageType: ''
    returnType: void
    signature: "void _Send_recv(TSVConn vconn_, std::shared_ptr<File_deleter> const
      &f_del, int n_groups_send, int n_group_bytes,\n               bool allow_send_error,
      int n_bytes_recv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~_Send_recv() override
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~_Send_recv() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:564,1
    - Dst: Send_to_vconn::vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:564,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: Ramp_test::_Send_recv::_done
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached:
    - TSVConnClose
    - TSMutexUnlock
    - Send_to_vconn::vconn
    linkageType: ''
    returnType: void
    signature: void _done(TSMutex cont_mtx_ = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:582,1
    - Dst: 'on'
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:583,1
    - Dst: DbgPrint
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:584,1
    - Dst: _send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:594,1
    - Dst: buf::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:594,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:597,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:598,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:598,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:603,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:603,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:608,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:608,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:612,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:612,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 619
    functionName: Ramp_test::_Send_recv::_notify_send_to_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - error_event
    - Ramp_test::_Send_recv::_done
    - buf::data
    - DbgPrint
    - Dbg
    - mtx
    - TSReleaseAssert
    - _send
    - TSFatal
    - status
    linkageType: ''
    returnType: void
    signature: void Ramp_test::_Send_recv::_notify_send_to_vconn()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:624,1
    - Dst: 'on'
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:625,1
    - Dst: DbgPrint
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:626,1
    - Dst: _avail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:631,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:635,1
    - Dst: _consume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:635,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:641,1
    - Dst: unsigned
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:641,1
    - Dst: unsigned
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:650,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:651,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:651,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:656,1
    - Dst: Recv_from_vconn::vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:656,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:657,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:657,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:661,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:661,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 667
    functionName: Ramp_test::_Send_recv::_notify_recv_from_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - unsigned
    - 'on'
    - error_event
    - reinterpret_cast<unsigned char const *>
    - Ramp_test::_Send_recv::_done
    - TSVConnShutdown
    - DbgPrint
    - Dbg
    - mtx
    - TSReleaseAssert
    - _consume
    - Recv_from_vconn::_status
    - Recv_from_vconn::vconn
    - TSFatal
    - _avail
    linkageType: ''
    returnType: void
    signature: void Ramp_test::_Send_recv::_notify_recv_from_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:685,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:688,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:690,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: connect
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: accept
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:694,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: make_loopback
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - connect
    - htons
    - reinterpret_cast<sockaddr *>
    - TSReleaseAssert
    - accept
    - socket
    linkageType: ''
    returnType: Tcp_loopback
    signature: Tcp_loopback make_loopback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:706,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:707,1
    - Dst: make_loopback
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:709,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:711,1
    - Dst: TSVConnFdCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:711,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:712,1
    - Dst: TSVConnFdCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:712,1
    - Dst: _Send_recv::_Send_recv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:716,1
    - Dst: _Send_recv::_Send_recv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Test_params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 728
    functionName: Ramp_test::x
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - make_loopback
    - nonNullPtrRel
    - TSVConnFdCreate
    - TSReleaseAssert
    - _Send_recv::_Send_recv
    linkageType: ''
    returnType: void
    signature: void Ramp_test::x(Test_params const &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:733,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:734,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:746,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:756,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:766,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:776,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:786,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:796,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:798,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 3
    argNames:
    - cont
    - event
    - event_data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 803
    functionName: global_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - Ramp_test::x
    - nonNullPtrRel
    - reset
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int global_cont_func(TSCont cont, TSEvent event, void *event_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: nonNullPtrRel
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 2
    functionsReached:
    - TSReleaseAssert
    linkageType: ''
    returnType: T
    signature: 'T *

      nonNullPtrRel(T *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: nonNullPtrDbg
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 7
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: T
    signature: 'T *

      nonNullPtrDbg(T *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io_buffer
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - reset
    - TSIOBufferReaderAlloc
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume(TSIOBuffer io_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Io_buffer_consume::Io_buffer_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Io_buffer_consume(Io_buffer_consume &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(Io_buffer_consume &&)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Io_buffer_consume
    signature: Io_buffer_consume &operator=(Io_buffer_consume &&)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:113,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:113,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:114,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:114,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:115,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:116,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:119,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:123,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:123,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:128,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Io_buffer_consume::avail
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSAssert
    - TSIOBufferReaderStart
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t Io_buffer_consume::avail()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:142,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: Io_buffer_consume::consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: char
    signature: 'char *

      Io_buffer_consume::consume(std::int64_t amount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:163,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:163,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Recv_from_vconn::Recv_from_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSContDataSet
    - TSVConnRead
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Recv_from_vconn(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Recv_from_vconn::vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn vconn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: ~Recv_from_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Recv_from_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Recv_from_vconn::_status
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: _Status
    signature: _Status _status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:194,1
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: Recv_from_vconn::_error_event
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent _error_event() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Recv_from_vconn::_avail
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - avail
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t _avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Recv_from_vconn::_consume
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - consume
    linkageType: ''
    returnType: char
    signature: "char *\n  _consume(std::int64_t amount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Recv_from_vconn::_mtx
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex _mtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: Recv_from_vconn::Recv_from_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Recv_from_vconn(Recv_from_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: '&operator=(Recv_from_vconn const &)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Recv_from_vconn
    signature: Recv_from_vconn &operator=(Recv_from_vconn const &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Recv_from_vconn *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:246,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:248,1
    - Dst: auto::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:248,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:249,1
    - Dst: auto::_status_::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:256,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:272,1
    - Dst: auto::_status_::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:274,1
    - Dst: auto::_notify_recv_from_vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: Recv_from_vconn::_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - static_cast<Recv_from_vconn *>
    - TSError
    - TSAssert
    - auto::_status
    - TSContDataGet
    - auto::_status_::store
    - nonNullPtrDbg
    - auto::_notify_recv_from_vconn
    linkageType: ''
    returnType: int
    signature: int Recv_from_vconn::_cont_func(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:287,1
    - Dst: store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vconn
    - bytes_to_send
    argTypes:
    - TSVConn
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Send_to_vconn::Send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - store
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn(TSVConn vconn, int64_t bytes_to_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: Send_to_vconn::vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn vconn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: Send_to_vconn::status
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:316,1
    - Dst: Send_to_vconn::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: Send_to_vconn::error_event
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - Send_to_vconn::status
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent error_event() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Send_to_vconn::mtx
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex mtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: ~Send_to_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Send_to_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: Send_to_vconn::Send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn(Send_to_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: '&operator=(Send_to_vconn const &)'
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Send_to_vconn
    signature: Send_to_vconn &operator=(Send_to_vconn const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: Send_to_vconn::_notify_send_to_vconn
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _notify_send_to_vconn()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:365,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:367,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:369,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:371,1
    - Dst: Send_to_vconn::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:371,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:374,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:377,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:377,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:378,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: Send_to_vconn::_send
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached:
    - get
    - static_cast<char const *>
    - TSAssert
    - TSIOBufferWrite
    - nonNullPtrDbg
    - Send_to_vconn::status
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn::_send(void const *data, int64_t n_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:397,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:397,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:398,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:399,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:399,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:400,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:401,1
    - Dst: Send_to_vconn::_send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:408,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 417
    functionName: Send_to_vconn::send
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - TSIOBufferCreate
    - TSContDataSet
    - TSVConnWrite
    - reset
    - TSContCreate
    - Send_to_vconn::_send
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - nonNullPtrDbg
    linkageType: ''
    returnType: void
    signature: void Send_to_vconn::send(void const *data, int64_t n_bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Send_to_vconn *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: nonNullPtrDbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:422,1
    - Dst: TSAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:424,1
    - Dst: auto::status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:424,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:431,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:435,1
    - Dst: auto::_status::store
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:440,1
    - Dst: auto::_notify_send_to_vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cont
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 446
    functionName: Send_to_vconn::_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - auto::_notify_send_to_vconn
    - static_cast<Send_to_vconn *>
    - TSAssert
    - TSContDataGet
    - auto::status
    - nonNullPtrDbg
    - auto::_status::store
    linkageType: ''
    returnType: int
    signature: int Send_to_vconn::_cont_func(TSCont cont, TSEvent event, void * /*
      edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - pathspec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: File_deleter::File_deleter
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void File_deleter(std::string &&pathspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:457,1
    - Dst: c_str
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: ~File_deleter()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - unlink
    - c_str
    linkageType: ''
    returnType: void
    signature: void ~File_deleter()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:491,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:494,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:495,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:496,1
    - Dst: buf::resize
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:510,1
    - Dst: send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:515,1
    - Dst: buf::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:515,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:521,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - vconn_
    - f_del
    - n_groups_send
    - n_group_bytes
    - allow_send_error
    - n_bytes_recv
    argTypes:
    - TSVConn
    - std::shared_ptr<File_deleter>
    - int
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 528
    functionName: Ramp_test::_Send_recv::_Send_recv
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - Ramp_test::_Send_recv::_done
    - buf::data
    - Dbg
    - buf::resize
    - TSReleaseAssert
    - send
    linkageType: ''
    returnType: void
    signature: "void _Send_recv(TSVConn vconn_, std::shared_ptr<File_deleter> const
      &f_del, int n_groups_send, int n_group_bytes,\n               bool allow_send_error,
      int n_bytes_recv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~_Send_recv() override
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~_Send_recv() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:564,1
    - Dst: Send_to_vconn::vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:564,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: Ramp_test::_Send_recv::_done
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 4
    functionsReached:
    - TSVConnClose
    - TSMutexUnlock
    - Send_to_vconn::vconn
    linkageType: ''
    returnType: void
    signature: void _done(TSMutex cont_mtx_ = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:582,1
    - Dst: 'on'
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:583,1
    - Dst: DbgPrint
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:584,1
    - Dst: _send
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:594,1
    - Dst: buf::data
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:594,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:597,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:598,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:598,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:603,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:603,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:608,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:608,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:612,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:612,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 619
    functionName: Ramp_test::_Send_recv::_notify_send_to_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - error_event
    - Ramp_test::_Send_recv::_done
    - buf::data
    - DbgPrint
    - Dbg
    - mtx
    - TSReleaseAssert
    - _send
    - TSFatal
    - status
    linkageType: ''
    returnType: void
    signature: void Ramp_test::_Send_recv::_notify_send_to_vconn()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:624,1
    - Dst: 'on'
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:625,1
    - Dst: DbgPrint
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:626,1
    - Dst: _avail
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:631,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:635,1
    - Dst: _consume
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:635,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:641,1
    - Dst: unsigned
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:641,1
    - Dst: unsigned
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:650,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:651,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:651,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:656,1
    - Dst: Recv_from_vconn::vconn
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:656,1
    - Dst: Ramp_test::_Send_recv::_done
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:657,1
    - Dst: mtx
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:657,1
    - Dst: TSFatal
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:661,1
    - Dst: error_event
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:661,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 667
    functionName: Ramp_test::_Send_recv::_notify_recv_from_vconn()
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - unsigned
    - 'on'
    - error_event
    - reinterpret_cast<unsigned char const *>
    - Ramp_test::_Send_recv::_done
    - TSVConnShutdown
    - DbgPrint
    - Dbg
    - mtx
    - TSReleaseAssert
    - _consume
    - Recv_from_vconn::_status
    - Recv_from_vconn::vconn
    - TSFatal
    - _avail
    linkageType: ''
    returnType: void
    signature: void Ramp_test::_Send_recv::_notify_recv_from_vconn()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:685,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:688,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:690,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: connect
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:692,1
    - Dst: accept
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:694,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: make_loopback
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached:
    - connect
    - htons
    - reinterpret_cast<sockaddr *>
    - TSReleaseAssert
    - accept
    - socket
    linkageType: ''
    returnType: Tcp_loopback
    signature: Tcp_loopback make_loopback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:706,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:707,1
    - Dst: make_loopback
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:709,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:711,1
    - Dst: TSVConnFdCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:711,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:712,1
    - Dst: TSVConnFdCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:712,1
    - Dst: _Send_recv::_Send_recv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:716,1
    - Dst: _Send_recv::_Send_recv
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Test_params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 728
    functionName: Ramp_test::x
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 1
    functionsReached:
    - make_loopback
    - nonNullPtrRel
    - TSVConnFdCreate
    - TSReleaseAssert
    - _Send_recv::_Send_recv
    linkageType: ''
    returnType: void
    signature: void Ramp_test::x(Test_params const &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:733,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:734,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:746,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:756,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:766,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:776,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:786,1
    - Dst: Ramp_test::x
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:796,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:798,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 3
    argNames:
    - cont
    - event
    - event_data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 803
    functionName: global_cont_func
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - Ramp_test::x
    - nonNullPtrRel
    - reset
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int global_cont_func(TSCont cont, TSEvent event, void *event_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:812,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:816,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:817,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:818,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:820,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:821,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:824,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:827,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:827,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:827,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:829,1
    - Dst: reset
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:831,1
    - Dst: nonNullPtrRel
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:831,1
    - Dst: File_deleter::File_deleter
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:831,1
    - Dst: std::atoi
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:833,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:835,1
    - Dst: socket
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:837,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:839,1
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:844,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:848,1
    - Dst: bind
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:849,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:849,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:853,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:854,1
    - Dst: htons
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:856,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:859,1
    - Dst: listen
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:859,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:861,1
    - Dst: get
      Src: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - n_arg
    - arg
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 862
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.cc
    functionUses: 0
    functionsReached:
    - get
    - File_deleter::File_deleter
    - htons
    - TSError
    - reinterpret_cast<sockaddr *>
    - const_cast<char *>
    - TSHttpHookAdd
    - nonNullPtrRel
    - reset
    - Dbg
    - TSReleaseAssert
    - TSContCreate
    - listen
    - bind
    - std::atoi
    - socket
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int n_arg, char const *arg[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:39,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:43,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:44,1
    - Dst: std::unordered_set::find
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:47,1
    - Dst: std::unordered_set::end
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:47,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:48,1
    - Dst: std::unordered_set::insert
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:50,1
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:52,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: global_handler
    functionSourceFile: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpSsnIdGet
    - std::unordered_set::insert
    - Dbg
    - std::unordered_set::end
    - static_cast<TSHttpSsn>
    - std::unordered_set::find
    - TSHttpSsnReenable
    linkageType: ''
    returnType: int
    signature: int global_handler(TSCont /* continuation ATS_UNUSED */, TSEvent event,
      void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:67,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:75,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:76,1
    - Dst: TSContCreate
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:79,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:79,1
    - Dst: TSError
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:82,1
    - Dst: abort
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:83,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/tests/gold_tests/continuations/plugins/session_id_verify.cc
    functionUses: 0
    functionsReached:
    - abort
    - TSError
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: JsonRpcUnitTest
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRpcUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_handler
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: remove_handler
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 1
    functionsReached:
    - remove_handler
    linkageType: ''
    returnType: bool
    signature: bool remove_handler(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_notification_handler
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:45,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: add_notification_handler
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - add_notification_handler
    linkageType: ''
    returnType: bool
    signature: bool add_notification_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_method_handler
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:51,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: add_method_handler
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - add_method_handler
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_call
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jsonString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: handle_call
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 1
    functionsReached:
    - handle_call
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> handle_call(std::string const &jsonString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:70,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:70,1
    - Dst: JsonRpcUnitTest::handle_call
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:73,1
    - Dst: diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_json.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_json.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - diags
    - Diags::Diags
    - JsonRpcUnitTest::handle_call
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:45,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:48,1
    - Dst: std::unique_ptr::create
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:49,1
    - Dst: hpack_decode_header_block
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:51,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:51,1
    - Dst: std::unique_ptr::destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_hpack.cc
    functionUses: 0
    functionsReached:
    - hpack_decode_header_block
    - std::unique_ptr::get
    - std::unique_ptr::create
    - hpack_huffman_init
    - HTTPHdr::HTTPHdr
    - std::unique_ptr::destroy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc:40,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc:40,1
    - Dst: ts_session_protocol_well_known_name_indices_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc:41,1
    - Dst: convert_alpn_to_wire_format
      Src: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc:43,1
    - Dst: diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - input_data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_rec_http.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - ts_session_protocol_well_known_name_indices_init
    - convert_alpn_to_wire_format
    - diags
    - Diags::Diags
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:34,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:36,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:36,1
    - Dst: ProxyProtocol::ProxyProtocol
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:38,1
    - Dst: proxy_protocol_parse
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:39,1
    - Dst: diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_proxy_protocol.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - proxy_protocol_parse
    - reinterpret_cast<char *>
    - ProxyProtocol::ProxyProtocol
    - diags
    - Diags::Diags
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/tests/fuzzing/fuzz_yamlcpp.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_yamlcpp.cc
    functionUses: 0
    functionsReached:
    - YAML::Load
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::completeParse
      Src: /src/trafficserver/tests/fuzzing/fuzz_esi.cc:42,1
    - Dst: EsiLib::DocNodeList::pack
      Src: /src/trafficserver/tests/fuzzing/fuzz_esi.cc:46,1
    - Dst: EsiLib::DocNodeList::unpack
      Src: /src/trafficserver/tests/fuzzing/fuzz_esi.cc:47,1
    - Dst: EsiLib::DocNodeList::clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_esi.cc:48,1
    - Dst: EsiLib::DocNodeList::clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_esi.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_esi.cc
    functionUses: 0
    functionsReached:
    - EsiLib::DocNodeList::pack
    - EsiLib::DocNodeList::unpack
    - EsiParser::completeParse
    - EsiLib::DocNodeList::clear
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:37,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:38,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:39,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:41,1
    - Dst: start
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:42,1
    - Dst: SocksServerConfig::startup
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: DoInitialization
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - LibRecordsConfigInit
    - SocksServerConfig::startup
    - ink_event_system_init
    linkageType: ''
    returnType: bool
    signature: bool DoInitialization()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DoInitialization
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:57,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:59,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:60,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:61,1
    - Dst: Http3FrameFactory::fast_create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:64,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_http3frame.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - MIOBuffer*::write
    - MIOBuffer*::alloc_reader
    - free_MIOBuffer
    - DoInitialization
    - Http3FrameFactory::fast_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:41,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:42,1
    - Dst: std::string::size
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:42,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:45,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:45,1
    - Dst: http_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:47,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:50,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:52,1
    - Dst: create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:53,1
    - Dst: create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:54,1
    - Dst: create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:55,1
    - Dst: create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:56,1
    - Dst: create
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:57,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:60,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:61,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:62,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:65,1
    - Dst: parse_resp
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:66,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:67,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:70,1
    - Dst: parse_req
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:71,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:72,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:75,1
    - Dst: parse_resp
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:76,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:77,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:80,1
    - Dst: parse_req
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:81,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:82,1
    - Dst: http_parser_init
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:85,1
    - Dst: parse_resp
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:86,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:87,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:90,1
    - Dst: destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:91,1
    - Dst: destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:92,1
    - Dst: destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:93,1
    - Dst: destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:94,1
    - Dst: destroy
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:95,1
    - Dst: diags
      Src: /src/trafficserver/tests/fuzzing/fuzz_http.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - input_data
    - size_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 100
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trafficserver/tests/fuzzing/fuzz_http.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - http_parser_clear
    - HTTPHdr::parse_req
    - http_parser_init
    - parse_req
    - std::string::size
    - parse_resp
    - destroy
    - HTTPHdr::destroy
    - http_init
    - HTTPHdr::create
    - create
    - diags
    - Diags::Diags
    - HTTPHdr::HTTPHdr
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *input_data, size_t size_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Thread::set_specific
      Src: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: BThread::set_specific
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc
    functionUses: 0
    functionsReached:
    - Thread::set_specific
    linkageType: ''
    returnType: void
    signature: void set_specific() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: BThread::execute
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void execute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Thread::set_specific
      Src: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: BThread::set_specific
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc
    functionUses: 0
    functionsReached:
    - Thread::set_specific
    linkageType: ''
    returnType: void
    signature: void set_specific() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: BThread::execute
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void execute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _p
    - ','
    - _a
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: OLD_THREAD_FREE
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_ProxyAllocator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OLD_THREAD_FREE(_p, _a, _t)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:68,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 99
    functionName: thread_affinity
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - hwloc_get_nbobjs_by_type
    - ink_get_topology
    linkageType: ''
    returnType: hwloc_obj_type_t
    signature: hwloc_obj_type_t thread_affinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_new
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:111,1
    - Dst: memset
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:113,1
    - Dst: ink_freelist_free
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: test_case_1
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - memset
    - ink_freelist_new
    - ink_freelist_free
    linkageType: ''
    returnType: void
    signature: 'void *

      test_case_1(void *d)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: thread_affinity
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:128,1
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:129,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:131,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:134,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:134,1
    - Dst: hwloc_get_obj_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:145,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:145,1
    - Dst: hwloc_set_thread_cpubind
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:146,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:146,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:149,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:150,1
    - Dst: alloca
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:150,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:151,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:158,1
    - Dst: ink_thread_join
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts:
    - condition: (obj_count > 0)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    constantsTouched: []
    func_position:
      end: 165
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 165
    functionName: setup_test_case_1
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - ink_thread_create
    - static_cast<intptr_t>
    - hwloc_get_obj_by_type
    - ink_thread_join
    - ink_get_topology
    - static_cast<char *>
    - hwloc_set_thread_cpubind
    - thread_affinity
    - alloca
    - hwloc_get_nbobjs_by_type
    - hwloc_bitmap_snprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void setup_test_case_1(const int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test_case_1
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: BENCHMARK
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - setup_test_case_1
    linkageType: ''
    returnType: void
    signature: void BENCHMARK(name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:68,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 99
    functionName: thread_affinity
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 1
    functionsReached:
    - hwloc_get_nbobjs_by_type
    - ink_get_topology
    linkageType: ''
    returnType: hwloc_obj_type_t
    signature: hwloc_obj_type_t thread_affinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_new
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:111,1
    - Dst: memset
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:113,1
    - Dst: ink_freelist_free
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: test_case_1
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 1
    functionsReached:
    - memset
    - ink_freelist_new
    - ink_freelist_free
    linkageType: ''
    returnType: void
    signature: 'void *

      test_case_1(void *d)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: thread_affinity
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:128,1
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:129,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:131,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:134,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:134,1
    - Dst: hwloc_get_obj_by_type
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:145,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:145,1
    - Dst: hwloc_set_thread_cpubind
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:146,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:146,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:149,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:150,1
    - Dst: alloca
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:150,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:151,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:158,1
    - Dst: ink_thread_join
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts:
    - condition: (obj_count > 0)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    constantsTouched: []
    func_position:
      end: 165
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 165
    functionName: setup_test_case_1
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 1
    functionsReached:
    - ink_thread_create
    - static_cast<intptr_t>
    - hwloc_get_obj_by_type
    - ink_thread_join
    - ink_get_topology
    - static_cast<char *>
    - hwloc_set_thread_cpubind
    - thread_affinity
    - alloca
    - hwloc_get_nbobjs_by_type
    - hwloc_bitmap_snprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void setup_test_case_1(const int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test_case_1
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: BENCHMARK
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - setup_test_case_1
    linkageType: ''
    returnType: void
    signature: void BENCHMARK(name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Catch::Session::Session
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:184,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:190,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:191,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:197,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:199,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:201,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:203,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:206,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:208,1
    - Dst: Catch::Session::applyCommandLine
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:210,1
    - Dst: ats_hugepage_init
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:221,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:222,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:223,1
    - Dst: Catch::Session::run
      Src: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_FreeList.cc
    functionUses: 0
    functionsReached:
    - Catch::Session::applyCommandLine
    - Catch::Session::Session
    - ats_hugepage_size
    - ats_pagesize
    - Catch::Session::run
    - ats_hugepage_init
    - Catch::Session::cli
    - Opt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:45,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Task
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void Task()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: event_handler
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - TSSystemState::shut_down_event_system
    linkageType: ''
    returnType: int
    signature: int event_handler(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:45,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Task
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void Task()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: event_handler
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - TSSystemState::shut_down_event_system
    linkageType: ''
    returnType: int
    signature: int event_handler(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:68,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:68,1
    - Dst: Task::Task
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:71,1
    - Dst: schedule_in
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:72,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:75,1
    - Dst: sleep
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: BENCHMARK
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - schedule_in
    - sleep
    - REQUIRE
    - TSSystemState::is_event_system_shut_down
    - Task::Task
    - TSSystemState::is_initializing
    linkageType: ''
    returnType: void
    signature: void BENCHMARK(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:87,1
    - Dst: init_diags
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:88,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:89,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:91,1
    - Dst: start
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:92,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:94,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:95,1
    - Dst: TSSystemState::initialization_done
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - TSSystemState::initialization_done
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Catch::Session::Session
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:106,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:110,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:110,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:111,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:113,1
    - Dst: Catch::Session::applyCommandLine
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:115,1
    - Dst: Catch::Session::run
      Src: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_EventSystem.cc
    functionUses: 0
    functionsReached:
    - Catch::Session::applyCommandLine
    - Catch::Session::Session
    - Catch::Session::cli
    - Catch::Session::run
    - Opt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ref
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:76,1
    - Dst: std::thread::thread
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:57,1
    - Dst: join
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: run
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc
    functionUses: 2
    functionsReached:
    - join
    - std::ref
    - std::thread::thread
    linkageType: ''
    returnType: int
    signature: int run(T &mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ref
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:76,1
    - Dst: std::thread::thread
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:57,1
    - Dst: join
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: run
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc
    functionUses: 2
    functionsReached:
    - join
    - std::ref
    - std::thread::thread
    linkageType: ''
    returnType: int
    signature: int run(T &mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Catch::Session::Session
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:114,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:119,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:120,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:121,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:122,1
    - Dst: Opt
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:123,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:126,1
    - Dst: Catch::Session::applyCommandLine
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:128,1
    - Dst: Catch::Session::run
      Src: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/trafficserver/tools/benchmark/benchmark_SharedMutex.cc
    functionUses: 0
    functionsReached:
    - Catch::Session::applyCommandLine
    - Catch::Session::Session
    - Catch::Session::cli
    - Catch::Session::run
    - Opt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - c
    argTypes:
    - unsigned char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: add_mapping
    functionSourceFile: /src/trafficserver/tools/escape_mapper/escape_mapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_mapping(unsigned char *table, char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_mapping
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:62,1
    - Dst: add_mapping
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:70,1
    - Dst: std::setfill
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:79,1
    - Dst: std::setw
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:79,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:80,1
    - Dst: std::setfill
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:81,1
    - Dst: std::setw
      Src: /src/trafficserver/tools/escape_mapper/escape_mapper.cc:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/trafficserver/tools/escape_mapper/escape_mapper.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - add_mapping
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: hash
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int hash(Timer *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - t
    argTypes:
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 90
    functionName: l_add
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l_add(Timer *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: l_remove
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l_remove(Timer *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l_remove
      Src: /src/trafficserver/tools/http_load/timers.c:109,1
    - Dst: hash
      Src: /src/trafficserver/tools/http_load/timers.c:111,1
    - Dst: l_add
      Src: /src/trafficserver/tools/http_load/timers.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: l_resort
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - hash
    - l_add
    - l_remove
    linkageType: ''
    returnType: void
    signature: void l_resort(Timer *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: tmr_init
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmr_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/trafficserver/tools/http_load/timers.c:135,1
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/timers.c:148,1
    - Dst: hash
      Src: /src/trafficserver/tools/http_load/timers.c:155,1
    - Dst: l_add
      Src: /src/trafficserver/tools/http_load/timers.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - nowP
    - timer_proc
    - client_data
    - msecs
    - periodic
    argTypes:
    - struct timeval*
    - TimerProc*
    - ClientData
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: tmr_create
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - l_add
    - hash
    - malloc
    linkageType: ''
    returnType: Timer
    signature: 'Timer *

      tmr_create(struct timeval *nowP, TimerProc *timer_proc, ClientData client_data,
      long msecs, int periodic)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_mstimeout
      Src: /src/trafficserver/tools/http_load/timers.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nowP
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: tmr_timeout
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - tmr_mstimeout
    linkageType: ''
    returnType: struct timeval
    signature: 'struct timeval *

      tmr_timeout(struct timeval *nowP)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - nowP
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 211
    functionName: tmr_mstimeout
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long tmr_mstimeout(struct timeval *nowP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: l_resort
      Src: /src/trafficserver/tools/http_load/timers.c:241,1
    - Dst: tmr_cancel
      Src: /src/trafficserver/tools/http_load/timers.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - nowP
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: tmr_run
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - l_resort
    - tmr_cancel
    linkageType: ''
    returnType: void
    signature: void tmr_run(struct timeval *nowP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: l_resort
      Src: /src/trafficserver/tools/http_load/timers.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - nowP
    - t
    argTypes:
    - struct timeval*
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: tmr_reset
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - l_resort
    linkageType: ''
    returnType: void
    signature: void tmr_reset(struct timeval *nowP, Timer *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l_remove
      Src: /src/trafficserver/tools/http_load/timers.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - Timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: tmr_cancel
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 1
    functionsReached:
    - l_remove
    linkageType: ''
    returnType: void
    signature: void tmr_cancel(Timer *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/tools/http_load/timers.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: tmr_cleanup
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tmr_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/trafficserver/tools/http_load/timers.c:294,1
    - Dst: tmr_cleanup
      Src: /src/trafficserver/tools/http_load/timers.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: tmr_destroy
    functionSourceFile: /src/trafficserver/tools/http_load/timers.c
    functionUses: 0
    functionsReached:
    - tmr_cleanup
    - tmr_cancel
    linkageType: ''
    returnType: void
    signature: void tmr_destroy(void)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: max
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: min
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/trafficserver/tools/http_load/http_load.c:323,1
    - Dst: setrlimit
      Src: /src/trafficserver/tools/http_load/http_load.c:329,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:353,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:353,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:355,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:355,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:357,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:357,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:359,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:359,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:361,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:362,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:362,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:364,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:364,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:365,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:366,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:366,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:368,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:368,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:370,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:370,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:372,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:374,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:375,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:378,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:379,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:381,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:381,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:383,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:385,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:386,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:389,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:390,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:392,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:392,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:393,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:395,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:396,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:398,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:398,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:400,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:402,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:403,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:405,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:405,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:407,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:409,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:410,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:412,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:412,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:413,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:415,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:416,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:418,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:418,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:420,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:420,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:422,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:422,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:424,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:424,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:426,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:426,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:428,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:428,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:429,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:431,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:432,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:434,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:434,1
    - Dst: strcat
      Src: /src/trafficserver/tools/http_load/http_load.c:436,1
    - Dst: strcat
      Src: /src/trafficserver/tools/http_load/http_load.c:437,1
    - Dst: malloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:439,1
    - Dst: strncpy
      Src: /src/trafficserver/tools/http_load/http_load.c:440,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:443,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:443,1
    - Dst: strcmp
      Src: /src/trafficserver/tools/http_load/http_load.c:445,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:446,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:446,1
    - Dst: strcasecmp
      Src: /src/trafficserver/tools/http_load/http_load.c:448,1
    - Dst: strcasecmp
      Src: /src/trafficserver/tools/http_load/http_load.c:450,1
    - Dst: strcasecmp
      Src: /src/trafficserver/tools/http_load/http_load.c:452,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:454,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:454,1
    - Dst: strchr
      Src: /src/trafficserver/tools/http_load/http_load.c:458,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:462,1
    - Dst: usage
      Src: /src/trafficserver/tools/http_load/http_load.c:466,1
    - Dst: usage
      Src: /src/trafficserver/tools/http_load/http_load.c:470,1
    - Dst: usage
      Src: /src/trafficserver/tools/http_load/http_load.c:472,1
    - Dst: usage
      Src: /src/trafficserver/tools/http_load/http_load.c:474,1
    - Dst: read_url_file
      Src: /src/trafficserver/tools/http_load/http_load.c:478,1
    - Dst: read_sip_file
      Src: /src/trafficserver/tools/http_load/http_load.c:482,1
    - Dst: malloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:487,1
    - Dst: epoll_create
      Src: /src/trafficserver/tools/http_load/http_load.c:518,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:520,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:521,1
    - Dst: malloc
      Src: /src/trafficserver/tools/http_load/http_load.c:523,1
    - Dst: srandomdev
      Src: /src/trafficserver/tools/http_load/http_load.c:527,1
    - Dst: srandom
      Src: /src/trafficserver/tools/http_load/http_load.c:529,1
    - Dst: time
      Src: /src/trafficserver/tools/http_load/http_load.c:529,1
    - Dst: getpid
      Src: /src/trafficserver/tools/http_load/http_load.c:529,1
    - Dst: tmr_init
      Src: /src/trafficserver/tools/http_load/http_load.c:533,1
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/http_load.c:534,1
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:537,1
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:545,1
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:548,1
    - Dst: signal
      Src: /src/trafficserver/tools/http_load/http_load.c:549,1
    - Dst: finish
      Src: /src/trafficserver/tools/http_load/http_load.c:554,1
    - Dst: start_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:559,1
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/http_load.c:560,1
    - Dst: tmr_run
      Src: /src/trafficserver/tools/http_load/http_load.c:561,1
    - Dst: epoll_wait
      Src: /src/trafficserver/tools/http_load/http_load.c:565,1
    - Dst: tmr_mstimeout
      Src: /src/trafficserver/tools/http_load/http_load.c:565,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:567,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:570,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:571,1
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/http_load.c:573,1
    - Dst: tmr_run
      Src: /src/trafficserver/tools/http_load/http_load.c:580,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:584,1
    - Dst: handle_connect
      Src: /src/trafficserver/tools/http_load/http_load.c:588,1
    - Dst: handle_read
      Src: /src/trafficserver/tools/http_load/http_load.c:592,1
    - Dst: tmr_run
      Src: /src/trafficserver/tools/http_load/http_load.c:600,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 256
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 604
    functionName: main
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached:
    - tmr_run
    - strcat
    - strchr
    - signal
    - exit
    - gettimeofday
    - epoll_wait
    - fprintf
    - srandom
    - tmr_init
    - strcasecmp
    - usage
    - strncmp
    - srandomdev
    - malloc_check
    - getpid
    - strcmp
    - start_connection
    - read_sip_file
    - epoll_create
    - atoi
    - getrlimit
    - strncpy
    - strlen
    - tmr_create
    - handle_connect
    - handle_read
    - finish
    - perror
    - setrlimit
    - tmr_mstimeout
    - time
    - malloc
    - read_url_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:609,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:616,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:617,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:618,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:619,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:620,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:621,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 623
    functionName: usage
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:630,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:632,1
    - Dst: fopen
      Src: /src/trafficserver/tools/http_load/http_load.c:636,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:638,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:639,1
    - Dst: malloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:643,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:652,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:654,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:656,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:659,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:661,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:663,1
    - Dst: fgets
      Src: /src/trafficserver/tools/http_load/http_load.c:665,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:670,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:671,1
    - Dst: realloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:676,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:680,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:683,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:686,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:690,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:691,1
    - Dst: strncpy
      Src: /src/trafficserver/tools/http_load/http_load.c:697,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:699,1
    - Dst: atoi
      Src: /src/trafficserver/tools/http_load/http_load.c:701,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:709,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:711,1
    - Dst: lookup_address
      Src: /src/trafficserver/tools/http_load/http_load.c:713,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:721,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:725,1
    - Dst: strstr
      Src: /src/trafficserver/tools/http_load/http_load.c:727,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:729,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:732,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:735,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:737,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:741,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:744,1
    - Dst: fclose
      Src: /src/trafficserver/tools/http_load/http_load.c:748,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 1
    argNames:
    - url_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 749
    functionName: read_url_file
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - fprintf
    - strdup_check
    - perror
    - strncmp
    - fclose
    - fopen
    - strstr
    - atoi
    - snprintf
    - strncpy
    - strlen
    - exit
    - lookup_address
    - fgets
    - realloc_check
    - malloc_check
    linkageType: ''
    returnType: void
    signature: void read_url_file(char *url_file)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/tools/http_load/http_load.c:778,1
    - Dst: strcmp
      Src: /src/trafficserver/tools/http_load/http_load.c:791,1
    - Dst: memset
      Src: /src/trafficserver/tools/http_load/http_load.c:803,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:806,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/tools/http_load/http_load.c:807,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:808,1
    - Dst: gai_strerror
      Src: /src/trafficserver/tools/http_load/http_load.c:808,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:809,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:831,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:833,1
    - Dst: memmove
      Src: /src/trafficserver/tools/http_load/http_load.c:839,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/tools/http_load/http_load.c:840,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:845,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:847,1
    - Dst: memmove
      Src: /src/trafficserver/tools/http_load/http_load.c:853,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/tools/http_load/http_load.c:854,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:858,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:859,1
    - Dst: gethostbyname
      Src: /src/trafficserver/tools/http_load/http_load.c:864,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:866,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:867,1
    - Dst: memmove
      Src: /src/trafficserver/tools/http_load/http_load.c:873,1
    - Dst: htons
      Src: /src/trafficserver/tools/http_load/http_load.c:874,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 88
    argCount: 1
    argNames:
    - url_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 877
    functionName: lookup_address
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - memset
    - strcmp
    - fprintf
    - freeaddrinfo
    - htons
    - gai_strerror
    - gethostbyname
    - getaddrinfo
    - snprintf
    - memmove
    - exit
    linkageType: ''
    returnType: void
    signature: void lookup_address(int url_num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/tools/http_load/http_load.c:885,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:887,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:888,1
    - Dst: malloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:892,1
    - Dst: fgets
      Src: /src/trafficserver/tools/http_load/http_load.c:894,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:896,1
    - Dst: strlen
      Src: /src/trafficserver/tools/http_load/http_load.c:897,1
    - Dst: realloc_check
      Src: /src/trafficserver/tools/http_load/http_load.c:902,1
    - Dst: strdup_check
      Src: /src/trafficserver/tools/http_load/http_load.c:906,1
    - Dst: memset
      Src: /src/trafficserver/tools/http_load/http_load.c:907,1
    - Dst: inet_aton
      Src: /src/trafficserver/tools/http_load/http_load.c:908,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:909,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:910,1
    - Dst: fclose
      Src: /src/trafficserver/tools/http_load/http_load.c:914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - sip_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 915
    functionName: read_sip_file
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - memset
    - fprintf
    - strdup_check
    - perror
    - fclose
    - fopen
    - inet_aton
    - strlen
    - exit
    - fgets
    - realloc_check
    - malloc_check
    linkageType: ''
    returnType: void
    signature: void read_sip_file(char *sip_file)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:935,1
    - Dst: tmr_run
      Src: /src/trafficserver/tools/http_load/http_load.c:936,1
    - Dst: random
      Src: /src/trafficserver/tools/http_load/http_load.c:946,1
    - Dst: start_socket
      Src: /src/trafficserver/tools/http_load/http_load.c:950,1
    - Dst: random
      Src: /src/trafficserver/tools/http_load/http_load.c:971,1
    - Dst: start_socket
      Src: /src/trafficserver/tools/http_load/http_load.c:974,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:987,1
    - Dst: finish
      Src: /src/trafficserver/tools/http_load/http_load.c:988,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - nowP
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 989
    functionName: start_connection
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - tmr_run
    - fprintf
    - finish
    - start_socket
    - printf
    - random
    linkageType: ''
    returnType: void
    signature: void start_connection(struct timeval *nowP)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:1005,1
    - Dst: snprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1018,1
    - Dst: memcpy
      Src: /src/trafficserver/tools/http_load/http_load.c:1020,1
    - Dst: socket
      Src: /src/trafficserver/tools/http_load/http_load.c:1029,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1031,1
    - Dst: fcntl
      Src: /src/trafficserver/tools/http_load/http_load.c:1037,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1039,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1040,1
    - Dst: fcntl
      Src: /src/trafficserver/tools/http_load/http_load.c:1043,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1044,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1045,1
    - Dst: random
      Src: /src/trafficserver/tools/http_load/http_load.c:1051,1
    - Dst: bind
      Src: /src/trafficserver/tools/http_load/http_load.c:1052,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1053,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1054,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1061,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/tools/http_load/http_load.c:1063,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1064,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1065,1
    - Dst: memmove
      Src: /src/trafficserver/tools/http_load/http_load.c:1070,1
    - Dst: connect
      Src: /src/trafficserver/tools/http_load/http_load.c:1072,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/tools/http_load/http_load.c:1078,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1079,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1080,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1081,1
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/http_load.c:1087,1
    - Dst: handle_connect
      Src: /src/trafficserver/tools/http_load/http_load.c:1088,1
    - Dst: SSL_write
      Src: /src/trafficserver/tools/http_load/http_load.c:1098,1
    - Dst: write
      Src: /src/trafficserver/tools/http_load/http_load.c:1100,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1102,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 88
    argCount: 3
    argNames:
    - url_num
    - cnum
    - nowP
    argTypes:
    - int
    - int
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1110
    functionName: start_socket
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - write
    - memcpy
    - fprintf
    - close_connection
    - SSL_write
    - connect
    - epoll_ctl
    - perror
    - random
    - close
    - snprintf
    - memmove
    - tmr_create
    - gettimeofday
    - fcntl
    - bind
    - socket
    - handle_connect
    linkageType: ''
    returnType: void
    signature: void start_socket(int url_num, int cnum, struct timeval *nowP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: cert_verify_callback
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cert_verify_callback(int ok __attribute__((unused)), X509_STORE_CTX
      *ctx __attribute__((unused)))
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1127,1
    - Dst: connect
      Src: /src/trafficserver/tools/http_load/http_load.c:1136,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:1138,1
    - Dst: getsockopt
      Src: /src/trafficserver/tools/http_load/http_load.c:1145,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1146,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1148,1
    - Dst: strerror
      Src: /src/trafficserver/tools/http_load/http_load.c:1148,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1149,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1152,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1153,1
    - Dst: SSL_load_error_strings
      Src: /src/trafficserver/tools/http_load/http_load.c:1164,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/tools/http_load/http_load.c:1165,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/tools/http_load/http_load.c:1166,1
    - Dst: SSLv23_client_method
      Src: /src/trafficserver/tools/http_load/http_load.c:1166,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1168,1
    - Dst: ERR_print_errors_fp
      Src: /src/trafficserver/tools/http_load/http_load.c:1169,1
    - Dst: SSL_CTX_set_verify
      Src: /src/trafficserver/tools/http_load/http_load.c:1175,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/trafficserver/tools/http_load/http_load.c:1177,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1178,1
    - Dst: ERR_print_errors_fp
      Src: /src/trafficserver/tools/http_load/http_load.c:1179,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1180,1
    - Dst: RAND_status
      Src: /src/trafficserver/tools/http_load/http_load.c:1186,1
    - Dst: random
      Src: /src/trafficserver/tools/http_load/http_load.c:1189,1
    - Dst: RAND_seed
      Src: /src/trafficserver/tools/http_load/http_load.c:1190,1
    - Dst: fcntl
      Src: /src/trafficserver/tools/http_load/http_load.c:1192,1
    - Dst: fcntl
      Src: /src/trafficserver/tools/http_load/http_load.c:1194,1
    - Dst: SSL_new
      Src: /src/trafficserver/tools/http_load/http_load.c:1195,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1197,1
    - Dst: ERR_print_errors_fp
      Src: /src/trafficserver/tools/http_load/http_load.c:1198,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1199,1
    - Dst: SSL_set_fd
      Src: /src/trafficserver/tools/http_load/http_load.c:1202,1
    - Dst: SSL_connect
      Src: /src/trafficserver/tools/http_load/http_load.c:1203,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1205,1
    - Dst: ERR_print_errors_fp
      Src: /src/trafficserver/tools/http_load/http_load.c:1206,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1207,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:1216,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/tools/http_load/http_load.c:1218,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1219,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:1220,1
    - Dst: SSL_write
      Src: /src/trafficserver/tools/http_load/http_load.c:1228,1
    - Dst: write
      Src: /src/trafficserver/tools/http_load/http_load.c:1230,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:1232,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1234,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 3
    argNames:
    - cnum
    - nowP
    - double_check
    argTypes:
    - int
    - struct timeval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1239
    functionName: handle_connect
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_new
    - RAND_seed
    - SSL_write
    - getsockopt
    - exit
    - fcntl
    - strerror
    - SSL_CTX_set_verify
    - fprintf
    - connect
    - RAND_status
    - SSL_load_error_strings
    - write
    - SSL_new
    - SSLv23_client_method
    - close
    - SSL_set_fd
    - close_connection
    - SSL_library_init
    - epoll_ctl
    - perror
    - SSL_connect
    - SSL_CTX_set_cipher_list
    - random
    - ERR_print_errors_fp
    linkageType: ''
    returnType: void
    signature: void handle_connect(int cnum, struct timeval *nowP, int double_check)
  - BBCount: 511
    BranchProfiles: []
    Callsites:
    - Dst: tmr_reset
      Src: /src/trafficserver/tools/http_load/http_load.c:1250,1
    - Dst: SSL_read
      Src: /src/trafficserver/tools/http_load/http_load.c:1272,1
    - Dst: read
      Src: /src/trafficserver/tools/http_load/http_load.c:1274,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:1277,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2711,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:2716,1
    - Dst: delta_timeval
      Src: /src/trafficserver/tools/http_load/http_load.c:2727,1
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:2731,1
    - Dst: strncmp
      Src: /src/trafficserver/tools/http_load/http_load.c:2751,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:2757,1
    CyclomaticComplexity: 489
    EdgeCount: 489
    ICount: 1411
    argCount: 2
    argNames:
    - cnum
    - nowP
    argTypes:
    - int
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 2767
    functionName: handle_read
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 1
    functionsReached:
    - fprintf
    - close_connection
    - read
    - delta_timeval
    - tmr_create
    - SSL_read
    - strncmp
    - tmr_reset
    linkageType: ''
    returnType: void
    signature: void handle_read(int cnum, struct timeval *nowP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/tools/http_load/http_load.c:2776,1
    - Dst: strftime
      Src: /src/trafficserver/tools/http_load/http_load.c:2777,1
    - Dst: localtime_r
      Src: /src/trafficserver/tools/http_load/http_load.c:2777,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2782,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2786,1
    - Dst: close_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:2791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - client_data
    - nowP
    argTypes:
    - ClientData
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2793
    functionName: idle_connection
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached:
    - fprintf
    - close_connection
    - localtime_r
    - gettimeofday
    - strftime
    linkageType: ''
    returnType: void
    signature: void idle_connection(ClientData client_data, struct timeval *nowP __attribute__((unused)))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - client_data
    - nowP
    argTypes:
    - ClientData
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2803
    functionName: wakeup_connection
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wakeup_connection(ClientData client_data, struct timeval *nowP
      __attribute__((unused)))
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/trafficserver/tools/http_load/http_load.c:2815,1
    - Dst: perror
      Src: /src/trafficserver/tools/http_load/http_load.c:2816,1
    - Dst: SSL_free
      Src: /src/trafficserver/tools/http_load/http_load.c:2818,1
    - Dst: close
      Src: /src/trafficserver/tools/http_load/http_load.c:2819,1
    - Dst: tmr_cancel
      Src: /src/trafficserver/tools/http_load/http_load.c:2825,1
    - Dst: tmr_cancel
      Src: /src/trafficserver/tools/http_load/http_load.c:2827,1
    - Dst: delta_timeval
      Src: /src/trafficserver/tools/http_load/http_load.c:2832,1
    - Dst: max
      Src: /src/trafficserver/tools/http_load/http_load.c:2838,1
    - Dst: min
      Src: /src/trafficserver/tools/http_load/http_load.c:2839,1
    - Dst: delta_timeval
      Src: /src/trafficserver/tools/http_load/http_load.c:2843,1
    - Dst: max
      Src: /src/trafficserver/tools/http_load/http_load.c:2849,1
    - Dst: min
      Src: /src/trafficserver/tools/http_load/http_load.c:2850,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2869,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2880,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 1
    argNames:
    - cnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2805
    functionDepth: 2
    functionLinenumber: 2805
    functionLinenumberEnd: 2887
    functionName: close_connection
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 4
    functionsReached:
    - fprintf
    - tmr_cancel
    - epoll_ctl
    - perror
    - SSL_free
    - close
    - max
    - min
    - delta_timeval
    linkageType: ''
    returnType: void
    signature: void close_connection(int cnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delta_timeval
      Src: /src/trafficserver/tools/http_load/http_load.c:2894,1
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client_data
    - nowP
    argTypes:
    - ClientData
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2889
    functionDepth: 1
    functionLinenumber: 2889
    functionLinenumberEnd: 2897
    functionName: progress_report
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached:
    - fprintf
    - delta_timeval
    linkageType: ''
    returnType: void
    signature: void progress_report(ClientData client_data __attribute__((unused)),
      struct timeval *nowP __attribute__((unused)))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_connection
      Src: /src/trafficserver/tools/http_load/http_load.c:2902,1
    - Dst: tmr_create
      Src: /src/trafficserver/tools/http_load/http_load.c:2904,1
    - Dst: random
      Src: /src/trafficserver/tools/http_load/http_load.c:2904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - client_data
    - nowP
    argTypes:
    - ClientData
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2899
    functionDepth: 4
    functionLinenumber: 2899
    functionLinenumberEnd: 2905
    functionName: start_timer
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached:
    - start_connection
    - random
    - tmr_create
    linkageType: ''
    returnType: void
    signature: void start_timer(ClientData client_data __attribute__((unused)), struct
      timeval *nowP __attribute__((unused)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/trafficserver/tools/http_load/http_load.c:2910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - client_data
    - nowP
    argTypes:
    - ClientData
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2907
    functionDepth: 1
    functionLinenumber: 2907
    functionLinenumberEnd: 2911
    functionName: end_timer
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 0
    functionsReached:
    - finish
    linkageType: ''
    returnType: void
    signature: void end_timer(ClientData client_data __attribute__((unused)), struct
      timeval *nowP __attribute__((unused)))
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: delta_timeval
      Src: /src/trafficserver/tools/http_load/http_load.c:2920,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2921,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2924,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2926,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2929,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2932,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2936,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2939,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2942,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2945,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2948,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2950,1
    - Dst: printf
      Src: /src/trafficserver/tools/http_load/http_load.c:2953,1
    - Dst: tmr_destroy
      Src: /src/trafficserver/tools/http_load/http_load.c:2957,1
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/tools/http_load/http_load.c:2959,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:2960,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - nowP
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2913
    functionDepth: 3
    functionLinenumber: 2913
    functionLinenumberEnd: 2961
    functionName: finish
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_free
    - tmr_destroy
    - delta_timeval
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void finish(struct timeval *nowP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start
    - finish
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2969
    functionName: delta_timeval
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long long
    signature: long long delta_timeval(struct timeval *start, struct timeval *finish)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/trafficserver/tools/http_load/http_load.c:2974,1
    - Dst: check
      Src: /src/trafficserver/tools/http_load/http_load.c:2975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2977
    functionName: malloc_check
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 3
    functionsReached:
    - malloc
    - check
    linkageType: ''
    returnType: void
    signature: 'void *

      malloc_check(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/trafficserver/tools/http_load/http_load.c:2982,1
    - Dst: check
      Src: /src/trafficserver/tools/http_load/http_load.c:2983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2985
    functionName: realloc_check
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 2
    functionsReached:
    - check
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      realloc_check(void *ptr, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/trafficserver/tools/http_load/http_load.c:2990,1
    - Dst: check
      Src: /src/trafficserver/tools/http_load/http_load.c:2991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2993
    functionName: strdup_check
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 2
    functionsReached:
    - strdup
    - check
    linkageType: ''
    returnType: char
    signature: 'char *

      strdup_check(char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/tools/http_load/http_load.c:2999,1
    - Dst: exit
      Src: /src/trafficserver/tools/http_load/http_load.c:3000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3002
    functionName: check
    functionSourceFile: /src/trafficserver/tools/http_load/http_load.c
    functionUses: 6
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_stackid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:74,1
    - Dst: PT_REGS_PARM1
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:75,1
    - Dst: update
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: probe_mutex_init
    functionSourceFile: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c
    functionUses: 0
    functionsReached:
    - PT_REGS_PARM1
    - get_stackid
    - update
    linkageType: ''
    returnType: int
    signature: int probe_mutex_init(struct pt_regs *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_ktime_get_ns
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:83,1
    - Dst: bpf_get_current_pid_tgid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:84,1
    - Dst: PT_REGS_PARM1
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:86,1
    - Dst: update
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: probe_mutex_lock
    functionSourceFile: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c
    functionUses: 0
    functionsReached:
    - bpf_get_current_pid_tgid
    - PT_REGS_PARM1
    - bpf_ktime_get_ns
    - update
    linkageType: ''
    returnType: int
    signature: int probe_mutex_lock(struct pt_regs *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_ktime_get_ns
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:95,1
    - Dst: bpf_get_current_pid_tgid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:96,1
    - Dst: lookup
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:97,1
    - Dst: get_stackid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:104,1
    - Dst: PT_REGS_RC
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:107,1
    - Dst: update
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:115,1
    - Dst: lookup_or_init
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:124,1
    - Dst: PT_REGS_RC
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:127,1
    - Dst: bpf_log2l
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:131,1
    - Dst: increment
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:132,1
    - Dst: delete
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 135
    functionName: probe_mutex_lock_return
    functionSourceFile: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c
    functionUses: 0
    functionsReached:
    - PT_REGS_RC
    - lookup
    - bpf_ktime_get_ns
    - increment
    - lookup_or_init
    - delete
    - bpf_log2l
    - bpf_get_current_pid_tgid
    - get_stackid
    - update
    linkageType: ''
    returnType: int
    signature: int probe_mutex_lock_return(struct pt_regs *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_ktime_get_ns
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:140,1
    - Dst: bpf_get_current_pid_tgid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:141,1
    - Dst: lookup
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:142,1
    - Dst: get_stackid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:148,1
    - Dst: PT_REGS_RC
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:151,1
    - Dst: update
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:159,1
    - Dst: lookup_or_init
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:168,1
    - Dst: PT_REGS_RC
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:170,1
    - Dst: delete
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 178
    functionName: probe_mutex_trylock_return
    functionSourceFile: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c
    functionUses: 0
    functionsReached:
    - PT_REGS_RC
    - lookup
    - bpf_ktime_get_ns
    - lookup_or_init
    - delete
    - bpf_get_current_pid_tgid
    - get_stackid
    - update
    linkageType: ''
    returnType: int
    signature: int probe_mutex_trylock_return(struct pt_regs *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_ktime_get_ns
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:183,1
    - Dst: PT_REGS_PARM1
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:184,1
    - Dst: bpf_get_current_pid_tgid
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:185,1
    - Dst: lookup
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:189,1
    - Dst: lookup
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:200,1
    - Dst: bpf_log2l
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:207,1
    - Dst: increment
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:208,1
    - Dst: delete
      Src: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 211
    functionName: probe_mutex_unlock
    functionSourceFile: /src/trafficserver/tools/ebpf/trylock-stats/trylock-stats.bpf.c
    functionUses: 0
    functionsReached:
    - lookup
    - PT_REGS_PARM1
    - bpf_ktime_get_ns
    - increment
    - delete
    - bpf_log2l
    - bpf_get_current_pid_tgid
    linkageType: ''
    returnType: int
    signature: int probe_mutex_unlock(struct pt_regs *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:43,1
    - Dst: shared::rpc::IPCSocketClient::is_closed
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:45,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:49,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:50,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: std::strncpy
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:55,1
    - Dst: c_str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:55,1
    - Dst: shared::rpc::IPCSocketClient::connect
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:62,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:70,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:81,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:83,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:83,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:84,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - wait_ms
    - attempts
    argTypes:
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: shared::rpc::IPCSocketClient::connect
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - std::runtime_error
    - shared::rpc::IPCSocketClient::is_closed
    - shared::rpc::IPCSocketClient::connect
    - safe_fcntl
    - shared::rpc::IPCSocketClient::close
    - c_str
    - std::strncpy
    - std::strerror
    - std::this_thread::sleep_for
    - socket
    linkageType: ''
    returnType: IPCSocketClient::self_reference
    signature: IPCSocketClient::self_reference IPCSocketClient::connect(std::chrono::milliseconds
      wait_ms, int attempts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: shared::rpc::IPCSocketClient::_safe_write
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer::write
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t IPCSocketClient::_safe_write(int fd, const char *buffer,
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::_safe_write
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:111,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:113,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: shared::rpc::IPCSocketClient::send
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - shared::rpc::IPCSocketClient::close
    - shared::rpc::IPCSocketClient::_safe_write
    - std::strerror
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: IPCSocketClient::self_reference
    signature: IPCSocketClient::self_reference IPCSocketClient ::send(std::string_view
      data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::is_closed
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:122,1
    - Dst: MessageStorage::writable_data
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:133,1
    - Dst: MessageStorage::available
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:134,1
    - Dst: read_ready
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:138,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:138,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:148,1
    - Dst: MessageStorage::save
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:150,1
    - Dst: MessageStorage::stored
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:160,1
    - Dst: MessageStorage::str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - content
    - timeout_ms
    - attempts
    argTypes:
    - std::string
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: shared::rpc::IPCSocketClient::read_all
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 0
    functionsReached:
    - MessageStorage::available
    - read_ready
    - IOBufferReader::read
    - MessageStorage::stored
    - MessageStorage::writable_data
    - shared::rpc::IPCSocketClient::is_closed
    - MessageStorage::str
    - std::chrono::milliseconds::count
    - MessageStorage::save
    linkageType: ''
    returnType: IPCSocketClient::ReadStatus
    signature: IPCSocketClient::ReadStatus IPCSocketClient::read_all(std::string &content,
      std::chrono::milliseconds timeout_ms, int attempts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:43,1
    - Dst: shared::rpc::IPCSocketClient::is_closed
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:45,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:46,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:49,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:50,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:51,1
    - Dst: std::strncpy
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:55,1
    - Dst: c_str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:55,1
    - Dst: shared::rpc::IPCSocketClient::connect
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:62,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:70,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:81,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:83,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:83,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:84,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - wait_ms
    - attempts
    argTypes:
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: shared::rpc::IPCSocketClient::connect
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - std::runtime_error
    - shared::rpc::IPCSocketClient::is_closed
    - shared::rpc::IPCSocketClient::connect
    - safe_fcntl
    - shared::rpc::IPCSocketClient::close
    - c_str
    - std::strncpy
    - std::strerror
    - std::this_thread::sleep_for
    - socket
    linkageType: ''
    returnType: IPCSocketClient::self_reference
    signature: IPCSocketClient::self_reference IPCSocketClient::connect(std::chrono::milliseconds
      wait_ms, int attempts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: shared::rpc::IPCSocketClient::_safe_write
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 1
    functionsReached:
    - MIOBuffer::write
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t IPCSocketClient::_safe_write(int fd, const char *buffer,
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::_safe_write
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:110,1
    - Dst: shared::rpc::IPCSocketClient::close
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:111,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:113,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: shared::rpc::IPCSocketClient::send
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - shared::rpc::IPCSocketClient::close
    - shared::rpc::IPCSocketClient::_safe_write
    - std::strerror
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: IPCSocketClient::self_reference
    signature: IPCSocketClient::self_reference IPCSocketClient ::send(std::string_view
      data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::is_closed
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:122,1
    - Dst: MessageStorage::writable_data
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:133,1
    - Dst: MessageStorage::available
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:134,1
    - Dst: read_ready
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:138,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:138,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:148,1
    - Dst: MessageStorage::save
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:150,1
    - Dst: MessageStorage::stored
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:160,1
    - Dst: MessageStorage::str
      Src: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - content
    - timeout_ms
    - attempts
    argTypes:
    - std::string
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: shared::rpc::IPCSocketClient::read_all
    functionSourceFile: /src/trafficserver/src/shared/rpc/IPCSocketClient.cc
    functionUses: 0
    functionsReached:
    - MessageStorage::available
    - read_ready
    - IOBufferReader::read
    - MessageStorage::stored
    - MessageStorage::writable_data
    - shared::rpc::IPCSocketClient::is_closed
    - MessageStorage::str
    - std::chrono::milliseconds::count
    - MessageStorage::save
    linkageType: ''
    returnType: IPCSocketClient::ReadStatus
    signature: IPCSocketClient::ReadStatus IPCSocketClient::read_all(std::string &content,
      std::chrono::milliseconds timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:64,1
    - Dst: localtime_r
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: timestamp
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - time
    - localtime_r
    linkageType: ''
    returnType: struct tm
    signature: struct tm timestamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timestamp
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:75,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:77,1
    - Dst: strftime
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:79,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:80,1
    - Dst: ats_scoped_str::release
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: crashlog_name
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - ats_scoped_str::release
    - Layout::relative_to
    - strftime
    - timestamp
    linkageType: ''
    returnType: char
    signature: 'char *

      crashlog_name()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:90,1
    - Dst: fdopen
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: crashlog_open
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - fdopen
    - open
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      crashlog_open(const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ServerBacktrace
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:107,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:107,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:108,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:112,1
    - Dst: free
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - pid
    argTypes:
    - FILE*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: crashlog_write_backtrace
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - free
    - ServerBacktrace
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_backtrace(FILE *fp, pid_t pid, const crashlog_target
      &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:121,1
    - Dst: fflush
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:122,1
    - Dst: fork
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:123,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:125,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:128,1
    - Dst: fileno
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:128,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:129,1
    - Dst: fileno
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:129,1
    - Dst: execv
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:131,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:132,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:132,1
    - Dst: waitpid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:136,1
    - Dst: fflush
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:137,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - fp
    - pid
    argTypes:
    - FILE*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: crashlog_exec_pgm
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - fileno
    - fork
    - Error
    - snprintf
    - execv
    - dup2
    - fflush
    - waitpid
    - Note
    - strerror
    linkageType: ''
    returnType: void
    signature: void crashlog_exec_pgm(FILE *fp, pid_t pid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getppid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:149,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:151,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:151,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:151,1
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:153,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:156,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:156,1
    - Dst: EnableDeathSignal
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:159,1
    - Dst: kill
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:160,1
    - Dst: getpid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:160,1
    - Dst: getppid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:165,1
    - Dst: runroot_handler
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:169,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:170,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:171,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:172,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:176,1
    - Dst: facility_string_to_int
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:177,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:177,1
    - Dst: openlog
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:184,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:184,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:185,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:186,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:187,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:188,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:189,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:190,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:191,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:192,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:195,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:195,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:196,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:196,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:198,1
    - Dst: static_cast<pid_t>
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:199,1
    - Dst: timestamp
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:200,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:202,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:206,1
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:207,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:208,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:212,1
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:213,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:214,1
    - Dst: crashlog_name
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:219,1
    - Dst: crashlog_open
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:221,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:223,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:223,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:224,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:228,1
    - Dst: crashlog_write_procname
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:230,1
    - Dst: crashlog_write_exename
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:231,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:232,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:232,1
    - Dst: crashlog_write_uname
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:233,1
    - Dst: crashlog_write_datime
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:234,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:236,1
    - Dst: crashlog_write_siginfo
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:237,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:239,1
    - Dst: crashlog_write_registers
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:240,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:242,1
    - Dst: crashlog_write_backtrace
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:243,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:245,1
    - Dst: crashlog_write_procstatus
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:246,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:247,1
    - Dst: crashlog_write_proclimits
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:248,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:250,1
    - Dst: crashlog_write_regions
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:251,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:253,1
    - Dst: crashlog_exec_pgm
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:254,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:256,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:258,1
    - Dst: fflush
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:260,1
    - Dst: fclose
      Src: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc:261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.cc
    functionUses: 0
    functionsReached:
    - getuid
    - crashlog_write_procname
    - facility_string_to_int
    - getppid
    - static_cast<long>
    - crashlog_open
    - auto::application
    - ats_as_c_str
    - process_args
    - AppVersionInfo::setup_version
    - Diags::Diags
    - strerror
    - timestamp
    - DiagsPtr::set
    - ats_free
    - fprintf
    - crashlog_write_siginfo
    - LibRecordsConfigInit
    - ink_zero
    - fclose
    - crashlog_write_datime
    - auto::full_version
    - kill
    - crashlog_write_procstatus
    - crashlog_write_registers
    - countof
    - strncmp
    - static_cast<ssize_t>
    - getpid
    - crashlog_write_regions
    - crashlog_write_exename
    - Warning
    - RecProcessInit
    - RecGetRecordStringAlloc
    - read
    - Error
    - crashlog_write_uname
    - crashlog_name
    - crashlog_write_proclimits
    - crashlog_exec_pgm
    - EnableDeathSignal
    - diags
    - Note
    - static_cast<pid_t>
    - Layout::create
    - BaseLogFile::BaseLogFile
    - geteuid
    - runroot_handler
    - openlog
    - crashlog_write_backtrace
    - fflush
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char **argv)
  - 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: ADDRCAST
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRCAST(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: ADDRCAST
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/traffic_crashlog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRCAST(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: opendir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:72,1
    - Dst: readdir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:77,1
    - Dst: isdot
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:80,1
    - Dst: isdotdot
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:80,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:84,1
    - Dst: threadlist::push_back
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:87,1
    - Dst: closedir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - proc
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: threads_for_process
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - closedir
    - static_cast<long>
    - Dbg
    - snprintf
    - threadlist::push_back
    - opendir
    - isdot
    - isdotdot
    - strtol
    - readdir
    linkageType: ''
    returnType: threadlist
    signature: threadlist threads_for_process(pid_t proc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ptrace
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:112,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:112,1
    - Dst: waitpid
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:118,1
    - Dst: WIFSTOPPED
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:119,1
    - Dst: _UPT_create
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:125,1
    - Dst: unw_create_addr_space
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:131,1
    - Dst: unw_init_remote
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:137,1
    - Dst: unw_step
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:142,1
    - Dst: unw_get_reg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:147,1
    - Dst: unw_get_proc_name
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:149,1
    - Dst: abi::__cxa_demangle
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:151,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:152,1
    - Dst: static_cast<unsigned long long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:152,1
    - Dst: free
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:153,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:155,1
    - Dst: static_cast<unsigned long long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:155,1
    - Dst: unw_destroy_addr_space
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:163,1
    - Dst: _UPT_destroy
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:167,1
    - Dst: ptrace
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - threadid
    - text
    argTypes:
    - pid_t
    - TextBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 172
    functionName: backtrace_for_thread
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 0
    functionsReached:
    - unw_step
    - _UPT_create
    - unw_get_proc_name
    - free
    - unw_get_reg
    - unw_destroy_addr_space
    - static_cast<unsigned long long>
    - _UPT_destroy
    - ptrace
    - Dbg
    - abi::__cxa_demangle
    - waitpid
    - unw_create_addr_space
    - TextBuffer::format
    - strerror
    - unw_init_remote
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void backtrace_for_thread(pid_t threadid, TextBuffer &text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:68,1
    - Dst: opendir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:72,1
    - Dst: readdir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:77,1
    - Dst: isdot
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:80,1
    - Dst: isdotdot
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:80,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:84,1
    - Dst: threadlist::push_back
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:87,1
    - Dst: closedir
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - proc
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: threads_for_process
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - closedir
    - static_cast<long>
    - Dbg
    - snprintf
    - threadlist::push_back
    - opendir
    - isdot
    - isdotdot
    - strtol
    - readdir
    linkageType: ''
    returnType: threadlist
    signature: threadlist threads_for_process(pid_t proc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ptrace
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:112,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:112,1
    - Dst: waitpid
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:118,1
    - Dst: WIFSTOPPED
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:119,1
    - Dst: _UPT_create
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:125,1
    - Dst: unw_create_addr_space
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:131,1
    - Dst: unw_init_remote
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:137,1
    - Dst: unw_step
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:142,1
    - Dst: unw_get_reg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:147,1
    - Dst: unw_get_proc_name
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:149,1
    - Dst: abi::__cxa_demangle
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:151,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:152,1
    - Dst: static_cast<unsigned long long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:152,1
    - Dst: free
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:153,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:155,1
    - Dst: static_cast<unsigned long long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:155,1
    - Dst: unw_destroy_addr_space
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:163,1
    - Dst: _UPT_destroy
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:167,1
    - Dst: ptrace
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - threadid
    - text
    argTypes:
    - pid_t
    - TextBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 172
    functionName: backtrace_for_thread
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 0
    functionsReached:
    - unw_step
    - _UPT_create
    - unw_get_proc_name
    - free
    - unw_get_reg
    - unw_destroy_addr_space
    - static_cast<unsigned long long>
    - _UPT_destroy
    - ptrace
    - Dbg
    - abi::__cxa_demangle
    - waitpid
    - unw_create_addr_space
    - TextBuffer::format
    - strerror
    - unw_init_remote
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void backtrace_for_thread(pid_t threadid, TextBuffer &text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:182,1
    - Dst: threadlist::size
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:182,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:185,1
    - Dst: ats_scoped_fd::ats_scoped_fd
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:187,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:190,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:190,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:191,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:193,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:193,1
    - Dst: TextBuffer::readFromFD
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:194,1
    - Dst: TextBuffer::chomp
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:195,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:197,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:197,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:200,1
    - Dst: backtrace_for_thread
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:202,1
    - Dst: TextBuffer::format
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:203,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/src/traffic_crashlog/backtrace.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pid
    - trace
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: ServerBacktrace
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 1
    functionsReached:
    - TextBuffer::release
    - static_cast<long>
    - TextBuffer::format
    - TextBuffer::readFromFD
    - Dbg
    - snprintf
    - threadlist::size
    - backtrace_for_thread
    - TextBuffer::chomp
    - ats_scoped_fd::ats_scoped_fd
    - open
    linkageType: ''
    returnType: int
    signature: int ServerBacktrace(unsigned /* options */, int pid, char **trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - options
    - pid
    - trace
    argTypes:
    - unsigned
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: ServerBacktrace
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/backtrace.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ServerBacktrace([[maybe_unused]] unsigned options, [[maybe_unused]]
      int pid, char **trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:31,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:31,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pid
    - fname
    argTypes:
    - pid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: procfd_open
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 0
    functionsReached:
    - static_cast<long>
    - snprintf
    - open
    linkageType: ''
    returnType: int
    signature: int procfd_open(pid_t pid, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:40,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:40,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:42,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:42,1
    - Dst: readlink
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:43,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:45,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:45,1
    - Dst: ats_scoped_str::release
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pid
    - fname
    argTypes:
    - pid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: procfd_readlink
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 0
    functionsReached:
    - readlink
    - static_cast<long>
    - static_cast<char *>
    - ats_scoped_str::release
    - snprintf
    - ats_malloc
    - Note
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      procfd_readlink(pid_t pid, const char *fname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_fd::ats_scoped_fd
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:57,1
    - Dst: procfd_open
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:59,1
    - Dst: TextBuffer::slurp
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:61,1
    - Dst: TextBuffer::chomp
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:62,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:63,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:63,1
    - Dst: TextBuffer::spaceUsed
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:63,1
    - Dst: TextBuffer::bufPtr
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:63,1
    - Dst: TextBuffer::empty
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - filename
    - label
    - fp
    - target
    argTypes:
    - char*
    - char*
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: write_procfd_file
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - procfd_open
    - TextBuffer::bufPtr
    - TextBuffer::chomp
    - TextBuffer::empty
    - ats_scoped_fd::ats_scoped_fd
    - TextBuffer::slurp
    - TextBuffer::spaceUsed
    linkageType: ''
    returnType: bool
    signature: bool write_procfd_file(const char *filename, const char *label, FILE
      *fp, const crashlog_target &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_procfd_file
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: crashlog_write_regions
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - write_procfd_file
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_regions(FILE *fp, const crashlog_target &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_procfd_file
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crashlog_write_procstatus
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - write_procfd_file
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_procstatus(FILE *fp, const crashlog_target &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_procfd_file
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: crashlog_write_proclimits
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - write_procfd_file
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_proclimits(FILE *fp, const crashlog_target &target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:92,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:93,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: crashlog_write_uname
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - uname
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_uname(FILE *fp, const crashlog_target &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:104,1
    - Dst: procfd_readlink
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:106,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: crashlog_write_exename
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - procfd_readlink
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_exename(FILE *fp, const crashlog_target &target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_fd::ats_scoped_fd
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:118,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:119,1
    - Dst: procfd_open
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:122,1
    - Dst: TextBuffer::slurp
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:124,1
    - Dst: TextBuffer::chomp
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:125,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:126,1
    - Dst: TextBuffer::bufPtr
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:126,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:126,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:128,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: crashlog_write_procname
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - fprintf
    - procfd_open
    - TextBuffer::bufPtr
    - static_cast<long>
    - TextBuffer::chomp
    - ats_scoped_fd::ats_scoped_fd
    - TextBuffer::slurp
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_procname(FILE *fp, const crashlog_target &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:139,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: crashlog_write_datime
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - strftime
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_datime(FILE *fp, const crashlog_target &target)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:150,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:154,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:155,1
    - Dst: strsignal
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:155,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:157,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:157,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:159,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:159,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:160,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:162,1
    - Dst: ADDRCAST
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:164,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:165,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:168,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:168,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:169,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:185,1
    - Dst: ADDRCAST
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:185,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:204,1
    - Dst: ADDRCAST
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:204,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 209
    functionName: crashlog_write_siginfo
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - ADDRCAST
    - static_cast<long>
    - snprintf
    - strsignal
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_siginfo(FILE *fp, const crashlog_target &target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:215,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:240,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:241,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:243,1
    - Dst: REGCAST
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:243,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:246,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_crashlog/procinfo.cc:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - fp
    - target
    argTypes:
    - FILE*
    - crashlog_target
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 252
    functionName: crashlog_write_registers
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached:
    - countof
    - fprintf
    - REGCAST
    linkageType: ''
    returnType: bool
    signature: bool crashlog_write_registers(FILE *fp, const crashlog_target &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: REGCAST
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGCAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: REGCAST
    functionSourceFile: /src/trafficserver/src/traffic_crashlog/procinfo.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGCAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Storage>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '&

      Metrics::instance()'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Storage>
    linkageType: ''
    returnType: Metrics
    signature: 'Metrics &

      Metrics::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Metrics::NamesAndAtomics>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:47,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:49,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:50,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Metrics::Storage::addBlob()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Metrics::NamesAndAtomics>
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void Metrics::Storage::addBlob()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tsutil/Metrics.cc:60,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/Metrics.cc:62,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:66,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:67,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:68,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/tsutil/Metrics.cc:70,1
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/Metrics.cc:70,1
    - Dst: emplace
      Src: /src/trafficserver/src/tsutil/Metrics.cc:71,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:71,1
    - Dst: addBlob
      Src: /src/trafficserver/src/tsutil/Metrics.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: Metrics::Storage::create(std::string_view name)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - find
    - std::get<0>
    - std::make_tuple
    - std::string
    - _makeId
    - end
    - emplace
    - addBlob
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType Metrics::Storage::create(std::string_view name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tsutil/Metrics.cc:84,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/Metrics.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: Metrics::Storage::lookup(const std::string_view name) const
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType Metrics::Storage::lookup(const std::string_view name)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:96,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:97,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:101,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:106,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:106,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - id
    - out_name
    argTypes:
    - Metrics::IdType
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: '*

      Metrics::Storage::lookup(Metrics::IdType id, std::string_view *out_name) const'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - std::get<1>
    - _splitID
    - std::get<0>
    linkageType: ''
    returnType: Metrics::AtomicType
    signature: 'Metrics::AtomicType *

      Metrics::Storage::lookup(Metrics::IdType id, std::string_view *out_name) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:115,1
    - Dst: lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - out_id
    argTypes:
    - std::string_view
    - Metrics::IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: '*

      Metrics::Storage::lookup(const std::string_view name, Metrics::IdType *out_id)
      const'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: Metrics::AtomicType
    signature: 'Metrics::AtomicType *

      Metrics::Storage::lookup(const std::string_view name, Metrics::IdType *out_id)
      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:132,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:133,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:137,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:141,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - Metrics::IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: Metrics::Storage::name(Metrics::IdType id) const
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - _splitID
    - std::get<0>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Metrics::Storage::name(Metrics::IdType id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:149,1
    - Dst: addBlob
      Src: /src/trafficserver/src/tsutil/Metrics.cc:153,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:156,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:157,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:158,1
    - Dst: Metrics::SpanType
      Src: /src/trafficserver/src/tsutil/Metrics.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - size
    - id
    argTypes:
    - size_t
    - Metrics::IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: Metrics::Storage::createSpan(size_t size, Metrics::IdType *id)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - Metrics::SpanType
    - std::get<1>
    - addBlob
    - _makeId
    - release_assert
    linkageType: ''
    returnType: Metrics::SpanType
    signature: Metrics::SpanType Metrics::Storage::createSpan(size_t size, Metrics::IdType
      *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:173,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:174,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:181,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:181,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tsutil/Metrics.cc:184,1
    - Dst: erase
      Src: /src/trafficserver/src/tsutil/Metrics.cc:185,1
    - Dst: emplace
      Src: /src/trafficserver/src/tsutil/Metrics.cc:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - id
    - name
    argTypes:
    - Metrics::IdType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: Metrics::Storage::rename(Metrics::IdType id, std::string_view name)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - erase
    - std::get<0>
    - emplace
    - _splitID
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool Metrics::Storage::rename(Metrics::IdType id, std::string_view
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:197,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: Metrics::iterator::next()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - _splitID
    - _makeId
    linkageType: ''
    returnType: void
    signature: void Metrics::iterator::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:221,1
    - Dst: load
      Src: /src/trafficserver/src/tsutil/Metrics.cc:228,1
    - Dst: store
      Src: /src/trafficserver/src/tsutil/Metrics.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: ts::details::update
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - load
    - store
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::details::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - DerivedMetric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ts::details::push_back
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 1
    functionsReached:
    - std::move
    - ts::details::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const DerivedMetric &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: "&\n    instance()"
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DerivativeMetrics
    signature: "DerivativeMetrics &\n    instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:221,1
    - Dst: load
      Src: /src/trafficserver/src/tsutil/Metrics.cc:228,1
    - Dst: store
      Src: /src/trafficserver/src/tsutil/Metrics.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: ts::details::update
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - load
    - store
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::details::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - DerivedMetric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ts::details::push_back
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 2
    functionsReached:
    - std::move
    - ts::details::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const DerivedMetric &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: "&\n    instance()"
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DerivativeMetrics
    signature: "DerivativeMetrics &\n    instance()"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:254,1
    - Dst: auto::_create
      Src: /src/trafficserver/src/tsutil/Metrics.cc:258,1
    - Dst: std::holds_alternative<Metrics::AtomicType *>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:261,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:262,1
    - Dst: std::get<Metrics::AtomicType *>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:262,1
    - Dst: std::holds_alternative<Metrics::IdType>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:263,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: std::get<Metrics::IdType>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: std::holds_alternative<std::string_view>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:265,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: std::get<std::string_view>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - metrics
    argTypes:
    - std::initializer_list<Metrics::Derived::DerivedMetricSpec>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 271
    functionName: Metrics::Derived::derive(const std::initializer_list<Metrics::Derived::DerivedMetricSpec>
      &metrics)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::string_view>
    - std::get<Metrics::AtomicType *>
    - std::get<Metrics::IdType>
    - std::holds_alternative<Metrics::AtomicType *>
    - auto::_create
    - RegexContext::get_instance
    - auto::lookup
    - std::get<std::string_view>
    - std::holds_alternative<Metrics::IdType>
    - details::DerivedMetric::derived_from::push_back
    linkageType: ''
    returnType: void
    signature: void Metrics::Derived::derive(const std::initializer_list<Metrics::Derived::DerivedMetricSpec>
      &metrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Metrics::Derived::update_derived()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void Metrics::Derived::update_derived()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Storage>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '&

      Metrics::instance()'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Storage>
    linkageType: ''
    returnType: Metrics
    signature: 'Metrics &

      Metrics::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Metrics::NamesAndAtomics>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:47,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:49,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:50,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Metrics::Storage::addBlob()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Metrics::NamesAndAtomics>
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void Metrics::Storage::addBlob()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tsutil/Metrics.cc:60,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/Metrics.cc:62,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:66,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:67,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:68,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/tsutil/Metrics.cc:70,1
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/Metrics.cc:70,1
    - Dst: emplace
      Src: /src/trafficserver/src/tsutil/Metrics.cc:71,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:71,1
    - Dst: addBlob
      Src: /src/trafficserver/src/tsutil/Metrics.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: Metrics::Storage::create(std::string_view name)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - find
    - std::get<0>
    - std::make_tuple
    - std::string
    - _makeId
    - end
    - emplace
    - addBlob
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType Metrics::Storage::create(std::string_view name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tsutil/Metrics.cc:84,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/Metrics.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: Metrics::Storage::lookup(const std::string_view name) const
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType Metrics::Storage::lookup(const std::string_view name)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:96,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:97,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:101,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:106,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:106,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - id
    - out_name
    argTypes:
    - Metrics::IdType
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: '*

      Metrics::Storage::lookup(Metrics::IdType id, std::string_view *out_name) const'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - std::get<1>
    - _splitID
    - std::get<0>
    linkageType: ''
    returnType: Metrics::AtomicType
    signature: 'Metrics::AtomicType *

      Metrics::Storage::lookup(Metrics::IdType id, std::string_view *out_name) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:115,1
    - Dst: lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - out_id
    argTypes:
    - std::string_view
    - Metrics::IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: '*

      Metrics::Storage::lookup(const std::string_view name, Metrics::IdType *out_id)
      const'
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: Metrics::AtomicType
    signature: 'Metrics::AtomicType *

      Metrics::Storage::lookup(const std::string_view name, Metrics::IdType *out_id)
      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:132,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:133,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:137,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:141,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - Metrics::IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: Metrics::Storage::name(Metrics::IdType id) const
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - _splitID
    - std::get<0>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Metrics::Storage::name(Metrics::IdType id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_assert
      Src: /src/trafficserver/src/tsutil/Metrics.cc:149,1
    - Dst: addBlob
      Src: /src/trafficserver/src/tsutil/Metrics.cc:153,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:156,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:157,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:158,1
    - Dst: Metrics::SpanType
      Src: /src/trafficserver/src/tsutil/Metrics.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - size
    - id
    argTypes:
    - size_t
    - Metrics::IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: Metrics::Storage::createSpan(size_t size, Metrics::IdType *id)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - Metrics::SpanType
    - std::get<1>
    - addBlob
    - _makeId
    - release_assert
    linkageType: ''
    returnType: Metrics::SpanType
    signature: Metrics::SpanType Metrics::Storage::createSpan(size_t size, Metrics::IdType
      *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:173,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Metrics.cc:174,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:181,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:181,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tsutil/Metrics.cc:184,1
    - Dst: erase
      Src: /src/trafficserver/src/tsutil/Metrics.cc:185,1
    - Dst: emplace
      Src: /src/trafficserver/src/tsutil/Metrics.cc:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - id
    - name
    argTypes:
    - Metrics::IdType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: Metrics::Storage::rename(Metrics::IdType id, std::string_view name)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - get
    - erase
    - std::get<0>
    - emplace
    - _splitID
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool Metrics::Storage::rename(Metrics::IdType id, std::string_view
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/src/tsutil/Metrics.cc:197,1
    - Dst: _makeId
      Src: /src/trafficserver/src/tsutil/Metrics.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: Metrics::iterator::next()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - _splitID
    - _makeId
    linkageType: ''
    returnType: void
    signature: void Metrics::iterator::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:221,1
    - Dst: load
      Src: /src/trafficserver/src/tsutil/Metrics.cc:228,1
    - Dst: store
      Src: /src/trafficserver/src/tsutil/Metrics.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: ts::details::update
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - load
    - store
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::details::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - DerivedMetric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ts::details::push_back
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 3
    functionsReached:
    - std::move
    - ts::details::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const DerivedMetric &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: "&\n    instance()"
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DerivativeMetrics
    signature: "DerivativeMetrics &\n    instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:221,1
    - Dst: load
      Src: /src/trafficserver/src/tsutil/Metrics.cc:228,1
    - Dst: store
      Src: /src/trafficserver/src/tsutil/Metrics.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: ts::details::update
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - load
    - store
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::details::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Metrics.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - DerivedMetric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ts::details::push_back
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 4
    functionsReached:
    - std::move
    - ts::details::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const DerivedMetric &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: "&\n    instance()"
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DerivativeMetrics
    signature: "DerivativeMetrics &\n    instance()"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:254,1
    - Dst: auto::_create
      Src: /src/trafficserver/src/tsutil/Metrics.cc:258,1
    - Dst: std::holds_alternative<Metrics::AtomicType *>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:261,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:262,1
    - Dst: std::get<Metrics::AtomicType *>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:262,1
    - Dst: std::holds_alternative<Metrics::IdType>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:263,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: std::get<Metrics::IdType>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:264,1
    - Dst: std::holds_alternative<std::string_view>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:265,1
    - Dst: details::DerivedMetric::derived_from::push_back
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: std::get<std::string_view>
      Src: /src/trafficserver/src/tsutil/Metrics.cc:266,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - metrics
    argTypes:
    - std::initializer_list<Metrics::Derived::DerivedMetricSpec>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 271
    functionName: Metrics::Derived::derive(const std::initializer_list<Metrics::Derived::DerivedMetricSpec>
      &metrics)
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::string_view>
    - std::get<Metrics::AtomicType *>
    - std::get<Metrics::IdType>
    - std::holds_alternative<Metrics::AtomicType *>
    - auto::_create
    - RegexContext::get_instance
    - auto::lookup
    - std::get<std::string_view>
    - std::holds_alternative<Metrics::IdType>
    - details::DerivedMetric::derived_from::push_back
    linkageType: ''
    returnType: void
    signature: void Metrics::Derived::derive(const std::initializer_list<Metrics::Derived::DerivedMetricSpec>
      &metrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Metrics.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Metrics::Derived::update_derived()
    functionSourceFile: /src/trafficserver/src/tsutil/Metrics.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void Metrics::Derived::update_derived()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsMap
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:37,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - IsMap
    - YAML::Scanner::ThrowParserException
    - Mark
    linkageType: ''
    returnType: void
    signature: void Map::Map(const YAML::Node &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:45,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: push_back
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: Map::operator[](std::string_view key)
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::string
    - push_back
    - end
    - std::find
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node Map::operator[](std::string_view key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: first::as
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:66,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ts::Yaml::Map::done
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - end
    - YAML::Scanner::ThrowParserException
    - Mark
    - size
    - std::find
    linkageType: ''
    returnType: void
    signature: void Map::done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsMap
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:37,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - IsMap
    - YAML::Scanner::ThrowParserException
    - Mark
    linkageType: ''
    returnType: void
    signature: void Map::Map(const YAML::Node &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:45,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: push_back
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: Map::operator[](std::string_view key)
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::string
    - push_back
    - end
    - std::find
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node Map::operator[](std::string_view key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: first::as
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:66,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ts::Yaml::Map::done
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - end
    - YAML::Scanner::ThrowParserException
    - Mark
    - size
    - std::find
    linkageType: ''
    returnType: void
    signature: void Map::done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsMap
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:37,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - IsMap
    - YAML::Scanner::ThrowParserException
    - Mark
    linkageType: ''
    returnType: void
    signature: void Map::Map(const YAML::Node &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:45,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: push_back
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: Map::operator[](std::string_view key)
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::string
    - push_back
    - end
    - std::find
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node Map::operator[](std::string_view key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: first::as
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:66,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ts::Yaml::Map::done
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - end
    - YAML::Scanner::ThrowParserException
    - Mark
    - size
    - std::find
    linkageType: ''
    returnType: void
    signature: void Map::done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsMap
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:37,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - IsMap
    - YAML::Scanner::ThrowParserException
    - Mark
    linkageType: ''
    returnType: void
    signature: void Map::Map(const YAML::Node &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:45,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:50,1
    - Dst: push_back
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: Map::operator[](std::string_view key)
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::string
    - push_back
    - end
    - std::find
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node Map::operator[](std::string_view key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:61,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:62,1
    - Dst: first::as
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:66,1
    - Dst: std::find
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:68,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    - Dst: Mark
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ts::Yaml::Map::done
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - end
    - YAML::Scanner::ThrowParserException
    - Mark
    - size
    - std::find
    linkageType: ''
    returnType: void
    signature: void Map::done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mark
    argTypes:
    - BufferWriter
    - bwf::Spec
    - YAML::Mark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, [[maybe_unused]] bwf::Spec const &spec, YAML::Mark
      const &mark)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tsutil/YamlCfg.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mark
    argTypes:
    - BufferWriter
    - bwf::Spec
    - YAML::Mark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/YamlCfg.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, [[maybe_unused]] bwf::Spec const &spec, YAML::Mark
      const &mark)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemSpan<swoc::TextView const>
      Src: /src/trafficserver/src/tsutil/ts_diags.cc:33,1
    - Dst: data
      Src: /src/trafficserver/src/tsutil/ts_diags.cc:33,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/ts_diags.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: Initialize_Errata_Settings
    functionSourceFile: /src/trafficserver/src/tsutil/ts_diags.cc
    functionUses: 0
    functionsReached:
    - data
    - size
    - swoc::MemSpan<swoc::TextView const>
    linkageType: ''
    returnType: void
    signature: void Initialize_Errata_Settings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/trafficserver/src/tsutil/Regex.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: my_malloc
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      my_malloc(size_t size, void * /*caller*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/tsutil/Regex.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: my_free
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void my_free(void *ptr, void * /*caller*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::RegexContext
      Src: /src/trafficserver/src/tsutil/Regex.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: RegexContext::get_instance
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 8
    functionsReached:
    - RegexContext::RegexContext
    linkageType: ''
    returnType: RegexContext
    signature: "RegexContext *\n  get_instance()"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:67,1
    - Dst: pcre2_compile_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:70,1
    - Dst: pcre2_match_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:73,1
    - Dst: pcre2_jit_stack_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: ~RegexContext()
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - pcre2_general_context_free
    - pcre2_match_context_free
    - pcre2_jit_stack_free
    - pcre2_compile_context_free
    linkageType: ''
    returnType: void
    signature: void ~RegexContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: RegexContext::get_general_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_general_context
    signature: "pcre2_general_context *\n  get_general_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: RegexContext::get_compile_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_compile_context
    signature: "pcre2_compile_context *\n  get_compile_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: RegexContext::get_match_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_match_context
    signature: "pcre2_match_context *\n  get_match_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:98,1
    - Dst: pcre2_compile_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:99,1
    - Dst: pcre2_match_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:100,1
    - Dst: pcre2_jit_stack_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:101,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/trafficserver/src/tsutil/Regex.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: RegexContext::RegexContext
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 1
    functionsReached:
    - pcre2_match_context_create
    - pcre2_jit_stack_assign
    - pcre2_general_context_create
    - pcre2_jit_stack_create
    - pcre2_compile_context_create
    linkageType: ''
    returnType: void
    signature: void RegexContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/trafficserver/src/tsutil/Regex.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: my_malloc
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      my_malloc(size_t size, void * /*caller*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/tsutil/Regex.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: my_free
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void my_free(void *ptr, void * /*caller*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::RegexContext
      Src: /src/trafficserver/src/tsutil/Regex.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: RegexContext::get_instance
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 8
    functionsReached:
    - RegexContext::RegexContext
    linkageType: ''
    returnType: RegexContext
    signature: "RegexContext *\n  get_instance()"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:67,1
    - Dst: pcre2_compile_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:70,1
    - Dst: pcre2_match_context_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:73,1
    - Dst: pcre2_jit_stack_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: ~RegexContext()
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - pcre2_general_context_free
    - pcre2_match_context_free
    - pcre2_jit_stack_free
    - pcre2_compile_context_free
    linkageType: ''
    returnType: void
    signature: void ~RegexContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: RegexContext::get_general_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_general_context
    signature: "pcre2_general_context *\n  get_general_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: RegexContext::get_compile_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_compile_context
    signature: "pcre2_compile_context *\n  get_compile_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: RegexContext::get_match_context
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_match_context
    signature: "pcre2_match_context *\n  get_match_context()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:98,1
    - Dst: pcre2_compile_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:99,1
    - Dst: pcre2_match_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:100,1
    - Dst: pcre2_jit_stack_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:101,1
    - Dst: pcre2_jit_stack_assign
      Src: /src/trafficserver/src/tsutil/Regex.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: RegexContext::RegexContext
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 2
    functionsReached:
    - pcre2_match_context_create
    - pcre2_jit_stack_assign
    - pcre2_general_context_create
    - pcre2_jit_stack_create
    - pcre2_compile_context_create
    linkageType: ''
    returnType: void
    signature: void RegexContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pcre2_match_data *>
      Src: /src/trafficserver/src/tsutil/Regex.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - _MatchDataPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: get
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 28
    functionsReached:
    - static_cast<pcre2_match_data *>
    linkageType: ''
    returnType: pcre2_match_data
    signature: "pcre2_match_data *\n  get(_MatchDataPtr const &p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - _MatchDataPtr
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: set
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(_MatchDataPtr &p, pcre2_match_data *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:130,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tsutil/Regex.cc:130,1
    - Dst: pcre2_match_data_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:132,1
    - Dst: debug_assert_message
      Src: /src/trafficserver/src/tsutil/Regex.cc:135,1
    - Dst: pcre2_match_data_create
      Src: /src/trafficserver/src/tsutil/Regex.cc:136,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Regex.cc:136,1
    - Dst: tmr_reset
      Src: /src/trafficserver/src/tsutil/Regex.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: RegexMatches::RegexMatches
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - debug_assert_message
    - static_cast<void *>
    - pcre2_general_context_create
    - RegexContext::get_instance
    - pcre2_match_data_create
    - tmr_reset
    linkageType: ''
    returnType: void
    signature: void RegexMatches::RegexMatches(uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RegexMatches *>
      Src: /src/trafficserver/src/tsutil/Regex.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - caller
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: RegexMatches::malloc
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - static_cast<RegexMatches *>
    linkageType: ''
    returnType: void
    signature: 'void *

      RegexMatches::malloc(size_t size, void *caller)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:162,1
    - Dst: pcre2_match_data_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: RegexMatches::~RegexMatches()
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    - pcre2_match_data_free
    linkageType: ''
    returnType: void
    signature: void RegexMatches::~RegexMatches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/src/tsutil/Regex.cc:172,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: RegexMatches::get_ovector_pointer
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    - pcre2_get_ovector_pointer
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      RegexMatches::get_ovector_pointer()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: RegexMatches::size
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t RegexMatches::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_count
      Src: /src/trafficserver/src/tsutil/Regex.cc:187,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:187,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tsutil/Regex.cc:188,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/src/tsutil/Regex.cc:191,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:191,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tsutil/Regex.cc:192,1
    - Dst: data
      Src: /src/trafficserver/src/tsutil/Regex.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: RegexMatches::operator[](size_t index) const
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    - pcre2_get_ovector_pointer
    - pcre2_get_ovector_count
    - data
    - std::string_view
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view RegexMatches::operator[](size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pcre2_code *>
      Src: /src/trafficserver/src/tsutil/Regex.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - _CodePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: get
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 31
    functionsReached:
    - static_cast<pcre2_code *>
    linkageType: ''
    returnType: pcre2_code
    signature: "pcre2_code *\n  get(_CodePtr const &p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - _CodePtr
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: set
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(_CodePtr &p, pcre2_code *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_reset
      Src: /src/trafficserver/src/tsutil/Regex.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - Regex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Regex::Regex
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - tmr_reset
    linkageType: ''
    returnType: void
    signature: void Regex::Regex(Regex &&that) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:221,1
    - Dst: pcre2_code_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:223,1
    - Dst: tmr_reset
      Src: /src/trafficserver/src/tsutil/Regex.cc:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - Regex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: '&

      Regex::operator=(Regex &&other)'
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    - pcre2_code_free
    - tmr_reset
    linkageType: ''
    returnType: Regex
    signature: 'Regex &

      Regex::operator=(Regex &&other)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:234,1
    - Dst: pcre2_code_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: Regex::~Regex()
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void Regex::~Regex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Regex::compile
      Src: /src/trafficserver/src/tsutil/Regex.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pattern
    - flags
    argTypes:
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: Regex::compile
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 1
    functionsReached:
    - Regex::compile
    linkageType: ''
    returnType: bool
    signature: bool Regex::compile(std::string_view pattern, uint32_t flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:255,1
    - Dst: pcre2_code_free
      Src: /src/trafficserver/src/tsutil/Regex.cc:256,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Regex.cc:260,1
    - Dst: pcre2_compile
      Src: /src/trafficserver/src/tsutil/Regex.cc:267,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/tsutil/Regex.cc:267,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tsutil/Regex.cc:267,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tsutil/Regex.cc:267,1
    - Dst: RegexContext*::get_compile_context
      Src: /src/trafficserver/src/tsutil/Regex.cc:268,1
    - Dst: pcre2_get_error_message
      Src: /src/trafficserver/src/tsutil/Regex.cc:274,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tsutil/Regex.cc:275,1
    - Dst: pcre2_jit_compile
      Src: /src/trafficserver/src/tsutil/Regex.cc:280,1
    - Dst: tmr_reset
      Src: /src/trafficserver/src/tsutil/Regex.cc:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pattern
    - error
    - erroroffset
    - flags
    argTypes:
    - std::string_view
    - std::string
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 285
    functionName: Regex::compile
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 1
    functionsReached:
    - get
    - pcre2_get_error_message
    - RegexContext*::get_compile_context
    - pcre2_code_free
    - reinterpret_cast<PCRE2_SPTR>
    - RegexContext::get_instance
    - std::string::assign
    - std::string_view::size
    - pcre2_compile
    - std::string_view::data
    - tmr_reset
    - pcre2_jit_compile
    linkageType: ''
    returnType: bool
    signature: bool Regex::compile(std::string_view pattern, std::string &error, int
      &erroroffset, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:291,1
    - Dst: RegexMatches::RegexMatches
      Src: /src/trafficserver/src/tsutil/Regex.cc:294,1
    - Dst: Regex::exec
      Src: /src/trafficserver/src/tsutil/Regex.cc:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - subject
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: Regex::exec
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 1
    functionsReached:
    - get
    - Regex::exec
    - RegexMatches::RegexMatches
    linkageType: ''
    returnType: bool
    signature: bool Regex::exec(std::string_view subject) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:304,1
    - Dst: pcre2_match
      Src: /src/trafficserver/src/tsutil/Regex.cc:310,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/tsutil/Regex.cc:310,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tsutil/Regex.cc:310,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tsutil/Regex.cc:310,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:311,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tsutil/Regex.cc:311,1
    - Dst: pcre2_get_ovector_count
      Src: /src/trafficserver/src/tsutil/Regex.cc:321,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - subject
    - matches
    argTypes:
    - std::string_view
    - RegexMatches
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 326
    functionName: Regex::exec
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 1
    functionsReached:
    - get
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_get_ovector_count
    - RegexContext::get_instance
    - std::string_view::size
    - pcre2_match
    - std::string_view::data
    linkageType: ''
    returnType: int32_t
    signature: int32_t Regex::exec(std::string_view subject, RegexMatches &matches)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/trafficserver/src/tsutil/Regex.cc:333,1
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: Regex::get_capture_count
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - pcre2_pattern_info
    - get
    linkageType: ''
    returnType: int32_t
    signature: int32_t Regex::get_capture_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tsutil/Regex.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Regex::empty
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool Regex::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: DFA::~DFA()
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DFA::~DFA()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Regex::Regex
      Src: /src/trafficserver/src/tsutil/Regex.cc:353,1
    - Dst: Regex::compile
      Src: /src/trafficserver/src/tsutil/Regex.cc:360,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/tsutil/Regex.cc:363,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Regex.cc:363,1
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/Regex.cc:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pattern
    - flags
    argTypes:
    - std::string_view
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: DFA::build
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Regex::compile
    - emplace_back
    - Regex::Regex
    linkageType: ''
    returnType: bool
    signature: bool DFA::build(const std::string_view pattern, unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_assert
      Src: /src/trafficserver/src/tsutil/Regex.cc:371,1
    - Dst: empty
      Src: /src/trafficserver/src/tsutil/Regex.cc:371,1
    - Dst: DFA::build
      Src: /src/trafficserver/src/tsutil/Regex.cc:372,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/Regex.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pattern
    - flags
    argTypes:
    - std::string_view
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: DFA::compile
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - DFA::build
    - release_assert
    - empty
    - size
    linkageType: ''
    returnType: int32_t
    signature: int32_t DFA::compile(const std::string_view pattern, unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/src/tsutil/Regex.cc:380,1
    - Dst: DFA::build
      Src: /src/trafficserver/src/tsutil/Regex.cc:382,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/Regex.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - patterns
    - npatterns
    - flags
    argTypes:
    - std::string_view*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: DFA::compile
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - DFA::build
    - size
    - reserve
    linkageType: ''
    returnType: int32_t
    signature: int32_t DFA::compile(const std::string_view *const patterns, int npatterns,
      unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/src/tsutil/Regex.cc:391,1
    - Dst: DFA::build
      Src: /src/trafficserver/src/tsutil/Regex.cc:393,1
    - Dst: size
      Src: /src/trafficserver/src/tsutil/Regex.cc:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - patterns
    - npatterns
    - flags
    argTypes:
    - char**
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: DFA::compile
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - DFA::build
    - size
    - reserve
    linkageType: ''
    returnType: int32_t
    signature: int32_t DFA::compile(const char *const *patterns, int npatterns, unsigned
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/Regex.cc:402,1
    - Dst: end
      Src: /src/trafficserver/src/tsutil/Regex.cc:402,1
    - Dst: auto::_re::exec
      Src: /src/trafficserver/src/tsutil/Regex.cc:403,1
    - Dst: begin
      Src: /src/trafficserver/src/tsutil/Regex.cc:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: DFA::match
    functionSourceFile: /src/trafficserver/src/tsutil/Regex.cc
    functionUses: 0
    functionsReached:
    - begin
    - auto::_re::exec
    - end
    linkageType: ''
    returnType: int32_t
    signature: int32_t DFA::match(std::string_view str) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/tsutil/Assert.cc:35,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/tsutil/Assert.cc:37,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tsutil/Assert.cc:40,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tsutil/Assert.cc:40,1
    - Dst: syslog
      Src: /src/trafficserver/src/tsutil/Assert.cc:41,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tsutil/Assert.cc:41,1
    - Dst: abort
      Src: /src/trafficserver/src/tsutil/Assert.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - loc
    - expr
    - message
    argTypes:
    - SourceLocation
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: ts::do_abort
    functionSourceFile: /src/trafficserver/src/tsutil/Assert.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - swoc::LocalBufferWriter::print
    - swoc::LocalBufferWriter::data
    - syslog
    - abort
    linkageType: ''
    returnType: void
    signature: void ts::do_abort(const SourceLocation &loc, const char *expr, const
      char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/tsutil/ts_errata.cc:31,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/src/tsutil/ts_errata.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: ts::err_category::message
    functionSourceFile: /src/trafficserver/src/tsutil/ts_errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - swoc::SWOC_VERSION_NS::bwf::Errno
    linkageType: ''
    returnType: std::string
    signature: std::string err_category::message(int code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/tsutil/ts_errata.cc:31,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/src/tsutil/ts_errata.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: ts::err_category::message
    functionSourceFile: /src/trafficserver/src/tsutil/ts_errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - swoc::SWOC_VERSION_NS::bwf::Errno
    linkageType: ''
    returnType: std::string
    signature: std::string err_category::message(int code) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SourceLocation::valid
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:44,1
    - Dst: strrchr
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:48,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:52,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: SourceLocation::str
    functionSourceFile: /src/trafficserver/src/tsutil/SourceLocation.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - SourceLocation::valid
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      SourceLocation::str(char *buf, int buflen) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        SourceLocation::print(swoc::BufferWriter &w, swoc::bwf::valid'
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:63,1
    - Dst: strlen
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:64,1
    - Dst: take_suffix_at
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:64,1
    - Dst: swoc::BufferWriter::print
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:65,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/src/tsutil/SourceLocation.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - w
    argTypes:
    - swoc::BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: '&

      SourceLocation::print(swoc::BufferWriter &w, swoc::bwf::Spec const &) const'
    functionSourceFile: /src/trafficserver/src/tsutil/SourceLocation.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::If
    - take_suffix_at
    - strlen
    - swoc::BufferWriter::print
    - '&

      SourceLocation::print(swoc::BufferWriter &w, swoc::bwf::valid'
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      SourceLocation::print(swoc::BufferWriter &w, swoc::bwf::Spec const &) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:41,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:42,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: max
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:44,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:47,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:48,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: isspace
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: isdigit
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:51,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:53,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:53,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:58,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
    functionSourceFile: /src/trafficserver/src/tsutil/ts_unit_parser.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::TextView::data
    - Errata
    - TextView::data
    - isdigit
    - TextView::clip_prefix_of
    - isspace
    - TextView::remove_prefix
    - max
    - TextView::ltrim_if
    - TextView::size
    - TextView::empty
    - auto::empty
    linkageType: ''
    returnType: auto
    signature: auto UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:41,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:42,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:43,1
    - Dst: max
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:44,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:45,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:47,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:48,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: isspace
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: isdigit
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:50,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:51,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:53,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:53,1
    - Dst: Errata
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:58,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_unit_parser.cc:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
    functionSourceFile: /src/trafficserver/src/tsutil/ts_unit_parser.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::TextView::data
    - Errata
    - TextView::data
    - isdigit
    - TextView::clip_prefix_of
    - isspace
    - TextView::remove_prefix
    - max
    - TextView::ltrim_if
    - TextView::size
    - TextView::empty
    - auto::empty
    linkageType: ''
    returnType: auto
    signature: auto UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddrPair::self_type::has_ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:34,1
    - Dst: IPAddrPair::self_type::has_ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPAddrPair::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: '&

      IPAddrPair::operator+=(const IPAddrPair::self_type &that)'
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddrPair::self_type::has_ip6
    - IPAddrPair::self_type::has_ip4
    linkageType: ''
    returnType: IPAddrPair::self_type
    signature: 'IPAddrPair::self_type &

      IPAddrPair::operator+=(const IPAddrPair::self_type &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IP4Addr::load
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:48,1
    - Dst: swoc::IP6Addr::load
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:52,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: alloca
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:59,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:60,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:60,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:80,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:80,1
    - Dst: swoc::IPAddr::is_valid
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:83,1
    - Dst: swoc::IPAddr::is_loopback
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:85,1
    - Dst: swoc::IPAddr::is_link_local
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:87,1
    - Dst: swoc::IPAddr::is_private
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:89,1
    - Dst: swoc::IPAddr::is_multicast
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:91,1
    - Dst: swoc::IPAddr::is_ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:101,1
    - Dst: swoc::IPAddr::ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:103,1
    - Dst: swoc::IPAddr::is_ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:106,1
    - Dst: swoc::IPAddr::ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:108,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 118
    functionName: ts::getbestaddrinfo
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - alloca
    - swoc::IP6Addr::load
    - swoc::IPAddr::is_loopback
    - swoc::IPAddr::is_multicast
    - static_cast<char *>
    - swoc::TextView::assign
    - swoc::IPAddr::is_ip6
    - freeaddrinfo
    - swoc::TextView::size
    - swoc::IPAddr::is_private
    - swoc::IPAddr::is_ip4
    - swoc::IP4Addr::load
    - getaddrinfo
    - swoc::IPAddr::ip4
    - swoc::IPAddr::is_link_local
    - swoc::IPAddr::ip6
    - swoc::TextView::data
    - swoc::IPAddr::is_valid
    linkageType: ''
    returnType: IPAddrPair
    signature: IPAddrPair getbestaddrinfo(swoc::TextView name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:126,1
    - Dst: ts::getbestaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: ts::getbestsrvinfo
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - ts::getbestaddrinfo
    linkageType: ''
    returnType: IPSrvPair
    signature: IPSrvPair getbestsrvinfo(swoc::TextView src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddrPair::self_type::has_ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:34,1
    - Dst: IPAddrPair::self_type::has_ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPAddrPair::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: '&

      IPAddrPair::operator+=(const IPAddrPair::self_type &that)'
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddrPair::self_type::has_ip6
    - IPAddrPair::self_type::has_ip4
    linkageType: ''
    returnType: IPAddrPair::self_type
    signature: 'IPAddrPair::self_type &

      IPAddrPair::operator+=(const IPAddrPair::self_type &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IP4Addr::load
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:48,1
    - Dst: swoc::IP6Addr::load
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:52,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: alloca
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:57,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:58,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:59,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:60,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:60,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:80,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:80,1
    - Dst: swoc::IPAddr::is_valid
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:83,1
    - Dst: swoc::IPAddr::is_loopback
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:85,1
    - Dst: swoc::IPAddr::is_link_local
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:87,1
    - Dst: swoc::IPAddr::is_private
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:89,1
    - Dst: swoc::IPAddr::is_multicast
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:91,1
    - Dst: swoc::IPAddr::is_ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:101,1
    - Dst: swoc::IPAddr::ip4
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:103,1
    - Dst: swoc::IPAddr::is_ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:106,1
    - Dst: swoc::IPAddr::ip6
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:108,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 118
    functionName: ts::getbestaddrinfo
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - alloca
    - swoc::IP6Addr::load
    - swoc::IPAddr::is_loopback
    - swoc::IPAddr::is_multicast
    - static_cast<char *>
    - swoc::TextView::assign
    - swoc::IPAddr::is_ip6
    - freeaddrinfo
    - swoc::TextView::size
    - swoc::IPAddr::is_private
    - swoc::IPAddr::is_ip4
    - swoc::IP4Addr::load
    - getaddrinfo
    - swoc::IPAddr::ip4
    - swoc::IPAddr::is_link_local
    - swoc::IPAddr::ip6
    - swoc::TextView::data
    - swoc::IPAddr::is_valid
    linkageType: ''
    returnType: IPAddrPair
    signature: IPAddrPair getbestaddrinfo(swoc::TextView name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:126,1
    - Dst: ts::getbestaddrinfo
      Src: /src/trafficserver/src/tsutil/ts_ip.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: ts::getbestsrvinfo
    functionSourceFile: /src/trafficserver/src/tsutil/ts_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - ts::getbestaddrinfo
    linkageType: ''
    returnType: IPSrvPair
    signature: IPSrvPair getbestsrvinfo(swoc::TextView src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _No_tag_dummy
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - DbgCtl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: DbgCtl::DbgCtl
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - _No_tag_dummy
    linkageType: ''
    returnType: void
    signature: void DbgCtl::DbgCtl(DbgCtl &&src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:52,1
    - Dst: DbgCtl::DbgCtl
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - DbgCtl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: '&

      DbgCtl::operator=(DbgCtl &&src)'
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - DbgCtl::DbgCtl
    - std::move
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      DbgCtl::operator=(DbgCtl &&src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: operator()(char const *a, char const *b) const
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(char const *a, char const *b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: DbgCtl::_RegistryAccessor::Registry::Registry
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Registry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: ~Registry()
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void ~Registry()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Registry::Registry
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:101,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:102,1
    - Dst: Registry*::_mtx::lock
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:103,1
    - Dst: load
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:107,1
    - Dst: lock
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: DbgCtl::_RegistryAccessor::_RegistryAccessor
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - Registry*::_mtx::lock
    - load
    - Registry::Registry
    - compare_exchange_strong
    - lock
    linkageType: ''
    returnType: void
    signature: void _RegistryAccessor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:114,1
    - Dst: unlock
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: ~_RegistryAccessor()
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - unlock
    - load
    linkageType: ''
    returnType: void
    signature: void ~_RegistryAccessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: "&\n  data()"
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Registry
    signature: "Registry &\n  data()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:130,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: DbgCtl::_RegistryAccessor::delete_registry
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - debug_assert
    - load
    linkageType: ''
    returnType: void
    signature: void delete_registry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::get_instance
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:150,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:151,1
    - Dst: _RegistryAccessor::data
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:165,1
    - Dst: auto::map::find
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:167,1
    - Dst: auto::map::end
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:167,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:171,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:173,1
    - Dst: char::char
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:175,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:176,1
    - Dst: auto::map::insert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:179,1
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:181,1
    - Dst: DebugInterface*::debug_tag_activated
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 202
    functionName: DbgCtl::_new_reference
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::map::insert
    - auto::map::find
    - DebugInterface*::debug_tag_activated
    - debug_assert
    - _RegistryAccessor::data
    - std::strlen
    - char::char
    - DebugInterface::get_instance
    - auto::map::end
    linkageType: ''
    returnType: DbgCtl::_TagData
    signature: 'DbgCtl::_TagData *

      DbgCtl::_new_reference(char const *tag)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:209,1
    - Dst: _RegistryAccessor::delete_registry
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: DbgCtl::_rm_reference
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - debug_assert
    - _RegistryAccessor::delete_registry
    linkageType: ''
    returnType: void
    signature: void DbgCtl::_rm_reference()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _RegistryAccessor::data
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:227,1
    - Dst: f
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<bool(const char *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: DbgCtl::update
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - _RegistryAccessor::data
    - f
    linkageType: ''
    returnType: void
    signature: void DbgCtl::update(const std::function<bool(const char *)> &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::get_instance
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:237,1
    - Dst: va_start
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:241,1
    - Dst: DebugInterface*::print_va
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:242,1
    - Dst: va_end
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:243,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:246,1
    - Dst: va_start
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:248,1
    - Dst: vprintf
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:249,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:249,1
    - Dst: va_end
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - tag
    - file
    - function
    - line
    - fmt_str
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 252
    functionName: DbgCtl::print
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - va_end
    - DebugInterface*::print_va
    - va_start
    - vprintf
    - swoc::LocalBufferWriter::data
    - DebugInterface::get_instance
    - DebugInterface::generate_format_string
    linkageType: ''
    returnType: void
    signature: void DbgCtl::print(char const *tag, char const *file, char const *function,
      int line, char const *fmt_str, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::get_instance
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:259,1
    - Dst: DebugInterface*::get_override
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: DbgCtl::_override_global_on
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - DebugInterface::get_instance
    - DebugInterface*::get_override
    linkageType: ''
    returnType: bool
    signature: bool DbgCtl::_override_global_on()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SourceLocation*::valid
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - loc
    - show
    - level
    argTypes:
    - SourceLocation*
    - DiagsShowLocation
    - DiagsLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: location
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - SourceLocation*::valid
    linkageType: ''
    returnType: bool
    signature: bool location(const SourceLocation *loc, DiagsShowLocation show, DiagsLevel
      level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SourceLocation*::valid
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - loc
    - show
    - level
    argTypes:
    - SourceLocation*
    - DiagsShowLocation
    - DiagsLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: location
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - SourceLocation*::valid
    linkageType: ''
    returnType: bool
    signature: bool location(const SourceLocation *loc, DiagsShowLocation show, DiagsLevel
      level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: DebugInterface::get_instance
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: DebugInterface
    signature: 'DebugInterface *

      DebugInterface::get_instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DbgCtl::update
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:309,1
    - Dst: DebugInterface*::debug_tag_activated
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - DebugInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: DebugInterface::set_instance
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - DbgCtl::update
    - DebugInterface*::debug_tag_activated
    linkageType: ''
    returnType: void
    signature: void DebugInterface::set_instance(DebugInterface *i)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - dl
    argTypes:
    - DiagsLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 337
    functionName: DebugInterface::level_name
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      DebugInterface::level_name(DiagsLevel dl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:349,1
    - Dst: ctime_r
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:352,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:352,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:353,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:354,1
    - Dst: std::chrono::time_point_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:354,1
    - Dst: swoc::BufferWriter::write
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:355,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - ts
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - DiagTimestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - ctime_r
    - swoc::LocalBufferWriter::print
    - std::chrono::system_clock::to_time_t
    - swoc::LocalBufferWriter::commit
    - swoc::LocalBufferWriter::view
    - swoc::BufferWriter::write
    - std::chrono::time_point_cast<std::chrono::milliseconds>
    - swoc::LocalBufferWriter::aux_data
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, [[maybe_unused]] swoc::bwf::Spec const &spec,
      DiagTimestamp const &ts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:366,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:366,1
    - Dst: pthread_get_name_np
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:368,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:368,1
    - Dst: prctl
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:370,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:372,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: DiagThreadname
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - prctl
    - pthread_get_name_np
    - snprintf
    - pthread_getname_np
    linkageType: ''
    returnType: void
    signature: void DiagThreadname()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - n
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - DiagThreadname
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 1
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, DiagThreadname
      const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:349,1
    - Dst: ctime_r
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:352,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:352,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:353,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:354,1
    - Dst: std::chrono::time_point_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:354,1
    - Dst: swoc::BufferWriter::write
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:355,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - ts
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - DiagTimestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 1
    functionsReached:
    - ctime_r
    - swoc::LocalBufferWriter::print
    - std::chrono::system_clock::to_time_t
    - swoc::LocalBufferWriter::commit
    - swoc::LocalBufferWriter::view
    - swoc::BufferWriter::write
    - std::chrono::time_point_cast<std::chrono::milliseconds>
    - swoc::LocalBufferWriter::aux_data
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, [[maybe_unused]] swoc::bwf::Spec const &spec,
      DiagTimestamp const &ts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:366,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:366,1
    - Dst: pthread_get_name_np
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:368,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:368,1
    - Dst: prctl
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:370,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:372,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: DiagThreadname
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - prctl
    - pthread_get_name_np
    - snprintf
    - pthread_getname_np
    linkageType: ''
    returnType: void
    signature: void DiagThreadname()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - n
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - DiagThreadname
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 2
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, DiagThreadname
      const &n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter<1024>::restrict
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:391,1
    - Dst: swoc::LocalBufferWriter<1024>::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:393,1
    - Dst: swoc::LocalBufferWriter<1024>::size
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:394,1
    - Dst: swoc::LocalBufferWriter<1024>::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:396,1
    - Dst: DebugInterface::level_name
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:396,1
    - Dst: location
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:398,1
    - Dst: swoc::LocalBufferWriter<1024>::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:399,1
    - Dst: swoc::LocalBufferWriter<1024>::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:403,1
    - Dst: swoc::LocalBufferWriter<1024>::print
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:406,1
    - Dst: swoc::LocalBufferWriter<1024>::restore
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:408,1
    - Dst: swoc::LocalBufferWriter<1024>::view
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:409,1
    - Dst: swoc::LocalBufferWriter<1024>::write
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:410,1
    - Dst: swoc::LocalBufferWriter<1024>::write
      Src: /src/trafficserver/src/tsutil/DbgCtl.cc:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - format_writer
    - debug_tag
    - diags_level
    - loc
    - show_location
    - format_string
    argTypes:
    - swoc::LocalBufferWriter<1024>
    - char*
    - DiagsLevel
    - SourceLocation*
    - DiagsShowLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: DebugInterface::generate_format_string
    functionSourceFile: /src/trafficserver/src/tsutil/DbgCtl.cc
    functionUses: 1
    functionsReached:
    - swoc::LocalBufferWriter<1024>::restrict
    - swoc::LocalBufferWriter<1024>::size
    - swoc::LocalBufferWriter<1024>::print
    - swoc::LocalBufferWriter<1024>::write
    - swoc::LocalBufferWriter<1024>::view
    - swoc::LocalBufferWriter<1024>::restore
    - location
    - DebugInterface::level_name
    linkageType: ''
    returnType: size_t
    signature: "size_t DebugInterface::generate_format_string(swoc::LocalBufferWriter<1024>
      &format_writer, const char *debug_tag, DiagsLevel diags_level,\n                                       const
      SourceLocation *loc, DiagsShowLocation show_location, const char *format_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:40,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:41,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:42,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int
    - double
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: f1
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f1(int a, double b, int *c, int &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: f2
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f2(double a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:59,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: f3
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f3(int a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:40,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:41,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:42,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - int
    - double
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: f1
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f1(int a, double b, int *c, int &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: f2
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f2(double a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:59,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: f3
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_PostScript.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void f3(int a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto detect([[maybe_unused]] T &&t, ts::meta::CaseTag<0>) -> std::string_view
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, ts::meta::CaseTag<1>) -> decltype(t._value, std::string_view())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect
      Src: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 1
    functionsReached:
    - detect
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view detect(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto detect([[maybe_unused]] T &&t, ts::meta::CaseTag<0>) -> std::string_view
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 1
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, ts::meta::CaseTag<1>) -> decltype(t._value, std::string_view())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect
      Src: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: detect
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_ts_meta.cc
    functionUses: 2
    functionsReached:
    - detect
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view detect(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tsutil/unit_tests/test_StringConvert.cc:31,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tsutil/unit_tests/test_StringConvert.cc:31,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tsutil/unit_tests/test_StringConvert.cc:31,1
    - Dst: std::string
      Src: /src/trafficserver/src/tsutil/unit_tests/test_StringConvert.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: mkunsigned_string
    functionSourceFile: /src/trafficserver/src/tsutil/unit_tests/test_StringConvert.cc
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string mkunsigned_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:51,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - QUICClientConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: QUICClient::QUICClient
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void QUICClient::QUICClient(const QUICClientConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: QUICClient::~QUICClient()
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void QUICClient::~QUICClient()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:64,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:68,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:76,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:76,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:95,1
    - Dst: NetVCOptions::set_sni_servername
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:96,1
    - Dst: strnlen
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:96,1
    - Dst: NetVCOptions::set_sni_servername
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:98,1
    - Dst: strnlen
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:98,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:101,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:101,1
    - Dst: connect_re
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: QUICClient::start
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - memset
    - connect_re
    - strnlen
    - getaddrinfo
    - SCOPED_MUTEX_LOCK
    - Dbg
    - strlen
    - this_ethread
    - SET_HANDLER
    - strerror
    - NetVCOptions::set_sni_servername
    linkageType: ''
    returnType: int
    signature: int QUICClient::start(int, void *)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:118,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:120,1
    - Dst: Http09ClientApp::Http09ClientApp
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:123,1
    - Dst: Http09ClientApp*::start
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:124,1
    - Dst: IpAllow::ACL::ACL
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:127,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:128,1
    - Dst: Http3ClientApp::Http3ClientApp
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:128,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:129,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:129,1
    - Dst: Http3ClientApp*::start
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:130,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:132,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:138,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: QUICClient::state_http_server_open
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - Http09ClientApp::Http09ClientApp
    - ink_abort
    - static_cast<QUICNetVConnection *>
    - SCOPED_MUTEX_LOCK
    - Dbg
    - Http09ClientApp*::start
    - Http3ClientApp*::start
    - this_ethread
    - IpAllow::ACL::ACL
    - std::move
    - Http3ClientApp::Http3ClientApp
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int QUICClient::state_http_server_open(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: Http09ClientAppDebug
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http09ClientAppDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: Http09ClientAppVDebug
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http09ClientAppVDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http09ClientApp::_qc::stream_manager
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:160,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qvc
    - config
    argTypes:
    - QUICNetVConnection*
    - QUICClientConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Http09ClientApp::Http09ClientApp
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - Http09ClientApp::_qc::stream_manager
    linkageType: ''
    returnType: void
    signature: void Http09ClientApp::Http09ClientApp(QUICNetVConnection *qvc, const
      QUICClientConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http09ClientApp::_streams::emplace
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:168,1
    - Dst: QUICStream::id
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:168,1
    - Dst: QUICStream::direction
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:171,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:173,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:174,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:177,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:180,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:183,1
    - Dst: QUICStream::set_io_adapter
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: Http09ClientApp::on_new_stream
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - QUICStream::id
    - QUICStream::set_io_adapter
    - auto::setup_read_vio
    - Http09ClientApp::_streams::emplace
    - QUICStream::direction
    - auto::setup_write_vio
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http09ClientApp::on_new_stream(QUICStream &stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http09ClientApp::_do_http_request
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: Http09ClientApp::start
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - Http09ClientApp::_do_http_request
    linkageType: ''
    returnType: void
    signature: void Http09ClientApp::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http09ClientApp::_qc::stream_manager
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:209,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:212,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:213,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:218,1
    - Dst: Http09ClientAppDebug
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:220,1
    - Dst: Http09ClientApp::_streams::find
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:222,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:224,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:224,1
    - Dst: VIO*::done
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:225,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 227
    functionName: Http09ClientApp::_do_http_request
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - ink_abort
    - VIO*::done
    - Error
    - reinterpret_cast<uint8_t *>
    - snprintf
    - VIO*::reenable
    - Http09ClientAppDebug
    - VIO*::get_writer
    - Http09ClientApp::_streams::find
    - Http09ClientApp::_qc::stream_manager
    linkageType: ''
    returnType: void
    signature: void Http09ClientApp::_do_http_request()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Http09ClientAppVDebug
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:232,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:232,1
    - Dst: reinterpret_cast<VIO *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:234,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:235,1
    - Dst: Http09ClientAppDebug
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:238,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:249,1
    - Dst: std::ofstream
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:250,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:251,1
    - Dst: std::ofstream::rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:251,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:256,1
    - Dst: auto::read
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:257,1
    - Dst: write
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:258,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:258,1
    - Dst: flush
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:261,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:264,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:265,1
    - Dst: VIO*::ntodo
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:268,1
    - Dst: Http09ClientApp::_qc::close_quic_connection
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:270,1
    - Dst: QUICConnectionErrorUPtr
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:271,1
    - Dst: QUICConnectionError::QUICConnectionError
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:271,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 290
    functionName: Http09ClientApp::main_event_handler
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - rdbuf
    - QUICConnectionErrorUPtr
    - auto::read
    - reinterpret_cast<VIO *>
    - QUICConnectionError::QUICConnectionError
    - VIO*::get_reader
    - Http09ClientApp::_qc::close_quic_connection
    - get_vc_event_name
    - write
    - std::ofstream
    - VIO*::ntodo
    - Http09ClientAppVDebug
    - std::ofstream::close
    - ink_assert
    - static_cast<QUICStreamVCAdapter *>
    - std::ofstream::rdbuf
    - reinterpret_cast<char *>
    - Http09ClientAppDebug
    - flush
    linkageType: ''
    returnType: int
    signature: int Http09ClientApp::main_event_handler(int event, Event *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - qvc
    - session_acl
    - options
    - config
    argTypes:
    - QUICNetVConnection*
    - IpAllow::ACL
    - HttpSessionAccept::Options
    - QUICClientConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: Http3ClientApp::Http3ClientApp
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Http3ClientApp::Http3ClientApp(QUICNetVConnection *qvc, IpAllow::ACL
      &&session_acl, const HttpSessionAccept::Options &options,\n                               const
      QUICClientConfig *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:303,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: Http3ClientApp::~Http3ClientApp()
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void Http3ClientApp::~Http3ClientApp()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:315,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:316,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:317,1
    - Dst: Http3ClientApp::_qc::close_quic_connection
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:322,1
    - Dst: QUICConnectionErrorUPtr
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:323,1
    - Dst: QUICConnectionError::QUICConnectionError
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:323,1
    - Dst: Http3ClientApp::_qc::reset_quic_connection
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:326,1
    - Dst: RespHandler::RespHandler
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:319,1
    - Dst: ReqGenerator::ReqGenerator
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:329,1
    - Dst: CB_out_start
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:331,1
    - Dst: Http3ClientApp::_do_http_request
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: Http3ClientApp::start
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - Http3ClientApp::_qc::close_quic_connection
    - CB_out_start
    - ReqGenerator::ReqGenerator
    - QUICConnectionErrorUPtr
    - Http3ClientApp::_do_http_request
    - Http3ClientApp::_qc::reset_quic_connection
    - RespHandler::RespHandler
    - QUICConnectionError::QUICConnectionError
    linkageType: ''
    returnType: void
    signature: void Http3ClientApp::start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http3ClientApp::_qc::stream_manager
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:340,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:342,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:343,1
    - Dst: Http3ClientApp::_streams::find
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:346,1
    - Dst: Http3Transaction::Http3Transaction
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:349,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:350,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:350,1
    - Dst: Http3Transaction*::do_io_read
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:354,1
    - Dst: Http3ClientApp::_resp_handler::set_read_vio
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:355,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:367,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:372,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:372,1
    - Dst: Http09ClientAppDebug
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:374,1
    - Dst: Http3ClientApp::_req_buf::write
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:377,1
    - Dst: Http3ClientApp::_req_buf::alloc_reader
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:378,1
    - Dst: Http3Transaction*::do_io_write
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 380
    functionName: Http3ClientApp::_do_http_request
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - ink_abort
    - Http3ClientApp::_req_buf::write
    - Http3Transaction::Http3Transaction
    - Error
    - Http3ClientApp::_qc::stream_manager
    - SCOPED_MUTEX_LOCK
    - Http3Transaction*::do_io_write
    - snprintf
    - Http3Transaction*::do_io_read
    - Http3ClientApp::_resp_handler::set_read_vio
    - strlen
    - this_ethread
    - Http3ClientApp::_streams::find
    - Http09ClientAppDebug
    - std::string::c_str
    - Http3ClientApp::_req_buf::alloc_reader
    linkageType: ''
    returnType: void
    signature: void Http3ClientApp::_do_http_request()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:386,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - config
    - reader
    - on_complete
    argTypes:
    - QUICClientConfig*
    - IOBufferReader*
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: RespHandler::RespHandler
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void RespHandler::RespHandler(const QUICClientConfig *config, IOBufferReader
      *reader, std::function<void()> on_complete)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: RespHandler::set_read_vio
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RespHandler::set_read_vio(VIO *vio)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:409,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:409,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:417,1
    - Dst: std::ofstream
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:418,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:419,1
    - Dst: std::ofstream::rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:419,1
    - Dst: RespHandler::_reader::read
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:424,1
    - Dst: write
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:425,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:425,1
    - Dst: flush
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:428,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:431,1
    - Dst: rdbuf
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:432,1
    - Dst: RespHandler::_on_complete
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 448
    functionName: RespHandler::main_event_handler
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached:
    - write
    - rdbuf
    - std::ofstream
    - std::ofstream::close
    - std::ofstream::rdbuf
    - Dbg
    - reinterpret_cast<char *>
    - RespHandler::_on_complete
    - get_vc_event_name
    - flush
    - RespHandler::_reader::read
    linkageType: ''
    returnType: int
    signature: int RespHandler::main_event_handler(int event, Event *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:450,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_quic/quic_client.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: ReqGenerator::ReqGenerator
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void ReqGenerator::ReqGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: ReqGenerator::main_event_handler
    functionSourceFile: /src/trafficserver/src/traffic_quic/quic_client.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ReqGenerator::main_event_handler(int event, Event *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/traffic_quic/diags.h:37,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/traffic_quic/diags.h:38,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:39,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:60,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:61,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:67,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:68,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:68,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:70,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:71,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:71,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:78,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_quic/diags.h:80,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 82
    functionName: reconfigure_diags
    functionSourceFile: /src/trafficserver/src/traffic_quic/diags.h
    functionUses: 0
    functionsReached:
    - memcpy
    - DiagsConfigState::enabled
    - diags
    linkageType: ''
    returnType: void
    signature: void reconfigure_diags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/trafficserver/src/traffic_quic/diags.h:88,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/traffic_quic/diags.h:90,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/traffic_quic/diags.h:90,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:90,1
    - Dst: Status
      Src: /src/trafficserver/src/traffic_quic/diags.h:91,1
    - Dst: reconfigure_diags
      Src: /src/trafficserver/src/traffic_quic/diags.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bdt
    - bat
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: init_diags
    functionSourceFile: /src/trafficserver/src/traffic_quic/diags.h
    functionUses: 1
    functionsReached:
    - DiagsPtr::set
    - BaseLogFile::BaseLogFile
    - strcpy
    - reconfigure_diags
    - Diags::Diags
    - Status
    linkageType: ''
    returnType: void
    signature: void init_diags(const char *bdt, const char *bat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:63,1
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:66,1
    - Dst: HELP_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:82,1
    - Dst: VERSION_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:83,1
    - Dst: RUNROOT_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:84,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:88,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:88,1
    - Dst: init_diags
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:94,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:95,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:98,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:98,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:100,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:101,1
    - Dst: ink_net_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:102,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:102,1
    - Dst: SSLInitializeLibrary
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:104,1
    - Dst: SSLConfig::startup
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:105,1
    - Dst: init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:107,1
    - Dst: init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:108,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:110,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:111,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:112,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:113,1
    - Dst: url_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:116,1
    - Dst: mime_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:117,1
    - Dst: http_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:118,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:119,1
    - Dst: SocksServerConfig::startup
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:121,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:124,1
    - Dst: this_thread
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - RUNROOT_ARGUMENT_DESCRIPTION
    - schedule_in
    - VERSION_ARGUMENT_DESCRIPTION
    - http_init
    - process_args
    - AppVersionInfo::setup_version
    - RecConfigReadConfigDir
    - LibRecordsConfigInit
    - SocksServerConfig::startup
    - mime_init
    - countof
    - Thread*::set_specific
    - hpack_huffman_init
    - ink_event_system_init
    - ts::ModuleVersion::ModuleVersion
    - RecProcessInit
    - HELP_ARGUMENT_DESCRIPTION
    - init_diags
    - ink_net_init
    - Dbg
    - start
    - Layout::create
    - SSLConfig::startup
    - EThread::EThread
    - url_init
    - this_thread
    - SSLInitializeLibrary
    - init
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: initialize_thread_for_http_sessions
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_http_sessions(EThread *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: DNSConnection::close
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int DNSConnection::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: DNSConnection::trigger
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void DNSConnection::trigger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: SocksServerConfig::startup
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void SocksServerConfig::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ParentConfigParams::findParent
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::findParent(HttpRequestData *, ParentResult
      *, unsigned int, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: ParentConfigParams::nextParent
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::nextParent(HttpRequestData *, ParentResult
      *, unsigned int, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: APIHook::next
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      APIHook::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: APIHooks::clear
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void APIHooks::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: APIHooks::append
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void APIHooks::append(INKContInternal *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: APIHook::invoke
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int APIHook::invoke(int, void *) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: APIHook::blocking_invoke
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int APIHook::blocking_invoke(int, void *) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: APIHooks::head
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      APIHooks::head() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: HttpHookState::HttpHookState
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHookState::HttpHookState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - global
    - ssn
    - txn
    argTypes:
    - TSHttpHookID
    - HttpAPIHooks*
    - HttpAPIHooks*
    - HttpAPIHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: HttpHookState::init
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHookState::init(TSHttpHookID id, HttpAPIHooks const *global,
      HttpAPIHooks const *ssn, HttpAPIHooks const *txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: HttpHookState::getNext
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      HttpHookState::getNext()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: ConfigUpdateCbTable::invoke
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::invoke(const char * /* name ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: HttpRequestData::get_string
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_string()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: HttpRequestData::get_host
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_host()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: HttpRequestData::get_ip
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: HttpRequestData::get_client_ip
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_client_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: HttpDebugNames::get_api_hook_name
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_api_hook_name(TSHttpHookID t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: HttpDebugNames::get_event_name
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_event_name(int)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: HttpSM::HttpSM
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::HttpSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: HttpSM::cleanup
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: HttpSM::destroy
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: HttpSM::set_next_state
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_next_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: HttpSM::handle_api_return
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_api_return()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: HttpSM::attach_client_session
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::attach_client_session(ProxyTransaction *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_quic/traffic_quic.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - from_early_data
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: HttpSM::init
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void HttpSM::init(bool from_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: HttpVCTable::HttpVCTable
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::HttpVCTable(HttpSM *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: PostDataBuffers::~PostDataBuffers()
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers::~PostDataBuffers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: HttpTunnel::HttpTunnel
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::HttpTunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: HttpTunnelConsumer::HttpTunnelConsumer
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelConsumer::HttpTunnelConsumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: HttpTunnelProducer::HttpTunnelProducer
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::HttpTunnelProducer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ChunkedHandler::ChunkedHandler
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::ChunkedHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: HttpCacheSM::HttpCacheSM
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCacheSM::HttpCacheSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: HttpCacheAction::HttpCacheAction
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCacheAction::HttpCacheAction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: HttpCacheAction::cancel
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCacheAction::cancel(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: PreWarmManager::reconfigure
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: FetchSM::is_initialized
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::is_initialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: FetchSM::ext_launch
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_launch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: FetchSM::ext_destroy
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: FetchSM::ext_read_data
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FetchSM::ext_read_data(char *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: FetchSM::ext_add_header
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_add_header(char const *, int, char const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: FetchSM::ext_write_data
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_write_data(void const *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: FetchSM::ext_get_user_data
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      FetchSM::ext_get_user_data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: FetchSM::ext_set_user_data
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_set_user_data(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: FetchSM::ext_init
    functionSourceFile: /src/trafficserver/src/traffic_quic/traffic_quic.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_init(Continuation *, char const *, char const *,
      char const *, sockaddr const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: VIA
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VIA(const char *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~VIA()
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VIA()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:59,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:60,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:61,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:62,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:63,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:64,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:65,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:66,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:70,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:71,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:72,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:73,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:74,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:75,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:78,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:79,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:80,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:82,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:84,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:85,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:86,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:88,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:89,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:90,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:93,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:94,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:95,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:96,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:99,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:100,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:101,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:102,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:106,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 1
    argNames:
    - flag
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 111
    functionName: detailViaLookup
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - VIA::VIA
    - fprintf
    - ProxySession::get_version
    linkageType: ''
    returnType: VIA
    signature: 'VIA *

      detailViaLookup(char flag)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:122,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:123,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:124,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:125,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:126,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:127,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:128,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:131,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:132,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:133,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:134,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:135,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:136,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:137,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:138,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:141,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:142,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:143,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:144,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:145,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:148,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:149,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:150,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:151,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:152,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:155,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:156,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:157,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:158,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:159,1
    - Dst: VIA::VIA
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:162,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:163,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:164,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:165,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:166,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:167,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:168,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:169,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:170,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:171,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:172,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:173,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:174,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:178,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 1
    argNames:
    - flag
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 183
    functionName: standardViaLookup
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - VIA::VIA
    - fprintf
    - ProxySession::get_version
    linkageType: ''
    returnType: VIA
    signature: 'VIA *

      standardViaLookup(char flag)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:193,1
    - Dst: islower
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:202,1
    - Dst: detailViaLookup
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:205,1
    - Dst: standardViaLookup
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:205,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:210,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - header
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 217
    functionName: printViaHeader
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - printf
    - standardViaLookup
    - detailViaLookup
    - islower
    linkageType: ''
    returnType: void
    signature: void printViaHeader(std::string_view header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:224,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:224,1
    - Dst: std::string_view::back
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:224,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:225,1
    - Dst: std::string_view::remove_suffix
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:226,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:228,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:232,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:232,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:232,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:232,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:235,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:236,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:236,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:236,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:241,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:241,1
    - Dst: printViaHeader
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:243,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:247,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 252
    functionName: decodeViaHeader
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - std::string_view::front
    - printViaHeader
    - std::string_view::back
    - std::string_view::empty
    - std::string_view::remove_suffix
    - std::string_view::size
    - std::string_view::remove_prefix
    - printf
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool decodeViaHeader(std::string_view text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:270,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:273,1
    - Dst: std::getline
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:278,1
    - Dst: pcre_exec
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:280,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:280,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:280,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:290,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:295,1
    - Dst: decodeViaHeader
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 301
    functionName: filterViaHeader
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - decodeViaHeader
    - pcre_exec
    - std::getline
    - printf
    - pcre_compile
    linkageType: ''
    returnType: bool
    signature: bool filterViaHeader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:309,1
    - Dst: VERSION_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:313,1
    - Dst: HELP_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:314,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:317,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:317,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:320,1
    - Dst: filterViaHeader
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:322,1
    - Dst: decodeViaHeader
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:324,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_via/traffic_via.cc:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_via/traffic_via.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - HELP_ARGUMENT_DESCRIPTION
    - filterViaHeader
    - VERSION_ARGUMENT_DESCRIPTION
    - decodeViaHeader
    - strlen
    - process_args
    - countof
    - AppVersionInfo::setup_version
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:119,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:121,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:123,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:123,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:124,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:125,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:126,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:126,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - x
    - y
    - number
    - type
    argTypes:
    - int
    - int
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 128
    functionName: prettyPrint
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - mvprintw
    - COLOR_PAIR
    - attroff
    - attron
    - snprintf
    linkageType: ''
    returnType: void
    signature: void prettyPrint(const int x, const int y, const double number, const
      int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:141,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:142,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:142,1
    - Dst: prettyPrint
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - x
    - y
    - items
    - stats
    argTypes:
    - int
    - int
    - list<string>
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: makeTable
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - mvprintw
    - prettyPrint
    - Stats::getStat
    - string::c_str
    linkageType: ''
    returnType: void
    signature: void makeTable(const int x, const int y, const list<string> &items,
      Stats &stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:151,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - nmemb
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: write_data
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - append
    - static_cast<char *>
    linkageType: ''
    returnType: size_t
    signature: size_t write_data(void *ptr, size_t size, size_t nmemb, void * /* stream
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:159,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:159,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:160,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:161,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:162,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:162,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:163,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:166,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:167,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:168,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:169,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:170,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:171,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:172,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:173,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:174,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:175,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:176,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:177,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:178,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:179,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:180,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:181,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:182,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:183,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:184,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:185,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:188,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:189,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:190,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:191,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:192,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:193,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:194,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:195,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:196,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:197,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:198,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:199,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:200,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:201,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:202,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:203,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:204,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:205,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:206,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:209,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:210,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:211,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:212,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:213,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:214,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:215,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 1
    argNames:
    - stats
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 217
    functionName: response_code_page
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - mvprintw
    - COLOR_PAIR
    - attroff
    - attron
    - list::push_back
    - makeTable
    linkageType: ''
    returnType: void
    signature: void response_code_page(Stats &stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timeout
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:223,1
    - Dst: clear
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:226,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:227,1
    - Dst: localtime_r
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:230,1
    - Dst: strftime
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:231,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:234,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:235,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:236,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:237,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:244,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:245,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:246,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:247,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:248,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:249,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:250,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:251,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:252,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:254,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:254,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:255,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:256,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:256,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:256,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:257,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:257,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:258,1
    - Dst: refresh
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:259,1
    - Dst: getch
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - host
    - version
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 265
    functionName: help
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - mvprintw
    - clear
    - COLOR_PAIR
    - attroff
    - attron
    - timeout
    - localtime_r
    - string::c_str
    - getch
    - time
    - refresh
    - strftime
    linkageType: ''
    returnType: void
    signature: void help(const string &host, const string &version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:271,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:271,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:272,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:273,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:274,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:275,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:276,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:279,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:281,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:281,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:282,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:285,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:286,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:287,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:288,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:289,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:290,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:291,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:292,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:293,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:294,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:295,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:296,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:297,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:298,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:299,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:300,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:303,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:304,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:305,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:306,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:307,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:308,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:309,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:310,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:311,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:312,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:313,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:314,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:315,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:316,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:317,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:318,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:321,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:322,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:323,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:324,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:325,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:326,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:327,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:328,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:329,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:330,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:331,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:334,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:335,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:336,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:337,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:338,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:339,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:340,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:341,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:344,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:345,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:346,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:347,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:348,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:349,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:350,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:353,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:354,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:355,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:356,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:357,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:358,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:361,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:362,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:363,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:364,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:365,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:368,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:369,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:370,1
    - Dst: list::push_back
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:371,1
    - Dst: makeTable
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 86
    argCount: 1
    argNames:
    - stats
    argTypes:
    - Stats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 373
    functionName: main_stats_page
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - mvprintw
    - COLOR_PAIR
    - attroff
    - attron
    - list::push_back
    - makeTable
    linkageType: ''
    returnType: void
    signature: void main_stats_page(Stats &stats)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:386,1
    - Dst: HELP_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:390,1
    - Dst: VERSION_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:391,1
    - Dst: RUNROOT_ARGUMENT_DESCRIPTION
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:392,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:395,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:395,1
    - Dst: runroot_handler
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:397,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:398,1
    - Dst: usage
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:401,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:401,1
    - Dst: usage
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:403,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:403,1
    - Dst: Stats::Stats
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:407,1
    - Dst: Stats::getStats
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:408,1
    - Dst: Stats::getHost
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:412,1
    - Dst: initscr
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:414,1
    - Dst: curs_set
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:415,1
    - Dst: start_color
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:417,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:419,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:420,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:421,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:422,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:423,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:424,1
    - Dst: init_pair
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:425,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:437,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:437,1
    - Dst: attron
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:438,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:441,1
    - Dst: localtime_r
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:444,1
    - Dst: strftime
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:445,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:446,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:450,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:451,1
    - Dst: mvprintw
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:457,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:457,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:457,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:458,1
    - Dst: COLOR_PAIR
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:458,1
    - Dst: attroff
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:459,1
    - Dst: main_stats_page
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:462,1
    - Dst: response_code_page
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:464,1
    - Dst: curs_set
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:467,1
    - Dst: refresh
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:468,1
    - Dst: timeout
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:469,1
    - Dst: getch
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:471,1
    - Dst: help
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:474,1
    - Dst: Stats::toggleAbsolute
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:487,1
    - Dst: Stats::getStats
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:489,1
    - Dst: clear
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:490,1
    - Dst: endwin
      Src: /src/trafficserver/src/traffic_top/traffic_top.cc:494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 497
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_top/traffic_top.cc
    functionUses: 0
    functionsReached:
    - RUNROOT_ARGUMENT_DESCRIPTION
    - main_stats_page
    - Stats::toggleAbsolute
    - help
    - COLOR_PAIR
    - VERSION_ARGUMENT_DESCRIPTION
    - attron
    - timeout
    - process_args
    - getch
    - strftime
    - AppVersionInfo::setup_version
    - refresh
    - mvprintw
    - Stats::getStat
    - std::string::append
    - start_color
    - initscr
    - curs_set
    - string::c_str
    - countof
    - usage
    - Stats::getHost
    - Stats::Stats
    - std::string::c_str
    - init_pair
    - HELP_ARGUMENT_DESCRIPTION
    - attroff
    - clear
    - Layout::create
    - endwin
    - runroot_handler
    - localtime_r
    - response_code_page
    - time
    - Stats::getStats
    linkageType: ''
    returnType: int
    signature: int main([[maybe_unused]] int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - s
    - n
    - t
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: LookupItem
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupItem(const char *s, const char *n, const int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - s
    - n
    - d
    - t
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: LookupItem
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LookupItem(const char *s, const char *n, const char *d, const
      int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_top/stats.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: detail::MetricParam
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MetricParam(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_top/stats.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: detail::MetricParam
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MetricParam(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/trafficserver/src/traffic_top/stats.h:85,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:95,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:95,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:95,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:96,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:96,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:96,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:97,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:97,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:97,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:98,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:98,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:98,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:99,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:99,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:99,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:100,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:100,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:100,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:101,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:101,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:101,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:102,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:102,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:102,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:103,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:103,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:103,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:104,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:104,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:104,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:105,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:105,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:105,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:106,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:106,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:106,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:107,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:107,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:107,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:108,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:108,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:108,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:110,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:110,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:110,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:111,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:111,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:111,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:112,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:112,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:112,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:113,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:113,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:113,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:116,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:116,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:116,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:119,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:120,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:120,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:121,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:122,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:122,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:123,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:123,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:123,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:126,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:126,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:126,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:129,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:130,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:130,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:131,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:132,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:132,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:133,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:133,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:133,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:136,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:136,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:137,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:138,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:138,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:139,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:140,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:140,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:140,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:142,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:142,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:142,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:143,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:143,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:143,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:144,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:144,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:144,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:145,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:145,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:145,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:147,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:148,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:148,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:149,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:150,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:150,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:151,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:152,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:152,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:153,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:154,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:154,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:157,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:157,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:157,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:158,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:158,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:158,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:159,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:159,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:159,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:160,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:160,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:160,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:162,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:162,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:162,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:163,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:163,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:163,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:164,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:164,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:164,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:165,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:166,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:166,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:167,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:167,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:167,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:170,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:170,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:170,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:171,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:171,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:171,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:174,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:174,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:174,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:175,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:175,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:175,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:176,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:176,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:176,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:177,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:177,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:177,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:178,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:178,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:178,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:179,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:179,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:179,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:181,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:182,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:182,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:183,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:184,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:184,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:185,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:186,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:186,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:187,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:188,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:188,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:189,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:190,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:190,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:191,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:192,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:192,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:194,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:194,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:194,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:195,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:195,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:195,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:196,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:196,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:196,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:198,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:198,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:198,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:199,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:199,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:199,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:200,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:200,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:200,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:201,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:201,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:201,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:202,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:202,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:202,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:203,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:203,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:203,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:204,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:204,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:204,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:205,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:205,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:205,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:206,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:206,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:206,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:207,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:207,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:207,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:208,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:208,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:208,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:209,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:209,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:209,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:210,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:210,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:210,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:211,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:211,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:211,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:212,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:212,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:212,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:213,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:213,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:213,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:214,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:214,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:214,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:215,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:215,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:215,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:216,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:216,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:216,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:217,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:217,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:217,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:218,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:218,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:218,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:219,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:219,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:219,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:220,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:220,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:220,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:221,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:221,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:221,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:222,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:222,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:222,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:223,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:223,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:223,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:224,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:224,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:224,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:225,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:225,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:225,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:226,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:226,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:226,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:227,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:227,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:227,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:228,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:228,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:228,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:229,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:229,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:229,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:230,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:230,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:230,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:231,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:231,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:231,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:232,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:232,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:232,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:233,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:233,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:233,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:234,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:234,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:234,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:235,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:235,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:235,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:236,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:236,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:236,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:237,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:237,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:237,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:238,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:238,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:238,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:239,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:239,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:239,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:240,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:240,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:240,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:241,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:241,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:241,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:244,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:244,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:244,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:245,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:245,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:245,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:246,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:246,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:246,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:247,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:247,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:247,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:249,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:249,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:249,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:250,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:250,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:250,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:251,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:251,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:251,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:253,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:253,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:253,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:256,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:256,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:256,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_top/stats.h:257,1
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:257,1
    - Dst: LookupItem
      Src: /src/trafficserver/src/traffic_top/stats.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 258
    functionName: Stats::Stats
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 1
    functionsReached:
    - Stats::make_pair
    - LookupItem
    - gethostname
    - insert
    linkageType: ''
    returnType: void
    signature: void Stats()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_top/stats.h:263,1
    - Dst: std::make_unique<map<string, string>>
      Src: /src/trafficserver/src/traffic_top/stats.h:264,1
    - Dst: gettimeofday
      Src: /src/trafficserver/src/traffic_top/stats.h:266,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_top/stats.h:272,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_top/stats.h:272,1
    - Dst: shared::rpc::RecordLookupRequest::emplace_rec
      Src: /src/trafficserver/src/traffic_top/stats.h:278,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_top/stats.h:282,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_top/stats.h:282,1
    - Dst: Stats::fetch_and_fill_stats
      Src: /src/trafficserver/src/traffic_top/stats.h:288,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_top/stats.h:288,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_top/stats.h:288,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_top/stats.h:289,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/traffic_top/stats.h:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 297
    functionName: Stats::getStats
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 1
    functionsReached:
    - begin
    - get
    - fprintf
    - shared::rpc::RecordLookupRequest::emplace_rec
    - Stats::fetch_and_fill_stats
    - auto::c_str
    - what
    - end
    - std::make_unique<map<string, string>>
    - gettimeofday
    - std::move
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool getStats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map<string, string>*::find
      Src: /src/trafficserver/src/traffic_top/stats.h:302,1
    - Dst: map<string, string>*::end
      Src: /src/trafficserver/src/traffic_top/stats.h:303,1
    - Dst: atoll
      Src: /src/trafficserver/src/traffic_top/stats.h:306,1
    - Dst: map<string, string>::const_iterator::second::c_str
      Src: /src/trafficserver/src/traffic_top/stats.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - stats
    argTypes:
    - string
    - map<string, string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: Stats::getValue
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached:
    - map<string, string>::const_iterator::second::c_str
    - atoll
    - map<string, string>*::find
    - map<string, string>*::end
    linkageType: ''
    returnType: int64_t
    signature: int64_t getValue(const string &key, const map<string, string> *stats)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: Stats::getStat
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 3
    functionsReached:
    - Stats::getStat
    linkageType: ''
    returnType: void
    signature: void getStat(const string &key, double &value, int overrideType = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/traffic_top/stats.h:321,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_top/stats.h:322,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_top/stats.h:322,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_top/stats.h:325,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_top/stats.h:326,1
    - Dst: map<string, string>::const_iterator::second::c_str
      Src: /src/trafficserver/src/traffic_top/stats.h:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: Stats::getStat
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 3
    functionsReached:
    - find
    - map<string, string>::const_iterator::second::c_str
    - ink_assert
    - end
    linkageType: ''
    returnType: void
    signature: void getStat(const string &key, string &value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/traffic_top/stats.h:339,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_top/stats.h:340,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_top/stats.h:340,1
    - Dst: Stats::getValue
      Src: /src/trafficserver/src/traffic_top/stats.h:350,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_top/stats.h:350,1
    - Dst: Stats::getValue
      Src: /src/trafficserver/src/traffic_top/stats.h:356,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_top/stats.h:356,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:365,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:366,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:379,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:380,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:389,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:390,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:396,1
    - Dst: Stats::getStat
      Src: /src/trafficserver/src/traffic_top/stats.h:406,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 4
    argNames:
    - key
    - value
    - prettyName
    - type
    argTypes:
    - string
    - double
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 413
    functionName: Stats::getStat
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 4
    functionsReached:
    - get
    - Stats::getValue
    - find
    - Stats::getStat
    - end
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void getStat(const string &key, double &value, string &prettyName,
      int &type, int overrideType = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: Stats::toggleAbsolute
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool toggleAbsolute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/trafficserver/src/traffic_top/stats.h:431,1
    - Dst: string::find
      Src: /src/trafficserver/src/traffic_top/stats.h:436,1
    - Dst: string::find
      Src: /src/trafficserver/src/traffic_top/stats.h:437,1
    - Dst: string::find
      Src: /src/trafficserver/src/traffic_top/stats.h:438,1
    - Dst: string::substr
      Src: /src/trafficserver/src/traffic_top/stats.h:448,1
    - Dst: string::substr
      Src: /src/trafficserver/src/traffic_top/stats.h:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - response
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 457
    functionName: Stats::parseResponse
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached:
    - string::substr
    - string::find
    linkageType: ''
    returnType: void
    signature: void parseResponse(const string &response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: "&\n  getHost() const"
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: "string &\n  getHost() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: ~Stats()
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stats::make_pair
      Src: /src/trafficserver/src/traffic_top/stats.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - std::string
    - LookupItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: Stats::make_pair
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 2
    functionsReached:
    - Stats::make_pair
    linkageType: ''
    returnType: std::pair<std::string, LookupItem>
    signature: std::pair<std::string, LookupItem> make_pair(std::string s, LookupItem
      i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpc::RPCClient::invoke
      Src: /src/trafficserver/src/traffic_top/stats.h:487,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/src/traffic_top/stats.h:487,1
    - Dst: auto::is_error
      Src: /src/trafficserver/src/traffic_top/stats.h:489,1
    - Dst: auto::result::as
      Src: /src/trafficserver/src/traffic_top/stats.h:490,1
    - Dst: auto::errorList::size
      Src: /src/trafficserver/src/traffic_top/stats.h:493,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/traffic_top/stats.h:500,1
    - Dst: auto::error::as
      Src: /src/trafficserver/src/traffic_top/stats.h:510,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/traffic_top/stats.h:511,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_top/stats.h:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - request
    - stats
    argTypes:
    - shared::rpc::RecordLookupRequest
    - std::map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 517
    functionName: Stats::fetch_and_fill_stats
    functionSourceFile: /src/trafficserver/src/traffic_top/stats.h
    functionUses: 1
    functionsReached:
    - auto::errorList::size
    - what
    - auto::result::as
    - proxy_wasm::exports::set_tick_period_milliseconds
    - auto::is_error
    - auto::error::as
    - rpc::RPCClient::invoke
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string fetch_and_fill_stats(shared::rpc::RecordLookupRequest const
      &request, std::map<std::string, std::string> *stats) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:64,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:65,1
    - Dst: malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:65,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: ats_malloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 1
    functionsReached:
    - unlikely
    - malloc
    - ink_abort
    - likely
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_malloc(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:75,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:76,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nelem
    - elsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: ats_calloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - calloc
    - unlikely
    - ink_abort
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_calloc(size_t nelem, size_t elsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:85,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:86,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ats_realloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - ink_abort
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_realloc(void *ptr, size_t size)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:100,1
    - Dst: posix_memalign
      Src: /src/trafficserver/src/tscore/ink_memory.cc:108,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:110,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:112,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:114,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_memory.cc:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: ats_memalign
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - posix_memalign
    - ats_malloc
    - ink_abort
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_memalign(size_t alignment, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:126,1
    - Dst: free
      Src: /src/trafficserver/src/tscore/ink_memory.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: ats_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 1
    functionsReached:
    - free
    - likely
    linkageType: ''
    returnType: void
    signature: void ats_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:134,1
    - Dst: free
      Src: /src/trafficserver/src/tscore/ink_memory.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: ats_free_null
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - free
    - likely
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_free_null(void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_unique_buf
      Src: /src/trafficserver/src/tscore/ink_memory.cc:143,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/ink_memory.cc:143,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: ats_unique_malloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    - ats_malloc
    - ats_unique_buf
    linkageType: ''
    returnType: ats_unique_buf
    signature: ats_unique_buf ats_unique_malloc(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_memory.cc:149,1
    - Dst: msync
      Src: /src/trafficserver/src/tscore/ink_memory.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - addr
    - len
    - end
    - flags
    argTypes:
    - caddr_t
    - size_t
    - caddr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: ats_msync
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - msync
    - ats_pagesize
    linkageType: ''
    returnType: int
    signature: int ats_msync(caddr_t addr, size_t len, caddr_t end, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: posix_madvise
      Src: /src/trafficserver/src/tscore/ink_memory.cc:178,1
    - Dst: madvise
      Src: /src/trafficserver/src/tscore/ink_memory.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - len
    - flags
    argTypes:
    - caddr_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: ats_madvise
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - posix_madvise
    - madvise
    linkageType: ''
    returnType: int
    signature: int ats_madvise(caddr_t addr, size_t len, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_memory.cc:187,1
    - Dst: mlock
      Src: /src/trafficserver/src/tscore/ink_memory.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - caddr_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: ats_mlock
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - mlock
    - ats_pagesize
    linkageType: ''
    returnType: int
    signature: int ats_mlock(caddr_t addr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:198,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_memory.cc:200,1
    - Dst: malloc_usable_size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - stat
    argTypes:
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ats_track_malloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    - malloc_usable_size
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_track_malloc(size_t size, [[maybe_unused]] uint64_t *stat)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:209,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:210,1
    - Dst: malloc_usable_size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:211,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_memory.cc:214,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_memory.cc:216,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - alloc_stat
    - free_stat
    argTypes:
    - void*
    - size_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: ats_track_realloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - ats_realloc
    - malloc_usable_size
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_track_realloc(void *ptr, size_t size, [[maybe_unused]] uint64_t *alloc_stat,
      [[maybe_unused]] uint64_t *free_stat)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_memory.cc:232,1
    - Dst: malloc_usable_size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:232,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_memory.cc:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - stat
    argTypes:
    - void*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: ats_track_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - malloc_usable_size
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void ats_track_free(void *ptr, [[maybe_unused]] uint64_t *stat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:245,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_memory.cc:247,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_memory.cc:250,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:250,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_memory.cc:252,1
    - Dst: strncpy
      Src: /src/trafficserver/src/tscore/ink_memory.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 261
    functionName: _xstrdup
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - likely
    - static_cast<char *>
    - strncpy
    - strlen
    - ats_malloc
    - unlikely
    linkageType: ''
    returnType: char
    signature: 'char *

      _xstrdup(const char *str, int length, const char * /* path ATS_UNUSED */)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ats_scoped_str::operator=(std::clear'
      Src: /src/trafficserver/src/tscore/ink_memory.cc:266,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/tscore/ink_memory.cc:267,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_memory.cc:268,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_memory.cc:268,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:268,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_memory.cc:269,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_memory.cc:269,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:269,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_memory.cc:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: '&

      ats_scoped_str::operator=(std::string_view s)'
    functionSourceFile: /src/trafficserver/src/tscore/ink_memory.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - std::string_view::empty
    - static_cast<char *>
    - '&

      ats_scoped_str::operator=(std::clear'
    - std::string_view::size
    - ats_malloc
    - std::string_view::data
    linkageType: ''
    returnType: ats_scoped_str
    signature: 'ats_scoped_str &

      ats_scoped_str::operator=(std::string_view s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_init
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:35,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:36,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:37,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ink_rwlock_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_rwlock.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - pthread_rwlock_init
    - strerror
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void ink_rwlock_init(ink_rwlock *rw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:47,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:48,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:49,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_rwlock.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ink_rwlock_destroy
    functionSourceFile: /src/trafficserver/src/tscore/ink_rwlock.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - strerror
    - pthread_rwlock_destroy
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void ink_rwlock_destroy(ink_rwlock *rw)
  - 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: SPRINTF
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPRINTF(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:112,1
    - Dst: reinterpret_cast<HEADER *>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:113,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:114,1
    - Dst: dn_comp
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:133,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:137,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:138,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:139,1
    - Dst: dn_comp
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:149,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:149,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:154,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:155,1
    - Dst: NS_PUT32
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:156,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:157,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:158,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:169,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:170,1
    - Dst: NS_PUT32
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:171,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:172,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:174,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 9
    argNames:
    - statp
    - op
    - dname
    - _class
    - type
    - data
    - datalen
    - buf
    - buflen
    argTypes:
    - ink_res_state
    - int
    - char*
    - int
    - int
    - u_char*
    - int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 184
    functionName: ink_res_mkquery
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - dn_comp
    - htons
    - reinterpret_cast<HEADER *>
    - NS_PUT32
    - reinterpret_cast<const char *>
    - NS_PUT16
    linkageType: ''
    returnType: int
    signature: "int ink_res_mkquery(ink_res_state statp, int op,               /*!<
      opcode of query  */\n                const char *dname,                         /*!<
      domain name  */\n                int _class, int type,                      /*!<
      _class and type of query  */\n                const u_char *data,                        /*!<
      resource record data  */\n                int           datalen,                     /*!<
      length of data  */\n                const u_char * /* newrr_in  ATS_UNUSED */,
      /*!< new rr for modify or append  */\n                u_char *buf,                               /*!<
      buffer to put query  */\n                int     buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: printable
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int printable(int ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - lp
    argTypes:
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: labellen
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int labellen(const u_char *lp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SPRINTF
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:245,1
    - Dst: SPRINTF
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:251,1
    - Dst: SPRINTF
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:259,1
    - Dst: SPRINTF
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:266,1
    - Dst: SPRINTF
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - cpp
    - dn
    - eom
    argTypes:
    - unsigned char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 280
    functionName: decode_bitstring
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached:
    - SPRINTF
    linkageType: ''
    returnType: int
    signature: int decode_bitstring(const unsigned char **cpp, char *dn, const char
      *eom)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: special
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int special(int ch)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: labellen
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:345,1
    - Dst: decode_bitstring
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:361,1
    - Dst: special
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:370,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:376,1
    - Dst: printable
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:377,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:391,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 3
    argNames:
    - src
    - dst
    - dstsiz
    argTypes:
    - u_char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 408
    functionName: ink_ns_name_ntop
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached:
    - special
    - printable
    - labellen
    - static_cast<char>
    - decode_bitstring
    linkageType: ''
    returnType: int
    signature: int ink_ns_name_ntop(const u_char *src, char *dst, size_t dstsiz)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: labellen
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:451,1
    - Dst: decode_bitstring
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:467,1
    - Dst: special
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:476,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:482,1
    - Dst: printable
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:483,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:497,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 3
    argNames:
    - src
    - dst
    - dstsiz
    argTypes:
    - u_char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 514
    functionName: ns_name_ntop
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached:
    - special
    - printable
    - labellen
    - static_cast<char>
    - decode_bitstring
    linkageType: ''
    returnType: int
    signature: int ns_name_ntop(const u_char *src, char *dst, size_t dstsiz)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - family
    - order
    argTypes:
    - int
    - HostResPreferenceOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 548
    functionName: ats_host_res_from
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostResStyle
    signature: HostResStyle ats_host_res_from(int family, HostResPreferenceOrder const
      &order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HostResPreferenceOrder::size
      Src: /src/trafficserver/src/tscore/ink_res_mkquery.cc:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - family
    - order
    argTypes:
    - sa_family_t
    - HostResPreferenceOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: ats_force_order_by_family
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_mkquery.cc
    functionUses: 0
    functionsReached:
    - HostResPreferenceOrder::size
    linkageType: ''
    returnType: void
    signature: void ats_force_order_by_family(sa_family_t family, HostResPreferenceOrder
      order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    - Dst: const_cast<int volatile *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: dummy_forced_read
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - const_cast<int volatile *>
    - static_cast<void>
    - reinterpret_cast<int *>
    linkageType: ''
    returnType: void
    signature: void dummy_forced_read(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    - Dst: const_cast<int volatile *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: dummy_forced_read
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - const_cast<int volatile *>
    - static_cast<void>
    - reinterpret_cast<int *>
    linkageType: ''
    returnType: void
    signature: void dummy_forced_read(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ink_freelist_malloc_ops
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InkFreeListOps
    signature: 'InkFreeListOps *

      ink_freelist_malloc_ops()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: ink_freelist_freelist_ops
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InkFreeListOps
    signature: 'InkFreeListOps *

      ink_freelist_freelist_ops()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:131,1
    - Dst: ink_freelist_malloc_ops
      Src: /src/trafficserver/src/tscore/ink_queue.cc:133,1
    - Dst: ink_freelist_freelist_ops
      Src: /src/trafficserver/src/tscore/ink_queue.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - nofl_class
    - nofl_proxy
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: ink_freelist_init_ops
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ink_freelist_malloc_ops
    - ink_freelist_freelist_ops
    linkageType: ''
    returnType: void
    signature: void ink_freelist_init_ops(int nofl_class, int nofl_proxy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InkFreeList *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:145,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/ink_queue.cc:145,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_queue.cc:146,1
    - Dst: static_cast<ink_freelist_list *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:148,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_queue.cc:148,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:155,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/tscore/ink_queue.cc:159,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/ink_queue.cc:163,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_queue.cc:166,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_queue.cc:167,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_queue.cc:172,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_queue.cc:173,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:174,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:176,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/ink_queue.cc:176,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:178,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_queue.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_queue.cc:180,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:181,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - fl
    - name
    - type_size
    - chunk_size
    - alignment
    - use_hugepages
    argTypes:
    - InkFreeList**
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: ink_freelist_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - FROM_PTR
    - ats_memalign
    - ats_hugepage_enabled
    - ink_zero
    - ink_assert
    - ats_pagesize
    - SET_FREELIST_POINTER_VERSION
    - Dbg
    - static_cast<InkFreeList *>
    - ats_malloc
    - ats_hugepage_size
    - static_cast<ink_freelist_list *>
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: "void ink_freelist_init(InkFreeList **fl, const char *name, uint32_t
      type_size, uint32_t chunk_size, uint32_t alignment,\n                  bool
      use_hugepages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_init
      Src: /src/trafficserver/src/tscore/ink_queue.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - fl
    - name
    - type_size
    - chunk_size
    - alignment
    - use_hugepages
    - advice
    argTypes:
    - InkFreeList**
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: ink_freelist_madvise_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ink_freelist_init
    linkageType: ''
    returnType: void
    signature: "void ink_freelist_madvise_init(InkFreeList **fl, const char *name,
      uint32_t type_size, uint32_t chunk_size, uint32_t alignment,\n                          bool
      use_hugepages, int advice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_init
      Src: /src/trafficserver/src/tscore/ink_queue.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - name
    - type_size
    - chunk_size
    - alignment
    - use_hugepages
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: ink_freelist_create
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ink_freelist_init
    linkageType: ''
    returnType: InkFreeList
    signature: 'InkFreeList *

      ink_freelist_create(const char *name, uint32_t type_size, uint32_t chunk_size,
      uint32_t alignment, bool use_hugepages)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: ADDRESS_OF_NEXT
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRESS_OF_NEXT(x, offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_queue.cc:210,1
    - Dst: fl_new
      Src: /src/trafficserver/src/tscore/ink_queue.cc:210,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_queue.cc:211,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: ink_freelist_new
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 2
    functionsReached:
    - fl_new
    - ink_atomic_increment
    - reinterpret_cast<int *>
    - likely
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_freelist_new(InkFreeList *f)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:228,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:229,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:229,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:232,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/ink_queue.cc:236,1
    - Dst: ats_alloc_hugepage
      Src: /src/trafficserver/src/tscore/ink_queue.cc:237,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_queue.cc:244,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/ink_queue.cc:245,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:245,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:251,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_queue.cc:253,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:253,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:260,1
    - Dst: freelist_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:264,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:269,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:274,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:276,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:276,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:277,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:279,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:279,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:288,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 289
    functionName: freelist_new
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 2
    functionsReached:
    - ADDRESS_OF_NEXT
    - ats_memalign
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    - static_cast<caddr_t>
    - INK_QUEUE_LD
    - ink_atomic_cas
    - ats_pagesize
    - ink_atomic_increment
    - ats_madvise
    - static_cast<int>
    - freelist_free
    - TO_PTR
    - static_cast<size_t>
    - ink_assert
    - ats_alloc_hugepage
    - reinterpret_cast<int *>
    - dummy_forced_read
    - ats_hugepage_size
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      freelist_new(InkFreeList *f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/trafficserver/src/tscore/ink_queue.cc:297,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_queue.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: malloc_new
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - allocate
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      malloc_new(InkFreeList *f)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:228,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:229,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:229,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:232,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/ink_queue.cc:236,1
    - Dst: ats_alloc_hugepage
      Src: /src/trafficserver/src/tscore/ink_queue.cc:237,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/ink_queue.cc:244,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/ink_queue.cc:245,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:245,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_queue.cc:249,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:251,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_queue.cc:253,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:253,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:259,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:260,1
    - Dst: freelist_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:264,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:268,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:269,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:273,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:274,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:276,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:276,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:277,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:279,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:279,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:280,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:286,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:288,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 289
    functionName: freelist_new
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 2
    functionsReached:
    - ADDRESS_OF_NEXT
    - ats_memalign
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    - static_cast<caddr_t>
    - INK_QUEUE_LD
    - ink_atomic_cas
    - ats_pagesize
    - ink_atomic_increment
    - ats_madvise
    - static_cast<int>
    - freelist_free
    - TO_PTR
    - static_cast<size_t>
    - ink_assert
    - ats_alloc_hugepage
    - reinterpret_cast<int *>
    - dummy_forced_read
    - ats_hugepage_size
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      freelist_new(InkFreeList *f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/trafficserver/src/tscore/ink_queue.cc:297,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_queue.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: malloc_new
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - allocate
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      malloc_new(InkFreeList *f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/ink_queue.cc:310,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:311,1
    - Dst: fl_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:312,1
    - Dst: ink_atomic_decrement
      Src: /src/trafficserver/src/tscore/ink_queue.cc:313,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - item
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: ink_freelist_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<int *>
    - ink_atomic_decrement
    - likely
    - fl_free
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_freelist_free(InkFreeList *f, void *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:323,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:335,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:336,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:342,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:344,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:344,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:345,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:347,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:347,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:348,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:350,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:350,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:354,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - f
    - item
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: freelist_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - TO_PTR
    - dummy_forced_read
    - static_cast<char *>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: void freelist_free(InkFreeList *f, void *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/trafficserver/src/tscore/ink_queue.cc:365,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - item
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: malloc_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - deallocate
    linkageType: ''
    returnType: void
    signature: void malloc_free(InkFreeList *f, void *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:323,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:332,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:335,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:336,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:342,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:344,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:344,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:345,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:347,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:347,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:348,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:350,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:350,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:351,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:354,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:355,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - f
    - item
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: freelist_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - TO_PTR
    - dummy_forced_read
    - static_cast<char *>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: void freelist_free(InkFreeList *f, void *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/trafficserver/src/tscore/ink_queue.cc:365,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - item
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: malloc_free
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - deallocate
    linkageType: ''
    returnType: void
    signature: void malloc_free(InkFreeList *f, void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:376,1
    - Dst: fl_bulkfree
      Src: /src/trafficserver/src/tscore/ink_queue.cc:378,1
    - Dst: ink_atomic_decrement
      Src: /src/trafficserver/src/tscore/ink_queue.cc:379,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - f
    - head
    - tail
    - num_item
    argTypes:
    - InkFreeList*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: ink_freelist_free_bulk
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<int *>
    - ink_atomic_decrement
    - ink_assert
    - fl_bulkfree
    linkageType: ''
    returnType: void
    signature: void ink_freelist_free_bulk(InkFreeList *f, void *head, void *tail,
      size_t num_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:388,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:402,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:403,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:406,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:406,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:412,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:414,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:414,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:415,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:417,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:417,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:418,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:420,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:420,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:424,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - f
    - head
    - tail
    - num_item
    argTypes:
    - InkFreeList*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 429
    functionName: freelist_bulkfree
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - TO_PTR
    - dummy_forced_read
    - static_cast<char *>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: void freelist_bulkfree(InkFreeList *f, void *head, void *tail, [[maybe_unused]]
      size_t num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:442,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - f
    - head
    - tail
    - num_item
    argTypes:
    - InkFreeList*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 445
    functionName: malloc_bulkfree
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<void **>
    linkageType: ''
    returnType: void
    signature: void malloc_bulkfree(InkFreeList *f, void *head, void *tail, size_t
      num_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:388,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:397,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:402,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:403,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:405,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:406,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:406,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:412,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:414,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:414,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:415,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:417,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:417,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_queue.cc:418,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:420,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:420,1
    - Dst: dummy_forced_read
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:421,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:424,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:425,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - f
    - head
    - tail
    - num_item
    argTypes:
    - InkFreeList*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 429
    functionName: freelist_bulkfree
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - ink_abort
    - FREELIST_POINTER
    - static_cast<char>
    - TO_PTR
    - dummy_forced_read
    - static_cast<char *>
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: void freelist_bulkfree(InkFreeList *f, void *head, void *tail, [[maybe_unused]]
      size_t num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:442,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_queue.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - f
    - head
    - tail
    - num_item
    argTypes:
    - InkFreeList*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 445
    functionName: malloc_bulkfree
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<void **>
    linkageType: ''
    returnType: void
    signature: void malloc_bulkfree(InkFreeList *f, void *head, void *tail, size_t
      num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: ink_freelists_snap_baseline
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ink_freelists_snap_baseline()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:469,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:470,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:471,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:477,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:478,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:478,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:479,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:479,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 485
    functionName: ink_freelists_dump_baselinerel
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ink_freelists_dump_baselinerel(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:495,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:497,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:504,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:505,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:505,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:506,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:507,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:507,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:507,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:509,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:509,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:510,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_queue.cc:510,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:513,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_queue.cc:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 515
    functionName: ink_freelists_dump
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ink_freelists_dump(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:522,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - l
    - name
    - offset_to_next
    argTypes:
    - InkAtomicList*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: ink_atomiclist_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - FROM_PTR
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: void ink_atomiclist_init(InkAtomicList *l, const char *name, uint32_t
      offset_to_next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:532,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:533,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:533,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:536,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:536,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:536,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:536,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:536,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:537,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:540,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:540,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - l
    argTypes:
    - InkAtomicList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 544
    functionName: ink_atomiclist_pop
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FREELIST_POINTER
    - TO_PTR
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_atomiclist_pop(InkAtomicList *l)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:553,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:554,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:554,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:557,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:557,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:557,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:558,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:561,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:561,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:565,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:565,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - l
    argTypes:
    - InkAtomicList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 571
    functionName: ink_atomiclist_popall
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - FREELIST_POINTER
    - TO_PTR
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_atomiclist_popall(InkAtomicList *l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:576,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:582,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:583,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:585,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:585,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:586,1
    - Dst: FROM_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:586,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:586,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:588,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - l
    - item
    argTypes:
    - InkAtomicList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: ink_atomiclist_push
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FROM_PTR
    - FREELIST_POINTER
    - TO_PTR
    - FREELIST_VERSION
    - ink_assert
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_atomiclist_push(InkAtomicList *l, void *item)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:599,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:606,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:607,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:607,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:609,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/tscore/ink_queue.cc:609,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/ink_queue.cc:610,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/tscore/ink_queue.cc:616,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:622,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/tscore/ink_queue.cc:622,1
    - Dst: ADDRESS_OF_NEXT
      Src: /src/trafficserver/src/tscore/ink_queue.cc:624,1
    - Dst: TO_PTR
      Src: /src/trafficserver/src/tscore/ink_queue.cc:626,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_queue.cc:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - l
    - item
    argTypes:
    - InkAtomicList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 635
    functionName: ink_atomiclist_remove
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue.cc
    functionUses: 0
    functionsReached:
    - ADDRESS_OF_NEXT
    - INK_QUEUE_LD
    - ink_atomic_cas
    - FREELIST_POINTER
    - TO_PTR
    - FREELIST_VERSION
    - ink_assert
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_atomiclist_remove(InkAtomicList *l, void *item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _n
    - ','
    - _f
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: CHECK_PLAUSIBLE_SOCKADDR
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PLAUSIBLE_SOCKADDR(_n, _f, _l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/trafficserver/src/tscore/ink_sock.cc:51,1
    - Dst: ntohl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sa
    - file
    - line
    argTypes:
    - sockaddr*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: check_valid_sockaddr
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - ntohs
    linkageType: ''
    returnType: void
    signature: void check_valid_sockaddr(sockaddr *sa, char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/trafficserver/src/tscore/ink_sock.cc:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - s
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - int
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: safe_setsockopt
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int safe_setsockopt(int s, int level, int optname, const void *optval,
      int optlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/trafficserver/src/tscore/ink_sock.cc:79,1
    - Dst: reinterpret_cast<socklen_t *>
      Src: /src/trafficserver/src/tscore/ink_sock.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - s
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - int
    - int
    - int
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: safe_getsockopt
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - getsockopt
    - reinterpret_cast<socklen_t *>
    linkageType: ''
    returnType: int
    signature: int safe_getsockopt(int s, int level, int optname, void *optval, int
      *optlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - cmd
    - arg
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: safe_fcntl
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 2
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int safe_fcntl(int fd, int cmd, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:97,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: safe_set_fl
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - safe_fcntl
    linkageType: ''
    returnType: int
    signature: int safe_set_fl(int fd, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:109,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: safe_clr_fl
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - safe_fcntl
    linkageType: ''
    returnType: int
    signature: int safe_clr_fl(int fd, int arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_sock.cc:123,1
    - Dst: write_ready
      Src: /src/trafficserver/src/tscore/ink_sock.cc:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: safe_write
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 2
    functionsReached:
    - write
    - write_ready
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t safe_write(int fd, const char *buffer, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_set_fl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: safe_nonblocking
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - safe_set_fl
    linkageType: ''
    returnType: int
    signature: int safe_nonblocking(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_clr_fl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: safe_blocking
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - safe_clr_fl
    linkageType: ''
    returnType: int
    signature: int safe_blocking(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/trafficserver/src/tscore/ink_sock.cc:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - timeout_msec
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: read_ready
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 2
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: int read_ready(int fd, int timeout_msec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/trafficserver/src/tscore/ink_sock.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - timeout_msec
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: write_ready
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 1
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: int write_ready(int fd, int timeout_msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - request
    - arg
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: safe_ioctl
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int safe_ioctl(int fd, int request, char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PLAUSIBLE_SOCKADDR
      Src: /src/trafficserver/src/tscore/ink_sock.cc:205,1
    - Dst: bind
      Src: /src/trafficserver/src/tscore/ink_sock.cc:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - name
    - namelen
    argTypes:
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: safe_bind
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - bind
    - CHECK_PLAUSIBLE_SOCKADDR
    linkageType: ''
    returnType: int
    signature: int safe_bind(int s, struct sockaddr const *name, int namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listen
      Src: /src/trafficserver/src/tscore/ink_sock.cc:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - backlog
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: safe_listen
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - listen
    linkageType: ''
    returnType: int
    signature: int safe_listen(int s, int backlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/trafficserver/src/tscore/ink_sock.cc:227,1
    - Dst: reinterpret_cast<socklen_t *>
      Src: /src/trafficserver/src/tscore/ink_sock.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - s
    - name
    - namelen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: safe_getsockname
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - getsockname
    - reinterpret_cast<socklen_t *>
    linkageType: ''
    returnType: int
    signature: int safe_getsockname(int s, struct sockaddr *name, int *namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/trafficserver/src/tscore/ink_sock.cc:237,1
    - Dst: reinterpret_cast<socklen_t *>
      Src: /src/trafficserver/src/tscore/ink_sock.cc:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - s
    - name
    - namelen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: safe_getpeername
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<socklen_t *>
    - getpeername
    linkageType: ''
    returnType: int
    signature: int safe_getpeername(int s, struct sockaddr *name, int *namelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/tscore/ink_sock.cc:248,1
    - Dst: perror
      Src: /src/trafficserver/src/tscore/ink_sock.cc:253,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_sock.cc:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: fd_read_char
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - perror
    - read
    - ink_assert
    linkageType: ''
    returnType: char
    signature: char fd_read_char(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/tscore/ink_sock.cc:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - fd
    - s
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 285
    functionName: fd_read_line
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int fd_read_line(int fd, char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/tscore/ink_sock.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: close_socket
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_socket(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_sock.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buffer
    - length
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: write_socket
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int write_socket(int s, const char *buffer, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/tscore/ink_sock.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buffer
    - length
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: read_socket
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int read_socket(int s, char *buffer, int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/trafficserver/src/tscore/ink_sock.cc:312,1
    - Dst: socket
      Src: /src/trafficserver/src/tscore/ink_sock.cc:314,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_sock.cc:319,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_sock.cc:324,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_sock.cc:326,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_sock.cc:331,1
    - Dst: setsockopt_on
      Src: /src/trafficserver/src/tscore/ink_sock.cc:334,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/tscore/ink_sock.cc:338,1
    - Dst: bind
      Src: /src/trafficserver/src/tscore/ink_sock.cc:342,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/src/tscore/ink_sock.cc:342,1
    - Dst: chmod
      Src: /src/trafficserver/src/tscore/ink_sock.cc:346,1
    - Dst: listen
      Src: /src/trafficserver/src/tscore/ink_sock.cc:350,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/ink_sock.cc:358,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 361
    functionName: bind_unix_domain_socket
    functionSourceFile: /src/trafficserver/src/tscore/ink_sock.cc
    functionUses: 0
    functionsReached:
    - unlink
    - setsockopt_on
    - chmod
    - reinterpret_cast<struct sockaddr *>
    - ink_strlcpy
    - ink_zero
    - close
    - safe_fcntl
    - strlen
    - listen
    - bind
    - socket
    linkageType: ''
    returnType: int
    signature: int bind_unix_domain_socket(const char *path, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/llqueue.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: newrec
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    linkageType: ''
    returnType: LLQrec
    signature: 'LLQrec *

      newrec(LLQ *Q)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Q
    - rec
    argTypes:
    - LLQ*
    - LLQrec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: freerec
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void freerec(LLQ *Q, LLQrec *rec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LLQ *>
      Src: /src/trafficserver/src/tscore/llqueue.cc:76,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/llqueue.cc:76,1
    - Dst: ink_sem_init
      Src: /src/trafficserver/src/tscore/llqueue.cc:78,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/tscore/llqueue.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: create_queue
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - ink_sem_init
    - ink_mutex_init
    - ats_malloc
    - static_cast<LLQ *>
    linkageType: ''
    returnType: LLQ
    signature: 'LLQ *

      create_queue()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_sem_destroy
      Src: /src/trafficserver/src/tscore/llqueue.cc:95,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/tscore/llqueue.cc:96,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/llqueue.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: delete_queue
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - ats_free
    - ink_sem_destroy
    linkageType: ''
    returnType: void
    signature: void delete_queue(LLQ *Q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/llqueue.cc:106,1
    - Dst: static_cast<LLQrec *>
      Src: /src/trafficserver/src/tscore/llqueue.cc:107,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/llqueue.cc:107,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/llqueue.cc:124,1
    - Dst: ink_sem_post
      Src: /src/trafficserver/src/tscore/llqueue.cc:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - Q
    - data
    argTypes:
    - LLQ*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: enqueue
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - ink_sem_post
    - static_cast<LLQrec *>
    - ats_malloc
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: int
    signature: int enqueue(LLQ *Q, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: queue_len
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t queue_len(LLQ *Q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: queue_highwater
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t queue_highwater(LLQ *Q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_len
      Src: /src/trafficserver/src/tscore/llqueue.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: queue_is_empty
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - queue_len
    linkageType: ''
    returnType: bool
    signature: bool queue_is_empty(LLQ *Q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_sem_wait
      Src: /src/trafficserver/src/tscore/llqueue.cc:187,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/llqueue.cc:188,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/llqueue.cc:191,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/llqueue.cc:205,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/llqueue.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - Q
    argTypes:
    - LLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 211
    functionName: dequeue
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - ats_free
    - ink_sem_wait
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: 'void *

      dequeue(LLQ *Q)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/trafficserver/src/tscore/llqueue.cc:221,1
    - Dst: assert
      Src: /src/trafficserver/src/tscore/llqueue.cc:222,1
    - Dst: scanf
      Src: /src/trafficserver/src/tscore/llqueue.cc:225,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/llqueue.cc:227,1
    - Dst: dequeue
      Src: /src/trafficserver/src/tscore/llqueue.cc:227,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/llqueue.cc:229,1
    - Dst: queue_is_empty
      Src: /src/trafficserver/src/tscore/llqueue.cc:229,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/llqueue.cc:231,1
    - Dst: enqueue
      Src: /src/trafficserver/src/tscore/llqueue.cc:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts:
    - condition: (Q)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/trafficserver/src/tscore/llqueue.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: testfun
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - queue_is_empty
    - create_queue
    - scanf
    - enqueue
    - dequeue
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: 'void *

      testfun(void *unused)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/src/tscore/llqueue.cc:245,1
    - Dst: thr_create
      Src: /src/trafficserver/src/tscore/llqueue.cc:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thr_create(nullptr, 0, testfun, (void *)NULL, THR_NEW_LWP, NULL)
        == 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/trafficserver/src/tscore/llqueue.cc
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/llqueue.cc
    functionUses: 0
    functionsReached:
    - thr_create
    - assert
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/tscore/ink_queue_utils.cc:78,1
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/tscore/ink_queue_utils.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: ink_queue_load_64
    functionSourceFile: /src/trafficserver/src/tscore/ink_queue_utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<void **>
    linkageType: ''
    returnType: void
    signature: void ink_queue_load_64(void *dst, void *src)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/InkErrno.cc:32,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/InkErrno.cc:89,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/InkErrno.cc:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 1
    argNames:
    - ink_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 93
    functionName: InkStrerror
    functionSourceFile: /src/trafficserver/src/tscore/InkErrno.cc
    functionUses: 0
    functionsReached:
    - strerror
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      InkStrerror(int ink_errno)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:72,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:76,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:136,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 6
    argNames:
    - buf
    - buf_size
    - val
    - total_chars
    - req_width
    - pad_char
    argTypes:
    - char*
    - unsigned int
    - int64_t
    - unsigned int*
    - unsigned int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 149
    functionName: int64_to_str
    functionSourceFile: /src/trafficserver/src/tscore/ink_hrtime.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: 'char *

      int64_to_str(char *buf, unsigned int buf_size, int64_t val, unsigned int *total_chars,
      unsigned int req_width, char pad_char)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int64_to_str
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:159,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:160,1
    - Dst: int64_to_str
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:167,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:168,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:173,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_hrtime.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - buf_size
    - timestamp_sec
    - timestamp_usec
    argTypes:
    - char*
    - unsigned int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: squid_timestamp_to_buf
    functionSourceFile: /src/trafficserver/src/tscore/ink_hrtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - int64_to_str
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int squid_timestamp_to_buf(char *buf, unsigned int buf_size, long timestamp_sec,
      long timestamp_usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/ink_syslog.cc:76,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/ink_syslog.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: facility_string_to_int
    functionSourceFile: /src/trafficserver/src/tscore/ink_syslog.cc
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int facility_string_to_int(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:31,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:33,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: BaseLogFile::BaseLogFile
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 2
    functionsReached:
    - get
    - log_log_trace
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::BaseLogFile(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:40,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:42,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - sig
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: BaseLogFile::BaseLogFile
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 2
    functionsReached:
    - get
    - log_log_trace
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::BaseLogFile(const char *name, uint64_t sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:52,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:53,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:60,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - copy
    argTypes:
    - BaseLogFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: BaseLogFile::BaseLogFile
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 2
    functionsReached:
    - get
    - log_log_trace
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::BaseLogFile(const BaseLogFile &copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:68,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:68,1
    - Dst: BaseLogFile::close_file
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:71,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:73,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:73,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: BaseLogFile::~BaseLogFile()
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - get
    - BaseLogFile::close_file
    - log_log_trace
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::~BaseLogFile()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:106,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:106,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:107,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:107,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:107,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:113,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:113,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:113,1
    - Dst: std::make_unique<BaseMetaInfo>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:119,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:119,1
    - Dst: data_from_metafile
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:140,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:146,1
    - Dst: get_creation_time
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:147,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:159,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:166,1
    - Dst: BaseLogFile::timestamp_to_str
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:171,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:171,1
    - Dst: BaseLogFile::timestamp_to_str
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:172,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:172,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:173,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:173,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:173,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:174,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:174,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:180,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:181,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:184,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:184,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:185,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:185,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:185,1
    - Dst: LogObject::rename
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:191,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:191,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:192,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:194,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:194,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:202,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - interval_start
    - interval_end
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 205
    functionName: BaseLogFile::roll
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - get
    - data_from_metafile
    - log_log_error
    - static_cast<long>
    - LogObject::rename
    - log_log_trace
    - BaseLogFile::timestamp_to_str
    - BaseLogFile::exists
    - snprintf
    - get_creation_time
    - strerror
    - std::make_unique<BaseMetaInfo>
    linkageType: ''
    returnType: int
    signature: int BaseLogFile::roll(long interval_start, long interval_end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:224,1
    - Dst: get_creation_time
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:226,1
    - Dst: BaseLogFile::roll
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: BaseLogFile::roll
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 1
    functionsReached:
    - get_creation_time
    - time
    - BaseLogFile::roll
    linkageType: ''
    returnType: int
    signature: int BaseLogFile::roll()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:240,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:240,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:241,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:241,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: BaseLogFile::rolled_logfile
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strcmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool BaseLogFile::rolled_logfile(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:257,1
    - Dst: Log::access
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: BaseLogFile::exists
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 3
    functionsReached:
    - Log::access
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool BaseLogFile::exists(const char *pathname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:268,1
    - Dst: BaseLogFile::is_open
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:269,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:273,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:274,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:276,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:276,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:277,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:281,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:281,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:282,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:293,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:293,1
    - Dst: std::make_unique<BaseMetaInfo>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:300,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:300,1
    - Dst: std::make_unique<BaseMetaInfo>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:306,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:306,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:306,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:306,1
    - Dst: std::make_unique<BaseMetaInfo>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:308,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:308,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:308,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:308,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:313,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:313,1
    - Dst: elevating_fopen
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:315,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:315,1
    - Dst: setlinebuf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:319,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:321,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:321,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:321,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:322,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:329,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:329,1
    - Dst: elevating_chmod
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:330,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:330,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:331,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:331,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:331,1
    - Dst: fseek
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:336,1
    - Dst: ftell
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:337,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:339,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:339,1
    - Dst: fileno
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 1
    argNames:
    - perm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 342
    functionName: BaseLogFile::open_file
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - get
    - strcmp
    - elevating_chmod
    - setlinebuf
    - BaseLogFile::is_open
    - elevating_fopen
    - ftell
    - log_log_error
    - fileno
    - static_cast<long>
    - log_log_trace
    - fseek
    - BaseLogFile::exists
    - time
    - strerror
    - std::make_unique<BaseMetaInfo>
    linkageType: ''
    returnType: int
    signature: int BaseLogFile::open_file(int perm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::is_open
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:357,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:358,1
    - Dst: get
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:358,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:363,1
    - Dst: reset
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: BaseLogFile::close_file
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 1
    functionsReached:
    - get
    - BaseLogFile::is_open
    - fclose
    - log_log_trace
    - reset
    linkageType: ''
    returnType: int
    signature: int BaseLogFile::close_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: BaseLogFile::change_name
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::change_name(const char *new_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:383,1
    - Dst: BaseLogFile::get_name
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:383,1
    - Dst: BaseLogFile::is_open
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: BaseLogFile::display
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - BaseLogFile::get_name
    - BaseLogFile::is_open
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::display(FILE *fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:427,1
    - Dst: gettimeofday
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:431,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:434,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:435,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:436,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - priority
    - format
    argTypes:
    - LogLogPriorityLevel
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 439
    functionName: BaseLogFile::log_log
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - va_start
    - vfprintf
    - fflush
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void BaseLogFile::log_log(LogLogPriorityLevel priority, const char
      *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:466,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:466,1
    - Dst: ink_string_concatenate_strings
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:469,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:471,1
    - Dst: ink_string_concatenate_strings
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 474
    functionName: BaseMetaInfo::_build_name
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - ink_string_concatenate_strings
    - ats_malloc
    - memcpy
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo::_build_name(const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: elevating_open
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:483,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:485,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:485,1
    - Dst: ink_file_fd_readline
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:490,1
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:491,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:492,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:494,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:495,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:497,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:497,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:500,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:501,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:503,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:505,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:512,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 519
    functionName: BaseMetaInfo::_read_from_file
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - strcmp
    - ink_release_assert
    - log_log_error
    - close
    - log_log_trace
    - SimpleTokenizer::getNext
    - ink_file_fd_readline
    - elevating_open
    - SimpleTokenizer::setString
    - ink_atoi64
    - strerror
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo::_read_from_file()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: elevating_open
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:527,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:529,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:529,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:532,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:535,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:536,1
    - Dst: static_cast<unsigned long>
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:536,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:538,1
    - Dst: safe_write
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:539,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:540,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:540,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:545,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:546,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:548,1
    - Dst: safe_write
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:549,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:550,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:550,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:552,1
    - Dst: fsync
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:559,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:560,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:560,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 563
    functionName: BaseMetaInfo::_write_to_file
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 0
    functionsReached:
    - fsync
    - static_cast<unsigned long>
    - ink_release_assert
    - log_log_error
    - close
    - log_log_trace
    - snprintf
    - elevating_open
    - safe_write
    - strerror
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo::_write_to_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:580,1
    - Dst: strftime
      Src: /src/trafficserver/src/tscore/BaseLogFile.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - timestamp
    - buf
    - size
    argTypes:
    - long
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: BaseLogFile::timestamp_to_str
    functionSourceFile: /src/trafficserver/src/tscore/BaseLogFile.cc
    functionUses: 1
    functionsReached:
    - ink_localtime_r
    - strftime
    linkageType: ''
    returnType: int
    signature: int BaseLogFile::timestamp_to_str(long timestamp, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockPool::getMutex
      Src: /src/trafficserver/src/tscore/AcidPtr.cc:32,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/trafficserver/src/tscore/AcidPtr.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: AcidPtrMutexGet
    functionSourceFile: /src/trafficserver/src/tscore/AcidPtr.cc
    functionUses: 0
    functionsReached:
    - LockPool::getMutex
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: AcidPtrMutex
    signature: 'AcidPtrMutex &

      AcidPtrMutexGet(void const *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockPool::getMutex
      Src: /src/trafficserver/src/tscore/AcidPtr.cc:42,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/trafficserver/src/tscore/AcidPtr.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: AcidCommitMutexGet
    functionSourceFile: /src/trafficserver/src/tscore/AcidPtr.cc
    functionUses: 0
    functionsReached:
    - LockPool::getMutex
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: AcidCommitMutex
    signature: 'AcidCommitMutex &

      AcidCommitMutexGet(void const *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - digest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: HKDF::HKDF
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl.cc
    functionUses: 0
    functionsReached:
    - EVP_get_digestbyname
    linkageType: ''
    returnType: void
    signature: void HKDF::HKDF(const char *digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: HKDF::~HKDF()
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void HKDF::~HKDF()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:44,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:47,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:49,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:52,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:55,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:58,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:61,1
    - Dst: EVP_PKEY_derive
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - dst
    - dst_len
    - salt
    - salt_len
    - ikm
    - ikm_len
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: HKDF::extract
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_hkdf_mode
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set1_hkdf_salt
    linkageType: ''
    returnType: int
    signature: int HKDF::extract(uint8_t *dst, size_t *dst_len, const uint8_t *salt,
      size_t salt_len, const uint8_t *ikm, size_t ikm_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:77,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:80,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:82,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:85,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:88,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:91,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:94,1
    - Dst: EVP_PKEY_derive
      Src: /src/trafficserver/src/tscore/HKDF_openssl.cc:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - dst
    - dst_len
    - prk
    - prk_len
    - info
    - info_len
    - length
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: HKDF::expand
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_hkdf_mode
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_add1_hkdf_info
    linkageType: ''
    returnType: int
    signature: "int HKDF::expand(uint8_t *dst, size_t *dst_len, const uint8_t *prk,
      size_t prk_len, const uint8_t *info, size_t info_len,\n             uint16_t
      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:44,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:44,1
    - Dst: char::char
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:45,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:46,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - StrOfDelimiters
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: Tokenizer::Tokenizer
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - memset
    - char::char
    - strlen
    linkageType: ''
    returnType: void
    signature: void Tokenizer::Tokenizer(const char *StrOfDelimiters)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:74,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: Tokenizer::~Tokenizer()
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void Tokenizer::~Tokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:91,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: Tokenizer::Initialize
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 1
    functionsReached:
    - const_cast<char *>
    - Tokenizer::Initialize
    linkageType: ''
    returnType: unsigned
    signature: unsigned Tokenizer::Initialize(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: Tokenizer::isDelimiter
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tokenizer::isDelimiter(char c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::ReUse
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:129,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:140,1
    - Dst: Tokenizer::isDelimiter
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:164,1
    - Dst: Tokenizer::addToken
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:165,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:165,1
    - Dst: Tokenizer::isDelimiter
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:174,1
    - Dst: Tokenizer::addToken
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:177,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:177,1
    - Dst: Tokenizer::isDelimiter
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:200,1
    - Dst: Tokenizer::isDelimiter
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:207,1
    - Dst: Tokenizer::isDelimiter
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:226,1
    - Dst: Tokenizer::addToken
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:238,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:238,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 2
    argNames:
    - str
    - opt
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 244
    functionName: Tokenizer::Initialize
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Tokenizer::isDelimiter
    - Tokenizer::ReUse
    - Tokenizer::addToken
    - ink_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned Tokenizer::Initialize(char *str, unsigned opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:254,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:254,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:255,1
    - Dst: static_cast<tok_node *>
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:269,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:269,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - startAddr
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: Tokenizer::addToken
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    - static_cast<char *>
    - ats_malloc
    - static_cast<tok_node *>
    linkageType: ''
    returnType: void
    signature: void Tokenizer::addToken(char *startAddr, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 293
    functionName: '*

      Tokenizer::operator[](unsigned index) const'
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      Tokenizer::operator[](unsigned index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: Tokenizer::count
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Tokenizer::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::iterNext
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - tok_iter_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: Tokenizer::iterFirst
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached:
    - Tokenizer::iterNext
    linkageType: ''
    returnType: char
    signature: 'char *

      Tokenizer::iterFirst(tok_iter_state *state)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - tok_iter_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: Tokenizer::iterNext
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Tokenizer::iterNext(tok_iter_state *state)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: Tokenizer::Print
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void Tokenizer::Print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:366,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Tokenizer.cc:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: Tokenizer::ReUse
    functionSourceFile: /src/trafficserver/src/tscore/Tokenizer.cc
    functionUses: 1
    functionsReached:
    - memset
    - ats_free
    linkageType: ''
    returnType: void
    signature: void Tokenizer::ReUse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ATSHashBase::~ATSHashBase()
    functionSourceFile: /src/trafficserver/src/tscore/Hash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHashBase::~ATSHashBase()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash::size
      Src: /src/trafficserver/src/tscore/Hash.cc:30,1
    - Dst: ATSHash::size
      Src: /src/trafficserver/src/tscore/Hash.cc:30,1
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/Hash.cc:33,1
    - Dst: ATSHash::get
      Src: /src/trafficserver/src/tscore/Hash.cc:33,1
    - Dst: ATSHash::get
      Src: /src/trafficserver/src/tscore/Hash.cc:33,1
    - Dst: ATSHash::size
      Src: /src/trafficserver/src/tscore/Hash.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - ATSHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: ATSHash::operator==(const ATSHash &other) const
    functionSourceFile: /src/trafficserver/src/tscore/Hash.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ATSHash::get
    - ATSHash::size
    linkageType: ''
    returnType: bool
    signature: bool ATSHash::operator==(const ATSHash &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32::get
      Src: /src/trafficserver/src/tscore/Hash.cc:43,1
    - Dst: ATSHash32::get
      Src: /src/trafficserver/src/tscore/Hash.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ATSHash32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ATSHash32::operator==(const ATSHash32 &other) const
    functionSourceFile: /src/trafficserver/src/tscore/Hash.cc
    functionUses: 0
    functionsReached:
    - ATSHash32::get
    linkageType: ''
    returnType: bool
    signature: bool ATSHash32::operator==(const ATSHash32 &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64::get
      Src: /src/trafficserver/src/tscore/Hash.cc:49,1
    - Dst: ATSHash64::get
      Src: /src/trafficserver/src/tscore/Hash.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ATSHash64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ATSHash64::operator==(const ATSHash64 &other) const
    functionSourceFile: /src/trafficserver/src/tscore/Hash.cc
    functionUses: 0
    functionsReached:
    - ATSHash64::get
    linkageType: ''
    returnType: bool
    signature: bool ATSHash64::operator==(const ATSHash64 &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Str*::dump
      Src: /src/trafficserver/src/tscore/ink_string++.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: StrList::dump
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached:
    - Str*::dump
    linkageType: ''
    returnType: void
    signature: void StrList::dump(FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_string++.cc:72,1
    - Dst: StrList::alloc
      Src: /src/trafficserver/src/tscore/ink_string++.cc:72,1
    - Dst: reinterpret_cast<Str *>
      Src: /src/trafficserver/src/tscore/ink_string++.cc:77,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_string++.cc:83,1
    - Dst: StrList::alloc
      Src: /src/trafficserver/src/tscore/ink_string++.cc:83,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_string++.cc:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - s
    - len_not_counting_nul
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 98
    functionName: StrList::_new_cell
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - StrList::alloc
    - reinterpret_cast<Str *>
    - static_cast<char *>
    linkageType: ''
    returnType: Str
    signature: 'Str *

      StrList::_new_cell(const char *s, int len_not_counting_nul)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StrListOverflow::create_heap
      Src: /src/trafficserver/src/tscore/ink_string++.cc:107,1
    - Dst: StrList::alloc
      Src: /src/trafficserver/src/tscore/ink_string++.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: StrList::overflow_heap_alloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached:
    - StrListOverflow::create_heap
    - StrList::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      StrList::overflow_heap_alloc(int size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StrList::clean
      Src: /src/trafficserver/src/tscore/ink_string++.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: StrList::overflow_heap_clean
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached:
    - StrList::clean
    linkageType: ''
    returnType: void
    signature: void StrList::overflow_heap_clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: StrListOverflow::init
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrListOverflow::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/ink_string++.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: StrListOverflow::clean
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void StrListOverflow::clean()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/ink_string++.cc:156,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_string++.cc:157,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_string++.cc:160,1
    - Dst: StrListOverflow::create_heap
      Src: /src/trafficserver/src/tscore/ink_string++.cc:161,1
    - Dst: StrListOverflow::alloc
      Src: /src/trafficserver/src/tscore/ink_string++.cc:162,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_string++.cc:165,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_string++.cc:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - size
    - new_heap_ptr
    argTypes:
    - int
    - StrListOverflow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: StrListOverflow::alloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 1
    functionsReached:
    - StrListOverflow::create_heap
    - ink_release_assert
    - reinterpret_cast<char *>
    - StrListOverflow::alloc
    - ink_assert
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      StrListOverflow::alloc(int size, StrListOverflow **new_heap_ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StrListOverflow *>
      Src: /src/trafficserver/src/tscore/ink_string++.cc:183,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/ink_string++.cc:183,1
    - Dst: StrListOverflow*::init
      Src: /src/trafficserver/src/tscore/ink_string++.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - user_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: StrListOverflow::create_heap
    functionSourceFile: /src/trafficserver/src/tscore/ink_string++.cc
    functionUses: 2
    functionsReached:
    - StrListOverflow*::init
    - ats_malloc
    - static_cast<StrListOverflow *>
    linkageType: ''
    returnType: StrListOverflow
    signature: 'StrListOverflow *

      StrListOverflow::create_heap(int user_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:45,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/tscore/test_atomic.cc:48,1
    - Dst: ink_atomiclist_pop
      Src: /src/trafficserver/src/tscore/test_atomic.cc:52,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/tscore/test_atomic.cc:53,1
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:53,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/test_atomic.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ame
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: testalist
    functionSourceFile: /src/trafficserver/src/tscore/test_atomic.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_atomiclist_pop
    - rand
    - ink_atomic_increment
    - ink_atomiclist_push
    linkageType: ''
    returnType: void
    signature: 'void *

      testalist(void *ame)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_init
      Src: /src/trafficserver/src/tscore/test_atomic.cc:87,1
    - Dst: malloc
      Src: /src/trafficserver/src/tscore/test_atomic.cc:91,1
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:94,1
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:96,1
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:97,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/tscore/test_atomic.cc:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: init_data
    functionSourceFile: /src/trafficserver/src/tscore/test_atomic.cc
    functionUses: 0
    functionsReached:
    - ink_atomiclist_push
    - malloc
    - rand
    - ink_atomiclist_init
    linkageType: ''
    returnType: void
    signature: void init_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:117,1
    - Dst: ink_atomiclist_popall
      Src: /src/trafficserver/src/tscore/test_atomic.cc:119,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/test_atomic.cc:125,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/tscore/test_atomic.cc:128,1
    - Dst: rand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:128,1
    - Dst: poll
      Src: /src/trafficserver/src/tscore/test_atomic.cc:132,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: cycle_data
    functionSourceFile: /src/trafficserver/src/tscore/test_atomic.cc
    functionUses: 0
    functionsReached:
    - poll
    - rand
    - ink_atomiclist_popall
    - printf
    - ink_atomiclist_push
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void cycle_data(void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:150,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:150,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:150,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:152,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/test_atomic.cc:153,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:154,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:156,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/test_atomic.cc:157,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:158,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:160,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/test_atomic.cc:161,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:162,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:164,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/tscore/test_atomic.cc:165,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:166,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:169,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/test_atomic.cc:170,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:170,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:171,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:173,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:174,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/test_atomic.cc:174,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:175,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:177,1
    - Dst: srand
      Src: /src/trafficserver/src/tscore/test_atomic.cc:180,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/test_atomic.cc:180,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:181,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/test_atomic.cc:181,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/test_atomic.cc:182,1
    - Dst: ink_atomiclist_init
      Src: /src/trafficserver/src/tscore/test_atomic.cc:184,1
    - Dst: pthread_attr_init
      Src: /src/trafficserver/src/tscore/test_atomic.cc:190,1
    - Dst: pthread_attr_setstacksize
      Src: /src/trafficserver/src/tscore/test_atomic.cc:192,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/test_atomic.cc:194,1
    - Dst: pthread_create
      Src: /src/trafficserver/src/tscore/test_atomic.cc:194,1
    - Dst: sleep
      Src: /src/trafficserver/src/tscore/test_atomic.cc:197,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_atomic.cc:203,1
    - Dst: init_data
      Src: /src/trafficserver/src/tscore/test_atomic.cc:207,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/test_atomic.cc:209,1
    - Dst: thr_create
      Src: /src/trafficserver/src/tscore/test_atomic.cc:209,1
    - Dst: poll
      Src: /src/trafficserver/src/tscore/test_atomic.cc:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 218
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/test_atomic.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - ink_atomic_cas
    - srand
    - pthread_create
    - ink_atomiclist_init
    - pthread_attr_init
    - sleep
    - poll
    - pthread_attr_setstacksize
    - ink_atomic_increment
    - static_cast<char *>
    - init_data
    - thr_create
    - static_cast<int *>
    - printf
    - time
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char * /* argv ATS_UNUSED
      */[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_topology_init
      Src: /src/trafficserver/src/tscore/ink_hw.cc:38,1
    - Dst: hwloc_topology_load
      Src: /src/trafficserver/src/tscore/ink_hw.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: setup_hwloc
    functionSourceFile: /src/trafficserver/src/tscore/ink_hw.cc
    functionUses: 0
    functionsReached:
    - hwloc_topology_load
    - hwloc_topology_init
    linkageType: ''
    returnType: hwloc_topology_t
    signature: hwloc_topology_t setup_hwloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_hwloc
      Src: /src/trafficserver/src/tscore/ink_hw.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: ink_get_topology
    functionSourceFile: /src/trafficserver/src/tscore/ink_hw.cc
    functionUses: 4
    functionsReached:
    - setup_hwloc
    linkageType: ''
    returnType: hwloc_topology_t
    signature: hwloc_topology_t ink_get_topology()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/src/tscore/ink_hw.cc:60,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/tscore/ink_hw.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_hw.cc:61,1
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/src/tscore/ink_hw.cc:63,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/tscore/ink_hw.cc:63,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_hw.cc:64,1
    - Dst: sysctl
      Src: /src/trafficserver/src/tscore/ink_hw.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_hw.cc:72,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_hw.cc:72,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_hw.cc:75,1
    - Dst: sysconf
      Src: /src/trafficserver/src/tscore/ink_hw.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_hw.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: ink_number_of_processors
    functionSourceFile: /src/trafficserver/src/tscore/ink_hw.cc
    functionUses: 0
    functionsReached:
    - sysctl
    - ink_get_topology
    - Dbg
    - sysconf
    - strerror
    - hwloc_get_nbobjs_by_type
    linkageType: ''
    returnType: int
    signature: int ink_number_of_processors()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/lockfile.cc:53,1
    - Dst: fcntl
      Src: /src/trafficserver/src/tscore/lockfile.cc:68,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/lockfile.cc:78,1
    - Dst: FAIL
      Src: /src/trafficserver/src/tscore/lockfile.cc:82,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/lockfile.cc:94,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/lockfile.cc:94,1
    - Dst: FAIL
      Src: /src/trafficserver/src/tscore/lockfile.cc:99,1
    - Dst: fcntl
      Src: /src/trafficserver/src/tscore/lockfile.cc:105,1
    - Dst: FAIL
      Src: /src/trafficserver/src/tscore/lockfile.cc:109,1
    - Dst: fcntl
      Src: /src/trafficserver/src/tscore/lockfile.cc:114,1
    - Dst: FAIL
      Src: /src/trafficserver/src/tscore/lockfile.cc:118,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - holding_pid
    argTypes:
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 126
    functionName: Lockfile::Open
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - sscanf
    - read
    - static_cast<int *>
    - FAIL
    - fcntl
    - open
    linkageType: ''
    returnType: int
    signature: int Lockfile::Open(pid_t *holding_pid)
  - 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: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: FAIL
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Lockfile::Open
      Src: /src/trafficserver/src/tscore/lockfile.cc:139,1
    - Dst: ftruncate
      Src: /src/trafficserver/src/tscore/lockfile.cc:149,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/lockfile.cc:153,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/lockfile.cc:157,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/lockfile.cc:157,1
    - Dst: getpid
      Src: /src/trafficserver/src/tscore/lockfile.cc:157,1
    - Dst: write
      Src: /src/trafficserver/src/tscore/lockfile.cc:160,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/lockfile.cc:160,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/lockfile.cc:163,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/lockfile.cc:163,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/lockfile.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - holding_pid
    argTypes:
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 169
    functionName: Lockfile::Get
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - write
    - close
    - Lockfile::Open
    - snprintf
    - strlen
    - ftruncate
    - getpid
    linkageType: ''
    returnType: int
    signature: int Lockfile::Get(pid_t *holding_pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/tscore/lockfile.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: Lockfile::Close
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void Lockfile::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/trafficserver/src/tscore/lockfile.cc:206,1
    - Dst: waitpid
      Src: /src/trafficserver/src/tscore/lockfile.cc:209,1
    - Dst: WIFEXITED
      Src: /src/trafficserver/src/tscore/lockfile.cc:213,1
    - Dst: WIFSIGNALED
      Src: /src/trafficserver/src/tscore/lockfile.cc:213,1
    - Dst: kill
      Src: /src/trafficserver/src/tscore/lockfile.cc:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - init_pid
    - init_sig
    - pid
    - sig
    argTypes:
    - pid_t
    - int
    - pid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: lockfile_kill_internal
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - kill
    - waitpid
    - WIFEXITED
    linkageType: ''
    returnType: void
    signature: void lockfile_kill_internal(pid_t init_pid, int init_sig, pid_t pid,
      const char * /* pname ATS_UNUSED */, int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lockfile::Open
      Src: /src/trafficserver/src/tscore/lockfile.cc:228,1
    - Dst: Lockfile::Close
      Src: /src/trafficserver/src/tscore/lockfile.cc:231,1
    - Dst: lockfile_kill_internal
      Src: /src/trafficserver/src/tscore/lockfile.cc:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sig
    - initial_sig
    - pname
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: Lockfile::Kill
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - Lockfile::Open
    - Lockfile::Close
    - lockfile_kill_internal
    linkageType: ''
    returnType: void
    signature: void Lockfile::Kill(int sig, int initial_sig, const char *pname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/trafficserver/src/tscore/lockfile.cc:247,1
    - Dst: Lockfile::Open
      Src: /src/trafficserver/src/tscore/lockfile.cc:249,1
    - Dst: Lockfile::Close
      Src: /src/trafficserver/src/tscore/lockfile.cc:252,1
    - Dst: getpgid
      Src: /src/trafficserver/src/tscore/lockfile.cc:256,1
    - Dst: lockfile_kill_internal
      Src: /src/trafficserver/src/tscore/lockfile.cc:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - sig
    - initial_sig
    - pname
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 277
    functionName: Lockfile::KillGroup
    functionSourceFile: /src/trafficserver/src/tscore/lockfile.cc
    functionUses: 0
    functionsReached:
    - Lockfile::Close
    - getpgid
    - Lockfile::Open
    - lockfile_kill_internal
    - getpid
    linkageType: ''
    returnType: void
    signature: void Lockfile::KillGroup(int sig, int initial_sig, const char *pname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_flags
      Src: /src/trafficserver/src/tscore/ContFlags.cc:31,1
    - Dst: ContFlags::get_flags
      Src: /src/trafficserver/src/tscore/ContFlags.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - ContFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: set_cont_flags
    functionSourceFile: /src/trafficserver/src/tscore/ContFlags.cc
    functionUses: 0
    functionsReached:
    - set_flags
    - ContFlags::get_flags
    linkageType: ''
    returnType: void
    signature: void set_cont_flags(const ContFlags &flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_flag
      Src: /src/trafficserver/src/tscore/ContFlags.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flag_bit
    - value
    argTypes:
    - ContFlags::flags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: set_cont_flag
    functionSourceFile: /src/trafficserver/src/tscore/ContFlags.cc
    functionUses: 0
    functionsReached:
    - set_flag
    linkageType: ''
    returnType: void
    signature: void set_cont_flag(ContFlags::flags flag_bit, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: get_cont_flags
    functionSourceFile: /src/trafficserver/src/tscore/ContFlags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ContFlags
    signature: ContFlags get_cont_flags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_flag
      Src: /src/trafficserver/src/tscore/ContFlags.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag_bit
    argTypes:
    - ContFlags::flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: get_cont_flag
    functionSourceFile: /src/trafficserver/src/tscore/ContFlags.cc
    functionUses: 0
    functionsReached:
    - get_flag
    linkageType: ''
    returnType: bool
    signature: bool get_cont_flag(ContFlags::flags flag_bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/src/tscore/ink_time.cc:59,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/tscore/ink_time.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ink_time_wall_seconds
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ink_time_wall_seconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_time.cc:86,1
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/tscore/ink_time.cc:86,1
    - Dst: strftime
      Src: /src/trafficserver/src/tscore/ink_time.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - maxsize
    - format
    - clock
    argTypes:
    - char*
    - int
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: cftime_replacement
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    - strftime
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int cftime_replacement(char *s, int maxsize, const char *format, const
      time_t *clock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_time.cc:99,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_time.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - s
    - format
    - clock
    argTypes:
    - char*
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: cftime
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 0
    functionsReached:
    - printf
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int cftime(char *s, char *format, const time_t *clock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: convert_tm
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_time_t
    signature: ink_time_t convert_tm(const struct tm *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctime_r
      Src: /src/trafficserver/src/tscore/ink_time.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clock
    - buf
    argTypes:
    - ink_time_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ink_ctime_r
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 0
    functionsReached:
    - ctime_r
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_ctime_r(const ink_time_t *clock, char *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/trafficserver/src/tscore/ink_time.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clock
    - res
    argTypes:
    - ink_time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: ink_localtime_r
    functionSourceFile: /src/trafficserver/src/tscore/ink_time.cc
    functionUses: 2
    functionsReached:
    - localtime_r
    linkageType: ''
    returnType: struct tm
    signature: 'struct tm *

      ink_localtime_r(const ink_time_t *clock, struct tm *res)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InkRand::seed
      Src: /src/trafficserver/src/tscore/ink_rand.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: InkRand::InkRand
    functionSourceFile: /src/trafficserver/src/tscore/ink_rand.cc
    functionUses: 0
    functionsReached:
    - InkRand::seed
    linkageType: ''
    returnType: void
    signature: void InkRand::InkRand(uint64_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: InkRand::seed
    functionSourceFile: /src/trafficserver/src/tscore/ink_rand.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InkRand::seed(uint64_t seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_rand.cc:91,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_rand.cc:95,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_rand.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: InkRand::random
    functionSourceFile: /src/trafficserver/src/tscore/ink_rand.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t InkRand::random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InkRand::random
      Src: /src/trafficserver/src/tscore/ink_rand.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: InkRand::drandom
    functionSourceFile: /src/trafficserver/src/tscore/ink_rand.cc
    functionUses: 0
    functionsReached:
    - InkRand::random
    linkageType: ''
    returnType: double
    signature: double InkRand::drandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/trafficserver/src/tscore/HKDF_boringssl.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - digest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: HKDF::HKDF
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_get_digestbyname
    linkageType: ''
    returnType: void
    signature: void HKDF::HKDF(const char *digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: HKDF::~HKDF()
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HKDF::~HKDF()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HKDF_extract
      Src: /src/trafficserver/src/tscore/HKDF_boringssl.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dst
    - dst_len
    - salt
    - salt_len
    - ikm
    - ikm_len
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: HKDF::extract
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_boringssl.cc
    functionUses: 0
    functionsReached:
    - HKDF_extract
    linkageType: ''
    returnType: int
    signature: int HKDF::extract(uint8_t *dst, size_t *dst_len, const uint8_t *salt,
      size_t salt_len, const uint8_t *ikm, size_t ikm_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HKDF_expand
      Src: /src/trafficserver/src/tscore/HKDF_boringssl.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - dst
    - dst_len
    - prk
    - prk_len
    - info
    - info_len
    - length
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: HKDF::expand
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_boringssl.cc
    functionUses: 0
    functionsReached:
    - HKDF_expand
    linkageType: ''
    returnType: int
    signature: "int HKDF::expand(uint8_t *dst, size_t *dst_len, const uint8_t *prk,
      size_t prk_len, const uint8_t *info, size_t info_len,\n             uint16_t
      length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 3
    argNames:
    - p
    - len
    - idna_subject
    argTypes:
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 100
    functionName: find_wildcard_in_hostname
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      find_wildcard_in_hostname(const unsigned char *p, size_t len, bool idna_subject)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: equal_nocase
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool equal_nocase(const unsigned char *pattern, size_t pattern_len,
      const unsigned char *subject, size_t subject_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: equal_case
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool equal_case(const unsigned char *pattern, size_t pattern_len, const
      unsigned char *subject, size_t subject_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: equal_nocase
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:143,1
    - Dst: equal_nocase
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 6
    argNames:
    - prefix
    - prefix_len
    - suffix
    - suffix_len
    - subject
    - subject_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 174
    functionName: wildcard_match
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - equal_nocase
    linkageType: ''
    returnType: bool
    signature: "bool wildcard_match(const unsigned char *prefix, size_t prefix_len,
      const unsigned char *suffix, size_t suffix_len,\n               const unsigned
      char *subject, size_t subject_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:182,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:182,1
    - Dst: find_wildcard_in_hostname
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:188,1
    - Dst: equal_nocase
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:192,1
    - Dst: wildcard_match
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: equal_wildcard
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    - reinterpret_cast<const char *>
    - find_wildcard_in_hostname
    - wildcard_match
    - equal_nocase
    linkageType: ''
    returnType: bool
    signature: bool equal_wildcard(const unsigned char *pattern, size_t pattern_len,
      const unsigned char *subject, size_t subject_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equal
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:211,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - a
    - cmp_type
    - equal
    - b
    - blen
    - peername
    argTypes:
    - ASN1_STRING*
    - int
    - equal_fn
    - unsigned char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: do_check_string
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - ats_strndup
    - equal
    linkageType: ''
    returnType: bool
    signature: bool do_check_string(ASN1_STRING *a, int cmp_type, equal_fn equal,
      const unsigned char *b, size_t blen, char **peername)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:228,1
    - Dst: static_cast<GENERAL_NAMES *>
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:239,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:239,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:242,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:242,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:245,1
    - Dst: do_check_string
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:255,1
    - Dst: GENERAL_NAMES_free
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:260,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:267,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:269,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:273,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:273,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:275,1
    - Dst: equal
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:280,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:282,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/tscore/X509HostnameValidator.cc:284,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - x
    - hostname
    - is_ip
    - peername
    argTypes:
    - X509*
    - unsigned char*
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 288
    functionName: validate_hostname
    functionSourceFile: /src/trafficserver/src/tscore/X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OPENSSL_free
    - X509_NAME_ENTRY_get_data
    - ats_strndup
    - X509_get_subject_name
    - X509_get_ext_d2i
    - do_check_string
    - sk_GENERAL_NAME_num
    - ASN1_STRING_to_UTF8
    - static_cast<GENERAL_NAMES *>
    - strlen
    - GENERAL_NAMES_free
    - X509_NAME_get_index_by_NID
    - X509_NAME_get_entry
    - equal
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: bool
    signature: bool validate_hostname(X509 *x, const unsigned char *hostname, bool
      is_ip, char **peername)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:58,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:58,1
    - Dst: string_view::rbegin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:63,1
    - Dst: string_view::rbegin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:64,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:72,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:72,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:74,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:74,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:89,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:94,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:95,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:98,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - hostname
    - domain
    argTypes:
    - string_view
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 103
    functionName: domaincmp
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::rbegin
    - string_view::rend
    - tolower
    - string_view::empty
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool domaincmp(string_view hostname, string_view domain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:117,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:117,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:118,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:118,1
    - Dst: string_view::back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:121,1
    - Dst: string_view::remove_suffix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:122,1
    - Dst: string_view::back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:124,1
    - Dst: string_view::remove_suffix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:125,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:128,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:129,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:130,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:130,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:131,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:132,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:141,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - string_view
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: hostcmp
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::begin
    - string_view::end
    - string_view::back
    - tolower
    - string_view::empty
    - string_view::remove_suffix
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hostcmp(string_view lhs, string_view rhs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:58,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:58,1
    - Dst: string_view::rbegin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:63,1
    - Dst: string_view::rbegin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:64,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:72,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:72,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:74,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:74,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:89,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:94,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:95,1
    - Dst: string_view::rend
      Src: /src/trafficserver/src/tscore/HostLookup.cc:98,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - hostname
    - domain
    argTypes:
    - string_view
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 103
    functionName: domaincmp
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::rbegin
    - string_view::rend
    - tolower
    - string_view::empty
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool domaincmp(string_view hostname, string_view domain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:117,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:117,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:118,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:118,1
    - Dst: string_view::back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:121,1
    - Dst: string_view::remove_suffix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:122,1
    - Dst: string_view::back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:124,1
    - Dst: string_view::remove_suffix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:125,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:128,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:129,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:130,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:130,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:131,1
    - Dst: tolower
      Src: /src/trafficserver/src/tscore/HostLookup.cc:132,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:141,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - string_view
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: hostcmp
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::begin
    - string_view::end
    - string_view::back
    - tolower
    - string_view::empty
    - string_view::remove_suffix
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hostcmp(string_view lhs, string_view rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/src/tscore/HostLookup.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: CharIndex::iterator
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: CharIndex::~CharIndex()
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CharIndex::~CharIndex()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:303,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:303,1
    - Dst: std::any_of
      Src: /src/trafficserver/src/tscore/HostLookup.cc:305,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:305,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:305,1
    - Dst: reset
      Src: /src/trafficserver/src/tscore/HostLookup.cc:308,1
    - Dst: Table::Table
      Src: /src/trafficserver/src/tscore/HostLookup.cc:308,1
    - Dst: emplace
      Src: /src/trafficserver/src/tscore/HostLookup.cc:311,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/HostLookup.cc:314,1
    - Dst: string_view::front
      Src: /src/trafficserver/src/tscore/HostLookup.cc:314,1
    - Dst: string_view::size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:317,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:319,1
    - Dst: block::get
      Src: /src/trafficserver/src/tscore/HostLookup.cc:325,1
    - Dst: CharIndexBlock::CharIndexBlock
      Src: /src/trafficserver/src/tscore/HostLookup.cc:329,1
    - Dst: block::reset
      Src: /src/trafficserver/src/tscore/HostLookup.cc:330,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - match_data
    - toInsert
    argTypes:
    - string_view
    - HostBranch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: CharIndex::Insert
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::begin
    - string_view::end
    - static_cast<unsigned char>
    - block::reset
    - CharIndexBlock::CharIndexBlock
    - string_view::front
    - emplace
    - string_view::remove_prefix
    - reset
    - string_view::empty
    - std::any_of
    - block::get
    - string_view::size
    - Table::Table
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CharIndex::Insert(string_view match_data, HostBranch *toInsert)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:348,1
    - Dst: std::any_of
      Src: /src/trafficserver/src/tscore/HostLookup.cc:352,1
    - Dst: string_view::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:352,1
    - Dst: string_view::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:352,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/HostLookup.cc:354,1
    - Dst: CharIndex::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:355,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/HostLookup.cc:365,1
    - Dst: string_view::front
      Src: /src/trafficserver/src/tscore/HostLookup.cc:365,1
    - Dst: string_view::size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:369,1
    - Dst: block::get
      Src: /src/trafficserver/src/tscore/HostLookup.cc:372,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - match_data
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 377
    functionName: CharIndex::Lookup
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::begin
    - string_view::end
    - static_cast<unsigned char>
    - CharIndex::end
    - find
    - string_view::front
    - string_view::empty
    - std::any_of
    - block::get
    - string_view::size
    - string_view::remove_prefix
    linkageType: ''
    returnType: HostBranch
    signature: 'HostBranch *

      CharIndex::Lookup(string_view match_data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator::iterator
      Src: /src/trafficserver/src/tscore/HostLookup.cc:382,1
    - Dst: iterator::advance
      Src: /src/trafficserver/src/tscore/HostLookup.cc:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: CharIndex::begin
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 2
    functionsReached:
    - iterator::iterator
    - iterator::advance
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::begin() -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: CharIndex::end
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::end() -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: CharIndex::iterator::operator->() -> value_type *
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::iterator::operator->() -> value_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: CharIndex::iterator::operator*() -> value_type &
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::iterator::operator*() -> value_type &
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/HostLookup.cc:440,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:440,1
    - Dst: push_back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:441,1
    - Dst: block::get
      Src: /src/trafficserver/src/tscore/HostLookup.cc:446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 454
    functionName: CharIndex::iterator::advance() -> self_type &
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - block::get
    - push_back
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::iterator::advance() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CharIndex::iterator::advance
      Src: /src/trafficserver/src/tscore/HostLookup.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: CharIndex::iterator::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - CharIndex::iterator::advance
    linkageType: ''
    returnType: auto
    signature: auto CharIndex::iterator::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: CharIndex::iterator::operator==(const self_type &that) const
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CharIndex::iterator::operator==(const self_type &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: CharIndex::iterator::operator!=(const self_type &that) const
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CharIndex::iterator::operator!=(const self_type &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostArray::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: HostArray::begin
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached:
    - HostArray::begin
    linkageType: ''
    returnType: Array::iterator
    signature: Array::iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostArray::begin
      Src: /src/trafficserver/src/tscore/HostLookup.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: HostArray::end
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - HostArray::begin
    linkageType: ''
    returnType: Array::iterator
    signature: Array::iterator end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/HostLookup.cc:518,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - match_data
    - toInsert
    argTypes:
    - string_view
    - HostBranch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: HostArray::Insert
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: bool
    signature: bool HostArray::Insert(string_view match_data, HostBranch *toInsert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string_view::front
      Src: /src/trafficserver/src/tscore/HostLookup.cc:542,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/src/tscore/HostLookup.cc:543,1
    - Dst: string_view::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - match_data_in
    - bNotProcess
    argTypes:
    - string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 557
    functionName: HostArray::Lookup
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - string_view::empty
    - string_view::front
    - string_view::remove_prefix
    linkageType: ''
    returnType: HostBranch
    signature: 'HostBranch *

      HostArray::Lookup(string_view match_data_in, bool bNotProcess)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 592
    functionName: HostBranch::~HostBranch()
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostBranch::~HostBranch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: HostLookup::HostLookup
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLookup::HostLookup(string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostLookup::Print
      Src: /src/trafficserver/src/tscore/HostLookup.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: HostLookup::Print
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached:
    - HostLookup::Print
    linkageType: ''
    returnType: void
    signature: void HostLookup::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostLookup::PrintHostBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - PrintFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: HostLookup::Print
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached:
    - HostLookup::PrintHostBranch
    linkageType: ''
    returnType: void
    signature: void HostLookup::Print(PrintFunc const &f) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/HostLookup.cc:619,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/HostLookup.cc:619,1
    - Dst: auto::match::size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:619,1
    - Dst: auto::match::data
      Src: /src/trafficserver/src/tscore/HostLookup.cc:619,1
    - Dst: f
      Src: /src/trafficserver/src/tscore/HostLookup.cc:620,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:625,1
    - Dst: HostLookup::PrintHostBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:629,1
    - Dst: HostLookup::PrintHostBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:634,1
    - Dst: HostLookup::PrintHostBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - hb
    - f
    argTypes:
    - HostBranch*
    - PrintFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 643
    functionName: HostLookup::PrintHostBranch
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - auto::match::size
    - auto::match::data
    - HostLookup::PrintHostBranch
    - printf
    - f
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HostLookup::PrintHostBranch(const HostBranch *hb, PrintFunc const
      &f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:656,1
    - Dst: CharIndex::CharIndex
      Src: /src/trafficserver/src/tscore/HostLookup.cc:662,1
    - Dst: HostArray::HostArray
      Src: /src/trafficserver/src/tscore/HostLookup.cc:665,1
    - Dst: HostLookup::InsertBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - from
    - level_data
    argTypes:
    - HostBranch*
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 669
    functionName: HostLookup::TableNewLevel
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - HostLookup::InsertBranch
    - CharIndex::CharIndex
    - HostArray::HostArray
    - ink_assert
    linkageType: ''
    returnType: HostBranch
    signature: 'HostBranch *

      HostLookup::TableNewLevel(HostBranch *from, string_view level_data)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HostBranch::HostBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:682,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:690,1
    - Dst: HostBranch*::next_level::_table::emplace
      Src: /src/trafficserver/src/tscore/HostLookup.cc:693,1
    - Dst: HostBranch*::next_level::_index::Insert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:696,1
    - Dst: auto::Insert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:700,1
    - Dst: HostTable::HostTable
      Src: /src/trafficserver/src/tscore/HostLookup.cc:703,1
    - Dst: auto::emplace
      Src: /src/trafficserver/src/tscore/HostLookup.cc:704,1
    - Dst: auto::emplace
      Src: /src/trafficserver/src/tscore/HostLookup.cc:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - insert_in
    - level_data
    argTypes:
    - HostBranch*
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 717
    functionName: HostLookup::InsertBranch
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached:
    - HostBranch*::next_level::_index::Insert
    - HostBranch*::next_level::_table::emplace
    - ink_release_assert
    - auto::Insert
    - auto::emplace
    - HostTable::HostTable
    - HostBranch::HostBranch
    linkageType: ''
    returnType: HostBranch
    signature: 'HostBranch *

      HostLookup::InsertBranch(HostBranch *insert_in, string_view level_data)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:735,1
    - Dst: auto::find
      Src: /src/trafficserver/src/tscore/HostLookup.cc:739,1
    - Dst: auto::end
      Src: /src/trafficserver/src/tscore/HostLookup.cc:740,1
    - Dst: HostBranch*::next_level::_index::Lookup
      Src: /src/trafficserver/src/tscore/HostLookup.cc:743,1
    - Dst: HostBranch*::next_level::_array::Lookup
      Src: /src/trafficserver/src/tscore/HostLookup.cc:746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - from
    - level_data
    - bNotProcess
    argTypes:
    - HostBranch*
    - string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 750
    functionName: HostLookup::FindNextLevel
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - HostBranch*::next_level::_index::Lookup
    - auto::find
    - HostBranch*::next_level::_array::Lookup
    - ink_assert
    linkageType: ''
    returnType: HostBranch
    signature: 'HostBranch *

      HostLookup::FindNextLevel(HostBranch *from, string_view level_data, bool bNotProcess)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::rtrim
      Src: /src/trafficserver/src/tscore/HostLookup.cc:770,1
    - Dst: TextView::take_suffix_at
      Src: /src/trafficserver/src/tscore/HostLookup.cc:771,1
    - Dst: HostLookup::TableNewLevel
      Src: /src/trafficserver/src/tscore/HostLookup.cc:774,1
    - Dst: HostLookup::FindNextLevel
      Src: /src/trafficserver/src/tscore/HostLookup.cc:776,1
    - Dst: HostLookup::InsertBranch
      Src: /src/trafficserver/src/tscore/HostLookup.cc:778,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:802,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:808,1
    - Dst: HostBranch*::leaf_indices::push_back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - match_data
    - index
    - domain_record
    argTypes:
    - string_view
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: HostLookup::TableInsert
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - HostLookup::TableNewLevel
    - HostBranch*::leaf_indices::push_back
    - TextView::rtrim
    - TextView::take_suffix_at
    - HostLookup::InsertBranch
    - TextView::empty
    - HostLookup::FindNextLevel
    linkageType: ''
    returnType: void
    signature: void HostLookup::TableInsert(string_view match_data, int index, bool
      domain_record)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LeafIndices::size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:835,1
    - Dst: hostcmp
      Src: /src/trafficserver/src/tscore/HostLookup.cc:840,1
    - Dst: domaincmp
      Src: /src/trafficserver/src/tscore/HostLookup.cc:858,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - s
    - opaque_ptr
    - array
    - host_done
    argTypes:
    - HostLookupState*
    - void**
    - LeafIndices
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 875
    functionName: HostLookup::MatchArray
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - domaincmp
    - LeafIndices::size
    - ink_assert
    - hostcmp
    linkageType: ''
    returnType: bool
    signature: bool HostLookup::MatchArray(HostLookupState *s, void **opaque_ptr,
      LeafIndices &array, bool host_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostLookup::MatchNext
      Src: /src/trafficserver/src/tscore/HostLookup.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - host
    - s
    - opaque_ptr
    argTypes:
    - string_view
    - HostLookupState*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 890
    functionName: HostLookup::MatchFirst
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - HostLookup::MatchNext
    linkageType: ''
    returnType: bool
    signature: bool HostLookup::MatchFirst(string_view host, HostLookupState *s, void
      **opaque_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:903,1
    - Dst: HostLookup::MatchArray
      Src: /src/trafficserver/src/tscore/HostLookup.cc:908,1
    - Dst: HostLookupState*::hostname_stub::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:908,1
    - Dst: HostLookupState*::hostname_stub::empty
      Src: /src/trafficserver/src/tscore/HostLookup.cc:912,1
    - Dst: TextView::take_suffix_at
      Src: /src/trafficserver/src/tscore/HostLookup.cc:921,1
    - Dst: HostLookup::FindNextLevel
      Src: /src/trafficserver/src/tscore/HostLookup.cc:923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - s
    - opaque_ptr
    argTypes:
    - HostLookupState*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 935
    functionName: HostLookup::MatchNext
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 1
    functionsReached:
    - HostLookup::FindNextLevel
    - size
    - TextView::take_suffix_at
    - HostLookupState*::hostname_stub::empty
    - HostLookup::MatchArray
    linkageType: ''
    returnType: bool
    signature: bool HostLookup::MatchNext(HostLookupState *s, void **opaque_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/src/tscore/HostLookup.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: HostLookup::AllocateSpace
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void HostLookup::AllocateSpace(int num_entries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/src/tscore/HostLookup.cc:954,1
    - Dst: HostLookup::TableInsert
      Src: /src/trafficserver/src/tscore/HostLookup.cc:955,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/HostLookup.cc:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - match_data
    - domain_record
    - opaque_data_in
    argTypes:
    - string_view
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: HostLookup::NewEntry
    functionSourceFile: /src/trafficserver/src/tscore/HostLookup.cc
    functionUses: 0
    functionsReached:
    - HostLookup::TableInsert
    - size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void HostLookup::NewEntry(string_view match_data, bool domain_record,
      void *opaque_data_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/tscore/signals.cc:44,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/signals.cc:46,1
    - Dst: sigaction
      Src: /src/trafficserver/src/tscore/signals.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - signo
    - handler
    argTypes:
    - int
    - signal_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: set_signal
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - ink_release_assert
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void set_signal(int signo, signal_handler_t handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/tscore/signals.cc:57,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/signals.cc:59,1
    - Dst: sigaction
      Src: /src/trafficserver/src/tscore/signals.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: signal_reset_default
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - ink_release_assert
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void signal_reset_default(int signo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/tscore/signals.cc:67,1
    - Dst: ink_thread_sigsetmask
      Src: /src/trafficserver/src/tscore/signals.cc:68,1
    - Dst: sigismember
      Src: /src/trafficserver/src/tscore/signals.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: signal_is_masked
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - sigismember
    - sigemptyset
    - ink_thread_sigsetmask
    linkageType: ''
    returnType: bool
    signature: bool signal_is_masked(int signo)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: signal_is_crash
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool signal_is_crash(int signo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/signals.cc:108,1
    - Dst: strsignal
      Src: /src/trafficserver/src/tscore/signals.cc:108,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/signals.cc:110,1
    - Dst: write
      Src: /src/trafficserver/src/tscore/signals.cc:113,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/signals.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - signo
    - info
    - msg
    argTypes:
    - int
    - siginfo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: signal_format_siginfo
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - write
    - snprintf
    - strlen
    - strsignal
    linkageType: ''
    returnType: void
    signature: void signal_format_siginfo(int signo, siginfo_t *info, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_stack_trace_dump
      Src: /src/trafficserver/src/tscore/signals.cc:120,1
    - Dst: signal_reset_default
      Src: /src/trafficserver/src/tscore/signals.cc:123,1
    - Dst: raise
      Src: /src/trafficserver/src/tscore/signals.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: signal_crash_handler
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - ink_stack_trace_dump
    - signal_reset_default
    - raise
    linkageType: ''
    returnType: void
    signature: void signal_crash_handler(int signo, siginfo_t *, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:130,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:131,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:132,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:133,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:134,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - handler
    argTypes:
    - signal_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: signal_register_crash_handler
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - set_signal
    linkageType: ''
    returnType: void
    signature: void signal_register_crash_handler(signal_handler_t handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/tscore/signals.cc:143,1
    - Dst: ink_thread_sigsetmask
      Src: /src/trafficserver/src/tscore/signals.cc:144,1
    - Dst: signal
      Src: /src/trafficserver/src/tscore/signals.cc:147,1
    - Dst: signal
      Src: /src/trafficserver/src/tscore/signals.cc:151,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:153,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:154,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:155,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:156,1
    - Dst: set_signal
      Src: /src/trafficserver/src/tscore/signals.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - handler
    argTypes:
    - signal_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: signal_register_default_handler
    functionSourceFile: /src/trafficserver/src/tscore/signals.cc
    functionUses: 0
    functionsReached:
    - set_signal
    - sigemptyset
    - signal
    - ink_thread_sigsetmask
    linkageType: ''
    returnType: void
    signature: void signal_register_default_handler(signal_handler_t handler)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:49,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:49,1
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:52,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:52,1
    - Dst: alarm
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:59,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:62,1
    - Dst: backtrace
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:63,1
    - Dst: backtrace_symbols_fd
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: ink_stack_trace_dump
    functionSourceFile: /src/trafficserver/src/tscore/ink_stack_trace.cc
    functionUses: 1
    functionsReached:
    - write
    - memset
    - strlen
    - alarm
    - backtrace_symbols_fd
    - backtrace
    linkageType: ''
    returnType: void
    signature: void ink_stack_trace_dump()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: ink_backtrace
    functionSourceFile: /src/trafficserver/src/tscore/ink_stack_trace.cc
    functionUses: 0
    functionsReached:
    - backtrace
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_backtrace(const int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_stack_trace.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ink_stack_trace_dump
    functionSourceFile: /src/trafficserver/src/tscore/ink_stack_trace.cc
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void ink_stack_trace_dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ink_backtrace
    functionSourceFile: /src/trafficserver/src/tscore/ink_stack_trace.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_backtrace(const int /* n */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ats_hugepage_size
    functionSourceFile: /src/trafficserver/src/tscore/hugepages.cc
    functionUses: 4
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: size_t
    signature: size_t ats_hugepage_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: ats_hugepage_enabled
    functionSourceFile: /src/trafficserver/src/tscore/hugepages.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_hugepage_enabled()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:80,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/hugepages.cc:84,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:87,1
    - Dst: fgets
      Src: /src/trafficserver/src/tscore/hugepages.cc:91,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/hugepages.cc:92,1
    - Dst: strtol
      Src: /src/trafficserver/src/tscore/hugepages.cc:97,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/hugepages.cc:99,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/hugepages.cc:106,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: ats_hugepage_init
    functionSourceFile: /src/trafficserver/src/tscore/hugepages.cc
    functionUses: 1
    functionsReached:
    - fclose
    - fopen
    - Dbg
    - fgets
    - strncmp
    - strtol
    linkageType: ''
    returnType: void
    signature: void ats_hugepage_init([[maybe_unused]] int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/hugepages.cc:125,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/hugepages.cc:125,1
    - Dst: mmap
      Src: /src/trafficserver/src/tscore/hugepages.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: ats_alloc_hugepage
    functionSourceFile: /src/trafficserver/src/tscore/hugepages.cc
    functionUses: 2
    functionsReached:
    - Dbg
    - ats_hugepage_size
    - mmap
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      ats_alloc_hugepage([[maybe_unused]] size_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/hugepages.cc:148,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/tscore/hugepages.cc:148,1
    - Dst: munmap
      Src: /src/trafficserver/src/tscore/hugepages.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/hugepages.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: ats_free_hugepage
    functionSourceFile: /src/trafficserver/src/tscore/hugepages.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ats_hugepage_size
    - munmap
    - INK_ALIGN
    linkageType: ''
    returnType: bool
    signature: bool ats_free_hugepage([[maybe_unused]] void *ptr, [[maybe_unused]]
      size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_assert.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expression
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: _ink_assert
    functionSourceFile: /src/trafficserver/src/tscore/ink_assert.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: void
    signature: void _ink_assert(const char *expression, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/trafficserver/src/tscore/Regression.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: progname
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      progname(const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: regression_status_string
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      regression_status_string(int status)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - _n
    - _l
    - _f
    - _o
    argTypes:
    - char*
    - SourceLocation
    - TestFunction*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: RegressionTest::RegressionTest
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegressionTest::RegressionTest(const char *_n, const SourceLocation
      &_l, TestFunction *_f, int _o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Regression.cc:80,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:82,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:86,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Regression.cc:86,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Regression.cc:86,1
    - Dst: regression_status_string
      Src: /src/trafficserver/src/tscore/Regression.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - t
    - regression_level
    argTypes:
    - RegressionTest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: start_test
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - regression_status_string
    - strlen
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int start_test(RegressionTest *t, int regression_level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compile
      Src: /src/trafficserver/src/tscore/Regression.cc:97,1
    - Dst: compile
      Src: /src/trafficserver/src/tscore/Regression.cc:99,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:102,1
    - Dst: match
      Src: /src/trafficserver/src/tscore/Regression.cc:105,1
    - Dst: start_test
      Src: /src/trafficserver/src/tscore/Regression.cc:106,1
    - Dst: RegressionTest::run_some
      Src: /src/trafficserver/src/tscore/Regression.cc:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - atest
    - regression_level
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: RegressionTest::run
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - match
    - compile
    - start_test
    - RegressionTest::run_some
    linkageType: ''
    returnType: int
    signature: int RegressionTest::run(const char *atest, int regression_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/trafficserver/src/tscore/Regression.cc:124,1
    - Dst: fileno
      Src: /src/trafficserver/src/tscore/Regression.cc:124,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:129,1
    - Dst: RegressionTest*::location::str
      Src: /src/trafficserver/src/tscore/Regression.cc:129,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:133,1
    - Dst: RegressionTest*::location::str
      Src: /src/trafficserver/src/tscore/Regression.cc:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: RegressionTest::list
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - isatty
    - fileno
    - RegressionTest*::location::str
    linkageType: ''
    returnType: void
    signature: void RegressionTest::list()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:148,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Regression.cc:148,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Regression.cc:148,1
    - Dst: regression_status_string
      Src: /src/trafficserver/src/tscore/Regression.cc:149,1
    - Dst: match
      Src: /src/trafficserver/src/tscore/Regression.cc:156,1
    - Dst: start_test
      Src: /src/trafficserver/src/tscore/Regression.cc:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - regression_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: RegressionTest::run_some
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - fprintf
    - regression_status_string
    - match
    - start_test
    - strlen
    linkageType: ''
    returnType: int
    signature: int RegressionTest::run_some(int regression_level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegressionTest::run_some
      Src: /src/trafficserver/src/tscore/Regression.cc:174,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:187,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/Regression.cc:187,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Regression.cc:187,1
    - Dst: regression_status_string
      Src: /src/trafficserver/src/tscore/Regression.cc:188,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/Regression.cc:196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - regression_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 211
    functionName: RegressionTest::check_status
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - regression_status_string
    - strlen
    - RegressionTest::run_some
    - printf
    linkageType: ''
    returnType: int
    signature: int RegressionTest::check_status(int regression_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/tscore/Regression.cc:226,1
    - Dst: progname
      Src: /src/trafficserver/src/tscore/Regression.cc:226,1
    - Dst: process_args
      Src: /src/trafficserver/src/tscore/Regression.cc:228,1
    - Dst: countof
      Src: /src/trafficserver/src/tscore/Regression.cc:228,1
    - Dst: RegressionTest::list
      Src: /src/trafficserver/src/tscore/Regression.cc:231,1
    - Dst: RegressionTest::run
      Src: /src/trafficserver/src/tscore/Regression.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argv
    - level
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 237
    functionName: RegressionTest::main
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - progname
    - RegressionTest::run
    - RegressionTest::list
    - process_args
    - countof
    - AppVersionInfo::setup_version
    linkageType: ''
    returnType: int
    signature: int RegressionTest::main(int /* argc */, const char **argv, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:245,1
    - Dst: fputs
      Src: /src/trafficserver/src/tscore/Regression.cc:246,1
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/Regression.cc:249,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:250,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/Regression.cc:251,1
    - Dst: fputs
      Src: /src/trafficserver/src/tscore/Regression.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - t
    - format
    argTypes:
    - RegressionTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: rprintf
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - va_end
    - fputs
    - vsnprintf
    - va_start
    - snprintf
    linkageType: ''
    returnType: int
    signature: int rprintf(RegressionTest *t, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:262,1
    - Dst: fputs
      Src: /src/trafficserver/src/tscore/Regression.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - t
    - tag
    - val
    argTypes:
    - RegressionTest*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: rperf
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - fputs
    linkageType: ''
    returnType: int
    signature: int rperf(RegressionTest *t, const char *tag, double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rprintf
      Src: /src/trafficserver/src/tscore/Regression.cc:271,1
    - Dst: rperf
      Src: /src/trafficserver/src/tscore/Regression.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - t
    - atype
    - status
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/tscore/Regression.cc
    functionUses: 0
    functionsReached:
    - rprintf
    - rperf
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(Regression)(RegressionTest *t, int atype, int
      *status)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:63,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:64,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:64,1
    - Dst: fstat
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:68,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:69,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:69,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:70,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:77,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:78,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:82,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:87,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:87,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:96,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:109,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:109,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:110,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:116,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:117,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - file_path
    - module_name
    - read_size_ptr
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 128
    functionName: readIntoBuffer
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - close
    - read
    - fstat
    - Error
    - static_cast<char *>
    - ats_malloc
    - strerror
    - open
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      readIntoBuffer(const char *file_path, const char *module_name, int *read_size_ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:147,1
    - Dst: strtol
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: unescapifyStr
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - strtol
    linkageType: ''
    returnType: int
    signature: int unescapifyStr(char *buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractIpRange
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:169,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:171,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:171,1
    - Dst: ntohl
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:173,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:173,1
    - Dst: ntohl
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:176,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - match_str
    - min
    - max
    argTypes:
    - char*
    - in_addr_t*
    - in_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: ExtractIpRange
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 1
    functionsReached:
    - ntohl
    - ats_ip4_addr_cast
    - ats_is_ip4
    - ExtractIpRange
    linkageType: ''
    returnType: char
    signature: 'char *

      ExtractIpRange(char *match_str, in_addr_t *min, in_addr_t *max)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:203,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:210,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:218,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:225,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:229,1
    - Dst: htonl
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:240,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:242,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:243,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:244,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:247,1
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:252,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:256,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:258,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - match_str
    - addr1
    - addr2
    argTypes:
    - char*
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 263
    functionName: ExtractIpRange
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 1
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - sscanf
    - ats_ip_copy
    - ats_ip_addr_cmp
    - strchr
    - htonl
    - ats_ip4_set
    - Tokenizer::Initialize
    - ats_ip_pton
    linkageType: ''
    returnType: char
    signature: 'char *

      ExtractIpRange(char *match_str, sockaddr *addr1, sockaddr *addr2)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - last
    - cont
    argTypes:
    - char*
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 306
    functionName: tokLine
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tokLine(char *buf, char **last, char cont)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:341,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:343,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:376,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:379,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:392,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:395,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - str
    - seconds
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 408
    functionName: processDurationString
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - strlen
    - sscanf
    - ParseRules::is_digit
    linkageType: ''
    returnType: char
    signature: 'char *

      processDurationString(char *str, int *seconds)'
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:449,1
    - Dst: isspace
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:458,1
    - Dst: isspace
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:487,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:510,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:511,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:532,1
    - Dst: ParseRules::is_char
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:532,1
    - Dst: isspace
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:537,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:559,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:568,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:570,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:572,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:574,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:576,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:578,1
    - Dst: matcher_tags*::empty
      Src: /src/trafficserver/src/tscore/MatcherUtils.cc:611,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 3
    argNames:
    - line
    - p_line
    - tags
    argTypes:
    - char*
    - matcher_line*
    - matcher_tags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 620
    functionName: parseConfigLine
    functionSourceFile: /src/trafficserver/src/tscore/MatcherUtils.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - ParseRules::is_digit
    - isspace
    - matcher_tags*::empty
    - strcasecmp
    - ParseRules::is_char
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      parseConfigLine(char *line, matcher_line *p_line, const matcher_tags *tags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/src/tscore/Diags.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dtt
    - new_value
    argTypes:
    - DiagsTagType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: DiagsConfigState::enabled
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 1
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void DiagsConfigState::enabled(DiagsTagType dtt, int new_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::set_instance
      Src: /src/trafficserver/src/tscore/Diags.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_ptr
    argTypes:
    - Diags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: DiagsPtr::set
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 6
    functionsReached:
    - DebugInterface::set_instance
    linkageType: ''
    returnType: void
    signature: void DiagsPtr::set(Diags *new_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tell_diags_regression_testing_is_on
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tell_diags_regression_testing_is_on()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:117,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Diags.cc:117,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/tscore/Diags.cc:121,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:128,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:131,1
    - Dst: enabled
      Src: /src/trafficserver/src/tscore/Diags.cc:134,1
    - Dst: enabled
      Src: /src/trafficserver/src/tscore/Diags.cc:135,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:148,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:149,1
    - Dst: open_file
      Src: /src/trafficserver/src/tscore/Diags.cc:150,1
    - Dst: open_file
      Src: /src/trafficserver/src/tscore/Diags.cc:151,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:167,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:168,1
    - Dst: Diags::setup_diagslog
      Src: /src/trafficserver/src/tscore/Diags.cc:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 6
    argNames:
    - prefix_string
    - bdt
    - bat
    - _diags_log
    - dl_perm
    - ol_perm
    argTypes:
    - std::string_view
    - char*
    - char*
    - BaseLogFile*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 176
    functionName: Diags::Diags
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 6
    functionsReached:
    - ink_release_assert
    - BaseLogFile::BaseLogFile
    - open_file
    - Diags::setup_diagslog
    - enabled
    - ats_strdup
    - empty
    - time
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void Diags::Diags(std::string_view prefix_string, const char *bdt,
      const char *bat, BaseLogFile *_diags_log, int dl_perm, int ol_perm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:195,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:196,1
    - Dst: Diags::deactivate_all
      Src: /src/trafficserver/src/tscore/Diags.cc:198,1
    - Dst: Diags::deactivate_all
      Src: /src/trafficserver/src/tscore/Diags.cc:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: Diags::~Diags()
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - Diags::deactivate_all
    linkageType: ''
    returnType: void
    signature: void Diags::~Diags()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:233,1
    - Dst: generate_format_string
      Src: /src/trafficserver/src/tscore/Diags.cc:235,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:241,1
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/Diags.cc:245,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:246,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tscore/Diags.cc:246,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/Diags.cc:247,1
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/Diags.cc:254,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:255,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tscore/Diags.cc:255,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/Diags.cc:256,1
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/Diags.cc:263,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:264,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tscore/Diags.cc:264,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/Diags.cc:265,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:270,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:308,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/tscore/Diags.cc:308,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/Diags.cc:309,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:313,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 5
    argNames:
    - debug_tag
    - diags_level
    - loc
    - format_string
    - ap
    argTypes:
    - char*
    - DiagsLevel
    - SourceLocation*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 315
    functionName: Diags::print_va
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - va_end
    - ink_release_assert
    - va_copy
    - vsnprintf
    - vfprintf
    - generate_format_string
    - swoc::LocalBufferWriter::data
    - syslog
    - lock
    - unlock
    linkageType: ''
    returnType: void
    signature: "void Diags::print_va(const char *debug_tag, DiagsLevel diags_level,
      const SourceLocation *loc, const char *format_string,\n                va_list
      ap) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:337,1
    - Dst: match
      Src: /src/trafficserver/src/tscore/Diags.cc:339,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tag
    - mode
    argTypes:
    - char*
    - DiagsTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: Diags::tag_activated
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - lock
    - match
    - unlock
    linkageType: ''
    returnType: bool
    signature: bool Diags::tag_activated(const char *tag, DiagsTagType mode) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:361,1
    - Dst: DFA::DFA
      Src: /src/trafficserver/src/tscore/Diags.cc:365,1
    - Dst: compile
      Src: /src/trafficserver/src/tscore/Diags.cc:366,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:367,1
    - Dst: diags
      Src: /src/trafficserver/src/tscore/Diags.cc:369,1
    - Dst: DbgCtl::update
      Src: /src/trafficserver/src/tscore/Diags.cc:370,1
    - Dst: Diags::tag_activated
      Src: /src/trafficserver/src/tscore/Diags.cc:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - taglist
    - mode
    argTypes:
    - char*
    - DiagsTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: Diags::activate_taglist
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - DbgCtl::update
    - Diags::tag_activated
    - compile
    - lock
    - DFA::DFA
    - diags
    - unlock
    linkageType: ''
    returnType: void
    signature: void Diags::activate_taglist(const char *taglist, DiagsTagType mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:387,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:392,1
    - Dst: diags
      Src: /src/trafficserver/src/tscore/Diags.cc:393,1
    - Dst: DbgCtl::update
      Src: /src/trafficserver/src/tscore/Diags.cc:394,1
    - Dst: Diags::tag_activated
      Src: /src/trafficserver/src/tscore/Diags.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DiagsTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: Diags::deactivate_all
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 1
    functionsReached:
    - DbgCtl::update
    - Diags::tag_activated
    - lock
    - diags
    - unlock
    linkageType: ''
    returnType: void
    signature: void Diags::deactivate_all(DiagsTagType mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:409,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:410,1
    - Dst: enabled
      Src: /src/trafficserver/src/tscore/Diags.cc:410,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:411,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:412,1
    - Dst: enabled
      Src: /src/trafficserver/src/tscore/Diags.cc:412,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:413,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:414,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/Diags.cc:416,1
    - Dst: level_name
      Src: /src/trafficserver/src/tscore/Diags.cc:416,1
    - Dst: static_cast<DiagsLevel>
      Src: /src/trafficserver/src/tscore/Diags.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 419
    functionName: Diags::dump
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - static_cast<DiagsLevel>
    - enabled
    - level_name
    linkageType: ''
    returnType: void
    signature: void Diags::dump(FILE *fp) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Diags::print_va
      Src: /src/trafficserver/src/tscore/Diags.cc:424,1
    - Dst: DiagsLevel_IsTerminal
      Src: /src/trafficserver/src/tscore/Diags.cc:426,1
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/Diags.cc:429,1
    - Dst: cleanup_func
      Src: /src/trafficserver/src/tscore/Diags.cc:431,1
    - Dst: ink_emergency_va
      Src: /src/trafficserver/src/tscore/Diags.cc:436,1
    - Dst: ink_fatal_va
      Src: /src/trafficserver/src/tscore/Diags.cc:438,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/Diags.cc:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - level
    - loc
    - format_string
    - ap
    argTypes:
    - DiagsLevel
    - SourceLocation*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: Diags::error_va
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_copy
    - DiagsLevel_IsTerminal
    - ink_emergency_va
    - ink_fatal_va
    - Diags::print_va
    - cleanup_func
    linkageType: ''
    returnType: void
    signature: void Diags::error_va(DiagsLevel level, const SourceLocation *loc, const
      char *format_string, va_list ap) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile*::open_file
      Src: /src/trafficserver/src/tscore/Diags.cc:454,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:455,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/Diags.cc:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - blf
    argTypes:
    - BaseLogFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: Diags::setup_diagslog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 1
    functionsReached:
    - strerror
    - BaseLogFile*::open_file
    - log_log_error
    linkageType: ''
    returnType: bool
    signature: bool Diags::setup_diagslog(BaseLogFile *blf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - re
    - ri
    - rs
    argTypes:
    - RollingEnabledValues
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: Diags::config_roll_diagslog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Diags::config_roll_diagslog(RollingEnabledValues re, int ri, int
      rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - re
    - ri
    - rs
    argTypes:
    - RollingEnabledValues
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: Diags::config_roll_outputlog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Diags::config_roll_outputlog(RollingEnabledValues re, int ri,
      int rs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_init
      Src: /src/trafficserver/src/tscore/Diags.cc:496,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:499,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:500,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:500,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:501,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:502,1
    - Dst: Diags::setup_diagslog
      Src: /src/trafficserver/src/tscore/Diags.cc:503,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:505,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:507,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 512
    functionName: Diags::reseat_diagslog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - BaseLogFile::BaseLogFile
    - Diags::setup_diagslog
    - log_log_trace
    - ats_strdup
    - get_name
    - fflush
    - is_init
    - lock
    - unlock
    linkageType: ''
    returnType: bool
    signature: bool Diags::reseat_diagslog()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:532,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:533,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:535,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:536,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/tscore/Diags.cc:537,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:537,1
    - Dst: is_init
      Src: /src/trafficserver/src/tscore/Diags.cc:540,1
    - Dst: fstat
      Src: /src/trafficserver/src/tscore/Diags.cc:545,1
    - Dst: fileno
      Src: /src/trafficserver/src/tscore/Diags.cc:545,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/tscore/Diags.cc:550,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:551,1
    - Dst: roll
      Src: /src/trafficserver/src/tscore/Diags.cc:552,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:553,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:553,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:554,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:555,1
    - Dst: Diags::setup_diagslog
      Src: /src/trafficserver/src/tscore/Diags.cc:556,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:558,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:560,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:563,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:571,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:573,1
    - Dst: roll
      Src: /src/trafficserver/src/tscore/Diags.cc:574,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:576,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:576,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:577,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:578,1
    - Dst: Diags::setup_diagslog
      Src: /src/trafficserver/src/tscore/Diags.cc:579,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:581,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:583,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:586,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 594
    functionName: Diags::should_roll_diagslog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - ats_free
    - BaseLogFile::BaseLogFile
    - fileno
    - fstat
    - Diags::setup_diagslog
    - log_log_trace
    - ats_strdup
    - lock
    - get_name
    - fflush
    - is_init
    - time
    - roll
    - unlock
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool Diags::should_roll_diagslog()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:613,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:614,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:619,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:620,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:622,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:623,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/tscore/Diags.cc:624,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:624,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:625,1
    - Dst: is_init
      Src: /src/trafficserver/src/tscore/Diags.cc:628,1
    - Dst: fstat
      Src: /src/trafficserver/src/tscore/Diags.cc:633,1
    - Dst: fileno
      Src: /src/trafficserver/src/tscore/Diags.cc:633,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/tscore/Diags.cc:638,1
    - Dst: is_init
      Src: /src/trafficserver/src/tscore/Diags.cc:641,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:642,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:644,1
    - Dst: roll
      Src: /src/trafficserver/src/tscore/Diags.cc:646,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:647,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:647,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:648,1
    - Dst: Diags::set_std_output
      Src: /src/trafficserver/src/tscore/Diags.cc:649,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/Diags.cc:653,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:653,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:654,1
    - Dst: Diags::set_std_output
      Src: /src/trafficserver/src/tscore/Diags.cc:655,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:658,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/Diags.cc:666,1
    - Dst: is_init
      Src: /src/trafficserver/src/tscore/Diags.cc:670,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:671,1
    - Dst: fflush
      Src: /src/trafficserver/src/tscore/Diags.cc:673,1
    - Dst: roll
      Src: /src/trafficserver/src/tscore/Diags.cc:675,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/Diags.cc:677,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:677,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:678,1
    - Dst: Diags::set_std_output
      Src: /src/trafficserver/src/tscore/Diags.cc:679,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/Diags.cc:683,1
    - Dst: get_name
      Src: /src/trafficserver/src/tscore/Diags.cc:683,1
    - Dst: log_log_trace
      Src: /src/trafficserver/src/tscore/Diags.cc:684,1
    - Dst: Diags::set_std_output
      Src: /src/trafficserver/src/tscore/Diags.cc:685,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Diags.cc:688,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:705,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 709
    functionName: Diags::should_roll_outputlog
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - strcmp
    - ats_free
    - fileno
    - fstat
    - log_log_trace
    - ats_strdup
    - get_name
    - fflush
    - is_init
    - Diags::set_std_output
    - time
    - roll
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool Diags::should_roll_outputlog()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/Diags.cc:725,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/Diags.cc:739,1
    - Dst: open_file
      Src: /src/trafficserver/src/tscore/Diags.cc:742,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:743,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:744,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:746,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:748,1
    - Dst: is_open
      Src: /src/trafficserver/src/tscore/Diags.cc:751,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:752,1
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:753,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:755,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:757,1
    - Dst: lock
      Src: /src/trafficserver/src/tscore/Diags.cc:762,1
    - Dst: Diags::rebind_std_stream
      Src: /src/trafficserver/src/tscore/Diags.cc:764,1
    - Dst: fileno
      Src: /src/trafficserver/src/tscore/Diags.cc:764,1
    - Dst: unlock
      Src: /src/trafficserver/src/tscore/Diags.cc:765,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Diags.cc:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - stream
    - file
    argTypes:
    - StdStream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 776
    functionName: Diags::set_std_output
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - BaseLogFile::BaseLogFile
    - fileno
    - Diags::rebind_std_stream
    - ink_release_assert
    - log_log_error
    - open_file
    - is_open
    - lock
    - unlock
    linkageType: ''
    returnType: bool
    signature: bool Diags::set_std_output(StdStream stream, const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_log_error
      Src: /src/trafficserver/src/tscore/Diags.cc:800,1
    - Dst: dup2
      Src: /src/trafficserver/src/tscore/Diags.cc:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - new_fd
    argTypes:
    - StdStream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 806
    functionName: Diags::rebind_std_stream
    functionSourceFile: /src/trafficserver/src/tscore/Diags.cc
    functionUses: 1
    functionsReached:
    - dup2
    - log_log_error
    linkageType: ''
    returnType: bool
    signature: bool Diags::rebind_std_stream(StdStream stream, int new_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eventfd
      Src: /src/trafficserver/src/tscore/EventNotify.cc:46,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/EventNotify.cc:47,1
    - Dst: epoll_create
      Src: /src/trafficserver/src/tscore/EventNotify.cc:52,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/EventNotify.cc:53,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/tscore/EventNotify.cc:55,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/EventNotify.cc:56,1
    - Dst: ink_cond_init
      Src: /src/trafficserver/src/tscore/EventNotify.cc:58,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/tscore/EventNotify.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: EventNotify::EventNotify
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - eventfd
    - ink_release_assert
    - epoll_ctl
    - ink_cond_init
    - epoll_create
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void EventNotify::EventNotify()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/tscore/EventNotify.cc:73,1
    - Dst: write
      Src: /src/trafficserver/src/tscore/EventNotify.cc:73,1
    - Dst: ink_cond_signal
      Src: /src/trafficserver/src/tscore/EventNotify.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: EventNotify::signal
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - write
    - ATS_UNUSED_RETURN
    - ink_cond_signal
    linkageType: ''
    returnType: void
    signature: void EventNotify::signal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epoll_wait
      Src: /src/trafficserver/src/tscore/EventNotify.cc:88,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/EventNotify.cc:95,1
    - Dst: ink_cond_wait
      Src: /src/trafficserver/src/tscore/EventNotify.cc:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: EventNotify::wait
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - read
    - epoll_wait
    - ink_cond_wait
    linkageType: ''
    returnType: int
    signature: int EventNotify::wait()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: epoll_wait
      Src: /src/trafficserver/src/tscore/EventNotify.cc:125,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/EventNotify.cc:134,1
    - Dst: ink_hrtime_to_timespec
      Src: /src/trafficserver/src/tscore/EventNotify.cc:143,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/tscore/EventNotify.cc:143,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/tscore/EventNotify.cc:143,1
    - Dst: ink_cond_timedwait
      Src: /src/trafficserver/src/tscore/EventNotify.cc:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: EventNotify::timedwait
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - read
    - HRTIME_SECONDS
    - ink_cond_timedwait
    - epoll_wait
    - ink_hrtime_to_timespec
    linkageType: ''
    returnType: int
    signature: int EventNotify::timedwait(int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/EventNotify.cc:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: EventNotify::lock
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void EventNotify::lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_try_acquire
      Src: /src/trafficserver/src/tscore/EventNotify.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: EventNotify::trylock
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_try_acquire
    linkageType: ''
    returnType: bool
    signature: bool EventNotify::trylock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/EventNotify.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: EventNotify::unlock
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void EventNotify::unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/tscore/EventNotify.cc:181,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/EventNotify.cc:182,1
    - Dst: ink_cond_destroy
      Src: /src/trafficserver/src/tscore/EventNotify.cc:184,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/tscore/EventNotify.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: EventNotify::~EventNotify()
    functionSourceFile: /src/trafficserver/src/tscore/EventNotify.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - close
    - ink_cond_destroy
    linkageType: ''
    returnType: void
    signature: void EventNotify::~EventNotify()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/ink_args.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ArgumentDescription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: arg_is_version_flag
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool arg_is_version_flag(const ArgumentDescription *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/tscore/ink_args.cc:69,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/ink_args.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: append_file_argument
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 0
    functionsReached:
    - countof
    - ink_fatal
    linkageType: ''
    returnType: void
    signature: void append_file_argument(const char *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: arg_is_version_flag
      Src: /src/trafficserver/src/tscore/ink_args.cc:82,1
    - Dst: ink_fputln
      Src: /src/trafficserver/src/tscore/ink_args.cc:83,1
    - Dst: AppVersionInfo*::full_version
      Src: /src/trafficserver/src/tscore/ink_args.cc:83,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ink_args.cc:84,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:90,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:92,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:92,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:100,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_args.cc:100,1
    - Dst: static_cast<double *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:103,1
    - Dst: atof
      Src: /src/trafficserver/src/tscore/ink_args.cc:103,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:106,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/tscore/ink_args.cc:106,1
    - Dst: static_cast<char **>
      Src: /src/trafficserver/src/tscore/ink_args.cc:110,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/tscore/ink_args.cc:111,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_args.cc:113,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:113,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_args.cc:113,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/ink_args.cc:117,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_args.cc:120,1
    - Dst: pfn
      Src: /src/trafficserver/src/tscore/ink_args.cc:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - appinfo
    - argument_descriptions
    - n_argument_descriptions
    - i
    - argv
    argTypes:
    - AppVersionInfo*
    - ArgumentDescription*
    - unsigned
    - int
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 129
    functionName: process_arg
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    - ink_atoi64
    - ink_fputln
    - AppVersionInfo*::full_version
    - static_cast<char **>
    - atoi
    - ats_strdup
    - static_cast<int64_t *>
    - atof
    - static_cast<double *>
    - static_cast<char *>
    - ink_fatal
    - static_cast<int *>
    - exit
    - strlen
    - pfn
    - arg_is_version_flag
    linkageType: ''
    returnType: bool
    signature: "bool process_arg(const AppVersionInfo *appinfo, const ArgumentDescription
      *argument_descriptions, unsigned n_argument_descriptions,\n            int i,
      const char ***argv)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:134,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:137,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:142,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:142,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:145,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:145,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:148,1
    - Dst: static_cast<double *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:148,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:151,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:151,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:154,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:154,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/ink_args.cc:157,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_args.cc:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - argument_descriptions
    - n_argument_descriptions
    argTypes:
    - ArgumentDescription*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: show_argument_configuration
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 0
    functionsReached:
    - static_cast<int *>
    - static_cast<char *>
    - ink_fatal
    - static_cast<double *>
    - static_cast<int64_t *>
    - printf
    linkageType: ''
    returnType: void
    signature: void show_argument_configuration(const ArgumentDescription *argument_descriptions,
      unsigned n_argument_descriptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_args_ex
      Src: /src/trafficserver/src/tscore/ink_args.cc:169,1
    - Dst: usage
      Src: /src/trafficserver/src/tscore/ink_args.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - appinfo
    - argument_descriptions
    - n_argument_descriptions
    - argv
    - usage_string
    argTypes:
    - AppVersionInfo*
    - ArgumentDescription*
    - unsigned
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: process_args
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 5
    functionsReached:
    - usage
    - process_args_ex
    linkageType: ''
    returnType: void
    signature: "void process_args(const AppVersionInfo *appinfo, const ArgumentDescription
      *argument_descriptions, unsigned n_argument_descriptions,\n             const
      char **argv, const char *usage_string)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ink_args.cc:185,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:193,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_args.cc:193,1
    - Dst: static_cast<double *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:196,1
    - Dst: atof
      Src: /src/trafficserver/src/tscore/ink_args.cc:196,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:199,1
    - Dst: atoll
      Src: /src/trafficserver/src/tscore/ink_args.cc:199,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_args.cc:202,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:202,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_args.cc:202,1
    - Dst: AppVersionInfo*::application
      Src: /src/trafficserver/src/tscore/ink_args.cc:210,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/ink_args.cc:213,1
    - Dst: append_file_argument
      Src: /src/trafficserver/src/tscore/ink_args.cc:214,1
    - Dst: append_file_argument
      Src: /src/trafficserver/src/tscore/ink_args.cc:220,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_args.cc:229,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/tscore/ink_args.cc:229,1
    - Dst: strcmp
      Src: /src/trafficserver/src/tscore/ink_args.cc:233,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_args.cc:234,1
    - Dst: process_arg
      Src: /src/trafficserver/src/tscore/ink_args.cc:235,1
    - Dst: process_arg
      Src: /src/trafficserver/src/tscore/ink_args.cc:249,1
    - Dst: append_file_argument
      Src: /src/trafficserver/src/tscore/ink_args.cc:266,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 72
    argCount: 4
    argNames:
    - appinfo
    - argument_descriptions
    - n_argument_descriptions
    - argv
    argTypes:
    - AppVersionInfo*
    - ArgumentDescription*
    - unsigned
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 271
    functionName: process_args_ex
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - append_file_argument
    - ink_strlcpy
    - std::string_view::substr
    - static_cast<char *>
    - atoi
    - process_arg
    - static_cast<int64_t *>
    - atof
    - static_cast<double *>
    - getenv
    - AppVersionInfo*::application
    - static_cast<int *>
    - std::string_view::size
    - strlen
    - atoll
    linkageType: ''
    returnType: bool
    signature: "bool process_args_ex(const AppVersionInfo *appinfo, const ArgumentDescription
      *argument_descriptions, unsigned n_argument_descriptions,\n                const
      char **argv)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:280,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:282,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:284,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:290,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:293,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:295,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:298,1
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/ink_args.cc:300,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_args.cc:301,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:304,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:307,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:307,1
    - Dst: static_cast<char **>
      Src: /src/trafficserver/src/tscore/ink_args.cc:312,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:314,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_args.cc:318,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:319,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:321,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:324,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:329,1
    - Dst: static_cast<double *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:329,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:332,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:332,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:338,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/tscore/ink_args.cc:338,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:340,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_args.cc:344,1
    - Dst: my_exit
      Src: /src/trafficserver/src/tscore/ink_args.cc:346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 3
    argNames:
    - argument_descriptions
    - n_argument_descriptions
    - usage_string
    argTypes:
    - ArgumentDescription*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 347
    functionName: usage
    functionSourceFile: /src/trafficserver/src/tscore/ink_args.cc
    functionUses: 3
    functionsReached:
    - static_cast<int *>
    - fprintf
    - static_cast<char **>
    - static_cast<char *>
    - my_exit
    - strchr
    - static_cast<double *>
    - strlen
    - static_cast<int64_t *>
    linkageType: ''
    returnType: void
    signature: void usage(const ArgumentDescription *argument_descriptions, unsigned
      n_argument_descriptions, const char *usage_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/trafficserver/src/tscore/ink_defs.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ink_login_name_max
    functionSourceFile: /src/trafficserver/src/tscore/ink_defs.cc
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: int
    signature: int ink_login_name_max()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: isascii
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isascii(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - statp
    argTypes:
    - ink_res_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ink_res_nclose
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ink_res_nclose(ink_res_state statp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_res_nclose
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:127,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:141,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - statp
    - set
    - cnt
    argTypes:
    - ink_res_state
    - IpEndpoint*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ink_res_setservers
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - ink_res_nclose
    - ats_is_ip
    linkageType: ''
    returnType: void
    signature: void ink_res_setservers(ink_res_state statp, IpEndpoint const *set,
      int cnt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:159,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:168,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:169,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:177,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:180,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:181,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:189,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:192,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:193,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:201,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:204,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:207,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:210,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:212,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:213,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:215,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:217,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:219,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:223,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:227,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 3
    argNames:
    - statp
    - options
    - ATS_UNUSED
    argTypes:
    - ink_res_state
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 237
    functionName: ink_res_setoptions
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - atoi
    - printf
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ink_res_setoptions(ink_res_state statp, const char *options, const
      char *source ATS_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:244,1
    - Dst: getpid
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: ink_res_randomid
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - getpid
    linkageType: ''
    returnType: unsigned
    signature: unsigned ink_res_randomid()
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ink_res_randomid
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:297,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:306,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:307,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:350,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:351,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:356,1
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:357,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:392,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:393,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:400,1
    - Dst: fgets
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:402,1
    - Dst: MATCH
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:408,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:419,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:420,1
    - Dst: MATCH
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:427,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:438,1
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:439,1
    - Dst: MATCH
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:468,1
    - Dst: strcspn
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:474,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:475,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:477,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:478,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:478,1
    - Dst: MATCH
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:485,1
    - Dst: ink_res_setoptions
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:486,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:490,1
    - Dst: gethostname
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:497,1
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:497,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:498,1
    - Dst: strchr
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:518,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:526,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:528,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:530,1
    - Dst: ink_res_setservers
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:536,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:538,1
    - Dst: ink_res_setoptions
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:539,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 197
    argCount: 7
    argNames:
    - statp
    - pHostList
    - pHostListSize
    - dnsSearch
    - pDefDomain
    - pSearchList
    - pResolvConf
    argTypes:
    - ink_res_state
    - IpEndpoint*
    - size_t
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 543
    functionName: ink_res_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - ink_res_randomid
    - strchr
    - strcspn
    - gethostname
    - ink_strlcpy
    - ink_res_setoptions
    - fclose
    - strpbrk
    - ats_is_ip
    - ink_res_setservers
    - htons
    - getenv
    - ats_ip_port_cast
    - printf
    - ats_ip_pton
    - MATCH
    - fopen
    - ats_ip_port_host_order
    - fgets
    linkageType: ''
    returnType: int
    signature: "int ink_res_init(ink_res_state     statp,         ///< State object
      to update.\n             IpEndpoint const *pHostList,     ///< Additional servers.\n
      \            size_t            pHostListSize, ///< # of entries in @a pHostList.\n
      \            int               dnsSearch,     /// Option of search_default_domains.\n
      \            const char       *pDefDomain,    ///< Default domain (may be nullptr).\n
      \            const char       *pSearchList,   ///< Unknown\n             const
      char       *pResolvConf    ///< Path to configuration file.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: MATCH
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(line, name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:555,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:561,1
    - Dst: HostResPreferenceOrder::size
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:561,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:565,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:573,1
    - Dst: static_cast<HostResPreference>
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:574,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - value
    - order
    argTypes:
    - char*
    - HostResPreferenceOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 597
    functionName: parse_host_res_preference
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<HostResPreference>
    - HostResPreferenceOrder::size
    - strcasecmp
    - Tokenizer::Initialize
    linkageType: ''
    returnType: void
    signature: void parse_host_res_preference(const char *value, HostResPreferenceOrder
      &order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_res_init.cc:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - order
    - out
    - size
    argTypes:
    - HostResPreferenceOrder
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 617
    functionName: ts_host_res_order_to_string
    functionSourceFile: /src/trafficserver/src/tscore/ink_res_init.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int ts_host_res_order_to_string(HostResPreferenceOrder const &order,
      char *out, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Schema::~Schema()
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema::~Schema()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:47,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:53,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ext::details::Schema::updateMemOffsets
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - max
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void Schema::updateMemOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/Extendible.cc:93,1
    - Dst: ext::details::Schema::updateMemOffsets
      Src: /src/trafficserver/src/tscore/Extendible.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ext::details::Schema::reset
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::details::Schema::updateMemOffsets
    - clear
    linkageType: ''
    returnType: bool
    signature: bool Schema::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:101,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:103,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: second::constructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ext::details::Schema::callConstructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - memset
    - ink_assert
    - reinterpret_cast<void *>
    - second::constructor
    - FieldPtr
    linkageType: ''
    returnType: void
    signature: void Schema::callConstructor(uintptr_t ext_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:118,1
    - Dst: second::destructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ext::details::Schema::callDestructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - second::destructor
    - FieldPtr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Schema::callDestructor(uintptr_t ext_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:129,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/tscore/Extendible.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ext::details::Schema::fullSize
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - ink_assert
    linkageType: ''
    returnType: size_t
    signature: size_t Schema::fullSize(const size_t base_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ext::details::Schema::no_instances
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Schema::no_instances() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ext::details::areFieldsFinalized
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool &\n  areFieldsFinalized()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Schema::~Schema()
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema::~Schema()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:47,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:53,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ext::details::Schema::updateMemOffsets
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 1
    functionsReached:
    - max
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void Schema::updateMemOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/Extendible.cc:93,1
    - Dst: ext::details::Schema::updateMemOffsets
      Src: /src/trafficserver/src/tscore/Extendible.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ext::details::Schema::reset
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::details::Schema::updateMemOffsets
    - clear
    linkageType: ''
    returnType: bool
    signature: bool Schema::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:101,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:103,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: second::constructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ext::details::Schema::callConstructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - memset
    - ink_assert
    - reinterpret_cast<void *>
    - second::constructor
    - FieldPtr
    linkageType: ''
    returnType: void
    signature: void Schema::callConstructor(uintptr_t ext_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:118,1
    - Dst: second::destructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ext::details::Schema::callDestructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - second::destructor
    - FieldPtr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Schema::callDestructor(uintptr_t ext_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:129,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/tscore/Extendible.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ext::details::Schema::fullSize
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - ink_assert
    linkageType: ''
    returnType: size_t
    signature: size_t Schema::fullSize(const size_t base_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ext::details::Schema::no_instances
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Schema::no_instances() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ext::details::areFieldsFinalized
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool &\n  areFieldsFinalized()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Schema::~Schema()
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema::~Schema()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:47,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:53,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ext::details::Schema::updateMemOffsets
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 2
    functionsReached:
    - max
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void Schema::updateMemOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/Extendible.cc:93,1
    - Dst: ext::details::Schema::updateMemOffsets
      Src: /src/trafficserver/src/tscore/Extendible.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ext::details::Schema::reset
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::details::Schema::updateMemOffsets
    - clear
    linkageType: ''
    returnType: bool
    signature: bool Schema::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:101,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:103,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: second::constructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ext::details::Schema::callConstructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - memset
    - ink_assert
    - reinterpret_cast<void *>
    - second::constructor
    - FieldPtr
    linkageType: ''
    returnType: void
    signature: void Schema::callConstructor(uintptr_t ext_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:118,1
    - Dst: second::destructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ext::details::Schema::callDestructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - second::destructor
    - FieldPtr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Schema::callDestructor(uintptr_t ext_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:129,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/tscore/Extendible.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ext::details::Schema::fullSize
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - ink_assert
    linkageType: ''
    returnType: size_t
    signature: size_t Schema::fullSize(const size_t base_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ext::details::Schema::no_instances
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Schema::no_instances() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ext::details::areFieldsFinalized
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool &\n  areFieldsFinalized()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Schema::~Schema()
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema::~Schema()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:47,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:53,1
    - Dst: max
      Src: /src/trafficserver/src/tscore/Extendible.cc:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ext::details::Schema::updateMemOffsets
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 3
    functionsReached:
    - max
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void Schema::updateMemOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/Extendible.cc:93,1
    - Dst: ext::details::Schema::updateMemOffsets
      Src: /src/trafficserver/src/tscore/Extendible.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ext::details::Schema::reset
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::details::Schema::updateMemOffsets
    - clear
    linkageType: ''
    returnType: bool
    signature: bool Schema::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:101,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:103,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscore/Extendible.cc:106,1
    - Dst: second::constructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ext::details::Schema::callConstructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - memset
    - ink_assert
    - reinterpret_cast<void *>
    - second::constructor
    - FieldPtr
    linkageType: ''
    returnType: void
    signature: void Schema::callConstructor(uintptr_t ext_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:118,1
    - Dst: second::destructor
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ext_loc
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ext::details::Schema::callDestructor
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - second::destructor
    - FieldPtr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Schema::callDestructor(uintptr_t ext_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:129,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/tscore/Extendible.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ext::details::Schema::fullSize
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - ink_assert
    linkageType: ''
    returnType: size_t
    signature: size_t Schema::fullSize(const size_t base_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ext::details::Schema::no_instances
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Schema::no_instances() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ext::details::areFieldsFinalized
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool &\n  areFieldsFinalized()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:156,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Extendible.cc:157,1
    - Dst: static_cast<FieldDesc const *>
      Src: /src/trafficserver/src/tscore/Extendible.cc:158,1
    - Dst: FieldPtr
      Src: /src/trafficserver/src/tscore/Extendible.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - derived
    - field_context
    - size
    argTypes:
    - DerivedPtr
    - ExtFieldContext
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: ExtFieldPtr
    functionSourceFile: /src/trafficserver/src/tscore/Extendible.cc
    functionUses: 0
    functionsReached:
    - static_cast<FieldDesc const *>
    - FieldPtr
    - ink_assert
    linkageType: ''
    returnType: FieldPtr
    signature: FieldPtr ExtFieldPtr(DerivedPtr derived, ExtFieldContext field_context,
      int *size /*= nullptr*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:49,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: TextBuffer::TextBuffer
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void TextBuffer::TextBuffer(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: TextBuffer::~TextBuffer()
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void TextBuffer::~TextBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: TextBuffer::release
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TextBuffer::release()'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: TextBuffer::reUse
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBuffer::reUse()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::enlargeBuffer
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:101,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - source
    - num_bytes
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: TextBuffer::copyFrom
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TextBuffer::enlargeBuffer
    linkageType: ''
    returnType: int
    signature: int TextBuffer::copyFrom(const void *source, unsigned num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:138,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:138,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - N
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: TextBuffer::enlargeBuffer
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 1
    functionsReached:
    - ats_realloc
    - static_cast<unsigned>
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int TextBuffer::enlargeBuffer(unsigned N)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::enlargeBuffer
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:169,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: TextBuffer::rawReadFromFile
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached:
    - read
    - TextBuffer::enlargeBuffer
    linkageType: ''
    returnType: int
    signature: int TextBuffer::rawReadFromFile(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::readFromFD
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: TextBuffer::slurp
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 2
    functionsReached:
    - TextBuffer::readFromFD
    linkageType: ''
    returnType: void
    signature: void TextBuffer::slurp(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::enlargeBuffer
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:212,1
    - Dst: read
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: TextBuffer::readFromFD
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 2
    functionsReached:
    - read
    - TextBuffer::enlargeBuffer
    linkageType: ''
    returnType: int
    signature: int TextBuffer::readFromFD(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:242,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:244,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:246,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:248,1
    - Dst: TextBuffer::enlargeBuffer
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: TextBuffer::vformat
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 0
    functionsReached:
    - va_end
    - vsnprintf
    - va_copy
    - static_cast<unsigned>
    - TextBuffer::enlargeBuffer
    linkageType: ''
    returnType: void
    signature: void TextBuffer::vformat(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:268,1
    - Dst: TextBuffer::vformat
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:269,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/TextBuffer.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: TextBuffer::format
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - TextBuffer::vformat
    linkageType: ''
    returnType: void
    signature: void TextBuffer::format(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: TextBuffer::chomp
    functionSourceFile: /src/trafficserver/src/tscore/TextBuffer.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBuffer::chomp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/ink_file.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - path
    - oflag
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: safe_open
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int safe_open(char const *path, int oflag, mode_t mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/trafficserver/src/tscore/ink_file.cc:68,1
    - Dst: fputc
      Src: /src/trafficserver/src/tscore/ink_file.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - s
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: ink_fputln
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 1
    functionsReached:
    - fputc
    - fputs
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t ink_fputln(FILE *stream, const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/tscore/ink_file.cc:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - fd
    - bufsz
    - buf
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: ink_file_fd_readline
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int ink_file_fd_readline(int fd, int bufsz, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_file.cc:131,1
    - Dst: write
      Src: /src/trafficserver/src/tscore/ink_file.cc:131,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscore/ink_file.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - buf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: ink_file_fd_writestring
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<size_t>
    - write
    - strlen
    linkageType: ''
    returnType: int
    signature: int ink_file_fd_writestring(int fd, const char *buf)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/trafficserver/src/tscore/ink_file.cc:192,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:197,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:198,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscore/ink_file.cc:201,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:225,1
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/ink_file.cc:261,1
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/ink_file.cc:262,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:273,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:298,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:313,1
    - Dst: strncmp
      Src: /src/trafficserver/src/tscore/ink_file.cc:327,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 112
    argCount: 5
    argNames:
    - path
    - pathsz
    - rootpath
    - addpath
    - flags
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 336
    functionName: ink_filepath_merge
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - getcwd
    - strlen
    - strncmp
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int ink_filepath_merge(char *path, int pathsz, const char *rootpath,
      const char *addpath, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:352,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:357,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:360,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:361,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscore/ink_file.cc:362,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_file.cc:364,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:366,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/ink_file.cc:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - path
    - pathsz
    - rootpath
    - addpath
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 375
    functionName: ink_filepath_make
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<size_t>
    - strlen
    - ink_strlcpy
    linkageType: ''
    returnType: int
    signature: int ink_filepath_make(char *path, int pathsz, const char *rootpath,
      const char *addpath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/trafficserver/src/tscore/ink_file.cc:381,1
    - Dst: posix_fallocate
      Src: /src/trafficserver/src/tscore/ink_file.cc:388,1
    - Dst: ftruncate
      Src: /src/trafficserver/src/tscore/ink_file.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: ink_file_fd_zerofill
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - ftruncate
    - posix_fallocate
    linkageType: ''
    returnType: int
    signature: int ink_file_fd_zerofill(int fd, off_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/tscore/ink_file.cc:405,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/src/tscore/ink_file.cc:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: ink_file_is_directory
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - stat
    linkageType: ''
    returnType: bool
    signature: bool ink_file_is_directory(const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/trafficserver/src/tscore/ink_file.cc:416,1
    - Dst: S_ISBLK
      Src: /src/trafficserver/src/tscore/ink_file.cc:422,1
    - Dst: S_ISCHR
      Src: /src/trafficserver/src/tscore/ink_file.cc:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - st_mode
    argTypes:
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: ink_file_is_mmappable
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - S_ISREG
    - S_ISBLK
    - S_ISCHR
    linkageType: ''
    returnType: bool
    signature: bool ink_file_is_mmappable(mode_t st_mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_file.cc:438,1
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_file.cc:445,1
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_file.cc:451,1
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_file.cc:467,1
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_file.cc:472,1
    - Dst: ioctl
      Src: /src/trafficserver/src/tscore/ink_file.cc:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - ATS_UNUSED
    - geometry
    argTypes:
    - int
    - ink_device_geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: ink_file_get_geometry
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - ioctl
    linkageType: ''
    returnType: bool
    signature: bool ink_file_get_geometry(int fd ATS_UNUSED, ink_device_geometry &geometry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pathconf
      Src: /src/trafficserver/src/tscore/ink_file.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 513
    functionName: ink_file_namemax
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - pathconf
    linkageType: ''
    returnType: size_t
    signature: size_t ink_file_namemax(const char *path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_file.cc:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - perms
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 559
    functionName: ink_fileperm_parse
    functionSourceFile: /src/trafficserver/src/tscore/ink_file.cc
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int ink_fileperm_parse(const char *perms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FrequencyCounter::_ink_get_hrtime
      Src: /src/trafficserver/src/tscore/FrequencyCounter.cc:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - amount
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: FrequencyCounter::increment
    functionSourceFile: /src/trafficserver/src/tscore/FrequencyCounter.cc
    functionUses: 0
    functionsReached:
    - FrequencyCounter::_ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void FrequencyCounter::increment(uint16_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: FrequencyCounter::get_count
    functionSourceFile: /src/trafficserver/src/tscore/FrequencyCounter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FrequencyCounter::get_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/tscore/FrequencyCounter.cc:60,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/tscore/FrequencyCounter.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: FrequencyCounter::_ink_get_hrtime
    functionSourceFile: /src/trafficserver/src/tscore/FrequencyCounter.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - ink_hrtime_to_sec
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime FrequencyCounter::_ink_get_hrtime()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Encoding.cc:108,1
    - Dst: Arena*::str_alloc
      Src: /src/trafficserver/src/tscore/Encoding.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/Encoding.cc:155,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    - pure_escape
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 173
    functionName: escapify_url_common
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Arena*::str_alloc
    - ink_strlcpy
    linkageType: ''
    returnType: char
    signature: "char *\nescapify_url_common(Arena *arena, char *url, size_t len_in,
      int *len_out, char *dst, size_t dst_size, const unsigned char *map,\n                    bool
      pure_escape)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Encoding.cc:108,1
    - Dst: Arena*::str_alloc
      Src: /src/trafficserver/src/tscore/Encoding.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/Encoding.cc:155,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    - pure_escape
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 173
    functionName: escapify_url_common
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Arena*::str_alloc
    - ink_strlcpy
    linkageType: ''
    returnType: char
    signature: "char *\nescapify_url_common(Arena *arena, char *url, size_t len_in,
      int *len_out, char *dst, size_t dst_size, const unsigned char *map,\n                    bool
      pure_escape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escapify_url_common
      Src: /src/trafficserver/src/tscore/Encoding.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Encoding::escapify_url
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - escapify_url_common
    linkageType: ''
    returnType: char
    signature: 'char *

      escapify_url(Arena *arena, char *url, size_t len_in, int *len_out, char *dst,
      size_t dst_size, const unsigned char *map)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escapify_url_common
      Src: /src/trafficserver/src/tscore/Encoding.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: Encoding::pure_escapify_url
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - escapify_url_common
    linkageType: ''
    returnType: char
    signature: 'char *

      pure_escapify_url(Arena *arena, char *url, size_t len_in, int *len_out, char
      *dst, size_t dst_size, const unsigned char *map)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escapify_url_common
      Src: /src/trafficserver/src/tscore/Encoding.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Encoding::escapify_url
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - escapify_url_common
    linkageType: ''
    returnType: char
    signature: 'char *

      escapify_url(Arena *arena, char *url, size_t len_in, int *len_out, char *dst,
      size_t dst_size, const unsigned char *map)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escapify_url_common
      Src: /src/trafficserver/src/tscore/Encoding.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - arena
    - url
    - len_in
    - len_out
    - dst
    - dst_size
    - map
    argTypes:
    - Arena*
    - char*
    - size_t
    - int*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: Encoding::pure_escapify_url
    functionSourceFile: /src/trafficserver/src/tscore/Encoding.cc
    functionUses: 0
    functionsReached:
    - escapify_url_common
    linkageType: ''
    returnType: char
    signature: 'char *

      pure_escapify_url(Arena *arena, char *url, size_t len_in, int *len_out, char
      *dst, size_t dst_size, const unsigned char *map)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/test_geometry.cc:39,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:41,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/test_geometry.cc:41,1
    - Dst: ink_file_get_geometry
      Src: /src/trafficserver/src/tscore/test_geometry.cc:45,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:46,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:47,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:48,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:49,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_geometry.cc:51,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/test_geometry.cc:51,1
    - Dst: close
      Src: /src/trafficserver/src/tscore/test_geometry.cc:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/test_geometry.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - close
    - ink_file_get_geometry
    - printf
    - strerror
    - open
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:34,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:40,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:44,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:45,1
    - Dst: ATSUuid::_toString
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - v
    argTypes:
    - TSUuidVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: ATSUuid::initialize
    functionSourceFile: /src/trafficserver/src/tscore/ink_uuid.cc
    functionUses: 0
    functionsReached:
    - ATSUuid::_toString
    - ink_abort
    - ink_zero
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    - RAND_bytes
    linkageType: ''
    returnType: void
    signature: void ATSUuid::initialize(TSUuidVersion v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:58,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - ATSUuid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: '&

      ATSUuid::operator=(const ATSUuid &other)'
    functionSourceFile: /src/trafficserver/src/tscore/ink_uuid.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ATSUuid
    signature: 'ATSUuid &

      ATSUuid::operator=(const ATSUuid &other)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:69,1
    - Dst: ATSUuid::_toString
      Src: /src/trafficserver/src/tscore/ink_uuid.cc:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: ATSUuid::parseString
    functionSourceFile: /src/trafficserver/src/tscore/ink_uuid.cc
    functionUses: 0
    functionsReached:
    - ATSUuid::_toString
    - sscanf
    linkageType: ''
    returnType: bool
    signature: bool ATSUuid::parseString(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArenaBlock *>
      Src: /src/trafficserver/src/tscore/Arena.cc:45,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/tscore/Arena.cc:45,1
    - Dst: static_cast<ArenaBlock *>
      Src: /src/trafficserver/src/tscore/Arena.cc:47,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/tscore/Arena.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: blk_alloc
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<ArenaBlock *>
    - ats_malloc
    - alloc_void
    linkageType: ''
    returnType: ArenaBlock
    signature: 'ArenaBlock *

      blk_alloc(int size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_void
      Src: /src/trafficserver/src/tscore/Arena.cc:67,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/Arena.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - blk
    argTypes:
    - ArenaBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: blk_free
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - free_void
    linkageType: ''
    returnType: void
    signature: void blk_free(ArenaBlock *blk)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - block
    - size
    - alignment
    argTypes:
    - ArenaBlock*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: block_alloc
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      block_alloc(ArenaBlock *block, size_t size, size_t alignment)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Arena.cc:101,1
    - Dst: block_alloc
      Src: /src/trafficserver/src/tscore/Arena.cc:105,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/tscore/Arena.cc:112,1
    - Dst: blk_alloc
      Src: /src/trafficserver/src/tscore/Arena.cc:117,1
    - Dst: block_alloc
      Src: /src/trafficserver/src/tscore/Arena.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: Arena::alloc
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - blk_alloc
    - ink_assert
    - block_alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Arena::alloc(size_t size, size_t alignment)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/Arena.cc:136,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/Arena.cc:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: Arena::free
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void Arena::free(void *mem, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blk_free
      Src: /src/trafficserver/src/tscore/Arena.cc:155,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Arena.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: Arena::reset
    functionSourceFile: /src/trafficserver/src/tscore/Arena.cc
    functionUses: 0
    functionsReached:
    - blk_free
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Arena::reset()
  - 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: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: ROTL64
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL64(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: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: U8TO64_LE
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO64_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: SIPCOMPRESS
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIPCOMPRESS(x0, x1, x2, x3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64Sip24::clear
      Src: /src/trafficserver/src/tscore/HashSip.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ATSHash64Sip24::ATSHash64Sip24
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached:
    - ATSHash64Sip24::clear
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::ATSHash64Sip24()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TO64_LE
      Src: /src/trafficserver/src/tscore/HashSip.cc:43,1
    - Dst: U8TO64_LE
      Src: /src/trafficserver/src/tscore/HashSip.cc:43,1
    - Dst: ATSHash64Sip24::clear
      Src: /src/trafficserver/src/tscore/HashSip.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ATSHash64Sip24::ATSHash64Sip24
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached:
    - ATSHash64Sip24::clear
    - U8TO64_LE
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::ATSHash64Sip24(const unsigned char key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64Sip24::clear
      Src: /src/trafficserver/src/tscore/HashSip.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key0
    - key1
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ATSHash64Sip24::ATSHash64Sip24
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached:
    - ATSHash64Sip24::clear
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::ATSHash64Sip24(uint64_t key0, uint64_t key1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/HashSip.cc:66,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/HashSip.cc:71,1
    - Dst: U8TO64_LE
      Src: /src/trafficserver/src/tscore/HashSip.cc:73,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:75,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:76,1
    - Dst: U8TO64_LE
      Src: /src/trafficserver/src/tscore/HashSip.cc:81,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:83,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/HashSip.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 92
    functionName: ATSHash64Sip24::update
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - U8TO64_LE
    - SIPCOMPRESS
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::update(const void *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/HashSip.cc:101,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/HashSip.cc:104,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:108,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:109,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:112,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:113,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:114,1
    - Dst: SIPCOMPRESS
      Src: /src/trafficserver/src/tscore/HashSip.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: ATSHash64Sip24::final
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - SIPCOMPRESS
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::final()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: ATSHash64Sip24::get
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ATSHash64Sip24::get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: ATSHash64Sip24::clear
    functionSourceFile: /src/trafficserver/src/tscore/HashSip.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHash64Sip24::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:58,1
    - Dst: ink_bvsprintf
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:59,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - format
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: ink_bsprintf
    functionSourceFile: /src/trafficserver/src/tscore/ink_sprintf.cc
    functionUses: 0
    functionsReached:
    - ink_bvsprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int ink_bsprintf(char *buffer, const char *format, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:73,1
    - Dst: va_arg
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:112,1
    - Dst: va_arg
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:127,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:128,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:156,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ink_sprintf.cc:157,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 3
    argNames:
    - buffer
    - format
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 158
    functionName: ink_bvsprintf
    functionSourceFile: /src/trafficserver/src/tscore/ink_sprintf.cc
    functionUses: 1
    functionsReached:
    - va_arg
    - static_cast<int>
    - va_end
    - va_copy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int ink_bvsprintf(char *buffer, const char *format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ts::ArgParser::ArgParser
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::ArgParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - name
    - description
    - envvar
    - arg_num
    - f
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ts::ArgParser::ArgParser
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - FileConfigCommand::FileConfigCommand
    linkageType: ''
    returnType: void
    signature: "void ArgParser::ArgParser(std::string const &name, std::string const
      &description, std::string const &envvar, unsigned arg_num,\n                     Function
      const &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ArgParser::~ArgParser()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::~ArgParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - long_option
    - short_option
    - description
    - envvar
    - arg_num
    - default_value
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - unsigned
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: "&\nArgParser::add_option(std::string const &long_option, std::string
      const &short_option, std::string const &description,\n                      std::string
      const &envvar, unsigned arg_num, std::string const &default_value, std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_option
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::add_option(std::string const &long_option,
      std::string const &short_option, std::string const &description,\n                      std::string
      const &envvar, unsigned arg_num, std::string const &default_value, std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd_name
    - cmd_description
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      ArgParser::add_command(std::string const &cmd_name, std::string const &cmd_description,
      Function const &f, std::string const &key)'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::add_command(std::string const &cmd_name, std::string const &cmd_description,
      Function const &f, std::string const &key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cmd_name
    - cmd_description
    - cmd_envvar
    - cmd_arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: "&\nArgParser::add_command(std::string const &cmd_name, std::string
      const &cmd_description, std::string const &cmd_envvar,\n                       unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::add_command(std::string const &cmd_name,
      std::string const &cmd_description, std::string const &cmd_envvar,\n                       unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: ts::ArgParser::add_global_usage
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::add_global_usage(std::string const &usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgParser::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ts::ArgParser::help_message
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - ts::ArgParser::help_message
    linkageType: ''
    returnType: void
    signature: void ArgParser::help_message(std::string_view err) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:95,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:99,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:103,1
    - Dst: output_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:110,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:112,1
    - Dst: output_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:114,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:117,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: ArgParser::Command::help_message(std::string_view err) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - output_option
    - std::string_view::empty
    - exit
    - empty
    - size
    - output_command
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::help_message(std::string_view err) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/tscore/ArgParser.cc:128,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:128,1
    - Dst: AppVersionInfo::print_version
      Src: /src/trafficserver/src/tscore/ArgParser.cc:129,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: ArgParser::Command::version_message() const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - AppVersionInfo::print_version
    - exit
    - AppVersionInfo::setup_version
    - c_str
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::version_message() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:136,1
    - Dst: _subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:137,1
    - Dst: _subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:137,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:139,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: ts::ArgParser::set_default_command
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - empty
    - _subcommand_list::find
    - _subcommand_list::end
    linkageType: ''
    returnType: void
    signature: void ArgParser::set_default_command(std::string const &cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/ArgParser.cc:154,1
    - Dst: push_back
      Src: /src/trafficserver/src/tscore/ArgParser.cc:156,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:161,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:164,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:164,1
    - Dst: ts::ArgParser::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:171,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:173,1
    - Dst: AP_StrVec::insert
      Src: /src/trafficserver/src/tscore/ArgParser.cc:175,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:175,1
    - Dst: ts::ArgParser::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:176,1
    - Dst: AP_StrVec::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:180,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:187,1
    - Dst: ArgParser::Command*::_subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:188,1
    - Dst: ArgParser::Command*::_subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:189,1
    - Dst: ArgParser::Command*::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 197
    functionName: ts::ArgParser::parse
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - find_last_of
    - ArgParser::Command*::help_message
    - AP_StrVec::begin
    - ArgParser::Command*::_subcommand_list::find
    - ArgParser::Command*::_subcommand_list::end
    - push_back
    - AP_StrVec::insert
    - AP_StrVec::empty
    - substr
    - exit
    - empty
    - ts::ArgParser::parse
    - size
    - clear
    linkageType: ''
    returnType: Arguments
    signature: Arguments ArgParser::parse(const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: require_commands
      Src: /src/trafficserver/src/tscore/ArgParser.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '&

      ArgParser::require_commands()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - require_commands
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::require_commands()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tscore/ArgParser.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ts::ArgParser::set_error
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ArgParser::set_error(std::string e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: ts::ArgParser::get_error
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ArgParser::get_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - descr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: ts::ArgParser::add_description
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::add_description(std::string const &descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: ArgParser::Command::Command()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::Command()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: ArgParser::Command::~Command()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::~Command()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - name
    - description
    - envvar
    - arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: "ArgParser::Command::Command(std::string const &name, std::string
      const &description, std::string const &envvar, unsigned arg_num,\n                            Function
      const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArgParser::Command::Command(std::string const &name, std::string
      const &description, std::string const &envvar, unsigned arg_num,\n                            Function
      const &f, std::string const &key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:238,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:241,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:243,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:243,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:246,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:249,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:249,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:251,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:252,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:252,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - long_option
    - short_option
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: "ArgParser::Command::check_option(std::string const &long_option,
      std::string const &short_option,\n                                 std::string
      const & /* key ATS_UNUSED */) const"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - std::string::size
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void ArgParser::Command::check_option(std::string const &long_option,
      std::string const &short_option,\n                                 std::string
      const & /* key ATS_UNUSED */) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:262,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:265,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:268,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:268,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: ArgParser::Command::check_command(std::string const &name, std::string
      const & /* key ATS_UNUSED */) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - find
    - std::string::empty
    - end
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::check_command(std::string const &name, std::string
      const & /* key ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:280,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:280,1
    - Dst: check_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:281,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - long_option
    - short_option
    - description
    - envvar
    - arg_num
    - default_value
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - unsigned
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: "&\nArgParser::Command::add_option(std::string const &long_option,
      std::string const &short_option, std::string const &description,\n                               std::string
      const &envvar, unsigned arg_num, std::string const &default_value,\n                               std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - check_option
    - std::string::substr
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_option(std::string const
      &long_option, std::string const &short_option, std::string const &description,\n
      \                              std::string const &envvar, unsigned arg_num,
      std::string const &default_value,\n                               std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:295,1
    - Dst: check_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:296,1
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cmd_name
    - cmd_description
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: "&\nArgParser::Command::add_command(std::string const &cmd_name,
      std::string const &cmd_description, Function const &f,\n                                std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - FileConfigCommand::FileConfigCommand
    - check_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_command(std::string
      const &cmd_name, std::string const &cmd_description, Function const &f,\n                                std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:306,1
    - Dst: check_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:307,1
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - cmd_name
    - cmd_description
    - cmd_envvar
    - cmd_arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: "&\nArgParser::Command::add_command(std::string const &cmd_name,
      std::string const &cmd_description, std::string const &cmd_envvar,\n                                unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - FileConfigCommand::FileConfigCommand
    - check_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_command(std::string
      const &cmd_name, std::string const &cmd_description, std::string const &cmd_envvar,\n
      \                               unsigned cmd_arg_num, Function const &f, std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: '&

      ArgParser::Command::add_example_usage(std::string const &usage)'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::add_example_usage(std::string const &usage)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:327,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:328,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:328,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:332,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:332,1
    - Dst: second::output_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - out
    - prefix
    argTypes:
    - std::ostream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: ArgParser::Command::output_command(std::ostream &out, std::string
      const &prefix) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - second::output_command
    - std::string::size
    - std::string
    - empty
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::output_command(std::ostream &out, std::string
      const &prefix) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: second::short_option::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:348,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:361,1
    - Dst: second::default_value::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:364,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:365,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:365,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:368,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:368,1
    - Dst: second::description::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:371,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:372,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:372,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:373,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:375,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: ArgParser::Command::output_option() const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string::size
    - second::default_value::empty
    - std::string
    - second::description::empty
    - std::to_string
    - second::short_option::empty
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::output_option() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Arguments::append
      Src: /src/trafficserver/src/tscore/ArgParser.cc:387,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:391,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:394,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:395,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:402,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:402,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:403,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:405,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ret
    - args
    - name
    - arg_num
    - index
    argTypes:
    - Arguments
    - AP_StrVec
    - std::string
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: ts::handle_args
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - AP_StrVec::begin
    - AP_StrVec::end
    - AP_StrVec::erase
    - Arguments::append
    - AP_StrVec::size
    - Arguments::append_arg
    - empty
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string handle_args(Arguments &ret, AP_StrVec &args, std::string
      const &name, unsigned arg_num, unsigned &index)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:418,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:420,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:422,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:422,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:423,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:423,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:424,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:425,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:427,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:428,1
    - Dst: ArgParser::Option::envvar::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:431,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:432,1
    - Dst: ArgParser::Option::envvar::c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:432,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:433,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:435,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:437,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:437,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:442,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:442,1
    - Dst: version_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:443,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:446,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:446,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:449,1
    - Dst: ArgParser::Command*::_subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:450,1
    - Dst: ArgParser::Command*::_subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:451,1
    - Dst: ArgParser::Command*::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:457,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:460,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:461,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:463,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:463,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:465,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:468,1
    - Dst: handle_args
      Src: /src/trafficserver/src/tscore/ArgParser.cc:471,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:472,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:473,1
    - Dst: ArgParser::Option::envvar::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:476,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:477,1
    - Dst: ArgParser::Option::envvar::c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:477,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:478,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:485,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: auto::second::default_value::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:492,1
    - Dst: Arguments::get
      Src: /src/trafficserver/src/tscore/ArgParser.cc:492,1
    - Dst: std::getline
      Src: /src/trafficserver/src/tscore/ArgParser.cc:495,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:496,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 3
    argNames:
    - ret
    - args
    - index
    argTypes:
    - Arguments
    - AP_StrVec
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 500
    functionName: ArgParser::Command::append_option_data(Arguments &ret, AP_StrVec
      &args, int index)
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - find_last_of
    - handle_args
    - AP_StrVec::begin
    - auto::second::default_value::empty
    - ArgParser::Command*::_subcommand_list::find
    - Arguments::append_arg
    - ArgParser::Command*::help_message
    - AP_StrVec::size
    - ArgParser::Option::envvar::c_str
    - Arguments::get
    - std::string::empty
    - substr
    - std::getline
    - find
    - end
    - ArgParser::Option::envvar::empty
    - getenv
    - version_message
    - std::to_string
    - Arguments::set_env
    - find_first_of
    - AP_StrVec::erase
    - ArgParser::Command*::_subcommand_list::end
    - help_message
    - at
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::append_option_data(Arguments &ret, AP_StrVec
      &args, int index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:508,1
    - Dst: append_option_data
      Src: /src/trafficserver/src/tscore/ArgParser.cc:512,1
    - Dst: handle_args
      Src: /src/trafficserver/src/tscore/ArgParser.cc:517,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:518,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:519,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:522,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:523,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:523,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:524,1
    - Dst: second::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:533,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - ret
    - args
    argTypes:
    - Arguments
    - AP_StrVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 548
    functionName: ArgParser::Command::parse(Arguments &ret, AP_StrVec &args)
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - append_option_data
    - handle_args
    - Arguments::set_env
    - second::parse
    - std::string::empty
    - c_str
    - getenv
    - help_message
    - AP_StrVec::size
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ArgParser::Command::parse(Arguments &ret, AP_StrVec &args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: '&

      ArgParser::Command::require_commands()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::require_commands()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: '&

      ArgParser::Command::set_default()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::set_default()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::Arguments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Arguments::~Arguments()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::~Arguments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:572,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:572,1
    - Dst: ArgumentData
      Src: /src/trafficserver/src/tscore/ArgParser.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: ts::Arguments::get
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - find
    - ArgumentData
    - end
    linkageType: ''
    returnType: ArgumentData
    signature: ArgumentData Arguments::get(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - ArgumentData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: ts::Arguments::append
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::append(std::string const &key, ArgumentData const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _values::push_back
      Src: /src/trafficserver/src/tscore/ArgParser.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: ts::Arguments::append_arg
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - _values::push_back
    linkageType: ''
    returnType: void
    signature: void Arguments::append_arg(std::string const &key, std::string const
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: ts::Arguments::set_env
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::set_env(std::string const &key, std::string const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 612
    functionName: ts::Arguments::show_all_configuration
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::show_all_configuration() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _action
      Src: /src/trafficserver/src/tscore/ArgParser.cc:620,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/tscore/ArgParser.cc:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: ts::Arguments::invoke
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - _action
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void Arguments::invoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: ts::Arguments::has_action
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Arguments::has_action() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: '&

      ArgumentData::env() const noexcept'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::env() const noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:643,1
    - Dst: std::out_of_range
      Src: /src/trafficserver/src/tscore/ArgParser.cc:644,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:644,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: '&

      ArgumentData::at(unsigned index) const'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - size
    - std::to_string
    - at
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::at(unsigned index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:652,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: '&

      ArgumentData::value() const noexcept'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - empty
    - at
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::value() const noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: ts::ArgumentData::size
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - ts::ArgumentData::size
    linkageType: ''
    returnType: size_t
    signature: size_t ArgumentData::size() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:669,1
    - Dst: ts::ArgumentData::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: ts::ArgumentData::empty
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - ts::ArgumentData::empty
    linkageType: ''
    returnType: bool
    signature: bool ArgumentData::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: ts::ArgumentData::begin
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - ts::ArgumentData::begin
    linkageType: ''
    returnType: AP_StrVec::const_iterator
    signature: AP_StrVec::const_iterator ArgumentData::begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 682
    functionName: ts::ArgumentData::end
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 1
    functionsReached:
    - ts::ArgumentData::end
    linkageType: ''
    returnType: AP_StrVec::const_iterator
    signature: AP_StrVec::const_iterator ArgumentData::end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ts::ArgParser::ArgParser
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::ArgParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - name
    - description
    - envvar
    - arg_num
    - f
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ts::ArgParser::ArgParser
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - FileConfigCommand::FileConfigCommand
    linkageType: ''
    returnType: void
    signature: "void ArgParser::ArgParser(std::string const &name, std::string const
      &description, std::string const &envvar, unsigned arg_num,\n                     Function
      const &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ArgParser::~ArgParser()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::~ArgParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - long_option
    - short_option
    - description
    - envvar
    - arg_num
    - default_value
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - unsigned
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: "&\nArgParser::add_option(std::string const &long_option, std::string
      const &short_option, std::string const &description,\n                      std::string
      const &envvar, unsigned arg_num, std::string const &default_value, std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_option
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::add_option(std::string const &long_option,
      std::string const &short_option, std::string const &description,\n                      std::string
      const &envvar, unsigned arg_num, std::string const &default_value, std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cmd_name
    - cmd_description
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      ArgParser::add_command(std::string const &cmd_name, std::string const &cmd_description,
      Function const &f, std::string const &key)'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::add_command(std::string const &cmd_name, std::string const &cmd_description,
      Function const &f, std::string const &key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cmd_name
    - cmd_description
    - cmd_envvar
    - cmd_arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: "&\nArgParser::add_command(std::string const &cmd_name, std::string
      const &cmd_description, std::string const &cmd_envvar,\n                       unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - add_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::add_command(std::string const &cmd_name,
      std::string const &cmd_description, std::string const &cmd_envvar,\n                       unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: ts::ArgParser::add_global_usage
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::add_global_usage(std::string const &usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgParser::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ts::ArgParser::help_message
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - ts::ArgParser::help_message
    linkageType: ''
    returnType: void
    signature: void ArgParser::help_message(std::string_view err) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:95,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:99,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:103,1
    - Dst: output_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:110,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:112,1
    - Dst: output_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:114,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:117,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: ArgParser::Command::help_message(std::string_view err) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - output_option
    - std::string_view::empty
    - exit
    - empty
    - size
    - output_command
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::help_message(std::string_view err) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/tscore/ArgParser.cc:128,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:128,1
    - Dst: AppVersionInfo::print_version
      Src: /src/trafficserver/src/tscore/ArgParser.cc:129,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: ArgParser::Command::version_message() const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - AppVersionInfo::print_version
    - exit
    - AppVersionInfo::setup_version
    - c_str
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::version_message() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:136,1
    - Dst: _subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:137,1
    - Dst: _subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:137,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:139,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: ts::ArgParser::set_default_command
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - empty
    - _subcommand_list::find
    - _subcommand_list::end
    linkageType: ''
    returnType: void
    signature: void ArgParser::set_default_command(std::string const &cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscore/ArgParser.cc:154,1
    - Dst: push_back
      Src: /src/trafficserver/src/tscore/ArgParser.cc:156,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:161,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:164,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:164,1
    - Dst: ts::ArgParser::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:171,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:173,1
    - Dst: AP_StrVec::insert
      Src: /src/trafficserver/src/tscore/ArgParser.cc:175,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:175,1
    - Dst: ts::ArgParser::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:176,1
    - Dst: AP_StrVec::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:180,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:187,1
    - Dst: ArgParser::Command*::_subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:188,1
    - Dst: ArgParser::Command*::_subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:189,1
    - Dst: ArgParser::Command*::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 197
    functionName: ts::ArgParser::parse
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - find_last_of
    - ArgParser::Command*::help_message
    - AP_StrVec::begin
    - ArgParser::Command*::_subcommand_list::find
    - ArgParser::Command*::_subcommand_list::end
    - push_back
    - AP_StrVec::insert
    - AP_StrVec::empty
    - substr
    - exit
    - empty
    - ts::ArgParser::parse
    - size
    - clear
    linkageType: ''
    returnType: Arguments
    signature: Arguments ArgParser::parse(const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: require_commands
      Src: /src/trafficserver/src/tscore/ArgParser.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '&

      ArgParser::require_commands()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - require_commands
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::require_commands()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tscore/ArgParser.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ts::ArgParser::set_error
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ArgParser::set_error(std::string e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: ts::ArgParser::get_error
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ArgParser::get_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - descr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: ts::ArgParser::add_description
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::add_description(std::string const &descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: ArgParser::Command::Command()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::Command()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: ArgParser::Command::~Command()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::~Command()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - name
    - description
    - envvar
    - arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: "ArgParser::Command::Command(std::string const &name, std::string
      const &description, std::string const &envvar, unsigned arg_num,\n                            Function
      const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArgParser::Command::Command(std::string const &name, std::string
      const &description, std::string const &envvar, unsigned arg_num,\n                            Function
      const &f, std::string const &key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:238,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:241,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:243,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:243,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:246,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:249,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:249,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:251,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:252,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:252,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - long_option
    - short_option
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: "ArgParser::Command::check_option(std::string const &long_option,
      std::string const &short_option,\n                                 std::string
      const & /* key ATS_UNUSED */) const"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - std::string::size
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void ArgParser::Command::check_option(std::string const &long_option,
      std::string const &short_option,\n                                 std::string
      const & /* key ATS_UNUSED */) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:262,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:265,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:268,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:268,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/ArgParser.cc:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: ArgParser::Command::check_command(std::string const &name, std::string
      const & /* key ATS_UNUSED */) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - exit
    - find
    - std::string::empty
    - end
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::check_command(std::string const &name, std::string
      const & /* key ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:280,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:280,1
    - Dst: check_option
      Src: /src/trafficserver/src/tscore/ArgParser.cc:281,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - long_option
    - short_option
    - description
    - envvar
    - arg_num
    - default_value
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - unsigned
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: "&\nArgParser::Command::add_option(std::string const &long_option,
      std::string const &short_option, std::string const &description,\n                               std::string
      const &envvar, unsigned arg_num, std::string const &default_value,\n                               std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - check_option
    - std::string::substr
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_option(std::string const
      &long_option, std::string const &short_option, std::string const &description,\n
      \                              std::string const &envvar, unsigned arg_num,
      std::string const &default_value,\n                               std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:295,1
    - Dst: check_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:296,1
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cmd_name
    - cmd_description
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: "&\nArgParser::Command::add_command(std::string const &cmd_name,
      std::string const &cmd_description, Function const &f,\n                                std::string
      const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - FileConfigCommand::FileConfigCommand
    - check_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_command(std::string
      const &cmd_name, std::string const &cmd_description, Function const &f,\n                                std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:306,1
    - Dst: check_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:307,1
    - Dst: FileConfigCommand::FileConfigCommand
      Src: /src/trafficserver/src/tscore/ArgParser.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - cmd_name
    - cmd_description
    - cmd_envvar
    - cmd_arg_num
    - f
    - key
    argTypes:
    - std::string
    - std::string
    - std::string
    - unsigned
    - Function
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: "&\nArgParser::Command::add_command(std::string const &cmd_name,
      std::string const &cmd_description, std::string const &cmd_envvar,\n                                unsigned
      cmd_arg_num, Function const &f, std::string const &key)"
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - FileConfigCommand::FileConfigCommand
    - check_command
    linkageType: ''
    returnType: ArgParser::Command
    signature: "ArgParser::Command &\nArgParser::Command::add_command(std::string
      const &cmd_name, std::string const &cmd_description, std::string const &cmd_envvar,\n
      \                               unsigned cmd_arg_num, Function const &f, std::string
      const &key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: '&

      ArgParser::Command::add_example_usage(std::string const &usage)'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::add_example_usage(std::string const &usage)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:327,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:328,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:328,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:332,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:332,1
    - Dst: second::output_command
      Src: /src/trafficserver/src/tscore/ArgParser.cc:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - out
    - prefix
    argTypes:
    - std::ostream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: ArgParser::Command::output_command(std::ostream &out, std::string
      const &prefix) const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - second::output_command
    - std::string::size
    - std::string
    - empty
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::output_command(std::ostream &out, std::string
      const &prefix) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: second::short_option::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:348,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:361,1
    - Dst: second::default_value::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:364,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:365,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:365,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:368,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:368,1
    - Dst: second::description::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:371,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ArgParser.cc:372,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:372,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:373,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:375,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: ArgParser::Command::output_option() const
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string::size
    - second::default_value::empty
    - std::string
    - second::description::empty
    - std::to_string
    - second::short_option::empty
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::output_option() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Arguments::append
      Src: /src/trafficserver/src/tscore/ArgParser.cc:387,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:391,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:394,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:395,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:397,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:402,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:402,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:403,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:405,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ret
    - args
    - name
    - arg_num
    - index
    argTypes:
    - Arguments
    - AP_StrVec
    - std::string
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: ts::handle_args
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - AP_StrVec::begin
    - AP_StrVec::end
    - AP_StrVec::erase
    - Arguments::append
    - AP_StrVec::size
    - Arguments::append_arg
    - empty
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string handle_args(Arguments &ret, AP_StrVec &args, std::string
      const &name, unsigned arg_num, unsigned &index)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:418,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:420,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:422,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:422,1
    - Dst: substr
      Src: /src/trafficserver/src/tscore/ArgParser.cc:423,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/tscore/ArgParser.cc:423,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:424,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:425,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:427,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:428,1
    - Dst: ArgParser::Option::envvar::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:431,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:432,1
    - Dst: ArgParser::Option::envvar::c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:432,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:433,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:435,1
    - Dst: AP_StrVec::erase
      Src: /src/trafficserver/src/tscore/ArgParser.cc:437,1
    - Dst: AP_StrVec::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:437,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:442,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:442,1
    - Dst: version_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:443,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:446,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:446,1
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:449,1
    - Dst: ArgParser::Command*::_subcommand_list::find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:450,1
    - Dst: ArgParser::Command*::_subcommand_list::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:451,1
    - Dst: ArgParser::Command*::help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:457,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:460,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:461,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:463,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:463,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:465,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:468,1
    - Dst: handle_args
      Src: /src/trafficserver/src/tscore/ArgParser.cc:471,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:472,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:473,1
    - Dst: ArgParser::Option::envvar::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:476,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:477,1
    - Dst: ArgParser::Option::envvar::c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:477,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:478,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:485,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:487,1
    - Dst: auto::second::default_value::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:492,1
    - Dst: Arguments::get
      Src: /src/trafficserver/src/tscore/ArgParser.cc:492,1
    - Dst: std::getline
      Src: /src/trafficserver/src/tscore/ArgParser.cc:495,1
    - Dst: Arguments::append_arg
      Src: /src/trafficserver/src/tscore/ArgParser.cc:496,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 3
    argNames:
    - ret
    - args
    - index
    argTypes:
    - Arguments
    - AP_StrVec
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 500
    functionName: ArgParser::Command::append_option_data(Arguments &ret, AP_StrVec
      &args, int index)
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - find_last_of
    - handle_args
    - AP_StrVec::begin
    - auto::second::default_value::empty
    - ArgParser::Command*::_subcommand_list::find
    - Arguments::append_arg
    - ArgParser::Command*::help_message
    - AP_StrVec::size
    - ArgParser::Option::envvar::c_str
    - Arguments::get
    - std::string::empty
    - substr
    - std::getline
    - find
    - end
    - ArgParser::Option::envvar::empty
    - getenv
    - version_message
    - std::to_string
    - Arguments::set_env
    - find_first_of
    - AP_StrVec::erase
    - ArgParser::Command*::_subcommand_list::end
    - help_message
    - at
    linkageType: ''
    returnType: void
    signature: void ArgParser::Command::append_option_data(Arguments &ret, AP_StrVec
      &args, int index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AP_StrVec::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:508,1
    - Dst: append_option_data
      Src: /src/trafficserver/src/tscore/ArgParser.cc:512,1
    - Dst: handle_args
      Src: /src/trafficserver/src/tscore/ArgParser.cc:517,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:518,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:519,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:522,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/ArgParser.cc:523,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscore/ArgParser.cc:523,1
    - Dst: Arguments::set_env
      Src: /src/trafficserver/src/tscore/ArgParser.cc:524,1
    - Dst: second::parse
      Src: /src/trafficserver/src/tscore/ArgParser.cc:533,1
    - Dst: help_message
      Src: /src/trafficserver/src/tscore/ArgParser.cc:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - ret
    - args
    argTypes:
    - Arguments
    - AP_StrVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 548
    functionName: ArgParser::Command::parse(Arguments &ret, AP_StrVec &args)
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - append_option_data
    - handle_args
    - Arguments::set_env
    - second::parse
    - std::string::empty
    - c_str
    - getenv
    - help_message
    - AP_StrVec::size
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ArgParser::Command::parse(Arguments &ret, AP_StrVec &args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: '&

      ArgParser::Command::require_commands()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::require_commands()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: '&

      ArgParser::Command::set_default()'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgParser::Command
    signature: 'ArgParser::Command &

      ArgParser::Command::set_default()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::Arguments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Arguments::~Arguments()
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::~Arguments()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tscore/ArgParser.cc:572,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:572,1
    - Dst: ArgumentData
      Src: /src/trafficserver/src/tscore/ArgParser.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: ts::Arguments::get
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - find
    - ArgumentData
    - end
    linkageType: ''
    returnType: ArgumentData
    signature: ArgumentData Arguments::get(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - ArgumentData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: ts::Arguments::append
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::append(std::string const &key, ArgumentData const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _values::push_back
      Src: /src/trafficserver/src/tscore/ArgParser.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: ts::Arguments::append_arg
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - _values::push_back
    linkageType: ''
    returnType: void
    signature: void Arguments::append_arg(std::string const &key, std::string const
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: ts::Arguments::set_env
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::set_env(std::string const &key, std::string const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 612
    functionName: ts::Arguments::show_all_configuration
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments::show_all_configuration() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _action
      Src: /src/trafficserver/src/tscore/ArgParser.cc:620,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/tscore/ArgParser.cc:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: ts::Arguments::invoke
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - _action
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void Arguments::invoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: ts::Arguments::has_action
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Arguments::has_action() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: '&

      ArgumentData::env() const noexcept'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::env() const noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:643,1
    - Dst: std::out_of_range
      Src: /src/trafficserver/src/tscore/ArgParser.cc:644,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/ArgParser.cc:644,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: '&

      ArgumentData::at(unsigned index) const'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - std::out_of_range
    - size
    - std::to_string
    - at
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::at(unsigned index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:652,1
    - Dst: at
      Src: /src/trafficserver/src/tscore/ArgParser.cc:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: '&

      ArgumentData::value() const noexcept'
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 0
    functionsReached:
    - empty
    - at
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ArgumentData::value() const noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::size
      Src: /src/trafficserver/src/tscore/ArgParser.cc:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: ts::ArgumentData::size
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - ts::ArgumentData::size
    linkageType: ''
    returnType: size_t
    signature: size_t ArgumentData::size() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:669,1
    - Dst: ts::ArgumentData::empty
      Src: /src/trafficserver/src/tscore/ArgParser.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: ts::ArgumentData::empty
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - ts::ArgumentData::empty
    linkageType: ''
    returnType: bool
    signature: bool ArgumentData::empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::begin
      Src: /src/trafficserver/src/tscore/ArgParser.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: ts::ArgumentData::begin
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - ts::ArgumentData::begin
    linkageType: ''
    returnType: AP_StrVec::const_iterator
    signature: AP_StrVec::const_iterator ArgumentData::begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgumentData::end
      Src: /src/trafficserver/src/tscore/ArgParser.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 682
    functionName: ts::ArgumentData::end
    functionSourceFile: /src/trafficserver/src/tscore/ArgParser.cc
    functionUses: 2
    functionsReached:
    - ts::ArgumentData::end
    linkageType: ''
    returnType: AP_StrVec::const_iterator
    signature: AP_StrVec::const_iterator ArgumentData::end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - interval
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Throttler::Throttler
    functionSourceFile: /src/trafficserver/src/tscore/Throttler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Throttler::Throttler(std::chrono::microseconds interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/src/tscore/Throttler.cc:31,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/Throttler.cc:32,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/Throttler.cc:33,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/tscore/Throttler.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - skipped_count
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: Throttler::is_throttled
    functionSourceFile: /src/trafficserver/src/tscore/Throttler.cc
    functionUses: 0
    functionsReached:
    - load
    - compare_exchange_strong
    - failover_now
    linkageType: ''
    returnType: bool
    signature: bool Throttler::is_throttled(uint64_t &skipped_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/src/tscore/Throttler.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Throttler::reset_counter
    functionSourceFile: /src/trafficserver/src/tscore/Throttler.cc
    functionUses: 0
    functionsReached:
    - failover_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Throttler::reset_counter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_interval
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Throttler::set_throttling_interval
    functionSourceFile: /src/trafficserver/src/tscore/Throttler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Throttler::set_throttling_interval(std::chrono::microseconds new_interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/Layout.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: Layout::get
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: Layout
    signature: 'Layout *

      Layout::get()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layout::Layout
      Src: /src/trafficserver/src/tscore/Layout.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: Layout::create
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 5
    functionsReached:
    - Layout::Layout
    linkageType: ''
    returnType: void
    signature: void Layout::create(std::string_view const prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_merge
      Src: /src/trafficserver/src/tscore/Layout.cc:57,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:57,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:57,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/Layout.cc:61,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:61,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:61,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/Layout.cc:63,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/Layout.cc:66,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:66,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - path
    - buffsz
    - root
    - file
    argTypes:
    - char*
    - size_t
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: _relative
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - ink_fatal
    - std::string_view::data
    - ink_filepath_merge
    linkageType: ''
    returnType: void
    signature: void _relative(char *path, size_t buffsz, std::string_view root, std::string_view
      file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _relative
      Src: /src/trafficserver/src/tscore/Layout.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - root
    - file
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: layout_relative
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - _relative
    linkageType: ''
    returnType: std::string
    signature: std::string layout_relative(std::string_view root, std::string_view
      file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Layout::relative
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - layout_relative
    linkageType: ''
    returnType: std::string
    signature: std::string Layout::relative(std::string_view file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/tscore/Layout.cc:91,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:91,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/Layout.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: Layout::update_sysconfdir
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - assign
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Layout::update_sysconfdir(std::string_view dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Layout::relative_to
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 1
    functionsReached:
    - layout_relative
    linkageType: ''
    returnType: std::string
    signature: std::string Layout::relative_to(std::string_view dir, std::string_view
      file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _relative
      Src: /src/trafficserver/src/tscore/Layout.cc:105,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Layout.cc:106,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/Layout.cc:108,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Layout.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - bufsz
    - dir
    - file
    argTypes:
    - char*
    - size_t
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: Layout::relative_to
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 1
    functionsReached:
    - _relative
    - ink_fatal
    - strlen
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void Layout::relative_to(char *buf, size_t bufsz, std::string_view
      dir, std::string_view file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_runroot
      Src: /src/trafficserver/src/tscore/Layout.cc:117,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/Layout.cc:118,1
    - Dst: check_runroot
      Src: /src/trafficserver/src/tscore/Layout.cc:122,1
    - Dst: RunrootMapType::empty
      Src: /src/trafficserver/src/tscore/Layout.cc:123,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/tscore/Layout.cc:124,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:127,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/Layout.cc:127,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/tscore/Layout.cc:127,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:128,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:129,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:129,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:130,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:130,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:131,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:131,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:132,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:132,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:133,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:133,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:134,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:134,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:135,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:135,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:137,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:137,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:138,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:138,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:139,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:139,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:140,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:140,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:141,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:141,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/Layout.cc:142,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 144
    functionName: Layout::runroot_setup
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - ink_warning
    - std::string::empty
    - get_runroot
    - layout_relative
    - empty
    - check_runroot
    - RunrootMapType::empty
    linkageType: ''
    returnType: bool
    signature: bool Layout::runroot_setup()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Layout::runroot_setup
      Src: /src/trafficserver/src/tscore/Layout.cc:149,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/tscore/Layout.cc:152,1
    - Dst: assign
      Src: /src/trafficserver/src/tscore/Layout.cc:153,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/Layout.cc:153,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/Layout.cc:153,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/Layout.cc:157,1
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/Layout.cc:158,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/Layout.cc:160,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/Layout.cc:162,1
    - Dst: std::string::back
      Src: /src/trafficserver/src/tscore/Layout.cc:165,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/tscore/Layout.cc:166,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:174,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:175,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:176,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:177,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:178,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:179,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:180,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:181,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:182,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:183,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:184,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:185,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:186,1
    - Dst: layout_relative
      Src: /src/trafficserver/src/tscore/Layout.cc:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - _prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 188
    functionName: Layout::Layout
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 1
    functionsReached:
    - std::string::back
    - std::string::size
    - std::string_view::empty
    - ink_fatal
    - std::string_view::size
    - getenv
    - std::string::pop_back
    - layout_relative
    - Layout::runroot_setup
    - assign
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Layout::Layout(std::string_view const _prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Layout::~Layout()
    functionSourceFile: /src/trafficserver/src/tscore/Layout.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layout::~Layout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: DEBUG_CREDENTIALS
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CREDENTIALS(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: DEBUG_PRIVILEGES
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRIVILEGES(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: DEBUG_PRIVILEGES
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRIVILEGES(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:92,1
    - Dst: geteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - uid
    - euid
    argTypes:
    - uid_t*
    - uid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: getresuid
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - getuid
    - geteuid
    linkageType: ''
    returnType: int
    signature: int getresuid(uid_t *uid, uid_t *euid, uid_t * /* suid ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getgid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:102,1
    - Dst: getegid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gid
    - egid
    argTypes:
    - gid_t*
    - gid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: getresgid
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - getegid
    - getgid
    linkageType: ''
    returnType: int
    signature: int getresgid(gid_t *gid, gid_t *egid, gid_t * /* sgid ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/trafficserver/src/tscore/ink_cap.cc:112,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/tscore/ink_cap.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: max_passwd_size
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_passwd_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: is_dumpable
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - prctl
    linkageType: ''
    returnType: char
    signature: 'char *

      is_dumpable()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: death_signal
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - prctl
    linkageType: ''
    returnType: int
    signature: int death_signal()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: death_signal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:146,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:149,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:150,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:152,1
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:155,1
    - Dst: geteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:159,1
    - Dst: initgroups
      Src: /src/trafficserver/src/tscore/ink_cap.cc:160,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:161,1
    - Dst: setregid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:167,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:168,1
    - Dst: setreuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:171,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:172,1
    - Dst: setegid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:177,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:178,1
    - Dst: seteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:181,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:182,1
    - Dst: EnableCoreFile
      Src: /src/trafficserver/src/tscore/ink_cap.cc:190,1
    - Dst: EnableDeathSignal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:193,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:196,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pwd
    - level
    argTypes:
    - struct passwd*
    - ImpersonationLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: impersonate
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - DEBUG_PRIVILEGES
    - ink_release_assert
    - geteuid
    - death_signal
    - setreuid
    - prctl
    - initgroups
    - setregid
    - EnableCoreFile
    - Fatal
    - EnableDeathSignal
    - seteuid
    - DEBUG_CREDENTIALS
    - setegid
    linkageType: ''
    returnType: void
    signature: void impersonate(const struct passwd *pwd, ImpersonationLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: DEBUG_CREDENTIALS
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_CREDENTIALS(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: DEBUG_PRIVILEGES
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRIVILEGES(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: DEBUG_PRIVILEGES
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRIVILEGES(ctl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:92,1
    - Dst: geteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - uid
    - euid
    argTypes:
    - uid_t*
    - uid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: getresuid
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - getuid
    - geteuid
    linkageType: ''
    returnType: int
    signature: int getresuid(uid_t *uid, uid_t *euid, uid_t * /* suid ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getgid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:102,1
    - Dst: getegid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gid
    - egid
    argTypes:
    - gid_t*
    - gid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: getresgid
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - getegid
    - getgid
    linkageType: ''
    returnType: int
    signature: int getresgid(gid_t *gid, gid_t *egid, gid_t * /* sgid ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/trafficserver/src/tscore/ink_cap.cc:112,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/tscore/ink_cap.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: max_passwd_size
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - sysconf
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_passwd_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: is_dumpable
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - prctl
    linkageType: ''
    returnType: char
    signature: 'char *

      is_dumpable()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: death_signal
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached:
    - prctl
    linkageType: ''
    returnType: int
    signature: int death_signal()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: death_signal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:146,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:149,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:150,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:152,1
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:155,1
    - Dst: geteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:159,1
    - Dst: initgroups
      Src: /src/trafficserver/src/tscore/ink_cap.cc:160,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:161,1
    - Dst: setregid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:167,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:168,1
    - Dst: setreuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:171,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:172,1
    - Dst: setegid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:177,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:178,1
    - Dst: seteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:181,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:182,1
    - Dst: EnableCoreFile
      Src: /src/trafficserver/src/tscore/ink_cap.cc:190,1
    - Dst: EnableDeathSignal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:193,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:196,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pwd
    - level
    argTypes:
    - struct passwd*
    - ImpersonationLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: impersonate
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - DEBUG_PRIVILEGES
    - ink_release_assert
    - geteuid
    - death_signal
    - setreuid
    - prctl
    - initgroups
    - setregid
    - EnableCoreFile
    - Fatal
    - EnableDeathSignal
    - seteuid
    - DEBUG_CREDENTIALS
    - setegid
    linkageType: ''
    returnType: void
    signature: void impersonate(const struct passwd *pwd, ImpersonationLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:205,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dbg_ctl
    argTypes:
    - DbgCtl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: DebugCapabilities
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - DEBUG_PRIVILEGES
    - DEBUG_CREDENTIALS
    linkageType: ''
    returnType: void
    signature: void DebugCapabilities(DbgCtl &dbg_ctl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max_passwd_size
      Src: /src/trafficserver/src/tscore/ink_cap.cc:214,1
    - Dst: getpwuid_r
      Src: /src/trafficserver/src/tscore/ink_cap.cc:216,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:217,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:217,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:222,1
    - Dst: impersonate
      Src: /src/trafficserver/src/tscore/ink_cap.cc:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - uid
    - level
    argTypes:
    - uid_t
    - ImpersonationLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: ImpersonateUserID
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - impersonate
    - max_passwd_size
    - Fatal
    - getpwuid_r
    - strerror
    linkageType: ''
    returnType: void
    signature: void ImpersonateUserID(uid_t uid, ImpersonationLevel level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: max_passwd_size
      Src: /src/trafficserver/src/tscore/ink_cap.cc:233,1
    - Dst: static_cast<uid_t>
      Src: /src/trafficserver/src/tscore/ink_cap.cc:237,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_cap.cc:237,1
    - Dst: getpwuid_r
      Src: /src/trafficserver/src/tscore/ink_cap.cc:238,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:239,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:239,1
    - Dst: getpwnam_r
      Src: /src/trafficserver/src/tscore/ink_cap.cc:242,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:243,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:243,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:249,1
    - Dst: impersonate
      Src: /src/trafficserver/src/tscore/ink_cap.cc:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - user
    - level
    argTypes:
    - char*
    - ImpersonationLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: ImpersonateUser
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - impersonate
    - max_passwd_size
    - atoi
    - static_cast<uid_t>
    - Fatal
    - getpwuid_r
    - strerror
    - getpwnam_r
    linkageType: ''
    returnType: void
    signature: void ImpersonateUser(const char *user, ImpersonationLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: PreserveCapabilities
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - prctl
    linkageType: ''
    returnType: bool
    signature: bool PreserveCapabilities()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cap_init
      Src: /src/trafficserver/src/tscore/ink_cap.cc:272,1
    - Dst: cap_get_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:273,1
    - Dst: cap_get_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:286,1
    - Dst: cap_set_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:287,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:290,1
    - Dst: cap_set_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:292,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:295,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:296,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:298,1
    - Dst: cap_get_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:301,1
    - Dst: cap_set_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:302,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:304,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:305,1
    - Dst: cap_set_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:307,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:310,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:311,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:313,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:316,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:317,1
    - Dst: cap_get_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:322,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:324,1
    - Dst: cap_get_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:329,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:331,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:335,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:336,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:338,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 340
    functionName: RestrictCapabilities
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - cap_get_proc
    - cap_free
    - Dbg
    - cap_init
    - cap_set_flag
    - cap_get_flag
    - cap_set_proc
    linkageType: ''
    returnType: bool
    signature: bool RestrictCapabilities()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:349,1
    - Dst: Warning
      Src: /src/trafficserver/src/tscore/ink_cap.cc:350,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:350,1
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:351,1
    - Dst: Warning
      Src: /src/trafficserver/src/tscore/ink_cap.cc:353,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 359
    functionName: EnableCoreFile
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 2
    functionsReached:
    - Dbg
    - prctl
    - strerror
    - Warning
    linkageType: ''
    returnType: bool
    signature: bool EnableCoreFile([[maybe_unused]] bool flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/trafficserver/src/tscore/ink_cap.cc:365,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:366,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: EnableDeathSignal
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 3
    functionsReached:
    - Dbg
    - prctl
    - strerror
    linkageType: ''
    returnType: void
    signature: void EnableDeathSignal([[maybe_unused]] int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/ink_cap.cc:374,1
    - Dst: open
      Src: /src/trafficserver/src/tscore/ink_cap.cc:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - path
    - flags
    - fperms
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: elevating_open
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 2
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int elevating_open(const char *path, unsigned int flags, unsigned int
      fperms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/tscore/ink_cap.cc:385,1
    - Dst: open
      Src: /src/trafficserver/src/tscore/ink_cap.cc:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: elevating_open
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 2
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int elevating_open(const char *path, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/ink_cap.cc:396,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/ink_cap.cc:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: elevating_fopen
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached:
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      elevating_fopen(const char *path, const char *mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chmod
      Src: /src/trafficserver/src/tscore/ink_cap.cc:407,1
    - Dst: chmod
      Src: /src/trafficserver/src/tscore/ink_cap.cc:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - path
    - perm
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: elevating_chmod
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached:
    - chmod
    linkageType: ''
    returnType: int
    signature: int elevating_chmod(const char *path, int perm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/tscore/ink_cap.cc:418,1
    - Dst: stat
      Src: /src/trafficserver/src/tscore/ink_cap.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - path
    - buff
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: elevating_stat
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: int elevating_stat(const char *path, struct stat *buff)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:442,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:444,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_cap.cc:466,1
    - Dst: cap_get_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:469,1
    - Dst: cap_get_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:470,1
    - Dst: cap_set_flag
      Src: /src/trafficserver/src/tscore/ink_cap.cc:471,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:473,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:474,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:474,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - priv_mask
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 480
    functionName: ElevateAccess::acquirePrivilege
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - cap_get_proc
    - cap_free
    - Fatal
    - Dbg
    - cap_set_flag
    - cap_set_proc
    - strerror
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::acquirePrivilege(unsigned priv_mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/ink_cap.cc:486,1
    - Dst: cap_set_proc
      Src: /src/trafficserver/src/tscore/ink_cap.cc:489,1
    - Dst: static_cast<cap_t>
      Src: /src/trafficserver/src/tscore/ink_cap.cc:489,1
    - Dst: Fatal
      Src: /src/trafficserver/src/tscore/ink_cap.cc:490,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_cap.cc:490,1
    - Dst: cap_free
      Src: /src/trafficserver/src/tscore/ink_cap.cc:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: ElevateAccess::releasePrivilege
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - cap_free
    - Dbg
    - cap_set_proc
    - static_cast<cap_t>
    - strerror
    - Fatal
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::releasePrivilege()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/trafficserver/src/tscore/ink_cap.cc:499,1
    - Dst: ElevateAccess::elevate
      Src: /src/trafficserver/src/tscore/ink_cap.cc:506,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:508,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lvl
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: ElevateAccess::ElevateAccess
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - ElevateAccess::elevate
    - DEBUG_PRIVILEGES
    - geteuid
    - DEBUG_CREDENTIALS
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::ElevateAccess(unsigned lvl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ElevateAccess::demote
      Src: /src/trafficserver/src/tscore/ink_cap.cc:516,1
    - Dst: DEBUG_CREDENTIALS
      Src: /src/trafficserver/src/tscore/ink_cap.cc:518,1
    - Dst: DEBUG_PRIVILEGES
      Src: /src/trafficserver/src/tscore/ink_cap.cc:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: ElevateAccess::~ElevateAccess()
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 0
    functionsReached:
    - DEBUG_PRIVILEGES
    - ElevateAccess::demote
    - DEBUG_CREDENTIALS
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::~ElevateAccess()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ElevateAccess::acquirePrivilege
      Src: /src/trafficserver/src/tscore/ink_cap.cc:528,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/ink_cap.cc:533,1
    - Dst: ImpersonateUserID
      Src: /src/trafficserver/src/tscore/ink_cap.cc:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - priv_mask
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: ElevateAccess::elevate
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached:
    - ink_mutex_acquire
    - ElevateAccess::acquirePrivilege
    - ImpersonateUserID
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::elevate(unsigned priv_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ElevateAccess::releasePrivilege
      Src: /src/trafficserver/src/tscore/ink_cap.cc:545,1
    - Dst: ImpersonateUserID
      Src: /src/trafficserver/src/tscore/ink_cap.cc:547,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/ink_cap.cc:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: ElevateAccess::demote
    functionSourceFile: /src/trafficserver/src/tscore/ink_cap.cc
    functionUses: 1
    functionsReached:
    - ink_mutex_release
    - ElevateAccess::releasePrivilege
    - ImpersonateUserID
    linkageType: ''
    returnType: void
    signature: void ElevateAccess::demote()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutexattr_init
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:37,1
    - Dst: pthread_mutexattr_settype
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: x_pthread_mutexattr_t::x_pthread_mutexattr_t
    functionSourceFile: /src/trafficserver/src/tscore/ink_mutex.cc
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    linkageType: ''
    returnType: void
    signature: void x_pthread_mutexattr_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutexattr_destroy
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~x_pthread_mutexattr_t()
    functionSourceFile: /src/trafficserver/src/tscore/ink_mutex.cc
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_destroy
    linkageType: ''
    returnType: void
    signature: void ~x_pthread_mutexattr_t()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_pthread_mutexattr_t::x_pthread_mutexattr_t
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:52,1
    - Dst: pthread_mutex_init
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:54,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:55,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:56,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ink_mutex_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_mutex.cc
    functionUses: 3
    functionsReached:
    - ink_abort
    - pthread_mutex_init
    - x_pthread_mutexattr_t::x_pthread_mutexattr_t
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_mutex_init(ink_mutex *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:65,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:66,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:67,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_mutex.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: ink_mutex_destroy
    functionSourceFile: /src/trafficserver/src/tscore/ink_mutex.cc
    functionUses: 2
    functionsReached:
    - unlikely
    - ink_abort
    - strerror
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ink_mutex_destroy(ink_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:30,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:31,1
    - Dst: EVP_KDF_free
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:32,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:33,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:33,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - digest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: HKDF::HKDF
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl3.cc
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_utf8_string
    - const_cast<char *>
    - EVP_KDF_CTX_new
    - strlen
    - EVP_KDF_free
    linkageType: ''
    returnType: void
    signature: void HKDF::HKDF(const char *digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_free
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: HKDF::~HKDF()
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl3.cc
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: void
    signature: void HKDF::~HKDF()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:48,1
    - Dst: const_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:48,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:49,1
    - Dst: const_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:49,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:50,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:51,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:53,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:54,1
    - Dst: EVP_KDF_derive
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:58,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:59,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - dst
    - dst_len
    - salt
    - salt_len
    - ikm
    - ikm_len
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: HKDF::extract
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl3.cc
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t *>
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    - EVP_KDF_derive
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_get_kdf_size
    linkageType: ''
    returnType: int
    signature: int HKDF::extract(uint8_t *dst, size_t *dst_len, const uint8_t *salt,
      size_t salt_len, const uint8_t *ikm, size_t ikm_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:74,1
    - Dst: const_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:74,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:75,1
    - Dst: const_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:75,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:76,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:77,1
    - Dst: EVP_KDF_derive
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:78,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/trafficserver/src/tscore/HKDF_openssl3.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - dst
    - dst_len
    - prk
    - prk_len
    - info
    - info_len
    - length
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: HKDF::expand
    functionSourceFile: /src/trafficserver/src/tscore/HKDF_openssl3.cc
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t *>
    - EVP_KDF_CTX_reset
    - EVP_KDF_derive
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int HKDF::expand(uint8_t *dst, size_t *dst_len, const uint8_t *prk,
      size_t prk_len, const uint8_t *info, size_t info_len,\n             uint16_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/ink_string.cc:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - dst
    - src
    - n
    - c
    argTypes:
    - char*
    - char*
    - unsigned int
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ink_memcpy_until_char
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_memcpy_until_char(char *dst, char *src, unsigned int n, unsigned char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_string.cc:60,1
    - Dst: va_arg
      Src: /src/trafficserver/src/tscore/ink_string.cc:65,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_string.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - dest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: ink_string_concatenate_strings
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 1
    functionsReached:
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_string_concatenate_strings(char *dest, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_string.cc:96,1
    - Dst: va_arg
      Src: /src/trafficserver/src/tscore/ink_string.cc:101,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_string.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - dest
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 115
    functionName: ink_string_concatenate_strings_n
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_string_concatenate_strings_n(char *dest, int n, ...)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_string.cc:132,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_string.cc:133,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_string.cc:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 170
    functionName: ink_string_append
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_string_append(char *dest, char *src, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 200
    functionName: ink_strlcpy
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ink_strlcpy(char *dst, const char *src, size_t siz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_string.cc:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: ink_strlcat
    functionSourceFile: /src/trafficserver/src/tscore/ink_string.cc
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t ink_strlcat(char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: uint_to_binary
    functionSourceFile: /src/trafficserver/src/tscore/CompileParseRules.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      uint_to_binary(unsigned int u)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:58,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:59,1
    - Dst: ParseRules::is_char
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:61,1
    - Dst: ParseRules::is_upalpha
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:64,1
    - Dst: ParseRules::is_loalpha
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:67,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:70,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:73,1
    - Dst: ParseRules::is_ctl
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:76,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:79,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:82,1
    - Dst: ParseRules::is_pchar
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:86,1
    - Dst: ParseRules::is_extra
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:89,1
    - Dst: ParseRules::is_safe
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:92,1
    - Dst: ParseRules::is_unsafe
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:95,1
    - Dst: ParseRules::is_national
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:98,1
    - Dst: ParseRules::is_reserved
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:101,1
    - Dst: ParseRules::is_unreserved
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:104,1
    - Dst: ParseRules::is_punct
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:107,1
    - Dst: ParseRules::is_end_of_url
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:110,1
    - Dst: ParseRules::is_tspecials
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:113,1
    - Dst: ParseRules::is_spcr
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:116,1
    - Dst: ParseRules::is_splf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:119,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:122,1
    - Dst: ParseRules::is_eow
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:125,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:128,1
    - Dst: ParseRules::is_uri
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:131,1
    - Dst: ParseRules::is_sep
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:134,1
    - Dst: ParseRules::is_empty
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:137,1
    - Dst: ParseRules::is_alnum
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:140,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:143,1
    - Dst: ParseRules::is_control
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:146,1
    - Dst: ParseRules::is_mime_sep
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:149,1
    - Dst: ParseRules::is_http_field_name
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:152,1
    - Dst: ParseRules::is_http_field_value
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:155,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:160,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:162,1
    - Dst: isprint
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:162,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:163,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:164,1
    - Dst: uint_to_binary
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:164,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:166,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:167,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:169,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:171,1
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:172,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:174,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/CompileParseRules.cc:176,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/CompileParseRules.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_tspecials
    - ParseRules::is_spcr
    - ParseRules::is_alnum
    - ParseRules::is_digit
    - ParseRules::is_ws
    - ParseRules::is_sep
    - ParseRules::ink_tolower
    - ParseRules::is_safe
    - ParseRules::is_pchar
    - ParseRules::is_loalpha
    - ParseRules::is_hex
    - ParseRules::is_reserved
    - fprintf
    - ParseRules::is_extra
    - fclose
    - ParseRules::is_upalpha
    - ParseRules::is_mime_sep
    - ParseRules::is_punct
    - ParseRules::is_wslfcr
    - ParseRules::is_control
    - ParseRules::is_end_of_url
    - isprint
    - ParseRules::is_ctl
    - ParseRules::is_alpha
    - ParseRules::is_unsafe
    - ParseRules::is_national
    - ParseRules::is_http_field_value
    - ParseRules::is_eow
    - ParseRules::is_uri
    - ParseRules::ink_toupper
    - ParseRules::is_splf
    - ParseRules::is_token
    - ParseRules::is_http_field_name
    - ParseRules::is_empty
    - fopen
    - ParseRules::is_space
    - uint_to_binary
    - ParseRules::is_unreserved
    - ParseRules::is_char
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: SnowflakeIDUtils::SnowflakeIDUtils
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnowflakeIDUtils::SnowflakeIDUtils(uint64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - machine_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: SnowflakeIDUtils::set_machine_id
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void SnowflakeIDUtils::set_machine_id(uint64_t machine_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:51,1
    - Dst: ats_base64_encode_dstlen
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:53,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:56,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:57,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:57,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:58,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:58,1
    - Dst: Error
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: SnowflakeIDUtils::get_string
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode_dstlen
    - ats_base64_encode
    - Error
    - std::string
    - reinterpret_cast<char const *>
    - empty
    - std::array::data
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view SnowflakeIDUtils::get_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: '&

      SnowflakeID::SnowflakeIDGenerator::instance()'
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SnowflakeID::SnowflakeIDGenerator
    signature: 'SnowflakeID::SnowflakeIDGenerator &

      SnowflakeID::SnowflakeIDGenerator::instance()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:77,1
    - Dst: SnowflakeIDUtils::get_machine_id
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:77,1
    - Dst: SnowflakeIDUtils::get_machine_id
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:80,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:81,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: SnowflakeID::SnowflakeIDGenerator::get_next_id()
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - SnowflakeIDUtils::get_machine_id
    - ink_get_hrtime
    - ink_release_assert
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SnowflakeID::SnowflakeIDGenerator::get_next_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: SnowflakeID::generate_next_snowflake_value
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SnowflakeID::generate_next_snowflake_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeID::generate_next_snowflake_value
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: SnowflakeID::SnowflakeID
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - SnowflakeID::generate_next_snowflake_value
    linkageType: ''
    returnType: void
    signature: void SnowflakeID::SnowflakeID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeID::get_string
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: SnowflakeID::get_string
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 1
    functionsReached:
    - SnowflakeID::get_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view SnowflakeID::get_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeIDUtils::get_machine_id
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:132,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:133,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: SnowflakeIdNoSequence::generate_next_snowflake_value
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - SnowflakeIDUtils::get_machine_id
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SnowflakeIdNoSequence::generate_next_snowflake_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeIdNoSequence::generate_next_snowflake_value
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: SnowflakeIdNoSequence::SnowflakeIdNoSequence
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 0
    functionsReached:
    - SnowflakeIdNoSequence::generate_next_snowflake_value
    linkageType: ''
    returnType: void
    signature: void SnowflakeIdNoSequence::SnowflakeIdNoSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeIdNoSequence::get_string
      Src: /src/trafficserver/src/tscore/SnowflakeID.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: SnowflakeIdNoSequence::get_string
    functionSourceFile: /src/trafficserver/src/tscore/SnowflakeID.cc
    functionUses: 1
    functionsReached:
    - SnowflakeIdNoSequence::get_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view SnowflakeIdNoSequence::get_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:32,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:33,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:34,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:35,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:36,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:37,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:38,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:39,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:40,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: AppVersionInfo::AppVersionInfo
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void AppVersionInfo::AppVersionInfo()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:52,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:53,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:54,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/Version.cc:58,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:59,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/Version.cc:68,1
    - Dst: sscanf
      Src: /src/trafficserver/src/tscore/Version.cc:69,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscore/Version.cc:73,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:79,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:81,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:85,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:86,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:87,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:88,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:89,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:95,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:98,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:101,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:104,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:107,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:110,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:113,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:116,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:119,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/tscore/Version.cc:122,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/Version.cc:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 8
    argNames:
    - pkg_name
    - app_name
    - app_version
    - build_date
    - build_time
    - build_machine
    - build_person
    - build_cflags
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 129
    functionName: AppVersionInfo::setup
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 0
    functionsReached:
    - sscanf
    - ink_strlcpy
    - snprintf
    - strlen
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: "void AppVersionInfo::setup(const char *pkg_name, const char *app_name,
      const char *app_version, const char *build_date,\n                      const
      char *build_time, const char *build_machine, const char *build_person, const
      char *build_cflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup
      Src: /src/trafficserver/src/tscore/Version.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: AppVersionInfo::setup
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 1
    functionsReached:
    - AppVersionInfo::setup
    linkageType: ''
    returnType: void
    signature: void AppVersionInfo::setup(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/trafficserver/src/tscore/Version.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: '&

      AppVersionInfo::get_version()'
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 0
    functionsReached:
    - setup
    linkageType: ''
    returnType: AppVersionInfo
    signature: 'AppVersionInfo &

      AppVersionInfo::get_version()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/trafficserver/src/tscore/Version.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      AppVersionInfo::setup_version(const char *name)'
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 0
    functionsReached:
    - setup
    linkageType: ''
    returnType: AppVersionInfo
    signature: 'AppVersionInfo &

      AppVersionInfo::setup_version(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_fputln
      Src: /src/trafficserver/src/tscore/Version.cc:158,1
    - Dst: get_version
      Src: /src/trafficserver/src/tscore/Version.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: AppVersionInfo::print_version
    functionSourceFile: /src/trafficserver/src/tscore/Version.cc
    functionUses: 2
    functionsReached:
    - ink_fputln
    - get_version
    linkageType: ''
    returnType: void
    signature: void AppVersionInfo::print_version()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/tscore/test_freelist.cc:40,1
    - Dst: ink_freelist_new
      Src: /src/trafficserver/src/tscore/test_freelist.cc:43,1
    - Dst: ink_freelist_new
      Src: /src/trafficserver/src/tscore/test_freelist.cc:44,1
    - Dst: ink_freelist_new
      Src: /src/trafficserver/src/tscore/test_freelist.cc:45,1
    - Dst: printf
      Src: /src/trafficserver/src/tscore/test_freelist.cc:48,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/test_freelist.cc:48,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/test_freelist.cc:49,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/test_freelist.cc:49,1
    - Dst: exit
      Src: /src/trafficserver/src/tscore/test_freelist.cc:50,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/test_freelist.cc:53,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/test_freelist.cc:54,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/test_freelist.cc:55,1
    - Dst: ink_freelist_free
      Src: /src/trafficserver/src/tscore/test_freelist.cc:57,1
    - Dst: ink_freelist_free
      Src: /src/trafficserver/src/tscore/test_freelist.cc:58,1
    - Dst: ink_freelist_free
      Src: /src/trafficserver/src/tscore/test_freelist.cc:59,1
    - Dst: time
      Src: /src/trafficserver/src/tscore/test_freelist.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: test
    functionSourceFile: /src/trafficserver/src/tscore/test_freelist.cc
    functionUses: 3
    functionsReached:
    - memset
    - ink_freelist_new
    - exit
    - printf
    - time
    - static_cast<uint64_t>
    - ink_freelist_free
    linkageType: ''
    returnType: void
    signature: 'void *

      test(void *d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_create
      Src: /src/trafficserver/src/tscore/test_freelist.cc:73,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/test_freelist.cc:76,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/src/tscore/test_freelist.cc:77,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/tscore/test_freelist.cc:77,1
    - Dst: test
      Src: /src/trafficserver/src/tscore/test_freelist.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/test_freelist.cc
    functionUses: 0
    functionsReached:
    - ink_thread_create
    - test
    - fprintf
    - static_cast<intptr_t>
    - ink_freelist_create
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, char * /*argv ATS_UNUSED */[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - thing
    argTypes:
    - std::ostream
    - ATSConsistentHashNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '&

      operator<<(std::ostream &os, ATSConsistentHashNode &thing)'
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, ATSConsistentHashNode &thing)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - h
    argTypes:
    - int
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ATSConsistentHash::ATSConsistentHash
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSConsistentHash::ATSConsistentHash(int r, ATSHash64 *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:50,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:56,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:58,1
    - Dst: roundf
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:58,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:59,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:60,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:60,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:61,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:61,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:61,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:61,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:62,1
    - Dst: ATSConsistentHash::insert
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:63,1
    - Dst: std::pair<uint64_t, ATSConsistentHashNode *>
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:63,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:63,1
    - Dst: ATSHash64*::clear
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - node
    - weight
    - h
    argTypes:
    - ATSConsistentHashNode*
    - float
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: ATSConsistentHash::insert
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 1
    functionsReached:
    - get
    - static_cast<int>
    - ATSHash64*::get
    - ATSHash64*::final
    - ATSConsistentHash::insert
    - ATSHash64*::update
    - std::pair<uint64_t, ATSConsistentHashNode *>
    - ATSHash64*::clear
    - snprintf
    - strlen
    - std::ostringstream::str
    - roundf
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ATSConsistentHash::insert(ATSConsistentHashNode *node, float weight,
      ATSHash64 *h)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:79,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:97,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:97,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:98,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:99,1
    - Dst: ATSHash64*::clear
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:100,1
    - Dst: lower_bound
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:102,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:104,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:106,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:112,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:114,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - url
    - i
    - w
    - h
    argTypes:
    - char*
    - ATSConsistentHashIter*
    - bool*
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 122
    functionName: ATSConsistentHash::lookup
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached:
    - get
    - ATSHash64*::get
    - begin
    - ATSHash64*::final
    - ATSHash64*::update
    - ATSHash64*::clear
    - lower_bound
    - end
    - strlen
    linkageType: ''
    returnType: ATSConsistentHashNode
    signature: 'ATSConsistentHashNode *

      ATSConsistentHash::lookup(const char *url, ATSConsistentHashIter *i, bool *w,
      ATSHash64 *h)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:135,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:153,1
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:153,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:154,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:155,1
    - Dst: ATSHash64*::clear
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:156,1
    - Dst: lower_bound
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:158,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:161,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:163,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:169,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:171,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - url
    - i
    - w
    - h
    argTypes:
    - char*
    - ATSConsistentHashIter*
    - bool*
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 178
    functionName: ATSConsistentHash::lookup_available
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached:
    - get
    - ATSHash64*::get
    - begin
    - ATSHash64*::final
    - ATSHash64*::update
    - ATSHash64*::clear
    - lower_bound
    - end
    - strlen
    linkageType: ''
    returnType: ATSConsistentHashNode
    signature: 'ATSConsistentHashNode *

      ATSConsistentHash::lookup_available(const char *url, ATSConsistentHashIter *i,
      bool *w, ATSHash64 *h)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lower_bound
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:198,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:200,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ConsistentHash.cc:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - hashval
    - i
    - w
    argTypes:
    - uint64_t
    - ATSConsistentHashIter*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 206
    functionName: ATSConsistentHash::lookup_by_hashval
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - lower_bound
    linkageType: ''
    returnType: ATSConsistentHashNode
    signature: 'ATSConsistentHashNode *

      ATSConsistentHash::lookup_by_hashval(uint64_t hashval, ATSConsistentHashIter
      *i, bool *w)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ATSConsistentHash::~ATSConsistentHash()
    functionSourceFile: /src/trafficserver/src/tscore/ConsistentHash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSConsistentHash::~ATSConsistentHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ink_get_fds_limit
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rlim_t
    signature: rlim_t ink_get_fds_limit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limit
    argTypes:
    - rlim_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ink_set_fds_limit
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ink_set_fds_limit(rlim_t limit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:59,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:59,1
    - Dst: MAGIC_CAST
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:59,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:70,1
    - Dst: MAGIC_CAST
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:70,1
    - Dst: Warning
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:71,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:71,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:74,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:74,1
    - Dst: MAGIC_CAST
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: ink_max_out_rlimit
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ink_release_assert
    - setrlimit
    - getrlimit
    - MAGIC_CAST
    - strerror
    linkageType: ''
    returnType: rlim_t
    signature: rlim_t ink_max_out_rlimit(int which)
  - 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: MAGIC_CAST
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAGIC_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: MAGIC_CAST
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAGIC_CAST(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:85,1
    - Dst: fscanf
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:87,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:88,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:89,1
    - Dst: fclose
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:92,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/tscore/ink_sys_control.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: ink_get_max_files
    functionSourceFile: /src/trafficserver/src/tscore/ink_sys_control.cc
    functionUses: 0
    functionsReached:
    - fscanf
    - static_cast<rlim_t>
    - fclose
    - fopen
    - getrlimit
    linkageType: ''
    returnType: rlim_t
    signature: rlim_t ink_get_max_files()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32FNV1a::clear
      Src: /src/trafficserver/src/tscore/HashFNV.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: ATSHash32FNV1a::ATSHash32FNV1a
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached:
    - ATSHash32FNV1a::clear
    linkageType: ''
    returnType: void
    signature: void ATSHash32FNV1a::ATSHash32FNV1a()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ATSHash32FNV1a::final
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHash32FNV1a::final()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ATSHash32FNV1a::get
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ATSHash32FNV1a::get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ATSHash32FNV1a::clear
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHash32FNV1a::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64FNV1a::clear
      Src: /src/trafficserver/src/tscore/HashFNV.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ATSHash64FNV1a::ATSHash64FNV1a
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached:
    - ATSHash64FNV1a::clear
    linkageType: ''
    returnType: void
    signature: void ATSHash64FNV1a::ATSHash64FNV1a()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ATSHash64FNV1a::final
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHash64FNV1a::final()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ATSHash64FNV1a::get
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ATSHash64FNV1a::get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ATSHash64FNV1a::clear
    functionSourceFile: /src/trafficserver/src/tscore/HashFNV.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSHash64FNV1a::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MMH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: ink_code_incr_MMH_init
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ink_code_incr_MMH_init(MMH_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_code_incr_MMH_init
      Src: /src/trafficserver/src/tscore/MMH.cc:101,1
    - Dst: ink_code_incr_MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:102,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/tscore/MMH.cc:102,1
    - Dst: ink_code_incr_MMH_final
      Src: /src/trafficserver/src/tscore/MMH.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - input
    - len
    - sixteen_byte_hash
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: ink_code_MMH
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - ink_code_incr_MMH_update
    - ink_code_incr_MMH_final
    - ink_code_incr_MMH_init
    linkageType: ''
    returnType: int
    signature: int ink_code_MMH(unsigned char *input, int len, unsigned char *sixteen_byte_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: MMH_update
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_update(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: MMH_updateb1
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updateb1(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: MMH_updateb2
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updateb2(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: MMH_updateb3
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updateb3(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: MMH_updatel1
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updatel1(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: MMH_updatel2
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updatel2(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ab
    argTypes:
    - MMH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: MMH_updatel3
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: void
    signature: void MMH_updatel3(MMH_CTX *ctx, unsigned char *ab)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/MMH.cc:222,1
    - Dst: MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:228,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/MMH.cc:235,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/tscore/MMH.cc:246,1
    - Dst: MMH_updateb1
      Src: /src/trafficserver/src/tscore/MMH.cc:251,1
    - Dst: MMH_updateb2
      Src: /src/trafficserver/src/tscore/MMH.cc:256,1
    - Dst: MMH_updateb3
      Src: /src/trafficserver/src/tscore/MMH.cc:261,1
    - Dst: MMH_updatel1
      Src: /src/trafficserver/src/tscore/MMH.cc:268,1
    - Dst: MMH_updatel2
      Src: /src/trafficserver/src/tscore/MMH.cc:273,1
    - Dst: MMH_updatel3
      Src: /src/trafficserver/src/tscore/MMH.cc:278,1
    - Dst: MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:285,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/MMH.cc:293,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/MMH.cc:295,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/MMH.cc:297,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscore/MMH.cc:297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - ctx
    - ainput
    - input_length
    argTypes:
    - MMH_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 300
    functionName: ink_code_incr_MMH_update
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - memcpy
    - MMH_updatel2
    - MMH_update
    - MMH_updateb1
    - MMH_updateb3
    - reinterpret_cast<char *>
    - MMH_updateb2
    - MMH_updatel1
    - MMH_updatel3
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ink_code_incr_MMH_update(MMH_CTX *ctx, const char *ainput, int
      input_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - b
    - c
    - len
    argTypes:
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: _memset
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _memset(unsigned char *b, int c, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _memset
      Src: /src/trafficserver/src/tscore/MMH.cc:324,1
    - Dst: MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:326,1
    - Dst: reinterpret_cast<unsigned int *>
      Src: /src/trafficserver/src/tscore/MMH.cc:329,1
    - Dst: MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:331,1
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/tscore/MMH.cc:333,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/MMH.cc:334,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/tscore/MMH.cc:335,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/tscore/MMH.cc:336,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/tscore/MMH.cc:337,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/tscore/MMH.cc:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - presult
    - ctx
    argTypes:
    - uint8_t*
    - MMH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 354
    functionName: ink_code_incr_MMH_final
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 1
    functionsReached:
    - MMH_update
    - reinterpret_cast<uint32_t *>
    - static_cast<uint32_t>
    - reinterpret_cast<unsigned int *>
    - _memset
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int
    signature: int ink_code_incr_MMH_final(uint8_t *presult, MMH_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_code_incr_MMH_init
      Src: /src/trafficserver/src/tscore/MMH.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: MMHContext::MMHContext
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - ink_code_incr_MMH_init
    linkageType: ''
    returnType: void
    signature: void MMHContext::MMHContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_code_incr_MMH_update
      Src: /src/trafficserver/src/tscore/MMH.cc:364,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/tscore/MMH.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: MMHContext::update
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - ink_code_incr_MMH_update
    - static_cast<const char *>
    linkageType: ''
    returnType: bool
    signature: bool MMHContext::update(void const *data, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_code_incr_MMH_final
      Src: /src/trafficserver/src/tscore/MMH.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: MMHContext::finalize
    functionSourceFile: /src/trafficserver/src/tscore/MMH.cc
    functionUses: 0
    functionsReached:
    - ink_code_incr_MMH_final
    linkageType: ''
    returnType: bool
    signature: bool MMHContext::finalize(CryptoHash &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_thread.cc:49,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_thread.cc:50,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:52,1
    - Dst: sem_open
      Src: /src/trafficserver/src/tscore/ink_thread.cc:52,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:56,1
    - Dst: sem_unlink
      Src: /src/trafficserver/src/tscore/ink_thread.cc:56,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:58,1
    - Dst: sem_init
      Src: /src/trafficserver/src/tscore/ink_thread.cc:58,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - count
    argTypes:
    - ink_semaphore*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: ink_sem_init
    functionSourceFile: /src/trafficserver/src/tscore/ink_thread.cc
    functionUses: 1
    functionsReached:
    - sem_open
    - sem_init
    - sem_unlink
    - ink_atomic_increment
    - ink_semaphore*::get
    - snprintf
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_sem_init(ink_semaphore *sp, unsigned int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:66,1
    - Dst: sem_close
      Src: /src/trafficserver/src/tscore/ink_thread.cc:66,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:66,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:68,1
    - Dst: sem_destroy
      Src: /src/trafficserver/src/tscore/ink_thread.cc:68,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ink_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: ink_sem_destroy
    functionSourceFile: /src/trafficserver/src/tscore/ink_thread.cc
    functionUses: 1
    functionsReached:
    - ink_semaphore*::get
    - sem_destroy
    - sem_close
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_sem_destroy(ink_semaphore *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_wait
      Src: /src/trafficserver/src/tscore/ink_thread.cc:76,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:76,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ink_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: ink_sem_wait
    functionSourceFile: /src/trafficserver/src/tscore/ink_thread.cc
    functionUses: 1
    functionsReached:
    - ink_semaphore*::get
    - sem_wait
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_sem_wait(ink_semaphore *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_trywait
      Src: /src/trafficserver/src/tscore/ink_thread.cc:86,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:86,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ink_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ink_sem_trywait
    functionSourceFile: /src/trafficserver/src/tscore/ink_thread.cc
    functionUses: 0
    functionsReached:
    - ink_semaphore*::get
    - sem_trywait
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool ink_sem_trywait(ink_semaphore *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_thread.cc:96,1
    - Dst: sem_post
      Src: /src/trafficserver/src/tscore/ink_thread.cc:96,1
    - Dst: ink_semaphore*::get
      Src: /src/trafficserver/src/tscore/ink_thread.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ink_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ink_sem_post
    functionSourceFile: /src/trafficserver/src/tscore/ink_thread.cc
    functionUses: 1
    functionsReached:
    - ink_semaphore*::get
    - sem_post
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_sem_post(ink_semaphore *sp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode_dstlen
      Src: /src/trafficserver/src/tscore/ink_base64.cc:45,1
    - Dst: memset
      Src: /src/trafficserver/src/tscore/ink_base64.cc:73,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_base64.cc:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - inBuffer
    - inBufferSize
    - outBuffer
    - outBufSize
    - length
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 93
    functionName: ats_base64_encode
    functionSourceFile: /src/trafficserver/src/tscore/ink_base64.cc
    functionUses: 1
    functionsReached:
    - memset
    - ats_base64_encode_dstlen
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ats_base64_encode(const unsigned char *inBuffer, size_t inBufferSize,
      char *outBuffer, size_t outBufSize, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/tscore/ink_base64.cc:98,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/tscore/ink_base64.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - inBuffer
    - inBufferSize
    - outBuffer
    - outBufSize
    - length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats_base64_encode
    functionSourceFile: /src/trafficserver/src/tscore/ink_base64.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const unsigned char *>
    - ats_base64_encode
    linkageType: ''
    returnType: bool
    signature: bool ats_base64_encode(const char *inBuffer, size_t inBufferSize, char
      *outBuffer, size_t outBufSize, size_t *length)
  - 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: DECODE
    functionSourceFile: /src/trafficserver/src/tscore/ink_base64.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_decode_dstlen
      Src: /src/trafficserver/src/tscore/ink_base64.cc:131,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/tscore/ink_base64.cc:137,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/ink_base64.cc:142,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:142,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:142,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/ink_base64.cc:143,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:143,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:143,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/tscore/ink_base64.cc:144,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:144,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:144,1
    - Dst: DECODE
      Src: /src/trafficserver/src/tscore/ink_base64.cc:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - inBuffer
    - inBufferSize
    - outBuffer
    - outBufSize
    - length
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 168
    functionName: ats_base64_decode
    functionSourceFile: /src/trafficserver/src/tscore/ink_base64.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - static_cast<unsigned char>
    - ats_base64_decode_dstlen
    - DECODE
    linkageType: ''
    returnType: bool
    signature: bool ats_base64_decode(const char *inBuffer, size_t inBufferSize, unsigned
      char *outBuffer, size_t outBufSize, size_t *length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/trafficserver/src/tscore/ink_inet.cc:69,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:69,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/tscore/ink_inet.cc:72,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:72,1
    - Dst: strncpy
      Src: /src/trafficserver/src/tscore/ink_inet.cc:75,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:75,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_inet.cc:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - dst
    - size
    argTypes:
    - struct sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: ats_ip_ntop
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - inet_ntop
    - snprintf
    - strncpy
    - ats_unix_cast
    - ats_ip6_addr_cast
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_ip_ntop(const struct sockaddr *addr, char *dst, size_t size)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: ats_ip_family_name
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ats_ip_family_name(int family)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_inet.cc:106,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/tscore/ink_inet.cc:106,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/tscore/ink_inet.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - dst
    - size
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: ats_ip_nptop
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip_ntop
    - snprintf
    - ats_ip_port_host_order
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_ip_nptop(sockaddr const *addr, char *dst, size_t size)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_inet.cc:127,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_inet.cc:128,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_inet.cc:129,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/tscore/ink_inet.cc:134,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/tscore/ink_inet.cc:152,1
    - Dst: swoc::TextView::rfind
      Src: /src/trafficserver/src/tscore/ink_inet.cc:158,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/tscore/ink_inet.cc:159,1
    - Dst: swoc::TextView::take_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:161,1
    - Dst: swoc::TextView::clear
      Src: /src/trafficserver/src/tscore/ink_inet.cc:165,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/tscore/ink_inet.cc:170,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:172,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:172,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/tscore/ink_inet.cc:173,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:173,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:173,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscore/ink_inet.cc:175,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:175,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:175,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:175,1
    - Dst: std::string_view*::empty
      Src: /src/trafficserver/src/tscore/ink_inet.cc:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - str
    - addr
    - port
    - rest
    argTypes:
    - std::string_view
    - std::string_view*
    - std::string_view*
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 181
    functionName: ats_ip_parse
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - swoc::TextView::take_prefix
    - swoc::TextView::assign
    - ink_zero
    - swoc::TextView::clear
    - std::string_view*::empty
    - swoc::TextView::find
    - swoc::TextView::ltrim_if
    - swoc::TextView::rfind
    - swoc::TextView::size
    - std::string_view
    linkageType: ''
    returnType: int
    signature: int ats_ip_parse(std::string_view str, std::string_view *addr, std::string_view
      *port, std::string_view *rest)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/tscore/ink_inet.cc:189,1
    - Dst: ats_ip_parse
      Src: /src/trafficserver/src/tscore/ink_inet.cc:190,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:192,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:193,1
    - Dst: alloca
      Src: /src/trafficserver/src/tscore/ink_inet.cc:193,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:193,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_inet.cc:194,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:194,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:194,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:195,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscore/ink_inet.cc:196,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:196,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/tscore/ink_inet.cc:198,1
    - Dst: inet_pton
      Src: /src/trafficserver/src/tscore/ink_inet.cc:200,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:200,1
    - Dst: ats_ip6_set
      Src: /src/trafficserver/src/tscore/ink_inet.cc:202,1
    - Dst: inet_aton
      Src: /src/trafficserver/src/tscore/ink_inet.cc:206,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:206,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/tscore/ink_inet.cc:208,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:212,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:213,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ink_inet.cc:213,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_inet.cc:213,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_inet.cc:213,1
    - Dst: data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - src
    - ip
    argTypes:
    - std::string_view
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - inet_aton
    - alloca
    - ats_ip_parse
    - std::string_view::data
    - inet_pton
    - static_cast<char *>
    - std::string_view::size
    - empty
    - data
    - ats_is_ip
    - htons
    - atoi
    - std::string_view::find
    - ats_ip_port_cast
    - std::string_view
    - ats_ip6_set
    - ats_ip_invalidate
    - ats_ip4_set
    linkageType: ''
    returnType: int
    signature: int ats_ip_pton(const std::string_view &src, sockaddr *ip)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<in6_addr const &>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:231,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/src/tscore/ink_inet.cc:233,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:235,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/tscore/ink_inet.cc:238,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/tscore/ink_inet.cc:238,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:240,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/tscore/ink_inet.cc:241,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:242,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:244,1
    - Dst: htonl
      Src: /src/trafficserver/src/tscore/ink_inet.cc:252,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:259,1
    - Dst: htobe64
      Src: /src/trafficserver/src/tscore/ink_inet.cc:266,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:266,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:271,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:276,1
    - Dst: htobe64
      Src: /src/trafficserver/src/tscore/ink_inet.cc:280,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:280,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/tscore/ink_inet.cc:290,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/tscore/ink_inet.cc:290,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/ink_inet.cc:290,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/tscore/ink_inet.cc:290,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:291,1
    - Dst: family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:291,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/tscore/ink_inet.cc:297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 3
    argNames:
    - src
    - lower
    - upper
    argTypes:
    - std::string_view
    - IpAddr
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 302
    functionName: ats_ip_range_parse
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - family
    - reinterpret_cast<in6_addr const &>
    - swoc::SWOC_VERSION_NS::svtoi
    - load
    - std::string_view::substr
    - IpAddr::isIp6
    - IpAddr::family
    - swoc::TextView::size
    - std::string_view::size
    - htobe64
    - htonl
    - std::string_view::remove_prefix
    - static_cast<uint64_t>
    - IpAddr::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: int
    signature: int ats_ip_range_parse(std::string_view src, IpAddr &lower, IpAddr
      &upper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:307,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:308,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:309,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/tscore/ink_inet.cc:311,1
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: ats_ip_hash
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - CryptoContext
    - ats_is_ip6
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ats_ip_hash(sockaddr const *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:322,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:323,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:323,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:323,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:324,1
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/tscore/ink_inet.cc:326,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/tscore/ink_inet.cc:327,1
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:327,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:328,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/tscore/ink_inet.cc:329,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:329,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/tscore/ink_inet.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: ats_ip_port_hash
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - CryptoContext::update
    - ats_is_ip6
    - reinterpret_cast<uint8_t *>
    - ats_ip_port_cast
    - static_cast<uint64_t>
    - ats_ip_addr8_cast
    - CryptoContext::CryptoContext
    - CryptoContext::finalize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ats_ip_port_hash(sockaddr const *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/tscore/ink_inet.cc:342,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:344,1
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:345,1
    - Dst: ats_ip_addr_size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - src
    - dst
    - len
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: ats_ip_to_hex
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip_addr_size
    - ats_ip_addr8_cast
    - ink_assert
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int ats_ip_to_hex(sockaddr const *src, char *dst, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/tscore/ink_inet.cc:362,1
    - Dst: ats_ip6_set
      Src: /src/trafficserver/src/tscore/ink_inet.cc:364,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/tscore/ink_inet.cc:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - addr
    - port
    argTypes:
    - sockaddr*
    - IpAddr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: ats_ip_set
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip6_set
    - ats_ip4_set
    - ats_ip_invalidate
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_set(sockaddr *dst, IpAddr const &addr, uint16_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/tscore/ink_inet.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: IpAddr::load
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 1
    functionsReached:
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: int IpAddr::load(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/tscore/ink_inet.cc:384,1
    - Dst: IpAddr::assign
      Src: /src/trafficserver/src/tscore/ink_inet.cc:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: IpAddr::load
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 1
    functionsReached:
    - IpAddr::assign
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: int IpAddr::load(std::string_view const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/tscore/ink_inet.cc:393,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/tscore/ink_inet.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: IpAddr::toString
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip_ntop
    - IpEndpoint::assign
    linkageType: ''
    returnType: char
    signature: 'char *

      IpAddr::toString(char *dest, size_t len) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:403,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - dest
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: IpAddr::toSockAddr
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ats_ip6_addr_cast
    - ats_ip4_addr_cast
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      IpAddr::toSockAddr(sockaddr *dest) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/trafficserver/src/tscore/ink_inet.cc:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: IpAddr::isMulticast
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_MULTICAST
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isMulticast() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:431,1
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/ink_inet.cc:433,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 439
    functionName: operator==(IpAddr const &lhs, sockaddr const *rhs)
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ats_ip4_addr_cast
    - ats_ip6_addr_cast
    linkageType: ''
    returnType: bool
    signature: bool operator==(IpAddr const &lhs, sockaddr const *rhs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/src/tscore/ink_inet.cc:467,1
    - Dst: ntohl
      Src: /src/trafficserver/src/tscore/ink_inet.cc:468,1
    - Dst: memcmp
      Src: /src/trafficserver/src/tscore/ink_inet.cc:483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 495
    functionName: IpAddr::cmp
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - memcmp
    linkageType: ''
    returnType: int
    signature: int IpAddr::cmp(self const &that) const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_inet.cc:505,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/tscore/ink_inet.cc:508,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/tscore/ink_inet.cc:511,1
    - Dst: ats_ip_parse
      Src: /src/trafficserver/src/tscore/ink_inet.cc:514,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:516,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:517,1
    - Dst: alloca
      Src: /src/trafficserver/src/tscore/ink_inet.cc:517,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:517,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscore/ink_inet.cc:518,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:518,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:518,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:519,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscore/ink_inet.cc:520,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:520,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/tscore/ink_inet.cc:522,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/src/tscore/ink_inet.cc:525,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:525,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:543,1
    - Dst: ats_is_ip_loopback
      Src: /src/trafficserver/src/tscore/ink_inet.cc:545,1
    - Dst: ats_is_ip_linklocal
      Src: /src/trafficserver/src/tscore/ink_inet.cc:547,1
    - Dst: ats_is_ip_private
      Src: /src/trafficserver/src/tscore/ink_inet.cc:549,1
    - Dst: ats_is_ip_multicast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:551,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:561,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:566,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/ink_inet.cc:574,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/tscore/ink_inet.cc:577,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/tscore/ink_inet.cc:579,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:586,1
    - Dst: htons
      Src: /src/trafficserver/src/tscore/ink_inet.cc:587,1
    - Dst: atoi
      Src: /src/trafficserver/src/tscore/ink_inet.cc:587,1
    - Dst: data
      Src: /src/trafficserver/src/tscore/ink_inet.cc:587,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:589,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:590,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:592,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:593,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:596,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/tscore/ink_inet.cc:596,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 3
    argNames:
    - host
    - ip4
    - ip6
    argTypes:
    - char*
    - IpEndpoint*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 601
    functionName: ats_ip_getbestaddrinfo
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_ip_copy
    - alloca
    - ats_is_ip_multicast
    - ats_ip_parse
    - size
    - std::string_view::data
    - ats_is_ip_linklocal
    - ink_zero
    - static_cast<char *>
    - std::string_view::size
    - freeaddrinfo
    - ats_is_ip6
    - data
    - ats_is_ip
    - htons
    - getaddrinfo
    - ats_is_ip_private
    - atoi
    - strlen
    - ats_ip_port_cast
    - std::string_view
    - ats_is_ip_loopback
    - ats_is_ip4
    - ats_ip_invalidate
    linkageType: ''
    returnType: int
    signature: int ats_ip_getbestaddrinfo(const char *host, IpEndpoint *ip4, IpEndpoint
      *ip6)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/trafficserver/src/tscore/ink_inet.cc:611,1
    - Dst: isxdigit
      Src: /src/trafficserver/src/tscore/ink_inet.cc:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 621
    functionName: ats_ip_check_characters
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - isxdigit
    - isdigit
    linkageType: ''
    returnType: int
    signature: int ats_ip_check_characters(std::string_view text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/trafficserver/src/tscore/ink_inet.cc:631,1
    - Dst: std::ifstream::good
      Src: /src/trafficserver/src/tscore/ink_inet.cc:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 648
    functionName: ats_tcp_somaxconn
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 0
    functionsReached:
    - sysctlbyname
    - std::ifstream::good
    linkageType: ''
    returnType: int
    signature: int ats_tcp_somaxconn()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:655,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:659,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:660,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:663,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:676,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:677,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:678,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:679,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:680,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:681,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 684
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 1
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - reinterpret_cast<uint8_t *>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, in_addr_t addr)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:693,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:694,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:695,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:696,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:697,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:700,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:717,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:718,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:719,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:720,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tscore/ink_inet.cc:722,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:722,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:729,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/tscore/ink_inet.cc:731,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 738
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 2
    functionsReached:
    - swoc::bwformat
    - IpAddr::isIp4
    - bwf::Spec::has_numeric_type
    - ats_ip_family_name
    - BufferWriter::print
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - IpAddr::isIp6
    - IpAddr::family
    - static_cast<uintmax_t>
    - BufferWriter::write
    - bwf::Spec::_ext::remove_prefix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, IpAddr const &addr)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:751,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:751,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:755,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:756,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:758,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:759,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:761,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:762,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:765,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:789,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:789,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:793,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:796,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:796,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:799,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:799,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tscore/ink_inet.cc:803,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:807,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:810,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:826,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/tscore/ink_inet.cc:828,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:829,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:829,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:831,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/tscore/ink_inet.cc:831,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 835
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 3
    functionsReached:
    - swoc::bwformat
    - ats_ip4_addr_cast
    - bwf::Spec::has_numeric_type
    - ats_ip_family_name
    - BufferWriter::print
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - ats_ip_port_host_order
    - static_cast<void const *>
    - ats_unix_cast
    - static_cast<uintmax_t>
    - ats_ip6_addr_cast
    - BufferWriter::write
    - bwf::Spec::_ext::remove_prefix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, sockaddr const *addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:655,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:659,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:660,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:663,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:676,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:677,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:678,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:679,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:680,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:681,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 684
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 4
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - reinterpret_cast<uint8_t *>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, in_addr_t addr)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:693,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:694,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:695,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:696,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:697,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:700,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/tscore/ink_inet.cc:717,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:718,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/tscore/ink_inet.cc:719,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:720,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tscore/ink_inet.cc:722,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:722,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:729,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/tscore/ink_inet.cc:731,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:732,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/tscore/ink_inet.cc:734,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 738
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 5
    functionsReached:
    - swoc::bwformat
    - IpAddr::isIp4
    - bwf::Spec::has_numeric_type
    - ats_ip_family_name
    - BufferWriter::print
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - IpAddr::isIp6
    - IpAddr::family
    - static_cast<uintmax_t>
    - BufferWriter::write
    - bwf::Spec::_ext::remove_prefix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, IpAddr const &addr)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:751,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:751,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:755,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:756,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:758,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:759,1
    - Dst: bwf::Spec::_ext::front
      Src: /src/trafficserver/src/tscore/ink_inet.cc:761,1
    - Dst: bwf::Spec::_ext::remove_prefix
      Src: /src/trafficserver/src/tscore/ink_inet.cc:762,1
    - Dst: bwf::Spec::_ext::size
      Src: /src/trafficserver/src/tscore/ink_inet.cc:765,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:789,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:789,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:793,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:796,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:796,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:799,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/src/tscore/ink_inet.cc:799,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/tscore/ink_inet.cc:803,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:807,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:810,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/tscore/ink_inet.cc:821,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/tscore/ink_inet.cc:826,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/tscore/ink_inet.cc:828,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:829,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/tscore/ink_inet.cc:829,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/tscore/ink_inet.cc:831,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/tscore/ink_inet.cc:831,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 835
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/ink_inet.cc
    functionUses: 6
    functionsReached:
    - swoc::bwformat
    - ats_ip4_addr_cast
    - bwf::Spec::has_numeric_type
    - ats_ip_family_name
    - BufferWriter::print
    - bwf::Spec::_ext::front
    - bwf::Spec::_ext::size
    - ats_ip_port_host_order
    - static_cast<void const *>
    - ats_unix_cast
    - static_cast<uintmax_t>
    - ats_ip6_addr_cast
    - BufferWriter::write
    - bwf::Spec::_ext::remove_prefix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscore/ink_error.cc:41,1
    - Dst: strncpy
      Src: /src/trafficserver/src/tscore/ink_error.cc:43,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:44,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:47,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/ink_error.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hdr
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: fatal_va
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - vsnprintf
    - syslog
    - strncpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void fatal_va(const char *hdr, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatal_va
      Src: /src/trafficserver/src/tscore/ink_error.cc:54,1
    - Dst: _exit
      Src: /src/trafficserver/src/tscore/ink_error.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ink_fatal_va
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 1
    functionsReached:
    - _exit
    - fatal_va
    linkageType: ''
    returnType: void
    signature: void ink_fatal_va(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:63,1
    - Dst: fatal_va
      Src: /src/trafficserver/src/tscore/ink_error.cc:64,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:65,1
    - Dst: _exit
      Src: /src/trafficserver/src/tscore/ink_error.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: ink_fatal
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 6
    functionsReached:
    - fatal_va
    - va_end
    - _exit
    - va_start
    linkageType: ''
    returnType: void
    signature: void ink_fatal(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatal_va
      Src: /src/trafficserver/src/tscore/ink_error.cc:73,1
    - Dst: _exit
      Src: /src/trafficserver/src/tscore/ink_error.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ink_emergency_va
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 1
    functionsReached:
    - _exit
    - fatal_va
    linkageType: ''
    returnType: void
    signature: void ink_emergency_va(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:82,1
    - Dst: ink_emergency_va
      Src: /src/trafficserver/src/tscore/ink_error.cc:83,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:85,1
    - Dst: _exit
      Src: /src/trafficserver/src/tscore/ink_error.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: ink_emergency
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 0
    functionsReached:
    - ink_emergency_va
    - va_end
    - _exit
    - va_start
    linkageType: ''
    returnType: void
    signature: void ink_emergency(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:95,1
    - Dst: fatal_va
      Src: /src/trafficserver/src/tscore/ink_error.cc:96,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:97,1
    - Dst: abort
      Src: /src/trafficserver/src/tscore/ink_error.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: ink_abort
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 27
    functionsReached:
    - fatal_va
    - va_end
    - abort
    - va_start
    linkageType: ''
    returnType: void
    signature: void ink_abort(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:112,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:113,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:115,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:117,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/ink_error.cc:118,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: ink_warning
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - va_end
    - vsnprintf
    - va_start
    - snprintf
    - syslog
    linkageType: ''
    returnType: void
    signature: void ink_warning(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:135,1
    - Dst: strerror
      Src: /src/trafficserver/src/tscore/ink_error.cc:136,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:137,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:140,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:142,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/ink_error.cc:143,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: ink_pwarning
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - vsnprintf
    - va_start
    - snprintf
    - syslog
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_pwarning(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:157,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:158,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:160,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:162,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/ink_error.cc:163,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: ink_notice
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - vsnprintf
    - va_start
    - snprintf
    - syslog
    linkageType: ''
    returnType: void
    signature: void ink_notice(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:177,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:178,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:180,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: ink_eprintf
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void ink_eprintf(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/ink_error.cc:194,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:195,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:197,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_error.cc:199,1
    - Dst: syslog
      Src: /src/trafficserver/src/tscore/ink_error.cc:200,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/ink_error.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: ink_error
    functionSourceFile: /src/trafficserver/src/tscore/ink_error.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - vsnprintf
    - va_start
    - snprintf
    - syslog
    linkageType: ''
    returnType: void
    signature: void ink_error(const char *message_format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: original_alloc
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:52,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - extent
    - new_addr
    - size
    - alignment
    - zero
    - commit
    - arena_id
    argTypes:
    - extent_hooks_t*
    - void*
    - size_t
    - size_t
    - bool*
    - bool*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: je_mi_malloc::JeMiNodumpAllocator::alloc
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - original_alloc
    - ats_madvise
    linkageType: ''
    returnType: void
    signature: "void *\nJeMiNodumpAllocator::alloc(extent_hooks_t *extent, void *new_addr,
      size_t size, size_t alignment, bool *zero, bool *commit,\n                           unsigned
      int arena_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:68,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:69,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:69,1
    - Dst: MALLOCX_ARENA
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:72,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:75,1
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:78,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:78,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:79,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:79,1
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:88,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:88,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:89,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - MALLOCX_ARENA
    - ink_abort
    - Dbg
    - mallctl
    - std::strerror
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int JeMiNodumpAllocator::extend_and_setup_arena()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:111,1
    - Dst: je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:112,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:115,1
    - Dst: mi_heap_new
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:116,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:117,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:118,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:126,1
    - Dst: MALLOCX_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:127,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:128,1
    - Dst: mallocx
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:128,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:129,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:133,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:134,1
    - Dst: mi_heap_malloc_aligned
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:134,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:135,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:137,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:137,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:140,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:141,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:141,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: je_mi_malloc::JeMiNodumpAllocator::allocate
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - MALLOCX_ALIGN
    - ink_abort
    - likely
    - ats_memalign
    - je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
    - ats_pagesize
    - mi_heap_new
    - mi_heap_malloc_aligned
    - INK_ALIGN
    - ats_madvise
    - unlikely
    - mallocx
    - static_cast<caddr_t>
    linkageType: ''
    returnType: void
    signature: 'void *

      JeMiNodumpAllocator::allocate(InkFreeList *f)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:156,1
    - Dst: dallocx
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:157,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:160,1
    - Dst: mi_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:161,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:164,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - f
    - ptr
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: je_mi_malloc::JeMiNodumpAllocator::deallocate
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - mi_free
    - dallocx
    - ats_free
    - likely
    linkageType: ''
    returnType: void
    signature: void JeMiNodumpAllocator::deallocate(InkFreeList *f, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JeMiNodumpAllocator::JeMiNodumpAllocator
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: je_mi_malloc::globalJeMiNodumpAllocator
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - JeMiNodumpAllocator::JeMiNodumpAllocator
    linkageType: ''
    returnType: JeMiNodumpAllocator
    signature: 'JeMiNodumpAllocator &

      globalJeMiNodumpAllocator()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: original_alloc
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:52,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - extent
    - new_addr
    - size
    - alignment
    - zero
    - commit
    - arena_id
    argTypes:
    - extent_hooks_t*
    - void*
    - size_t
    - size_t
    - bool*
    - bool*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: je_mi_malloc::JeMiNodumpAllocator::alloc
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - original_alloc
    - ats_madvise
    linkageType: ''
    returnType: void
    signature: "void *\nJeMiNodumpAllocator::alloc(extent_hooks_t *extent, void *new_addr,
      size_t size, size_t alignment, bool *zero, bool *commit,\n                           unsigned
      int arena_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:68,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:69,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:69,1
    - Dst: MALLOCX_ARENA
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:72,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:75,1
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:78,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:78,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:79,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:79,1
    - Dst: mallctl
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:88,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:88,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:89,1
    - Dst: std::strerror
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 1
    functionsReached:
    - auto::c_str
    - MALLOCX_ARENA
    - ink_abort
    - Dbg
    - mallctl
    - std::strerror
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int JeMiNodumpAllocator::extend_and_setup_arena()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:111,1
    - Dst: je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:112,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:115,1
    - Dst: mi_heap_new
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:116,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:117,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:118,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:126,1
    - Dst: MALLOCX_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:127,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:128,1
    - Dst: mallocx
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:128,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:129,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:133,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:134,1
    - Dst: mi_heap_malloc_aligned
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:134,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:135,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:137,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:137,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:140,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:141,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:141,1
    - Dst: ats_madvise
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:142,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - f
    argTypes:
    - InkFreeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: je_mi_malloc::JeMiNodumpAllocator::allocate
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - MALLOCX_ALIGN
    - ink_abort
    - likely
    - ats_memalign
    - je_mi_malloc::JeMiNodumpAllocator::extend_and_setup_arena
    - ats_pagesize
    - mi_heap_new
    - mi_heap_malloc_aligned
    - INK_ALIGN
    - ats_madvise
    - unlikely
    - mallocx
    - static_cast<caddr_t>
    linkageType: ''
    returnType: void
    signature: 'void *

      JeMiNodumpAllocator::allocate(InkFreeList *f)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:156,1
    - Dst: dallocx
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:157,1
    - Dst: likely
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:160,1
    - Dst: mi_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:161,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:164,1
    - Dst: ats_free
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - f
    - ptr
    argTypes:
    - InkFreeList*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: je_mi_malloc::JeMiNodumpAllocator::deallocate
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - mi_free
    - dallocx
    - ats_free
    - likely
    linkageType: ''
    returnType: void
    signature: void JeMiNodumpAllocator::deallocate(InkFreeList *f, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JeMiNodumpAllocator::JeMiNodumpAllocator
      Src: /src/trafficserver/src/tscore/JeMiAllocator.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: je_mi_malloc::globalJeMiNodumpAllocator
    functionSourceFile: /src/trafficserver/src/tscore/JeMiAllocator.cc
    functionUses: 0
    functionsReached:
    - JeMiNodumpAllocator::JeMiNodumpAllocator
    linkageType: ''
    returnType: JeMiNodumpAllocator
    signature: 'JeMiNodumpAllocator &

      globalJeMiNodumpAllocator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/tscore/runroot.cc:40,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: exists
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 4
    functionsReached:
    - stat
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool exists(const std::string &dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/tscore/runroot.cc:48,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - directory
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: is_directory
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - stat
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_directory(const std::string &directory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_directory
      Src: /src/trafficserver/src/tscore/runroot.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:62,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/tscore/runroot.cc:63,1
    - Dst: exists
      Src: /src/trafficserver/src/tscore/runroot.cc:64,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/tscore/runroot.cc:67,1
    - Dst: exists
      Src: /src/trafficserver/src/tscore/runroot.cc:68,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/tscore/runroot.cc:71,1
    - Dst: exists
      Src: /src/trafficserver/src/tscore/runroot.cc:72,1
    - Dst: exists
      Src: /src/trafficserver/src/tscore/runroot.cc:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: get_yaml_path
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - Layout::relative_to
    - exists
    - is_directory
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string get_yaml_path(const std::string &path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/trafficserver/src/tscore/runroot.cc:87,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/tscore/runroot.cc:88,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:92,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:95,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:96,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/runroot.cc:99,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/tscore/runroot.cc:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: get_parent_yaml_path
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - std::string::back
    - std::string::substr
    - std::string::find_last_of
    - std::string::empty
    - std::string::pop_back
    linkageType: ''
    returnType: std::string
    signature: std::string get_parent_yaml_path(const std::string &path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/tscore/runroot.cc:109,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:111,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:112,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:115,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/tscore/runroot.cc:119,1
    - Dst: getcwd
      Src: /src/trafficserver/src/tscore/runroot.cc:124,1
    - Dst: get_parent_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:125,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:126,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:129,1
    - Dst: realpath
      Src: /src/trafficserver/src/tscore/runroot.cc:136,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/runroot.cc:138,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/tscore/runroot.cc:138,1
    - Dst: get_parent_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:139,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:140,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - executable
    - json
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 104
    functionDepth: 7
    functionLinenumber: 104
    functionLinenumberEnd: 150
    functionName: runroot_extra_handling
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - get_parent_yaml_path
    - std::string::substr
    - realpath
    - ink_warning
    - std::string::find_last_of
    - std::string::empty
    - getcwd
    - ink_notice
    - getenv
    linkageType: ''
    returnType: void
    signature: void runroot_extra_handling(const char *executable, bool json)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:158,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:159,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:160,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:162,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/tscore/runroot.cc:167,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:167,1
    - Dst: runroot_extra_handling
      Src: /src/trafficserver/src/tscore/runroot.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - value
    - executable
    - json
    argTypes:
    - std::string
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 8
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: argparser_runroot_handler
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - runroot_extra_handling
    - ink_warning
    - std::string::empty
    - ink_notice
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void argparser_runroot_handler(std::string const &value, const char
      *executable, bool json)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/tscore/runroot.cc:187,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/runroot.cc:187,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscore/runroot.cc:188,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:195,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/runroot.cc:198,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/runroot.cc:198,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscore/runroot.cc:198,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/tscore/runroot.cc:199,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/tscore/runroot.cc:200,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:202,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/tscore/runroot.cc:207,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:207,1
    - Dst: runroot_extra_handling
      Src: /src/trafficserver/src/tscore/runroot.cc:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argv
    - json
    argTypes:
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 175
    functionDepth: 8
    functionLinenumber: 175
    functionLinenumberEnd: 212
    functionName: runroot_handler
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 2
    functionsReached:
    - get_yaml_path
    - std::string::substr
    - std::string_view::substr
    - std::string::size
    - ink_warning
    - std::string::empty
    - runroot_extra_handling
    - ink_notice
    - std::string_view::data
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void runroot_handler(const char **argv, bool json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:220,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:221,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:222,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:223,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:224,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:225,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:226,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:227,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:228,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:229,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:230,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:231,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/tscore/runroot.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: runroot_map_default
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - Layout::get
    linkageType: ''
    returnType: std::unordered_map<std::string, std::string>
    signature: std::unordered_map<std::string, std::string> runroot_map_default()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/src/tscore/runroot.cc:244,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/tscore/runroot.cc:245,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/tscore/runroot.cc:245,1
    - Dst: second::as
      Src: /src/trafficserver/src/tscore/runroot.cc:249,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/tscore/runroot.cc:251,1
    - Dst: first::as
      Src: /src/trafficserver/src/tscore/runroot.cc:253,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/tscore/runroot.cc:256,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/runroot.cc:256,1
    - Dst: what
      Src: /src/trafficserver/src/tscore/runroot.cc:256,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/tscore/runroot.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: runroot_map
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 0
    functionsReached:
    - second::as
    - first::as
    - std::string::substr
    - std::string::find_last_of
    - ink_warning
    - what
    - YAML::LoadFile
    - ink_notice
    - Layout::relative_to
    - std::string::c_str
    linkageType: ''
    returnType: RunrootMapType
    signature: RunrootMapType runroot_map(const std::string &file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/tscore/runroot.cc:269,1
    - Dst: size
      Src: /src/trafficserver/src/tscore/runroot.cc:273,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/tscore/runroot.cc:275,1
    - Dst: runroot_map
      Src: /src/trafficserver/src/tscore/runroot.cc:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: check_runroot
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 1
    functionsReached:
    - empty
    - ink_fatal
    - size
    - runroot_map
    linkageType: ''
    returnType: RunrootMapType
    signature: RunrootMapType check_runroot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: get_runroot
    functionSourceFile: /src/trafficserver/src/tscore/runroot.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_runroot()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MD5Context::MD5Context
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:47,1
    - Dst: SHA256Context::SHA256Context
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:52,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: CryptoContext::CryptoContext
    functionSourceFile: /src/trafficserver/src/tscore/CryptoHash.cc
    functionUses: 1
    functionsReached:
    - MD5Context::MD5Context
    - SHA256Context::SHA256Context
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void CryptoContext::CryptoContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - dest
    - hash
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: ink_code_to_hex_str
    functionSourceFile: /src/trafficserver/src/tscore/CryptoHash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ink_code_to_hex_str(char *dest, uint8_t const *hash)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_code_to_hex_str
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: CryptoHash::toHexStr
    functionSourceFile: /src/trafficserver/src/tscore/CryptoHash.cc
    functionUses: 0
    functionsReached:
    - ink_code_to_hex_str
    linkageType: ''
    returnType: char
    signature: 'char *

      CryptoHash::toHexStr(char buffer[(CRYPTO_HASH_SIZE * 2) + 1]) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::bwformat
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - hash
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - ts::CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: ts::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/CryptoHash.cc
    functionUses: 1
    functionsReached:
    - ts::bwformat
    - std::string_view
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, ts::CryptoHash
      const &hash)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::bwformat
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/tscore/CryptoHash.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - hash
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - ts::CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: ts::bwformat
    functionSourceFile: /src/trafficserver/src/tscore/CryptoHash.cc
    functionUses: 2
    functionsReached:
    - ts::bwformat
    - std::string_view
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, ts::CryptoHash
      const &hash)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Resource::Resource
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Resource::getValue
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Resource::getIncrement
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getIncrement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Resource::getDecrement
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getDecrement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Resource::setSymbol
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSymbol(const void *symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/src/tscore/ink_resource.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: Resource::setName
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void setName(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/trafficserver/src/tscore/ink_resource.cc:74,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/src/tscore/ink_resource.cc:74,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - symbol
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Resource::setName
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - const_cast<void *>
    - dladdr
    - snprintf
    linkageType: ''
    returnType: void
    signature: void setName(const void *symbol, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Resource::getName
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  getName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: Resource::getSymbol
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  getSymbol() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_resource.cc:99,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_resource.cc:101,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/tscore/ink_resource.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: Resource::increment
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void Resource::increment(const int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/src/tscore/ink_resource.cc:110,1
    - Dst: Resource::getName
      Src: /src/trafficserver/src/tscore/ink_resource.cc:111,1
    - Dst: Resource::setName
      Src: /src/trafficserver/src/tscore/ink_resource.cc:113,1
    - Dst: Resource::increment
      Src: /src/trafficserver/src/tscore/ink_resource.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: ResourceTracker::increment
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - lookup
    - Resource::increment
    - Resource::getName
    - Resource::setName
    linkageType: ''
    returnType: void
    signature: void ResourceTracker::increment(const char *name, const int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/src/tscore/ink_resource.cc:121,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/tscore/ink_resource.cc:121,1
    - Dst: Resource::getSymbol
      Src: /src/trafficserver/src/tscore/ink_resource.cc:122,1
    - Dst: Resource::setName
      Src: /src/trafficserver/src/tscore/ink_resource.cc:123,1
    - Dst: Resource::setSymbol
      Src: /src/trafficserver/src/tscore/ink_resource.cc:124,1
    - Dst: Resource::increment
      Src: /src/trafficserver/src/tscore/ink_resource.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - symbol
    - size
    - name
    argTypes:
    - void*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: ResourceTracker::increment
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - lookup
    - Resource::increment
    - Resource::setSymbol
    - Resource::setName
    - static_cast<const char *>
    - Resource::getSymbol
    linkageType: ''
    returnType: void
    signature: void ResourceTracker::increment(const void *symbol, const int64_t size,
      const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/ink_resource.cc:133,1
    - Dst: find
      Src: /src/trafficserver/src/tscore/ink_resource.cc:134,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ink_resource.cc:135,1
    - Dst: Resource::Resource
      Src: /src/trafficserver/src/tscore/ink_resource.cc:139,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/ink_resource.cc:142,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/tscore/ink_resource.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: '&

      ResourceTracker::lookup(const char *name)'
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - find
    - end
    - ink_mutex_acquire
    - ink_mutex_release
    - Resource::Resource
    linkageType: ''
    returnType: Resource
    signature: 'Resource &

      ResourceTracker::lookup(const char *name)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/tscore/ink_resource.cc:155,1
    - Dst: empty
      Src: /src/trafficserver/src/tscore/ink_resource.cc:156,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:157,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:158,1
    - Dst: begin
      Src: /src/trafficserver/src/tscore/ink_resource.cc:160,1
    - Dst: end
      Src: /src/trafficserver/src/tscore/ink_resource.cc:160,1
    - Dst: Resource::getIncrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:163,1
    - Dst: Resource::getDecrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:163,1
    - Dst: Resource::getValue
      Src: /src/trafficserver/src/tscore/ink_resource.cc:164,1
    - Dst: Resource::getIncrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:164,1
    - Dst: Resource::getDecrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:164,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:166,1
    - Dst: Resource::getIncrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:166,1
    - Dst: Resource::getDecrement
      Src: /src/trafficserver/src/tscore/ink_resource.cc:167,1
    - Dst: Resource::getValue
      Src: /src/trafficserver/src/tscore/ink_resource.cc:167,1
    - Dst: Resource::getName
      Src: /src/trafficserver/src/tscore/ink_resource.cc:167,1
    - Dst: Resource::getValue
      Src: /src/trafficserver/src/tscore/ink_resource.cc:168,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:170,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:171,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/tscore/ink_resource.cc:175,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:178,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:179,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:180,1
    - Dst: fprintf
      Src: /src/trafficserver/src/tscore/ink_resource.cc:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 184
    functionName: ResourceTracker::dump
    functionSourceFile: /src/trafficserver/src/tscore/ink_resource.cc
    functionUses: 0
    functionsReached:
    - begin
    - fprintf
    - Resource::getDecrement
    - end
    - Resource::getValue
    - ink_mutex_release
    - ink_mutex_acquire
    - empty
    - Resource::getIncrement
    - Resource::getName
    linkageType: ''
    returnType: void
    signature: void ResourceTracker::dump(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_interval
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: LogMessage::set_default_log_throttling_interval
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage::set_default_log_throttling_interval(std::chrono::milliseconds
      new_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_interval
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: LogMessage::set_default_debug_throttling_interval
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage::set_default_debug_throttling_interval(std::chrono::milliseconds
      new_interval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_function
      Src: /src/trafficserver/src/tscore/LogMessage.cc:59,1
    - Dst: set_throttling_interval
      Src: /src/trafficserver/src/tscore/LogMessage.cc:63,1
    - Dst: is_throttled
      Src: /src/trafficserver/src/tscore/LogMessage.cc:66,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/LogMessage.cc:76,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/tscore/LogMessage.cc:76,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscore/LogMessage.cc:76,1
    - Dst: log_function
      Src: /src/trafficserver/src/tscore/LogMessage.cc:77,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscore/LogMessage.cc:77,1
    - Dst: log_function
      Src: /src/trafficserver/src/tscore/LogMessage.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - current_configured_interval
    - log_function
    - fmt
    - args
    argTypes:
    - std::chrono::microseconds
    - log_function_f
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: LogMessage::message_helper
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - std::string
    - set_throttling_interval
    - log_function
    - is_throttled
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: "void LogMessage::message_helper(std::chrono::microseconds current_configured_interval,
      const log_function_f &log_function,\n                           const char *fmt,
      va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:85,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/LogMessage.cc:86,1
    - Dst: diags
      Src: /src/trafficserver/src/tscore/LogMessage.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - level
    - loc
    - fmt
    - args
    argTypes:
    - DiagsLevel
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: LogMessage::standard_message_helper
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_helper
    - diags
    - load
    linkageType: ''
    returnType: void
    signature: void LogMessage::standard_message_helper(DiagsLevel level, SourceLocation
      const &loc, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:93,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/LogMessage.cc:94,1
    - Dst: diags
      Src: /src/trafficserver/src/tscore/LogMessage.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tag
    - level
    - loc
    - fmt
    - args
    argTypes:
    - char*
    - DiagsLevel
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: LogMessage::message_debug_helper
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_helper
    - diags
    - load
    linkageType: ''
    returnType: void
    signature: void LogMessage::message_debug_helper(const char *tag, DiagsLevel level,
      SourceLocation const &loc, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:101,1
    - Dst: load
      Src: /src/trafficserver/src/tscore/LogMessage.cc:102,1
    - Dst: diags
      Src: /src/trafficserver/src/tscore/LogMessage.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tag
    - level
    - loc
    - fmt
    - args
    argTypes:
    - char*
    - DiagsLevel
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: LogMessage::message_print_helper
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_helper
    - diags
    - load
    linkageType: ''
    returnType: void
    signature: void LogMessage::message_print_helper(const char *tag, DiagsLevel level,
      SourceLocation const &loc, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - is_throttled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: LogMessage::LogMessage
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage::LogMessage(bool is_throttled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - throttling_interval
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: LogMessage::LogMessage
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage::LogMessage(std::chrono::milliseconds throttling_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:122,1
    - Dst: LogMessage::message_debug_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:123,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tag
    - loc
    - fmt
    argTypes:
    - char*
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: LogMessage::diag
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_debug_helper
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void LogMessage::diag(const char *tag, SourceLocation const &loc, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:131,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:132,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: LogMessage::status
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::status(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:140,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:141,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: LogMessage::note
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::note(SourceLocation const &loc, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:149,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:150,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: LogMessage::warning
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::warning(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:158,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:159,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: LogMessage::error
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::error(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:167,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:168,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: LogMessage::fatal
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::fatal(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:176,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:177,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: LogMessage::alert
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::alert(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:185,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:186,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - fmt
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: LogMessage::emergency
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::emergency(SourceLocation const &loc, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:194,1
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:195,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - level
    - loc
    - fmt
    argTypes:
    - DiagsLevel
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: LogMessage::message
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::message(DiagsLevel level, SourceLocation const &loc,
      const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/tscore/LogMessage.cc:203,1
    - Dst: LogMessage::message_print_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:204,1
    - Dst: va_end
      Src: /src/trafficserver/src/tscore/LogMessage.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - tag
    - level
    - loc
    - fmt
    argTypes:
    - char*
    - DiagsLevel
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: LogMessage::print
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - va_end
    - LogMessage::message_print_helper
    - va_start
    linkageType: ''
    returnType: void
    signature: void LogMessage::print(const char *tag, DiagsLevel level, SourceLocation
      const &loc, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::message_debug_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - loc
    - fmt
    - args
    argTypes:
    - char*
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: LogMessage::diag_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_debug_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::diag_va(const char *tag, SourceLocation const &loc,
      const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::message_debug_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - loc
    - fmt
    - args
    argTypes:
    - char*
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: LogMessage::debug_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::message_debug_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::debug_va(const char *tag, SourceLocation const &loc,
      const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: LogMessage::status_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::status_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: LogMessage::note_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::note_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: LogMessage::warning_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::warning_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: LogMessage::error_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::error_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: LogMessage::fatal_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::fatal_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: LogMessage::alert_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::alert_va(SourceLocation const &loc, const char *fmt,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - loc
    - fmt
    - args
    argTypes:
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: LogMessage::emergency_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::emergency_va(SourceLocation const &loc, const char
      *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage::standard_message_helper
      Src: /src/trafficserver/src/tscore/LogMessage.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - loc
    - fmt
    - args
    argTypes:
    - DiagsLevel
    - SourceLocation
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: LogMessage::message_va
    functionSourceFile: /src/trafficserver/src/tscore/LogMessage.cc
    functionUses: 0
    functionsReached:
    - LogMessage::standard_message_helper
    linkageType: ''
    returnType: void
    signature: void LogMessage::message_va(DiagsLevel level, SourceLocation const
      &loc, const char *fmt, va_list args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/tscore/ParseRules.cc:56,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ParseRules.cc:60,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:62,1
    - Dst: ink_get_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:63,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ParseRules.cc:66,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/ParseRules.cc:75,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 105
    functionName: ink_atoi64
    functionSourceFile: /src/trafficserver/src/tscore/ParseRules.cc
    functionUses: 2
    functionsReached:
    - ink_get_hex
    - ParseRules::is_hex
    - ParseRules::is_digit
    - ParseRules::is_wslfcr
    - unlikely
    linkageType: ''
    returnType: int64_t
    signature: int64_t ink_atoi64(const char *str, const char **end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/tscore/ParseRules.cc:112,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ParseRules.cc:116,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:118,1
    - Dst: ink_get_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:119,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/ParseRules.cc:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: ink_atoui64
    functionSourceFile: /src/trafficserver/src/tscore/ParseRules.cc
    functionUses: 0
    functionsReached:
    - ink_get_hex
    - ParseRules::is_hex
    - ParseRules::is_digit
    - ParseRules::is_wslfcr
    - unlikely
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ink_atoui64(const char *str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/tscore/ParseRules.cc:148,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ParseRules.cc:157,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:159,1
    - Dst: ink_get_hex
      Src: /src/trafficserver/src/tscore/ParseRules.cc:160,1
    - Dst: unlikely
      Src: /src/trafficserver/src/tscore/ParseRules.cc:164,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/tscore/ParseRules.cc:173,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: ink_atoi64
    functionSourceFile: /src/trafficserver/src/tscore/ParseRules.cc
    functionUses: 2
    functionsReached:
    - ink_get_hex
    - ParseRules::is_hex
    - ParseRules::is_digit
    - ParseRules::is_wslfcr
    - unlikely
    linkageType: ''
    returnType: int64_t
    signature: int64_t ink_atoi64(const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Thing
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_IntrusivePtr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Thing()
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_IntrusivePtr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Item
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_IntrusivePtr.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Item()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Item()
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_IntrusivePtr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Item()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Foo::Foo
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_List.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Foo(int i = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/trafficserver/src/tscore/unit_tests/test_layout.cc:32,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscore/unit_tests/test_layout.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: append_slash
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_layout.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string append_slash(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_History.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sm
    - ','
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SM_REMEMBER
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_History.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_REMEMBER(sm, e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tscore/unit_tests/test_PriorityQueue.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint32_t
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: N::N
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_PriorityQueue.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void N(uint32_t w, string c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - N
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator<(const N &n) const
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_PriorityQueue.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const N &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:102,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:103,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: load_cert_from_string
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: 'X509 *

      load_cert_from_string(const char *cert_string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:188,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:189,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:189,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:192,1
    - Dst: ink_freelists_snap_baseline
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:193,1
    - Dst: SSLSessionCache::getSession
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:195,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_X509HostnameValidator.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - BaseLogFile::BaseLogFile
    - SSL_library_init
    - SSLSessionCache::getSession
    - ink_freelists_dump
    - ink_freelists_snap_baseline
    - Diags::Diags
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:32,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:33,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:34,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:37,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:38,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:39,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:40,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:41,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:44,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: test_can_safely_shift_int8_t
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc
    functionUses: 0
    functionsReached:
    - can_safely_shift_left
    linkageType: ''
    returnType: void
    signature: void test_can_safely_shift_int8_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:52,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:53,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:54,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:57,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:58,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:59,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:60,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:61,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:64,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: test_can_safely_shift_uint8_t
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc
    functionUses: 0
    functionsReached:
    - can_safely_shift_left
    linkageType: ''
    returnType: void
    signature: void test_can_safely_shift_uint8_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:72,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:75,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:78,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:81,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:84,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:87,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:90,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:93,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:96,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: test_can_safely_shift_int32_t
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc
    functionUses: 0
    functionsReached:
    - can_safely_shift_left
    linkageType: ''
    returnType: void
    signature: void test_can_safely_shift_int32_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:106,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:109,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:112,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:115,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:118,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:121,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:124,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:127,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: test_can_safely_shift_uint32_t
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ink_memory.cc
    functionUses: 0
    functionsReached:
    - can_safely_shift_left
    linkageType: ''
    returnType: void
    signature: void test_can_safely_shift_uint32_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int *const *>
      Src: /src/trafficserver/src/tscore/unit_tests/test_MMH.cc:34,1
    - Dst: static_cast<int *const *>
      Src: /src/trafficserver/src/tscore/unit_tests/test_MMH.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: xxcompar
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_MMH.cc
    functionUses: 0
    functionsReached:
    - static_cast<int *const *>
    linkageType: ''
    returnType: int
    signature: int xxcompar(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - size
    - seed
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: fill_test_data
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_test_data(char *ptr, int size, int seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: fixed_fd
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_scoped_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ats_scoped_fd
    signature: ats_scoped_fd fixed_fd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: direct_fixed_fd
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_scoped_resource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ats_scoped_fd
    signature: ats_scoped_fd direct_fixed_fd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _c
    argTypes:
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: PtrObject
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Ptr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PtrObject(unsigned *_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~PtrObject() override
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Ptr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PtrObject() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/trafficserver/src/tscore/unit_tests/test_ArgParser.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: test_method_1
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ArgParser.cc
    functionUses: 0
    functionsReached:
    - set_error
    linkageType: ''
    returnType: void
    signature: void test_method_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: test_method_2
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_ArgParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_method_2(int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - now
    - last_update_sec
    - count_0
    - count_1
    argTypes:
    - ink_hrtime
    - ink_hrtime
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: TestFrequencyCounter::set_internal_state
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_FrequencyCounter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_internal_state(ink_hrtime now, ink_hrtime last_update_sec,
      uint16_t count_0, uint16_t count_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: TestFrequencyCounter::_ink_get_hrtime
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_FrequencyCounter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime _ink_get_hrtime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::get
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: operator[](F field) const
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](F field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::set
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator[](F field)
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::set
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](F field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: memDelta
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t memDelta(void *p, void *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::get
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: operator[](F field) const
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](F field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::set
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: operator[](F field)
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::set
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](F field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:249,1
    - Dst: setw
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:250,1
    - Dst: string
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:250,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: testFormat
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - setw
    - string
    - std::stringstream::str
    linkageType: ''
    returnType: string
    signature: string testFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::create<Derived>
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: DerivedExtalloc
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - ext::create<Derived>
    linkageType: ''
    returnType: void
    signature: 'void *

      DerivedExtalloc()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Derived *>
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: DerivedExtFree
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - static_cast<Derived *>
    linkageType: ''
    returnType: void
    signature: void DerivedExtFree(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:274,1
    - Dst: fieldAdd<Derived>
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:275,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - field_name
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: DerivedExtfieldAdd
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - fieldAdd<Derived>
    - ext::details::areFieldsFinalized
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext DerivedExtfieldAdd(char const *field_name, int size,
      void (*construct_fn)(void *), void (*destruct_fn)(void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fieldFind<Derived>
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: DerivedExtfieldFind
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached:
    - fieldFind<Derived>
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext DerivedExtfieldFind(char const *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: testField
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: ~testField()
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~testField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::serializeField
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - t
    argTypes:
    - ostream
    - testField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: ext::serializeField
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 1
    functionsReached:
    - ext::serializeField
    linkageType: ''
    returnType: void
    signature: void serializeField(ostream &os, testField const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::serializeField
      Src: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - t
    argTypes:
    - ostream
    - testField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: ext::serializeField
    functionSourceFile: /src/trafficserver/src/tscore/unit_tests/test_Extendible.cc
    functionUses: 2
    functionsReached:
    - ext::serializeField
    linkageType: ''
    returnType: void
    signature: void serializeField(ostream &os, testField const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: INKVConnInternal::INKVConnInternal
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::INKVConnInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - funcp
    - mutexp
    argTypes:
    - TSEventFunc
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: INKVConnInternal::INKVConnInternal
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::INKVConnInternal(TSEventFunc funcp, TSMutex
      mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_continuation
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:43,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:44,1
    - Dst: INKContInternal::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: INKVConnInternal::clear
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - INKContInternal::clear
    - set_continuation
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKVConnInternal::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:51,1
    - Dst: INKVConnInternal::mutex::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:52,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:54,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: INKVConnInternal::free
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    - INKVConnInternal::clear
    - INKVConnInternal::mutex::clear
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::free()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:61,1
    - Dst: INKVConnInternal::free
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: INKVConnInternal::destroy
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal::free
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::destroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_continuation
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:74,1
    - Dst: set_writer
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:80,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:81,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:82,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:84,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: INKVConnInternal::do_io_read
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - ink_atomic_increment
    - buffer::clear
    - schedule_imm
    - ink_assert
    - set_writer
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      INKVConnInternal::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:95,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:97,1
    - Dst: set_reader
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:103,1
    - Dst: get_reader
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:104,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:105,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:106,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:108,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - c
    - nbytes
    - buf
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: INKVConnInternal::do_io_write
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - ink_atomic_increment
    - buffer::clear
    - get_reader
    - set_reader
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      INKVConnInternal::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool owner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - VConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: INKVConnInternal::do_io_transform
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::do_io_transform(VConnection *vc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:126,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:127,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:140,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:143,1
    - Dst: INKVConnInternal::do_io_close
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:146,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: INKVConnInternal::do_io_close
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 1
    functionsReached:
    - ink_atomic_increment
    - buffer::clear
    - INKVConnInternal::do_io_close
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::do_io_close(int error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:158,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:163,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:167,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: INKVConnInternal::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - buffer::clear
    - schedule_imm
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:175,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:176,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: INKVConnInternal::reenable
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - schedule_imm
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::reenable(VIO * /* vio ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:184,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:185,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:187,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: INKVConnInternal::retry
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 0
    functionsReached:
    - thread_holding::schedule_in
    - HRTIME_MSECONDS
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void INKVConnInternal::retry(unsigned int delay)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:195,1
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:198,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:201,1
    - Dst: INKVConnInternal::get_data
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: INKVConnInternal::get_data
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSVConn>
    - INKVConnInternal::get_data
    - reinterpret_cast<TSVIO>
    linkageType: ''
    returnType: bool
    signature: bool INKVConnInternal::get_data(int id, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INKVConnInternal::set_data
      Src: /src/trafficserver/src/api/InkVConnInternal.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: INKVConnInternal::set_data
    functionSourceFile: /src/trafficserver/src/api/InkVConnInternal.cc
    functionUses: 1
    functionsReached:
    - INKVConnInternal::set_data
    linkageType: ''
    returnType: bool
    signature: bool INKVConnInternal::set_data(int id, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpHookState::init
      Src: /src/trafficserver/src/api/HttpHookState.cc:39,1
    - Dst: clear
      Src: /src/trafficserver/src/api/HttpHookState.cc:41,1
    - Dst: HttpHookState::init
      Src: /src/trafficserver/src/api/HttpHookState.cc:45,1
    - Dst: clear
      Src: /src/trafficserver/src/api/HttpHookState.cc:47,1
    - Dst: HttpHookState::init
      Src: /src/trafficserver/src/api/HttpHookState.cc:51,1
    - Dst: clear
      Src: /src/trafficserver/src/api/HttpHookState.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - id
    - global
    - ssn
    - txn
    argTypes:
    - TSHttpHookID
    - HttpAPIHooks*
    - HttpAPIHooks*
    - HttpAPIHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: HttpHookState::init
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 1
    functionsReached:
    - HttpHookState::init
    - clear
    linkageType: ''
    returnType: void
    signature: void HttpHookState::init(TSHttpHookID id, HttpAPIHooks const *global,
      HttpAPIHooks const *ssn, HttpAPIHooks const *txn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/HttpHookState.cc:62,1
    - Dst: candidate
      Src: /src/trafficserver/src/api/HttpHookState.cc:64,1
    - Dst: candidate
      Src: /src/trafficserver/src/api/HttpHookState.cc:66,1
    - Dst: candidate
      Src: /src/trafficserver/src/api/HttpHookState.cc:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: HttpHookState::getNext
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - candidate
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      HttpHookState::getNext()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/src/api/HttpHookState.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - feature_hooks
    - id
    argTypes:
    - HttpAPIHooks*
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: HttpHookState::Scope::init(HttpAPIHooks const *feature_hooks, TSHttpHookID
      id)
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 0
    functionsReached:
    - head
    linkageType: ''
    returnType: void
    signature: void HttpHookState::Scope::init(HttpAPIHooks const *feature_hooks,
      TSHttpHookID id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/src/api/HttpHookState.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: '*

      HttpHookState::Scope::candidate()'
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 0
    functionsReached:
    - head
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      HttpHookState::Scope::candidate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/src/api/HttpHookState.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: HttpHookState::Scope::operator++()
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: void
    signature: void HttpHookState::Scope::operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: HttpHookState::Scope::clear()
    functionSourceFile: /src/trafficserver/src/api/HttpHookState.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHookState::Scope::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: FileImpl::FileImpl
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileImpl::FileImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileImpl::fclose
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: FileImpl::~FileImpl()
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - FileImpl::fclose
    linkageType: ''
    returnType: void
    signature: void FileImpl::~FileImpl()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:321,1
    - Dst: open
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:327,1
    - Dst: open
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 342
    functionName: FileImpl::fopen
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int FileImpl::fopen(const char *filename, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FileImpl::fflush
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:348,1
    - Dst: close
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:350,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: FileImpl::fclose
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 1
    functionsReached:
    - FileImpl::fflush
    - close
    - ats_free
    linkageType: ''
    returnType: void
    signature: void FileImpl::fclose()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:374,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:386,1
    - Dst: read
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:390,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:405,1
    - Dst: memmove
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 412
    functionName: FileImpl::fread
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_realloc
    - read
    - memmove
    - ats_malloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FileImpl::fread(void *buf, size_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:427,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:438,1
    - Dst: FileImpl::fflush
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 452
    functionName: FileImpl::fwrite
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - FileImpl::fflush
    - memcpy
    - ats_malloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FileImpl::fwrite(const void *buf, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:470,1
    - Dst: memmove
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 486
    functionName: FileImpl::fflush
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 2
    functionsReached:
    - write
    - memmove
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FileImpl::fflush()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FileImpl::fread
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:501,1
    - Dst: memchr
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:510,1
    - Dst: FileImpl::fread
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 524
    functionName: FileImpl::fgets
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - FileImpl::fread
    - memchr
    linkageType: ''
    returnType: char
    signature: 'char *

      FileImpl::fgets(char *buf, size_t length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:543,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:544,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:545,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:546,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:547,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:548,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:549,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:550,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:551,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:552,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:553,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:554,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:555,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:557,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:557,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:558,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:558,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:559,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:559,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:560,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:560,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:561,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:561,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:562,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:562,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:563,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:563,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:564,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:564,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:565,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:565,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:566,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:566,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:567,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:567,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:568,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:568,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:569,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:569,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:572,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:573,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:574,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:575,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:576,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:577,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:578,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:579,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:580,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:581,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:582,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:583,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:584,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:585,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:586,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:587,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:588,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:589,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:590,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:591,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:592,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:593,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:594,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:595,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:596,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:597,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:598,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:599,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:600,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:601,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:602,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:603,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:604,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:605,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:606,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:607,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:608,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:609,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:610,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:611,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:612,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:613,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:614,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:615,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:616,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:617,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:618,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:619,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:620,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:621,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:622,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:623,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:624,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:625,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:626,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:627,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:628,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:629,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:630,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:631,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:632,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:633,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:634,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:635,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:636,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:637,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:638,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:639,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:640,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:641,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:642,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:643,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:644,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:646,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:646,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:647,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:647,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:648,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:648,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:649,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:649,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:650,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:650,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:651,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:651,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:652,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:652,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:653,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:653,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:654,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:654,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:655,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:655,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:656,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:656,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:657,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:657,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:658,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:658,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:659,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:659,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:660,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:660,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:661,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:661,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:662,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:662,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:663,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:663,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:664,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:664,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:665,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:665,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:666,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:666,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:667,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:667,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:668,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:668,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:669,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:669,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:670,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:670,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:671,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:671,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:672,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:672,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:673,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:673,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:674,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:674,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:675,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:675,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:676,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:676,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:677,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:677,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:678,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:678,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:679,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:679,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:680,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:680,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:681,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:681,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:682,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:682,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:683,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:683,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:684,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:684,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:685,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:685,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:686,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:686,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:687,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:687,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:688,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:688,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:689,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:689,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:690,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:690,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:691,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:691,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:692,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:692,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:693,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:693,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:694,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:694,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:695,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:695,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:696,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:696,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:697,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:697,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:698,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:698,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:699,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:699,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:700,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:700,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:701,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:701,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:702,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:702,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:703,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:703,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:704,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:704,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:705,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:705,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:706,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:706,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:707,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:707,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:708,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:708,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:709,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:709,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:710,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:710,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:711,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:711,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:712,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:712,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:713,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:713,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:714,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:714,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:715,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:715,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:716,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:716,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:717,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:717,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:718,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:718,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:721,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:722,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:723,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:724,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:725,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:726,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:727,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:728,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:729,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:730,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:732,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:732,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:733,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:733,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:734,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:734,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:735,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:735,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:736,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:736,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:737,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:737,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:738,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:738,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:739,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:739,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:740,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:740,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:741,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:741,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:744,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:745,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:746,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:747,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:748,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:749,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:750,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:751,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:752,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:753,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:754,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:755,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:756,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:757,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:758,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:759,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:760,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:761,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:762,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:763,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:764,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:765,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:767,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:767,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:768,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:768,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:769,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:769,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:770,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:770,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:771,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:771,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:772,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:772,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:773,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:773,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:774,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:774,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:775,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:775,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:776,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:776,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:777,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:777,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:778,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:778,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:779,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:779,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:780,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:780,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:781,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:781,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:782,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:782,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:783,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:783,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:784,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:784,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:785,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:785,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:786,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:786,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:787,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:787,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:788,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:788,1
    - Dst: init_global_http_hooks
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:790,1
    - Dst: init_global_lifecycle_hooks
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:791,1
    - Dst: ConfigUpdateCbTable::ConfigUpdateCbTable
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:792,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:795,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:795,1
    - Dst: sscanf
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:798,1
    - Dst: Warning
      Src: /src/trafficserver/src/api/InkAPIInternal.cc:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 247
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 802
    functionName: api_init
    functionSourceFile: /src/trafficserver/src/api/InkAPIInternal.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - sscanf
    - ink_strlcpy
    - length
    - c_str
    - init_global_lifecycle_hooks
    - ConfigUpdateCbTable::ConfigUpdateCbTable
    - init_global_http_hooks
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void api_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _HDR
    - ','
    - _BUF_PTR
    - ','
    - _OBJ_PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: SET_HTTP_HDR
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HTTP_HDR(_HDR, _BUF_PTR, _OBJ_PTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: sdk_assert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdk_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: sdk_assert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdk_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/api/InkAPI.cc:174,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPI.cc:174,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:177,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:177,1
    - Dst: obj_init_header
      Src: /src/trafficserver/src/api/InkAPI.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: sdk_alloc_field_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - THREAD_ALLOC
    - obj_init_header
    - sdk_assert
    - this_thread
    linkageType: ''
    returnType: MIMEFieldSDKHandle
    signature: 'MIMEFieldSDKHandle *

      sdk_alloc_field_handle(TSMBuffer /* bufp ATS_UNUSED */, MIMEHdrImpl *mh)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:188,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/api/InkAPI.cc:189,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPI.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - field_handle
    argTypes:
    - TSMBuffer
    - MIMEFieldSDKHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: sdk_free_field_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    - sdk_sanity_check_mbuffer
    linkageType: ''
    returnType: void
    signature: void sdk_free_field_handle(TSMBuffer bufp, MIMEFieldSDKHandle *field_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:222,1
    - Dst: StatusV
      Src: /src/trafficserver/src/api/InkAPI.cc:223,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: TSStatus
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - va_end
    - StatusV
    - va_start
    linkageType: ''
    returnType: void
    signature: void TSStatus(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:232,1
    - Dst: NoteV
      Src: /src/trafficserver/src/api/InkAPI.cc:233,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: TSNote
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - NoteV
    linkageType: ''
    returnType: void
    signature: void TSNote(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:242,1
    - Dst: WarningV
      Src: /src/trafficserver/src/api/InkAPI.cc:243,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: TSWarning
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - WarningV
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TSWarning(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:252,1
    - Dst: ErrorV
      Src: /src/trafficserver/src/api/InkAPI.cc:253,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: TSError
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 37
    functionsReached:
    - va_end
    - va_start
    - ErrorV
    linkageType: ''
    returnType: void
    signature: void TSError(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:262,1
    - Dst: FatalV
      Src: /src/trafficserver/src/api/InkAPI.cc:263,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: TSFatal
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 5
    functionsReached:
    - FatalV
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TSFatal(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:272,1
    - Dst: AlertV
      Src: /src/trafficserver/src/api/InkAPI.cc:273,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: TSAlert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - AlertV
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void TSAlert(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:282,1
    - Dst: EmergencyV
      Src: /src/trafficserver/src/api/InkAPI.cc:283,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: TSEmergency
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - EmergencyV
    linkageType: ''
    returnType: void
    signature: void TSEmergency(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: _TSReleaseAssert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _ink_assert
    linkageType: ''
    returnType: void
    signature: void _TSReleaseAssert(const char *text, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - text
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: _TSAssert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _ink_assert
    linkageType: ''
    returnType: void
    signature: void _TSAssert(const char *text, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: _TSAssert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TSAssert(const char *, const char *, int)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:365,1
    - Dst: static_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:366,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:367,1
    - Dst: static_cast<MIMEHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:368,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: _hdr_obj_to_mime_hdr_impl
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<MIMEHdrImpl *>
    - ink_release_assert
    - static_cast<HdrHeapObjType>
    - static_cast<HTTPHdrImpl *>
    linkageType: ''
    returnType: MIMEHdrImpl
    signature: 'MIMEHdrImpl *

      _hdr_obj_to_mime_hdr_impl(HdrHeapObjImpl *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hdr_obj_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:379,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mloc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: _hdr_mloc_to_mime_hdr_impl
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _hdr_obj_to_mime_hdr_impl
    - reinterpret_cast<HdrHeapObjImpl *>
    linkageType: ''
    returnType: MIMEHdrImpl
    signature: 'MIMEHdrImpl *

      _hdr_mloc_to_mime_hdr_impl(TSMLoc mloc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:389,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:390,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - field
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 401
    functionName: sdk_sanity_check_field_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _hdr_mloc_to_mime_hdr_impl
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_field_handle(TSMLoc field, TSMLoc parent_hdr
      = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: sdk_sanity_check_mbuffer
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_mbuffer(TSMBuffer bufp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:421,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - field
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: sdk_sanity_check_mime_hdr_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_mime_hdr_handle(TSMLoc field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:436,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - field
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 442
    functionName: sdk_sanity_check_url_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_url_handle(TSMLoc field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:451,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - field
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 457
    functionName: sdk_sanity_check_http_hdr_handle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HTTPHdrImpl *>
    - static_cast<HdrHeapObjType>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_http_hdr_handle(TSMLoc field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: sdk_sanity_check_continuation
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<INKContInternal *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_continuation(TSCont cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: sdk_sanity_check_fetch_sm
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_fetch_sm(TSFetchSM fetch_sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: sdk_sanity_check_http_ssn
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_http_ssn(TSHttpSsn ssnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: sdk_sanity_check_txn
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HttpSM *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_txn(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSMimeParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: sdk_sanity_check_mime_parser
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_mime_parser(TSMimeParser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSHttpParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: sdk_sanity_check_http_parser
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_http_parser(TSHttpParser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - TSHttpAltInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: sdk_sanity_check_alt_info
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_alt_info(TSHttpAltInfo info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TargetAddress::is_valid
      Src: /src/trafficserver/src/api/InkAPI.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: sdk_sanity_check_hook_id
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TargetAddress::is_valid
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_hook_id(TSHttpHookID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TargetAddress::is_valid
      Src: /src/trafficserver/src/api/InkAPI.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSLifecycleHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: sdk_sanity_check_lifecycle_hook_id
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TargetAddress::is_valid
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_lifecycle_hook_id(TSLifecycleHookID id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: sdk_sanity_check_ssl_hook_id
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_ssl_hook_id(TSHttpHookID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: sdk_sanity_check_null_ptr
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_null_ptr(void const *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 557
    functionName: sdk_sanity_check_stat_id
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - valid
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_stat_id(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - opt
    argTypes:
    - TSRPCHandlerOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: sdk_sanity_check_rpc_handler_options
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_rpc_handler_options(const TSRPCHandlerOptions
      *opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: isWriteable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    linkageType: ''
    returnType: bool
    signature: bool isWriteable(TSMBuffer bufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPI.cc:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: _TSmalloc
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TSmalloc(size_t size, const char * /* path ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_realloc
      Src: /src/trafficserver/src/api/InkAPI.cc:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: _TSrealloc
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ats_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TSrealloc(void *ptr, size_t size, const char * /* path ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xstrdup
      Src: /src/trafficserver/src/api/InkAPI.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - length
    - path
    argTypes:
    - char*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: _TSstrdup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      _TSstrdup(const char *str, int64_t length, const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/api/InkAPI.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - str
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: TSstrlcpy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t TSstrlcpy(char *dst, const char *str, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/api/InkAPI.cc:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - str
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: TSstrlcat
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ink_strlcat
    linkageType: ''
    returnType: size_t
    signature: size_t TSstrlcat(char *dst, const char *str, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: TSfree
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void TSfree(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:638,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:638,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:639,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:639,1
    - Dst: ats_base64_decode
      Src: /src/trafficserver/src/api/InkAPI.cc:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - str
    - str_len
    - dst
    - dst_size
    - length
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: TSBase64Decode
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ats_base64_decode
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSBase64Decode(const char *str, size_t str_len, unsigned
      char *dst, size_t dst_size, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:647,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:647,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:648,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:648,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/api/InkAPI.cc:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - str
    - str_len
    - dst
    - dst_size
    - length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: TSBase64Encode
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ats_base64_encode
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSBase64Encode(const char *str, size_t str_len, char *dst,
      size_t dst_size, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/api/InkAPI.cc:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: TShrtime
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime TShrtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/api/InkAPI.cc:674,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: TSInstallDirGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - Layout::get
    - std::string::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      TSInstallDirGet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/api/InkAPI.cc:681,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: TSConfigDirGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigDir
    - std::string::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      TSConfigDirGet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/api/InkAPI.cc:688,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: TSRuntimeDirGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadRuntimeDir
    - std::string::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      TSRuntimeDirGet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: TSTrafficServerVersionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TSTrafficServerVersionGet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: TSTrafficServerVersionGetMajor
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TSTrafficServerVersionGetMajor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: TSTrafficServerVersionGetMinor
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TSTrafficServerVersionGetMinor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: TSTrafficServerVersionGetPatch
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TSTrafficServerVersionGetPatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/api/InkAPI.cc:717,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: TSPluginDirGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadPluginDir
    - std::string::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      TSPluginDirGet()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:730,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:730,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPI.cc:739,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPI.cc:743,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPI.cc:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - plugin_info
    argTypes:
    - TSPluginRegistrationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 751
    functionName: TSPluginRegister
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 25
    functionsReached:
    - sdk_assert
    - ats_strdup
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSPluginRegister(const TSPluginRegistrationInfo *plugin_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/api/InkAPI.cc:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 768
    functionName: TSPluginDSOReloadEnable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - PluginDso::loadedPlugins
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSPluginDSOReloadEnable(int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FileImpl::FileImpl
      Src: /src/trafficserver/src/api/InkAPI.cc:781,1
    - Dst: FileImpl*::fopen
      Src: /src/trafficserver/src/api/InkAPI.cc:782,1
    - Dst: reinterpret_cast<TSFile>
      Src: /src/trafficserver/src/api/InkAPI.cc:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 788
    functionName: TSfopen
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSFile>
    - FileImpl::FileImpl
    - FileImpl*::fopen
    linkageType: ''
    returnType: TSFile
    signature: TSFile TSfopen(const char *filename, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FileImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:793,1
    - Dst: FileImpl*::fclose
      Src: /src/trafficserver/src/api/InkAPI.cc:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filep
    argTypes:
    - TSFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionName: TSfclose
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - FileImpl*::fclose
    - reinterpret_cast<FileImpl *>
    linkageType: ''
    returnType: void
    signature: void TSfclose(TSFile filep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FileImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:801,1
    - Dst: FileImpl*::fread
      Src: /src/trafficserver/src/api/InkAPI.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filep
    - buf
    - length
    argTypes:
    - TSFile
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: TSfread
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - FileImpl*::fread
    - reinterpret_cast<FileImpl *>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t TSfread(TSFile filep, void *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FileImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:808,1
    - Dst: FileImpl*::fwrite
      Src: /src/trafficserver/src/api/InkAPI.cc:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filep
    - buf
    - length
    argTypes:
    - TSFile
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: TSfwrite
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - FileImpl*::fwrite
    - reinterpret_cast<FileImpl *>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t TSfwrite(TSFile filep, const void *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FileImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:815,1
    - Dst: FileImpl*::fflush
      Src: /src/trafficserver/src/api/InkAPI.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filep
    argTypes:
    - TSFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 817
    functionName: TSfflush
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FileImpl *>
    - FileImpl*::fflush
    linkageType: ''
    returnType: void
    signature: void TSfflush(TSFile filep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FileImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:822,1
    - Dst: FileImpl*::fgets
      Src: /src/trafficserver/src/api/InkAPI.cc:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filep
    - buf
    - length
    argTypes:
    - TSFile
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 824
    functionName: TSfgets
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FileImpl *>
    - FileImpl*::fgets
    linkageType: ''
    returnType: char
    signature: 'char *

      TSfgets(TSFile filep, char *buf, size_t length)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:836,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:842,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:842,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:844,1
    - Dst: static_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:851,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:852,1
    - Dst: sdk_free_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:856,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - bufp
    - parent
    - mloc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 832
    functionDepth: 4
    functionLinenumber: 832
    functionLinenumberEnd: 863
    functionName: TSHandleMLocRelease
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 10
    functionsReached:
    - sdk_free_field_handle
    - sdk_sanity_check_field_handle
    - static_cast<HdrHeapObjType>
    - ink_release_assert
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HdrHeapObjImpl *>
    - static_cast<MIMEFieldSDKHandle *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHandleMLocRelease(TSMBuffer bufp, TSMLoc parent, TSMLoc
      mloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeapSDKHandle::HdrHeapSDKHandle
      Src: /src/trafficserver/src/api/InkAPI.cc:877,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/api/InkAPI.cc:879,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPI.cc:880,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:882,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 884
    functionName: TSMBufferCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - reinterpret_cast<TSMBuffer>
    - HdrHeapSDKHandle::HdrHeapSDKHandle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer TSMBufferCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:893,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:897,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:897,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:898,1
    - Dst: HdrHeapSDKHandle*::m_heap::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: TSMBufferDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - HdrHeapSDKHandle*::m_heap::destroy
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMBufferDestroy(TSMBuffer bufp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:915,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:915,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:916,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:916,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:918,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:919,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:920,1
    - Dst: url_create
      Src: /src/trafficserver/src/api/InkAPI.cc:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 924
    functionName: TSUrlCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - reinterpret_cast<TSMLoc>
    - url_create
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlCreate(TSMBuffer bufp, TSMLoc *locp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:929,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:929,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:930,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:930,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:931,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:931,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:932,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:932,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:934,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:941,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:942,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:943,1
    - Dst: url_copy
      Src: /src/trafficserver/src/api/InkAPI.cc:945,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - dest_bufp
    - src_bufp
    - src_url
    - locp
    argTypes:
    - TSMBuffer
    - TSMBuffer
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 948
    functionName: TSUrlClone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_url_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - url_copy
    - reinterpret_cast<URLImpl *>
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlClone(TSMBuffer dest_bufp, TSMBuffer src_bufp, TSMLoc
      src_url, TSMLoc *locp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:953,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:953,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:954,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:954,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:955,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:955,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:956,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:956,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:958,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:965,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:966,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:967,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:968,1
    - Dst: url_copy_onto
      Src: /src/trafficserver/src/api/InkAPI.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - dest_bufp
    - dest_obj
    - src_bufp
    - src_obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 972
    functionName: TSUrlCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_url_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - url_copy_onto
    - isWriteable
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlCopy(TSMBuffer dest_bufp, TSMLoc dest_obj, TSMBuffer
      src_bufp, TSMLoc src_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:977,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:977,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:978,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:978,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:979,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:979,1
    - Dst: reinterpret_cast<MIOBuffer *>
      Src: /src/trafficserver/src/api/InkAPI.cc:981,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:986,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:988,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:989,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:993,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:994,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/api/InkAPI.cc:995,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:996,1
    - Dst: URL::print
      Src: /src/trafficserver/src/api/InkAPI.cc:1002,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/api/InkAPI.cc:1002,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:1002,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/api/InkAPI.cc:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - bufp
    - obj
    - iobufp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1007
    functionName: TSUrlPrint
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - MIOBuffer*::get_current_block
    - reinterpret_cast<MIOBuffer *>
    - sdk_assert
    - sdk_sanity_check_mbuffer
    - MIOBuffer*::add_block
    - MIOBuffer*::fill
    - IOBufferBlock*::end
    - reinterpret_cast<URLImpl *>
    - URL::print
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: void
    signature: void TSUrlPrint(TSMBuffer bufp, TSMLoc obj, TSIOBuffer iobufp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1012,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1012,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1013,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1013,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1014,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1014,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1015,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1015,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1016,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1016,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1018,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1022,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1023,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1024,1
    - Dst: url_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:1025,1
    - Dst: static_cast<TSParseResult>
      Src: /src/trafficserver/src/api/InkAPI.cc:1026,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/api/InkAPI.cc:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - bufp
    - obj
    - start
    - end
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1027
    functionName: TSUrlParse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - URL::parse
    - reinterpret_cast<URLImpl *>
    - url_clear
    - static_cast<TSParseResult>
    linkageType: ''
    returnType: TSParseResult
    signature: TSParseResult TSUrlParse(TSMBuffer bufp, TSMLoc obj, const char **start,
      const char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1032,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1032,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1033,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1033,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1035,1
    - Dst: url_length_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1037
    functionName: TSUrlLengthGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_url_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - url_length_get
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: int
    signature: int TSUrlLengthGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1044,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1044,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1046,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1046,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1047,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1047,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1049,1
    - Dst: url_string_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1051
    functionName: TSUrlStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_url_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - url_string_get
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlStringGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1059,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1059,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1060,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1060,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1062,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1064,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bufp
    - obj
    - url_f
    argTypes:
    - TSMBuffer
    - TSMLoc
    - URLPartGetF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1068
    functionName: URLPartGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLPartGet(TSMBuffer bufp, TSMLoc obj, URLPartGetF
      url_f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1073,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1073,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1074,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1074,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1076,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1080,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1081,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1082,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1087,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - bufp
    - obj
    - value
    - length
    - url_f
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - URLPartSetF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1092
    functionName: URLPartSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - isWriteable
    - strlen
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode URLPartSet(TSMBuffer bufp, TSMLoc obj, const char *value,
      int length, URLPartSetF url_f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1097,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1099,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1099,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1102
    functionName: TSUrlRawSchemeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlRawSchemeGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlRawSchemeGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1107,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1111,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:1113,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1114,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPI.cc:1114,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:1117,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1118,1
    - Dst: length
      Src: /src/trafficserver/src/api/InkAPI.cc:1118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1125
    functionName: TSUrlSchemeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - length
    - c_str
    - reinterpret_cast<URLImpl *>
    - TSUrlRawSchemeGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlSchemeGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: TSUrlSchemeSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlSchemeSet(TSMBuffer bufp, TSMLoc obj, const char
      *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1138,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1140,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1140,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: TSUrlUserGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlUserGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1149
    functionName: TSUrlUserSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlUserSet(TSMBuffer bufp, TSMLoc obj, const char *value,
      int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1154,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1156,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1156,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1159
    functionName: TSUrlPasswordGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlPasswordGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: TSUrlPasswordSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlPasswordSet(TSMBuffer bufp, TSMLoc obj, const char
      *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1170,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1172,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1172,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1175
    functionName: TSUrlHostGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlHostGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1181
    functionName: TSUrlHostSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlHostSet(TSMBuffer bufp, TSMLoc obj, const char *value,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1186,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1186,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1187,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1187,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1189,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1190,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1191,1
    - Dst: URL::port_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1194
    functionName: TSUrlPortGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<URLImpl *>
    - URL::port_get
    linkageType: ''
    returnType: int
    signature: int TSUrlPortGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1199,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1199,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1200,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1200,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1202,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1203,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1204,1
    - Dst: URL::port_get_raw
      Src: /src/trafficserver/src/api/InkAPI.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1207
    functionName: TSUrlRawPortGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<URLImpl *>
    - URL::port_get_raw
    linkageType: ''
    returnType: int
    signature: int TSUrlRawPortGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1212,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1212,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1213,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1213,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1215,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1219,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1221,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1222,1
    - Dst: URL::port_set
      Src: /src/trafficserver/src/api/InkAPI.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - obj
    - port
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1225
    functionName: TSUrlPortSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - URL::port_set
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlPortSet(TSMBuffer bufp, TSMLoc obj, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1232,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1234,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1234,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    functionName: TSUrlPathGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlPathGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1243
    functionName: TSUrlPathSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlPathSet(TSMBuffer bufp, TSMLoc obj, const char *value,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1250,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1250,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1251,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1251,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1253,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1254,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1255,1
    - Dst: URL::type_code_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1257
    functionName: TSUrlFtpTypeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - URL::type_code_get
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: int
    signature: int TSUrlFtpTypeGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1264,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1264,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1265,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1265,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1267,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:1268,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1270,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1271,1
    - Dst: URL::type_code_set
      Src: /src/trafficserver/src/api/InkAPI.cc:1272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - obj
    - type
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1277
    functionName: TSUrlFtpTypeSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - URL::type_code_set
    - isWriteable
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlFtpTypeSet(TSMBuffer bufp, TSMLoc obj, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1284,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1286,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1286,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1289
    functionName: TSUrlHttpQueryGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlHttpQueryGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: TSUrlHttpQuerySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlHttpQuerySet(TSMBuffer bufp, TSMLoc obj, const char
      *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URLPartGet
      Src: /src/trafficserver/src/api/InkAPI.cc:1300,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1302,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1302,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: TSUrlHttpFragmentGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::data
    - auto::length
    - URLPartGet
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUrlHttpFragmentGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URLPartSet
      Src: /src/trafficserver/src/api/InkAPI.cc:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: TSUrlHttpFragmentSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URLPartSet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlHttpFragmentSet(TSMBuffer bufp, TSMLoc obj, const
      char *value, int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1317,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1317,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1318,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1318,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1323,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1326,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1326,1
    - Dst: Encoding::pure_escapify_url
      Src: /src/trafficserver/src/api/InkAPI.cc:1334,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - str
    - str_len
    - dst
    - dst_size
    - length
    - map
    argTypes:
    - char*
    - int
    - char*
    - size_t
    - size_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1346
    functionName: TSStringPercentEncode
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - Encoding::pure_escapify_url
    - const_cast<char *>
    - strlen
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSStringPercentEncode(const char *str, int str_len, char
      *dst, size_t dst_size, size_t *length, const unsigned char *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1351,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1351,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1352,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1352,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1355,1
    - Dst: unescape_str
      Src: /src/trafficserver/src/api/InkAPI.cc:1364,1
    - Dst: std::min<size_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:1366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - str
    - str_len
    - dst
    - dst_size
    - length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1374
    functionName: TSStringPercentDecode
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - strlen
    - std::min<size_t>
    - unescape_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSStringPercentDecode(const char *str, size_t str_len,
      char *dst, size_t dst_size, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1379,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1379,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1380,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1380,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1385,1
    - Dst: url_string_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1388,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/src/api/InkAPI.cc:1389,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - bufp
    - obj
    - dst
    - dst_size
    - length
    - map
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - size_t
    - size_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1376
    functionDepth: 4
    functionLinenumber: 1376
    functionLinenumberEnd: 1393
    functionName: TSUrlPercentEncode
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - sdk_sanity_check_url_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - url_string_get
    - TSStringPercentEncode
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUrlPercentEncode(TSMBuffer bufp, TSMLoc obj, char *dst,
      size_t dst_size, size_t *length, const unsigned char *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1399,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1399,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/api/InkAPI.cc:1401,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str
    - str_len
    - addr
    argTypes:
    - char*
    - size_t
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1406
    functionName: TSIpStringToAddr
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - std::string_view
    - ats_ip_pton
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSIpStringToAddr(const char *str, size_t str_len, sockaddr
      *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSMimeParser>
      Src: /src/trafficserver/src/api/InkAPI.cc:1421,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPI.cc:1421,1
    - Dst: mime_parser_init
      Src: /src/trafficserver/src/api/InkAPI.cc:1423,1
    - Dst: reinterpret_cast<MIMEParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1425
    functionName: TSMimeParserCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<MIMEParser *>
    - mime_parser_init
    - reinterpret_cast<TSMimeParser>
    - ats_malloc
    linkageType: ''
    returnType: TSMimeParser
    signature: TSMimeParser TSMimeParserCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1430,1
    - Dst: sdk_sanity_check_mime_parser
      Src: /src/trafficserver/src/api/InkAPI.cc:1430,1
    - Dst: mime_parser_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:1432,1
    - Dst: reinterpret_cast<MIMEParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSMimeParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1433
    functionName: TSMimeParserClear
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<MIMEParser *>
    - mime_parser_clear
    - sdk_sanity_check_mime_parser
    linkageType: ''
    returnType: void
    signature: void TSMimeParserClear(TSMimeParser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1438,1
    - Dst: sdk_sanity_check_mime_parser
      Src: /src/trafficserver/src/api/InkAPI.cc:1438,1
    - Dst: mime_parser_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:1440,1
    - Dst: reinterpret_cast<MIMEParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1440,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSMimeParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1442
    functionName: TSMimeParserDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<MIMEParser *>
    - ats_free
    - sdk_assert
    - mime_parser_clear
    - sdk_sanity_check_mime_parser
    linkageType: ''
    returnType: void
    signature: void TSMimeParserDestroy(TSMimeParser parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1457,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1457,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1458,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1458,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1460,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1464,1
    - Dst: mime_hdr_create
      Src: /src/trafficserver/src/api/InkAPI.cc:1464,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1466
    functionName: TSMimeHdrCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - mime_hdr_create
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrCreate(TSMBuffer bufp, TSMLoc *locp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1475,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1475,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1476,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1476,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1476,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1478,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1482,1
    - Dst: mime_hdr_destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:1484,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1468
    functionDepth: 3
    functionLinenumber: 1468
    functionLinenumberEnd: 1486
    functionName: TSMimeHdrDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - mime_hdr_destroy
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrDestroy(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1494,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1494,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1495,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1495,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1496,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1496,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1497,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1497,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1498,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1498,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1500,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1507,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1508,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1509,1
    - Dst: mime_hdr_clone
      Src: /src/trafficserver/src/api/InkAPI.cc:1511,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - dest_bufp
    - src_bufp
    - src_hdr
    - locp
    argTypes:
    - TSMBuffer
    - TSMBuffer
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1488
    functionDepth: 3
    functionLinenumber: 1488
    functionLinenumberEnd: 1515
    functionName: TSMimeHdrClone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - mime_hdr_clone
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrClone(TSMBuffer dest_bufp, TSMBuffer src_bufp,
      TSMLoc src_hdr, TSMLoc *locp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1524,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1524,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1525,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1525,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1526,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1526,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1527,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1528,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1528,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1529,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1531,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1538,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1539,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1540,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1541,1
    - Dst: mime_hdr_fields_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:1543,1
    - Dst: mime_hdr_copy_onto
      Src: /src/trafficserver/src/api/InkAPI.cc:1544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - dest_bufp
    - dest_obj
    - src_bufp
    - src_obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1546
    functionName: TSMimeHdrCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - mime_hdr_fields_clear
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - mime_hdr_copy_onto
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrCopy(TSMBuffer dest_bufp, TSMLoc dest_obj, TSMBuffer
      src_bufp, TSMLoc src_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1551,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1551,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1551,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1552,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:1552,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1554,1
    - Dst: reinterpret_cast<MIOBuffer *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1555,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:1562,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:1563,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/api/InkAPI.cc:1564,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:1565,1
    - Dst: mime_hdr_print
      Src: /src/trafficserver/src/api/InkAPI.cc:1570,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/api/InkAPI.cc:1570,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:1570,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/api/InkAPI.cc:1573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - iobufp
    argTypes:
    - TSMLoc
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1575
    functionName: TSMimeHdrPrint
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::get_current_block
    - MIOBuffer*::add_block
    - sdk_sanity_check_mime_hdr_handle
    - sdk_assert
    - reinterpret_cast<MIOBuffer *>
    - IOBufferBlock*::write_avail
    - sdk_sanity_check_http_hdr_handle
    - IOBufferBlock*::end
    - MIOBuffer*::fill
    - mime_hdr_print
    - sdk_sanity_check_iocore_structure
    - _hdr_mloc_to_mime_hdr_impl
    linkageType: ''
    returnType: void
    signature: void TSMimeHdrPrint(TSMLoc obj, TSIOBuffer iobufp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1580,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1580,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1581,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1581,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1581,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1582,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1582,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1583,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1583,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1584,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1584,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1586,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1590,1
    - Dst: static_cast<TSParseResult>
      Src: /src/trafficserver/src/api/InkAPI.cc:1592,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/src/api/InkAPI.cc:1592,1
    - Dst: reinterpret_cast<MIMEParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1592,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - parser
    - bufp
    - obj
    - start
    - end
    argTypes:
    - TSMimeParser
    - TSMBuffer
    - TSMLoc
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1595
    functionName: TSMimeHdrParse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<MIMEParser *>
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - mime_parser_parse
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - static_cast<TSParseResult>
    linkageType: ''
    returnType: TSParseResult
    signature: TSParseResult TSMimeHdrParse(TSMimeParser parser, TSMBuffer bufp, TSMLoc
      obj, const char **start, const char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1600,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1600,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1601,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1601,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1601,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1603,1
    - Dst: mime_hdr_length_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1597
    functionDepth: 3
    functionLinenumber: 1597
    functionLinenumberEnd: 1605
    functionName: TSMimeHdrLengthGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mime_hdr_handle
    - sdk_assert
    - sdk_sanity_check_mbuffer
    - mime_hdr_length_get
    - sdk_sanity_check_http_hdr_handle
    - _hdr_mloc_to_mime_hdr_impl
    linkageType: ''
    returnType: int
    signature: int TSMimeHdrLengthGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1610,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1610,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1611,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1611,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1611,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1613,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1617,1
    - Dst: mime_hdr_fields_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:1619,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1621
    functionName: TSMimeHdrFieldsClear
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - mime_hdr_fields_clear
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldsClear(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1626,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1626,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1627,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1627,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1627,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1629,1
    - Dst: mime_hdr_fields_count
      Src: /src/trafficserver/src/api/InkAPI.cc:1630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1623
    functionDepth: 3
    functionLinenumber: 1623
    functionLinenumberEnd: 1631
    functionName: TSMimeHdrFieldsCount
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mime_hdr_handle
    - sdk_assert
    - sdk_sanity_check_mbuffer
    - mime_hdr_fields_count
    - sdk_sanity_check_http_hdr_handle
    - _hdr_mloc_to_mime_hdr_impl
    linkageType: ''
    returnType: int
    signature: int TSMimeHdrFieldsCount(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1638,1
    - Dst: mime_field_value_get_comma_val
      Src: /src/trafficserver/src/api/InkAPI.cc:1641,1
    - Dst: MIMEFieldSDKHandle*::field_ptr::value_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1643,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:1644,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:1644,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:1645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - field_obj
    - idx
    - value_len_ptr
    argTypes:
    - TSMLoc
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1647
    functionName: TSMimeFieldValueGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - MIMEFieldSDKHandle*::field_ptr::value_get
    - mime_field_value_get_comma_val
    - auto::data
    linkageType: ''
    returnType: char
    signature: 'char *

      TSMimeFieldValueGet(TSMBuffer /* bufp ATS_UNUSED */, TSMLoc field_obj, int idx,
      int *value_len_ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1652,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1653,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1656,1
    - Dst: mime_field_value_set_comma_val
      Src: /src/trafficserver/src/api/InkAPI.cc:1660,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1661,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/api/InkAPI.cc:1663,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - field_obj
    - idx
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1666
    functionName: TSMimeFieldValueSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - static_cast<std::string_view::size_type>
    - strlen
    - mime_field_value_set_comma_val
    linkageType: ''
    returnType: void
    signature: void TSMimeFieldValueSet(TSMBuffer bufp, TSMLoc field_obj, int idx,
      const char *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1671,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1672,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1675,1
    - Dst: mime_field_value_insert_comma_val
      Src: /src/trafficserver/src/api/InkAPI.cc:1678,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - bufp
    - field_obj
    - value
    - length
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1680
    functionName: TSMimeFieldValueInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - static_cast<std::string_view::size_type>
    - strlen
    - mime_field_value_insert_comma_val
    linkageType: ''
    returnType: void
    signature: void TSMimeFieldValueInsert(TSMBuffer bufp, TSMLoc field_obj, const
      char *value, int length, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1692,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1692,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1693,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1693,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1694,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1695,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1697,1
    - Dst: mime_hdr_field_get
      Src: /src/trafficserver/src/api/InkAPI.cc:1698,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1704,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bufp
    - hdr_obj
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1689
    functionDepth: 3
    functionLinenumber: 1689
    functionLinenumberEnd: 1708
    functionName: TSMimeHdrFieldGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_alloc_field_handle
    - sdk_sanity_check_mime_hdr_handle
    - sdk_assert
    - sdk_sanity_check_mbuffer
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - mime_hdr_field_get
    - _hdr_mloc_to_mime_hdr_impl
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSMimeHdrFieldGet(TSMBuffer bufp, TSMLoc hdr_obj, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1713,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1713,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1714,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1714,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1715,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1716,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1716,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1719,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1722,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/api/InkAPI.cc:1723,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1723,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1729,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - bufp
    - hdr_obj
    - name
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1710
    functionDepth: 3
    functionLinenumber: 1710
    functionLinenumberEnd: 1733
    functionName: TSMimeHdrFieldFind
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_alloc_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - mime_hdr_field_find
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSMimeHdrFieldFind(TSMBuffer bufp, TSMLoc hdr_obj, const char
      *name, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1742,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1742,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1743,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1743,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1744,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1745,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1745,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1747,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1752,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1753,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1766,1
    - Dst: mime_field_create
      Src: /src/trafficserver/src/api/InkAPI.cc:1769,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPI.cc:1772,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1779,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1780,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/api/InkAPI.cc:1782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - bufp
    - mh_mloc
    - field_mloc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1735
    functionDepth: 4
    functionLinenumber: 1735
    functionLinenumberEnd: 1784
    functionName: TSMimeHdrFieldAppend
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - mime_field_create
    - memcpy
    - sdk_sanity_check_field_handle
    - _hdr_mloc_to_mime_hdr_impl
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - mime_hdr_field_attach
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldAppend(TSMBuffer bufp, TSMLoc mh_mloc, TSMLoc
      field_mloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1793,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1793,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1794,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1794,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1795,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1796,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1796,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1798,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1802,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1805,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1806,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1807,1
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/src/api/InkAPI.cc:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bufp
    - mh_mloc
    - field_mloc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1786
    functionDepth: 4
    functionLinenumber: 1786
    functionLinenumberEnd: 1811
    functionName: TSMimeHdrFieldRemove
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - _hdr_mloc_to_mime_hdr_impl
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - mime_hdr_field_detach
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldRemove(TSMBuffer bufp, TSMLoc mh_mloc, TSMLoc
      field_mloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1820,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1820,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1821,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1821,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1822,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1823,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1823,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1825,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1829,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1832,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1834,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1835,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1837,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1838,1
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/src/api/InkAPI.cc:1843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - bufp
    - mh_mloc
    - field_mloc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1813
    functionDepth: 4
    functionLinenumber: 1813
    functionLinenumberEnd: 1848
    functionName: TSMimeHdrFieldDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - ink_release_assert
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HdrHeapSDKHandle *>
    - isWriteable
    - mime_hdr_field_delete
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldDestroy(TSMBuffer bufp, TSMLoc mh_mloc,
      TSMLoc field_mloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1856,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1856,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1857,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1857,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1858,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1859,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1859,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1861,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1865,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1866,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1867,1
    - Dst: mime_field_create
      Src: /src/trafficserver/src/api/InkAPI.cc:1869,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - mh_mloc
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1850
    functionDepth: 3
    functionLinenumber: 1850
    functionLinenumberEnd: 1872
    functionName: TSMimeHdrFieldCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - mime_field_create
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_alloc_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldCreate(TSMBuffer bufp, TSMLoc mh_mloc, TSMLoc
      *locp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1877,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1877,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1878,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1878,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1879,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1880,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1880,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1881,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1881,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1883,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:1888,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:1891,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1892,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1893,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/api/InkAPI.cc:1894,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1894,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - bufp
    - mh_mloc
    - name
    - name_len
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1874
    functionDepth: 3
    functionLinenumber: 1874
    functionLinenumberEnd: 1897
    functionName: TSMimeHdrFieldCreateNamed
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HdrHeapSDKHandle *>
    - _hdr_mloc_to_mime_hdr_impl
    - sdk_alloc_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - isWriteable
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - mime_field_create_named
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldCreateNamed(TSMBuffer bufp, TSMLoc mh_mloc,
      const char *name, int name_len, TSMLoc *locp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1906,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1906,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1907,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1907,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1908,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1908,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1909,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1910,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1910,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1911,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1912,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1912,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1913,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1913,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1915,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1920,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1921,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1922,1
    - Dst: MIMEFieldSDKHandle*::field_ptr::is_live
      Src: /src/trafficserver/src/api/InkAPI.cc:1930,1
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/src/api/InkAPI.cc:1933,1
    - Dst: mime_field_name_value_set
      Src: /src/trafficserver/src/api/InkAPI.cc:1936,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1938,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:1939,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/api/InkAPI.cc:1943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - dest_bufp
    - dest_hdr
    - dest_field
    - src_bufp
    - src_hdr
    - src_field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1899
    functionDepth: 4
    functionLinenumber: 1899
    functionLinenumberEnd: 1946
    functionName: TSMimeHdrFieldCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - mime_hdr_field_detach
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - MIMEFieldSDKHandle*::field_ptr::is_live
    - mime_hdr_field_attach
    - mime_field_name_value_set
    - static_cast<std::string_view::size_type>
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldCopy(TSMBuffer dest_bufp, TSMLoc dest_hdr,
      TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1954,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1954,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1955,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1955,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1956,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1956,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1957,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1958,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1958,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1959,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1960,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1960,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1961,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:1961,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1963,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPI.cc:1968,1
    - Dst: TSMimeHdrFieldCopy
      Src: /src/trafficserver/src/api/InkAPI.cc:1969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - dest_bufp
    - dest_hdr
    - src_bufp
    - src_hdr
    - src_field
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1948
    functionDepth: 5
    functionLinenumber: 1948
    functionLinenumberEnd: 1974
    functionName: TSMimeHdrFieldClone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSMimeHdrFieldCopy
    - TSMimeHdrFieldCreate
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldClone(TSMBuffer dest_bufp, TSMLoc dest_hdr,
      TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field, TSMLoc *locp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1984,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1984,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1985,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:1985,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1986,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1986,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1987,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1988,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1988,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1989,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1990,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1990,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:1991,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:1991,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:1993,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1997,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1998,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:1999,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2004,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:2005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - dest_bufp
    - dest_hdr
    - dest_field
    - src_bufp
    - src_hdr
    - src_field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1976
    functionDepth: 4
    functionLinenumber: 1976
    functionLinenumberEnd: 2008
    functionName: TSMimeHdrFieldCopyValues
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSMimeHdrFieldCopyValues(TSMBuffer dest_bufp, TSMLoc
      dest_hdr, TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr,\n                         TSMLoc
      src_field)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2013,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2013,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2014,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2014,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2014,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2015,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2015,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2017,1
    - Dst: auto::mh::find
      Src: /src/trafficserver/src/api/InkAPI.cc:2018,1
    - Dst: auto::mh::end
      Src: /src/trafficserver/src/api/InkAPI.cc:2018,1
    - Dst: auto::mh::end
      Src: /src/trafficserver/src/api/InkAPI.cc:2019,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2020,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2010
    functionDepth: 4
    functionLinenumber: 2010
    functionLinenumberEnd: 2028
    functionName: TSMimeHdrFieldNext
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - sdk_alloc_field_handle
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - auto::mh::end
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - auto::mh::find
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSMimeHdrFieldNext(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2033,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2033,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2034,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2034,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2034,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2035,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2035,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:2037,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2038,1
    - Dst: sdk_alloc_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2044,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2030
    functionDepth: 4
    functionLinenumber: 2030
    functionLinenumberEnd: 2047
    functionName: TSMimeHdrFieldNextDup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - _hdr_mloc_to_mime_hdr_impl
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_alloc_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<TSMLoc>
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSMimeHdrFieldNextDup(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2052,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2052,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2053,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2053,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2053,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2054,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2054,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2056,1
    - Dst: mime_field_length_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2049
    functionDepth: 4
    functionLinenumber: 2049
    functionLinenumberEnd: 2058
    functionName: TSMimeHdrFieldLengthGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_field_length_get
    - sdk_sanity_check_field_handle
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: int
    signature: int TSMimeHdrFieldLengthGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2063,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2063,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2064,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2064,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2064,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2065,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2065,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2066,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2066,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2068,1
    - Dst: MIMEFieldSDKHandle*::field_ptr::name_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2069,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:2070,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:2070,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:2071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2072
    functionName: TSMimeHdrFieldNameGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<int>
    - sdk_sanity_check_field_handle
    - auto::length
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - MIMEFieldSDKHandle*::field_ptr::name_get
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - auto::data
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: char
    signature: 'char *

      TSMimeHdrFieldNameGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int *length)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2081,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2081,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2082,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2082,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2082,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2083,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2083,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2084,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2084,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2086,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2091,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2094,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2095,1
    - Dst: MIMEFieldSDKHandle*::field_ptr::is_live
      Src: /src/trafficserver/src/api/InkAPI.cc:2097,1
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/src/api/InkAPI.cc:2100,1
    - Dst: MIMEFieldSDKHandle*::field_ptr::name_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2103,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:2103,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/api/InkAPI.cc:2106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - name
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2074
    functionDepth: 4
    functionLinenumber: 2074
    functionLinenumberEnd: 2109
    functionName: TSMimeHdrFieldNameSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - mime_hdr_field_detach
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - MIMEFieldSDKHandle*::field_ptr::is_live
    - mime_hdr_field_attach
    - static_cast<std::string_view::size_type>
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - MIMEFieldSDKHandle*::field_ptr::name_set
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldNameSet(TSMBuffer bufp, TSMLoc hdr, TSMLoc
      field, const char *name, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2118,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2118,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2119,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2119,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2119,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2120,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2120,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2122,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2126,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2127,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2111
    functionDepth: 4
    functionLinenumber: 2111
    functionLinenumberEnd: 2136
    functionName: TSMimeHdrFieldValuesClear
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValuesClear(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2141,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2141,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2142,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2142,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2142,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2143,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2143,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2145,1
    - Dst: mime_field_value_get_comma_val_count
      Src: /src/trafficserver/src/api/InkAPI.cc:2146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2138
    functionDepth: 4
    functionLinenumber: 2138
    functionLinenumberEnd: 2147
    functionName: TSMimeHdrFieldValuesCount
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - mime_field_value_get_comma_val_count
    linkageType: ''
    returnType: int
    signature: int TSMimeHdrFieldValuesCount(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2152,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2152,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2153,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2153,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2153,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2154,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2154,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2155,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2155,1
    - Dst: TSMimeFieldValueGet
      Src: /src/trafficserver/src/api/InkAPI.cc:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value_len_ptr
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2149
    functionDepth: 4
    functionLinenumber: 2149
    functionLinenumberEnd: 2158
    functionName: TSMimeHdrFieldValueStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - TSMimeFieldValueGet
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: char
    signature: 'char *

      TSMimeHdrFieldValueStringGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx,
      int *value_len_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2163,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2163,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2164,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2164,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2164,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2165,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2165,1
    - Dst: TSMimeFieldValueGet
      Src: /src/trafficserver/src/api/InkAPI.cc:2168,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:2171,1
    - Dst: mime_parse_date
      Src: /src/trafficserver/src/api/InkAPI.cc:2174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - bufp
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2160
    functionDepth: 4
    functionLinenumber: 2160
    functionLinenumberEnd: 2175
    functionName: TSMimeHdrFieldValueDateGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - sdk_sanity_check_field_handle
    - TSMimeFieldValueGet
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - mime_parse_date
    linkageType: ''
    returnType: time_t
    signature: time_t TSMimeHdrFieldValueDateGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc
      field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:2181,1
    - Dst: mime_parse_date
      Src: /src/trafficserver/src/api/InkAPI.cc:2184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value_str
    - value_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2185
    functionName: TSMimeParseDate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - mime_parse_date
    linkageType: ''
    returnType: time_t
    signature: time_t TSMimeParseDate(char const *const value_str, int const value_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2190,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2190,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2191,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2191,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2191,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2192,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2192,1
    - Dst: TSMimeFieldValueGet
      Src: /src/trafficserver/src/api/InkAPI.cc:2195,1
    - Dst: mime_parse_int
      Src: /src/trafficserver/src/api/InkAPI.cc:2201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2187
    functionDepth: 4
    functionLinenumber: 2187
    functionLinenumberEnd: 2202
    functionName: TSMimeHdrFieldValueIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - TSMimeFieldValueGet
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    - mime_parse_int
    linkageType: ''
    returnType: int
    signature: int TSMimeHdrFieldValueIntGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field,
      int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2207,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2207,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2208,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2208,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2208,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2209,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2209,1
    - Dst: TSMimeFieldValueGet
      Src: /src/trafficserver/src/api/InkAPI.cc:2212,1
    - Dst: mime_parse_int64
      Src: /src/trafficserver/src/api/InkAPI.cc:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2204
    functionDepth: 4
    functionLinenumber: 2204
    functionLinenumberEnd: 2219
    functionName: TSMimeHdrFieldValueInt64Get
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - TSMimeFieldValueGet
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - mime_parse_int64
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSMimeHdrFieldValueInt64Get(TSMBuffer bufp, TSMLoc hdr, TSMLoc
      field, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2224,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2224,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2225,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2225,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2225,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2226,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2226,1
    - Dst: TSMimeFieldValueGet
      Src: /src/trafficserver/src/api/InkAPI.cc:2229,1
    - Dst: mime_parse_uint
      Src: /src/trafficserver/src/api/InkAPI.cc:2235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2221
    functionDepth: 4
    functionLinenumber: 2221
    functionLinenumberEnd: 2236
    functionName: TSMimeHdrFieldValueUintGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - TSMimeFieldValueGet
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - mime_parse_uint
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TSMimeHdrFieldValueUintGet(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2245,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2245,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2246,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2246,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2246,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2247,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2247,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2248,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2248,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2250,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2255,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2238
    functionDepth: 4
    functionLinenumber: 2238
    functionLinenumberEnd: 2260
    functionName: TSMimeHdrFieldValueStringSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - strlen
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueStringSet(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, const char *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2269,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2269,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2270,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2270,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2270,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2271,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2271,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2273,1
    - Dst: mime_format_date
      Src: /src/trafficserver/src/api/InkAPI.cc:2278,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2262
    functionDepth: 4
    functionLinenumber: 2262
    functionLinenumberEnd: 2284
    functionName: TSMimeHdrFieldValueDateSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - mime_format_date
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueDateSet(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, time_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_format_date
      Src: /src/trafficserver/src/api/InkAPI.cc:2297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - value_time
    - value_str
    - value_length
    argTypes:
    - time_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2286
    functionDepth: 1
    functionLinenumber: 2286
    functionLinenumberEnd: 2299
    functionName: TSMimeFormatDate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_format_date
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeFormatDate(time_t const value_time, char *const
      value_str, int *const value_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2308,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2308,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2309,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2309,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2309,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2310,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2310,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2312,1
    - Dst: mime_format_int
      Src: /src/trafficserver/src/api/InkAPI.cc:2317,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2301
    functionDepth: 4
    functionLinenumber: 2301
    functionLinenumberEnd: 2321
    functionName: TSMimeHdrFieldValueIntSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - mime_format_int
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueIntSet(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2330,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2330,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2331,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2331,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2331,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2332,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2332,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2334,1
    - Dst: mime_format_int64
      Src: /src/trafficserver/src/api/InkAPI.cc:2339,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2323
    functionDepth: 4
    functionLinenumber: 2323
    functionLinenumberEnd: 2343
    functionName: TSMimeHdrFieldValueInt64Set
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - mime_format_int64
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueInt64Set(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2352,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2352,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2353,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2353,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2353,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2354,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2354,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2356,1
    - Dst: mime_format_uint
      Src: /src/trafficserver/src/api/InkAPI.cc:2361,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2345
    functionDepth: 4
    functionLinenumber: 2345
    functionLinenumberEnd: 2365
    functionName: TSMimeHdrFieldValueUintSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - mime_format_uint
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueUintSet(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, unsigned int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2374,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2374,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2375,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2375,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2375,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2376,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2376,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2377,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2377,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2378,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2380,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2384,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2385,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2388,1
    - Dst: mime_field_value_extend_comma_val
      Src: /src/trafficserver/src/api/InkAPI.cc:2390,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:2391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2367
    functionDepth: 4
    functionLinenumber: 2367
    functionLinenumberEnd: 2393
    functionName: TSMimeHdrFieldValueAppend
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - mime_field_value_extend_comma_val
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueAppend(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, const char *value, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2401,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2401,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2402,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2402,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2402,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2403,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2403,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2404,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2404,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2406,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2411,1
    - Dst: TSMimeFieldValueInsert
      Src: /src/trafficserver/src/api/InkAPI.cc:2413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2395
    functionDepth: 4
    functionLinenumber: 2395
    functionLinenumberEnd: 2415
    functionName: TSMimeHdrFieldValueStringInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSMimeFieldValueInsert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueStringInsert(TSMBuffer bufp, TSMLoc
      hdr, TSMLoc field, int idx, const char *value, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2423,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2423,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2424,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2424,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2424,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2425,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2425,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2427,1
    - Dst: mime_format_int
      Src: /src/trafficserver/src/api/InkAPI.cc:2432,1
    - Dst: TSMimeFieldValueInsert
      Src: /src/trafficserver/src/api/InkAPI.cc:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 4
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: TSMimeHdrFieldValueIntInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - mime_format_int
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSMimeFieldValueInsert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueIntInsert(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2444,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2444,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2445,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2445,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2445,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2446,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2446,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2448,1
    - Dst: mime_format_uint
      Src: /src/trafficserver/src/api/InkAPI.cc:2453,1
    - Dst: TSMimeFieldValueInsert
      Src: /src/trafficserver/src/api/InkAPI.cc:2455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - bufp
    - hdr
    - field
    - idx
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2438
    functionDepth: 4
    functionLinenumber: 2438
    functionLinenumberEnd: 2457
    functionName: TSMimeHdrFieldValueUintInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSMimeFieldValueInsert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - mime_format_uint
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueUintInsert(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx, unsigned int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2465,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2465,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2466,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2466,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2466,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2467,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2467,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2469,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/src/api/InkAPI.cc:2473,1
    - Dst: mime_format_date
      Src: /src/trafficserver/src/api/InkAPI.cc:2478,1
    - Dst: TSMimeFieldValueSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2459
    functionDepth: 5
    functionLinenumber: 2459
    functionLinenumberEnd: 2483
    functionName: TSMimeHdrFieldValueDateInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_field_handle
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSMimeHdrFieldValuesClear
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - TSMimeFieldValueSet
    - mime_format_date
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueDateInsert(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, time_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2492,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2492,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2493,1
    - Dst: sdk_sanity_check_mime_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2493,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2493,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2494,1
    - Dst: sdk_sanity_check_field_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2494,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2495,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2497,1
    - Dst: reinterpret_cast<MIMEFieldSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2501,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2502,1
    - Dst: mime_field_value_delete_comma_val
      Src: /src/trafficserver/src/api/InkAPI.cc:2504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - bufp
    - hdr
    - field
    - idx
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2485
    functionDepth: 4
    functionLinenumber: 2485
    functionLinenumberEnd: 2506
    functionName: TSMimeHdrFieldValueDelete
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_delete_comma_val
    - sdk_sanity_check_field_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<MIMEFieldSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mime_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMimeHdrFieldValueDelete(TSMBuffer bufp, TSMLoc hdr,
      TSMLoc field, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/api/InkAPI.cc:2512,1
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/api/InkAPI.cc:2514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2508
    functionDepth: 1
    functionLinenumber: 2508
    functionLinenumberEnd: 2516
    functionName: TSMimeHdrStringToWKS
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_string_to_wks
    linkageType: ''
    returnType: char
    signature: 'char *

      TSMimeHdrStringToWKS(const char *str, int length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpParser>
      Src: /src/trafficserver/src/api/InkAPI.cc:2524,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPI.cc:2524,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/api/InkAPI.cc:2525,1
    - Dst: reinterpret_cast<HTTPParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2528
    functionName: TSHttpParserCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HTTPParser *>
    - reinterpret_cast<TSHttpParser>
    - ats_malloc
    - http_parser_init
    linkageType: ''
    returnType: TSHttpParser
    signature: TSHttpParser TSHttpParserCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2533,1
    - Dst: sdk_sanity_check_http_parser
      Src: /src/trafficserver/src/api/InkAPI.cc:2533,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:2534,1
    - Dst: reinterpret_cast<HTTPParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSHttpParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2530
    functionDepth: 1
    functionLinenumber: 2530
    functionLinenumberEnd: 2535
    functionName: TSHttpParserClear
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_http_parser
    - http_parser_clear
    - reinterpret_cast<HTTPParser *>
    linkageType: ''
    returnType: void
    signature: void TSHttpParserClear(TSHttpParser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2540,1
    - Dst: sdk_sanity_check_http_parser
      Src: /src/trafficserver/src/api/InkAPI.cc:2540,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/api/InkAPI.cc:2541,1
    - Dst: reinterpret_cast<HTTPParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2541,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:2542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - TSHttpParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2543
    functionName: TSHttpParserDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - http_parser_clear
    - reinterpret_cast<HTTPParser *>
    - sdk_assert
    - sdk_sanity_check_http_parser
    linkageType: ''
    returnType: void
    signature: void TSHttpParserDestroy(TSHttpParser parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2552,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2552,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2554,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2555,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/api/InkAPI.cc:2556,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:2557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2558
    functionName: TSHttpHdrCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<TSMLoc>
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSHttpHdrCreate(TSMBuffer bufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2563,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2563,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2564,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2560
    functionDepth: 1
    functionLinenumber: 2560
    functionLinenumberEnd: 2570
    functionName: TSHttpHdrDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - sdk_sanity_check_mbuffer
    linkageType: ''
    returnType: void
    signature: void TSHttpHdrDestroy(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2578,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2578,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2579,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2579,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2580,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2580,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2582,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2589,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2590,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2591,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2593,1
    - Dst: http_hdr_clone
      Src: /src/trafficserver/src/api/InkAPI.cc:2599,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:2600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - dest_bufp
    - src_bufp
    - src_hdr
    - locp
    argTypes:
    - TSMBuffer
    - TSMBuffer
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2572
    functionDepth: 1
    functionLinenumber: 2572
    functionLinenumberEnd: 2603
    functionName: TSHttpHdrClone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - static_cast<HdrHeapObjType>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdrImpl *>
    - http_hdr_clone
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrClone(TSMBuffer dest_bufp, TSMBuffer src_bufp,
      TSMLoc src_hdr, TSMLoc *locp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2612,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2612,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2613,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2613,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2614,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2614,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2615,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2615,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2617,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2625,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2626,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2627,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2628,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2630,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2631,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2636,1
    - Dst: static_cast<TSHttpType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2636,1
    - Dst: http_hdr_copy_onto
      Src: /src/trafficserver/src/api/InkAPI.cc:2637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - dest_bufp
    - dest_obj
    - src_bufp
    - src_obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2605
    functionDepth: 1
    functionLinenumber: 2605
    functionLinenumberEnd: 2639
    functionName: TSHttpHdrCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - static_cast<HdrHeapObjType>
    - http_hdr_copy_onto
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdrImpl *>
    - static_cast<TSHttpType>
    - TSHttpHdrTypeSet
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrCopy(TSMBuffer dest_bufp, TSMLoc dest_obj, TSMBuffer
      src_bufp, TSMLoc src_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2644,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2644,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2645,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2645,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2646,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:2646,1
    - Dst: reinterpret_cast<MIOBuffer *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2648,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2650,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2655,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2656,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2656,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:2660,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:2661,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/api/InkAPI.cc:2662,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkAPI.cc:2663,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/api/InkAPI.cc:2669,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/api/InkAPI.cc:2669,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkAPI.cc:2669,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/api/InkAPI.cc:2672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - bufp
    - obj
    - iobufp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2674
    functionName: TSHttpHdrPrint
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - MIOBuffer*::get_current_block
    - static_cast<HdrHeapObjType>
    - MIOBuffer*::add_block
    - HTTPHdr::print
    - reinterpret_cast<MIOBuffer *>
    - sdk_assert
    - sdk_sanity_check_mbuffer
    - IOBufferBlock*::write_avail
    - sdk_sanity_check_http_hdr_handle
    - IOBufferBlock*::end
    - MIOBuffer*::fill
    - sdk_sanity_check_iocore_structure
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TSHttpHdrPrint(TSMBuffer bufp, TSMLoc obj, TSIOBuffer iobufp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2679,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2679,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2680,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2680,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2681,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2681,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2682,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2682,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2683,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2683,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2685,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2689,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2691,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2692,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2692,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2693,1
    - Dst: static_cast<TSParseResult>
      Src: /src/trafficserver/src/api/InkAPI.cc:2694,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/api/InkAPI.cc:2694,1
    - Dst: reinterpret_cast<HTTPParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - parser
    - bufp
    - obj
    - start
    - end
    argTypes:
    - TSHttpParser
    - TSMBuffer
    - TSMLoc
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2695
    functionName: TSHttpHdrParseReq
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - HTTPHdr::parse_req
    - reinterpret_cast<HTTPParser *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSHttpHdrTypeSet
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - static_cast<TSParseResult>
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: TSParseResult
    signature: TSParseResult TSHttpHdrParseReq(TSHttpParser parser, TSMBuffer bufp,
      TSMLoc obj, const char **start, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2700,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2700,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2701,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2701,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2702,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2702,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2703,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2703,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2704,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2704,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2706,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2710,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2712,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2713,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2713,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/api/InkAPI.cc:2714,1
    - Dst: static_cast<TSParseResult>
      Src: /src/trafficserver/src/api/InkAPI.cc:2715,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/api/InkAPI.cc:2715,1
    - Dst: reinterpret_cast<HTTPParser *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - parser
    - bufp
    - obj
    - start
    - end
    argTypes:
    - TSHttpParser
    - TSMBuffer
    - TSMLoc
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2716
    functionName: TSHttpHdrParseResp
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<HTTPParser *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - TSHttpHdrTypeSet
    - HTTPHdr::parse_resp
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - static_cast<TSParseResult>
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: TSParseResult
    signature: TSParseResult TSHttpHdrParseResp(TSHttpParser parser, TSMBuffer bufp,
      TSMLoc obj, const char **start, const char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2721,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2721,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2722,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2722,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2724,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2726,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2727,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2727,1
    - Dst: HTTPHdr::length_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2718
    functionDepth: 1
    functionLinenumber: 2718
    functionLinenumberEnd: 2729
    functionName: TSHttpHdrLengthGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::length_get
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int TSHttpHdrLengthGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2734,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2734,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2735,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2735,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2737,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2738,1
    - Dst: static_cast<TSHttpType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2742,1
    - Dst: HTTPHdr::type_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2731
    functionDepth: 1
    functionLinenumber: 2731
    functionLinenumberEnd: 2743
    functionName: TSHttpHdrTypeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<TSHttpType>
    - HTTPHdr::type_get
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: TSHttpType
    signature: TSHttpType TSHttpHdrTypeGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2752,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2752,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2753,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2753,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2754,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2756,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2760,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2762,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2763,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2763,1
    - Dst: static_cast<TSHttpType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2774,1
    - Dst: url_create
      Src: /src/trafficserver/src/api/InkAPI.cc:2775,1
    - Dst: static_cast<HTTPType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2776,1
    - Dst: static_cast<TSHttpType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2777,1
    - Dst: static_cast<HTTPType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - bufp
    - obj
    - type
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSHttpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2782
    functionName: TSHttpHdrTypeSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<TSHttpType>
    - static_cast<HTTPType>
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::HTTPHdr
    - ink_assert
    - url_create
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrTypeSet(TSMBuffer bufp, TSMLoc obj, TSHttpType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2787,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2787,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2788,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2788,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2790,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2792,1
    - Dst: HTTPHdr::version_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2793,1
    - Dst: HTTPVersion::get_flat_version
      Src: /src/trafficserver/src/api/InkAPI.cc:2794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2795
    functionName: TSHttpHdrVersionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - HTTPHdr::version_get
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPVersion::get_flat_version
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: int
    signature: int TSHttpHdrVersionGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2804,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2804,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2805,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2805,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2807,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2811,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2814,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2815,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2815,1
    - Dst: HTTPHdr::version_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - obj
    - ver
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2819
    functionName: TSHttpHdrVersionSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - HTTPHdr::version_set
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrVersionSet(TSMBuffer bufp, TSMLoc obj, int ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2824,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2824,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2825,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2825,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2826,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2826,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2828,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2830,1
    - Dst: HTTPHdr::method_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2831,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:2832,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:2832,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:2833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2821
    functionDepth: 1
    functionLinenumber: 2821
    functionLinenumberEnd: 2834
    functionName: TSHttpHdrMethodGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - static_cast<int>
    - auto::length
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr::method_get
    - sdk_sanity_check_http_hdr_handle
    - auto::data
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpHdrMethodGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2843,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2843,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2844,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2844,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2845,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2845,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2847,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2851,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2853,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2855,1
    - Dst: HTTPHdr::method_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2858,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:2858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2860
    functionName: TSHttpHdrMethodSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::method_set
    - strlen
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrMethodSet(TSMBuffer bufp, TSMLoc obj, const char
      *value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2865,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2865,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2866,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2866,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2867,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2867,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2869,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2871,1
    - Dst: HTTPHdr::host_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2872,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:2873,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:2873,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2875
    functionName: TSHttpHdrHostGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - static_cast<int>
    - auto::length
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr::host_get
    - sdk_sanity_check_http_hdr_handle
    - auto::data
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpHdrHostGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2880,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2880,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2881,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2881,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2883,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:2889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bufp
    - obj
    - locp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2891
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2891
    functionName: TSHttpHdrUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdrImpl *>
    - sdk_sanity_check_http_hdr_handle
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrUrlGet(TSMBuffer bufp, TSMLoc obj, TSMLoc *locp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2900,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2900,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2901,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2901,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2902,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2902,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2904,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2908,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2909,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2911,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:2915,1
    - Dst: http_hdr_url_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bufp
    - obj
    - url
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2893
    functionDepth: 1
    functionLinenumber: 2893
    functionLinenumberEnd: 2918
    functionName: TSHttpHdrUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_url_handle
    - static_cast<HdrHeapObjType>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdrImpl *>
    - http_hdr_url_set
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrUrlSet(TSMBuffer bufp, TSMLoc obj, TSMLoc url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2923,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2923,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2924,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2924,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2926,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2928,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/api/InkAPI.cc:2929,1
    - Dst: HTTPHdr::status_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bufp
    - obj
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2930
    functionName: TSHttpHdrStatusGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr::status_get
    - SET_HTTP_HDR
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<TSHttpStatus>
    - sdk_sanity_check_http_hdr_handle
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus TSHttpHdrStatusGet(TSMBuffer bufp, TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2939,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2939,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2940,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2940,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2942,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2946,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2948,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2949,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/api/InkAPI.cc:2949,1
    - Dst: HTTPHdr::status_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2950,1
    - Dst: static_cast<HTTPStatus>
      Src: /src/trafficserver/src/api/InkAPI.cc:2950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - bufp
    - obj
    - status
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2932
    functionDepth: 1
    functionLinenumber: 2932
    functionLinenumberEnd: 2952
    functionName: TSHttpHdrStatusSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - static_cast<HdrHeapObjType>
    - HTTPHdr::status_set
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - isWriteable
    - sdk_sanity_check_http_hdr_handle
    - static_cast<HTTPStatus>
    - HTTPHdr::HTTPHdr
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrStatusSet(TSMBuffer bufp, TSMLoc obj, TSHttpStatus
      status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2957,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2957,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2958,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2958,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2959,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2959,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2961,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2963,1
    - Dst: HTTPHdr::reason_get
      Src: /src/trafficserver/src/api/InkAPI.cc:2964,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:2965,1
    - Dst: auto::length
      Src: /src/trafficserver/src/api/InkAPI.cc:2965,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bufp
    - obj
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2967
    functionName: TSHttpHdrReasonGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - static_cast<int>
    - auto::length
    - HTTPHdr::reason_get
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - sdk_sanity_check_http_hdr_handle
    - auto::data
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpHdrReasonGet(TSMBuffer bufp, TSMLoc obj, int *length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2976,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:2976,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2977,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:2977,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:2978,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:2978,1
    - Dst: isWriteable
      Src: /src/trafficserver/src/api/InkAPI.cc:2980,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:2984,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:2986,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:2992,1
    - Dst: HTTPHdr::reason_set
      Src: /src/trafficserver/src/api/InkAPI.cc:2994,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:2994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - bufp
    - obj
    - value
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2996
    functionName: TSHttpHdrReasonSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - SET_HTTP_HDR
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - static_cast<std::string_view::size_type>
    - isWriteable
    - HTTPHdr::reason_set
    - sdk_sanity_check_http_hdr_handle
    - strlen
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrReasonSet(TSMBuffer bufp, TSMLoc obj, const char
      *value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/api/InkAPI.cc:3001,1
    - Dst: static_cast<HTTPStatus>
      Src: /src/trafficserver/src/api/InkAPI.cc:3001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2998
    functionDepth: 1
    functionLinenumber: 2998
    functionLinenumberEnd: 3002
    functionName: TSHttpHdrReasonLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - http_hdr_reason_lookup
    - static_cast<HTTPStatus>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpHdrReasonLookup(TSHttpStatus status)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3018
    functionName: sdk_sanity_check_cachekey
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_cachekey(TSCacheKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSCacheKey>
      Src: /src/trafficserver/src/api/InkAPI.cc:3023,1
    - Dst: CacheInfo::CacheInfo
      Src: /src/trafficserver/src/api/InkAPI.cc:3023,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3026,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3020
    functionDepth: 1
    functionLinenumber: 3020
    functionLinenumberEnd: 3028
    functionName: TSCacheKeyCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TSCacheKey>
    - sdk_sanity_check_cachekey
    - CacheInfo::CacheInfo
    linkageType: ''
    returnType: TSCacheKey
    signature: TSCacheKey TSCacheKeyCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3033,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3033,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3034,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3034,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3035,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3036,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/api/InkAPI.cc:3042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - key
    - input
    - length
    argTypes:
    - TSCacheKey
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3030
    functionDepth: 1
    functionLinenumber: 3030
    functionLinenumberEnd: 3044
    functionName: TSCacheKeyDigestSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_cachekey
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - CryptoContext
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyDigestSet(TSCacheKey key, const char *input,
      int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3049,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3049,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3051,1
    - Dst: url_CryptoHash_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3055,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3055,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - url
    argTypes:
    - TSCacheKey
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3057
    functionName: TSCacheKeyDigestFromUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_cachekey
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - url_CryptoHash_get
    - reinterpret_cast<URLImpl *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyDigestFromUrlSet(TSCacheKey key, TSMLoc url)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3062,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3062,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3064,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3070,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - TSCacheKey
    - TSCacheDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3059
    functionDepth: 1
    functionLinenumber: 3059
    functionLinenumberEnd: 3081
    functionName: TSCacheKeyDataTypeSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - sdk_sanity_check_cachekey
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyDataTypeSet(TSCacheKey key, TSCacheDataType
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3086,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3086,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3087,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3087,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3088,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3090,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3094,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3097,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPI.cc:3097,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPI.cc:3098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - key
    - hostname
    - host_len
    argTypes:
    - TSCacheKey
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3101
    functionName: TSCacheKeyHostNameSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - memcpy
    - sdk_sanity_check_cachekey
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - static_cast<char *>
    - ats_malloc
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyHostNameSet(TSCacheKey key, const char *hostname,
      int host_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3106,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3106,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3108,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - pin_in_cache
    argTypes:
    - TSCacheKey
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3103
    functionDepth: 1
    functionLinenumber: 3103
    functionLinenumberEnd: 3115
    functionName: TSCacheKeyPinnedSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - sdk_sanity_check_cachekey
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyPinnedSet(TSCacheKey key, time_t pin_in_cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3120,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:3120,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3122,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3126,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:3128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3117
    functionDepth: 1
    functionLinenumber: 3117
    functionLinenumberEnd: 3132
    functionName: TSCacheKeyDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ats_free
    - reinterpret_cast<CacheInfo *>
    - sdk_sanity_check_cachekey
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheKeyDestroy(TSCacheKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheHTTPInfo::CacheHTTPInfo
      Src: /src/trafficserver/src/api/InkAPI.cc:3137,1
    - Dst: CacheHTTPInfo*::copy
      Src: /src/trafficserver/src/api/InkAPI.cc:3139,1
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3139,1
    - Dst: reinterpret_cast<TSCacheHttpInfo>
      Src: /src/trafficserver/src/api/InkAPI.cc:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - infop
    argTypes:
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3134
    functionDepth: 1
    functionLinenumber: 3134
    functionLinenumberEnd: 3141
    functionName: TSCacheHttpInfoCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo::CacheHTTPInfo
    - reinterpret_cast<CacheHTTPInfo *>
    - CacheHTTPInfo*::copy
    - reinterpret_cast<TSCacheHttpInfo>
    linkageType: ''
    returnType: TSCacheHttpInfo
    signature: TSCacheHttpInfo TSCacheHttpInfoCopy(TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3146,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:3148,1
    - Dst: CacheHTTPInfo*::request_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3148,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:3149,1
    - Dst: CacheHTTPInfo*::request_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3149,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3150,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:3150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSCacheHttpInfo
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3143
    functionDepth: 1
    functionLinenumber: 3143
    functionLinenumberEnd: 3151
    functionName: TSCacheHttpInfoReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CacheHTTPInfo *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<TSMLoc>
    - CacheHTTPInfo*::request_get
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoReqGet(TSCacheHttpInfo infop, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3156,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:3158,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3158,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:3159,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3159,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3160,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:3160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSCacheHttpInfo
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3153
    functionDepth: 1
    functionLinenumber: 3153
    functionLinenumberEnd: 3161
    functionName: TSCacheHttpInfoRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CacheHTTPInfo *>
    - CacheHTTPInfo*::response_get
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoRespGet(TSCacheHttpInfo infop, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3166,1
    - Dst: CacheHTTPInfo*::request_sent_time_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infop
    argTypes:
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3168
    functionName: TSCacheHttpInfoReqSentTimeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::request_sent_time_get
    - reinterpret_cast<CacheHTTPInfo *>
    linkageType: ''
    returnType: time_t
    signature: time_t TSCacheHttpInfoReqSentTimeGet(TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3173,1
    - Dst: CacheHTTPInfo*::response_received_time_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infop
    argTypes:
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3170
    functionDepth: 0
    functionLinenumber: 3170
    functionLinenumberEnd: 3175
    functionName: TSCacheHttpInfoRespReceivedTimeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::response_received_time_get
    - reinterpret_cast<CacheHTTPInfo *>
    linkageType: ''
    returnType: time_t
    signature: time_t TSCacheHttpInfoRespReceivedTimeGet(TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3180,1
    - Dst: CacheHTTPInfo*::object_size_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infop
    argTypes:
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3182
    functionName: TSCacheHttpInfoSizeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CacheHTTPInfo *>
    - CacheHTTPInfo*::object_size_get
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSCacheHttpInfoSizeGet(TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:3187,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:3189,1
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3191,1
    - Dst: CacheHTTPInfo*::request_set
      Src: /src/trafficserver/src/api/InkAPI.cc:3192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSCacheHttpInfo
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3193
    functionName: TSCacheHttpInfoReqSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - CacheHTTPInfo*::request_set
    - reinterpret_cast<CacheHTTPInfo *>
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoReqSet(TSCacheHttpInfo infop, TSMBuffer bufp, TSMLoc
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/api/InkAPI.cc:3198,1
    - Dst: SET_HTTP_HDR
      Src: /src/trafficserver/src/api/InkAPI.cc:3200,1
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3202,1
    - Dst: CacheHTTPInfo*::response_set
      Src: /src/trafficserver/src/api/InkAPI.cc:3203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSCacheHttpInfo
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3195
    functionDepth: 1
    functionLinenumber: 3195
    functionLinenumberEnd: 3204
    functionName: TSCacheHttpInfoRespSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HTTP_HDR
    - reinterpret_cast<CacheHTTPInfo *>
    - HTTPHdr::HTTPHdr
    - CacheHTTPInfo*::response_set
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoRespSet(TSCacheHttpInfo infop, TSMBuffer bufp,
      TSMLoc obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3209,1
    - Dst: CacheHTTPInfoVector::CacheHTTPInfoVector
      Src: /src/trafficserver/src/api/InkAPI.cc:3210,1
    - Dst: CacheHTTPInfoVector::insert
      Src: /src/trafficserver/src/api/InkAPI.cc:3212,1
    - Dst: CacheHTTPInfoVector::marshal_length
      Src: /src/trafficserver/src/api/InkAPI.cc:3214,1
    - Dst: CacheHTTPInfoVector::marshal
      Src: /src/trafficserver/src/api/InkAPI.cc:3221,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - infop
    - data
    - length
    argTypes:
    - TSCacheHttpInfo
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3206
    functionDepth: 1
    functionLinenumber: 3206
    functionLinenumberEnd: 3222
    functionName: TSCacheHttpInfoVector
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfoVector::marshal
    - reinterpret_cast<CacheHTTPInfo *>
    - CacheHTTPInfoVector::CacheHTTPInfoVector
    - CacheHTTPInfoVector::marshal_length
    - CacheHTTPInfoVector::insert
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int TSCacheHttpInfoVector(TSCacheHttpInfo infop, void *data, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3227,1
    - Dst: destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:3227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infop
    argTypes:
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3228
    functionName: TSCacheHttpInfoDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CacheHTTPInfo *>
    - destroy
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoDestroy(TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheHTTPInfo::CacheHTTPInfo
      Src: /src/trafficserver/src/api/InkAPI.cc:3233,1
    - Dst: CacheHTTPInfo*::create
      Src: /src/trafficserver/src/api/InkAPI.cc:3234,1
    - Dst: reinterpret_cast<TSCacheHttpInfo>
      Src: /src/trafficserver/src/api/InkAPI.cc:3236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3237
    functionName: TSCacheHttpInfoCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo::CacheHTTPInfo
    - CacheHTTPInfo*::create
    - reinterpret_cast<TSCacheHttpInfo>
    linkageType: ''
    returnType: TSCacheHttpInfo
    signature: TSCacheHttpInfo TSCacheHttpInfoCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKConfigImpl::INKConfigImpl
      Src: /src/trafficserver/src/api/InkAPI.cc:3248,1
    - Dst: set
      Src: /src/trafficserver/src/api/InkAPI.cc:3251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - id
    - data
    - funcp
    argTypes:
    - unsigned int
    - void*
    - TSConfigDestroyFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3252
    functionName: TSConfigSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - INKConfigImpl::INKConfigImpl
    - set
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TSConfigSet(unsigned int id, void *data, TSConfigDestroyFunc
      funcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSConfig>
      Src: /src/trafficserver/src/api/InkAPI.cc:3257,1
    - Dst: get
      Src: /src/trafficserver/src/api/InkAPI.cc:3257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3258
    functionName: TSConfigGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - get
    - reinterpret_cast<TSConfig>
    linkageType: ''
    returnType: TSConfig
    signature: TSConfig TSConfigGet(unsigned int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/api/InkAPI.cc:3263,1
    - Dst: reinterpret_cast<ConfigInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - configp
    argTypes:
    - unsigned int
    - TSConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3264
    functionName: TSConfigRelease
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - release
    - reinterpret_cast<ConfigInfo *>
    linkageType: ''
    returnType: void
    signature: void TSConfigRelease(unsigned int id, TSConfig configp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<INKConfigImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - configp
    argTypes:
    - TSConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3271
    functionName: TSConfigDataGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<INKConfigImpl *>
    linkageType: ''
    returnType: void
    signature: 'void *

      TSConfigDataGet(TSConfig configp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3282,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3282,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3283,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3283,1
    - Dst: insert
      Src: /src/trafficserver/src/api/InkAPI.cc:3285,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - contp
    - plugin_name
    - plugin_file_name
    argTypes:
    - TSCont
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3279
    functionDepth: 1
    functionLinenumber: 3279
    functionLinenumberEnd: 3286
    functionName: TSMgmtUpdateRegister
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - insert
    - sdk_assert
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSMgmtUpdateRegister(TSCont contp, const char *plugin_name, const
      char *plugin_file_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/api/InkAPI.cc:3291,1
    - Dst: lookup
      Src: /src/trafficserver/src/api/InkAPI.cc:3295,1
    - Dst: load
      Src: /src/trafficserver/src/api/InkAPI.cc:3300,1
    - Dst: auto::value
      Src: /src/trafficserver/src/api/InkAPI.cc:3303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - var_name
    - result
    argTypes:
    - char*
    - TSMgmtInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3307
    functionName: TSMgmtIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - lookup
    - RecGetRecordInt
    - auto::value
    - load
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtIntGet(const char *var_name, TSMgmtInt *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordCounter
      Src: /src/trafficserver/src/api/InkAPI.cc:3312,1
    - Dst: lookup
      Src: /src/trafficserver/src/api/InkAPI.cc:3316,1
    - Dst: load
      Src: /src/trafficserver/src/api/InkAPI.cc:3321,1
    - Dst: auto::value
      Src: /src/trafficserver/src/api/InkAPI.cc:3324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - var_name
    - result
    argTypes:
    - char*
    - TSMgmtCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3309
    functionDepth: 1
    functionLinenumber: 3309
    functionLinenumberEnd: 3328
    functionName: TSMgmtCounterGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - lookup
    - RecGetRecordCounter
    - auto::value
    - load
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtCounterGet(const char *var_name, TSMgmtCounter *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/api/InkAPI.cc:3334,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3334,1
    - Dst: auto::value
      Src: /src/trafficserver/src/api/InkAPI.cc:3336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - var_name
    - result
    argTypes:
    - char*
    - TSMgmtFloat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3340
    functionName: TSMgmtFloatGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - auto::value
    - RecGetRecordFloat
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtFloatGet(const char *var_name, TSMgmtFloat *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/api/InkAPI.cc:3345,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3345,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:3346,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPI.cc:3349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - var_name
    - result
    argTypes:
    - char*
    - TSMgmtString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3354
    functionName: TSMgmtStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - const_cast<char *>
    - ats_strdup
    - ats_as_c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtStringGet(const char *var_name, TSMgmtString *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordSource
      Src: /src/trafficserver/src/api/InkAPI.cc:3359,1
    - Dst: reinterpret_cast<RecSourceT *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - var_name
    - source
    argTypes:
    - char*
    - TSMgmtSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3356
    functionDepth: 1
    functionLinenumber: 3356
    functionLinenumberEnd: 3360
    functionName: TSMgmtSourceGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordSource
    - reinterpret_cast<RecSourceT *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtSourceGet(const char *var_name, TSMgmtSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordDataType
      Src: /src/trafficserver/src/api/InkAPI.cc:3365,1
    - Dst: reinterpret_cast<RecDataT *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - var_name
    - result
    argTypes:
    - char*
    - TSRecordDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3362
    functionDepth: 1
    functionLinenumber: 3362
    functionLinenumberEnd: 3366
    functionName: TSMgmtDataTypeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordDataType
    - reinterpret_cast<RecDataT *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtDataTypeGet(const char *var_name, TSRecordDataType
      *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3379,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkAPI.cc:3379,1
    - Dst: acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:3383,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/api/InkAPI.cc:3386,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPI.cc:3386,1
    - Dst: INKContInternal*::init
      Src: /src/trafficserver/src/api/InkAPI.cc:3388,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/src/api/InkAPI.cc:3389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - funcp
    - mutexp
    argTypes:
    - TSEventFunc
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3374
    functionDepth: 1
    functionLinenumber: 3374
    functionLinenumberEnd: 3390
    functionName: TSContCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 46
    functionsReached:
    - THREAD_ALLOC
    - sdk_assert
    - sdk_sanity_check_mutex
    - acquire
    - this_thread
    - INKContInternal*::init
    - reinterpret_cast<TSCont>
    linkageType: ''
    returnType: TSCont
    signature: TSCont TSContCreate(TSEventFunc funcp, TSMutex mutexp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3395,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3395,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3397,1
    - Dst: reinterpret_cast<PluginThreadContext *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3400,1
    - Dst: INKContInternal*::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:3403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3392
    functionDepth: 1
    functionLinenumber: 3392
    functionLinenumberEnd: 3404
    functionName: TSContDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 10
    functionsReached:
    - sdk_assert
    - reinterpret_cast<PluginThreadContext *>
    - reinterpret_cast<INKContInternal *>
    - INKContInternal*::destroy
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSContDestroy(TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3409,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3409,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3406
    functionDepth: 1
    functionLinenumber: 3406
    functionLinenumberEnd: 3414
    functionName: TSContDataSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 17
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<INKContInternal *>
    linkageType: ''
    returnType: void
    signature: void TSContDataSet(TSCont contp, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3419,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3419,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3424
    functionName: TSContDataGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 24
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<INKContInternal *>
    linkageType: ''
    returnType: void
    signature: 'void *

      TSContDataGet(TSCont contp)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3429,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3429,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3432,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3432,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3432,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3434,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3436,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3438,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3438,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3439,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3464,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3464,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3466,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/api/InkAPI.cc:3466,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3466,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3470,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:3470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - contp
    - timeout
    - tp
    argTypes:
    - TSCont
    - TSHRTime
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3472
    functionName: TSContScheduleOnPool
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 16
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<int *>
    - reinterpret_cast<TSAction>
    - schedule_in
    - sdk_assert
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<uintptr_t>
    - this_ethread
    - sdk_sanity_check_iocore_structure
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSContScheduleOnPool(TSCont contp, TSHRTime timeout, TSThreadPool
      tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3477,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3479,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3479,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3481,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3483,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3485,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3485,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3486,1
    - Dst: reinterpret_cast<EThread *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3489,1
    - Dst: INKContInternal*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3490,1
    - Dst: INKContInternal*::setThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3491,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3496,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3496,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3498,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/api/InkAPI.cc:3498,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3498,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3502,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:3502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - contp
    - timeout
    - ethread
    argTypes:
    - TSCont
    - TSHRTime
    - TSEventThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3474
    functionDepth: 1
    functionLinenumber: 3474
    functionLinenumberEnd: 3504
    functionName: TSContScheduleOnThread
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - INKContInternal*::getThreadAffinity
    - EThread*::schedule_in
    - ink_release_assert
    - reinterpret_cast<TSAction>
    - sdk_assert
    - INKContInternal*::setThreadAffinity
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<uintptr_t>
    - static_cast<int *>
    - reinterpret_cast<EThread *>
    - sdk_sanity_check_iocore_structure
    - EThread*::schedule_imm
    - ink_assert
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSContScheduleOnThread(TSCont contp, TSHRTime timeout, TSEventThread
      ethread)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3509,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3509,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3512,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3512,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3512,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3514,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3517,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3539,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3539,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3540,1
    - Dst: schedule_entire
      Src: /src/trafficserver/src/api/InkAPI.cc:3543,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - timeout
    - tp
    argTypes:
    - TSCont
    - TSHRTime
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3506
    functionDepth: 1
    functionLinenumber: 3506
    functionLinenumberEnd: 3544
    functionName: TSContScheduleOnEntirePool
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<int *>
    - sdk_assert
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - schedule_entire
    - reinterpret_cast<INKContInternal *>
    - this_ethread
    - sdk_sanity_check_iocore_structure
    - ink_assert
    linkageType: ''
    returnType: std::vector<TSAction>
    signature: std::vector<TSAction> TSContScheduleOnEntirePool(TSCont contp, TSHRTime
      timeout, TSThreadPool tp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3549,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3549,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3552,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3552,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3552,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3554,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3556,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3558,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3558,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3559,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3582,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/api/InkAPI.cc:3582,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3582,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3585,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:3585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - contp
    - every
    - tp
    argTypes:
    - TSCont
    - TSHRTime
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3546
    functionDepth: 1
    functionLinenumber: 3546
    functionLinenumberEnd: 3587
    functionName: TSContScheduleEveryOnPool
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<int *>
    - reinterpret_cast<TSAction>
    - sdk_assert
    - schedule_every
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<uintptr_t>
    - this_ethread
    - sdk_sanity_check_iocore_structure
    - ink_assert
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSContScheduleEveryOnPool(TSCont contp, TSHRTime every, TSThreadPool
      tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3592,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3594,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3594,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3596,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3598,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3600,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3600,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3601,1
    - Dst: reinterpret_cast<EThread *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3604,1
    - Dst: INKContInternal*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3605,1
    - Dst: INKContInternal*::setThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3606,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3609,1
    - Dst: EThread*::schedule_every
      Src: /src/trafficserver/src/api/InkAPI.cc:3609,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3609,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3612,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:3612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - every
    - ethread
    argTypes:
    - TSCont
    - TSHRTime
    - TSEventThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3589
    functionDepth: 1
    functionLinenumber: 3589
    functionLinenumberEnd: 3614
    functionName: TSContScheduleEveryOnThread
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - INKContInternal*::getThreadAffinity
    - ink_release_assert
    - reinterpret_cast<TSAction>
    - sdk_assert
    - INKContInternal*::setThreadAffinity
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<uintptr_t>
    - static_cast<int *>
    - reinterpret_cast<EThread *>
    - sdk_sanity_check_iocore_structure
    - EThread*::schedule_every
    - ink_assert
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSContScheduleEveryOnThread(TSCont contp, TSHRTime every,
      TSEventThread ethread)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3619,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3619,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3622,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3622,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3622,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3624,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3626,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3629,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3651,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3651,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3652,1
    - Dst: schedule_entire
      Src: /src/trafficserver/src/api/InkAPI.cc:3655,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - contp
    - every
    - tp
    argTypes:
    - TSCont
    - TSHRTime
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3656
    functionName: TSContScheduleEveryOnEntirePool
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<int *>
    - sdk_assert
    - HRTIME_MSECONDS
    - ink_atomic_increment
    - schedule_entire
    - reinterpret_cast<INKContInternal *>
    - this_ethread
    - sdk_sanity_check_iocore_structure
    - ink_assert
    linkageType: ''
    returnType: std::vector<TSAction>
    signature: std::vector<TSAction> TSContScheduleEveryOnEntirePool(TSCont contp,
      TSHRTime every, TSThreadPool tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3661,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3663,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3663,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3665,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3667,1
    - Dst: reinterpret_cast<EThread *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3668,1
    - Dst: INKContInternal*::setThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - contp
    - ethread
    argTypes:
    - TSCont
    - TSEventThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3658
    functionDepth: 1
    functionLinenumber: 3658
    functionLinenumberEnd: 3674
    functionName: TSContThreadAffinitySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - sdk_assert
    - INKContInternal*::setThreadAffinity
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<EThread *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSContThreadAffinitySet(TSCont contp, TSEventThread ethread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3679,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3679,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3681,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3683,1
    - Dst: reinterpret_cast<TSEventThread>
      Src: /src/trafficserver/src/api/InkAPI.cc:3685,1
    - Dst: INKContInternal*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3676
    functionDepth: 1
    functionLinenumber: 3676
    functionLinenumberEnd: 3686
    functionName: TSContThreadAffinityGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSEventThread>
    - sdk_assert
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - INKContInternal*::getThreadAffinity
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSEventThread
    signature: TSEventThread TSContThreadAffinityGet(TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3691,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3691,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3693,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3695,1
    - Dst: INKContInternal*::clearThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3688
    functionDepth: 1
    functionLinenumber: 3688
    functionLinenumberEnd: 3698
    functionName: TSContThreadAffinityClear
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - INKContInternal*::clearThreadAffinity
    - sdk_assert
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSContThreadAffinityClear(TSCont contp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3703,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3703,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:3705,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3707,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkAPI.cc:3709,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3710,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3714,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3715,1
    - Dst: HttpSM*::set_http_schedule
      Src: /src/trafficserver/src/api/InkAPI.cc:3717,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3720,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3720,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3722,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/api/InkAPI.cc:3722,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/api/InkAPI.cc:3722,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:3725,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:3725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - contp
    - txnp
    - timeout
    argTypes:
    - TSCont
    - TSHttpTxn
    - TSHRTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3727
    functionName: TSHttpSchedule
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - schedule_in
    - sdk_assert
    - HRTIME_MSECONDS
    - HttpSM*::set_http_schedule
    - ink_atomic_increment
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<HttpSM *>
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<Continuation *>
    - sdk_sanity_check_iocore_structure
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSHttpSchedule(TSCont contp, TSHttpTxn txnp, TSHRTime timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3732,1
    - Dst: WEAK_MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:3733,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3733,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/InkAPI.cc:3734,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3736,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/api/InkAPI.cc:3738,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:3738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3729
    functionDepth: 1
    functionLinenumber: 3729
    functionLinenumberEnd: 3739
    functionName: TSContCall
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - is_locked
    - ink_release_assert
    - Continuation*::handleEvent
    - this_ethread
    - WEAK_MUTEX_TRY_LOCK
    - reinterpret_cast<Continuation *>
    linkageType: ''
    returnType: int
    signature: int TSContCall(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3744,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:3744,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3746,1
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkAPI.cc:3747,1
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/api/InkAPI.cc:3747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3748
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3748
    functionName: TSContMutexGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - Continuation*::mutex::get
    - reinterpret_cast<TSMutex>
    - reinterpret_cast<Continuation *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex TSContMutexGet(TSCont contp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3756,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:3756,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3757,1
    - Dst: sdk_sanity_check_hook_id
      Src: /src/trafficserver/src/api/InkAPI.cc:3757,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3759,1
    - Dst: TSSslHookInternalID::is_in_bounds
      Src: /src/trafficserver/src/api/InkAPI.cc:3762,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/api/InkAPI.cc:3763,1
    - Dst: append
      Src: /src/trafficserver/src/api/InkAPI.cc:3765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - id
    - contp
    argTypes:
    - TSHttpHookID
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3767
      start: 3752
    functionDepth: 2
    functionLinenumber: 3752
    functionLinenumberEnd: 3767
    functionName: TSHttpHookAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 21
    functionsReached:
    - sdk_sanity_check_hook_id
    - sdk_assert
    - TSSslHookInternalID::is_in_bounds
    - SSLAPIHooks::instance
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - append
    linkageType: ''
    returnType: void
    signature: void TSHttpHookAdd(TSHttpHookID id, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3772,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:3772,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3773,1
    - Dst: sdk_sanity_check_lifecycle_hook_id
      Src: /src/trafficserver/src/api/InkAPI.cc:3773,1
    - Dst: append
      Src: /src/trafficserver/src/api/InkAPI.cc:3775,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - contp
    argTypes:
    - TSLifecycleHookID
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3769
    functionDepth: 2
    functionLinenumber: 3769
    functionLinenumberEnd: 3776
    functionName: TSLifecycleHookAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 8
    functionsReached:
    - sdk_sanity_check_lifecycle_hook_id
    - sdk_assert
    - reinterpret_cast<INKContInternal *>
    - append
    - sdk_sanity_check_continuation
    linkageType: ''
    returnType: void
    signature: void TSLifecycleHookAdd(TSLifecycleHookID id, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3782,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:3782,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3783,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:3783,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3784,1
    - Dst: sdk_sanity_check_hook_id
      Src: /src/trafficserver/src/api/InkAPI.cc:3784,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3786,1
    - Dst: ProxySession*::hook_add
      Src: /src/trafficserver/src/api/InkAPI.cc:3787,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ssnp
    - id
    - contp
    argTypes:
    - TSHttpSsn
    - TSHttpHookID
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3779
    functionDepth: 2
    functionLinenumber: 3779
    functionLinenumberEnd: 3788
    functionName: TSHttpSsnHookAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_sanity_check_hook_id
    - sdk_sanity_check_http_ssn
    - sdk_assert
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - reinterpret_cast<ProxySession *>
    - ProxySession*::hook_add
    linkageType: ''
    returnType: void
    signature: void TSHttpSsnHookAdd(TSHttpSsn ssnp, TSHttpHookID id, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3793,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:3793,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3795,1
    - Dst: ProxySession*::get_transact_count
      Src: /src/trafficserver/src/api/InkAPI.cc:3796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3797
    functionName: TSHttpSsnTransactionCount
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ProxySession*::get_transact_count
    - reinterpret_cast<ProxySession *>
    - sdk_sanity_check_http_ssn
    linkageType: ''
    returnType: int
    signature: int TSHttpSsnTransactionCount(TSHttpSsn ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3802,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:3803,1
    - Dst: ProxySession*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:3803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3804
    functionName: TSHttpSsnClientVConnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - ProxySession*::get_netvc
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpSsnClientVConnGet(TSHttpSsn ssnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PoolableSession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3809,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:3811,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:3811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3814
      start: 3806
    functionDepth: 0
    functionLinenumber: 3806
    functionLinenumberEnd: 3814
    functionName: TSHttpSsnServerVConnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - PoolableSession*::get_netvc
    - reinterpret_cast<TSVConn>
    - reinterpret_cast<PoolableSession *>
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpSsnServerVConnGet(TSHttpSsn ssnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3820,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3820,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3821,1
    - Dst: HttpSM*::get_server_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3823,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:3825,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:3825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3816
    functionDepth: 1
    functionLinenumber: 3816
    functionLinenumberEnd: 3829
    functionName: TSHttpTxnServerVConnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - HttpSM*::get_server_txn
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - ProxyTransaction*::get_netvc
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpTxnServerVConnGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkAPI.cc:3836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cs
    - m
    - event
    argTypes:
    - ProxySession*
    - Ptr<ProxyMutex>
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3834
    functionDepth: 1
    functionLinenumber: 3834
    functionLinenumberEnd: 3837
    functionName: TSHttpSsnCallback::TSHttpSsnCallback
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void TSHttpSsnCallback(ProxySession *cs, Ptr<ProxyMutex> m, TSEvent
      event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3846,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:3847,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/InkAPI.cc:3848,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3849,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/api/InkAPI.cc:3851,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:3851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3839
    functionDepth: 1
    functionLinenumber: 3839
    functionLinenumberEnd: 3855
    functionName: TSHttpSsnCallback::event_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - static_cast<int>
    - is_locked
    - this_ethread
    - MUTEX_TRY_LOCK
    - EThread*::schedule_imm
    linkageType: ''
    returnType: int
    signature: int event_handler(int, void *)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3865,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:3865,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3867,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:3868,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/api/InkAPI.cc:3873,1
    - Dst: ProxySession*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3874,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/api/InkAPI.cc:3875,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/api/InkAPI.cc:3876,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3877,1
    - Dst: TSHttpSsnCallback::TSHttpSsnCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:3877,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3879,1
    - Dst: TSHttpSsnCallback::TSHttpSsnCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:3879,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:3882,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/InkAPI.cc:3883,1
    - Dst: ProxySession*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:3884,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/api/InkAPI.cc:3885,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/api/InkAPI.cc:3886,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3887,1
    - Dst: TSHttpSsnCallback::TSHttpSsnCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:3887,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:3889,1
    - Dst: TSHttpSsnCallback::TSHttpSsnCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:3889,1
    - Dst: ProxySession*::handleEvent
      Src: /src/trafficserver/src/api/InkAPI.cc:3892,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:3892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ssnp
    - event
    argTypes:
    - TSHttpSsn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3862
    functionDepth: 2
    functionLinenumber: 3862
    functionLinenumberEnd: 3895
    functionName: TSHttpSsnReenable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 15
    functionsReached:
    - static_cast<int>
    - is_locked
    - EThread*::is_event_type
    - get_NetHandler
    - ProxySession*::getThreadAffinity
    - sdk_sanity_check_http_ssn
    - sdk_assert
    - ProxySession*::handleEvent
    - TSHttpSsnCallback::TSHttpSsnCallback
    - MUTEX_TRY_LOCK
    - EThread*::schedule_imm
    - this_ethread
    - schedule_imm
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: void
    signature: void TSHttpSsnReenable(TSHttpSsn ssnp, TSEvent event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3901,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3901,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3902,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:3902,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3903,1
    - Dst: sdk_sanity_check_hook_id
      Src: /src/trafficserver/src/api/InkAPI.cc:3903,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3905,1
    - Dst: HttpSM*::txn_hook_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3906,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3910,1
    - Dst: HttpSM*::txn_hook_add
      Src: /src/trafficserver/src/api/InkAPI.cc:3915,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - id
    - contp
    argTypes:
    - TSHttpTxn
    - TSHttpHookID
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3898
    functionDepth: 2
    functionLinenumber: 3898
    functionLinenumberEnd: 3916
    functionName: TSHttpTxnHookAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 12
    functionsReached:
    - sdk_sanity_check_hook_id
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - HttpSM*::txn_hook_add
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - sdk_sanity_check_txn
    - HttpSM*::txn_hook_get
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnHookAdd(TSHttpTxn txnp, TSHttpHookID id, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3921,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3921,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3923,1
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/src/api/InkAPI.cc:3924,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3924,1
    - Dst: reinterpret_cast<TSHttpSsn>
      Src: /src/trafficserver/src/api/InkAPI.cc:3924,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3918
    functionDepth: 1
    functionLinenumber: 3918
    functionLinenumberEnd: 3925
    functionName: TSHttpTxnSsnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 9
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TSHttpSsn>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    linkageType: ''
    returnType: TSHttpSsn
    signature: TSHttpSsn TSHttpTxnSsnGet(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3930,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3930,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3931,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3931,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3932,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3932,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3934,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:3937,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:3938,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:3939,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:3940,1
    - Dst: HTTPHdr*::mark_target_dirty
      Src: /src/trafficserver/src/api/InkAPI.cc:3941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3927
    functionDepth: 1
    functionLinenumber: 3927
    functionLinenumberEnd: 3947
    functionName: TSHttpTxnClientReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    - HTTPHdr*::mark_target_dirty
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientReqGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3953,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3953,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3954,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3954,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3955,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3955,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3957,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:3960,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:3961,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:3962,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:3964,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:3966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - txnp
    - bufp
    - url_loc
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3950
    functionDepth: 1
    functionLinenumber: 3950
    functionLinenumberEnd: 3974
    functionName: TSHttpTxnPristineUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnPristineUrlGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *url_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3979,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3979,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 3984
    functionName: TSHttpTxnServerSsnTransactionCount
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnServerSsnTransactionCount(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3992,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:3992,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:3993,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:3993,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:3995,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::url_string_get
      Src: /src/trafficserver/src/api/InkAPI.cc:3996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txnp
    - length
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3989
    functionDepth: 1
    functionLinenumber: 3989
    functionLinenumberEnd: 3997
    functionName: TSHttpTxnEffectiveUrlStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::hdr_info::client_request::url_string_get
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnEffectiveUrlStringGet(TSHttpTxn txnp, int *length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4002,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4002,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4003,1
    - Dst: sdk_sanity_check_http_hdr_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:4003,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4005,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4005,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4007,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4007,1
    - Dst: reinterpret_cast<HTTPHdr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4009,1
    - Dst: reinterpret_cast<HTTPHdrImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4010,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:4013,1
    - Dst: auto::url_printed_length
      Src: /src/trafficserver/src/api/InkAPI.cc:4017,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4019,1
    - Dst: auto::url_print
      Src: /src/trafficserver/src/api/InkAPI.cc:4030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - hdr_buf
    - hdr_loc
    - buf
    - size
    - length
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 3999
    functionDepth: 1
    functionLinenumber: 3999
    functionLinenumberEnd: 4034
    functionName: TSHttpHdrEffectiveUrlBufGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HTTPHdr *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdrImpl *>
    - auto::url_printed_length
    - Dbg
    - sdk_sanity_check_http_hdr_handle
    - auto::url_print
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpHdrEffectiveUrlBufGet(TSMBuffer hdr_buf, TSMLoc
      hdr_loc, char *buf, int64_t size, int64_t *length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4039,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4039,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4040,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4040,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4041,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4041,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4043,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4046,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4047,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4048,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4049,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4054
      start: 4036
    functionDepth: 1
    functionLinenumber: 4036
    functionLinenumberEnd: 4054
    functionName: TSHttpTxnClientRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientRespGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4059,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4059,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4060,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4060,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4061,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4061,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4063,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4066,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4067,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4068,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4069,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4056
    functionDepth: 1
    functionLinenumber: 4056
    functionLinenumberEnd: 4074
    functionName: TSHttpTxnServerReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerReqGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4079,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4079,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4080,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4080,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4081,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4081,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4083,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4086,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4087,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4088,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4089,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4076
    functionDepth: 1
    functionLinenumber: 4076
    functionLinenumberEnd: 4094
    functionName: TSHttpTxnServerRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerRespGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4099,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4099,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4100,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4100,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4101,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4101,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4103,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4109,1
    - Dst: HttpSM*::t_state::cache_info::object_read::request_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4113,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4115,1
    - Dst: static_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4123,1
    - Dst: HttpSM*::t_state::arena::alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:4123,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4127,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4128,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4129,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4096
    functionDepth: 1
    functionLinenumber: 4096
    functionLinenumberEnd: 4132
    functionName: TSHttpTxnCachedReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<HdrHeapSDKHandle **>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - HttpSM*::t_state::arena::alloc
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - HttpSM*::t_state::cache_info::object_read::request_get
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCachedReqGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4137,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4137,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4138,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4138,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4139,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4139,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4141,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4147,1
    - Dst: HttpSM*::t_state::cache_info::object_read::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4151,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4153,1
    - Dst: static_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4161,1
    - Dst: HttpSM*::t_state::arena::alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:4161,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4166,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4167,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4168,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4134
    functionDepth: 1
    functionLinenumber: 4134
    functionLinenumberEnd: 4171
    functionName: TSHttpTxnCachedRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<HdrHeapSDKHandle *>
    - reinterpret_cast<HdrHeapSDKHandle **>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HttpSM*::t_state::cache_info::object_read::response_get
    - HTTPHdr*::valid
    - HttpSM*::t_state::arena::alloc
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCachedRespGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4176,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4176,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4177,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4177,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4178,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4178,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4180,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4186,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4190,1
    - Dst: HTTPInfo*::create
      Src: /src/trafficserver/src/api/InkAPI.cc:4191,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4194,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4195,1
    - Dst: HTTPInfo*::response_set
      Src: /src/trafficserver/src/api/InkAPI.cc:4196,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4196,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4198,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4201,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4201,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4202,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4203,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4204,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4173
    functionDepth: 1
    functionLinenumber: 4173
    functionLinenumberEnd: 4207
    functionName: TSHttpTxnCachedRespModifiableGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPInfo*::create
    - HTTPHdr*::valid
    - HTTPInfo*::response_get
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - reinterpret_cast<HTTPHdr **>
    - HTTPInfo*::response_set
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCachedRespModifiableGet(TSHttpTxn txnp, TSMBuffer
      *bufp, TSMLoc *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4212,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4212,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4213,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4213,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - txnp
    - lookup_status
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4237
      start: 4209
    functionDepth: 1
    functionLinenumber: 4209
    functionLinenumberEnd: 4237
    functionName: TSHttpTxnCacheLookupStatusGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCacheLookupStatusGet(TSHttpTxn txnp, int *lookup_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4242,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4242,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4243,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4243,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - txnp
    - lookup_count
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4248
      start: 4239
    functionDepth: 1
    functionLinenumber: 4239
    functionLinenumberEnd: 4248
    functionName: TSHttpTxnCacheLookupCountGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCacheLookupCountGet(TSHttpTxn txnp, int *lookup_count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4257,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4257,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4259,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - txnp
    - cachelookup
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4254
    functionDepth: 1
    functionLinenumber: 4254
    functionLinenumberEnd: 4289
    functionName: TSHttpTxnCacheLookupStatusSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - ink_assert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCacheLookupStatusSet(TSHttpTxn txnp, int cachelookup)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4294,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4294,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4295,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4295,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4297,1
    - Dst: HttpSM*::get_cache_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:4298,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4302,1
    - Dst: HttpCacheSM*::is_ram_cache_hit
      Src: /src/trafficserver/src/api/InkAPI.cc:4302,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4305,1
    - Dst: HttpCacheSM*::is_compressed_in_ram
      Src: /src/trafficserver/src/api/InkAPI.cc:4305,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4308,1
    - Dst: HttpCacheSM*::is_readwhilewrite_inprogress
      Src: /src/trafficserver/src/api/InkAPI.cc:4308,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4311,1
    - Dst: HttpCacheSM*::get_open_read_tries
      Src: /src/trafficserver/src/api/InkAPI.cc:4311,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4314,1
    - Dst: HttpCacheSM*::get_open_write_tries
      Src: /src/trafficserver/src/api/InkAPI.cc:4314,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:4317,1
    - Dst: HttpCacheSM*::get_volume_number
      Src: /src/trafficserver/src/api/InkAPI.cc:4317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - txnp
    - key
    - value
    argTypes:
    - TSHttpTxn
    - TSHttpTxnInfoKey
    - TSMgmtInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4291
    functionDepth: 1
    functionLinenumber: 4291
    functionLinenumberEnd: 4324
    functionName: TSHttpTxnInfoIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - HttpCacheSM*::get_open_read_tries
    - HttpCacheSM*::get_open_write_tries
    - HttpCacheSM*::get_volume_number
    - sdk_assert
    - static_cast<TSMgmtInt>
    - HttpCacheSM*::is_ram_cache_hit
    - reinterpret_cast<HttpSM *>
    - HttpCacheSM*::is_compressed_in_ram
    - HttpCacheSM*::is_readwhilewrite_inprogress
    - sdk_sanity_check_txn
    - HttpSM*::get_cache_sm
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnInfoIntGet(TSHttpTxn txnp, TSHttpTxnInfoKey key,
      TSMgmtInt *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4329,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:4329,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4330,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4330,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4332,1
    - Dst: ProxySession*::get_transact_count
      Src: /src/trafficserver/src/api/InkAPI.cc:4336,1
    - Dst: ProxySession*::is_protocol_framed
      Src: /src/trafficserver/src/api/InkAPI.cc:4339,1
    - Dst: ProxySession*::get_received_frame_count
      Src: /src/trafficserver/src/api/InkAPI.cc:4342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ssnp
    - key
    - value
    - sub_key
    argTypes:
    - TSHttpSsn
    - TSHttpSsnInfoKey
    - TSMgmtInt*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4326
    functionDepth: 1
    functionLinenumber: 4326
    functionLinenumberEnd: 4349
    functionName: TSHttpSsnInfoIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_sanity_check_http_ssn
    - sdk_assert
    - ProxySession*::get_received_frame_count
    - ProxySession*::get_transact_count
    - ProxySession*::is_protocol_framed
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpSsnInfoIntGet(TSHttpSsn ssnp, TSHttpSsnInfoKey key,
      TSMgmtInt *value, uint64_t sub_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4354,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4354,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4351
    functionDepth: 1
    functionLinenumber: 4351
    functionLinenumberEnd: 4358
    functionName: TSHttpTxnIsWebsocket
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnIsWebsocket(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4363,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4363,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4365,1
    - Dst: HttpSM*::get_cache_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:4368,1
    - Dst: HttpCacheSM*::get_disk_path
      Src: /src/trafficserver/src/api/InkAPI.cc:4369,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:4372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - length
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4376
      start: 4360
    functionDepth: 1
    functionLinenumber: 4360
    functionLinenumberEnd: 4376
    functionName: TSHttpTxnCacheDiskPathGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - HttpCacheSM*::get_disk_path
    - strlen
    - sdk_sanity_check_txn
    - HttpSM*::get_cache_sm
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnCacheDiskPathGet(TSHttpTxn txnp, int *length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4381,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4381,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4382,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4382,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4383,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:4383,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4385,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:4386,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4388,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4389,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4390,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4395,1
    - Dst: URL::copy
      Src: /src/trafficserver/src/api/InkAPI.cc:4396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4401
      start: 4378
    functionDepth: 1
    functionLinenumber: 4378
    functionLinenumberEnd: 4401
    functionName: TSHttpTxnCacheLookupUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::copy
    - URL::valid
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - reinterpret_cast<URLImpl *>
    - valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCacheLookupUrlGet(TSHttpTxn txnp, TSMBuffer bufp,
      TSMLoc obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4406,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4406,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4407,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4407,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4408,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:4408,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4410,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:4411,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4413,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4414,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4415,1
    - Dst: HttpSM*::t_state::cache_info::lookup_url_storage::create
      Src: /src/trafficserver/src/api/InkAPI.cc:4421,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4426,1
    - Dst: copy
      Src: /src/trafficserver/src/api/InkAPI.cc:4429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4403
    functionDepth: 1
    functionLinenumber: 4403
    functionLinenumberEnd: 4433
    functionName: TSHttpTxnCacheLookupUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::valid
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - copy
    - reinterpret_cast<HttpSM *>
    - reinterpret_cast<URLImpl *>
    - valid
    - sdk_sanity_check_txn
    - HttpSM*::t_state::cache_info::lookup_url_storage::create
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCacheLookupUrlSet(TSHttpTxn txnp, TSMBuffer bufp,
      TSMLoc obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4442,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4442,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - timeout
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4439
    functionDepth: 1
    functionLinenumber: 4439
    functionLinenumberEnd: 4446
    functionName: TSHttpTxnActiveTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnActiveTimeoutSet(TSHttpTxn txnp, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4455,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4455,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - timeout
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4459
      start: 4452
    functionDepth: 1
    functionLinenumber: 4452
    functionLinenumberEnd: 4459
    functionName: TSHttpTxnConnectTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnConnectTimeoutSet(TSHttpTxn txnp, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4468,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4468,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - timeout
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4465
    functionDepth: 1
    functionLinenumber: 4465
    functionLinenumberEnd: 4473
    functionName: TSHttpTxnDNSTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnDNSTimeoutSet(TSHttpTxn txnp, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4482,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4482,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - timeout
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4479
    functionDepth: 1
    functionLinenumber: 4479
    functionLinenumberEnd: 4486
    functionName: TSHttpTxnNoActivityTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnNoActivityTimeoutSet(TSHttpTxn txnp, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4491,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4491,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txnp
    - flag
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4488
    functionDepth: 1
    functionLinenumber: 4488
    functionLinenumberEnd: 4497
    functionName: TSHttpTxnServerRespNoStoreSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerRespNoStoreSet(TSHttpTxn txnp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4502,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4502,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4499
    functionDepth: 1
    functionLinenumber: 4499
    functionLinenumberEnd: 4506
    functionName: TSHttpTxnServerRespNoStoreGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: bool
    signature: bool TSHttpTxnServerRespNoStoreGet(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4511,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4511,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4513,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4517,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4521,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4529
      start: 4508
    functionDepth: 1
    functionLinenumber: 4508
    functionLinenumberEnd: 4529
    functionName: TSHttpTxnServerRespIgnore
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - HTTPHdr*::valid
    - HTTPInfo*::response_get
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerRespIgnore(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4534,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4534,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - event
    argTypes:
    - TSHttpTxn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4544
    functionName: TSHttpTxnShutDown
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnShutDown(TSHttpTxn txnp, TSEvent event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4549,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4549,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4550,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - txnp
    - client_abort
    argTypes:
    - TSHttpTxn
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4546
    functionDepth: 1
    functionLinenumber: 4546
    functionLinenumberEnd: 4571
    functionName: TSHttpTxnAborted
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4576,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4576,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - flag
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4573
    functionDepth: 1
    functionLinenumber: 4573
    functionLinenumberEnd: 4580
    functionName: TSHttpTxnReqCacheableSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnReqCacheableSet(TSHttpTxn txnp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4585,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4585,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - flag
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4582
    functionDepth: 1
    functionLinenumber: 4582
    functionLinenumberEnd: 4589
    functionName: TSHttpTxnRespCacheableSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnRespCacheableSet(TSHttpTxn txnp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4594,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4594,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4591
    functionDepth: 1
    functionLinenumber: 4591
    functionLinenumberEnd: 4598
    functionName: TSHttpTxnClientReqIsServerStyle
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnClientReqIsServerStyle(TSHttpTxn txnp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4603,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4603,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4605,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4610,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4610,1
    - Dst: HTTPInfo*::request_get
      Src: /src/trafficserver/src/api/InkAPI.cc:4614,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4624
      start: 4600
    functionDepth: 1
    functionLinenumber: 4600
    functionLinenumberEnd: 4624
    functionName: TSHttpTxnUpdateCachedObject
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - HTTPHdr*::valid
    - HTTPInfo*::request_get
    - HTTPInfo*::response_get
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnUpdateCachedObject(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4629,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4629,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4631,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4634,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:4635,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:4636,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4626
    functionDepth: 1
    functionLinenumber: 4626
    functionLinenumberEnd: 4641
    functionName: TSHttpTxnTransformRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnTransformRespGet(TSHttpTxn txnp, TSMBuffer *bufp,
      TSMLoc *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4646,1
    - Dst: ProxySession*::get_remote_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:4651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4643
    functionDepth: 0
    functionLinenumber: 4643
    functionLinenumberEnd: 4652
    functionName: TSHttpSsnClientAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ProxySession*::get_remote_addr
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpSsnClientAddrGet(TSHttpSsn ssnp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4656,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4656,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/src/api/InkAPI.cc:4658,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/src/api/InkAPI.cc:4659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4653
    functionDepth: 2
    functionLinenumber: 4653
    functionLinenumberEnd: 4660
    functionName: TSHttpTxnClientAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - TSHttpSsnClientAddrGet
    - sdk_sanity_check_txn
    - TSHttpTxnSsnGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpTxnClientAddrGet(TSHttpTxn txnp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4665,1
    - Dst: ProxySession*::get_local_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:4670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4671
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4671
    functionName: TSHttpSsnIncomingAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ProxySession *>
    - ProxySession*::get_local_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpSsnIncomingAddrGet(TSHttpSsn ssnp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4675,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4675,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/src/api/InkAPI.cc:4677,1
    - Dst: TSHttpSsnIncomingAddrGet
      Src: /src/trafficserver/src/api/InkAPI.cc:4678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4672
    functionDepth: 2
    functionLinenumber: 4672
    functionLinenumberEnd: 4679
    functionName: TSHttpTxnIncomingAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_txn
    - TSHttpTxnSsnGet
    - TSHttpSsnIncomingAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpTxnIncomingAddrGet(TSHttpTxn txnp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4684,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4684,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4686,1
    - Dst: HttpSM*::get_server_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4690,1
    - Dst: HttpSM*::get_server_vc
      Src: /src/trafficserver/src/api/InkAPI.cc:4692,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:4694,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:4697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4681
    functionDepth: 1
    functionLinenumber: 4681
    functionLinenumberEnd: 4700
    functionName: TSHttpTxnOutgoingAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::get_server_txn
    - NetVConnection*::get_local_addr
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - HttpSM*::get_server_vc
    - ProxyTransaction*::get_netvc
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpTxnOutgoingAddrGet(TSHttpTxn txnp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4705,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4705,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4709
      start: 4702
    functionDepth: 1
    functionLinenumber: 4702
    functionLinenumberEnd: 4709
    functionName: TSHttpTxnServerAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpTxnServerAddrGet(TSHttpTxn txnp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4714,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4714,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4716,1
    - Dst: HttpSM*::t_state::dns_info::set_upstream_address
      Src: /src/trafficserver/src/api/InkAPI.cc:4717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - addr
    argTypes:
    - TSHttpTxn
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4711
    functionDepth: 1
    functionLinenumber: 4711
    functionLinenumberEnd: 4722
    functionName: TSHttpTxnServerAddrSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::t_state::dns_info::set_upstream_address
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerAddrSet(TSHttpTxn txnp, struct sockaddr
      const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4727,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4727,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4729,1
    - Dst: HttpSM*::t_state::client_info::dst_addr::network_order_port
      Src: /src/trafficserver/src/api/InkAPI.cc:4730,1
    - Dst: htons
      Src: /src/trafficserver/src/api/InkAPI.cc:4730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - port
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4731
      start: 4724
    functionDepth: 1
    functionLinenumber: 4724
    functionLinenumberEnd: 4731
    functionName: TSHttpTxnClientIncomingPortSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::t_state::client_info::dst_addr::network_order_port
    - htons
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnClientIncomingPortSet(TSHttpTxn txnp, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4738,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4738,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4739,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4741,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/api/InkAPI.cc:4741,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4742,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/api/InkAPI.cc:4742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - txnp
    - addr
    argTypes:
    - TSHttpTxn
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4744
    functionName: TSHttpTxnOutgoingAddrSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - ats_ip_port_host_order
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnOutgoingAddrSet(TSHttpTxn txnp, const struct
      sockaddr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4749,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4749,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4746
    functionDepth: 1
    functionLinenumber: 4746
    functionLinenumberEnd: 4761
    functionName: TSHttpTxnNextHopAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHttpTxnNextHopAddrGet(TSHttpTxn txnp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4766,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4766,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4778
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4778
    functionName: TSHttpTxnNextHopNameGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnNextHopNameGet(TSHttpTxn txnp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4783,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4783,1
    - Dst: reinterpret_cast<HttpSM const *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4784,1
    - Dst: auto::t_state::current::server::dst_addr::host_order_port
      Src: /src/trafficserver/src/api/InkAPI.cc:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4792
      start: 4780
    functionDepth: 1
    functionLinenumber: 4780
    functionLinenumberEnd: 4792
    functionName: TSHttpTxnNextHopPortGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - auto::t_state::current::server::dst_addr::host_order_port
    - sdk_sanity_check_txn
    - reinterpret_cast<HttpSM const *>
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnNextHopPortGet(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4797,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4801,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4802,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - txnp
    - flag
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4794
    functionDepth: 1
    functionLinenumber: 4794
    functionLinenumberEnd: 4808
    functionName: TSHttpTxnOutgoingTransparencySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnOutgoingTransparencySet(TSHttpTxn txnp, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4813,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4813,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4814,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4815,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4819,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:4824,1
    - Dst: NetVConnection*::apply_options
      Src: /src/trafficserver/src/api/InkAPI.cc:4825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - txnp
    - mark
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4810
    functionDepth: 1
    functionLinenumber: 4810
    functionLinenumberEnd: 4827
    functionName: TSHttpTxnClientPacketMarkSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - static_cast<uint32_t>
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    - NetVConnection*::apply_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientPacketMarkSet(TSHttpTxn txnp, int mark)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4832,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4832,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4833,1
    - Dst: HttpSM*::get_server_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4836,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:4838,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:4840,1
    - Dst: NetVConnection*::apply_options
      Src: /src/trafficserver/src/api/InkAPI.cc:4841,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/api/InkAPI.cc:4846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - mark
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4829
    functionDepth: 1
    functionLinenumber: 4829
    functionLinenumberEnd: 4848
    functionName: TSHttpTxnServerPacketMarkSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::get_server_txn
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - TSHttpTxnConfigIntSet
    - static_cast<uint32_t>
    - ProxyTransaction*::get_netvc
    - sdk_sanity_check_txn
    - NetVConnection*::apply_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerPacketMarkSet(TSHttpTxn txnp, int mark)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4853,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4853,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4854,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4855,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4859,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:4864,1
    - Dst: NetVConnection*::apply_options
      Src: /src/trafficserver/src/api/InkAPI.cc:4865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - txnp
    - dscp
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4867
      start: 4850
    functionDepth: 1
    functionLinenumber: 4850
    functionLinenumberEnd: 4867
    functionName: TSHttpTxnClientPacketDscpSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - static_cast<uint32_t>
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    - NetVConnection*::apply_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientPacketDscpSet(TSHttpTxn txnp, int dscp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4872,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4872,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4873,1
    - Dst: HttpSM*::get_server_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4876,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:4878,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:4880,1
    - Dst: NetVConnection*::apply_options
      Src: /src/trafficserver/src/api/InkAPI.cc:4881,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/api/InkAPI.cc:4886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - dscp
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4888
      start: 4869
    functionDepth: 1
    functionLinenumber: 4869
    functionLinenumberEnd: 4888
    functionName: TSHttpTxnServerPacketDscpSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::get_server_txn
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - TSHttpTxnConfigIntSet
    - static_cast<uint32_t>
    - ProxyTransaction*::get_netvc
    - sdk_sanity_check_txn
    - NetVConnection*::apply_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerPacketDscpSet(TSHttpTxn txnp, int dscp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4894,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4894,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4896,1
    - Dst: HttpTransact::State*::free_internal_msg_buffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4900,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:4901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - txnp
    - buf
    - buflength
    - mimetype
    argTypes:
    - TSHttpTxn
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4891
    functionDepth: 1
    functionLinenumber: 4891
    functionLinenumberEnd: 4908
    functionName: TSHttpTxnErrorBodySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - ats_free
    - sdk_assert
    - HttpTransact::State*::free_internal_msg_buffer
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnErrorBodySet(TSHttpTxn txnp, char *buf, size_t buflength,
      char *mimetype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4913,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4913,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - txnp
    - buflength
    - mimetype
    argTypes:
    - TSHttpTxn
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4927
      start: 4910
    functionDepth: 1
    functionLinenumber: 4910
    functionLinenumberEnd: 4927
    functionName: TSHttpTxnErrorBodyGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnErrorBodyGet(TSHttpTxn txnp, size_t *buflength, char **mimetype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4932,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4932,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4934,1
    - Dst: HttpTransact::State*::free_internal_msg_buffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - txnp
    - buf
    - buflength
    argTypes:
    - TSHttpTxn
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4950
      start: 4929
    functionDepth: 1
    functionLinenumber: 4929
    functionLinenumberEnd: 4950
    functionName: TSHttpTxnServerRequestBodySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpTransact::State*::free_internal_msg_buffer
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnServerRequestBodySet(TSHttpTxn txnp, char *buf, int64_t
      buflength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4955,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4955,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - txnp
    - hostname
    - port
    argTypes:
    - TSHttpTxn
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4952
    functionDepth: 1
    functionLinenumber: 4952
    functionLinenumberEnd: 4963
    functionName: TSHttpTxnParentProxyGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnParentProxyGet(TSHttpTxn txnp, const char **hostname,
      int *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4968,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4968,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4969,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:4969,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4970,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4972,1
    - Dst: HttpSM*::t_state::arena::str_store
      Src: /src/trafficserver/src/api/InkAPI.cc:4974,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:4974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - txnp
    - hostname
    - port
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4976
      start: 4965
    functionDepth: 1
    functionLinenumber: 4965
    functionLinenumberEnd: 4976
    functionName: TSHttpTxnParentProxySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - HttpSM*::t_state::arena::str_store
    - reinterpret_cast<HttpSM *>
    - strlen
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnParentProxySet(TSHttpTxn txnp, const char *hostname,
      int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4981,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:4981,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4982,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:4982,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:4983,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:4983,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4985,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:4986,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4988,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:4989,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4990,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:4995,1
    - Dst: URL::copy
      Src: /src/trafficserver/src/api/InkAPI.cc:4996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5001
      start: 4978
    functionDepth: 1
    functionLinenumber: 4978
    functionLinenumberEnd: 5001
    functionName: TSHttpTxnParentSelectionUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::copy
    - URL::valid
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - reinterpret_cast<URLImpl *>
    - valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnParentSelectionUrlGet(TSHttpTxn txnp, TSMBuffer
      bufp, TSMLoc obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5006,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5006,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5007,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:5007,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5008,1
    - Dst: sdk_sanity_check_url_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:5008,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5010,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:5011,1
    - Dst: reinterpret_cast<HdrHeapSDKHandle *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5013,1
    - Dst: reinterpret_cast<URLImpl *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5014,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:5015,1
    - Dst: HttpSM*::t_state::cache_info::parent_selection_url_storage::create
      Src: /src/trafficserver/src/api/InkAPI.cc:5021,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:5026,1
    - Dst: copy
      Src: /src/trafficserver/src/api/InkAPI.cc:5029,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:5032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5036
      start: 5003
    functionDepth: 1
    functionLinenumber: 5003
    functionLinenumberEnd: 5036
    functionName: TSHttpTxnParentSelectionUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::valid
    - HttpSM*::t_state::cache_info::parent_selection_url_storage::create
    - URL::URL
    - sdk_sanity_check_url_handle
    - reinterpret_cast<HdrHeapSDKHandle *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - copy
    - reinterpret_cast<HttpSM *>
    - Dbg
    - reinterpret_cast<URLImpl *>
    - valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnParentSelectionUrlSet(TSHttpTxn txnp, TSMBuffer
      bufp, TSMLoc obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5041,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5041,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - 'on'
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5045
      start: 5038
    functionDepth: 1
    functionLinenumber: 5038
    functionLinenumberEnd: 5045
    functionName: TSHttpTxnUntransformedRespCache
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnUntransformedRespCache(TSHttpTxn txnp, int on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5050,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5050,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - 'on'
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5047
    functionDepth: 1
    functionLinenumber: 5047
    functionLinenumberEnd: 5054
    functionName: TSHttpTxnTransformedRespCache
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnTransformedRespCache(TSHttpTxn txnp, int on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkAPI.cc:5061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - event
    argTypes:
    - HttpSM*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 5059
    functionDepth: 1
    functionLinenumber: 5059
    functionLinenumberEnd: 5062
    functionName: TSHttpSMCallback::TSHttpSMCallback
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void TSHttpSMCallback(HttpSM *sm, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_api_callback
      Src: /src/trafficserver/src/api/InkAPI.cc:5067,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:5067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5070
      start: 5064
    functionDepth: 0
    functionLinenumber: 5064
    functionLinenumberEnd: 5070
    functionName: TSHttpSMCallback::event_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - state_api_callback
    linkageType: ''
    returnType: int
    signature: int event_handler(int, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5081,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5081,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5083,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:5084,1
    - Dst: HttpSM*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:5092,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:5093,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/InkAPI.cc:5094,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5095,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/api/InkAPI.cc:5095,1
    - Dst: HttpSM*::state_api_callback
      Src: /src/trafficserver/src/api/InkAPI.cc:5096,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:5096,1
    - Dst: TSHttpSMCallback::TSHttpSMCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:5101,1
    - Dst: TSHttpSMCallback*::setThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:5102,1
    - Dst: HttpSM*::getThreadAffinity
      Src: /src/trafficserver/src/api/InkAPI.cc:5102,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/InkAPI.cc:5103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - txnp
    - event
    argTypes:
    - TSHttpTxn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5104
      start: 5078
    functionDepth: 2
    functionLinenumber: 5078
    functionLinenumberEnd: 5104
    functionName: TSHttpTxnReenable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 32
    functionsReached:
    - static_cast<int>
    - is_locked
    - EThread*::is_event_type
    - sdk_assert
    - HttpSM*::state_api_callback
    - TSHttpSMCallback::TSHttpSMCallback
    - MUTEX_TRY_LOCK
    - HttpSM*::getThreadAffinity
    - TSHttpSMCallback*::setThreadAffinity
    - reinterpret_cast<HttpSM *>
    - this_ethread
    - sdk_sanity_check_txn
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnReenable(TSHttpTxn txnp, TSEvent event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5111,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5111,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5112,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5112,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5113,1
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/src/api/InkAPI.cc:5122,1
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/src/api/InkAPI.cc:5140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - type
    - name
    - description
    - ptr_idx
    argTypes:
    - TSUserArgType
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5145
      start: 5108
    functionDepth: 1
    functionLinenumber: 5108
    functionLinenumberEnd: 5145
    functionName: TSUserArgIndexReserve
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - get_user_arg_offset
    - TSUserArgIndexNameLookup
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUserArgIndexReserve(TSUserArgType type, const char *name,
      const char *description, int *ptr_idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5150,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5151,1
    - Dst: SanityCheckUserIndex
      Src: /src/trafficserver/src/api/InkAPI.cc:5151,1
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/src/api/InkAPI.cc:5152,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5153,1
    - Dst: name::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:5156,1
    - Dst: description::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:5158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - type
    - idx
    - name
    - description
    argTypes:
    - TSUserArgType
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5147
    functionDepth: 1
    functionLinenumber: 5147
    functionLinenumberEnd: 5164
    functionName: TSUserArgIndexLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - get_user_arg_offset
    - sdk_assert
    - description::c_str
    - name::c_str
    - SanityCheckUserIndex
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUserArgIndexLookup(TSUserArgType type, int idx, const
      char **name, const char **description)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5170,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5170,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5171,1
    - Dst: UserArg*::description::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:5178,1
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/src/api/InkAPI.cc:5180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - type
    - name
    - arg_idx
    - description
    argTypes:
    - TSUserArgType
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5167
    functionDepth: 1
    functionLinenumber: 5167
    functionLinenumberEnd: 5185
    functionName: TSUserArgIndexNameLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - UserArg*::description::c_str
    - get_user_arg_offset
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUserArgIndexNameLookup(TSUserArgType type, const char
      *name, int *arg_idx, const char **description)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PluginUserArgsMixin *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5192,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5192,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5193,1
    - Dst: PluginUserArgsMixin*::set_user_arg
      Src: /src/trafficserver/src/api/InkAPI.cc:5195,1
    - Dst: set_user_arg
      Src: /src/trafficserver/src/api/InkAPI.cc:5197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - arg_idx
    - arg
    argTypes:
    - void*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5199
      start: 5188
    functionDepth: 0
    functionLinenumber: 5188
    functionLinenumberEnd: 5199
    functionName: TSUserArgSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - PluginUserArgsMixin*::set_user_arg
    - sdk_assert
    - set_user_arg
    - dynamic_cast<PluginUserArgsMixin *>
    - static_cast<Continuation *>
    linkageType: ''
    returnType: void
    signature: void TSUserArgSet(void *data, int arg_idx, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PluginUserArgsMixin *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5205,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5205,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5206,1
    - Dst: PluginUserArgsMixin*::get_user_arg
      Src: /src/trafficserver/src/api/InkAPI.cc:5208,1
    - Dst: get_user_arg
      Src: /src/trafficserver/src/api/InkAPI.cc:5210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - arg_idx
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5212
      start: 5201
    functionDepth: 0
    functionLinenumber: 5201
    functionLinenumberEnd: 5212
    functionName: TSUserArgGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - get_user_arg
    - PluginUserArgsMixin*::get_user_arg
    - dynamic_cast<PluginUserArgsMixin *>
    - static_cast<Continuation *>
    linkageType: ''
    returnType: void
    signature: 'void *

      TSUserArgGet(void *data, int arg_idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5217,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5217,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5219,1
    - Dst: static_cast<HTTPStatus>
      Src: /src/trafficserver/src/api/InkAPI.cc:5220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - status
    argTypes:
    - TSHttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5214
    functionDepth: 1
    functionLinenumber: 5214
    functionLinenumberEnd: 5221
    functionName: TSHttpTxnStatusSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - static_cast<HTTPStatus>
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnStatusSet(TSHttpTxn txnp, TSHttpStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5226,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5226,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5228,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/api/InkAPI.cc:5229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5223
    functionDepth: 1
    functionLinenumber: 5223
    functionLinenumberEnd: 5230
    functionName: TSHttpTxnStatusGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus TSHttpTxnStatusGet(TSHttpTxn txnp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5235,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5235,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - txnp
    - cntl
    - data
    argTypes:
    - TSHttpTxn
    - TSHttpCntlType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5274
      start: 5232
    functionDepth: 1
    functionLinenumber: 5232
    functionLinenumberEnd: 5274
    functionName: TSHttpTxnCntlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCntlSet(TSHttpTxn txnp, TSHttpCntlType cntl,
      bool data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5279,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5279,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - txnp
    - ctrl
    argTypes:
    - TSHttpTxn
    - TSHttpCntlType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5276
    functionDepth: 1
    functionLinenumber: 5276
    functionLinenumberEnd: 5317
    functionName: TSHttpTxnCntlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: bool
    signature: bool TSHttpTxnCntlGet(TSHttpTxn txnp, TSHttpCntlType ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5325,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5325,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5327,1
    - Dst: static_cast<TSServerState>
      Src: /src/trafficserver/src/api/InkAPI.cc:5328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5329
      start: 5322
    functionDepth: 1
    functionLinenumber: 5322
    functionLinenumberEnd: 5329
    functionName: TSHttpTxnServerStateGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - static_cast<TSServerState>
    linkageType: ''
    returnType: TSServerState
    signature: TSServerState TSHttpTxnServerStateGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5334,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5334,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - 'on'
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5336
      start: 5331
    functionDepth: 1
    functionLinenumber: 5331
    functionLinenumberEnd: 5336
    functionName: TSHttpTxnDebugSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnDebugSet(TSHttpTxn txnp, int on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5341,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5341,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5343
      start: 5338
    functionDepth: 1
    functionLinenumber: 5338
    functionLinenumberEnd: 5343
    functionName: TSHttpTxnDebugGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnDebugGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5348,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:5348,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5349,1
    - Dst: set_debug
      Src: /src/trafficserver/src/api/InkAPI.cc:5349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssnp
    - 'on'
    argTypes:
    - TSHttpSsn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5345
    functionDepth: 1
    functionLinenumber: 5345
    functionLinenumberEnd: 5350
    functionName: TSHttpSsnDebugSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<ProxySession *>
    - set_debug
    - sdk_sanity_check_http_ssn
    linkageType: ''
    returnType: void
    signature: void TSHttpSsnDebugSet(TSHttpSsn ssnp, int on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5355,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:5355,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5356,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5357,1
    - Dst: debug
      Src: /src/trafficserver/src/api/InkAPI.cc:5357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ssnp
    - 'on'
    argTypes:
    - TSHttpSsn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5359
      start: 5352
    functionDepth: 1
    functionLinenumber: 5352
    functionLinenumberEnd: 5359
    functionName: TSHttpSsnDebugGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - debug
    - reinterpret_cast<ProxySession *>
    - sdk_sanity_check_http_ssn
    linkageType: ''
    returnType: int
    signature: int TSHttpSsnDebugGet(TSHttpSsn ssnp, int *on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5364,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5364,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5368
      start: 5361
    functionDepth: 1
    functionLinenumber: 5361
    functionLinenumberEnd: 5368
    functionName: TSHttpTxnClientReqHdrBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnClientReqHdrBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5373,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5373,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5377
      start: 5370
    functionDepth: 1
    functionLinenumber: 5370
    functionLinenumberEnd: 5377
    functionName: TSHttpTxnClientReqBodyBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpTxnClientReqBodyBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5382,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5382,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5379
    functionDepth: 1
    functionLinenumber: 5379
    functionLinenumberEnd: 5386
    functionName: TSHttpTxnServerReqHdrBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnServerReqHdrBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5391,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5391,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5388
    functionDepth: 1
    functionLinenumber: 5388
    functionLinenumberEnd: 5395
    functionName: TSHttpTxnServerReqBodyBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpTxnServerReqBodyBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5400,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5400,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5404
      start: 5397
    functionDepth: 1
    functionLinenumber: 5397
    functionLinenumberEnd: 5404
    functionName: TSHttpTxnServerRespHdrBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnServerRespHdrBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5409,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5409,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5406
    functionDepth: 1
    functionLinenumber: 5406
    functionLinenumberEnd: 5413
    functionName: TSHttpTxnServerRespBodyBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpTxnServerRespBodyBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5418,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5418,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5422
      start: 5415
    functionDepth: 1
    functionLinenumber: 5415
    functionLinenumberEnd: 5422
    functionName: TSHttpTxnClientRespHdrBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnClientRespHdrBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5427,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5427,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5424
    functionDepth: 1
    functionLinenumber: 5424
    functionLinenumberEnd: 5431
    functionName: TSHttpTxnClientRespBodyBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpTxnClientRespBodyBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5436,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5437,1
    - Dst: SSLNetVConnection*::getSSLSessionCacheHit
      Src: /src/trafficserver/src/api/InkAPI.cc:5439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5440
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5440
    functionName: TSVConnIsSslReused
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection*::getSSLSessionCacheHit
    - dynamic_cast<SSLNetVConnection *>
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: int
    signature: int TSVConnIsSslReused(TSVConn sslp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5445,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:5446,1
    - Dst: TLSBasicSupport*::get_tls_cipher_suite
      Src: /src/trafficserver/src/api/InkAPI.cc:5448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5442
    functionDepth: 0
    functionLinenumber: 5442
    functionLinenumberEnd: 5449
    functionName: TSVConnSslCipherGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::get_service
    - TLSBasicSupport*::get_tls_cipher_suite
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSVConnSslCipherGet(TSVConn sslp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5454,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:5455,1
    - Dst: TLSBasicSupport*::get_tls_protocol_name
      Src: /src/trafficserver/src/api/InkAPI.cc:5457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5458
      start: 5451
    functionDepth: 0
    functionLinenumber: 5451
    functionLinenumberEnd: 5458
    functionName: TSVConnSslProtocolGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::get_service
    - TLSBasicSupport*::get_tls_protocol_name
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSVConnSslProtocolGet(TSVConn sslp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5463,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:5464,1
    - Dst: TLSBasicSupport*::get_tls_curve
      Src: /src/trafficserver/src/api/InkAPI.cc:5466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5460
    functionDepth: 0
    functionLinenumber: 5460
    functionLinenumberEnd: 5467
    functionName: TSVConnSslCurveGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::get_service
    - TLSBasicSupport*::get_tls_curve
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSVConnSslCurveGet(TSVConn sslp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5472,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5472,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5469
    functionDepth: 1
    functionLinenumber: 5469
    functionLinenumberEnd: 5476
    functionName: TSHttpTxnPushedRespHdrBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnPushedRespHdrBytesGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5481,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5481,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5485
      start: 5478
    functionDepth: 1
    functionLinenumber: 5478
    functionLinenumberEnd: 5485
    functionName: TSHttpTxnPushedRespBodyBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpTxnPushedRespBodyBytesGet(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5492,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5492,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5493,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5493,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - txnp
    - milestone
    - time
    argTypes:
    - TSHttpTxn
    - TSMilestonesType
    - ink_hrtime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5489
    functionDepth: 1
    functionLinenumber: 5489
    functionLinenumberEnd: 5505
    functionName: TSHttpTxnMilestoneGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnMilestoneGet(TSHttpTxn txnp, TSMilestonesType
      milestone, ink_hrtime *time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5510,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5510,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5512,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:5515,1
    - Dst: HTTPInfo*::response_received_time_get
      Src: /src/trafficserver/src/api/InkAPI.cc:5519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - resp_time
    argTypes:
    - TSHttpTxn
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5521
      start: 5507
    functionDepth: 1
    functionLinenumber: 5507
    functionLinenumberEnd: 5521
    functionName: TSHttpTxnCachedRespTimeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - HTTPInfo*::response_received_time_get
    - reinterpret_cast<HttpSM *>
    - HTTPInfo*::valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCachedRespTimeGet(TSHttpTxn txnp, time_t *resp_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5527
      start: 5523
    functionDepth: 0
    functionLinenumber: 5523
    functionLinenumberEnd: 5527
    functionName: TSHttpCurrentClientConnectionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int TSHttpCurrentClientConnectionsGet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5533
      start: 5529
    functionDepth: 0
    functionLinenumber: 5529
    functionLinenumberEnd: 5533
    functionName: TSHttpCurrentActiveClientConnectionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int TSHttpCurrentActiveClientConnectionsGet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5538,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5539,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:5542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5546
      start: 5535
    functionDepth: 0
    functionLinenumber: 5535
    functionLinenumberEnd: 5546
    functionName: TSHttpCurrentIdleClientConnectionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int TSHttpCurrentIdleClientConnectionsGet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5552
      start: 5548
    functionDepth: 0
    functionLinenumber: 5548
    functionLinenumberEnd: 5552
    functionName: TSHttpCurrentCacheConnectionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int TSHttpCurrentCacheConnectionsGet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/api/InkAPI.cc:5557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5554
    functionDepth: 0
    functionLinenumber: 5554
    functionLinenumberEnd: 5558
    functionName: TSHttpCurrentServerConnectionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int TSHttpCurrentServerConnectionsGet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5564,1
    - Dst: sdk_sanity_check_alt_info
      Src: /src/trafficserver/src/api/InkAPI.cc:5564,1
    - Dst: reinterpret_cast<HttpAltInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5566,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:5568,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:5569,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:5571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSHttpAltInfo
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5572
      start: 5561
    functionDepth: 1
    functionLinenumber: 5561
    functionLinenumberEnd: 5572
    functionName: TSHttpAltInfoClientReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpAltInfo *>
    - sdk_sanity_check_alt_info
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpAltInfoClientReqGet(TSHttpAltInfo infop, TSMBuffer
      *bufp, TSMLoc *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5577,1
    - Dst: sdk_sanity_check_alt_info
      Src: /src/trafficserver/src/api/InkAPI.cc:5577,1
    - Dst: reinterpret_cast<HttpAltInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5579,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:5581,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:5582,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:5584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSHttpAltInfo
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5585
      start: 5574
    functionDepth: 1
    functionLinenumber: 5574
    functionLinenumberEnd: 5585
    functionName: TSHttpAltInfoCachedReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpAltInfo *>
    - sdk_sanity_check_alt_info
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpAltInfoCachedReqGet(TSHttpAltInfo infop, TSMBuffer
      *bufp, TSMLoc *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5590,1
    - Dst: sdk_sanity_check_alt_info
      Src: /src/trafficserver/src/api/InkAPI.cc:5590,1
    - Dst: reinterpret_cast<HttpAltInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5592,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:5594,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:5595,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:5597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - infop
    - bufp
    - obj
    argTypes:
    - TSHttpAltInfo
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5598
      start: 5587
    functionDepth: 1
    functionLinenumber: 5587
    functionLinenumberEnd: 5598
    functionName: TSHttpAltInfoCachedRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<HttpAltInfo *>
    - sdk_sanity_check_alt_info
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpAltInfoCachedRespGet(TSHttpAltInfo infop, TSMBuffer
      *bufp, TSMLoc *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5603,1
    - Dst: sdk_sanity_check_alt_info
      Src: /src/trafficserver/src/api/InkAPI.cc:5603,1
    - Dst: reinterpret_cast<HttpAltInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - infop
    - quality
    argTypes:
    - TSHttpAltInfo
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5607
      start: 5600
    functionDepth: 1
    functionLinenumber: 5600
    functionLinenumberEnd: 5607
    functionName: TSHttpAltInfoQualitySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_alt_info
    - reinterpret_cast<HttpAltInfo *>
    linkageType: ''
    returnType: void
    signature: void TSHttpAltInfoQualitySet(TSHttpAltInfo infop, float quality)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5612,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5612,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5609
    functionDepth: 1
    functionLinenumber: 5609
    functionLinenumberEnd: 5616
    functionName: TSHttpTxnPluginTagGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnPluginTagGet(TSHttpTxn txnp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5621,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - connect_type
    argTypes:
    - TSConnectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5630
      start: 5618
    functionDepth: 0
    functionLinenumber: 5618
    functionLinenumberEnd: 5630
    functionName: TSHttpConnectOptionsGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    linkageType: ''
    returnType: TSHttpConnectOptions
    signature: TSHttpConnectOptions TSHttpConnectOptionsGet(TSConnectType connect_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpConnectOptionsGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5635,1
    - Dst: TSHttpConnectPlugin
      Src: /src/trafficserver/src/api/InkAPI.cc:5640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - addr
    - tag
    - id
    argTypes:
    - sockaddr*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5632
    functionDepth: 1
    functionLinenumber: 5632
    functionLinenumberEnd: 5641
    functionName: TSHttpConnectWithPluginId
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TSHttpConnectPlugin
    - TSHttpConnectOptionsGet
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpConnectWithPluginId(sockaddr const *addr, const char
      *tag, int64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5646,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5647,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5648,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5650,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/api/InkAPI.cc:5650,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:5650,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5651,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/api/InkAPI.cc:5651,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/api/InkAPI.cc:5651,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:5652,1
    - Dst: PluginHttpConnectInternal
      Src: /src/trafficserver/src/api/InkAPI.cc:5652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - options
    argTypes:
    - TSHttpConnectOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5653
      start: 5643
    functionDepth: 1
    functionLinenumber: 5643
    functionLinenumberEnd: 5653
    functionName: TSHttpConnectPlugin
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSVConn>
    - sdk_assert
    - ats_is_unix
    - PluginHttpConnectInternal
    - ats_ip_port_cast
    - ats_is_ip
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpConnectPlugin(TSHttpConnectOptions *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/src/api/InkAPI.cc:5658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 5655
    functionDepth: 0
    functionLinenumber: 5655
    functionLinenumberEnd: 5659
    functionName: TSHttpConnect
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TSHttpConnectWithPluginId
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpConnect(sockaddr const *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5664,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:5664,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5665,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:5665,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5666,1
    - Dst: ats_is_ip_any
      Src: /src/trafficserver/src/api/InkAPI.cc:5666,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5667,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/api/InkAPI.cc:5667,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5668,1
    - Dst: ats_is_ip_any
      Src: /src/trafficserver/src/api/InkAPI.cc:5668,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5669,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/api/InkAPI.cc:5669,1
    - Dst: PluginVCCore::alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:5672,1
    - Dst: PluginVCCore*::set_active_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:5676,1
    - Dst: PluginVCCore*::set_passive_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:5677,1
    - Dst: PluginVCCore*::set_transparent
      Src: /src/trafficserver/src/api/InkAPI.cc:5678,1
    - Dst: PluginVCCore*::connect
      Src: /src/trafficserver/src/api/InkAPI.cc:5680,1
    - Dst: PluginVC*::get_other_side
      Src: /src/trafficserver/src/api/InkAPI.cc:5683,1
    - Dst: PluginVC*::set_is_internal_request
      Src: /src/trafficserver/src/api/InkAPI.cc:5686,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:5690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - client_addr
    - server_addr
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5694
      start: 5661
    functionDepth: 1
    functionLinenumber: 5661
    functionLinenumberEnd: 5694
    functionName: TSHttpConnectTransparent
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - PluginVC*::get_other_side
    - sdk_assert
    - ats_is_ip_any
    - PluginVC*::set_is_internal_request
    - PluginVCCore*::set_active_addr
    - PluginVCCore*::connect
    - ats_ip_port_cast
    - PluginVCCore::alloc
    - PluginVCCore*::set_transparent
    - PluginVCCore*::set_passive_addr
    - ats_is_ip
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpConnectTransparent(sockaddr const *client_addr, sockaddr
      const *server_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:5709,1
    - Dst: reinterpret_cast<Action *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5710,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:5710,1
    - Dst: static_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5712,1
    - Dst: INKContInternal*::handle_event_count
      Src: /src/trafficserver/src/api/InkAPI.cc:5713,1
    - Dst: reinterpret_cast<Action *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5718,1
    - Dst: Action*::cancel
      Src: /src/trafficserver/src/api/InkAPI.cc:5721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - actionp
    argTypes:
    - TSAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5722
      start: 5697
    functionDepth: 1
    functionLinenumber: 5697
    functionLinenumberEnd: 5722
    functionName: TSActionCancel
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<INKContInternal *>
    - Action*::cancel
    - INKContInternal*::handle_event_count
    - reinterpret_cast<Action *>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void TSActionCancel(TSAction actionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Action *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - actionp
    argTypes:
    - TSAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5729
      start: 5725
    functionDepth: 0
    functionLinenumber: 5725
    functionLinenumberEnd: 5729
    functionName: TSActionDone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Action *>
    linkageType: ''
    returnType: int
    signature: int TSActionDone(TSAction actionp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkAPI.cc:5737,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkAPI.cc:5737,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5741,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkAPI.cc:5741,1
    - Dst: acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:5744,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/api/InkAPI.cc:5747,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPI.cc:5747,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5749,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:5749,1
    - Dst: INKVConnInternal*::init
      Src: /src/trafficserver/src/api/InkAPI.cc:5751,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:5752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - event_funcp
    - mutexp
    argTypes:
    - TSEventFunc
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5753
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5753
    functionName: TSVConnCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - THREAD_ALLOC
    - reinterpret_cast<TSVConn>
    - sdk_assert
    - sdk_sanity_check_mutex
    - INKVConnInternal*::init
    - acquire
    - reinterpret_cast<TSMutex>
    - new_ProxyMutex
    - this_thread
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSVConnCreate(TSEventFunc event_funcp, TSMutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkAPI.cc:5756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5756
    functionDepth: 1
    functionLinenumber: 5756
    functionLinenumberEnd: 5756
    functionName: ActionSink
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ActionSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:5761,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/api/InkAPI.cc:5761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5757
    functionDepth: 1
    functionLinenumber: 5757
    functionLinenumberEnd: 5763
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - HttpDebugNames::get_event_name
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:5772,1
    - Dst: unlikely
      Src: /src/trafficserver/src/api/InkAPI.cc:5774,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5778,1
    - Dst: allocate_vc
      Src: /src/trafficserver/src/api/InkAPI.cc:5778,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/api/InkAPI.cc:5789,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/api/InkAPI.cc:5790,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkAPI.cc:5791,1
    - Dst: UnixNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/api/InkAPI.cc:5792,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/api/InkAPI.cc:5793,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:5796,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/api/InkAPI.cc:5796,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:5797,1
    - Dst: UnixNetVConnection*::connectUp
      Src: /src/trafficserver/src/api/InkAPI.cc:5799,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPI.cc:5803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5804
      start: 5768
    functionDepth: 1
    functionLinenumber: 5768
    functionLinenumberEnd: 5804
    functionName: TSVConnFdCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - UnixNetVConnection*::set_context
    - get_NetHandler
    - reinterpret_cast<TSVConn>
    - SCOPED_MUTEX_LOCK
    - new_ProxyMutex
    - allocate_vc
    - UnixNetVConnection*::connectUp
    - this_ethread
    - unlikely
    - UnixNetVConnection*::set_is_transparent
    - static_cast<UnixNetVConnection *>
    - net_next_connection_number
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSVConnFdCreate(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5809,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5809,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5811,1
    - Dst: VConnection*::get_data
      Src: /src/trafficserver/src/api/InkAPI.cc:5814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5819
      start: 5806
    functionDepth: 1
    functionLinenumber: 5806
    functionLinenumberEnd: 5819
    functionName: TSVConnReadVIOGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::get_data
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: TSVIO
    signature: TSVIO TSVConnReadVIOGet(TSVConn connp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5824,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5824,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5826,1
    - Dst: VConnection*::get_data
      Src: /src/trafficserver/src/api/InkAPI.cc:5829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5821
    functionDepth: 1
    functionLinenumber: 5821
    functionLinenumberEnd: 5834
    functionName: TSVConnWriteVIOGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::get_data
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: TSVIO
    signature: TSVIO TSVConnWriteVIOGet(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5839,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5839,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5841,1
    - Dst: VConnection*::get_data
      Src: /src/trafficserver/src/api/InkAPI.cc:5843,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5836
    functionDepth: 1
    functionLinenumber: 5836
    functionLinenumberEnd: 5846
    functionName: TSVConnClosedGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<VConnection *>
    - VConnection*::get_data
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int TSVConnClosedGet(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5851,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5851,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5852,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5852,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5853,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5853,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5854,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:5856,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5857,1
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPI.cc:5859,1
    - Dst: VConnection*::do_io_read
      Src: /src/trafficserver/src/api/InkAPI.cc:5860,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5860,1
    - Dst: reinterpret_cast<MIOBuffer *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - connp
    - contp
    - bufp
    - nbytes
    argTypes:
    - TSVConn
    - TSCont
    - TSIOBuffer
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5861
      start: 5848
    functionDepth: 1
    functionLinenumber: 5848
    functionLinenumberEnd: 5861
    functionName: TSVConnRead
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<VConnection *>
    - reinterpret_cast<TSVIO>
    - reinterpret_cast<MIOBuffer *>
    - sdk_assert
    - FORCE_PLUGIN_SCOPED_MUTEX
    - VConnection*::do_io_read
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSVIO
    signature: TSVIO TSVConnRead(TSVConn connp, TSCont contp, TSIOBuffer bufp, int64_t
      nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5866,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5866,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5867,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5867,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5868,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5868,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5869,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:5871,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5872,1
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPI.cc:5874,1
    - Dst: VConnection*::do_io_write
      Src: /src/trafficserver/src/api/InkAPI.cc:5875,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5875,1
    - Dst: reinterpret_cast<IOBufferReader *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - connp
    - contp
    - readerp
    - nbytes
    argTypes:
    - TSVConn
    - TSCont
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5876
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5876
    functionName: TSVConnWrite
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<VConnection *>
    - VConnection*::do_io_write
    - reinterpret_cast<TSVIO>
    - sdk_assert
    - reinterpret_cast<IOBufferReader *>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSVIO
    signature: TSVIO TSVConnWrite(TSVConn connp, TSCont contp, TSIOBufferReader readerp,
      int64_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5881,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5881,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5883,1
    - Dst: VConnection*::do_io_close
      Src: /src/trafficserver/src/api/InkAPI.cc:5884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5885
      start: 5878
    functionDepth: 1
    functionLinenumber: 5878
    functionLinenumberEnd: 5885
    functionName: TSVConnClose
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::do_io_close
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnClose(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5890,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5890,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5892,1
    - Dst: VConnection*::do_io_close
      Src: /src/trafficserver/src/api/InkAPI.cc:5893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connp
    - error
    argTypes:
    - TSVConn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5894
      start: 5887
    functionDepth: 1
    functionLinenumber: 5887
    functionLinenumberEnd: 5894
    functionName: TSVConnAbort
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::do_io_close
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnAbort(TSVConn connp, int error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5899,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5899,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5901,1
    - Dst: VConnection*::do_io_shutdown
      Src: /src/trafficserver/src/api/InkAPI.cc:5904,1
    - Dst: VConnection*::do_io_shutdown
      Src: /src/trafficserver/src/api/InkAPI.cc:5906,1
    - Dst: VConnection*::do_io_shutdown
      Src: /src/trafficserver/src/api/InkAPI.cc:5908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - connp
    - read
    - write
    argTypes:
    - TSVConn
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5910
      start: 5896
    functionDepth: 1
    functionLinenumber: 5896
    functionLinenumberEnd: 5910
    functionName: TSVConnShutdown
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::do_io_shutdown
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnShutdown(TSVConn connp, int read, int write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5915,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5915,1
    - Dst: reinterpret_cast<CacheVC *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5917,1
    - Dst: CacheVC*::get_object_size
      Src: /src/trafficserver/src/api/InkAPI.cc:5918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5912
    functionDepth: 1
    functionLinenumber: 5912
    functionLinenumberEnd: 5919
    functionName: TSVConnCacheObjectSizeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - CacheVC*::get_object_size
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<CacheVC *>
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSVConnCacheObjectSizeGet(TSVConn connp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5924,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5924,1
    - Dst: reinterpret_cast<CacheVC *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5926,1
    - Dst: static_cast<CacheOpType>
      Src: /src/trafficserver/src/api/InkAPI.cc:5927,1
    - Dst: CacheVC*::set_http_info
      Src: /src/trafficserver/src/api/InkAPI.cc:5928,1
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - connp
    - infop
    argTypes:
    - TSVConn
    - TSCacheHttpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5930
      start: 5921
    functionDepth: 1
    functionLinenumber: 5921
    functionLinenumberEnd: 5930
    functionName: TSVConnCacheHttpInfoSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CacheHTTPInfo *>
    - reinterpret_cast<CacheVC *>
    - sdk_assert
    - CacheVC*::set_http_info
    - sdk_sanity_check_iocore_structure
    - static_cast<CacheOpType>
    linkageType: ''
    returnType: void
    signature: void TSVConnCacheHttpInfoSet(TSVConn connp, TSCacheHttpInfo infop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5937,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5937,1
    - Dst: TSVConnCreate
      Src: /src/trafficserver/src/api/InkAPI.cc:5939,1
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkAPI.cc:5940,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5940,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - event_funcp
    - txnp
    argTypes:
    - TSEventFunc
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5941
      start: 5934
    functionDepth: 2
    functionLinenumber: 5934
    functionLinenumberEnd: 5941
    functionName: TSTransformCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TSMutex>
    - reinterpret_cast<HttpSM *>
    - TSVConnCreate
    - static_cast<Continuation *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSTransformCreate(TSEventFunc event_funcp, TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5946,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:5946,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5948,1
    - Dst: VConnection*::get_data
      Src: /src/trafficserver/src/api/InkAPI.cc:5951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5943
    functionDepth: 1
    functionLinenumber: 5943
    functionLinenumberEnd: 5953
    functionName: TSTransformOutputVConnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VConnection*::get_data
    - reinterpret_cast<VConnection *>
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSTransformOutputVConnGet(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5958,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5960,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5960,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5961,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:5961,1
    - Dst: TSPluginVCIOBufferIndexGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5963,1
    - Dst: TSPluginVCIOBufferWaterMarkGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5964,1
    - Dst: PluginVCCore::alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:5967,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - txnp
    argTypes:
    - TSCont
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5968
      start: 5955
    functionDepth: 1
    functionLinenumber: 5955
    functionLinenumberEnd: 5968
    functionName: TSHttpTxnServerIntercept
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TSPluginVCIOBufferIndexGet
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - TSPluginVCIOBufferWaterMarkGet
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - PluginVCCore::alloc
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnServerIntercept(TSCont contp, TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5973,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5975,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:5975,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:5976,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:5976,1
    - Dst: TSPluginVCIOBufferIndexGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5978,1
    - Dst: TSPluginVCIOBufferWaterMarkGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5979,1
    - Dst: PluginVCCore::alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:5982,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:5982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - txnp
    argTypes:
    - TSCont
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5983
      start: 5970
    functionDepth: 1
    functionLinenumber: 5970
    functionLinenumberEnd: 5983
    functionName: TSHttpTxnIntercept
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - TSPluginVCIOBufferIndexGet
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - TSPluginVCIOBufferWaterMarkGet
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - PluginVCCore::alloc
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnIntercept(TSCont contp, TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/api/InkAPI.cc:5990,1
    - Dst: static_cast<TSIOBufferSizeIndex>
      Src: /src/trafficserver/src/api/InkAPI.cc:5992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5996
      start: 5985
    functionDepth: 1
    functionLinenumber: 5985
    functionLinenumberEnd: 5996
    functionName: TSPluginVCIOBufferIndexGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - TSHttpTxnConfigIntGet
    - static_cast<TSIOBufferSizeIndex>
    linkageType: ''
    returnType: TSIOBufferSizeIndex
    signature: TSIOBufferSizeIndex TSPluginVCIOBufferIndexGet(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/api/InkAPI.cc:6003,1
    - Dst: static_cast<TSIOBufferWaterMark>
      Src: /src/trafficserver/src/api/InkAPI.cc:6005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6009
      start: 5998
    functionDepth: 1
    functionLinenumber: 5998
    functionLinenumberEnd: 6009
    functionName: TSPluginVCIOBufferWaterMarkGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - TSHttpTxnConfigIntGet
    - static_cast<TSIOBufferWaterMark>
    linkageType: ''
    returnType: TSIOBufferWaterMark
    signature: TSIOBufferWaterMark TSPluginVCIOBufferWaterMarkGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6015,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6015,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6017,1
    - Dst: NetVConnection*::set_inactivity_timeout
      Src: /src/trafficserver/src/api/InkAPI.cc:6018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connp
    - timeout
    argTypes:
    - TSVConn
    - TSHRTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6012
    functionDepth: 1
    functionLinenumber: 6012
    functionLinenumberEnd: 6019
    functionName: TSVConnInactivityTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - NetVConnection*::set_inactivity_timeout
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnInactivityTimeoutSet(TSVConn connp, TSHRTime timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6024,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6024,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6026,1
    - Dst: NetVConnection*::cancel_inactivity_timeout
      Src: /src/trafficserver/src/api/InkAPI.cc:6027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 6021
    functionDepth: 1
    functionLinenumber: 6021
    functionLinenumberEnd: 6028
    functionName: TSVConnInactivityTimeoutCancel
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - NetVConnection*::cancel_inactivity_timeout
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnInactivityTimeoutCancel(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6033,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6033,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6035,1
    - Dst: NetVConnection*::set_active_timeout
      Src: /src/trafficserver/src/api/InkAPI.cc:6036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connp
    - timeout
    argTypes:
    - TSVConn
    - TSHRTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6037
      start: 6030
    functionDepth: 1
    functionLinenumber: 6030
    functionLinenumberEnd: 6037
    functionName: TSVConnActiveTimeoutSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - NetVConnection*::set_active_timeout
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnActiveTimeoutSet(TSVConn connp, TSHRTime timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6042,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6042,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6044,1
    - Dst: NetVConnection*::cancel_active_timeout
      Src: /src/trafficserver/src/api/InkAPI.cc:6045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6046
      start: 6039
    functionDepth: 1
    functionLinenumber: 6039
    functionLinenumberEnd: 6046
    functionName: TSVConnActiveTimeoutCancel
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - NetVConnection*::cancel_active_timeout
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: void
    signature: void TSVConnActiveTimeoutCancel(TSVConn connp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6051,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6051,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6052,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:6053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6048
    functionDepth: 1
    functionLinenumber: 6048
    functionLinenumberEnd: 6054
    functionName: TSNetVConnLocalAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - NetVConnection*::get_local_addr
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSNetVConnLocalAddrGet(TSVConn connp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6059,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6059,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6060,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:6061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 6056
    functionDepth: 1
    functionLinenumber: 6056
    functionLinenumberEnd: 6062
    functionName: TSNetVConnRemoteAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - NetVConnection*::get_remote_addr
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSNetVConnRemoteAddrGet(TSVConn connp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6067,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6067,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6068,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:6068,1
    - Dst: HttpConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:6070,1
    - Dst: NetVCOptions::set_sock_param
      Src: /src/trafficserver/src/api/InkAPI.cc:6073,1
    - Dst: HttpConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:6076,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6079,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6081,1
    - Dst: connect_re
      Src: /src/trafficserver/src/api/InkAPI.cc:6081,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - contp
    - addr
    argTypes:
    - TSCont
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6082
      start: 6064
    functionDepth: 1
    functionLinenumber: 6064
    functionLinenumberEnd: 6082
    functionName: TSNetConnect
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - connect_re
    - reinterpret_cast<TSAction>
    - sdk_assert
    - NetVCOptions::set_sock_param
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - HttpConfig::release
    - HttpConfig::acquire
    - ats_is_ip
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSNetConnect(TSCont contp, sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6087,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6087,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6088,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:6088,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6089,1
    - Dst: ats_ip_are_compatible
      Src: /src/trafficserver/src/api/InkAPI.cc:6089,1
    - Dst: NetVCOptions::local_ip::assign
      Src: /src/trafficserver/src/api/InkAPI.cc:6093,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/api/InkAPI.cc:6094,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6096,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6098,1
    - Dst: connect_re
      Src: /src/trafficserver/src/api/InkAPI.cc:6098,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - contp
    - client_addr
    - server_addr
    argTypes:
    - TSCont
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6084
    functionDepth: 1
    functionLinenumber: 6084
    functionLinenumberEnd: 6099
    functionName: TSNetConnectTransparent
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - connect_re
    - reinterpret_cast<TSAction>
    - sdk_assert
    - NetVCOptions::local_ip::assign
    - FORCE_PLUGIN_SCOPED_MUTEX
    - ats_ip_port_host_order
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - ats_ip_are_compatible
    - ats_is_ip
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSNetConnectTransparent(TSCont contp, sockaddr const *client_addr,
      sockaddr const *server_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6104,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6105,1
    - Dst: UnixNetVConnection*::get_action
      Src: /src/trafficserver/src/api/InkAPI.cc:6108,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/src/api/InkAPI.cc:6109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6112
      start: 6101
    functionDepth: 0
    functionLinenumber: 6101
    functionLinenumberEnd: 6112
    functionName: TSNetInvokingContGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<UnixNetVConnection *>
    - reinterpret_cast<TSCont>
    - reinterpret_cast<NetVConnection *>
    - UnixNetVConnection*::get_action
    linkageType: ''
    returnType: TSCont
    signature: TSCont TSNetInvokingContGet(TSVConn conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSNetInvokingContGet
      Src: /src/trafficserver/src/api/InkAPI.cc:6117,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6120,1
    - Dst: dynamic_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6121,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPI.cc:6123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6127
      start: 6114
    functionDepth: 1
    functionLinenumber: 6114
    functionLinenumberEnd: 6127
    functionName: TSNetInvokingTxnGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - reinterpret_cast<Continuation *>
    - TSNetInvokingContGet
    - dynamic_cast<HttpSM *>
    linkageType: ''
    returnType: TSHttpTxn
    signature: TSHttpTxn TSNetInvokingTxnGet(TSVConn conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6134,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6134,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6135,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6136,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6140,1
    - Dst: make_net_accept_options
      Src: /src/trafficserver/src/api/InkAPI.cc:6142,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6149,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6150,1
    - Dst: accept
      Src: /src/trafficserver/src/api/InkAPI.cc:6150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - contp
    - port
    - domain
    - accept_threads
    argTypes:
    - TSCont
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6151
      start: 6129
    functionDepth: 1
    functionLinenumber: 6129
    functionLinenumberEnd: 6151
    functionName: TSNetAccept
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - sdk_assert
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_continuation
    - accept
    - make_net_accept_options
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSNetAccept(TSCont contp, int port, int domain, int accept_threads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6156,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6157,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6158,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6158,1
    - Dst: ssl_register_protocol
      Src: /src/trafficserver/src/api/InkAPI.cc:6160,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - contp
    - protocol
    argTypes:
    - TSCont
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6165
      start: 6153
    functionDepth: 1
    functionLinenumber: 6153
    functionLinenumberEnd: 6165
    functionName: TSNetAcceptNamedProtocol
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<INKContInternal *>
    - ssl_register_protocol
    - sdk_sanity_check_continuation
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSNetAcceptNamedProtocol(TSCont contp, const char *protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6177,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6180,1
    - Dst: TSResolveInfo::record::rr_info
      Src: /src/trafficserver/src/api/InkAPI.cc:6182,1
    - Dst: data::ip::toSockAddr
      Src: /src/trafficserver/src/api/InkAPI.cc:6182,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6184,1
    - Dst: auto*::handleEvent
      Src: /src/trafficserver/src/api/InkAPI.cc:6186,1
    - Dst: auto::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - contp
    - ev
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6190
      start: 6174
    functionDepth: 1
    functionLinenumber: 6174
    functionLinenumberEnd: 6190
    functionName: TSHostLookupTrampoline
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - auto::destroy
    - auto*::handleEvent
    - TSResolveInfo::record::rr_info
    - data::ip::toSockAddr
    - reinterpret_cast<INKContInternal *>
    - static_cast<HostDBRecord *>
    linkageType: ''
    returnType: int
    signature: int TSHostLookupTrampoline(TSCont contp, TSEvent ev, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6195,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6195,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6196,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6196,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6197,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6199,1
    - Dst: alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:6206,1
    - Dst: auto::init
      Src: /src/trafficserver/src/api/InkAPI.cc:6207,1
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkAPI.cc:6207,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6207,1
    - Dst: get
      Src: /src/trafficserver/src/api/InkAPI.cc:6207,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6209,1
    - Dst: getbyname_re
      Src: /src/trafficserver/src/api/InkAPI.cc:6209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - contp
    - hostname
    - namelen
    argTypes:
    - TSCont
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6192
    functionDepth: 1
    functionLinenumber: 6192
    functionLinenumberEnd: 6210
    functionName: TSHostLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - get
    - reinterpret_cast<TSAction>
    - getbyname_re
    - sdk_assert
    - auto::init
    - reinterpret_cast<TSMutex>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - alloc
    - sdk_sanity_check_continuation
    - reinterpret_cast<INKContInternal *>
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSHostLookup(TSCont contp, const char *hostname, size_t namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6215,1
    - Dst: sdk_sanity_check_hostlookup_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6215,1
    - Dst: reinterpret_cast<TSResolveInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6216,1
    - Dst: auto::addr::isValid
      Src: /src/trafficserver/src/api/InkAPI.cc:6217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lookup_result
    argTypes:
    - TSHostLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6218
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6218
    functionName: TSHostLookupResultAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - auto::addr::isValid
    - sdk_sanity_check_hostlookup_structure
    - reinterpret_cast<TSResolveInfo *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      TSHostLookupResultAddrGet(TSHostLookupResult lookup_result)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6228,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6228,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6229,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:6229,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6231,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6233,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6234,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6236,1
    - Dst: open_read
      Src: /src/trafficserver/src/api/InkAPI.cc:6236,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:6237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - key
    argTypes:
    - TSCont
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6225
    functionDepth: 1
    functionLinenumber: 6225
    functionLinenumberEnd: 6238
    functionName: TSCacheRead
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - sdk_sanity_check_cachekey
    - sdk_assert
    - open_read
    - reinterpret_cast<CacheInfo *>
    - static_cast<std::string_view::size_type>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSCacheRead(TSCont contp, TSCacheKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6243,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6243,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6244,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:6244,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6246,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6248,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6249,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6251,1
    - Dst: open_write
      Src: /src/trafficserver/src/api/InkAPI.cc:6252,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:6253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - key
    argTypes:
    - TSCont
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6254
      start: 6240
    functionDepth: 1
    functionLinenumber: 6240
    functionLinenumberEnd: 6254
    functionName: TSCacheWrite
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - sdk_sanity_check_cachekey
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - static_cast<std::string_view::size_type>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - open_write
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSCacheWrite(TSCont contp, TSCacheKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6259,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6259,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6260,1
    - Dst: sdk_sanity_check_cachekey
      Src: /src/trafficserver/src/api/InkAPI.cc:6260,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6262,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6264,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6265,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6267,1
    - Dst: remove
      Src: /src/trafficserver/src/api/InkAPI.cc:6267,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:6268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - key
    argTypes:
    - TSCont
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6269
      start: 6256
    functionDepth: 1
    functionLinenumber: 6256
    functionLinenumberEnd: 6269
    functionName: TSCacheRemove
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - sdk_sanity_check_cachekey
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - remove
    - static_cast<std::string_view::size_type>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSCacheRemove(TSCont contp, TSCacheKey key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6274,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6274,1
    - Dst: FORCE_PLUGIN_SCOPED_MUTEX
      Src: /src/trafficserver/src/api/InkAPI.cc:6277,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6279,1
    - Dst: reinterpret_cast<CacheInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6282,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6283,1
    - Dst: scan
      Src: /src/trafficserver/src/api/InkAPI.cc:6284,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/api/InkAPI.cc:6284,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/api/InkAPI.cc:6286,1
    - Dst: scan
      Src: /src/trafficserver/src/api/InkAPI.cc:6286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - contp
    - key
    - KB_per_second
    argTypes:
    - TSCont
    - TSCacheKey
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6271
    functionDepth: 1
    functionLinenumber: 6271
    functionLinenumberEnd: 6287
    functionName: TSCacheScan
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAction>
    - sdk_assert
    - reinterpret_cast<CacheInfo *>
    - static_cast<std::string_view::size_type>
    - FORCE_PLUGIN_SCOPED_MUTEX
    - reinterpret_cast<INKContInternal *>
    - sdk_sanity_check_iocore_structure
    - scan
    linkageType: ''
    returnType: TSAction
    signature: TSAction TSCacheScan(TSCont contp, TSCacheKey key, int KB_per_second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/api/InkAPI.cc:6294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - the_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6301
      start: 6290
    functionDepth: 1
    functionLinenumber: 6290
    functionLinenumberEnd: 6301
    functionName: TSStatCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: int
    signature: "int TSStatCreate(const char *the_name, TSRecordDataType /* the_type
      ATS_UNUSED */, TSStatPersistence /* persist ATS_UNUSED */,\n             TSStatSync
      /* sync ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6306,1
    - Dst: sdk_sanity_check_stat_id
      Src: /src/trafficserver/src/api/InkAPI.cc:6306,1
    - Dst: increment
      Src: /src/trafficserver/src/api/InkAPI.cc:6307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - amount
    argTypes:
    - int
    - TSMgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6308
      start: 6303
    functionDepth: 1
    functionLinenumber: 6303
    functionLinenumberEnd: 6308
    functionName: TSStatIntIncrement
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 10
    functionsReached:
    - sdk_assert
    - increment
    - sdk_sanity_check_stat_id
    linkageType: ''
    returnType: void
    signature: void TSStatIntIncrement(int id, TSMgmtInt amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6313,1
    - Dst: sdk_sanity_check_stat_id
      Src: /src/trafficserver/src/api/InkAPI.cc:6313,1
    - Dst: decrement
      Src: /src/trafficserver/src/api/InkAPI.cc:6314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - amount
    argTypes:
    - int
    - TSMgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 6310
    functionDepth: 1
    functionLinenumber: 6310
    functionLinenumberEnd: 6315
    functionName: TSStatIntDecrement
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_stat_id
    - decrement
    linkageType: ''
    returnType: void
    signature: void TSStatIntDecrement(int id, TSMgmtInt amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6320,1
    - Dst: sdk_sanity_check_stat_id
      Src: /src/trafficserver/src/api/InkAPI.cc:6320,1
    - Dst: load
      Src: /src/trafficserver/src/api/InkAPI.cc:6321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6317
    functionDepth: 1
    functionLinenumber: 6317
    functionLinenumberEnd: 6322
    functionName: TSStatIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_stat_id
    - load
    linkageType: ''
    returnType: TSMgmtInt
    signature: TSMgmtInt TSStatIntGet(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6327,1
    - Dst: sdk_sanity_check_stat_id
      Src: /src/trafficserver/src/api/InkAPI.cc:6327,1
    - Dst: store
      Src: /src/trafficserver/src/api/InkAPI.cc:6328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - int
    - TSMgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6329
      start: 6324
    functionDepth: 1
    functionLinenumber: 6324
    functionLinenumberEnd: 6329
    functionName: TSStatIntSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_stat_id
    - store
    linkageType: ''
    returnType: void
    signature: void TSStatIntSet(int id, TSMgmtInt value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6334,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6334,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6335,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6335,1
    - Dst: lookup
      Src: /src/trafficserver/src/api/InkAPI.cc:6337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - name
    - idp
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6345
      start: 6331
    functionDepth: 1
    functionLinenumber: 6331
    functionLinenumberEnd: 6345
    functionName: TSStatFindName
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - lookup
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSStatFindName(const char *name, int *idp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6352,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6352,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6353,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6353,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/api/InkAPI.cc:6361,1
    - Dst: TextLogObject::TextLogObject
      Src: /src/trafficserver/src/api/InkAPI.cc:6360,1
    - Dst: log_object_manager::manage_api_object
      Src: /src/trafficserver/src/api/InkAPI.cc:6369,1
    - Dst: log_object_manager::manage_api_object
      Src: /src/trafficserver/src/api/InkAPI.cc:6370,1
    - Dst: reinterpret_cast<TSTextLogObject>
      Src: /src/trafficserver/src/api/InkAPI.cc:6377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - filename
    - mode
    - new_object
    argTypes:
    - char*
    - int
    - TSTextLogObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6379
      start: 6349
    functionDepth: 1
    functionLinenumber: 6349
    functionLinenumberEnd: 6379
    functionName: TSTextLogObjectCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - TextLogObject::TextLogObject
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - reinterpret_cast<TSTextLogObject>
    - log_object_manager::manage_api_object
    - static_cast<bool>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSTextLogObjectCreate(const char *filename, int mode,
      TSTextLogObject *new_object)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6384,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6384,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6385,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6385,1
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPI.cc:6390,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6391,1
    - Dst: va_write
      Src: /src/trafficserver/src/api/InkAPI.cc:6391,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6403,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPI.cc:6405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - the_object
    - format
    argTypes:
    - TSTextLogObject
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6408
      start: 6381
    functionDepth: 1
    functionLinenumber: 6381
    functionLinenumberEnd: 6408
    functionName: TSTextLogObjectWrite
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_sanity_check_null_ptr
    - va_end
    - sdk_assert
    - va_start
    - ink_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - va_write
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSTextLogObjectWrite(TSTextLogObject the_object, const
      char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6413,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6413,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6415,1
    - Dst: force_new_buffer
      Src: /src/trafficserver/src/api/InkAPI.cc:6415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - the_object
    argTypes:
    - TSTextLogObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6416
      start: 6410
    functionDepth: 1
    functionLinenumber: 6410
    functionLinenumberEnd: 6416
    functionName: TSTextLogObjectFlush
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - force_new_buffer
    linkageType: ''
    returnType: void
    signature: void TSTextLogObjectFlush(TSTextLogObject the_object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6421,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6421,1
    - Dst: log_object_manager::unmanage_api_object
      Src: /src/trafficserver/src/api/InkAPI.cc:6423,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - the_object
    argTypes:
    - TSTextLogObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6428
      start: 6418
    functionDepth: 1
    functionLinenumber: 6418
    functionLinenumberEnd: 6428
    functionName: TSTextLogObjectDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - log_object_manager::unmanage_api_object
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSTextLogObjectDestroy(TSTextLogObject the_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6433,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6433,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6435,1
    - Dst: set_log_file_header
      Src: /src/trafficserver/src/api/InkAPI.cc:6435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - the_object
    - header
    argTypes:
    - TSTextLogObject
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6436
      start: 6430
    functionDepth: 1
    functionLinenumber: 6430
    functionLinenumberEnd: 6436
    functionName: TSTextLogObjectHeaderSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - set_log_file_header
    linkageType: ''
    returnType: void
    signature: void TSTextLogObjectHeaderSet(TSTextLogObject the_object, const char
      *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6441,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6441,1
    - Dst: LogRollingEnabledIsValid
      Src: /src/trafficserver/src/api/InkAPI.cc:6443,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6444,1
    - Dst: set_rolling_enabled
      Src: /src/trafficserver/src/api/InkAPI.cc:6444,1
    - Dst: static_cast<Log::RollingEnabledValues>
      Src: /src/trafficserver/src/api/InkAPI.cc:6444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - the_object
    - rolling_enabled
    argTypes:
    - TSTextLogObject
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6449
      start: 6438
    functionDepth: 1
    functionLinenumber: 6438
    functionLinenumberEnd: 6449
    functionName: TSTextLogObjectRollingEnabledSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - LogRollingEnabledIsValid
    - static_cast<Log::RollingEnabledValues>
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - set_rolling_enabled
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSTextLogObjectRollingEnabledSet(TSTextLogObject the_object,
      int rolling_enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6454,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6454,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6456,1
    - Dst: set_rolling_interval_sec
      Src: /src/trafficserver/src/api/InkAPI.cc:6456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - the_object
    - rolling_interval_sec
    argTypes:
    - TSTextLogObject
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6457
      start: 6451
    functionDepth: 1
    functionLinenumber: 6451
    functionLinenumberEnd: 6457
    functionName: TSTextLogObjectRollingIntervalSecSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - set_rolling_interval_sec
    linkageType: ''
    returnType: void
    signature: void TSTextLogObjectRollingIntervalSecSet(TSTextLogObject the_object,
      int rolling_interval_sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6462,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6462,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6464,1
    - Dst: set_rolling_offset_hr
      Src: /src/trafficserver/src/api/InkAPI.cc:6464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - the_object
    - rolling_offset_hr
    argTypes:
    - TSTextLogObject
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6465
      start: 6459
    functionDepth: 1
    functionLinenumber: 6459
    functionLinenumberEnd: 6465
    functionName: TSTextLogObjectRollingOffsetHrSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - sdk_sanity_check_iocore_structure
    - set_rolling_offset_hr
    linkageType: ''
    returnType: void
    signature: void TSTextLogObjectRollingOffsetHrSet(TSTextLogObject the_object,
      int rolling_offset_hr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6470,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6470,1
    - Dst: reinterpret_cast<TextLogObject *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6472,1
    - Dst: set_rolling_size_mb
      Src: /src/trafficserver/src/api/InkAPI.cc:6472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - the_object
    - rolling_size_mb
    argTypes:
    - TSTextLogObject
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6473
      start: 6467
    functionDepth: 1
    functionLinenumber: 6467
    functionLinenumberEnd: 6473
    functionName: TSTextLogObjectRollingSizeMbSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TextLogObject *>
    - set_rolling_size_mb
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSTextLogObjectRollingSizeMbSet(TSTextLogObject the_object, int
      rolling_size_mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6478,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6478,1
    - Dst: reinterpret_cast<VConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6480,1
    - Dst: dynamic_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6481,1
    - Dst: ProxySession*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:6487,1
    - Dst: NetVConnection*::get_socket
      Src: /src/trafficserver/src/api/InkAPI.cc:6492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ssnp
    - fdp
    argTypes:
    - TSHttpSsn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6494
      start: 6475
    functionDepth: 1
    functionLinenumber: 6475
    functionLinenumberEnd: 6494
    functionName: TSHttpSsnClientFdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<VConnection *>
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - ProxySession*::get_netvc
    - dynamic_cast<ProxySession *>
    - NetVConnection*::get_socket
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpSsnClientFdGet(TSHttpSsn ssnp, int *fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6498,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6498,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6499,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6499,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/src/api/InkAPI.cc:6501,1
    - Dst: TSHttpSsnClientFdGet
      Src: /src/trafficserver/src/api/InkAPI.cc:6502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txnp
    - fdp
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6503
      start: 6495
    functionDepth: 2
    functionLinenumber: 6495
    functionLinenumberEnd: 6503
    functionName: TSHttpTxnClientFdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - TSHttpTxnSsnGet
    - TSHttpSsnClientFdGet
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientFdGet(TSHttpTxn txnp, int *fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6508,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6508,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6509,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6509,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6511,1
    - Dst: HttpSM*::get_server_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6514,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:6516,1
    - Dst: NetVConnection*::get_socket
      Src: /src/trafficserver/src/api/InkAPI.cc:6518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - txnp
    - fdp
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6523
      start: 6505
    functionDepth: 1
    functionLinenumber: 6505
    functionLinenumberEnd: 6523
    functionName: TSHttpTxnServerFdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - HttpSM*::get_server_txn
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - ProxyTransaction*::get_netvc
    - sdk_sanity_check_txn
    - NetVConnection*::get_socket
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerFdGet(TSHttpTxn txnp, int *fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/api/InkAPI.cc:6528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent_file
    - remap_file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6525
    functionDepth: 2
    functionLinenumber: 6525
    functionLinenumberEnd: 6529
    functionName: load_config_file_callback
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void load_config_file_callback(const char *parent_file, const char
      *remap_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_config_file_callback
      Src: /src/trafficserver/src/api/InkAPI.cc:6535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6532
    functionDepth: 3
    functionLinenumber: 6532
    functionLinenumberEnd: 6537
    functionName: TSMgmtConfigFileAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - load_config_file_callback
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMgmtConfigFileAdd(const char *parent, const char *fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6542,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6542,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6544,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:6545,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:6548,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:6551,1
    - Dst: HttpSM*::t_state::cache_info::lookup_url_storage::create
      Src: /src/trafficserver/src/api/InkAPI.cc:6554,1
    - Dst: HttpSM*::t_state::cache_info::lookup_url::parse
      Src: /src/trafficserver/src/api/InkAPI.cc:6556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - txnp
    - url
    - length
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6561
      start: 6539
    functionDepth: 1
    functionLinenumber: 6539
    functionLinenumberEnd: 6561
    functionName: TSCacheUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - HttpSM*::t_state::cache_info::lookup_url::parse
    - reinterpret_cast<HttpSM *>
    - Dbg
    - strlen
    - sdk_sanity_check_txn
    - HttpSM*::t_state::cache_info::lookup_url_storage::create
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSCacheUrlSet(TSHttpTxn txnp, const char *url, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6567,1
    - Dst: reinterpret_cast<CryptoHash *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6568,1
    - Dst: CacheHTTPInfo*::object_key_set
      Src: /src/trafficserver/src/api/InkAPI.cc:6570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - infop
    - keyp
    argTypes:
    - TSCacheHttpInfo
    - TSCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6571
      start: 6563
    functionDepth: 0
    functionLinenumber: 6563
    functionLinenumberEnd: 6571
    functionName: TSCacheHttpInfoKeySet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::object_key_set
    - reinterpret_cast<CacheHTTPInfo *>
    - reinterpret_cast<CryptoHash *>
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoKeySet(TSCacheHttpInfo infop, TSCacheKey keyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6577,1
    - Dst: CacheHTTPInfo*::object_size_set
      Src: /src/trafficserver/src/api/InkAPI.cc:6579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - infop
    - size
    argTypes:
    - TSCacheHttpInfo
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6580
      start: 6573
    functionDepth: 0
    functionLinenumber: 6573
    functionLinenumberEnd: 6580
    functionName: TSCacheHttpInfoSizeSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::object_size_set
    - reinterpret_cast<CacheHTTPInfo *>
    linkageType: ''
    returnType: void
    signature: void TSCacheHttpInfoSizeSet(TSCacheHttpInfo infop, int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6586,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6586,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6587,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6587,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6589,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPI.cc:6591,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6595,1
    - Dst: HttpSM*::t_state::setup_per_txn_configs
      Src: /src/trafficserver/src/api/InkAPI.cc:6602,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:6603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - txnp
    - url
    - url_len
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6605
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6605
    functionName: TSHttpTxnRedirectUrlSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - ats_free
    - sdk_assert
    - const_cast<char *>
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::my_txn_conf
    - sdk_sanity_check_txn
    - HttpSM*::t_state::setup_per_txn_configs
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnRedirectUrlSet(TSHttpTxn txnp, const char *url, const
      int url_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6610,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6610,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txnp
    - url_len_ptr
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6607
    functionDepth: 1
    functionLinenumber: 6607
    functionLinenumberEnd: 6616
    functionName: TSHttpTxnRedirectUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnRedirectUrlGet(TSHttpTxn txnp, int *url_len_ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6621,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6621,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6626
      start: 6618
    functionDepth: 1
    functionLinenumber: 6618
    functionLinenumberEnd: 6626
    functionName: TSHttpTxnRedirectRetries
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnRedirectRetries(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6631,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6631,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6632,1
    - Dst: FetchSM*::resp_get
      Src: /src/trafficserver/src/api/InkAPI.cc:6633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - length
    argTypes:
    - TSHttpTxn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6628
    functionDepth: 1
    functionLinenumber: 6628
    functionLinenumberEnd: 6634
    functionName: TSFetchRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - FetchSM*::resp_get
    - reinterpret_cast<FetchSM *>
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: char
    signature: 'char *

      TSFetchRespGet(TSHttpTxn txnp, int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6639,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6639,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6640,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6640,1
    - Dst: reinterpret_cast<HTTPHdr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6642,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:6644,1
    - Dst: reinterpret_cast<HTTPHdr **>
      Src: /src/trafficserver/src/api/InkAPI.cc:6645,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:6646,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:6647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - txnp
    - bufp
    - obj
    argTypes:
    - TSHttpTxn
    - TSMBuffer*
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6651
      start: 6636
    functionDepth: 1
    functionLinenumber: 6636
    functionLinenumberEnd: 6651
    functionName: TSFetchPageRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<HTTPHdr *>
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HTTPHdr **>
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSFetchPageRespGet(TSHttpTxn txnp, TSMBuffer *bufp, TSMLoc
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:6659,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/api/InkAPI.cc:6660,1
    - Dst: FetchSM*::init
      Src: /src/trafficserver/src/api/InkAPI.cc:6662,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6662,1
    - Dst: FetchSM*::httpConnect
      Src: /src/trafficserver/src/api/InkAPI.cc:6664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - TSFetchUrlParams_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6667
      start: 6653
    functionDepth: 1
    functionLinenumber: 6653
    functionLinenumberEnd: 6667
    functionName: TSFetchPages
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - FetchSM*::httpConnect
    - ats_ip_sa_cast
    - FetchSM*::init
    - alloc
    - reinterpret_cast<Continuation *>
    linkageType: ''
    returnType: void
    signature: void TSFetchPages(TSFetchUrlParams_t *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6674,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6674,1
    - Dst: alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:6677,1
    - Dst: FetchSM*::init
      Src: /src/trafficserver/src/api/InkAPI.cc:6679,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6679,1
    - Dst: FetchSM*::httpConnect
      Src: /src/trafficserver/src/api/InkAPI.cc:6680,1
    - Dst: reinterpret_cast<TSFetchSM>
      Src: /src/trafficserver/src/api/InkAPI.cc:6682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - headers
    - request_len
    - ip
    - contp
    - callback_options
    - events
    argTypes:
    - char*
    - int
    - sockaddr*
    - TSCont
    - TSFetchWakeUpOptions
    - TSFetchEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6683
      start: 6669
    functionDepth: 1
    functionLinenumber: 6669
    functionLinenumberEnd: 6683
    functionName: TSFetchUrl
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - FetchSM*::httpConnect
    - sdk_assert
    - reinterpret_cast<TSFetchSM>
    - FetchSM*::init
    - alloc
    - sdk_sanity_check_continuation
    - reinterpret_cast<Continuation *>
    linkageType: ''
    returnType: TSFetchSM
    signature: "TSFetchSM TSFetchUrl(const char *headers, int request_len, sockaddr
      const *ip, TSCont contp, TSFetchWakeUpOptions callback_options,\n           TSFetchEvent
      events)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6688,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6688,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6689,1
    - Dst: set_fetch_flags
      Src: /src/trafficserver/src/api/InkAPI.cc:6689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fetch_sm
    - flags
    argTypes:
    - TSFetchSM
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6690
      start: 6685
    functionDepth: 1
    functionLinenumber: 6685
    functionLinenumberEnd: 6690
    functionName: TSFetchFlagSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - set_fetch_flags
    linkageType: ''
    returnType: void
    signature: void TSFetchFlagSet(TSFetchSM fetch_sm, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6695,1
    - Dst: sdk_sanity_check_continuation
      Src: /src/trafficserver/src/api/InkAPI.cc:6695,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6696,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/api/InkAPI.cc:6696,1
    - Dst: alloc
      Src: /src/trafficserver/src/api/InkAPI.cc:6698,1
    - Dst: FetchSM*::ext_init
      Src: /src/trafficserver/src/api/InkAPI.cc:6700,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6700,1
    - Dst: reinterpret_cast<TSFetchSM>
      Src: /src/trafficserver/src/api/InkAPI.cc:6702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - contp
    - method
    - url
    - version
    - client_addr
    - flags
    argTypes:
    - TSCont
    - char*
    - char*
    - char*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6703
      start: 6692
    functionDepth: 1
    functionLinenumber: 6692
    functionLinenumberEnd: 6703
    functionName: TSFetchCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<TSFetchSM>
    - alloc
    - sdk_sanity_check_continuation
    - reinterpret_cast<Continuation *>
    - FetchSM*::ext_init
    - ats_is_ip
    linkageType: ''
    returnType: TSFetchSM
    signature: TSFetchSM TSFetchCreate(TSCont contp, const char *method, const char
      *url, const char *version, struct sockaddr const *client_addr, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6708,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6708,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6710,1
    - Dst: ext_add_header
      Src: /src/trafficserver/src/api/InkAPI.cc:6710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - fetch_sm
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - TSFetchSM
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6711
      start: 6705
    functionDepth: 1
    functionLinenumber: 6705
    functionLinenumberEnd: 6711
    functionName: TSFetchHeaderAdd
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - ext_add_header
    linkageType: ''
    returnType: void
    signature: void TSFetchHeaderAdd(TSFetchSM fetch_sm, const char *name, int name_len,
      const char *value, int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6716,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6716,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6718,1
    - Dst: ext_write_data
      Src: /src/trafficserver/src/api/InkAPI.cc:6718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fetch_sm
    - data
    - len
    argTypes:
    - TSFetchSM
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6719
      start: 6713
    functionDepth: 1
    functionLinenumber: 6713
    functionLinenumberEnd: 6719
    functionName: TSFetchWriteData
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ext_write_data
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    linkageType: ''
    returnType: void
    signature: void TSFetchWriteData(TSFetchSM fetch_sm, const void *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6724,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6724,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6726,1
    - Dst: ext_read_data
      Src: /src/trafficserver/src/api/InkAPI.cc:6726,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fetch_sm
    - buf
    - len
    argTypes:
    - TSFetchSM
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6727
      start: 6721
    functionDepth: 1
    functionLinenumber: 6721
    functionLinenumberEnd: 6727
    functionName: TSFetchReadData
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ext_read_data
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - static_cast<char *>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t TSFetchReadData(TSFetchSM fetch_sm, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6732,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6732,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6734,1
    - Dst: ext_launch
      Src: /src/trafficserver/src/api/InkAPI.cc:6734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6735
      start: 6729
    functionDepth: 1
    functionLinenumber: 6729
    functionLinenumberEnd: 6735
    functionName: TSFetchLaunch
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ext_launch
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    linkageType: ''
    returnType: void
    signature: void TSFetchLaunch(TSFetchSM fetch_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6740,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6740,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6742,1
    - Dst: ext_destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6737
    functionDepth: 1
    functionLinenumber: 6737
    functionLinenumberEnd: 6743
    functionName: TSFetchDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - ext_destroy
    linkageType: ''
    returnType: void
    signature: void TSFetchDestroy(TSFetchSM fetch_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6748,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6748,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6750,1
    - Dst: ext_set_user_data
      Src: /src/trafficserver/src/api/InkAPI.cc:6750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fetch_sm
    - data
    argTypes:
    - TSFetchSM
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6751
      start: 6745
    functionDepth: 1
    functionLinenumber: 6745
    functionLinenumberEnd: 6751
    functionName: TSFetchUserDataSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - ext_set_user_data
    linkageType: ''
    returnType: void
    signature: void TSFetchUserDataSet(TSFetchSM fetch_sm, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6756,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6756,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6758,1
    - Dst: ext_get_user_data
      Src: /src/trafficserver/src/api/InkAPI.cc:6758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6759
      start: 6753
    functionDepth: 1
    functionLinenumber: 6753
    functionLinenumberEnd: 6759
    functionName: TSFetchUserDataGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - ext_get_user_data
    linkageType: ''
    returnType: void
    signature: 'void *

      TSFetchUserDataGet(TSFetchSM fetch_sm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6764,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6764,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6766,1
    - Dst: resp_hdr_bufp
      Src: /src/trafficserver/src/api/InkAPI.cc:6766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6767
      start: 6761
    functionDepth: 1
    functionLinenumber: 6761
    functionLinenumberEnd: 6767
    functionName: TSFetchRespHdrMBufGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - resp_hdr_bufp
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer TSFetchRespHdrMBufGet(TSFetchSM fetch_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6772,1
    - Dst: sdk_sanity_check_fetch_sm
      Src: /src/trafficserver/src/api/InkAPI.cc:6772,1
    - Dst: reinterpret_cast<FetchSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6774,1
    - Dst: resp_hdr_mloc
      Src: /src/trafficserver/src/api/InkAPI.cc:6774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch_sm
    argTypes:
    - TSFetchSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6775
      start: 6769
    functionDepth: 1
    functionLinenumber: 6769
    functionLinenumberEnd: 6775
    functionName: TSFetchRespHdrMLocGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_fetch_sm
    - reinterpret_cast<FetchSM *>
    - resp_hdr_mloc
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc TSFetchRespHdrMLocGet(TSFetchSM fetch_sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6780,1
    - Dst: ProxySession*::get_netvc
      Src: /src/trafficserver/src/api/InkAPI.cc:6786,1
    - Dst: NetVConnection*::get_is_internal_request
      Src: /src/trafficserver/src/api/InkAPI.cc:6791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6777
    functionDepth: 0
    functionLinenumber: 6777
    functionLinenumberEnd: 6792
    functionName: TSHttpSsnIsInternal
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ProxySession*::get_netvc
    - NetVConnection*::get_is_internal_request
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: int
    signature: int TSHttpSsnIsInternal(TSHttpSsn ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6797,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6797,1
    - Dst: TSHttpSsnIsInternal
      Src: /src/trafficserver/src/api/InkAPI.cc:6798,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/src/api/InkAPI.cc:6798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6799
      start: 6794
    functionDepth: 2
    functionLinenumber: 6794
    functionLinenumberEnd: 6799
    functionName: TSHttpTxnIsInternal
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_txn
    - TSHttpSsnIsInternal
    - TSHttpTxnSsnGet
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnIsInternal(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6804,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6804,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6805,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:6819,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:6823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - txnp
    - client
    - sent
    - error_class
    - error_code
    argTypes:
    - TSHttpTxn
    - bool
    - bool
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6825
      start: 6801
    functionDepth: 1
    functionLinenumber: 6801
    functionLinenumberEnd: 6825
    functionName: txn_error_get
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void txn_error_get(TSHttpTxn txnp, bool client, bool sent, uint32_t
      &error_class, uint64_t &error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/api/InkAPI.cc:6830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - error_class
    - error_code
    argTypes:
    - TSHttpTxn
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6831
      start: 6827
    functionDepth: 2
    functionLinenumber: 6827
    functionLinenumberEnd: 6831
    functionName: TSHttpTxnClientReceivedErrorGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnClientReceivedErrorGet(TSHttpTxn txnp, uint32_t *error_class,
      uint64_t *error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/api/InkAPI.cc:6836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - error_class
    - error_code
    argTypes:
    - TSHttpTxn
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6837
      start: 6833
    functionDepth: 2
    functionLinenumber: 6833
    functionLinenumberEnd: 6837
    functionName: TSHttpTxnClientSentErrorGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnClientSentErrorGet(TSHttpTxn txnp, uint32_t *error_class,
      uint64_t *error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/api/InkAPI.cc:6842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - error_class
    - error_code
    argTypes:
    - TSHttpTxn
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6839
    functionDepth: 2
    functionLinenumber: 6839
    functionLinenumberEnd: 6843
    functionName: TSHttpTxnServerReceivedErrorGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnServerReceivedErrorGet(TSHttpTxn txnp, uint32_t *error_class,
      uint64_t *error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/api/InkAPI.cc:6848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - error_class
    - error_code
    argTypes:
    - TSHttpTxn
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6849
      start: 6845
    functionDepth: 2
    functionLinenumber: 6845
    functionLinenumberEnd: 6849
    functionName: TSHttpTxnServerSentErrorGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnServerSentErrorGet(TSHttpTxn txnp, uint32_t *error_class,
      uint64_t *error_code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6854,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6854,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6855,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:6858,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/api/InkAPI.cc:6861,1
    - Dst: URL::create
      Src: /src/trafficserver/src/api/InkAPI.cc:6862,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/api/InkAPI.cc:6863,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6864,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6868,1
    - Dst: dynamic_cast<Http2Stream *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6869,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6869,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6871,1
    - Dst: static_cast<Http2ClientSession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6875,1
    - Dst: Http2Stream*::get_proxy_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:6875,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:6876,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:6876,1
    - Dst: Http2ClientSession*::connection_state::is_state_closed
      Src: /src/trafficserver/src/api/InkAPI.cc:6877,1
    - Dst: Http2ClientSession*::is_url_pushed
      Src: /src/trafficserver/src/api/InkAPI.cc:6877,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6878,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:6883,1
    - Dst: _hdr_mloc_to_mime_hdr_impl
      Src: /src/trafficserver/src/api/InkAPI.cc:6885,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/api/InkAPI.cc:6886,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/api/InkAPI.cc:6886,1
    - Dst: Http2Stream*::push_promise
      Src: /src/trafficserver/src/api/InkAPI.cc:6887,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6888,1
    - Dst: Http2ClientSession*::add_url_to_pushed_table
      Src: /src/trafficserver/src/api/InkAPI.cc:6892,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/api/InkAPI.cc:6894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - txnp
    - url
    - url_len
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6851
    functionDepth: 3
    functionLinenumber: 6851
    functionLinenumberEnd: 6896
    functionName: TSHttpTxnServerPush
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - URL::destroy
    - URL::URL
    - Http2Stream*::get_proxy_ssn
    - URL::parse
    - mime_hdr_field_find
    - this_ethread
    - reinterpret_cast<TSMLoc>
    - sdk_assert
    - Http2ClientSession*::connection_state::is_state_closed
    - static_cast<std::string_view>
    - dynamic_cast<Http2Stream *>
    - static_cast<Http2ClientSession *>
    - strlen
    - sdk_sanity_check_txn
    - Http2Stream*::push_promise
    - _hdr_mloc_to_mime_hdr_impl
    - URL::create
    - Http2ClientSession*::add_url_to_pushed_table
    - SCOPED_MUTEX_LOCK
    - reinterpret_cast<HttpSM *>
    - Http2ClientSession*::is_url_pushed
    - HttpSM*::get_ua_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerPush(TSHttpTxn txnp, const char *url, int
      url_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6901,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6901,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6902,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6904,1
    - Dst: dynamic_cast<Http2Stream *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6905,1
    - Dst: auto*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6905,1
    - Dst: auto*::get_id
      Src: /src/trafficserver/src/api/InkAPI.cc:6909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - txnp
    - stream_id
    argTypes:
    - TSHttpTxn
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6911
      start: 6898
    functionDepth: 1
    functionLinenumber: 6898
    functionLinenumberEnd: 6911
    functionName: TSHttpTxnClientStreamIdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<Http2Stream *>
    - sdk_assert
    - auto*::get_id
    - reinterpret_cast<HttpSM *>
    - auto*::get_ua_txn
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientStreamIdGet(TSHttpTxn txnp, uint64_t *stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6918,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6918,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6919,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6921,1
    - Dst: dynamic_cast<Http2Stream *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6922,1
    - Dst: auto*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:6922,1
    - Dst: reinterpret_cast<TSHttp2Priority *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6927,1
    - Dst: auto*::get_transaction_priority_dependence
      Src: /src/trafficserver/src/api/InkAPI.cc:6929,1
    - Dst: auto*::get_transaction_priority_weight
      Src: /src/trafficserver/src/api/InkAPI.cc:6930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - priority
    argTypes:
    - TSHttpTxn
    - TSHttpPriority*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6933
      start: 6913
    functionDepth: 1
    functionLinenumber: 6913
    functionLinenumberEnd: 6933
    functionName: TSHttpTxnClientStreamPriorityGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - auto*::get_transaction_priority_dependence
    - dynamic_cast<Http2Stream *>
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - auto*::get_transaction_priority_weight
    - auto*::get_ua_txn
    - reinterpret_cast<TSHttp2Priority *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientStreamPriorityGet(TSHttpTxn txnp, TSHttpPriority
      *priority)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6938,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6938,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6940,1
    - Dst: new_AIOCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:6941,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/api/InkAPI.cc:6955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - fd
    - offset
    - buf
    - buffSize
    - contp
    argTypes:
    - int
    - off_t
    - char*
    - size_t
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6935
    functionDepth: 1
    functionLinenumber: 6935
    functionLinenumberEnd: 6960
    functionName: TSAIORead
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ink_aio_read
    - new_AIOCallback
    - reinterpret_cast<Continuation *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSAIORead(int fd, off_t offset, char *buf, size_t buffSize,
      TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AIOCallback *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6965,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - TSAIOCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6967
      start: 6962
    functionDepth: 0
    functionLinenumber: 6962
    functionLinenumberEnd: 6967
    functionName: TSAIOBufGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AIOCallback *>
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSAIOBufGet(TSAIOCallback data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AIOCallback *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6972,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:6973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - TSAIOCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6974
      start: 6969
    functionDepth: 0
    functionLinenumber: 6969
    functionLinenumberEnd: 6974
    functionName: TSAIONBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<AIOCallback *>
    linkageType: ''
    returnType: int
    signature: int TSAIONBytesGet(TSAIOCallback data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6979,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkAPI.cc:6979,1
    - Dst: reinterpret_cast<Continuation *>
      Src: /src/trafficserver/src/api/InkAPI.cc:6981,1
    - Dst: new_AIOCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:6982,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:6985,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:6985,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/api/InkAPI.cc:6994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - fd
    - offset
    - buf
    - bufSize
    - contp
    argTypes:
    - int
    - off_t
    - char*
    - size_t
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6999
      start: 6976
    functionDepth: 1
    functionLinenumber: 6976
    functionLinenumberEnd: 6999
    functionName: TSAIOWrite
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - new_AIOCallback
    - reinterpret_cast<Continuation *>
    - sdk_sanity_check_iocore_structure
    - ink_aio_write
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSAIOWrite(int fd, off_t offset, char *buf, const size_t
      bufSize, TSCont contp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_aio_thread_num_set
      Src: /src/trafficserver/src/api/InkAPI.cc:7004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - thread_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7009
      start: 7001
    functionDepth: 1
    functionLinenumber: 7001
    functionLinenumberEnd: 7009
    functionName: TSAIOThreadNumSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ink_aio_thread_num_set
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSAIOThreadNumSet(int thread_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecDumpRecords
      Src: /src/trafficserver/src/api/InkAPI.cc:7014,1
    - Dst: static_cast<RecT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7014,1
    - Dst: reinterpret_cast<RecDumpEntryCb>
      Src: /src/trafficserver/src/api/InkAPI.cc:7014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rec_type
    - callback
    - edata
    argTypes:
    - int
    - TSRecordDumpCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7015
      start: 7011
    functionDepth: 1
    functionLinenumber: 7011
    functionLinenumberEnd: 7015
    functionName: TSRecordDump
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<RecT>
    - RecDumpRecords
    - reinterpret_cast<RecDumpEntryCb>
    linkageType: ''
    returnType: void
    signature: void TSRecordDump(int rec_type, TSRecordDumpCb callback, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7023,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7023,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - flag
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7027
      start: 7020
    functionDepth: 1
    functionLinenumber: 7020
    functionLinenumberEnd: 7027
    functionName: TSSkipRemappingSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: void
    signature: void TSSkipRemappingSet(TSHttpTxn txnp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - conv
    argTypes:
    - T*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7051
      start: 7046
    functionDepth: 0
    functionLinenumber: 7046
    functionLinenumberEnd: 7051
    functionName: _memberp_to_generic
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      _memberp_to_generic(T *ptr, MgmtConverter const *&conv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MgmtInt *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7057,1
    - Dst: static_cast<MgmtInt *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - conv
    argTypes:
    - MgmtInt*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7062
      start: 7054
    functionDepth: 0
    functionLinenumber: 7054
    functionLinenumberEnd: 7062
    functionName: _memberp_to_generic
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<MgmtInt *>
    - static_cast<const MgmtInt *>
    linkageType: ''
    returnType: void
    signature: 'void *

      _memberp_to_generic(MgmtInt *ptr, MgmtConverter const *&conv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MgmtByte *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7068,1
    - Dst: static_cast<MgmtByte *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - conv
    argTypes:
    - MgmtByte*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7073
      start: 7065
    functionDepth: 0
    functionLinenumber: 7065
    functionLinenumberEnd: 7073
    functionName: _memberp_to_generic
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MgmtByte *>
    - static_cast<MgmtByte *>
    linkageType: ''
    returnType: void
    signature: 'void *

      _memberp_to_generic(MgmtByte *ptr, MgmtConverter const *&conv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MgmtFloat *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7079,1
    - Dst: static_cast<MgmtFloat *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - conv
    argTypes:
    - MgmtFloat*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7084
      start: 7076
    functionDepth: 0
    functionLinenumber: 7076
    functionLinenumberEnd: 7084
    functionName: _memberp_to_generic
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MgmtFloat *>
    - static_cast<MgmtFloat *>
    linkageType: ''
    returnType: void
    signature: 'void *

      _memberp_to_generic(MgmtFloat *ptr, MgmtConverter const *&conv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:7093,1
    - Dst: static_cast<const E *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7093,1
    - Dst: static_cast<E *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7094,1
    - Dst: static_cast<E>
      Src: /src/trafficserver/src/api/InkAPI.cc:7094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - conv
    argTypes:
    - MgmtFloat*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7098
      start: 7089
    functionDepth: 0
    functionLinenumber: 7089
    functionLinenumberEnd: 7098
    functionName: _memberp_to_generic
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<const E *>
    - static_cast<E>
    - static_cast<MgmtInt>
    - static_cast<E *>
    linkageType: ''
    returnType: auto
    signature: auto _memberp_to_generic(MgmtFloat *ptr, MgmtConverter const *&conv)
      -> typename std::enable_if<std::is_enum<E>::value, void *>::type
  - BBCount: 134
    BranchProfiles: []
    Callsites:
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7109,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7112,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7115,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7118,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7121,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7124,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7127,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7130,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7133,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7136,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7139,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7142,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7145,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7148,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7151,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7154,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7157,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7160,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7163,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7166,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7169,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7172,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7175,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7178,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7181,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7184,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7187,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7190,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7193,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7196,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7199,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7202,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7205,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7208,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7211,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7214,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7217,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7220,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7223,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7226,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7229,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7232,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7235,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7238,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7241,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7244,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7247,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7250,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7253,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7256,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7263,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7266,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7269,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7272,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7275,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7278,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7281,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7284,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7287,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7290,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7293,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7296,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7299,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7302,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7305,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7308,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7311,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7314,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7317,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7320,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7323,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7326,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7329,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7332,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7335,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7338,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7341,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7344,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7347,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7350,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7353,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7356,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7359,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7362,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7365,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7368,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7371,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7374,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7377,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7380,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7383,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7386,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7389,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7392,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7395,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7398,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7401,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7404,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7407,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7420,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7423,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7426,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7429,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7432,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7435,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7438,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7441,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7444,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7447,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7466,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7469,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7472,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7475,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7478,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7481,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7484,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7487,1
    - Dst: _memberp_to_generic
      Src: /src/trafficserver/src/api/InkAPI.cc:7490,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 391
    argCount: 3
    argNames:
    - conf
    - overridableHttpConfig
    - conv
    argTypes:
    - TSOverridableConfigKey
    - OverridableHttpConfigParams*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7500
      start: 7101
    functionDepth: 1
    functionLinenumber: 7101
    functionLinenumberEnd: 7500
    functionName: _conf_to_memberp
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - _memberp_to_generic
    linkageType: ''
    returnType: void
    signature: 'void *

      _conf_to_memberp(TSOverridableConfigKey conf, OverridableHttpConfigParams *overridableHttpConfig,
      MgmtConverter const *&conv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7506,1
    - Dst: const_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - overridableHttpConfig
    - conv
    argTypes:
    - TSOverridableConfigKey
    - OverridableHttpConfigParams*
    - MgmtConverter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7507
      start: 7503
    functionDepth: 1
    functionLinenumber: 7503
    functionLinenumberEnd: 7507
    functionName: _conf_to_memberp
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - _conf_to_memberp
    - const_cast<OverridableHttpConfigParams *>
    linkageType: ''
    returnType: void
    signature: 'void *

      _conf_to_memberp(TSOverridableConfigKey conf, const OverridableHttpConfigParams
      *overridableHttpConfig, MgmtConverter const *&conv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7514,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7514,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7516,1
    - Dst: HttpSM*::t_state::setup_per_txn_configs
      Src: /src/trafficserver/src/api/InkAPI.cc:7519,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7521,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7521,1
    - Dst: MgmtConverter*::store_int
      Src: /src/trafficserver/src/api/InkAPI.cc:7527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - txnp
    - conf
    - value
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - TSMgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7530
      start: 7511
    functionDepth: 2
    functionLinenumber: 7511
    functionLinenumberEnd: 7530
    functionName: TSHttpTxnConfigIntSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - _conf_to_memberp
    - MgmtConverter*::store_int
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::my_txn_conf
    - sdk_sanity_check_txn
    - HttpSM*::t_state::setup_per_txn_configs
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigIntSet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, TSMgmtInt value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7535,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7535,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7536,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7536,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7538,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7540,1
    - Dst: MgmtConverter*::load_int
      Src: /src/trafficserver/src/api/InkAPI.cc:7546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - txnp
    - conf
    - value
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - TSMgmtInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7549
      start: 7532
    functionDepth: 2
    functionLinenumber: 7532
    functionLinenumberEnd: 7549
    functionName: TSHttpTxnConfigIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - _conf_to_memberp
    - reinterpret_cast<HttpSM *>
    - MgmtConverter*::load_int
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigIntGet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, TSMgmtInt *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7554,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7554,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7556,1
    - Dst: HttpSM*::t_state::setup_per_txn_configs
      Src: /src/trafficserver/src/api/InkAPI.cc:7559,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7561,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7561,1
    - Dst: MgmtConverter*::store_float
      Src: /src/trafficserver/src/api/InkAPI.cc:7567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - txnp
    - conf
    - value
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - TSMgmtFloat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7570
      start: 7551
    functionDepth: 2
    functionLinenumber: 7551
    functionLinenumberEnd: 7570
    functionName: TSHttpTxnConfigFloatSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - _conf_to_memberp
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::my_txn_conf
    - sdk_sanity_check_txn
    - HttpSM*::t_state::setup_per_txn_configs
    - MgmtConverter*::store_float
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigFloatSet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, TSMgmtFloat value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7575,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7575,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7576,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7576,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7576,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7579,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7579,1
    - Dst: MgmtConverter*::load_float
      Src: /src/trafficserver/src/api/InkAPI.cc:7584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - txnp
    - conf
    - value
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - TSMgmtFloat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7587
      start: 7572
    functionDepth: 2
    functionLinenumber: 7572
    functionLinenumberEnd: 7587
    functionName: TSHttpTxnConfigFloatGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - static_cast<void *>
    - MgmtConverter*::load_float
    - sdk_assert
    - _conf_to_memberp
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigFloatGet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, TSMgmtFloat *value)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7592,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7592,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:7595,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7598,1
    - Dst: HttpSM*::t_state::setup_per_txn_configs
      Src: /src/trafficserver/src/api/InkAPI.cc:7600,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7605,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7605,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7606,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7608,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7609,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7614,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7614,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7615,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7617,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7618,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7623,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7623,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7624,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7626,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7627,1
    - Dst: HttpForwarded::optStrToBitset
      Src: /src/trafficserver/src/api/InkAPI.cc:7633,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:7633,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/api/InkAPI.cc:7634,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7635,1
    - Dst: Error
      Src: /src/trafficserver/src/api/InkAPI.cc:7637,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:7637,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/api/InkAPI.cc:7637,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/api/InkAPI.cc:7637,1
    - Dst: HttpConfig::load_server_session_sharing_match
      Src: /src/trafficserver/src/api/InkAPI.cc:7643,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7643,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7644,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7644,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7649,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7649,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7654,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7654,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7659,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7659,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7664,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7664,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7669,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7669,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7674,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7674,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7679,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7679,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7687,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7687,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7693,1
    - Dst: HttpSM*::t_state::my_txn_conf
      Src: /src/trafficserver/src/api/InkAPI.cc:7693,1
    - Dst: MgmtConverter*::store_string
      Src: /src/trafficserver/src/api/InkAPI.cc:7695,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:7695,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 104
    argCount: 4
    argNames:
    - txnp
    - conf
    - value
    - length
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7705
      start: 7589
    functionDepth: 2
    functionLinenumber: 7589
    functionLinenumberEnd: 7705
    functionName: TSHttpTxnConfigStringSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpForwarded::optStrToBitset
    - sdk_assert
    - _conf_to_memberp
    - const_cast<char *>
    - Error
    - HttpConfig::load_server_session_sharing_match
    - MgmtConverter*::store_string
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::my_txn_conf
    - swoc::LocalBufferWriter::data
    - strlen
    - swoc::LocalBufferWriter::size
    - sdk_sanity_check_txn
    - std::string_view
    - HttpSM*::t_state::setup_per_txn_configs
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigStringSet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, const char *value, int length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7710,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7710,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7711,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7711,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7712,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7712,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7714,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:7731,1
    - Dst: _conf_to_memberp
      Src: /src/trafficserver/src/api/InkAPI.cc:7735,1
    - Dst: MgmtConverter*::load_string
      Src: /src/trafficserver/src/api/InkAPI.cc:7737,1
    - Dst: auto::data
      Src: /src/trafficserver/src/api/InkAPI.cc:7738,1
    - Dst: auto::size
      Src: /src/trafficserver/src/api/InkAPI.cc:7739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - txnp
    - conf
    - value
    - length
    argTypes:
    - TSHttpTxn
    - TSOverridableConfigKey
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7748
      start: 7707
    functionDepth: 2
    functionLinenumber: 7707
    functionLinenumberEnd: 7748
    functionName: TSHttpTxnConfigStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - MgmtConverter*::load_string
    - sdk_assert
    - _conf_to_memberp
    - auto::size
    - reinterpret_cast<HttpSM *>
    - strlen
    - auto::data
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigStringGet(TSHttpTxn txnp, TSOverridableConfigKey
      conf, const char **value, int *length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7753,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7753,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7754,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:7754,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:7756,1
    - Dst: find
      Src: /src/trafficserver/src/api/InkAPI.cc:7757,1
    - Dst: end
      Src: /src/trafficserver/src/api/InkAPI.cc:7757,1
    - Dst: std::tie
      Src: /src/trafficserver/src/api/InkAPI.cc:7758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - name
    - length
    - conf
    - type
    argTypes:
    - char*
    - int
    - TSOverridableConfigKey*
    - TSRecordDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7763
      start: 7750
    functionDepth: 1
    functionLinenumber: 7750
    functionLinenumberEnd: 7763
    functionName: TSHttpTxnConfigFind
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - find
    - end
    - strlen
    - std::tie
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnConfigFind(const char *name, int length, TSOverridableConfigKey
      *conf, TSRecordDataType *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7768,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7771,1
    - Dst: HttpSM*::set_server_session_private
      Src: /src/trafficserver/src/api/InkAPI.cc:7772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - txnp
    - private_session
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7776
      start: 7765
    functionDepth: 1
    functionLinenumber: 7765
    functionLinenumberEnd: 7776
    functionName: TSHttpTxnPrivateSessionSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::set_server_session_private
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnPrivateSessionSet(TSHttpTxn txnp, int private_session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/api/InkAPI.cc:7786,1
    - Dst: static_cast<enum RecT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7786,1
    - Dst: static_cast<enum RecUpdateT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7787,1
    - Dst: static_cast<enum RecCheckT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7787,1
    - Dst: static_cast<enum RecAccessT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - rec_type
    - name
    - data_default
    - update_type
    - check_type
    - check_regex
    - access_type
    argTypes:
    - TSRecordType
    - char*
    - TSMgmtString
    - TSRecordUpdateType
    - TSRecordCheckType
    - char*
    - TSRecordAccessType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7793
      start: 7779
    functionDepth: 1
    functionLinenumber: 7779
    functionLinenumberEnd: 7793
    functionName: TSMgmtStringCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<enum RecUpdateT>
    - RecRegisterConfigString
    - static_cast<enum RecT>
    - static_cast<enum RecCheckT>
    - static_cast<enum RecAccessT>
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSMgmtStringCreate(TSRecordType rec_type, const char
      *name, const TSMgmtString data_default, TSRecordUpdateType update_type,\n                   TSRecordCheckType
      check_type, const char *check_regex, TSRecordAccessType access_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigInt
      Src: /src/trafficserver/src/api/InkAPI.cc:7802,1
    - Dst: static_cast<enum RecT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7802,1
    - Dst: static_cast<RecInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:7802,1
    - Dst: static_cast<enum RecUpdateT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7803,1
    - Dst: static_cast<enum RecCheckT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7803,1
    - Dst: static_cast<enum RecAccessT>
      Src: /src/trafficserver/src/api/InkAPI.cc:7804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - rec_type
    - name
    - data_default
    - update_type
    - check_type
    - check_regex
    - access_type
    argTypes:
    - TSRecordType
    - char*
    - TSMgmtInt
    - TSRecordUpdateType
    - TSRecordCheckType
    - char*
    - TSRecordAccessType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7809
      start: 7795
    functionDepth: 1
    functionLinenumber: 7795
    functionLinenumberEnd: 7809
    functionName: TSMgmtIntCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigInt
    - static_cast<enum RecUpdateT>
    - static_cast<enum RecT>
    - static_cast<RecInt>
    - static_cast<enum RecCheckT>
    - static_cast<enum RecAccessT>
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSMgmtIntCreate(TSRecordType rec_type, const char *name,
      TSMgmtInt data_default, TSRecordUpdateType update_type,\n                TSRecordCheckType
      check_type, const char *check_regex, TSRecordAccessType access_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7814,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7818,1
    - Dst: HttpSM*::get_ua_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7821,1
    - Dst: HttpSM*::set_ua_half_close_flag
      Src: /src/trafficserver/src/api/InkAPI.cc:7822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - txnp
    - should_close
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7811
    functionDepth: 1
    functionLinenumber: 7811
    functionLinenumberEnd: 7831
    functionName: TSHttpTxnCloseAfterResponse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::set_ua_half_close_flag
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::get_ua_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnCloseAfterResponse(TSHttpTxn txnp, int should_close)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::HttpProxyPort
      Src: /src/trafficserver/src/api/InkAPI.cc:7837,1
    - Dst: HttpProxyPort*::processOptions
      Src: /src/trafficserver/src/api/InkAPI.cc:7839,1
    - Dst: reinterpret_cast<TSPortDescriptor>
      Src: /src/trafficserver/src/api/InkAPI.cc:7840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7845
      start: 7834
    functionDepth: 1
    functionLinenumber: 7834
    functionLinenumberEnd: 7845
    functionName: TSPortDescriptorParse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSPortDescriptor>
    - HttpProxyPort::HttpProxyPort
    - HttpProxyPort*::processOptions
    linkageType: ''
    returnType: TSPortDescriptor
    signature: TSPortDescriptor TSPortDescriptorParse(const char *descriptor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpProxyPort *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7851,1
    - Dst: make_net_accept_options
      Src: /src/trafficserver/src/api/InkAPI.cc:7852,1
    - Dst: HttpProxyPort*::isSSL
      Src: /src/trafficserver/src/api/InkAPI.cc:7854,1
    - Dst: main_accept
      Src: /src/trafficserver/src/api/InkAPI.cc:7855,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7855,1
    - Dst: main_accept
      Src: /src/trafficserver/src/api/InkAPI.cc:7857,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - descp
    - contp
    argTypes:
    - TSPortDescriptor
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7861
      start: 7847
    functionDepth: 1
    functionLinenumber: 7847
    functionLinenumberEnd: 7861
    functionName: TSPortDescriptorAccept
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - main_accept
    - HttpProxyPort*::isSSL
    - reinterpret_cast<INKContInternal *>
    - reinterpret_cast<HttpProxyPort *>
    - make_net_accept_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSPortDescriptorAccept(TSPortDescriptor descp, TSCont
      contp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cont_global
      Src: /src/trafficserver/src/api/InkAPI.cc:7868,1
    - Dst: isPlugin
      Src: /src/trafficserver/src/api/InkAPI.cc:7870,1
    - Dst: make_net_accept_options
      Src: /src/trafficserver/src/api/InkAPI.cc:7871,1
    - Dst: main_accept
      Src: /src/trafficserver/src/api/InkAPI.cc:7872,1
    - Dst: reinterpret_cast<INKContInternal *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7876
      start: 7863
    functionDepth: 2
    functionLinenumber: 7863
    functionLinenumberEnd: 7876
    functionName: TSPluginDescriptorAccept
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - isPlugin
    - main_accept
    - reinterpret_cast<INKContInternal *>
    - cont_global
    - make_net_accept_options
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSPluginDescriptorAccept(TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7881,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7881,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7885
      start: 7878
    functionDepth: 1
    functionLinenumber: 7878
    functionLinenumberEnd: 7885
    functionName: TSHttpTxnBackgroundFillStarted
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnBackgroundFillStarted(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7890,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7890,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7891,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7897,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:7897,1
    - Dst: reinterpret_cast<HTTPHdr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7898,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7903,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:7903,1
    - Dst: reinterpret_cast<HTTPHdr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7904,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:7910,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPI.cc:7910,1
    - Dst: HttpTransact::is_response_cacheable
      Src: /src/trafficserver/src/api/InkAPI.cc:7910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - txnp
    - request
    - response
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7911
      start: 7887
    functionDepth: 1
    functionLinenumber: 7887
    functionLinenumberEnd: 7911
    functionName: TSHttpTxnIsCacheable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HTTPHdr *>
    - HttpTransact::is_response_cacheable
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HttpSM *>
    - valid
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnIsCacheable(TSHttpTxn txnp, TSMBuffer request, TSMBuffer
      response)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7916,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:7916,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7917,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:7922,1
    - Dst: sdk_sanity_check_mbuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:7922,1
    - Dst: reinterpret_cast<HTTPHdr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7923,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:7929,1
    - Dst: HttpTransact::get_max_age
      Src: /src/trafficserver/src/api/InkAPI.cc:7934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - txnp
    - response
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7935
      start: 7913
    functionDepth: 1
    functionLinenumber: 7913
    functionLinenumberEnd: 7935
    functionName: TSHttpTxnGetMaxAge
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HTTPHdr *>
    - HttpTransact::get_max_age
    - sdk_sanity_check_mbuffer
    - sdk_assert
    - HTTPHdr*::valid
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: int
    signature: int TSHttpTxnGetMaxAge(TSHttpTxn txnp, TSMBuffer response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDebugNames::get_server_state_name
      Src: /src/trafficserver/src/api/InkAPI.cc:7941,1
    - Dst: static_cast<HttpTransact::ServerState_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:7941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - TSServerState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7942
      start: 7938
    functionDepth: 1
    functionLinenumber: 7938
    functionLinenumberEnd: 7942
    functionName: TSHttpServerStateNameLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<HttpTransact::ServerState_t>
    - HttpDebugNames::get_server_state_name
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpServerStateNameLookup(TSServerState state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDebugNames::get_api_hook_name
      Src: /src/trafficserver/src/api/InkAPI.cc:7947,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/src/api/InkAPI.cc:7947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7948
      start: 7944
    functionDepth: 0
    functionLinenumber: 7944
    functionLinenumberEnd: 7948
    functionName: TSHttpHookNameLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpDebugNames::get_api_hook_name
    - static_cast<TSHttpHookID>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpHookNameLookup(TSHttpHookID hook)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/api/InkAPI.cc:7953,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:7953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7954
      start: 7950
    functionDepth: 0
    functionLinenumber: 7950
    functionLinenumberEnd: 7954
    functionName: TSHttpEventNameLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 14
    functionsReached:
    - static_cast<int>
    - HttpDebugNames::get_event_name
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpEventNameLookup(TSEvent event)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSEventSupport*::getMutexForTLSEvents
      Src: /src/trafficserver/src/api/InkAPI.cc:7960,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkAPI.cc:7962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tes
    - event
    argTypes:
    - TLSEventSupport*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7963
      start: 7960
    functionDepth: 1
    functionLinenumber: 7960
    functionLinenumberEnd: 7963
    functionName: TSSslCallback::TSSslCallback
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - TLSEventSupport*::getMutexForTLSEvents
    linkageType: ''
    returnType: void
    signature: void TSSslCallback(TLSEventSupport *tes, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reenable
      Src: /src/trafficserver/src/api/InkAPI.cc:7967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7970
      start: 7964
    functionDepth: 0
    functionLinenumber: 7964
    functionLinenumberEnd: 7970
    functionName: TSSslCallback::event_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reenable
    linkageType: ''
    returnType: int
    signature: int event_handler(int /* event ATS_UNUSED */, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7981,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7990
      start: 7978
    functionDepth: 0
    functionLinenumber: 7978
    functionLinenumberEnd: 7990
    functionName: TSVConnTunnel
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<SSLNetVConnection *>
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSVConnTunnel(TSVConn sslp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:7996,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:7997,1
    - Dst: reinterpret_cast<TSSslConnection>
      Src: /src/trafficserver/src/api/InkAPI.cc:7998,1
    - Dst: auto::get_tls_handle
      Src: /src/trafficserver/src/api/InkAPI.cc:7998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8001
      start: 7992
    functionDepth: 0
    functionLinenumber: 7992
    functionLinenumberEnd: 8001
    functionName: TSVConnSslConnectionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - NetVConnection*::get_service
    - auto::get_tls_handle
    - reinterpret_cast<TSSslConnection>
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: TSSslConnection
    signature: TSSslConnection TSVConnSslConnectionGet(TSVConn sslp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8006,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8006,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8007,1
    - Dst: NetVConnection*::get_socket
      Src: /src/trafficserver/src/api/InkAPI.cc:8008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vconnp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8009
      start: 8003
    functionDepth: 1
    functionLinenumber: 8003
    functionLinenumberEnd: 8009
    functionName: TSVConnFdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - NetVConnection*::get_socket
    - reinterpret_cast<NetVConnection *>
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: int
    signature: int TSVConnFdGet(TSVConn vconnp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8022,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:8023,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/api/InkAPI.cc:8024,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:8026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sslp
    - length
    argTypes:
    - TSVConn
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8031
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8031
    functionName: TSVConnSslSniGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - auto::get_sni_server_name
    - NetVConnection*::get_service
    - strlen
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: char
    signature: 'char *

      TSVConnSslSniGet(TSVConn sslp, int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8036,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:8037,1
    - Dst: reinterpret_cast<TSSslVerifyCTX>
      Src: /src/trafficserver/src/api/InkAPI.cc:8039,1
    - Dst: TLSBasicSupport*::get_tls_cert_to_verify
      Src: /src/trafficserver/src/api/InkAPI.cc:8039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8042
      start: 8033
    functionDepth: 0
    functionLinenumber: 8033
    functionLinenumberEnd: 8042
    functionName: TSVConnSslVerifyCTXGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSSslVerifyCTX>
    - NetVConnection*::get_service
    - TLSBasicSupport*::get_tls_cert_to_verify
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: TSSslVerifyCTX
    signature: TSSslVerifyCTX TSVConnSslVerifyCTXGet(TSVConn sslp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:8047,1
    - Dst: SSLCertificateConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8052,1
    - Dst: SSLCertLookup*::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8054,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/api/InkAPI.cc:8056,1
    - Dst: reinterpret_cast<TSSslContext>
      Src: /src/trafficserver/src/api/InkAPI.cc:8058,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8058,1
    - Dst: SSLCertificateConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8044
    functionDepth: 0
    functionLinenumber: 8044
    functionLinenumberEnd: 8064
    functionName: TSSslContextFindByName
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::acquire
    - SSLCertLookup*::find
    - shared_SSL_CTX::get
    - SSLCertContext*::getCtx
    - SSLCertificateConfig::release
    - strlen
    - reinterpret_cast<TSSslContext>
    linkageType: ''
    returnType: TSSslContext
    signature: TSSslContext TSSslContextFindByName(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertificateConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8069,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/api/InkAPI.cc:8072,1
    - Dst: SSLCertLookup*::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8073,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/api/InkAPI.cc:8075,1
    - Dst: reinterpret_cast<TSSslContext>
      Src: /src/trafficserver/src/api/InkAPI.cc:8077,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8077,1
    - Dst: SSLCertificateConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8083
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8083
    functionName: TSSslContextFindByAddr
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::acquire
    - SSLCertLookup*::find
    - shared_SSL_CTX::get
    - SSLCertContext*::getCtx
    - SSLCertificateConfig::release
    - reinterpret_cast<TSSslContext>
    - IpEndpoint::assign
    linkageType: ''
    returnType: TSSslContext
    signature: TSSslContext TSSslContextFindByAddr(struct sockaddr const *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/api/InkAPI.cc:8093,1
    - Dst: SSLConfig::load_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8094,1
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8095,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8097,1
    - Dst: SSLConfigParams*::secrets::setSecret
      Src: /src/trafficserver/src/api/InkAPI.cc:8098,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:8098,1
    - Dst: SSLConfigParams*::updateCTX
      Src: /src/trafficserver/src/api/InkAPI.cc:8099,1
    - Dst: SSLConfig::load_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8100,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8103,1
    - Dst: SSLConfigParams*::secrets::setSecret
      Src: /src/trafficserver/src/api/InkAPI.cc:8104,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:8104,1
    - Dst: SSLConfigParams*::updateCTX
      Src: /src/trafficserver/src/api/InkAPI.cc:8105,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - secret_name
    - secret_name_length
    - secret_data
    - secret_data_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8109
      start: 8089
    functionDepth: 1
    functionLinenumber: 8089
    functionLinenumberEnd: 8109
    functionName: TSSslSecretSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - SSLConfigParams*::updateCTX
    - SSLConfig::acquire
    - SSLConfig::release
    - SSLConfig::load_acquire
    - Dbg
    - SSLConfig::load_release
    - static_cast<unsigned>
    - SSLConfigParams*::secrets::setSecret
    - std::string_view
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslSecretSet(const char *secret_name, int secret_name_length,
      const char *secret_data, int secret_data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8115,1
    - Dst: SSLConfigParams*::updateCTX
      Src: /src/trafficserver/src/api/InkAPI.cc:8117,1
    - Dst: std::string
      Src: /src/trafficserver/src/api/InkAPI.cc:8117,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - secret_name
    - secret_name_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8121
      start: 8111
    functionDepth: 0
    functionLinenumber: 8111
    functionLinenumberEnd: 8121
    functionName: TSSslSecretUpdate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - SSLConfig::release
    - SSLConfigParams*::updateCTX
    - SSLConfig::acquire
    - std::string
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslSecretUpdate(const char *secret_name, int secret_name_length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8126,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8127,1
    - Dst: SSLConfig::load_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8130,1
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8132,1
    - Dst: SSLConfigParams*::secrets::getSecret
      Src: /src/trafficserver/src/api/InkAPI.cc:8135,1
    - Dst: std::string
      Src: /src/trafficserver/src/api/InkAPI.cc:8135,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:8137,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8141,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPI.cc:8141,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/api/InkAPI.cc:8141,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPI.cc:8142,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/api/InkAPI.cc:8142,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/api/InkAPI.cc:8142,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/api/InkAPI.cc:8143,1
    - Dst: SSLConfig::load_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8146,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - secret_name
    - secret_name_length
    - secret_data_length
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8151
      start: 8123
    functionDepth: 1
    functionLinenumber: 8123
    functionLinenumberEnd: 8151
    functionName: TSSslSecretGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - SSLConfig::acquire
    - sdk_assert
    - std::string::size
    - std::string::data
    - std::string::empty
    - SSLConfigParams*::secrets::getSecret
    - std::string
    - static_cast<char *>
    - SSLConfig::load_acquire
    - SSLConfig::release
    - SSLConfig::load_release
    - ats_malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      TSSslSecretGet(const char *secret_name, int secret_name_length, int *secret_data_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8164,1
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8166,1
    - Dst: static_cast<std::string_view *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8171,1
    - Dst: alloca
      Src: /src/trafficserver/src/api/InkAPI.cc:8171,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8172,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8183,1
    - Dst: data
      Src: /src/trafficserver/src/api/InkAPI.cc:8185,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - n
    - result
    - actual
    argTypes:
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8193
      start: 8161
    functionDepth: 1
    functionLinenumber: 8161
    functionLinenumberEnd: 8193
    functionName: TSSslClientContextsNamesGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLConfig::acquire
    - sdk_assert
    - SSLConfig::release
    - static_cast<std::string_view *>
    - alloca
    - ink_mutex_acquire
    - data
    - ink_mutex_release
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslClientContextsNamesGet(int n, const char **result,
      int *actual)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8210,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8213,1
    - Dst: SSLConfigParams*::top_level_ctx_map::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8214,1
    - Dst: SSLConfigParams*::top_level_ctx_map::end
      Src: /src/trafficserver/src/api/InkAPI.cc:8215,1
    - Dst: auto::second::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8216,1
    - Dst: auto::second::end
      Src: /src/trafficserver/src/api/InkAPI.cc:8217,1
    - Dst: SSL_CTX_up_ref
      Src: /src/trafficserver/src/api/InkAPI.cc:8218,1
    - Dst: auto::second::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8218,1
    - Dst: reinterpret_cast<TSSslContext>
      Src: /src/trafficserver/src/api/InkAPI.cc:8219,1
    - Dst: auto::second::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8219,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8222,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ca_paths
    - ck_paths
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8226
      start: 8204
    functionDepth: 1
    functionLinenumber: 8204
    functionLinenumberEnd: 8226
    functionName: TSSslClientContextFindByName
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLConfig::acquire
    - SSLConfigParams*::top_level_ctx_map::find
    - auto::second::find
    - auto::second::end
    - SSLConfig::release
    - ink_mutex_release
    - SSL_CTX_up_ref
    - ink_mutex_acquire
    - reinterpret_cast<TSSslContext>
    - auto::second::get
    - SSLConfigParams*::top_level_ctx_map::end
    linkageType: ''
    returnType: TSSslContext
    signature: TSSslContext TSSslClientContextFindByName(const char *ca_paths, const
      char *ck_paths)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8232,1
    - Dst: reinterpret_cast<TSSslContext>
      Src: /src/trafficserver/src/api/InkAPI.cc:8234,1
    - Dst: SSLCreateServerContext
      Src: /src/trafficserver/src/api/InkAPI.cc:8234,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/trafficserver/src/api/InkAPI.cc:8236,1
    - Dst: reinterpret_cast<SSL_CTX *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8236,1
    - Dst: ssl_stapling_init_cert
      Src: /src/trafficserver/src/api/InkAPI.cc:8237,1
    - Dst: reinterpret_cast<SSL_CTX *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8237,1
    - Dst: reinterpret_cast<X509 *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8237,1
    - Dst: Warning
      Src: /src/trafficserver/src/api/InkAPI.cc:8238,1
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/api/InkAPI.cc:8242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - certname
    - rsp_file
    argTypes:
    - TSSslX509
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8245
      start: 8228
    functionDepth: 1
    functionLinenumber: 8228
    functionLinenumberEnd: 8245
    functionName: TSSslServerContextCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - Warning
    - SSLConfig::acquire
    - SSLConfig::release
    - reinterpret_cast<SSL_CTX *>
    - ssl_stapling_init_cert
    - reinterpret_cast<TSSslContext>
    - reinterpret_cast<X509 *>
    - SSL_CTX_set_tlsext_status_cb
    - SSLCreateServerContext
    linkageType: ''
    returnType: TSSslContext
    signature: TSSslContext TSSslServerContextCreate(TSSslX509 cert, const char *certname,
      const char *rsp_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLReleaseContext
      Src: /src/trafficserver/src/api/InkAPI.cc:8250,1
    - Dst: reinterpret_cast<SSL_CTX *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TSSslContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8251
      start: 8247
    functionDepth: 0
    functionLinenumber: 8247
    functionLinenumberEnd: 8251
    functionName: TSSslContextDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<SSL_CTX *>
    - SSLReleaseContext
    linkageType: ''
    returnType: void
    signature: void TSSslContextDestroy(TSSslContext ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8262,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/api/InkAPI.cc:8265,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8266,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:8266,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/api/InkAPI.cc:8266,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/api/InkAPI.cc:8266,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8274,1
    - Dst: auto::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8277,1
    - Dst: auto::end
      Src: /src/trafficserver/src/api/InkAPI.cc:8278,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8283,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:8286,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8291,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/api/InkAPI.cc:8292,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/api/InkAPI.cc:8293,1
    - Dst: shared_SSL_CTX
      Src: /src/trafficserver/src/api/InkAPI.cc:8297,1
    - Dst: SSLCreateClientContext
      Src: /src/trafficserver/src/api/InkAPI.cc:8297,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:8297,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:8297,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:8298,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:8298,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkAPI.cc:8302,1
    - Dst: auto::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8303,1
    - Dst: auto::end
      Src: /src/trafficserver/src/api/InkAPI.cc:8304,1
    - Dst: auto::second::count
      Src: /src/trafficserver/src/api/InkAPI.cc:8304,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkAPI.cc:8309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8313
      start: 8253
    functionDepth: 1
    functionLinenumber: 8253
    functionLinenumberEnd: 8313
    functionName: TSSslClientCertUpdate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string::find
    - auto::end
    - shared_SSL_CTX
    - SSLConfig::acquire
    - std::string::substr
    - std::string::size
    - std::string::data
    - std::string::empty
    - Dbg
    - auto::find
    - ink_mutex_acquire
    - auto::second::count
    - swoc::SWOC_VERSION_NS::bwprint
    - SSLCreateClientContext
    - ink_mutex_release
    - std::string::c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslClientCertUpdate(const char *cert_path, const char
      *key_path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/trafficserver/src/api/InkAPI.cc:8335,1
    - Dst: std::shared_ptr<X509>
      Src: /src/trafficserver/src/api/InkAPI.cc:8337,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/api/InkAPI.cc:8337,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8337,1
    - Dst: SSLError
      Src: /src/trafficserver/src/api/InkAPI.cc:8340,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/src/api/InkAPI.cc:8345,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/api/InkAPI.cc:8345,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8345,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/src/api/InkAPI.cc:8346,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/api/InkAPI.cc:8346,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8346,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/src/api/InkAPI.cc:8347,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8348,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8348,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/api/InkAPI.cc:8348,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/api/InkAPI.cc:8349,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:8349,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:8349,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8353,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8356,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/api/InkAPI.cc:8357,1
    - Dst: shared_SSL_CTX
      Src: /src/trafficserver/src/api/InkAPI.cc:8358,1
    - Dst: SSLCreateServerContext
      Src: /src/trafficserver/src/api/InkAPI.cc:8358,1
    - Dst: SSLCertContext*::userconfig::get
      Src: /src/trafficserver/src/api/InkAPI.cc:8358,1
    - Dst: SSLCertContext*::setCtx
      Src: /src/trafficserver/src/api/InkAPI.cc:8363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8369
      start: 8315
    functionDepth: 1
    functionLinenumber: 8315
    functionLinenumberEnd: 8369
    functionName: TSSslServerCertUpdate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLError
    - PEM_read_bio_X509
    - X509_get_subject_name
    - shared_SSL_CTX
    - ASN1_STRING_get0_data
    - scoped_BIO::get
    - const_cast<unsigned char *>
    - static_cast<int>
    - std::shared_ptr<X509>
    - SSLCertContext*::setCtx
    - std::shared_ptr::get
    - SSLCertificateConfig::scoped_config::find
    - Dbg
    - X509_NAME_get_index_by_NID
    - strlen
    - X509_NAME_ENTRY_get_data
    - ASN1_STRING_length
    - BIO_new_file
    - SSLCertContext*::getCtx
    - reinterpret_cast<char *>
    - X509_NAME_get_entry
    - SSLCertContext*::userconfig::get
    - SSLCreateServerContext
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslServerCertUpdate(const char *cert_path, const char
      *key_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLTicketKeyConfig::reconfigure_data
      Src: /src/trafficserver/src/api/InkAPI.cc:8374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ticketData
    - ticketDataLen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8375
      start: 8371
    functionDepth: 1
    functionLinenumber: 8371
    functionLinenumberEnd: 8375
    functionName: TSSslTicketKeyUpdate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SSLTicketKeyConfig::reconfigure_data
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslTicketKeyUpdate(char *ticketData, int ticketDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toIndexConst
      Src: /src/trafficserver/src/api/InkAPI.cc:8381,1
    - Dst: reinterpret_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8382,1
    - Dst: auto::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:8383,1
    - Dst: auto::enableProtocol
      Src: /src/trafficserver/src/api/InkAPI.cc:8384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connp
    - protocol_name
    argTypes:
    - TSVConn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8388
      start: 8377
    functionDepth: 0
    functionLinenumber: 8377
    functionLinenumberEnd: 8388
    functionName: TSVConnProtocolEnable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - auto::get_service
    - auto::enableProtocol
    - reinterpret_cast<UnixNetVConnection *>
    - toIndexConst
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSVConnProtocolEnable(TSVConn connp, const char *protocol_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toIndexConst
      Src: /src/trafficserver/src/api/InkAPI.cc:8394,1
    - Dst: reinterpret_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8395,1
    - Dst: auto::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:8396,1
    - Dst: auto::disableProtocol
      Src: /src/trafficserver/src/api/InkAPI.cc:8397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connp
    - protocol_name
    argTypes:
    - TSVConn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8401
      start: 8390
    functionDepth: 0
    functionLinenumber: 8390
    functionLinenumberEnd: 8401
    functionName: TSVConnProtocolDisable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - auto::get_service
    - auto::disableProtocol
    - reinterpret_cast<UnixNetVConnection *>
    - toIndexConst
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSVConnProtocolDisable(TSVConn connp, const char *protocol_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8406,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8407,1
    - Dst: reinterpret_cast<TSAcceptor>
      Src: /src/trafficserver/src/api/InkAPI.cc:8408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8409
      start: 8403
    functionDepth: 0
    functionLinenumber: 8403
    functionLinenumberEnd: 8409
    functionName: TSAcceptorGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSAcceptor>
    - dynamic_cast<SSLNetVConnection *>
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: TSAcceptor
    signature: TSAcceptor TSAcceptorGet(TSVConn sslp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:8414,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:8414,1
    - Dst: at
      Src: /src/trafficserver/src/api/InkAPI.cc:8415,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8416,1
    - Dst: reinterpret_cast<TSAcceptor>
      Src: /src/trafficserver/src/api/InkAPI.cc:8417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8418
      start: 8411
    functionDepth: 1
    functionLinenumber: 8411
    functionLinenumberEnd: 8418
    functionName: TSAcceptorGetbyID
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Dbg
    - reinterpret_cast<TSAcceptor>
    - this_ethread
    - at
    linkageType: ''
    returnType: TSAcceptor
    signature: TSAcceptor TSAcceptorGetbyID(int ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetAccept *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acceptor
    argTypes:
    - TSAcceptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8425
      start: 8420
    functionDepth: 0
    functionLinenumber: 8420
    functionLinenumberEnd: 8425
    functionName: TSAcceptorIDGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<NetAccept *>
    linkageType: ''
    returnType: int
    signature: int TSAcceptorIDGet(TSAcceptor acceptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:8430,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:8430,1
    - Dst: size
      Src: /src/trafficserver/src/api/InkAPI.cc:8431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8432
      start: 8427
    functionDepth: 1
    functionLinenumber: 8427
    functionLinenumberEnd: 8432
    functionName: TSAcceptorCount
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - size
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int TSAcceptorCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8437,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8440
      start: 8434
    functionDepth: 0
    functionLinenumber: 8434
    functionLinenumberEnd: 8440
    functionName: TSVConnIsSsl
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - dynamic_cast<SSLNetVConnection *>
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: int
    signature: int TSVConnIsSsl(TSVConn sslp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8445,1
    - Dst: NetVConnection*::provided_cert
      Src: /src/trafficserver/src/api/InkAPI.cc:8446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslp
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8447
      start: 8442
    functionDepth: 0
    functionLinenumber: 8442
    functionLinenumberEnd: 8447
    functionName: TSVConnProvidedSslCert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::provided_cert
    - reinterpret_cast<NetVConnection *>
    linkageType: ''
    returnType: int
    signature: int TSVConnProvidedSslCert(TSVConn sslp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/src/api/InkAPI.cc:8452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8453
      start: 8449
    functionDepth: 1
    functionLinenumber: 8449
    functionLinenumberEnd: 8453
    functionName: TSVConnReenable
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 10
    functionsReached:
    - TSVConnReenableEx
    linkageType: ''
    returnType: void
    signature: void TSVConnReenable(TSVConn vconn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8458,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/api/InkAPI.cc:8460,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPI.cc:8461,1
    - Dst: auto::getMutexForTLSEvents
      Src: /src/trafficserver/src/api/InkAPI.cc:8464,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/InkAPI.cc:8465,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/InkAPI.cc:8466,1
    - Dst: auto::reenable
      Src: /src/trafficserver/src/api/InkAPI.cc:8467,1
    - Dst: auto::getThreadForTLSEvents
      Src: /src/trafficserver/src/api/InkAPI.cc:8470,1
    - Dst: TSSslCallback::TSSslCallback
      Src: /src/trafficserver/src/api/InkAPI.cc:8470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vconn
    - event
    argTypes:
    - TSVConn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8473
      start: 8455
    functionDepth: 2
    functionLinenumber: 8455
    functionLinenumberEnd: 8473
    functionName: TSVConnReenableEx
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 3
    functionsReached:
    - is_locked
    - auto::reenable
    - auto::getThreadForTLSEvents
    - TSSslCallback::TSSslCallback
    - auto::getMutexForTLSEvents
    - NetVConnection*::get_service
    - this_ethread
    - reinterpret_cast<NetVConnection *>
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: void
    signature: void TSVConnReenableEx(TSVConn vconn, TSEvent event)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8478,1
    - Dst: NetVConnection*::get_proxy_protocol_info
      Src: /src/trafficserver/src/api/InkAPI.cc:8481,1
    - Dst: auto::find
      Src: /src/trafficserver/src/api/InkAPI.cc:8482,1
    - Dst: auto::end
      Src: /src/trafficserver/src/api/InkAPI.cc:8482,1
    - Dst: auto::second::data
      Src: /src/trafficserver/src/api/InkAPI.cc:8483,1
    - Dst: auto::second::length
      Src: /src/trafficserver/src/api/InkAPI.cc:8484,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8491,1
    - Dst: NetVConnection*::get_proxy_protocol_src_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:8491,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/api/InkAPI.cc:8495,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8495,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8498,1
    - Dst: NetVConnection*::get_proxy_protocol_dst_addr
      Src: /src/trafficserver/src/api/InkAPI.cc:8498,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/api/InkAPI.cc:8502,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - vconn
    - key
    - value
    - length
    argTypes:
    - TSVConn
    - uint16_t
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8510
      start: 8475
    functionDepth: 1
    functionLinenumber: 8475
    functionLinenumberEnd: 8510
    functionName: TSVConnPPInfoGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - auto::end
    - NetVConnection*::get_proxy_protocol_dst_addr
    - NetVConnection*::get_proxy_protocol_info
    - auto::second::length
    - reinterpret_cast<const char *>
    - NetVConnection*::get_proxy_protocol_src_addr
    - ats_ip_size
    - auto::find
    - reinterpret_cast<NetVConnection *>
    - auto::second::data
    - reinterpret_cast<const sockaddr *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSVConnPPInfoGet(TSVConn vconn, uint16_t key, const char
      **value, int *length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8515,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:8523,1
    - Dst: NetVConnection*::get_proxy_protocol_version
      Src: /src/trafficserver/src/api/InkAPI.cc:8523,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:8526,1
    - Dst: NetVConnection*::get_proxy_protocol_src_port
      Src: /src/trafficserver/src/api/InkAPI.cc:8526,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:8529,1
    - Dst: NetVConnection*::get_proxy_protocol_dst_port
      Src: /src/trafficserver/src/api/InkAPI.cc:8529,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:8532,1
    - Dst: NetVConnection*::get_proxy_protocol_info
      Src: /src/trafficserver/src/api/InkAPI.cc:8532,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/api/InkAPI.cc:8535,1
    - Dst: NetVConnection*::get_proxy_protocol_info
      Src: /src/trafficserver/src/api/InkAPI.cc:8535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - vconn
    - key
    - value
    argTypes:
    - TSVConn
    - uint16_t
    - TSMgmtInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8543
      start: 8512
    functionDepth: 0
    functionLinenumber: 8512
    functionLinenumberEnd: 8543
    functionName: TSVConnPPInfoIntGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - NetVConnection*::get_proxy_protocol_info
    - static_cast<TSMgmtInt>
    - NetVConnection*::get_proxy_protocol_src_port
    - reinterpret_cast<NetVConnection *>
    - NetVConnection*::get_proxy_protocol_version
    - NetVConnection*::get_proxy_protocol_dst_port
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSVConnPPInfoIntGet(TSVConn vconn, uint16_t key, TSMgmtInt
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSession
      Src: /src/trafficserver/src/api/InkAPI.cc:8550,1
    - Dst: reinterpret_cast<const SSLSessionID &>
      Src: /src/trafficserver/src/api/InkAPI.cc:8550,1
    - Dst: reinterpret_cast<TSSslSession>
      Src: /src/trafficserver/src/api/InkAPI.cc:8552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - TSSslSessionID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8553
      start: 8545
    functionDepth: 0
    functionLinenumber: 8545
    functionLinenumberEnd: 8553
    functionName: TSSslSessionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - getSession
    - reinterpret_cast<const SSLSessionID &>
    - reinterpret_cast<TSSslSession>
    linkageType: ''
    returnType: TSSslSession
    signature: TSSslSession TSSslSessionGet(const TSSslSessionID *session_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSessionBuffer
      Src: /src/trafficserver/src/api/InkAPI.cc:8561,1
    - Dst: reinterpret_cast<const SSLSessionID &>
      Src: /src/trafficserver/src/api/InkAPI.cc:8561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - session_id
    - buffer
    - len_ptr
    argTypes:
    - TSSslSessionID*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8564
      start: 8555
    functionDepth: 0
    functionLinenumber: 8555
    functionLinenumberEnd: 8564
    functionName: TSSslSessionGetBuffer
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SSLSessionID &>
    - getSessionBuffer
    linkageType: ''
    returnType: int
    signature: int TSSslSessionGetBuffer(const TSSslSessionID *session_id, char *buffer,
      int *len_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/api/InkAPI.cc:8571,1
    - Dst: reinterpret_cast<const SSLSessionID *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8572,1
    - Dst: SSLSessionID*::toString
      Src: /src/trafficserver/src/api/InkAPI.cc:8574,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/api/InkAPI.cc:8575,1
    - Dst: reinterpret_cast<SSL_SESSION *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8577,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8578,1
    - Dst: insertSession
      Src: /src/trafficserver/src/api/InkAPI.cc:8579,1
    - Dst: reinterpret_cast<const SSLSessionID &>
      Src: /src/trafficserver/src/api/InkAPI.cc:8579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - session_id
    - add_session
    - ssl_conn
    argTypes:
    - TSSslSessionID*
    - TSSslSession
    - TSSslConnection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8585
      start: 8566
    functionDepth: 1
    functionLinenumber: 8566
    functionLinenumberEnd: 8585
    functionName: TSSslSessionInsert
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SSLSessionID *>
    - 'on'
    - insertSession
    - DbgPrint
    - reinterpret_cast<SSL_SESSION *>
    - reinterpret_cast<const SSLSessionID &>
    - reinterpret_cast<SSL *>
    - SSLSessionID*::toString
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslSessionInsert(const TSSslSessionID *session_id, TSSslSession
      add_session, TSSslConnection ssl_conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeSession
      Src: /src/trafficserver/src/api/InkAPI.cc:8592,1
    - Dst: reinterpret_cast<const SSLSessionID &>
      Src: /src/trafficserver/src/api/InkAPI.cc:8592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - TSSslSessionID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8598
      start: 8587
    functionDepth: 0
    functionLinenumber: 8587
    functionLinenumberEnd: 8598
    functionName: TSSslSessionRemove
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - removeSession
    - reinterpret_cast<const SSLSessionID &>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSSslSessionRemove(const TSSslSessionID *session_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSUuid::ATSUuid
      Src: /src/trafficserver/src/api/InkAPI.cc:8604,1
    - Dst: reinterpret_cast<TSUuid>
      Src: /src/trafficserver/src/api/InkAPI.cc:8605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8606
      start: 8601
    functionDepth: 1
    functionLinenumber: 8601
    functionLinenumberEnd: 8606
    functionName: TSUuidCreate
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ATSUuid::ATSUuid
    - reinterpret_cast<TSUuid>
    linkageType: ''
    returnType: TSUuid
    signature: TSUuid TSUuidCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8611,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8611,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - TSUuid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8613
      start: 8608
    functionDepth: 1
    functionLinenumber: 8608
    functionLinenumberEnd: 8613
    functionName: TSUuidDestroy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<ATSUuid *>
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: void
    signature: void TSUuidDestroy(TSUuid uuid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8618,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8618,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8619,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8619,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8620,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8621,1
    - Dst: ATSUuid*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:8623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - TSUuid
    - TSUuid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8629
      start: 8615
    functionDepth: 1
    functionLinenumber: 8615
    functionLinenumberEnd: 8629
    functionName: TSUuidCopy
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<ATSUuid *>
    - ATSUuid*::valid
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUuidCopy(TSUuid dest, const TSUuid src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8634,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8634,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8635,1
    - Dst: ATSUuid*::initialize
      Src: /src/trafficserver/src/api/InkAPI.cc:8637,1
    - Dst: ATSUuid*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:8638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - uuid
    - v
    argTypes:
    - TSUuid
    - TSUuidVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8639
      start: 8631
    functionDepth: 1
    functionLinenumber: 8631
    functionLinenumberEnd: 8639
    functionName: TSUuidInitialize
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ATSUuid*::valid
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<ATSUuid *>
    - sdk_assert
    - ATSUuid*::initialize
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUuidInitialize(TSUuid uuid, TSUuidVersion v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Machine::instance
      Src: /src/trafficserver/src/api/InkAPI.cc:8644,1
    - Dst: reinterpret_cast<TSUuid>
      Src: /src/trafficserver/src/api/InkAPI.cc:8645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8646
      start: 8641
    functionDepth: 1
    functionLinenumber: 8641
    functionLinenumberEnd: 8646
    functionName: TSProcessUuidGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - Machine::instance
    - reinterpret_cast<TSUuid>
    linkageType: ''
    returnType: TSUuid
    signature: TSUuid TSProcessUuidGet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8651,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8651,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8652,1
    - Dst: ATSUuid*::valid
      Src: /src/trafficserver/src/api/InkAPI.cc:8654,1
    - Dst: ATSUuid*::getString
      Src: /src/trafficserver/src/api/InkAPI.cc:8655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - TSUuid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8659
      start: 8648
    functionDepth: 1
    functionLinenumber: 8648
    functionLinenumberEnd: 8659
    functionName: TSUuidStringGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - ATSUuid*::valid
    - sdk_sanity_check_null_ptr
    - reinterpret_cast<ATSUuid *>
    - sdk_assert
    - ATSUuid*::getString
    linkageType: ''
    returnType: char
    signature: 'char *

      TSUuidStringGet(const TSUuid uuid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8664,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8664,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8666,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8667,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/api/InkAPI.cc:8667,1
    - Dst: getString
      Src: /src/trafficserver/src/api/InkAPI.cc:8667,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPI.cc:8670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - uuid_str
    argTypes:
    - TSHttpTxn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8676
      start: 8661
    functionDepth: 1
    functionLinenumber: 8661
    functionLinenumberEnd: 8676
    functionName: TSClientRequestUuidGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - Machine::instance
    - sdk_assert
    - const_cast<char *>
    - reinterpret_cast<HttpSM *>
    - snprintf
    - getString
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSClientRequestUuidGet(TSHttpTxn txnp, char *uuid_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8681,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8681,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8682,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8682,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8683,1
    - Dst: ATSUuid*::parseString
      Src: /src/trafficserver/src/api/InkAPI.cc:8685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - uuid
    - str
    argTypes:
    - TSUuid
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8690
      start: 8678
    functionDepth: 1
    functionLinenumber: 8678
    functionLinenumberEnd: 8690
    functionName: TSUuidStringParse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - ATSUuid*::parseString
    - reinterpret_cast<ATSUuid *>
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSUuidStringParse(TSUuid uuid, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8695,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8695,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8696,1
    - Dst: ATSUuid*::version
      Src: /src/trafficserver/src/api/InkAPI.cc:8698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - TSUuid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8699
      start: 8692
    functionDepth: 1
    functionLinenumber: 8692
    functionLinenumberEnd: 8699
    functionName: TSUuidVersionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<ATSUuid *>
    - ATSUuid*::version
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSUuidVersion
    signature: TSUuidVersion TSUuidVersionGet(TSUuid uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8705,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8705,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8706,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/api/InkAPI.cc:8708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8709
      start: 8702
    functionDepth: 1
    functionLinenumber: 8702
    functionLinenumberEnd: 8709
    functionName: TSHttpTxnIdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TSHttpTxnIdGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8715,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:8715,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8716,1
    - Dst: ProxySession*::connection_id
      Src: /src/trafficserver/src/api/InkAPI.cc:8717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8718
      start: 8712
    functionDepth: 1
    functionLinenumber: 8712
    functionLinenumberEnd: 8718
    functionName: TSHttpSsnIdGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - ProxySession*::connection_id
    - reinterpret_cast<ProxySession *>
    - sdk_sanity_check_http_ssn
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSHttpSsnIdGet(TSHttpSsn ssnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8724,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8724,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8725,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8726,1
    - Dst: static_cast<std::string_view *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8729,1
    - Dst: alloca
      Src: /src/trafficserver/src/api/InkAPI.cc:8729,1
    - Dst: HttpSM*::populate_client_protocol
      Src: /src/trafficserver/src/api/InkAPI.cc:8730,1
    - Dst: data
      Src: /src/trafficserver/src/api/InkAPI.cc:8732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - txnp
    - count
    - result
    - actual
    argTypes:
    - TSHttpTxn
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8739
      start: 8721
    functionDepth: 1
    functionLinenumber: 8721
    functionLinenumberEnd: 8739
    functionName: TSHttpTxnClientProtocolStackGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - static_cast<std::string_view *>
    - alloca
    - HttpSM*::populate_client_protocol
    - data
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnClientProtocolStackGet(TSHttpTxn txnp, int count,
      const char **result, int *actual)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8744,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:8744,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8745,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8746,1
    - Dst: static_cast<std::string_view *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8749,1
    - Dst: alloca
      Src: /src/trafficserver/src/api/InkAPI.cc:8749,1
    - Dst: auto*::populate_protocol
      Src: /src/trafficserver/src/api/InkAPI.cc:8750,1
    - Dst: data
      Src: /src/trafficserver/src/api/InkAPI.cc:8752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ssnp
    - count
    - result
    - actual
    argTypes:
    - TSHttpSsn
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8759
      start: 8741
    functionDepth: 1
    functionLinenumber: 8741
    functionLinenumberEnd: 8759
    functionName: TSHttpSsnClientProtocolStackGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_http_ssn
    - sdk_assert
    - auto*::populate_protocol
    - static_cast<std::string_view *>
    - alloca
    - data
    - reinterpret_cast<ProxySession *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpSsnClientProtocolStackGet(TSHttpSsn ssnp, int count,
      const char **result, int *actual)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8765,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8765,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8766,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8767,1
    - Dst: static_cast<std::string_view *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8770,1
    - Dst: alloca
      Src: /src/trafficserver/src/api/InkAPI.cc:8770,1
    - Dst: HttpSM*::populate_server_protocol
      Src: /src/trafficserver/src/api/InkAPI.cc:8771,1
    - Dst: data
      Src: /src/trafficserver/src/api/InkAPI.cc:8773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - txnp
    - count
    - result
    - actual
    argTypes:
    - TSHttpTxn
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8780
      start: 8762
    functionDepth: 1
    functionLinenumber: 8762
    functionLinenumberEnd: 8780
    functionName: TSHttpTxnServerProtocolStackGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::populate_server_protocol
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - static_cast<std::string_view *>
    - alloca
    - data
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnServerProtocolStackGet(TSHttpTxn txnp, int count,
      const char **result, int *actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecNormalizeProtoTag
      Src: /src/trafficserver/src/api/InkAPI.cc:8785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8786
      start: 8782
    functionDepth: 1
    functionLinenumber: 8782
    functionLinenumberEnd: 8786
    functionName: TSNormalizedProtocolTag
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - RecNormalizeProtoTag
    linkageType: ''
    returnType: char
    signature: 'char *

      TSNormalizedProtocolTag(const char *tag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8791,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8791,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8792,1
    - Dst: HttpSM*::client_protocol_contains
      Src: /src/trafficserver/src/api/InkAPI.cc:8793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - tag
    argTypes:
    - TSHttpTxn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8794
      start: 8788
    functionDepth: 1
    functionLinenumber: 8788
    functionLinenumberEnd: 8794
    functionName: TSHttpTxnClientProtocolStackContains
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::client_protocol_contains
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnClientProtocolStackContains(TSHttpTxn txnp, const char *tag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8799,1
    - Dst: sdk_sanity_check_http_ssn
      Src: /src/trafficserver/src/api/InkAPI.cc:8799,1
    - Dst: reinterpret_cast<ProxySession *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8800,1
    - Dst: ProxySession*::protocol_contains
      Src: /src/trafficserver/src/api/InkAPI.cc:8801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssnp
    - tag
    argTypes:
    - TSHttpSsn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8802
      start: 8796
    functionDepth: 1
    functionLinenumber: 8796
    functionLinenumberEnd: 8802
    functionName: TSHttpSsnClientProtocolStackContains
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - ProxySession*::protocol_contains
    - reinterpret_cast<ProxySession *>
    - sdk_sanity_check_http_ssn
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpSsnClientProtocolStackContains(TSHttpSsn ssnp, const char *tag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8807,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8807,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8808,1
    - Dst: HttpSM*::server_protocol_contains
      Src: /src/trafficserver/src/api/InkAPI.cc:8809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - tag
    argTypes:
    - TSHttpTxn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8810
      start: 8804
    functionDepth: 1
    functionLinenumber: 8804
    functionLinenumberEnd: 8810
    functionName: TSHttpTxnServerProtocolStackContains
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - HttpSM*::server_protocol_contains
    linkageType: ''
    returnType: char
    signature: 'char *

      TSHttpTxnServerProtocolStackContains(TSHttpTxn txnp, const char *tag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8816
      start: 8812
    functionDepth: 0
    functionLinenumber: 8812
    functionLinenumberEnd: 8816
    functionName: TSRegisterProtocolTag
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TSRegisterProtocolTag(const char * /* tag ATS_UNUSED */)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8821,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8821,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8823,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8825,1
    - Dst: HttpTransact::State*::cache_info::lookup_url::parse
      Src: /src/trafficserver/src/api/InkAPI.cc:8829,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPI.cc:8829,1
    - Dst: HttpSM*::rewind_state_machine
      Src: /src/trafficserver/src/api/InkAPI.cc:8832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - txnp
    - url
    - length
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8836
      start: 8818
    functionDepth: 1
    functionLinenumber: 8818
    functionLinenumberEnd: 8836
    functionName: TSHttpTxnRedoCacheLookup
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - HttpSM*::rewind_state_machine
    - reinterpret_cast<HttpSM *>
    - strlen
    - HttpTransact::State*::cache_info::lookup_url::parse
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHttpTxnRedoCacheLookup(TSHttpTxn txnp, const char *url,
      int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8845,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8845,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8846,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8846,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8847,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:8859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - urlLocp
    - (UrlMappingContainer::*mfp)() const
    argTypes:
    - TSHttpTxn
    - TSMLoc*
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8862
      start: 8842
    functionDepth: 1
    functionLinenumber: 8842
    functionLinenumberEnd: 8862
    functionName: remapUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode remapUrlGet(TSHttpTxn txnp, TSMLoc *urlLocp, URL *(UrlMappingContainer::*mfp)()
      const)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8845,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8845,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8846,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8846,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8847,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPI.cc:8859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - txnp
    - urlLocp
    - (UrlMappingContainer::*mfp)() const
    argTypes:
    - TSHttpTxn
    - TSMLoc*
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8862
      start: 8842
    functionDepth: 1
    functionLinenumber: 8842
    functionLinenumberEnd: 8862
    functionName: remapUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_sanity_check_null_ptr
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode remapUrlGet(TSHttpTxn txnp, TSMLoc *urlLocp, URL *(UrlMappingContainer::*mfp)()
      const)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remapUrlGet
      Src: /src/trafficserver/src/api/InkAPI.cc:8869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - urlLocp
    argTypes:
    - TSHttpTxn
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8870
      start: 8866
    functionDepth: 2
    functionLinenumber: 8866
    functionLinenumberEnd: 8870
    functionName: TSRemapFromUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - remapUrlGet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapFromUrlGet(TSHttpTxn txnp, TSMLoc *urlLocp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remapUrlGet
      Src: /src/trafficserver/src/api/InkAPI.cc:8875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - urlLocp
    argTypes:
    - TSHttpTxn
    - TSMLoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8876
      start: 8872
    functionDepth: 2
    functionLinenumber: 8872
    functionLinenumberEnd: 8876
    functionName: TSRemapToUrlGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - remapUrlGet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapToUrlGet(TSHttpTxn txnp, TSMLoc *urlLocp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8881,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8881,1
    - Dst: reinterpret_cast<RemapPluginInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8882,1
    - Dst: RemapPluginInfo*::dlh
      Src: /src/trafficserver/src/api/InkAPI.cc:8884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin_info
    argTypes:
    - TSRemapPluginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8885
      start: 8878
    functionDepth: 1
    functionLinenumber: 8878
    functionLinenumberEnd: 8885
    functionName: TSRemapDLHandleGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - RemapPluginInfo*::dlh
    - reinterpret_cast<RemapPluginInfo *>
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: void
    signature: 'void *

      TSRemapDLHandleGet(TSRemapPluginInfo plugin_info)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Machine::instance
      Src: /src/trafficserver/src/api/InkAPI.cc:8890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hostname
    - hostname_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8891
      start: 8887
    functionDepth: 1
    functionLinenumber: 8887
    functionLinenumberEnd: 8891
    functionName: TSHostnameIsSelf
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - Machine::instance
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHostnameIsSelf(const char *hostname, size_t hostname_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/api/InkAPI.cc:8896,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:8896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - hostname
    - hostname_len
    - status
    - reason
    argTypes:
    - char*
    - size_t
    - TSHostStatus*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8907
      start: 8893
    functionDepth: 2
    functionLinenumber: 8893
    functionLinenumberEnd: 8907
    functionName: TSHostStatusGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - RegexContext::get_instance
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSHostStatusGet(const char *hostname, const size_t hostname_len,
      TSHostStatus *status, unsigned int *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/api/InkAPI.cc:8913,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPI.cc:8913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - hostname
    - hostname_len
    - status
    - down_time
    - reason
    argTypes:
    - char*
    - size_t
    - TSHostStatus
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8914
      start: 8909
    functionDepth: 2
    functionLinenumber: 8909
    functionLinenumberEnd: 8914
    functionName: TSHostStatusSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: "void TSHostStatusSet(const char *hostname, const size_t hostname_len,
      TSHostStatus status, const unsigned int down_time,\n                const unsigned
      int reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - action
    argTypes:
    - TSHttpTxn
    - TSResponseAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8929
      start: 8922
    functionDepth: 0
    functionLinenumber: 8922
    functionLinenumberEnd: 8929
    functionName: TSHttpTxnResponseActionSet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HttpSM *>
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnResponseActionSet(TSHttpTxn txnp, TSResponseAction *action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8941,1
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPI.cc:8944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txnp
    - action
    argTypes:
    - TSHttpTxn
    - TSResponseAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8948
      start: 8938
    functionDepth: 0
    functionLinenumber: 8938
    functionLinenumberEnd: 8948
    functionName: TSHttpTxnResponseActionGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<HttpSM *>
    linkageType: ''
    returnType: void
    signature: void TSHttpTxnResponseActionGet(TSHttpTxn txnp, TSResponseAction *action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8953,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:8953,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8954,1
    - Dst: reinterpret_cast<TSIOBufferReader>
      Src: /src/trafficserver/src/api/InkAPI.cc:8955,1
    - Dst: HttpSM*::get_postbuf_clone_reader
      Src: /src/trafficserver/src/api/InkAPI.cc:8955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8956
      start: 8950
    functionDepth: 1
    functionLinenumber: 8950
    functionLinenumberEnd: 8956
    functionName: TSHttpTxnPostBufferReaderGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSIOBufferReader>
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - HttpSM*::get_postbuf_clone_reader
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSIOBufferReader
    signature: TSIOBufferReader TSHttpTxnPostBufferReaderGet(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8961,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8961,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8962,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkAPI.cc:8962,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:8968,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:8968,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPI.cc:8969,1
    - Dst: ::rpc::RPCRegistryInfo::RPCRegistryInfo
      Src: /src/trafficserver/src/api/InkAPI.cc:8974,1
    - Dst: reinterpret_cast<TSRPCProviderHandle>
      Src: /src/trafficserver/src/api/InkAPI.cc:8977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - provider_name
    - provider_len
    - yaml_version
    - yamlcpp_lib_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8978
      start: 8958
    functionDepth: 1
    functionLinenumber: 8958
    functionLinenumberEnd: 8978
    functionName: TSRPCRegister
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - sdk_sanity_check_null_ptr
    - ::rpc::RPCRegistryInfo::RPCRegistryInfo
    - reinterpret_cast<TSRPCProviderHandle>
    - sdk_assert
    - Dbg
    linkageType: ''
    returnType: TSRPCProviderHandle
    signature: TSRPCProviderHandle TSRPCRegister(const char *provider_name, size_t
      provider_len, const char *yaml_version, size_t yamlcpp_lib_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:8984,1
    - Dst: sdk_sanity_check_rpc_handler_options
      Src: /src/trafficserver/src/api/InkAPI.cc:8984,1
    - Dst: rpc::add_method_handler_from_plugin
      Src: /src/trafficserver/src/api/InkAPI.cc:8986,1
    - Dst: data
      Src: /src/trafficserver/src/api/InkAPI.cc:8989,1
    - Dst: size
      Src: /src/trafficserver/src/api/InkAPI.cc:8989,1
    - Dst: callback
      Src: /src/trafficserver/src/api/InkAPI.cc:8990,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:8990,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/src/api/InkAPI.cc:8990,1
    - Dst: const_cast<YAML::Node *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8990,1
    - Dst: reinterpret_cast<const ::rpc::RPCRegistryInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:8992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - name
    - name_len
    - callback
    - info
    - opt
    argTypes:
    - char*
    - size_t
    - TSRPCMethodCb
    - TSRPCProviderHandle
    - TSRPCHandlerOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8996
      start: 8980
    functionDepth: 1
    functionLinenumber: 8980
    functionLinenumberEnd: 8996
    functionName: TSRPCRegisterMethodHandler
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - rpc::add_method_handler_from_plugin
    - const_cast<YAML::Node *>
    - reinterpret_cast<const ::rpc::RPCRegistryInfo *>
    - sdk_sanity_check_rpc_handler_options
    - sdk_assert
    - reinterpret_cast<TSYaml>
    - callback
    - data
    - size
    - std::string::c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRPCRegisterMethodHandler(const char *name, size_t name_len,
      TSRPCMethodCb callback, TSRPCProviderHandle info,\n                           const
      TSRPCHandlerOptions *opt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:9002,1
    - Dst: sdk_sanity_check_rpc_handler_options
      Src: /src/trafficserver/src/api/InkAPI.cc:9002,1
    - Dst: rpc::add_notification_handler
      Src: /src/trafficserver/src/api/InkAPI.cc:9004,1
    - Dst: callback
      Src: /src/trafficserver/src/api/InkAPI.cc:9006,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/src/api/InkAPI.cc:9006,1
    - Dst: const_cast<YAML::Node *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9006,1
    - Dst: reinterpret_cast<const ::rpc::RPCRegistryInfo *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - name
    - name_len
    - callback
    - info
    - opt
    argTypes:
    - char*
    - size_t
    - TSRPCNotificationCb
    - TSRPCProviderHandle
    - TSRPCHandlerOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9011
      start: 8998
    functionDepth: 1
    functionLinenumber: 8998
    functionLinenumberEnd: 9011
    functionName: TSRPCRegisterNotificationHandler
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 1
    functionsReached:
    - const_cast<YAML::Node *>
    - rpc::add_notification_handler
    - sdk_sanity_check_rpc_handler_options
    - sdk_assert
    - reinterpret_cast<const ::rpc::RPCRegistryInfo *>
    - reinterpret_cast<TSYaml>
    - callback
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRPCRegisterNotificationHandler(const char *name, size_t
      name_len, TSRPCNotificationCb callback, TSRPCProviderHandle info,\n                                 const
      TSRPCHandlerOptions *opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:9016,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9018,1
    - Dst: notify_one
      Src: /src/trafficserver/src/api/InkAPI.cc:9021,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:9022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - resp
    argTypes:
    - TSYaml
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9024
      start: 9013
    functionDepth: 1
    functionLinenumber: 9013
    functionLinenumberEnd: 9024
    functionName: TSRPCHandlerDone
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - Dbg
    - reinterpret_cast<YAML::Node *>
    - notify_one
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRPCHandlerDone(TSYaml resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:9029,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/api/InkAPI.cc:9031,1
    - Dst: ts::make_errno_code
      Src: /src/trafficserver/src/api/InkAPI.cc:9031,1
    - Dst: notify_one
      Src: /src/trafficserver/src/api/InkAPI.cc:9033,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:9034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ec
    - descr
    - descr_len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9036
      start: 9026
    functionDepth: 1
    functionLinenumber: 9026
    functionLinenumberEnd: 9036
    functionName: TSRPCHandlerError
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 4
    functionsReached:
    - Dbg
    - ts::make_errno_code
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - notify_one
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRPCHandlerError(int ec, const char *descr, size_t descr_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRecordsFromYAML
      Src: /src/trafficserver/src/api/InkAPI.cc:9043,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9044,1
    - Dst: node::as
      Src: /src/trafficserver/src/api/InkAPI.cc:9049,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/api/InkAPI.cc:9050,1
    - Dst: get_record_name
      Src: /src/trafficserver/src/api/InkAPI.cc:9051,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/src/api/InkAPI.cc:9052,1
    - Dst: const_cast<YAML::Node *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9052,1
    - Dst: handler
      Src: /src/trafficserver/src/api/InkAPI.cc:9053,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/api/InkAPI.cc:9057,1
    - Dst: what
      Src: /src/trafficserver/src/api/InkAPI.cc:9057,1
    - Dst: swoc::Errata::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:9060,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPI.cc:9062,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/api/InkAPI.cc:9062,1
    - Dst: swoc::Errata::empty
      Src: /src/trafficserver/src/api/InkAPI.cc:9065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - node
    - handler
    - data
    argTypes:
    - TSYaml
    - TSYAMLRecNodeHandler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9066
      start: 9038
    functionDepth: 1
    functionLinenumber: 9038
    functionLinenumberEnd: 9066
    functionName: TSRecYAMLConfigParse
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - const_cast<YAML::Node *>
    - handler
    - what
    - get_record_name
    - reinterpret_cast<TSYaml>
    - ParseRecordsFromYAML
    - Dbg
    - reinterpret_cast<YAML::Node *>
    - swoc::Errata::empty
    - swoc::Errata::note
    - swoc::SWOC_VERSION_NS::bwprint
    - node::as
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRecYAMLConfigParse(TSYaml node, TSYAMLRecNodeHandler
      handler, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkAPI.cc:9071,1
    - Dst: sdk_sanity_check_txn
      Src: /src/trafficserver/src/api/InkAPI.cc:9071,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/api/InkAPI.cc:9072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9084
      start: 9068
    functionDepth: 1
    functionLinenumber: 9068
    functionLinenumberEnd: 9084
    functionName: TSHttpTxnTypeGet
    functionSourceFile: /src/trafficserver/src/api/InkAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - reinterpret_cast<HttpSM *>
    - sdk_sanity_check_txn
    linkageType: ''
    returnType: TSTxnType
    signature: TSTxnType TSHttpTxnTypeGet(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ConfigUpdateCbTable::ConfigUpdateCbTable
    functionSourceFile: /src/trafficserver/src/api/ConfigUpdateCbTable.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::ConfigUpdateCbTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ConfigUpdateCbTable::~ConfigUpdateCbTable()
    functionSourceFile: /src/trafficserver/src/api/ConfigUpdateCbTable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::~ConfigUpdateCbTable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:33,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:34,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:39,1
    - Dst: emplace
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:42,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:42,1
    - Dst: Error
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:44,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:44,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:44,1
    - Dst: emplace
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:47,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - name
    - file_name
    argTypes:
    - INKContInternal*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: ConfigUpdateCbTable::insert
    functionSourceFile: /src/trafficserver/src/api/ConfigUpdateCbTable.cc
    functionUses: 0
    functionsReached:
    - swoc::file::path::c_str
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - std::make_tuple
    - emplace
    - Error
    - ink_assert
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::insert(INKContInternal *contp, const char
      *name, const char *file_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:57,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:59,1
    - Dst: ConfigUpdateCbTable::invoke
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:64,1
    - Dst: Error
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:67,1
    - Dst: c_str
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:67,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:67,1
    - Dst: ConfigUpdateCbTable::invoke
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: ConfigUpdateCbTable::invoke
    functionSourceFile: /src/trafficserver/src/api/ConfigUpdateCbTable.cc
    functionUses: 1
    functionsReached:
    - ConfigUpdateCbTable::invoke
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - Error
    - c_str
    - empty
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::invoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_imm
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:78,1
    - Dst: ConfigUpdateCallback::ConfigUpdateCallback
      Src: /src/trafficserver/src/api/ConfigUpdateCbTable.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contp
    argTypes:
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ConfigUpdateCbTable::invoke
    functionSourceFile: /src/trafficserver/src/api/ConfigUpdateCbTable.cc
    functionUses: 1
    functionsReached:
    - ConfigUpdateCallback::ConfigUpdateCallback
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::invoke(INKContInternal *contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LifecycleAPIHooks::LifecycleAPIHooks
      Src: /src/trafficserver/src/api/LifecycleAPIHooks.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: init_global_lifecycle_hooks
    functionSourceFile: /src/trafficserver/src/api/LifecycleAPIHooks.cc
    functionUses: 1
    functionsReached:
    - LifecycleAPIHooks::LifecycleAPIHooks
    linkageType: ''
    returnType: void
    signature: void init_global_lifecycle_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: APIHooks::head
    functionSourceFile: /src/trafficserver/src/api/APIHooks.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      APIHooks::head() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_thread
      Src: /src/trafficserver/src/api/APIHooks.cc:46,1
    - Dst: SAFE_THREAD_ALLOC
      Src: /src/trafficserver/src/api/APIHooks.cc:47,1
    - Dst: enqueue
      Src: /src/trafficserver/src/api/APIHooks.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: APIHooks::append
    functionSourceFile: /src/trafficserver/src/api/APIHooks.cc
    functionUses: 0
    functionsReached:
    - SAFE_THREAD_ALLOC
    - this_thread
    - enqueue
    linkageType: ''
    returnType: void
    signature: void APIHooks::append(INKContInternal *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/trafficserver/src/api/APIHooks.cc:57,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/api/APIHooks.cc:58,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/APIHooks.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: APIHooks::clear
    functionSourceFile: /src/trafficserver/src/api/APIHooks.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    - pop
    linkageType: ''
    returnType: void
    signature: void APIHooks::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpAPIHooks::HttpAPIHooks
      Src: /src/trafficserver/src/api/HttpAPIHooks.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: init_global_http_hooks
    functionSourceFile: /src/trafficserver/src/api/HttpAPIHooks.cc
    functionUses: 1
    functionsReached:
    - HttpAPIHooks::HttpAPIHooks
    linkageType: ''
    returnType: void
    signature: void init_global_http_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: APIHook::next
    functionSourceFile: /src/trafficserver/src/api/APIHook.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      APIHook::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: APIHook::prev
    functionSourceFile: /src/trafficserver/src/api/APIHook.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      APIHook::prev() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/APIHook.cc:51,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/APIHook.cc:52,1
    - Dst: WEAK_MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/api/APIHook.cc:55,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/APIHook.cc:55,1
    - Dst: is_locked
      Src: /src/trafficserver/src/api/APIHook.cc:56,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/APIHook.cc:58,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/api/APIHook.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: APIHook::invoke
    functionSourceFile: /src/trafficserver/src/api/APIHook.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - is_locked
    - ink_release_assert
    - ink_atomic_increment
    - this_ethread
    - WEAK_MUTEX_TRY_LOCK
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int APIHook::invoke(int event, void *edata) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/APIHook.cc:68,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/APIHook.cc:69,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/APIHook.cc:73,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/APIHook.cc:73,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/api/APIHook.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: APIHook::blocking_invoke
    functionSourceFile: /src/trafficserver/src/api/APIHook.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - WEAK_SCOPED_MUTEX_LOCK
    - ink_atomic_increment
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int APIHook::blocking_invoke(int event, void *edata) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: INKContInternal::INKContInternal
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INKContInternal::INKContInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkContInternal.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - funcp
    - mutexp
    argTypes:
    - TSEventFunc
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: INKContInternal::INKContInternal
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void INKContInternal::INKContInternal(TSEventFunc funcp, TSMutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/api/InkContInternal.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - funcp
    - mutexp
    - context
    argTypes:
    - TSEventFunc
    - TSMutex
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: INKContInternal::init
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void INKContInternal::init(TSEventFunc funcp, TSMutex mutexp, void
      *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: INKContInternal::clear
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INKContInternal::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKContInternal::clear
      Src: /src/trafficserver/src/api/InkContInternal.cc:97,1
    - Dst: INKContInternal::mutex::clear
      Src: /src/trafficserver/src/api/InkContInternal.cc:98,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/api/InkContInternal.cc:100,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkContInternal.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: INKContInternal::free
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - this_thread
    - THREAD_FREE
    - INKContInternal::clear
    - INKContInternal::mutex::clear
    linkageType: ''
    returnType: void
    signature: void INKContInternal::free()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkContInternal.cc:107,1
    - Dst: INKContInternal::free
      Src: /src/trafficserver/src/api/InkContInternal.cc:111,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkContInternal.cc:115,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkContInternal.cc:116,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkContInternal.cc:118,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/api/InkContInternal.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: INKContInternal::destroy
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ink_atomic_increment
    - this_ethread
    - INKContInternal::free
    - EThread*::schedule_imm
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void INKContInternal::destroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkContInternal.cc:134,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkContInternal.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: INKContInternal::handle_event_count
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void INKContInternal::handle_event_count(int event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkContInternal.cc:147,1
    - Dst: INKContInternal::handle_event_count
      Src: /src/trafficserver/src/api/InkContInternal.cc:149,1
    - Dst: INKContInternal::free
      Src: /src/trafficserver/src/api/InkContInternal.cc:152,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkContInternal.cc:154,1
    - Dst: reinterpret_cast<PluginThreadContext *>
      Src: /src/trafficserver/src/api/InkContInternal.cc:159,1
    - Dst: m_event_func
      Src: /src/trafficserver/src/api/InkContInternal.cc:160,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/api/InkContInternal.cc:163,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkContInternal.cc:167,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/api/InkContInternal.cc:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: INKContInternal::handle_event
    functionSourceFile: /src/trafficserver/src/api/InkContInternal.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - reinterpret_cast<Event *>
    - INKContInternal::handle_event_count
    - m_event_func
    - ink_atomic_increment
    - Dbg
    - reinterpret_cast<PluginThreadContext *>
    - INKContInternal::free
    linkageType: ''
    returnType: int
    signature: int INKContInternal::handle_event(int event, void *edata)
  - 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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: IP
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _d
    - ','
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: SET_TEST_HANDLER
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TEST_HANDLER(_d, _s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:208,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: get_body_ptr
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      get_body_ptr(const char *request)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:275,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:275,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:279,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:282,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:285,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:288,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:291,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:294,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:297,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:300,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:303,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:306,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:309,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - test_case
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 317
    functionName: generate_request
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - TSmalloc
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      generate_request(int test_case)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:411,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:411,1
    - Dst: sscanf
      Src: /src/trafficserver/src/api/InkAPITest.cc:415,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:419,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:422,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:425,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:428,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:431,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:434,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:437,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:440,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:443,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:446,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:449,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - request
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 458
    functionName: generate_response
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - TSmalloc
    - sscanf
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      generate_response(const char *request)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:466,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - buf
    - hdr
    argTypes:
    - char*
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 473
    functionName: get_request_id_value
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueIntGet
    linkageType: ''
    returnType: int
    signature: int get_request_id_value(const char *name, TSMBuffer buf, TSMLoc hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:485,1
    - Dst: get_request_id_value
      Src: /src/trafficserver/src/api/InkAPITest.cc:489,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: get_request_id
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - get_request_id_value
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: int
    signature: int get_request_id(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:504,1
    - Dst: get_request_id_value
      Src: /src/trafficserver/src/api/InkAPITest.cc:508,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 497
    functionDepth: 6
    functionLinenumber: 497
    functionLinenumberEnd: 511
    functionName: get_response_id
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - get_request_id_value
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    linkageType: ''
    returnType: int
    signature: int get_response_id(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:522,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:522,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/api/InkAPITest.cc:524,1
    - Dst: HttpProxyPort::findHttp
      Src: /src/trafficserver/src/api/InkAPITest.cc:526,1
    - Dst: IP
      Src: /src/trafficserver/src/api/InkAPITest.cc:532,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 538
    functionName: synclient_txn_create
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ClientTxn *>
    - ink_zero
    - IP
    - HttpProxyPort::findHttp
    - Dbg
    - TSmalloc
    linkageType: ''
    returnType: ClientTxn
    signature: 'ClientTxn *

      synclient_txn_create()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:543,1
    - Dst: TSActionDone
      Src: /src/trafficserver/src/api/InkAPITest.cc:544,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/api/InkAPITest.cc:545,1
    - Dst: ats_free
      Src: /src/trafficserver/src/api/InkAPITest.cc:549,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - txn
    argTypes:
    - ClientTxn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: synclient_txn_delete
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - TSfree
    - TSAssert
    - TSActionDone
    - TSActionCancel
    linkageType: ''
    returnType: int
    signature: int synclient_txn_delete(ClientTxn *txn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:560,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:565,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:570,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - txn
    argTypes:
    - ClientTxn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 576
    functionName: synclient_txn_close
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSVConnClose
    - TSIOBufferDestroy
    linkageType: ''
    returnType: void
    signature: void synclient_txn_close(ClientTxn *txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:584,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPITest.cc:585,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:586,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:588,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:588,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:589,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:591,1
    - Dst: htons
      Src: /src/trafficserver/src/api/InkAPITest.cc:591,1
    - Dst: TSNetConnect
      Src: /src/trafficserver/src/api/InkAPITest.cc:592,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - txn
    - request
    argTypes:
    - ClientTxn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 594
    functionName: synclient_txn_send_request
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SET_TEST_HANDLER
    - htons
    - TSAssert
    - TSContDataSet
    - ats_ip_sa_cast
    - ats_strdup
    - TSContCreate
    - TSNetConnect
    - ats_ip4_set
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int synclient_txn_send_request(ClientTxn *txn, char *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:601,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/api/InkAPITest.cc:602,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:603,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:605,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:605,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:606,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/api/InkAPITest.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - txn
    - request
    - vc
    argTypes:
    - ClientTxn*
    - char*
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: synclient_txn_send_request_to_vc
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SET_TEST_HANDLER
    - TSContCall
    - TSAssert
    - TSContDataSet
    - ats_strdup
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int synclient_txn_send_request_to_vc(ClientTxn *txn, char *request,
      TSVConn vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:615,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:615,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:616,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:618,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:621,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:624,1
    - Dst: TSError
      Src: /src/trafficserver/src/api/InkAPITest.cc:627,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:630,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 637
    functionName: synclient_txn_read_response
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSIOBufferBlockNext
    - static_cast<ClientTxn *>
    - TSError
    - TSIOBufferBlockReadStart
    - TSAssert
    - TSIOBufferReaderStart
    - Dbg
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synclient_txn_read_response(TSCont contp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:642,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:642,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:643,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:651,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:653,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:656,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:657,1
    - Dst: synclient_txn_read_response
      Src: /src/trafficserver/src/api/InkAPITest.cc:660,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:661,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:664,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:668,1
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:671,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:671,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:671,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:672,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:676,1
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:678,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:678,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:678,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:679,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 687
    functionName: synclient_txn_read_response_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - static_cast<ClientTxn *>
    - TSContDestroy
    - TSAssert
    - TSVIOReenable
    - Dbg
    - TSContDataGet
    - synclient_txn_read_response
    - synclient_txn_close
    linkageType: ''
    returnType: int
    signature: int synclient_txn_read_response_handler(TSCont contp, TSEvent event,
      void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:692,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:692,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:693,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:699,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:704,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:705,1
    - Dst: min
      Src: /src/trafficserver/src/api/InkAPITest.cc:706,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:707,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:708,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:714,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 718
    functionName: synclient_txn_write_request
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSIOBufferProduce
    - static_cast<ClientTxn *>
    - TSAssert
    - TSVConnWrite
    - min
    - TSIOBufferStart
    - Dbg
    - strlen
    - TSContDataGet
    - TSIOBufferBlockWriteStart
    linkageType: ''
    returnType: int
    signature: int synclient_txn_write_request(TSCont contp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:723,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:723,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:724,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:728,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:729,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:733,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:738,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:739,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:743,1
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:745,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:745,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:745,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:746,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:750,1
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:752,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:752,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:752,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:753,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 761
    functionName: synclient_txn_write_request_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SET_TEST_HANDLER
    - static_cast<ClientTxn *>
    - TSContDestroy
    - TSAssert
    - TSVIOReenable
    - Dbg
    - TSVConnRead
    - TSContDataGet
    - synclient_txn_close
    linkageType: ''
    returnType: int
    signature: int synclient_txn_write_request_handler(TSCont contp, TSEvent event,
      void * /* data ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:766,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:768,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:768,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:769,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:772,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:774,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:775,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:776,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:777,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:782,1
    - Dst: get_local_port
      Src: /src/trafficserver/src/api/InkAPITest.cc:783,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:789,1
    - Dst: synclient_txn_write_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:790,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:794,1
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:796,1
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:796,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:796,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 801
    functionName: synclient_txn_connect_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SET_TEST_HANDLER
    - static_cast<ClientTxn *>
    - TSIOBufferCreate
    - synclient_txn_write_request
    - TSContDestroy
    - TSAssert
    - static_cast<TSVConn>
    - Dbg
    - TSContDataGet
    - TSIOBufferReaderAlloc
    - synclient_txn_close
    - get_local_port
    linkageType: ''
    returnType: int
    signature: int synclient_txn_connect_handler(TSCont contp, TSEvent event, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ClientTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:806,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:806,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 811
    functionName: synclient_txn_main_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSContDataGet
    - static_cast<ClientTxn *>
    linkageType: ''
    returnType: int
    signature: int synclient_txn_main_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:821,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:822,1
    - Dst: static_cast<SocketServer *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:825,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:825,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - port
    - cont
    argTypes:
    - int
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 832
    functionName: synserver_create
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<SocketServer *>
    - TSAssert
    - TSmalloc
    - TSContDataSet
    linkageType: ''
    returnType: SocketServer
    signature: 'SocketServer *

      synserver_create(int port, TSCont cont)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:837,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:837,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: synserver_create
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 1
    functionsReached:
    - TSMutexCreate
    - synserver_create
    - TSContCreate
    linkageType: ''
    returnType: SocketServer
    signature: 'SocketServer *

      synserver_create(int port)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:843,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:844,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:847,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:848,1
    - Dst: TSNetAccept
      Src: /src/trafficserver/src/api/InkAPITest.cc:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SocketServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 854
    functionName: synserver_start
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSNetAccept
    linkageType: ''
    returnType: int
    signature: int synserver_start(SocketServer *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:859,1
    - Dst: TSActionDone
      Src: /src/trafficserver/src/api/InkAPITest.cc:860,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/api/InkAPITest.cc:861,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:863,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SocketServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: synserver_stop
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSAssert
    - TSActionDone
    - TSActionCancel
    linkageType: ''
    returnType: int
    signature: int synserver_stop(SocketServer *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:873,1
    - Dst: synserver_stop
      Src: /src/trafficserver/src/api/InkAPITest.cc:874,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:877,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:879,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:883,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SocketServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 869
    functionDepth: 3
    functionLinenumber: 869
    functionLinenumberEnd: 888
    functionName: synserver_delete
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - synserver_stop
    - TSContDestroy
    - TSAssert
    - Dbg
    linkageType: ''
    returnType: int
    signature: int synserver_delete(SocketServer *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:893,1
    - Dst: static_cast<SocketServer *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:895,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:895,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:896,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:898,1
    - Dst: Warning
      Src: /src/trafficserver/src/api/InkAPITest.cc:901,1
    - Dst: ntohs
      Src: /src/trafficserver/src/api/InkAPITest.cc:901,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:902,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:903,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:907,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 909
    functionName: synserver_vc_refuse
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - Warning
    - ink_release_assert
    - TSAssert
    - static_cast<TSVConn>
    - ntohs
    - Dbg
    - static_cast<SocketServer *>
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synserver_vc_refuse(TSCont contp, TSEvent event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:914,1
    - Dst: static_cast<SocketServer *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:916,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:916,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:917,1
    - Dst: Warning
      Src: /src/trafficserver/src/api/InkAPITest.cc:920,1
    - Dst: ntohs
      Src: /src/trafficserver/src/api/InkAPITest.cc:920,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:921,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:922,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:926,1
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:929,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:929,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:932,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:934,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:934,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:935,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:937,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:938,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:940,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:941,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:946,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: synserver_vc_accept
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ink_release_assert
    - static_cast<ServerTxn *>
    - SET_TEST_HANDLER
    - TSIOBufferCreate
    - TSAssert
    - TSContDataSet
    - ntohs
    - static_cast<TSVConn>
    - Dbg
    - static_cast<SocketServer *>
    - TSVConnRead
    - TSmalloc
    - TSContDataGet
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int synserver_vc_accept(TSCont contp, TSEvent event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:959,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:959,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:960,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:963,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:966,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:969,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:973,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:974,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 978
    functionName: synserver_txn_close
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - static_cast<ServerTxn *>
    - TSfree
    - TSIOBufferDestroy
    - TSContDestroy
    - TSAssert
    - Dbg
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synserver_txn_close(TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:983,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:983,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:984,1
    - Dst: SET_TEST_HANDLER
      Src: /src/trafficserver/src/api/InkAPITest.cc:986,1
    - Dst: generate_response
      Src: /src/trafficserver/src/api/InkAPITest.cc:993,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:994,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:999,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:1000,1
    - Dst: min
      Src: /src/trafficserver/src/api/InkAPITest.cc:1001,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1002,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:1003,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1009,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:1010,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1016
    functionName: synserver_txn_write_response
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<ServerTxn *>
    - TSfree
    - TSIOBufferProduce
    - SET_TEST_HANDLER
    - TSAssert
    - generate_response
    - TSVConnWrite
    - min
    - TSIOBufferStart
    - Dbg
    - TSContDataGet
    - strlen
    - TSIOBufferBlockWriteStart
    linkageType: ''
    returnType: int
    signature: int synserver_txn_write_response(TSCont contp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1021,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1021,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1022,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1026,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1027,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1031,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/api/InkAPITest.cc:1032,1
    - Dst: synserver_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:1033,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1037,1
    - Dst: synserver_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:1038,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1042,1
    - Dst: synserver_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:1043,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1018
    functionDepth: 3
    functionLinenumber: 1018
    functionLinenumberEnd: 1051
    functionName: synserver_txn_write_response_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ServerTxn *>
    - TSAssert
    - TSVConnShutdown
    - TSVIOReenable
    - synserver_txn_close
    - Dbg
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synserver_txn_write_response_handler(TSCont contp, TSEvent event,
      void * /* data ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1056,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1056,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1057,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:1060,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:1064,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1067,1
    - Dst: TSError
      Src: /src/trafficserver/src/api/InkAPITest.cc:1070,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:1073,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1077,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:1079,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1083
    functionName: synserver_txn_read_request
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<ServerTxn *>
    - TSIOBufferBlockNext
    - TSError
    - TSIOBufferBlockReadStart
    - TSAssert
    - TSIOBufferReaderStart
    - strstr
    - Dbg
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synserver_txn_read_request(TSCont contp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1088,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1088,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1089,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1097,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:1098,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1099,1
    - Dst: synserver_txn_read_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:1102,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:1103,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/api/InkAPITest.cc:1106,1
    - Dst: synserver_txn_write_response
      Src: /src/trafficserver/src/api/InkAPITest.cc:1107,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1115,1
    - Dst: synserver_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:1116,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1120,1
    - Dst: synserver_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:1121,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1129
    functionName: synserver_txn_read_request_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ServerTxn *>
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - synserver_txn_read_request
    - TSAssert
    - TSVConnShutdown
    - TSVIOReenable
    - synserver_txn_close
    - Dbg
    - TSContDataGet
    - synserver_txn_write_response
    linkageType: ''
    returnType: int
    signature: int synserver_txn_read_request_handler(TSCont contp, TSEvent event,
      void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ServerTxn *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1134,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1134,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1139
    functionName: synserver_txn_main_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ServerTxn *>
    - TSAssert
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int synserver_txn_main_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cont
    - ','
    - event
    - ','
    - edata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1188
    functionName: CHECK_SPURIOUS_EVENT
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SPURIOUS_EVENT(cont, event, edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:1198,1
    - Dst: va_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:1201,1
    - Dst: ink_bvsprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:1202,1
    - Dst: va_end
      Src: /src/trafficserver/src/api/InkAPITest.cc:1203,1
    - Dst: fputs
      Src: /src/trafficserver/src/api/InkAPITest.cc:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - t
    - api_name
    - testcase_name
    - status
    - err_details_format
    argTypes:
    - RegressionTest*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1206
    functionName: SDK_RPRINT
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ink_bvsprintf
    - va_end
    - fputs
    - va_start
    - snprintf
    linkageType: ''
    returnType: int
    signature: int SDK_RPRINT(RegressionTest *t, const char *api_name, const char
      *testcase_name, int status, const char *err_details_format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1240,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1242,1
    - Dst: sscanf
      Src: /src/trafficserver/src/api/InkAPITest.cc:1251,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1252,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1258,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1266
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSTrafficServerVersionGet
    - sscanf
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSTrafficServerVersionGet)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginDirGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1279,1
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1280,1
    - Dst: TSRuntimeDirGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1281,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1284,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1290,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1296,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:1301,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1302,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:1308,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1309,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:1314,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1315,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1320,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1321,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1325
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSRuntimeDirGet
    - SDK_RPRINT
    - TSInstallDirGet
    - strstr
    - TSPluginDirGet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSPluginDirGet)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConfigData::ConfigData
      Src: /src/trafficserver/src/api/InkAPITest.cc:1345,1
    - Dst: TSConfigSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1349,1
    - Dst: static_cast<ConfigData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1349,1
    - Dst: TSConfigGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1352,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1355,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1356,1
    - Dst: TSConfigRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:1357,1
    - Dst: reinterpret_cast<TSConfig>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1357,1
    - Dst: TSConfigDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1362,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1363,1
    - Dst: TSConfigRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:1364,1
    - Dst: reinterpret_cast<TSConfig>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1364,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1369,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1370,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1371,1
    - Dst: TSConfigRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:1373,1
    - Dst: reinterpret_cast<TSConfig>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1376
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSConfig>
    - static_cast<ConfigData *>
    - SDK_RPRINT
    - ConfigData::ConfigData
    - TSConfigSet
    - TSConfigGet
    - TSConfigDataGet
    - TSConfigRelease
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSConfig)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _a
    - _t
    - _p
    argTypes:
    - char*
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1393
    functionName: SDK_NetVConn_Params
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDK_NetVConn_Params(const char *_a, RegressionTest *_t, int *_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1398,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1403
    functionName: ~SDK_NetVConn_Params()
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSVConnClose
    linkageType: ''
    returnType: void
    signature: void ~SDK_NetVConn_Params()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDK_NetVConn_Params *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1420,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1420,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1424,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1425,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1426,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:1427,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1427,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1432,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1434,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1438,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1446
    functionName: server_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSIOBufferCreate
    - TSContDestroy
    - static_cast<TSVConn>
    - static_cast<SDK_NetVConn_Params *>
    - TSVConnRead
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int server_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDK_NetVConn_Params *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1451,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1451,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1454,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1460,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1463,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1463,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/api/InkAPITest.cc:1464,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1469,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1470,1
    - Dst: UnixNetVConnection*::con::sock::write
      Src: /src/trafficserver/src/api/InkAPITest.cc:1470,1
    - Dst: sleep
      Src: /src/trafficserver/src/api/InkAPITest.cc:1472,1
    - Dst: ats_is_ip_loopback
      Src: /src/trafficserver/src/api/InkAPITest.cc:1474,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1475,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:1479,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:1479,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1480,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/api/InkAPITest.cc:1481,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/api/InkAPITest.cc:1481,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1483,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1490,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1492,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1495,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1501,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:1506,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1506,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1512
    functionName: client_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection*::con::sock::write
    - ats_is_ip_loopback
    - ink_release_assert
    - TSVConnClose
    - sleep
    - SDK_RPRINT
    - TSContDestroy
    - static_cast<TSVConn>
    - static_cast<SDK_NetVConn_Params *>
    - ats_ip_ntop
    - ats_ip_port_host_order
    - TSContDataGet
    - htonl
    - ats_ip4_set
    - static_cast<UnixNetVConnection *>
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: int
    signature: int client_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDK_NetVConn_Params::SDK_NetVConn_Params
      Src: /src/trafficserver/src/api/InkAPITest.cc:1518,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1522,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1522,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1523,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1523,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1525,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1526,1
    - Dst: TSNetAccept
      Src: /src/trafficserver/src/api/InkAPITest.cc:1528,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:1531,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:1531,1
    - Dst: htons
      Src: /src/trafficserver/src/api/InkAPITest.cc:1531,1
    - Dst: TSNetConnect
      Src: /src/trafficserver/src/api/InkAPITest.cc:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1533
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_NetVConn_Params::SDK_NetVConn_Params
    - TSNetAccept
    - htons
    - TSContDataSet
    - TSContCreate
    - htonl
    - TSNetConnect
    - ats_ip4_set
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSNetVConn)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDK_NetVConn_Params::SDK_NetVConn_Params
      Src: /src/trafficserver/src/api/InkAPITest.cc:1541,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1542,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1542,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1543,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1543,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1547,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1548,1
    - Dst: TSPortDescriptorParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:1550,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1552,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:1557,1
    - Dst: TSPortDescriptorParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:1558,1
    - Dst: TSPortDescriptorAccept
      Src: /src/trafficserver/src/api/InkAPITest.cc:1560,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1561,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:1568,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:1568,1
    - Dst: htons
      Src: /src/trafficserver/src/api/InkAPITest.cc:1568,1
    - Dst: TSNetConnect
      Src: /src/trafficserver/src/api/InkAPITest.cc:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1570
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSPortDescriptorAccept
    - SDK_NetVConn_Params::SDK_NetVConn_Params
    - htons
    - SDK_RPRINT
    - TSContDataSet
    - TSPortDescriptorParse
    - snprintf
    - TSContCreate
    - htonl
    - TSNetConnect
    - ats_ip4_set
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSPortDescriptor)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1636,1
    - Dst: static_cast<CacheVConnStruct *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1638,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1638,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1646,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1647,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1650,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1653,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:1654,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1655,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:1656,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:1662,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:1663,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1665,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:1666,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:1672,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1672,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1676,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1677,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1678,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1685,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1687,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1694,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1696,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1697,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1698,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1700,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1706,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:1707,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1707,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1712,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1714,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1720,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1726,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1727,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:1731,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1735,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1736,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1743,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1746,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1747,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1748,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1749,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1752,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1753,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1754,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1757,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1758,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1759,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1762,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1764,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1765,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1766,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1768,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1774,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1775,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1780,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1782,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1783,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1787,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1790,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1791,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1795,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1798,1
    - Dst: TSVIOMutexGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1800,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1800,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1801,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1805,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1808,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1809,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1813,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1816,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1818,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1819,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1823,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/api/InkAPITest.cc:1827,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1830,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/src/api/InkAPITest.cc:1834,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1835,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1839,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1840,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1841,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1846,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1847,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1848,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1849,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1851,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1855,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1856,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1857,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1864,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1865,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1866,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1867,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1870,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1871,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1872,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1878,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1879,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1880,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1882,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1883,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1884,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1890,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1893,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:1897,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1903,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1904,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1905,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1912,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1913,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1914,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1915,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1918,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1919,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1920,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1926,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1927,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1928,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:1932,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:1933,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1934,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:1936,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1937,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1941,1
    - Dst: TSCacheRemove
      Src: /src/trafficserver/src/api/InkAPITest.cc:1943,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:1947,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1950,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:1953,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1954,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1955,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:1956,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:1957,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 237
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1961
    functionName: cache_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSVIONBytesSet
    - TSIOBufferProduce
    - TSVIOReenable
    - TSVConnWrite
    - TSVConnCacheObjectSizeGet
    - TSIOBufferStart
    - TSVIOReaderGet
    - TSVConnRead
    - TSCacheRead
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIOMutexGet
    - TSContMutexGet
    - TSContScheduleOnPool
    - TSVIONDoneGet
    - TSVConnClose
    - TSfree
    - TSIOBufferReaderConsume
    - static_cast<TSVIO>
    - TSIOBufferDestroy
    - TSIOBufferBlockWriteStart
    - TSCacheRemove
    - static_cast<CacheVConnStruct *>
    - TSCacheKeyDestroy
    - TSVIONBytesGet
    - TSIOBufferReaderAvail
    - SDK_RPRINT
    - Dbg
    - TSReleaseAssert
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSVIOVConnGet
    - static_cast<TSVConn>
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int cache_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1971,1
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1972,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:1973,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1974,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:1974,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1975,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:1975,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1985,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:1985,1
    - Dst: static_cast<CacheVConnStruct *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:1986,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:1986,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:1988,1
    - Dst: TSCacheWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:1990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1991
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - SDK_RPRINT
    - TSContDataSet
    - TSContCreate
    - strlen
    - TSmalloc
    - TSCacheWrite
    - static_cast<CacheVConnStruct *>
    - TSMutexCreate
    - TSCacheKeyDigestSet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSCache)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2030,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/api/InkAPITest.cc:2035,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2035,1
    - Dst: TSfopen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2038,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2039,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2045,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:2049,1
    - Dst: mkstemp
      Src: /src/trafficserver/src/api/InkAPITest.cc:2051,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2052,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2057,1
    - Dst: close
      Src: /src/trafficserver/src/api/InkAPITest.cc:2061,1
    - Dst: TSfopen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2064,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2065,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2070,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2074,1
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPITest.cc:2076,1
    - Dst: stat
      Src: /src/trafficserver/src/api/InkAPITest.cc:2079,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2080,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2085,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2088,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2094,1
    - Dst: TSfgets
      Src: /src/trafficserver/src/api/InkAPITest.cc:2097,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2098,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2103,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2106,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2111,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2116,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2119,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2123,1
    - Dst: TSfwrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:2128,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2130,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2135,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2138,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2143,1
    - Dst: stat
      Src: /src/trafficserver/src/api/InkAPITest.cc:2146,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2147,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2152,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2155,1
    - Dst: TSfflush
      Src: /src/trafficserver/src/api/InkAPITest.cc:2160,1
    - Dst: stat
      Src: /src/trafficserver/src/api/InkAPITest.cc:2162,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2163,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2168,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2171,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2177,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2179,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2184,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2187,1
    - Dst: TSfopen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2194,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2196,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2201,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2204,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2210,1
    - Dst: TSfread
      Src: /src/trafficserver/src/api/InkAPITest.cc:2213,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2215,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2220,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2223,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2226,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2230,1
    - Dst: memcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:2234,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2235,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2240,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2243,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2246,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2250,1
    - Dst: unlink
      Src: /src/trafficserver/src/api/InkAPITest.cc:2254,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2255,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2258,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2259,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2262,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2263,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:2267,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 177
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2269
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<off_t>
    - memcmp
    - TSfopen
    - ink_filepath_make
    - unlink
    - SDK_RPRINT
    - TSfclose
    - close
    - stat
    - TSfgets
    - TSfwrite
    - TSInstallDirGet
    - TSfflush
    - TSfread
    - snprintf
    - TSConfigDirGet
    - mkstemp
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSfopen)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/trafficserver/src/api/InkAPITest.cc:2290,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/src/api/InkAPITest.cc:2292,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2295,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2307
    functionName: thread_create_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSThreadSelf
    - sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_create_handler(void * /* arg ATS_UNUSED */)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/trafficserver/src/api/InkAPITest.cc:2321,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/src/api/InkAPITest.cc:2324,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2326,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2329,1
    - Dst: TSThreadCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2333,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2333,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2336,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2338,1
    - Dst: TSThreadWait
      Src: /src/trafficserver/src/api/InkAPITest.cc:2342,1
    - Dst: TSThreadDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2311
    functionDepth: 2
    functionLinenumber: 2311
    functionLinenumberEnd: 2345
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSThreadDestroy
    - pthread_self
    - SDK_RPRINT
    - TSThreadCreate
    - TSThreadSelf
    - reinterpret_cast<void *>
    - TSThreadWait
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSThread)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSThreadInit
      Src: /src/trafficserver/src/api/InkAPITest.cc:2364,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2367,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2370,1
    - Dst: TSThreadDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2358
    functionDepth: 2
    functionLinenumber: 2358
    functionLinenumberEnd: 2385
    functionName: pthread_start_func
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSThreadDestroy
    - TSThreadInit
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_start_func(void * /* arg ATS_UNUSED */)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/trafficserver/src/api/InkAPITest.cc:2395,1
    - Dst: pthread_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:2399,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2399,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2402,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2387
    functionDepth: 2
    functionLinenumber: 2387
    functionLinenumberEnd: 2406
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void *>
    - SDK_RPRINT
    - pthread_create
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSThreadInit)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2423,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2426,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2429,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2435
    functionName: action_cancel_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSContDestroy
    linkageType: ''
    returnType: int
    signature: int action_cancel_handler(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2444,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2445,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:2446,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2448,1
    - Dst: TSActionDone
      Src: /src/trafficserver/src/api/InkAPITest.cc:2449,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2451,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/api/InkAPITest.cc:2454,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2456,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2437
    functionDepth: 2
    functionLinenumber: 2437
    functionLinenumberEnd: 2459
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - TSActionDone
    - TSContCreate
    - TSMutexUnlock
    - TSMutexCreate
    - TSContScheduleOnPool
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSActionCancel)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2489,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2486
    functionDepth: 2
    functionLinenumber: 2486
    functionLinenumberEnd: 2495
    functionName: cont_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    linkageType: ''
    returnType: int
    signature: int cont_handler(TSCont /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2505,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2506,1
    - Dst: TSMutexLockTry
      Src: /src/trafficserver/src/api/InkAPITest.cc:2508,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/api/InkAPITest.cc:2509,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2509,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2510,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2512,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2513,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2519
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSMutexLockTry
    - TSContCall
    - SDK_RPRINT
    - TSContDestroy
    - static_cast<TSEvent>
    - TSContCreate
    - TSMutexUnlock
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSContCreate)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MyData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2541,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2541,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2544,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2545,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2550,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2551,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:2556,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2538
    functionDepth: 2
    functionLinenumber: 2538
    functionLinenumberEnd: 2559
    functionName: cont_data_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - SDK_RPRINT
    - static_cast<MyData *>
    - TSContDestroy
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int cont_data_handler(TSCont contp, TSEvent /* event ATS_UNUSED */,
      void * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2569,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2569,1
    - Dst: static_cast<MyData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2571,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2571,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2575,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2575,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:2577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2578
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - static_cast<MyData *>
    - TSContScheduleOnPool
    - TSContDataSet
    - TSmalloc
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSContDataGet)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2595,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2596,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2598,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2601,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2604,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2586
    functionDepth: 2
    functionLinenumber: 2586
    functionLinenumberEnd: 2611
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSContDestroy
    - TSContCreate
    - TSContMutexGet
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSContMutexGet)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2632,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2636,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2640,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2656
    functionName: cont_schedule_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSContDestroy
    linkageType: ''
    returnType: int
    signature: int cont_schedule_handler(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2678,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2680,1
    - Dst: TSMutexLockTry
      Src: /src/trafficserver/src/api/InkAPITest.cc:2686,1
    - Dst: TSMutexLockTry
      Src: /src/trafficserver/src/api/InkAPITest.cc:2687,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2690,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2691,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2692,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2695,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2696,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2697,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/src/api/InkAPITest.cc:2700,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2673
    functionDepth: 2
    functionLinenumber: 2673
    functionLinenumberEnd: 2708
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - SDK_RPRINT
    - TSMutexUnlock
    - TSMutexCreate
    - TSMutexLockTry
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSMutexCreate)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2727,1
    - Dst: TSIOBufferWaterMarkSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2729,1
    - Dst: TSIOBufferWaterMarkGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:2730,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2733,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2734,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2735,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2738,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2739,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2740,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2720
    functionDepth: 2
    functionLinenumber: 2720
    functionLinenumberEnd: 2748
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferWaterMarkGet
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - SDK_RPRINT
    - TSIOBufferWaterMarkSet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferCreate)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2764,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2766,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:2768,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:2770,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2772,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2773,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2774,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2777,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2778,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2759
    functionDepth: 2
    functionLinenumber: 2759
    functionLinenumberEnd: 2785
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    - TSIOBufferProduce
    - SDK_RPRINT
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferProduce)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2798,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2800,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:2802,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:2803,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:2805,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2807,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2793
    functionDepth: 2
    functionLinenumber: 2793
    functionLinenumberEnd: 2816
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferProduce
    - SDK_RPRINT
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferReaderConsume)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2829,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2830,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:2832,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:2833,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/src/api/InkAPITest.cc:2835,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:2837,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2839,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2824
    functionDepth: 2
    functionLinenumber: 2824
    functionLinenumberEnd: 2848
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferProduce
    - TSIOBufferReaderAvail
    - SDK_RPRINT
    - TSIOBufferReaderClone
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferReaderClone)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2862,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2864,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2866,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2866,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2867,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2868,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2871,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2857
    functionDepth: 2
    functionLinenumber: 2857
    functionLinenumberEnd: 2878
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSIOBufferReaderStart
    - TSIOBufferStart
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferStart)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2895,1
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2896,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2898,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:2899,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2899,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2900,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2900,1
    - Dst: TSIOBufferReaderCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:2901,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:2901,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:2903,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2904,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2905,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2906,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2909,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2910,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2888
    functionDepth: 2
    functionLinenumber: 2888
    functionLinenumberEnd: 2917
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - SDK_RPRINT
    - TSIOBufferReaderCopy
    - TSIOBufferWrite
    - TSIOBufferCopy
    - strlen
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferCopy)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2934,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:2935,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2935,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2936,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2941,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2943,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2943,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2944,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2945,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2948,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2949,1
    - Dst: TSIOBufferBlockReadAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:2952,1
    - Dst: TSIOBufferBlockWriteAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:2952,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2953,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2954,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2957,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2927
    functionDepth: 2
    functionLinenumber: 2927
    functionLinenumberEnd: 2968
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockReadAvail
    - TSIOBufferBlockWriteAvail
    - TSIOBufferCreate
    - SDK_RPRINT
    - TSIOBufferBlockReadStart
    - TSIOBufferWrite
    - TSIOBufferStart
    - reinterpret_cast<char *>
    - TSIOBufferBlockWriteStart
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferBlockReadAvail)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:2982,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:2983,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:2983,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:2985,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:2986,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:2990,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2991,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:2994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2976
    functionDepth: 2
    functionLinenumber: 2976
    functionLinenumberEnd: 3004
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferCreate
    - SDK_RPRINT
    - TSIOBufferReaderStart
    - TSIOBufferWrite
    - reinterpret_cast<char *>
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSIOBufferBlockNext)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3014,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3014,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3015,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3015,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:3018,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:3021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3022
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSMutexCreate
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSContSchedule)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3075,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:3076,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3078,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:3079,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3081,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3088,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3070
    functionDepth: 3
    functionLinenumber: 3070
    functionLinenumberEnd: 3095
    functionName: checkHttpTxnClientIPGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - htonl
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientIPGet(SocketTest *test, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3101,1
    - Dst: TSHttpTxnClientProtocolStackGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3104,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3109,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3110,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3112,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3114,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3116,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3118,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3120,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3098
    functionDepth: 2
    functionLinenumber: 3098
    functionLinenumberEnd: 3126
    functionName: checkHttpTxnClientProtocolStackGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - strcmp
    - TSHttpTxnClientProtocolStackGet
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientProtocolStackGet(SocketTest *test, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3132,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/src/api/InkAPITest.cc:3133,1
    - Dst: TSNormalizedProtocolTag
      Src: /src/trafficserver/src/api/InkAPITest.cc:3136,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3138,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3141,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3144,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/src/api/InkAPITest.cc:3147,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3149,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3129
    functionDepth: 2
    functionLinenumber: 3129
    functionLinenumberEnd: 3155
    functionName: checkHttpTxnClientProtocolStackContains
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSNormalizedProtocolTag
    - TSHttpTxnClientProtocolStackContains
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientProtocolStackContains(SocketTest *test, void
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3161,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:3162,1
    - Dst: TSHttpTxnNextHopAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3166,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:3167,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3169,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3176,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3158
    functionDepth: 2
    functionLinenumber: 3158
    functionLinenumberEnd: 3184
    functionName: checkHttpTxnNextHopIPGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - SDK_RPRINT
    - TSHttpTxnNextHopAddrGet
    - static_cast<TSHttpTxn>
    - htonl
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnNextHopIPGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3190,1
    - Dst: TSHttpTxnNextHopNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3194,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3197,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/api/InkAPITest.cc:3201,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3203,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3187
    functionDepth: 2
    functionLinenumber: 3187
    functionLinenumberEnd: 3211
    functionName: checkHttpTxnNextHopNameGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - std::string_view
    - static_cast<TSHttpTxn>
    - TSHttpTxnNextHopNameGet
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnNextHopNameGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3217,1
    - Dst: TSHttpTxnNextHopPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3221,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3224,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3230,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3214
    functionDepth: 2
    functionLinenumber: 3214
    functionLinenumberEnd: 3238
    functionName: checkHttpTxnNextHopPortGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - TSHttpTxnNextHopPortGet
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnNextHopPortGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3246,1
    - Dst: htonl
      Src: /src/trafficserver/src/api/InkAPITest.cc:3247,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3249,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:3250,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3252,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3259,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3241
    functionDepth: 2
    functionLinenumber: 3241
    functionLinenumberEnd: 3266
    functionName: checkHttpTxnServerIPGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_addr_cast
    - TSHttpTxnServerAddrGet
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - htonl
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnServerIPGet(SocketTest *test, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::findHttp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3273,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3274,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3275,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3278,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3284,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/api/InkAPITest.cc:3288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:3290,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3293,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3269
    functionDepth: 3
    functionLinenumber: 3269
    functionLinenumberEnd: 3301
    functionName: checkHttpTxnIncomingAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    - SDK_RPRINT
    - HttpProxyPort::findHttp
    - Dbg
    - ats_ip_port_host_order
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnIncomingAddrGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3309,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3310,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3315,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/api/InkAPITest.cc:3320,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:3321,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3324,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3304
    functionDepth: 3
    functionLinenumber: 3304
    functionLinenumberEnd: 3332
    functionName: checkHttpTxnClientAddrGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - Dbg
    - ats_ip_port_host_order
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientAddrGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3340,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3342,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3344,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3348,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3349,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3351,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3335
    functionDepth: 2
    functionLinenumber: 3335
    functionLinenumberEnd: 3358
    functionName: checkHttpTxnClientReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSMBuffer>
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientReqGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3366,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3368,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3370,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3374,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3375,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3377,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 3361
    functionDepth: 2
    functionLinenumber: 3361
    functionLinenumberEnd: 3384
    functionName: checkHttpTxnClientRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSMBuffer>
    - TSHttpTxnClientRespGet
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnClientRespGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3392,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3394,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3396,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3400,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3401,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3403,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3410
      start: 3387
    functionDepth: 2
    functionLinenumber: 3387
    functionLinenumberEnd: 3410
    functionName: checkHttpTxnServerReqGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSMBuffer>
    - SDK_RPRINT
    - TSHttpTxnServerReqGet
    - static_cast<TSHttpTxn>
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnServerReqGet(SocketTest *test, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3418,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3420,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3422,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3426,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3427,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3429,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3413
    functionDepth: 2
    functionLinenumber: 3413
    functionLinenumberEnd: 3436
    functionName: checkHttpTxnServerRespGet
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSMBuffer>
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - TSHttpTxnServerRespGet
    - reinterpret_cast<TSMLoc>
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnServerRespGet(SocketTest *test, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3442,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:3444,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3446,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - test
    - data
    argTypes:
    - SocketTest*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3439
    functionDepth: 2
    functionLinenumber: 3439
    functionLinenumberEnd: 3452
    functionName: checkHttpTxnServerSsnTransactionCount
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnServerSsnTransactionCount(SocketTest *test, void *data)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SocketTest *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3460,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3460,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3465,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3465,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:3468,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:3469,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3477,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3477,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3485,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3485,1
    - Dst: checkHttpTxnClientReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3486,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3488,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3488,1
    - Dst: checkHttpTxnIncomingAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3497,1
    - Dst: checkHttpTxnClientAddrGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3498,1
    - Dst: checkHttpTxnClientIPGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3500,1
    - Dst: checkHttpTxnServerIPGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3501,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3503,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3503,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3511,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3511,1
    - Dst: checkHttpTxnServerReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3520,1
    - Dst: checkHttpTxnNextHopIPGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3521,1
    - Dst: checkHttpTxnNextHopNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3522,1
    - Dst: checkHttpTxnNextHopPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3523,1
    - Dst: checkHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/src/api/InkAPITest.cc:3524,1
    - Dst: checkHttpTxnClientProtocolStackGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3525,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3527,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3527,1
    - Dst: checkHttpTxnServerRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3535,1
    - Dst: checkHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:3536,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3538,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3538,1
    - Dst: checkHttpTxnClientRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3547,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3548,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3548,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:3557,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3557,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:3565,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3572,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3576,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3581,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3585,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:3596,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:3597,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:3601,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3602,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3608,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3457
    functionDepth: 4
    functionLinenumber: 3457
    functionLinenumberEnd: 3613
    functionName: mytest_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - checkHttpTxnNextHopIPGet
    - checkHttpTxnNextHopPortGet
    - checkHttpTxnServerRespGet
    - TSAssert
    - checkHttpTxnNextHopNameGet
    - checkHttpTxnClientProtocolStackContains
    - TSContDataGet
    - checkHttpTxnIncomingAddrGet
    - TSContScheduleOnPool
    - checkHttpTxnClientAddrGet
    - synclient_txn_delete
    - TSfree
    - synserver_delete
    - checkHttpTxnClientRespGet
    - SDK_RPRINT
    - checkHttpTxnClientProtocolStackGet
    - static_cast<SocketTest *>
    - TSHttpTxnReenable
    - checkHttpTxnServerSsnTransactionCount
    - TSContDataSet
    - checkHttpTxnServerReqGet
    - checkHttpTxnClientReqGet
    - static_cast<TSHttpTxn>
    - checkHttpTxnServerIPGet
    - checkHttpTxnClientIPGet
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int mytest_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3619,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3619,1
    - Dst: static_cast<SocketTest *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3620,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:3620,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3637,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3640,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3641,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3642,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3643,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3644,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3645,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3646,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:3647,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:3650,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:3651,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:3654,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:3655,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:3656,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:3657,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:3661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3665
      start: 3615
    functionDepth: 3
    functionLinenumber: 3615
    functionLinenumberEnd: 3665
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSContScheduleOnPool
    - synclient_txn_send_request
    - TSContDataSet
    - TSHttpHookAdd
    - generate_request
    - synserver_start
    - synclient_txn_create
    - TSContCreate
    - TSmalloc
    - synserver_create
    - static_cast<SocketTest *>
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpHookAdd)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3710,1
    - Dst: TSError
      Src: /src/trafficserver/src/api/InkAPITest.cc:3713,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:3716,1
    - Dst: TSUrlPrint
      Src: /src/trafficserver/src/api/InkAPITest.cc:3720,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:3726,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3730,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:3730,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:3736,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:3738,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:3749,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:3753,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:3757,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/api/InkAPITest.cc:3765,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:3766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3696
    functionDepth: 2
    functionLinenumber: 3696
    functionLinenumberEnd: 3769
    functionName: test_url_print
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSError
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - static_cast<char *>
    - TSUrlPrint
    - TSmalloc
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: char
    signature: 'char *

      test_url_print(TSMBuffer bufp, TSMLoc hdr_loc)'
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPITest.cc:3833,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:3834,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3839,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3839,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3839,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3840,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3840,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3840,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3840,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3840,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3841,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3842,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:3842,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:3845,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:3845,1
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPITest.cc:3846,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:3847,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3855,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3856,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3858,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3862,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3863,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3865,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3866,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3867,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3870,1
    - Dst: TSUrlUserSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3875,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3876,1
    - Dst: TSUrlUserGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3878,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3879,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3880,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3883,1
    - Dst: TSUrlPasswordSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3888,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3889,1
    - Dst: TSUrlPasswordGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3891,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3892,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3893,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3896,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3901,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3902,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3904,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3905,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3906,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3909,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3914,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3915,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3917,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3919,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3922,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3927,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3928,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3930,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3931,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3932,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3935,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3940,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3941,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3943,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3944,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3945,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3948,1
    - Dst: TSUrlHttpFragmentSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3953,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3954,1
    - Dst: TSUrlHttpFragmentGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3956,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3957,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3958,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3961,1
    - Dst: TSUrlLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3966,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3968,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3971,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3975,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:3976,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3977,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3980,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3984,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:3985,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3987,1
    - Dst: TSUrlCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:3990,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3991,1
    - Dst: TSUrlLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:3994,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3996,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:3999,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4003,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4004,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4005,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4008,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4012,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4013,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4016,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4021,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/src/api/InkAPITest.cc:4022,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4023,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4026,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4028,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4029,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4032,1
    - Dst: test_url_print
      Src: /src/trafficserver/src/api/InkAPITest.cc:4037,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4039,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4041,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4042,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4045,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4047,1
    - Dst: TSUrlFtpTypeSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4050,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4051,1
    - Dst: TSUrlFtpTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4053,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4055,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4058,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4063,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4064,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4067,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4069,1
    - Dst: std::string
      Src: /src/trafficserver/src/api/InkAPITest.cc:4072,1
    - Dst: std::regex_replace
      Src: /src/trafficserver/src/api/InkAPITest.cc:4073,1
    - Dst: std::regex
      Src: /src/trafficserver/src/api/InkAPITest.cc:4073,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4076,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPITest.cc:4076,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4078,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/api/InkAPITest.cc:4078,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4082,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4086,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4087,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4088,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4089,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4093,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4095,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4098,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4101,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4104,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4107,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4110,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 227
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 3771
    functionDepth: 5
    functionLinenumber: 3771
    functionLinenumberEnd: 4139
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - std::string
    - snprintf
    - TSUrlClone
    - TSUrlSchemeGet
    - TSUrlUserSet
    - TSUrlStringGet
    - TSUrlHttpFragmentSet
    - TSfree
    - TSUrlPortSet
    - TSUrlPasswordSet
    - static_cast<char *>
    - TSUrlHttpFragmentGet
    - TSUrlPathSet
    - TSUrlUserGet
    - TSUrlSchemeSet
    - TSUrlFtpTypeSet
    - strncmp
    - TSUrlCreate
    - std::string::c_str
    - TSUrlHttpQueryGet
    - TSUrlHostSet
    - TSUrlPathGet
    - TSUrlLengthGet
    - strcmp
    - SDK_RPRINT
    - TSUrlPortGet
    - TSmalloc
    - strlen
    - std::regex_replace
    - TSMBufferCreate
    - memset
    - TSUrlCopy
    - test_url_print
    - TSUrlHostGet
    - TSUrlPasswordGet
    - std::regex
    - TSMBufferDestroy
    - TSUrlFtpTypeGet
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSUrl)(RegressionTest *test, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4230,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4231,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4232,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4233,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4237,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4238,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4239,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4240,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4243,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4248,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4249,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4250,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4252,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4253,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4255,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4258,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4262,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4267,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4268,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4270,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4271,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:4271,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:4271,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4272,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4275,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4279,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4284,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4285,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4287,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4288,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4290,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4291,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4294,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4297,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4299,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4300,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4306,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4307,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4310,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4311,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4314,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4315,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4318,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4319,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4322,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4323,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4327,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4332,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4333,1
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4335,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4336,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:4336,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:4336,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4337,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4340,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4344,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4349,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4350,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4352,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4354,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4357,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4361,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4366,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/src/api/InkAPITest.cc:4366,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4367,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4369,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/src/api/InkAPITest.cc:4370,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/src/api/InkAPITest.cc:4370,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4371,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4374,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4378,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4382,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/src/api/InkAPITest.cc:4382,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4383,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4386,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/src/api/InkAPITest.cc:4387,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/src/api/InkAPITest.cc:4387,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4388,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4390,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4396,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:4396,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4397,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4399,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4403,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:4403,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4404,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4409,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4412,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:4412,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4413,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4418,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4421,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:4421,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4422,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4427,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4430,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:4430,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4431,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4436,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4441,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4442,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4447,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4448,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4451,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4457,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4458,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4461,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4467,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4468,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4469,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4470,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4476,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4477,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4478,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4493,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4494,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4495,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4496,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4502,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4503,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4504,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4505,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4511,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4512,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4514,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4520,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4521,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4523,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4524,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4529,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4533,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4534,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4535,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4540,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4547,1
    - Dst: TSHttpHdrClone
      Src: /src/trafficserver/src/api/InkAPITest.cc:4552,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4553,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4558,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4559,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4562,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4568,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4569,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4572,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4578,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4579,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4580,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4581,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4587,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4588,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4589,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4604,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4605,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4606,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4607,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4613,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4614,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4615,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4616,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4622,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4623,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4625,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4631,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4632,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4634,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4635,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4640,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4644,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4645,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4646,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4651,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4658,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4663,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4664,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/src/api/InkAPITest.cc:4665,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:4666,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:4668,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4670,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4673,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:4681,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:4681,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4684,1
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPITest.cc:4689,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:4692,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:4698,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4703,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:4705,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:4706,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4708,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4709,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4712,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4715,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/api/InkAPITest.cc:4716,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4717,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4720,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4723,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4728,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4729,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4730,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4731,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4732,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4733,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4734,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:4735,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4736,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4738,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4741,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4745,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4746,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4751,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4752,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4757,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4758,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:4763,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4764,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 426
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4165
    functionDepth: 5
    functionLinenumber: 4165
    functionLinenumberEnd: 4779
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSHttpHdrDestroy
    - TSHandleMLocRelease
    - TSIOBufferReaderFree
    - TSHttpHdrMethodGet
    - TSIOBufferReaderStart
    - TSHttpHdrMethodSet
    - TS_HTTP_MINOR
    - TSHttpHdrUrlSet
    - TSHttpHdrVersionGet
    - TSUrlSchemeGet
    - TSHttpHdrClone
    - TS_HTTP_MAJOR
    - TS_HTTP_VERSION
    - TSfree
    - TSIOBufferReaderConsume
    - TSUrlPortSet
    - TSHttpHdrReasonSet
    - TSHttpHdrStatusGet
    - TSIOBufferDestroy
    - TSHttpHdrReasonLookup
    - TSHttpHdrTypeSet
    - TSIOBufferBlockReadStart
    - static_cast<char *>
    - TSUrlPathSet
    - TSHttpHdrReasonGet
    - TSHttpHdrPrint
    - TSUrlSchemeSet
    - strncmp
    - TSUrlCreate
    - TSHttpHdrVersionSet
    - static_cast<int>
    - TSUrlHostSet
    - strcmp
    - TSUrlPathGet
    - TSHttpHdrLengthGet
    - TSIOBufferReaderAvail
    - SDK_RPRINT
    - TSUrlPortGet
    - TSmalloc
    - strlen
    - TSHttpHdrUrlGet
    - TSMBufferCreate
    - memset
    - TSHttpHdrCopy
    - TSIOBufferCreate
    - TSHttpHdrCreate
    - TSHttpHdrStatusSet
    - TSUrlHostGet
    - TSMBufferDestroy
    - TSHttpHdrTypeGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSHttpHdr)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4827,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:4828,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:4830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - bufp1
    - mime_loc1
    - field_loc1
    - bufp2
    - mime_loc2
    - field_loc2
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4835
      start: 4818
    functionDepth: 5
    functionLinenumber: 4818
    functionLinenumberEnd: 4835
    functionName: compare_field_names
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameGet
    - strncmp
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode compare_field_names(RegressionTest * /* test ATS_UNUSED
      */, TSMBuffer bufp1, TSMLoc mime_loc1, TSMLoc field_loc1, TSMBuffer bufp2,\n
      \                   TSMLoc mime_loc2, TSMLoc field_loc2)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/api/InkAPITest.cc:4905,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4984,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4985,1
    - Dst: TSMimeHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:4990,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4991,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4993,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:4997,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5002,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5003,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5004,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5005,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5006,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5007,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5009,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5013,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5018,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5019,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5020,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5021,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5022,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5023,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5025,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5026,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5027,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5028,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5029,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5030,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5031,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5031,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5032,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5033,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5033,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5034,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5035,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5035,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5036,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5037,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5037,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5038,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5039,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5039,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5040,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5043,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5047,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5053,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5054,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5055,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5056,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5057,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5058,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5060,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5061,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5062,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5064,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:5066,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5067,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5068,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5069,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5071,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5072,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:5079,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:5080,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5081,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5082,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5083,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5088,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5089,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5090,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:5096,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:5097,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5098,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5099,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5100,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5105,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5106,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5107,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:5112,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:5113,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5114,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5115,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5116,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5121,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5122,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5123,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:5128,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:5129,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5130,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5131,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5136,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5137,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5141,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5142,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5143,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5144,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5145,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5146,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5151,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5157,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5158,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5161,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5162,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/api/InkAPITest.cc:5168,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5169,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5170,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5176,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5179,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5184,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5189,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5190,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5191,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5192,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5193,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5194,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5196,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5198,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5201,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5202,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5203,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5204,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5205,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5206,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5207,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5208,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5208,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5210,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5210,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5211,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5212,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5212,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5214,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5214,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5215,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5216,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5216,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:5217,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:5218,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:5219,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:5220,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:5221,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5222,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5223,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5224,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5228,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5229,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5231,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5232,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5233,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5233,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5234,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5237,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5241,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5242,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5243,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5248,1
    - Dst: TSMimeHdrFieldValueDateInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5253,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5254,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5255,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5257,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5260,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5262,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5263,1
    - Dst: time
      Src: /src/trafficserver/src/api/InkAPITest.cc:5266,1
    - Dst: TSMimeHdrFieldValueDateSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5267,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5268,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5270,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5272,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5275,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5279,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5280,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5281,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5286,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5292,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5293,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5294,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5295,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5296,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5297,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5299,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5301,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5304,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5305,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5306,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5307,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5308,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5311,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5312,1
    - Dst: TSMimeHdrFieldValueIntSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5315,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5316,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5318,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5320,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5323,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5327,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5328,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5329,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5334,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5339,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5340,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5341,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5342,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5343,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5344,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5346,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5348,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5351,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5352,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5353,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5354,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5355,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5358,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5359,1
    - Dst: TSMimeHdrFieldValueUintSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5362,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5363,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5365,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5367,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5370,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5374,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5375,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5376,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5381,1
    - Dst: TSMimeHdrFieldLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5385,1
    - Dst: TSMimeHdrFieldLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5386,1
    - Dst: TSMimeHdrFieldLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5387,1
    - Dst: TSMimeHdrFieldLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5388,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5390,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5393,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5400,1
    - Dst: TSMimeHdrFieldValueIntInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5401,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5402,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/src/api/InkAPITest.cc:5403,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5404,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5406,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5408,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5410,1
    - Dst: TSMimeHdrFieldValueAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:5413,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5414,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5416,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5418,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5418,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5419,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:5419,1
    - Dst: memset
      Src: /src/trafficserver/src/api/InkAPITest.cc:5420,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5421,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/api/InkAPITest.cc:5422,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5423,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5424,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5425,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5428,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5430,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5433,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5435,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5438,1
    - Dst: TSMimeHdrFieldValueDelete
      Src: /src/trafficserver/src/api/InkAPITest.cc:5441,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5442,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5444,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5445,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5446,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5446,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5447,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5450,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/src/api/InkAPITest.cc:5455,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5456,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5458,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5460,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5463,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5469,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5470,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:5472,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5473,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5476,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5477,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5478,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5481,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5482,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5486,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5487,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5488,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5489,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5490,1
    - Dst: TSMimeHdrFieldsClear
      Src: /src/trafficserver/src/api/InkAPITest.cc:5495,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5496,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5498,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5499,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5502,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5505,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5508,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5509,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5510,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5511,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5512,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5516,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5522,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5523,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5524,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5526,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5536,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5541,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5542,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5543,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5545,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5549,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 437
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5572
      start: 4837
    functionDepth: 6
    functionLinenumber: 4837
    functionLinenumberEnd: 5572
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSMimeHdrFieldLengthGet
    - TSMimeHdrFieldValueUintInsert
    - TSMimeHdrFieldValueAppend
    - ink_strlcat
    - compare_field_names
    - TSMimeHdrFieldDestroy
    - TSMimeHdrCreate
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValueDelete
    - TSfree
    - ink_strlcpy
    - TSMimeHdrFieldValueUintSet
    - strstr
    - TSMimeHdrFieldCreate
    - static_cast<char *>
    - TSMimeHdrFieldsClear
    - TSMimeHdrFieldValueIntSet
    - TSMimeHdrFieldAppend
    - strncmp
    - TSMimeHdrFieldValueUintGet
    - static_cast<int>
    - TSMimeHdrFieldValuesCount
    - SDK_RPRINT
    - TSMimeHdrFieldGet
    - TSMimeHdrFieldValueDateGet
    - TSMimeHdrFieldValueDateSet
    - TSMimeHdrFieldValueIntInsert
    - TSmalloc
    - strlen
    - TSMimeHdrFieldNameGet
    - TSMimeHdrFieldValueStringSet
    - TSMBufferCreate
    - memset
    - TSMimeHdrFieldValueIntGet
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldValuesClear
    - TSMimeHdrDestroy
    - TSMimeHdrFieldValueDateInsert
    - TSMimeHdrFieldNext
    - TSMBufferDestroy
    - time
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSMimeHdrField)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5598,1
    - Dst: TSError
      Src: /src/trafficserver/src/api/InkAPITest.cc:5601,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:5604,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/src/api/InkAPITest.cc:5608,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:5614,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5618,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:5618,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5624,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5626,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5637,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:5641,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5645,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5653,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5657
      start: 5584
    functionDepth: 2
    functionLinenumber: 5584
    functionLinenumberEnd: 5657
    functionName: convert_http_hdr_to_string
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSError
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - static_cast<char *>
    - TSmalloc
    - TSHttpHdrPrint
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: char
    signature: 'char *

      convert_http_hdr_to_string(TSMBuffer bufp, TSMLoc hdr_loc)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5684,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5685,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5688,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5689,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5691,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/src/api/InkAPITest.cc:5692,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5693,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5698,1
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/src/api/InkAPITest.cc:5702,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5703,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5708,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5709,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5711,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5712,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5713,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5718,1
    - Dst: convert_http_hdr_to_string
      Src: /src/trafficserver/src/api/InkAPITest.cc:5724,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5725,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5726,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5728,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5731,1
    - Dst: convert_http_hdr_to_string
      Src: /src/trafficserver/src/api/InkAPITest.cc:5735,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5736,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5737,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5739,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5742,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5745,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5746,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5756,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5757,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5758,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5761,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:5762,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5766,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5770
      start: 5659
    functionDepth: 5
    functionLinenumber: 5659
    functionLinenumberEnd: 5770
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - strcmp
    - TSfree
    - TSHandleMLocRelease
    - SDK_RPRINT
    - TSHttpParserDestroy
    - TSHttpHdrParseReq
    - TSHttpHdrCreate
    - TSHttpHdrParseResp
    - TSMimeHdrDestroy
    - TSHttpParserClear
    - TSMBufferDestroy
    - strlen
    - convert_http_hdr_to_string
    - TSMBufferCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSHttpHdrParse)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5805,1
    - Dst: TSError
      Src: /src/trafficserver/src/api/InkAPITest.cc:5808,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:5811,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/src/api/InkAPITest.cc:5815,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:5821,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5825,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:5825,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5831,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5833,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5844,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:5848,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:5852,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5860,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - hdr_loc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5864
      start: 5791
    functionDepth: 4
    functionLinenumber: 5791
    functionLinenumberEnd: 5864
    functionName: convert_mime_hdr_to_string
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSMimeHdrPrint
    - TSError
    - TSIOBufferCreate
    - TSIOBufferReaderFree
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferDestroy
    - static_cast<char *>
    - TSmalloc
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: char
    signature: 'char *

      convert_mime_hdr_to_string(TSMLoc hdr_loc)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5880,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/api/InkAPITest.cc:5881,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5883,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5888,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5889,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5890,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - test
    - bufp1
    - hdr_loc1
    - field_loc1
    - bufp2
    - hdr_loc2
    - field_loc2
    argTypes:
    - RegressionTest*
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5897
      start: 5866
    functionDepth: 5
    functionLinenumber: 5866
    functionLinenumberEnd: 5897
    functionName: compare_field_values
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - strncmp
    - TSMimeHdrFieldValuesCount
    - TSMimeHdrFieldValueStringGet
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode compare_field_values(RegressionTest *test, TSMBuffer
      bufp1, TSMLoc hdr_loc1, TSMLoc field_loc1, TSMBuffer bufp2, TSMLoc hdr_loc2,\n
      \                    TSMLoc field_loc2)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeParserCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5940,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5941,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5944,1
    - Dst: TSMimeHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:5945,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5946,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5947,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5948,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5950,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5951,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5955,1
    - Dst: TSMimeHdrParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:5956,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5957,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5958,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5959,1
    - Dst: convert_mime_hdr_to_string
      Src: /src/trafficserver/src/api/InkAPITest.cc:5962,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:5963,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5964,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5965,1
    - Dst: TSMimeHdrLengthGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:5968,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:5969,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:5969,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5970,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5973,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5979,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5980,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:5983,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5985,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5986,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5987,1
    - Dst: TSMimeParserClear
      Src: /src/trafficserver/src/api/InkAPITest.cc:5992,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5993,1
    - Dst: TSMimeParserDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:5996,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:5997,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:6002,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6003,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6004,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6009,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:6010,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6011,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6014,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/api/InkAPITest.cc:6017,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:6018,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6019,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6021,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6026,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6027,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6029,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6034,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6035,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6038,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6043,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6049,1
    - Dst: TSMimeHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6050,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6051,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6052,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6053,1
    - Dst: TSMimeHdrCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6056,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6057,1
    - Dst: convert_mime_hdr_to_string
      Src: /src/trafficserver/src/api/InkAPITest.cc:6059,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:6060,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6061,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6064,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:6066,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6070,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6073,1
    - Dst: TSMimeHdrCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6074,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:6078,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6079,1
    - Dst: TSMimeHdrFieldRemove
      Src: /src/trafficserver/src/api/InkAPITest.cc:6081,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6082,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:6085,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6089,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/api/InkAPITest.cc:6093,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6094,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6098,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6104,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6105,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6108,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6112,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6113,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6116,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6121,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6126,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6127,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6129,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6130,1
    - Dst: TSMimeHdrFieldCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6132,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6133,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:6135,1
    - Dst: compare_field_values
      Src: /src/trafficserver/src/api/InkAPITest.cc:6136,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6137,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6139,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6144,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6145,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6148,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6152,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6153,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6156,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6161,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6167,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6168,1
    - Dst: TSMimeHdrFieldClone
      Src: /src/trafficserver/src/api/InkAPITest.cc:6170,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6171,1
    - Dst: compare_field_names
      Src: /src/trafficserver/src/api/InkAPITest.cc:6173,1
    - Dst: compare_field_values
      Src: /src/trafficserver/src/api/InkAPITest.cc:6174,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6175,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6177,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6182,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6183,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6191,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6192,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6195,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6201,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6202,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6204,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6205,1
    - Dst: TSMimeHdrFieldCopyValues
      Src: /src/trafficserver/src/api/InkAPITest.cc:6207,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6208,1
    - Dst: compare_field_values
      Src: /src/trafficserver/src/api/InkAPITest.cc:6210,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6211,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6213,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6218,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6219,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6222,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6226,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6227,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6230,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6235,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6238,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6238,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6239,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6240,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6243,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6244,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6248,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6249,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6253,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6254,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6258,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6259,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6262,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6263,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6266,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6267,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 286
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6280
      start: 5899
    functionDepth: 6
    functionLinenumber: 5899
    functionLinenumberEnd: 6280
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - compare_field_values
    - TSHandleMLocRelease
    - TSMimeHdrCopy
    - TSMimeParserDestroy
    - compare_field_names
    - TSMimeHdrCreate
    - TSMimeHdrFieldNextDup
    - TSMimeHdrFieldFind
    - TSfree
    - TSMimeHdrParse
    - TSMimeHdrFieldCopy
    - TSMimeHdrFieldCreate
    - TSMimeHdrFieldAppend
    - strncmp
    - TSMimeHdrFieldRemove
    - TSMimeHdrLengthGet
    - static_cast<int>
    - strcmp
    - TSMimeHdrFieldCopyValues
    - SDK_RPRINT
    - TSMimeHdrFieldGet
    - convert_mime_hdr_to_string
    - strlen
    - TSMimeHdrFieldNameGet
    - TSMBufferCreate
    - TSMimeParserClear
    - TSMimeHdrFieldClone
    - TSMBufferDestroy
    - TSMimeParserCreate
    - TSMimeHdrDestroy
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSMimeHdrParse)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6326,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6327,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6328,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6329,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6330,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:6334,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:6335,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6336,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6339,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:6340,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6341,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6344,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:6346,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6348,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:6353,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6288
    functionDepth: 5
    functionLinenumber: 6288
    functionLinenumberEnd: 6369
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSHandleMLocRelease
    - SDK_RPRINT
    - TSMBufferDestroy
    - strlen
    - TSMBufferCreate
    - TSUrlParse
    - strncmp
    - TSUrlCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSUrlParse)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:6397,1
    - Dst: static_cast<LogTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:6399,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6399,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:6400,1
    - Dst: TSfopen
      Src: /src/trafficserver/src/api/InkAPITest.cc:6404,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6405,1
    - Dst: TSfgets
      Src: /src/trafficserver/src/api/InkAPITest.cc:6411,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:6412,1
    - Dst: TSfclose
      Src: /src/trafficserver/src/api/InkAPITest.cc:6417,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6419,1
    - Dst: TSTextLogObjectDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6425,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6427,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6431,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6435,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:6450,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:6450,1
    - Dst: ink_string_concatenate_strings
      Src: /src/trafficserver/src/api/InkAPITest.cc:6453,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:6455,1
    - Dst: ink_string_concatenate_strings
      Src: /src/trafficserver/src/api/InkAPITest.cc:6456,1
    - Dst: unlink
      Src: /src/trafficserver/src/api/InkAPITest.cc:6459,1
    - Dst: unlink
      Src: /src/trafficserver/src/api/InkAPITest.cc:6460,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:6461,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:6462,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:6466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6470
      start: 6389
    functionDepth: 2
    functionLinenumber: 6389
    functionLinenumberEnd: 6470
    functionName: log_test_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSfopen
    - unlink
    - ink_string_concatenate_strings
    - TSfree
    - SDK_RPRINT
    - TSfclose
    - TSAssert
    - TSfgets
    - strstr
    - static_cast<LogTestData *>
    - TSTextLogObjectDestroy
    - static_cast<char *>
    - TSContDataGet
    - ats_malloc
    linkageType: ''
    returnType: int
    signature: int log_test_handler(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:6485,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:6485,1
    - Dst: getpid
      Src: /src/trafficserver/src/api/InkAPITest.cc:6485,1
    - Dst: snprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:6486,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/api/InkAPITest.cc:6486,1
    - Dst: unlink
      Src: /src/trafficserver/src/api/InkAPITest.cc:6488,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6489,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6491,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6495,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:6498,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6500,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6504,1
    - Dst: TSTextLogObjectFlush
      Src: /src/trafficserver/src/api/InkAPITest.cc:6507,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6508,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6510,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:6510,1
    - Dst: static_cast<LogTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:6511,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:6511,1
    - Dst: TSstrdup
      Src: /src/trafficserver/src/api/InkAPITest.cc:6514,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6517,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:6519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6472
    functionDepth: 2
    functionLinenumber: 6472
    functionLinenumberEnd: 6521
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSTextLogObjectWrite
    - unlink
    - ats_scoped_str::get
    - SDK_RPRINT
    - TSstrdup
    - TSContScheduleOnPool
    - TSContDataSet
    - TSTextLogObjectCreate
    - static_cast<LogTestData *>
    - snprintf
    - TSContCreate
    - TSmalloc
    - TSMutexCreate
    - TSTextLogObjectFlush
    - getpid
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSTextLog)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSMgmtCounterGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6555,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6556,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6559,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6563,1
    - Dst: TSMgmtFloatGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6566,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6567,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6570,1
    - Dst: TSMgmtIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6573,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6574,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6577,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6580,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6581,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:6583,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6584,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6589,1
    - Dst: TSMgmtDataTypeGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6594,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6596,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6599,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6603,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:6613,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6615
      start: 6533
    functionDepth: 2
    functionLinenumber: 6533
    functionLinenumberEnd: 6615
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TSMgmtDataTypeGet
    - TSMgmtCounterGet
    - SDK_RPRINT
    - TSMgmtIntGet
    - TSMgmtStringGet
    - TSMgmtFloatGet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSMgmtGet)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6631
      start: 6624
    functionDepth: 0
    functionLinenumber: 6624
    functionLinenumberEnd: 6631
    functionName: PRINT_DIFF
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_DIFF(_x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6822,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6823,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6824,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6826,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6827,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6828,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6829,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6831,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6832,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6834,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6835,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6836,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6837,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6838,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6840,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6841,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6842,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6843,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6844,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6845,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6846,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6847,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6848,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6849,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6850,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6851,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6852,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6853,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6854,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6855,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6856,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6857,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6858,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6859,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6860,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6861,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6862,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6863,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6864,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6866,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6867,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6868,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6869,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6870,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6871,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6872,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6873,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6874,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6875,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6876,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6877,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6878,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6879,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6881,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6882,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6883,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6884,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6886,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6887,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6888,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6889,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6890,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6891,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6893,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6894,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6895,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6896,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6898,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6900,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6901,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6902,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6903,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6904,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6905,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6906,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6907,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6908,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6909,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6910,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6911,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6913,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6914,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6915,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6916,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6917,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6918,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6919,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6920,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6921,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6922,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6923,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6924,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6925,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6926,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6927,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6928,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6930,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6932,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6933,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6934,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6936,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6937,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6938,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6940,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6941,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6942,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6944,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6945,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6946,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6947,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6948,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6949,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6951,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6952,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6954,1
    - Dst: PRINT_DIFF
      Src: /src/trafficserver/src/api/InkAPITest.cc:6955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 123
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6962
      start: 6817
    functionDepth: 1
    functionLinenumber: 6817
    functionLinenumberEnd: 6962
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - PRINT_DIFF
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSConstant)(RegressionTest *test, int
      /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnParentProxySet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6998,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:6998,1
    - Dst: TSHttpTxnParentProxyGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:6999,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7000,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7001,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:7005,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7006,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7007,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7010,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - txnp
    argTypes:
    - ContData*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7015
      start: 6990
    functionDepth: 2
    functionLinenumber: 6990
    functionLinenumberEnd: 7015
    functionName: checkHttpTxnParentProxy
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - SDK_RPRINT
    - const_cast<char *>
    - TSHttpTxnParentProxySet
    - TSHttpTxnParentProxyGet
    linkageType: ''
    returnType: int
    signature: int checkHttpTxnParentProxy(ContData *data, TSHttpTxn txnp)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ContData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7022,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7022,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7026,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7026,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7033,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7033,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7041,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7042,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7043,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7047,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7047,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7048,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7051,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7052,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7054,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7056,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7059,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7061,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7064,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7065,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7070,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7072,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7074,1
    - Dst: checkHttpTxnParentProxy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7075,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7077,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7081,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7083,1
    - Dst: TSstrdup
      Src: /src/trafficserver/src/api/InkAPITest.cc:7085,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7086,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:7086,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7088,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7095,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:7101,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:7103,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:7104,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7105,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:7108,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:7108,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7109,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7113,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7127,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:7133,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7134,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7140,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7144
      start: 7017
    functionDepth: 3
    functionLinenumber: 7017
    functionLinenumberEnd: 7144
    functionName: ssn_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ContData *>
    - TSContDataGet
    - TSContScheduleOnPool
    - synclient_txn_delete
    - TSfree
    - TSHttpTxnSsnGet
    - strstr
    - strncmp
    - SDK_RPRINT
    - TSHttpTxnHookAdd
    - TSstrdup
    - static_cast<TSHttpSsn>
    - strlen
    - TSHttpTxnReenable
    - TSHttpSsnReenable
    - TSContDataSet
    - TSHttpSsnHookAdd
    - static_cast<TSHttpTxn>
    - TSHttpTxnErrorBodySet
    - checkHttpTxnParentProxy
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int ssn_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7150,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7150,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7152,1
    - Dst: static_cast<ContData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7157,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:7157,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7167,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7170,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7173,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7174,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7175,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:7176,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7146
    functionDepth: 3
    functionLinenumber: 7146
    functionLinenumberEnd: 7184
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - SDK_RPRINT
    - TSContScheduleOnPool
    - synclient_txn_send_request
    - TSContDataSet
    - TSHttpHookAdd
    - generate_request
    - synclient_txn_create
    - static_cast<ContData *>
    - TSContCreate
    - TSmalloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpSsn)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/api/InkAPITest.cc:7189,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7195
      start: 7187
    functionDepth: 2
    functionLinenumber: 7187
    functionLinenumberEnd: 7195
    functionName: ParentTest
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - synclient_txn_create
    linkageType: ''
    returnType: void
    signature: void ParentTest(RegressionTest *test, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: synclient_txn_close
      Src: /src/trafficserver/src/api/InkAPITest.cc:7199,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7200,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7204
      start: 7197
    functionDepth: 4
    functionLinenumber: 7197
    functionLinenumberEnd: 7204
    functionName: ~ParentTest()
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - synclient_txn_delete
    - synclient_txn_close
    - synserver_delete
    linkageType: ''
    returnType: void
    signature: void ~ParentTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/api/InkAPITest.cc:7211,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/src/api/InkAPITest.cc:7213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7216
      start: 7206
    functionDepth: 0
    functionLinenumber: 7206
    functionLinenumberEnd: 7216
    functionName: parent_routing_enabled
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SplitDNSConfig::acquire
    - TextBuffer::release
    linkageType: ''
    returnType: bool
    signature: bool parent_routing_enabled() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ParentTest *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7233,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7233,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7234,1
    - Dst: get_request_id
      Src: /src/trafficserver/src/api/InkAPITest.cc:7242,1
    - Dst: get_response_id
      Src: /src/trafficserver/src/api/InkAPITest.cc:7243,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7247,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7251,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7253,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7260
      start: 7230
    functionDepth: 7
    functionLinenumber: 7230
    functionLinenumberEnd: 7260
    functionName: parent_proxy_success
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - get_response_id
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<ParentTest *>
    - TSHttpTxnReenable
    - get_request_id
    linkageType: ''
    returnType: int
    signature: int parent_proxy_success(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ParentTest *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7265,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7265,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7266,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:7276,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7276,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7277,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7281,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7285,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7288,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7295
      start: 7262
    functionDepth: 5
    functionLinenumber: 7262
    functionLinenumberEnd: 7295
    functionName: parent_proxy_fail
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrStatusGet
    - SDK_RPRINT
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<ParentTest *>
    linkageType: ''
    returnType: int
    signature: int parent_proxy_fail(TSCont contp, TSEvent event, void *edata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SPURIOUS_EVENT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7302,1
    - Dst: static_cast<ParentTest *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7303,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7303,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:7304,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7306,1
    - Dst: rprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:7310,1
    - Dst: TSHttpTxnParentProxySet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7314,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7316,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7317,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7319,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7320,1
    - Dst: rprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:7327,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7328,1
    - Dst: ParentTest*::parent_routing_enabled
      Src: /src/trafficserver/src/api/InkAPITest.cc:7332,1
    - Dst: rprintf
      Src: /src/trafficserver/src/api/InkAPITest.cc:7333,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7334,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7342,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7343,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:7344,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7350,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7359,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7361,1
    - Dst: ParentTest*::handler
      Src: /src/trafficserver/src/api/InkAPITest.cc:7367,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7371,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7380
      start: 7297
    functionDepth: 3
    functionLinenumber: 7297
    functionLinenumberEnd: 7380
    functionName: parent_proxy_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - TSfree
    - SDK_RPRINT
    - TSHttpTxnHookAdd
    - synclient_txn_send_request
    - rprintf
    - ParentTest*::parent_routing_enabled
    - TSContDataSet
    - generate_request
    - TSHttpTxnParentProxySet
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnCntlSet
    - static_cast<ParentTest *>
    - TSContScheduleOnPool
    - CHECK_SPURIOUS_EVENT
    - ParentTest*::handler
    linkageType: ''
    returnType: int
    signature: int parent_proxy_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7391,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7391,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7393,1
    - Dst: ParentTest::ParentTest
      Src: /src/trafficserver/src/api/InkAPITest.cc:7398,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7402,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7405,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7408,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7408,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7408,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:7409,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - test
    - level
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7412
      start: 7382
    functionDepth: 3
    functionLinenumber: 7382
    functionLinenumberEnd: 7412
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ParentTest::ParentTest
    - SDK_RPRINT
    - TSContScheduleOnPool
    - TSContDataSet
    - TSHttpHookAdd
    - synserver_start
    - TSContCreate
    - synserver_create
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpParentProxySet_Fail)(RegressionTest
      *test, int level, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7423,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7423,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7425,1
    - Dst: ParentTest::ParentTest
      Src: /src/trafficserver/src/api/InkAPITest.cc:7430,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7434,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7437,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7440,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7440,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7440,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:7441,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - test
    - level
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7444
      start: 7414
    functionDepth: 3
    functionLinenumber: 7414
    functionLinenumberEnd: 7444
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - ParentTest::ParentTest
    - SDK_RPRINT
    - TSContScheduleOnPool
    - TSContDataSet
    - TSHttpHookAdd
    - synserver_start
    - TSContCreate
    - synserver_create
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpParentProxySet_Success)(RegressionTest
      *test, int level, int *pstatus)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SPURIOUS_EVENT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7474,1
    - Dst: static_cast<CacheTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7475,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7475,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7479,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7480,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7481,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7487,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7488,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7489,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7493,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7496,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7501,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7502,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7503,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7508,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7510,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7516,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7525,1
    - Dst: TSHttpTxnCachedReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7527,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7528,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7530,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7531,1
    - Dst: t_state::cache_info::object_read::request_get
      Src: /src/trafficserver/src/api/InkAPITest.cc:7531,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7532,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7535,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7539,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7540,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7542,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7543,1
    - Dst: t_state::cache_info::object_read::response_get
      Src: /src/trafficserver/src/api/InkAPITest.cc:7543,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7544,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7547,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7551,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7552,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7553,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7556,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7566,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7571,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7583,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7587,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:7588,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7589,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7603,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:7604,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:7607,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:7608,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7609,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7615,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 108
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7619
      start: 7468
    functionDepth: 5
    functionLinenumber: 7468
    functionLinenumberEnd: 7619
    functionName: cache_hook_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDataGet
    - TSContScheduleOnPool
    - reinterpret_cast<TSMLoc>
    - static_cast<CacheTestData *>
    - synclient_txn_delete
    - TSfree
    - reinterpret_cast<TSMBuffer>
    - TSHttpTxnCacheLookupStatusGet
    - synserver_delete
    - t_state::cache_info::object_read::response_get
    - t_state::cache_info::object_read::request_get
    - SDK_RPRINT
    - synclient_txn_send_request
    - CHECK_SPURIOUS_EVENT
    - TSHttpTxnReenable
    - ink_assert
    - TSContDataSet
    - static_cast<TSHttpTxn>
    - TSHttpTxnCachedReqGet
    - TSHttpTxnCachedRespGet
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int cache_hook_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7625,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7625,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7628,1
    - Dst: static_cast<CacheTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7633,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:7633,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7640,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7642,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7644,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7645,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7648,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:7649,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7652,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:7653,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7654,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:7655,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:7658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7661
      start: 7621
    functionDepth: 3
    functionLinenumber: 7621
    functionLinenumberEnd: 7661
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSContScheduleOnPool
    - synclient_txn_send_request
    - TSContDataSet
    - TSHttpHookAdd
    - generate_request
    - synserver_start
    - synclient_txn_create
    - TSmalloc
    - TSContCreate
    - synserver_create
    - TSMutexCreate
    - static_cast<CacheTestData *>
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpTxnCache)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7704
      start: 7699
    functionDepth: 1
    functionLinenumber: 7699
    functionLinenumberEnd: 7704
    functionName: ~AppendTransformTestData()
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    linkageType: ''
    returnType: void
    signature: void ~AppendTransformTestData()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7722,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7728,1
    - Dst: static_cast<AppendTransformTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7733,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7733,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7735,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7739,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:7740,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/api/InkAPITest.cc:7741,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkAPITest.cc:7743,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7752,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7755,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7755,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7758,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7758,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7759,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7766,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:7770,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7770,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7777,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7777,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7777,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/api/InkAPITest.cc:7781,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7781,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7785,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7785,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7791,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7797,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/api/InkAPITest.cc:7801,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7801,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7806,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7806,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7814,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7814,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7815,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/api/InkAPITest.cc:7819,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7821
      start: 7713
    functionDepth: 2
    functionLinenumber: 7713
    functionLinenumberEnd: 7821
    functionName: handle_transform
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 1
    functionsReached:
    - TSVIONBytesSet
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - TSVIONBytesGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - ink_assert
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - static_cast<AppendTransformTestData *>
    - TSTransformOutputVConnGet
    - TSVIOContGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void handle_transform(TSCont contp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AppendTransformTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7826,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7826,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7829,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7833,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7835,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7845,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/api/InkAPITest.cc:7849,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7849,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/api/InkAPITest.cc:7856,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7856,1
    - Dst: handle_transform
      Src: /src/trafficserver/src/api/InkAPITest.cc:7863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7869
      start: 7823
    functionDepth: 2
    functionLinenumber: 7823
    functionLinenumberEnd: 7869
    functionName: transformtest_transform
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - handle_transform
    - TSVConnWriteVIOGet
    - SDK_RPRINT
    - static_cast<AppendTransformTestData *>
    - TSContDestroy
    - TSContCall
    - TSVIOContGet
    - TSVConnShutdown
    - TSTransformOutputVConnGet
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int transformtest_transform(TSCont contp, TSEvent event, void * /*
      edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7878,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7879,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7887,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - data
    argTypes:
    - TSHttpTxn
    - TransformTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7893
      start: 7871
    functionDepth: 5
    functionLinenumber: 7871
    functionLinenumberEnd: 7893
    functionName: transformable
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSHttpHdrStatusGet
    - TSHttpTxnServerRespGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: int
    signature: int transformable(TSHttpTxn txnp, TransformTestData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTransformCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7898,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7900,1
    - Dst: AppendTransformTestData::AppendTransformTestData
      Src: /src/trafficserver/src/api/InkAPITest.cc:7905,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7907,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - txnp
    - test_data
    argTypes:
    - TSHttpTxn
    - TransformTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7911
      start: 7895
    functionDepth: 3
    functionLinenumber: 7895
    functionLinenumberEnd: 7911
    functionName: transform_add
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 1
    functionsReached:
    - SDK_RPRINT
    - TSHttpTxnHookAdd
    - TSContDataSet
    - AppendTransformTestData::AppendTransformTestData
    - TSTransformCreate
    linkageType: ''
    returnType: void
    signature: void transform_add(TSHttpTxn txnp, TransformTestData *test_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:7920,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:7921,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:7923,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/src/api/InkAPITest.cc:7924,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:7926,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/src/api/InkAPITest.cc:7928,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:7928,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/api/InkAPITest.cc:7931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - append_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7934
      start: 7913
    functionDepth: 1
    functionLinenumber: 7913
    functionLinenumberEnd: 7934
    functionName: load
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 31
    functionsReached:
    - TSIOBufferProduce
    - TSIOBufferReaderAvail
    - ink_strlcpy
    - TSIOBufferCreate
    - TSIOBufferStart
    - strlen
    - TSIOBufferBlockWriteStart
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int load(const char *append_string)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SPURIOUS_EVENT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7944,1
    - Dst: static_cast<TransformTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7945,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7945,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7949,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7950,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7951,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:7954,1
    - Dst: transformable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7956,1
    - Dst: transform_add
      Src: /src/trafficserver/src/api/InkAPITest.cc:7957,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7965,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7966,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:7968,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7969,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:7971,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/src/api/InkAPITest.cc:7973,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/src/api/InkAPITest.cc:7974,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/src/api/InkAPITest.cc:7977,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/src/api/InkAPITest.cc:7978,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7980,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7981,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:7985,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:7986,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:7992,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:7994,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8000,1
    - Dst: TSHttpTxnTransformRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8001,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8002,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8005,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8006,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8007,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8009,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/api/InkAPITest.cc:8012,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8013,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:8018,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8027,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8031,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8032,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8033,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8037,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8041,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8042,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8043,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8047,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8051,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8052,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8053,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8057,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8060,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8063,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8064,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8072,1
    - Dst: exit
      Src: /src/trafficserver/src/api/InkAPITest.cc:8073,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:8078,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:8079,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8080,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8083,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:8086,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:8087,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8088,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8091,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8097,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8101,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8105,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8109,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8113,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8117,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8121,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8125,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8129,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8130,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8131,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8132,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8134,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8136,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8142,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 167
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8146
      start: 7938
    functionDepth: 5
    functionLinenumber: 7938
    functionLinenumberEnd: 8146
    functionName: transform_hook_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - transformable
    - TSHandleMLocRelease
    - transform_add
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - exit
    - TSContScheduleOnPool
    - reinterpret_cast<TSMLoc>
    - TSMimeHdrFieldFind
    - synclient_txn_delete
    - TSfree
    - reinterpret_cast<TSMBuffer>
    - strstr
    - TSHttpTxnTransformedRespCache
    - synserver_delete
    - SDK_RPRINT
    - TSHttpTxnHookAdd
    - synclient_txn_send_request
    - TSHttpTxnUntransformedRespCache
    - Dbg
    - static_cast<TransformTestData *>
    - CHECK_SPURIOUS_EVENT
    - TSHttpTxnReenable
    - TSMimeHdrFieldValueIntGet
    - TSContDataSet
    - static_cast<TSHttpTxn>
    - TSHttpTxnTransformRespGet
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int transform_hook_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8152,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8154,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8154,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8156,1
    - Dst: static_cast<TransformTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8161,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8161,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8170,1
    - Dst: load
      Src: /src/trafficserver/src/api/InkAPITest.cc:8173,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8175,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8178,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8181,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:8182,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8185,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8186,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8187,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8188,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8189,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8190,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8191,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8192,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8199
      start: 8148
    functionDepth: 3
    functionLinenumber: 8148
    functionLinenumberEnd: 8199
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - load
    - SDK_RPRINT
    - TSContScheduleOnPool
    - synclient_txn_send_request
    - TSContDataSet
    - TSHttpHookAdd
    - generate_request
    - synserver_start
    - Dbg
    - synclient_txn_create
    - TSContCreate
    - TSmalloc
    - synserver_create
    - static_cast<TransformTestData *>
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpTxnTransform)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_SPURIOUS_EVENT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8233,1
    - Dst: static_cast<AltInfoTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8234,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8234,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8238,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8239,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:8240,1
    - Dst: static_cast<TSHttpAltInfo>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8252,1
    - Dst: TSHttpAltInfoClientReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8255,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8256,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8260,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8261,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8262,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8264,1
    - Dst: TSHttpAltInfoCachedReqGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8269,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8270,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8274,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8275,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8276,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8278,1
    - Dst: TSHttpAltInfoCachedRespGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8283,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8284,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8288,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8289,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8290,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8292,1
    - Dst: TSHttpAltInfoQualitySet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8297,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8298,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8308,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8313,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8325,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8329,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8332,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8333,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8344,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8350,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8351,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8352,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8354,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8355,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8356,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8359,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8360,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8366,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 95
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8370
      start: 8227
    functionDepth: 4
    functionLinenumber: 8227
    functionLinenumberEnd: 8370
    functionName: altinfo_hook_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpAltInfo>
    - TSContDataGet
    - TSContScheduleOnPool
    - reinterpret_cast<TSMLoc>
    - synclient_txn_delete
    - TSfree
    - reinterpret_cast<TSMBuffer>
    - TSHttpAltInfoQualitySet
    - TSHttpHookAdd
    - TSHttpAltInfoClientReqGet
    - synserver_delete
    - SDK_RPRINT
    - synclient_txn_send_request
    - TSHttpAltInfoCachedRespGet
    - CHECK_SPURIOUS_EVENT
    - TSHttpTxnReenable
    - static_cast<AltInfoTestData *>
    - TSHttpAltInfoCachedReqGet
    - TSContDataSet
    - static_cast<TSHttpTxn>
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int altinfo_hook_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8376,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8376,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8378,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8383,1
    - Dst: static_cast<AltInfoTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8385,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8385,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8395,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8398,1
    - Dst: synserver_start
      Src: /src/trafficserver/src/api/InkAPITest.cc:8399,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8402,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8403,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8404,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8405,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8406,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8407,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8408,1
    - Dst: synclient_txn_send_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8409,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8415
      start: 8372
    functionDepth: 3
    functionLinenumber: 8372
    functionLinenumberEnd: 8415
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - SDK_RPRINT
    - TSContScheduleOnPool
    - synclient_txn_send_request
    - TSHttpHookAdd
    - TSContDataSet
    - generate_request
    - synserver_start
    - synclient_txn_create
    - TSContCreate
    - TSmalloc
    - synserver_create
    - TSMutexCreate
    - static_cast<AltInfoTestData *>
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_HttpAltInfo)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8457,1
    - Dst: CHECK_SPURIOUS_EVENT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8461,1
    - Dst: static_cast<ConnectTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8462,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8462,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:8464,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:8465,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8467,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:8467,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8471,1
    - Dst: get_request_id
      Src: /src/trafficserver/src/api/InkAPITest.cc:8475,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/api/InkAPITest.cc:8476,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8478,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8481,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:8482,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8487,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/src/api/InkAPITest.cc:8488,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8490,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/src/api/InkAPITest.cc:8491,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/api/InkAPITest.cc:8494,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8500,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8501,1
    - Dst: get_body_ptr
      Src: /src/trafficserver/src/api/InkAPITest.cc:8506,1
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8513,1
    - Dst: strncmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8516,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8516,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8518,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8519,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8521,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8522,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8528,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8529,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8531,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8532,1
    - Dst: synclient_txn_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8538,1
    - Dst: synserver_delete
      Src: /src/trafficserver/src/api/InkAPITest.cc:8539,1
    - Dst: TSfree
      Src: /src/trafficserver/src/api/InkAPITest.cc:8542,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8543,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8549,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8555
      start: 8454
    functionDepth: 7
    functionLinenumber: 8454
    functionLinenumberEnd: 8555
    functionName: cont_test_handler
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSContDataGet
    - TSContScheduleOnPool
    - synclient_txn_delete
    - TSfree
    - static_cast<ConnectTestData *>
    - strncmp
    - synserver_delete
    - get_request_id
    - SDK_RPRINT
    - TSHttpTxnServerIntercept
    - TSHttpEventNameLookup
    - Dbg
    - TSReleaseAssert
    - get_body_ptr
    - strlen
    - TSHttpTxnReenable
    - CHECK_SPURIOUS_EVENT
    - TSContDataSet
    - TSHttpTxnIntercept
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int cont_test_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8561,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8563,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8563,1
    - Dst: static_cast<ConnectTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8564,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8564,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8565,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8573,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8577,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8579,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8580,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:8586,1
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/src/api/InkAPITest.cc:8587,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:8587,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8588,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8589,1
    - Dst: synclient_txn_send_request_to_vc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8591,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8597
      start: 8557
    functionDepth: 3
    functionLinenumber: 8557
    functionLinenumberEnd: 8597
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - static_cast<ConnectTestData *>
    - SDK_RPRINT
    - TSContScheduleOnPool
    - TSContDataSet
    - TSHttpHookAdd
    - ats_ip_sa_cast
    - generate_request
    - Dbg
    - synclient_txn_create
    - TSmalloc
    - TSContCreate
    - synserver_create
    - synclient_txn_send_request_to_vc
    - ats_ip4_set
    - TSHttpConnectWithPluginId
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_TSHttpConnectIntercept)(RegressionTest
      *test, int /* atype */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/api/InkAPITest.cc:8608,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8610,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:8610,1
    - Dst: static_cast<ConnectTestData *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8611,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8611,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8612,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/api/InkAPITest.cc:8620,1
    - Dst: synserver_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8623,1
    - Dst: synclient_txn_create
      Src: /src/trafficserver/src/api/InkAPITest.cc:8625,1
    - Dst: generate_request
      Src: /src/trafficserver/src/api/InkAPITest.cc:8626,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/api/InkAPITest.cc:8632,1
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/src/api/InkAPITest.cc:8633,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/api/InkAPITest.cc:8633,1
    - Dst: synclient_txn_send_request_to_vc
      Src: /src/trafficserver/src/api/InkAPITest.cc:8635,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/api/InkAPITest.cc:8638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8641
      start: 8599
    functionDepth: 3
    functionLinenumber: 8599
    functionLinenumberEnd: 8641
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectTestData *>
    - TSContScheduleOnPool
    - TSContDataSet
    - TSHttpHookAdd
    - ats_ip_sa_cast
    - generate_request
    - Dbg
    - synclient_txn_create
    - TSmalloc
    - TSContCreate
    - synserver_create
    - synclient_txn_send_request_to_vc
    - ats_ip4_set
    - TSHttpConnectWithPluginId
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(SDK_API_TSHttpConnectServerIntercept)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/api/InkAPITest.cc:8733,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPITest.cc:8733,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8735,1
    - Dst: HttpSM*::init
      Src: /src/trafficserver/src/api/InkAPITest.cc:8743,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkAPITest.cc:8744,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPITest.cc:8745,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPITest.cc:8745,1
    - Dst: HttpSM*::get_cache_sm
      Src: /src/trafficserver/src/api/InkAPITest.cc:8747,1
    - Dst: HttpCacheSM*::init
      Src: /src/trafficserver/src/api/InkAPITest.cc:8748,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8751,1
    - Dst: size
      Src: /src/trafficserver/src/api/InkAPITest.cc:8751,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:8754,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8754,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8756,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8756,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8761,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8761,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/src/api/InkAPITest.cc:8766,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8766,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/api/InkAPITest.cc:8766,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8768,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8768,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8773,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8773,1
    - Dst: InkRand::random
      Src: /src/trafficserver/src/api/InkAPITest.cc:8781,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8782,1
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8783,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8785,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8785,1
    - Dst: InkRand::random
      Src: /src/trafficserver/src/api/InkAPITest.cc:8793,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8794,1
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8795,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8797,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8797,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8805,1
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8806,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8808,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/api/InkAPITest.cc:8808,1
    - Dst: HttpSM*::destroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:8820,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8823,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8824,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8825,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8826,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8832
      start: 8729
    functionDepth: 3
    functionLinenumber: 8729
    functionLinenumberEnd: 8832
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - new_ProxyMutex
    - TSHttpTxnConfigFloatSet
    - InkRand::random
    - TSHttpTxnConfigFind
    - this_ethread
    - size
    - std::string_view::data
    - THREAD_ALLOC
    - TSHttpTxnConfigStringGet
    - TSHttpTxnConfigStringSet
    - TSHttpTxnConfigIntGet
    - TSHttpTxnConfigIntSet
    - std::string_view::size
    - static_cast<int>
    - TSHttpTxnConfigFloatGet
    - SDK_RPRINT
    - HttpSM*::init
    - HttpSM*::get_cache_sm
    - SCOPED_MUTEX_LOCK
    - this_thread
    - HttpSM*::destroy
    - HttpCacheSM*::init
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/api/InkAPITest.cc:8842,1
    - Dst: this_thread
      Src: /src/trafficserver/src/api/InkAPITest.cc:8842,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8844,1
    - Dst: HttpSM*::init
      Src: /src/trafficserver/src/api/InkAPITest.cc:8847,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkAPITest.cc:8848,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/api/InkAPITest.cc:8849,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkAPITest.cc:8849,1
    - Dst: HttpSM*::get_cache_sm
      Src: /src/trafficserver/src/api/InkAPITest.cc:8852,1
    - Dst: HttpCacheSM*::init
      Src: /src/trafficserver/src/api/InkAPITest.cc:8853,1
    - Dst: HttpCacheSM*::set_readwhilewrite_inprogress
      Src: /src/trafficserver/src/api/InkAPITest.cc:8854,1
    - Dst: HttpCacheSM*::set_open_read_tries
      Src: /src/trafficserver/src/api/InkAPITest.cc:8855,1
    - Dst: HttpCacheSM*::set_open_write_tries
      Src: /src/trafficserver/src/api/InkAPITest.cc:8856,1
    - Dst: TSHttpTxnInfoIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8858,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8860,1
    - Dst: TSHttpTxnInfoIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8865,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8867,1
    - Dst: TSHttpTxnInfoIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:8872,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8874,1
    - Dst: HttpSM*::destroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:8879,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8888
      start: 8840
    functionDepth: 2
    functionLinenumber: 8840
    functionLinenumberEnd: 8888
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - HttpCacheSM*::set_readwhilewrite_inprogress
    - THREAD_ALLOC
    - reinterpret_cast<TSHttpTxn>
    - SDK_RPRINT
    - HttpCacheSM*::set_open_read_tries
    - SCOPED_MUTEX_LOCK
    - new_ProxyMutex
    - this_thread
    - TSHttpTxnInfoIntGet
    - HttpSM*::destroy
    - this_ethread
    - HttpCacheSM*::init
    - HttpSM*::init
    - HttpCacheSM*::set_open_write_tries
    - HttpSM*::get_cache_sm
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TXN_HTTP_INFO_GET)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8911,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8911,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8912,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8915,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8916,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8919,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8923,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8923,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8924,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8927,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8928,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8931,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8935,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8935,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8936,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8939,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8939,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8940,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8943,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8947,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8947,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8948,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8951,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8951,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8952,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8955,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8961,1
    - Dst: memcpy
      Src: /src/trafficserver/src/api/InkAPITest.cc:8962,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8967,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8968,1
    - Dst: memcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8971,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8972,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8974,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8974,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8975,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8978,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8982,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8982,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8983,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8986,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8986,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8987,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8990,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/src/api/InkAPITest.cc:8994,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8994,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:8994,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8995,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:8998,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:8998,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:8999,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9002,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9009
      start: 8898
    functionDepth: 4
    functionLinenumber: 8898
    functionLinenumberEnd: 9009
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - strcmp
    - TSStringPercentDecode
    - memcpy
    - SDK_RPRINT
    - TSStringPercentEncode
    - TSBase64Encode
    - strlen
    - TSBase64Decode
    - reinterpret_cast<unsigned char *>
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_ENCODING)(RegressionTest *test, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpServerStateNameLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:9029,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9030,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9030,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9030,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9031,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9035,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:9038,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9039,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9039,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9039,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9040,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9044,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/src/api/InkAPITest.cc:9047,1
    - Dst: strstr
      Src: /src/trafficserver/src/api/InkAPITest.cc:9048,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9049,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9059
      start: 9019
    functionDepth: 2
    functionLinenumber: 9019
    functionLinenumberEnd: 9059
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TSHttpHookNameLookup
    - SDK_RPRINT
    - strstr
    - TSHttpEventNameLookup
    - strlen
    - TSHttpServerStateNameLookup
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_DEBUG_NAME_LOOKUPS)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9086,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9088,1
    - Dst: reinterpret_cast<ATSUuid *>
      Src: /src/trafficserver/src/api/InkAPITest.cc:9091,1
    - Dst: valid
      Src: /src/trafficserver/src/api/InkAPITest.cc:9091,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9092,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9096,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9097,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9101,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9102,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9103,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9107,1
    - Dst: TSUuidCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:9111,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9112,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9116,1
    - Dst: TSUuidInitialize
      Src: /src/trafficserver/src/api/InkAPITest.cc:9117,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9118,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9122,1
    - Dst: TSUuidVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9127,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9128,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9132,1
    - Dst: TSUuidCopy
      Src: /src/trafficserver/src/api/InkAPITest.cc:9136,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9137,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9141,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9142,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9143,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9143,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9144,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9148,1
    - Dst: TSUuidInitialize
      Src: /src/trafficserver/src/api/InkAPITest.cc:9153,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9154,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9158,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9159,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9160,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9160,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9161,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9165,1
    - Dst: TSUuidStringParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:9170,1
    - Dst: TSUuidVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9170,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9171,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9175,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9176,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9177,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9177,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9178,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9182,1
    - Dst: TSUuidStringParse
      Src: /src/trafficserver/src/api/InkAPITest.cc:9185,1
    - Dst: TSUuidVersionGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9185,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9186,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9190,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9191,1
    - Dst: strlen
      Src: /src/trafficserver/src/api/InkAPITest.cc:9192,1
    - Dst: strcmp
      Src: /src/trafficserver/src/api/InkAPITest.cc:9192,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9193,1
    - Dst: SDK_RPRINT
      Src: /src/trafficserver/src/api/InkAPITest.cc:9197,1
    - Dst: TSUuidDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:9204,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9207
      start: 9075
    functionDepth: 2
    functionLinenumber: 9075
    functionLinenumberEnd: 9207
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TSUuidStringGet
    - reinterpret_cast<ATSUuid *>
    - TSUuidInitialize
    - TSUuidCopy
    - SDK_RPRINT
    - TSUuidDestroy
    - TSProcessUuidGet
    - TSUuidCreate
    - TSUuidStringParse
    - strlen
    - valid
    - TSUuidVersionGet
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_UUID)(RegressionTest *test, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSSslServerContextCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:9214,1
    - Dst: TSSslContextDestroy
      Src: /src/trafficserver/src/api/InkAPITest.cc:9217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pstatus
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9218
      start: 9209
    functionDepth: 2
    functionLinenumber: 9209
    functionLinenumberEnd: 9218
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSSslContextDestroy
    - TSSslServerContextCreate
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSSslServerContextCreate)(RegressionTest
      * /* test */, int /* level */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/src/api/InkAPITest.cc:9229,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/api/InkAPITest.cc:9230,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/src/api/InkAPITest.cc:9232,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/api/InkAPITest.cc:9233,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9236,1
    - Dst: getpid
      Src: /src/trafficserver/src/api/InkAPITest.cc:9236,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/src/api/InkAPITest.cc:9237,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/src/api/InkAPITest.cc:9238,1
    - Dst: TSStatIntGet
      Src: /src/trafficserver/src/api/InkAPITest.cc:9240,1
    - Dst: getpid
      Src: /src/trafficserver/src/api/InkAPITest.cc:9241,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/api/InkAPITest.cc:9243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9244
      start: 9220
    functionDepth: 2
    functionLinenumber: 9220
    functionLinenumberEnd: 9244
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/api/InkAPITest.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TestBox::check
    - TSStatIntGet
    - TSStatIntSet
    - TSStatFindName
    - getpid
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SDK_API_TSStatCreate)(RegressionTest *test, int
      /* level */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: sdk_assert
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 328
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdk_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: sdk_assert
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 328
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdk_assert(EX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ProxyMutex *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:49,1
    - Dst: ProxyMutex*::refcount
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: sdk_sanity_check_mutex
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 2
    functionsReached:
    - ProxyMutex*::refcount
    - reinterpret_cast<ProxyMutex *>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_mutex(TSMutex mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - TSHostLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: sdk_sanity_check_hostlookup_structure
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_hostlookup_structure(TSHostLookupResult
      data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: sdk_sanity_check_iocore_structure
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode sdk_sanity_check_iocore_structure(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:93,1
    - Dst: ink_cond_init
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: INKThreadInternal
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - ink_cond_init
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void INKThreadInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:99,1
    - Dst: ink_cond_destroy
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ~INKThreadInternal() override
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - ink_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ~INKThreadInternal() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<INKThreadInternal *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:117,1
    - Dst: INKThreadInternal*::set_specific
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:119,1
    - Dst: INKThreadInternal*::func
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:120,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:122,1
    - Dst: ink_cond_broadcast
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:125,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: ink_thread_trampoline
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - INKThreadInternal*::set_specific
    - INKThreadInternal*::func
    - ink_cond_broadcast
    - ink_mutex_acquire
    - static_cast<INKThreadInternal *>
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_thread_trampoline(void *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INKThreadInternal::INKThreadInternal
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:140,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:142,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:143,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:148,1
    - Dst: reinterpret_cast<TSThread>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - func
    - data
    argTypes:
    - TSThreadFunc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 154
    functionName: TSThreadCreate
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - ink_thread_create
    - ink_assert
    - INKThreadInternal::INKThreadInternal
    - reinterpret_cast<TSThread>
    linkageType: ''
    returnType: TSThread
    signature: TSThread TSThreadCreate(TSThreadFunc func, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:165,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:165,1
    - Dst: reinterpret_cast<INKThreadInternal *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:166,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:168,1
    - Dst: ink_cond_wait
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:171,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - thread
    argTypes:
    - TSThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: TSThreadWait
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<INKThreadInternal *>
    - sdk_assert
    - ink_mutex_release
    - ink_mutex_acquire
    - sdk_sanity_check_iocore_structure
    - ink_cond_wait
    linkageType: ''
    returnType: void
    signature: void TSThreadWait(TSThread thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INKThreadInternal::INKThreadInternal
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:182,1
    - Dst: INKThreadInternal*::set_specific
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:190,1
    - Dst: reinterpret_cast<TSThread>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: TSThreadInit
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - INKThreadInternal*::set_specific
    - INKThreadInternal::INKThreadInternal
    - reinterpret_cast<TSThread>
    linkageType: ''
    returnType: TSThread
    signature: TSThread TSThreadInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:198,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:198,1
    - Dst: reinterpret_cast<INKThreadInternal *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:200,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:204,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - thread
    argTypes:
    - TSThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: TSThreadDestroy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - reinterpret_cast<INKThreadInternal *>
    - sdk_sanity_check_iocore_structure
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void TSThreadDestroy(TSThread thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: TSThreadSelf
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 11
    functionsReached:
    - this_ethread
    linkageType: ''
    returnType: TSThread
    signature: TSThread TSThreadSelf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSEventThread>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:225,1
    - Dst: this_event_thread
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: TSEventThreadSelf
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 8
    functionsReached:
    - this_event_thread
    - reinterpret_cast<TSEventThread>
    linkageType: ''
    returnType: TSEventThread
    signature: TSEventThread TSEventThreadSelf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:240,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:243,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: TSMutexCreate
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 58
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_mutex
    - new_ProxyMutex
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex TSMutexCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:251,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:251,1
    - Dst: reinterpret_cast<ProxyMutex *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:252,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:255,1
    - Dst: ProxyMutex*::refcount
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:255,1
    - Dst: ProxyMutex*::free
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: TSMutexDestroy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - ProxyMutex*::refcount
    - ink_release_assert
    - sdk_assert
    - sdk_sanity_check_mutex
    - reinterpret_cast<ProxyMutex *>
    - ProxyMutex*::free
    linkageType: ''
    returnType: void
    signature: void TSMutexDestroy(TSMutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:267,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:270,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:270,1
    - Dst: ProxyMutex*::refcount_inc
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:272,1
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: TSMutexCreateInternal
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_mutex
    - reinterpret_cast<TSMutex>
    - ProxyMutex*::refcount_inc
    - new_ProxyMutex
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex TSMutexCreateInternal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProxyMutex*::refcount
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: TSMutexCheck
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - ProxyMutex*::refcount
    linkageType: ''
    returnType: int
    signature: int TSMutexCheck(TSMutex mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:293,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:293,1
    - Dst: reinterpret_cast<ProxyMutex *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:294,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:295,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: TSMutexLock
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 4
    functionsReached:
    - MUTEX_TAKE_LOCK
    - sdk_assert
    - sdk_sanity_check_mutex
    - reinterpret_cast<ProxyMutex *>
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void TSMutexLock(TSMutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:301,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:301,1
    - Dst: reinterpret_cast<ProxyMutex *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:302,1
    - Dst: MUTEX_TAKE_TRY_LOCK
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:303,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: TSMutexLockTry
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 2
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_mutex
    - reinterpret_cast<ProxyMutex *>
    - this_ethread
    - MUTEX_TAKE_TRY_LOCK
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSMutexLockTry(TSMutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:309,1
    - Dst: sdk_sanity_check_mutex
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:309,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:311,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: TSMutexUnlock
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 7
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_mutex
    - this_ethread
    - MUTEX_UNTAKE_LOCK
    linkageType: ''
    returnType: void
    signature: void TSMutexUnlock(TSMutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:319,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:319,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: TSVIOReenable
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 7
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VIO*::reenable
    linkageType: ''
    returnType: void
    signature: void TSVIOReenable(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:328,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:328,1
    - Dst: reinterpret_cast<TSIOBuffer>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:331,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: TSVIOBufferGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VIO*::get_writer
    - reinterpret_cast<TSIOBuffer>
    linkageType: ''
    returnType: TSIOBuffer
    signature: TSIOBuffer TSVIOBufferGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:337,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:337,1
    - Dst: reinterpret_cast<TSIOBufferReader>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:340,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: TSVIOReaderGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - VIO*::get_reader
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<TSIOBufferReader>
    linkageType: ''
    returnType: TSIOBufferReader
    signature: TSIOBufferReader TSVIOReaderGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:346,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: TSVIONBytesGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSVIONBytesGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:355,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:355,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viop
    - nbytes
    argTypes:
    - TSVIO
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: TSVIONBytesSet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSVIONBytesSet(TSVIO viop, int64_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:365,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: TSVIONDoneGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSVIONDoneGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:374,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:374,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viop
    - ndone
    argTypes:
    - TSVIO
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: TSVIONDoneSet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSVIONDoneSet(TSVIO viop, int64_t ndone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:384,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:384,1
    - Dst: VIO*::ntodo
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: TSVIONTodoGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - VIO*::ntodo
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSVIONTodoGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:393,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: TSVIOContGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 5
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSCont
    signature: TSCont TSVIOContGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:402,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: TSVIOVConnGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSVIOVConnGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:411,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:411,1
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:414,1
    - Dst: VIO*::mutex::get
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viop
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: TSVIOMutexGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<TSMutex>
    - VIO*::mutex::get
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex TSVIOMutexGet(TSVIO viop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: INKBasedTimeGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime INKBasedTimeGet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:430,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:433,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:433,1
    - Dst: reinterpret_cast<TSIOBuffer>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: TSIOBufferCreate
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 16
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - new_empty_MIOBuffer
    - reinterpret_cast<TSIOBuffer>
    linkageType: ''
    returnType: TSIOBuffer
    signature: TSIOBuffer TSIOBufferCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:440,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:442,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:445,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:445,1
    - Dst: reinterpret_cast<TSIOBuffer>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - TSIOBufferSizeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: TSIOBufferSizedCreate
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 5
    functionsReached:
    - sdk_assert
    - new_MIOBuffer
    - sdk_sanity_check_iocore_structure
    - reinterpret_cast<TSIOBuffer>
    linkageType: ''
    returnType: TSIOBuffer
    signature: TSIOBuffer TSIOBufferSizedCreate(TSIOBufferSizeIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:452,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:452,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: TSIOBufferDestroy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 11
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void TSIOBufferDestroy(TSIOBuffer bufp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:459,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:459,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:462,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:464,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:465,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:467,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:470,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: TSIOBufferStart
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 6
    functionsReached:
    - sdk_sanity_check_null_ptr
    - MIOBuffer*::get_current_block
    - MIOBuffer*::add_block
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: TSIOBufferBlock
    signature: TSIOBufferBlock TSIOBufferStart(TSIOBuffer bufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:478,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:478,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:479,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:479,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:480,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - bufp
    - readerp
    - length
    - offset
    argTypes:
    - TSIOBuffer
    - TSIOBufferReader
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 486
    functionName: TSIOBufferCopy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 3
    functionsReached:
    - sdk_assert
    - MIOBuffer*::write
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferCopy(TSIOBuffer bufp, TSIOBufferReader readerp, int64_t
      length, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:491,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:491,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:492,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:492,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:493,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - buf
    - length
    argTypes:
    - TSIOBuffer
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: TSIOBufferWrite
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 5
    functionsReached:
    - sdk_assert
    - MIOBuffer*::write
    - sdk_sanity_check_iocore_structure
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferWrite(TSIOBuffer bufp, const void *buf, int64_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IOBufferReader *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:502,1
    - Dst: auto::memcpy
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:503,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - readerp
    - buf
    - length
    argTypes:
    - TSIOBufferReader
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 505
    functionName: TSIOBufferReaderCopy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - static_cast<char *>
    - auto::memcpy
    - reinterpret_cast<IOBufferReader *>
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferReaderCopy(TSIOBufferReader readerp, void *buf, int64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:510,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:510,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:511,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - nbytes
    argTypes:
    - TSIOBuffer
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: TSIOBufferProduce
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 7
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - MIOBuffer*::fill
    linkageType: ''
    returnType: void
    signature: void TSIOBufferProduce(TSIOBuffer bufp, int64_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:521,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:521,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blockp
    argTypes:
    - TSIOBufferBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: TSIOBufferBlockDestroy
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::free
    linkageType: ''
    returnType: void
    signature: void TSIOBufferBlockDestroy(TSIOBufferBlock blockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:530,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:530,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blockp
    argTypes:
    - TSIOBufferBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: TSIOBufferBlockNext
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 5
    functionsReached:
    - sdk_assert
    - IOBufferBlock*::next::get
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSIOBufferBlock
    signature: TSIOBufferBlock TSIOBufferBlockNext(TSIOBufferBlock blockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:540,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:540,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blockp
    argTypes:
    - TSIOBufferBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: TSIOBufferBlockDataSizeGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 0
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferBlockDataSizeGet(TSIOBufferBlock blockp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:549,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:549,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:550,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:550,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:556,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:558,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:561,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - blockp
    - readerp
    - avail
    argTypes:
    - TSIOBufferBlock
    - TSIOBufferReader
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 572
    functionName: TSIOBufferBlockReadStart
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 9
    functionsReached:
    - sdk_assert
    - IOBufferReader*::block::get
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - static_cast<const char *>
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: char
    signature: 'char *

      TSIOBufferBlockReadStart(TSIOBufferBlock blockp, TSIOBufferReader readerp, int64_t
      *avail)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:577,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:577,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:578,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:578,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:584,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - blockp
    - readerp
    argTypes:
    - TSIOBufferBlock
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 594
    functionName: TSIOBufferBlockReadAvail
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::read_avail
    - IOBufferReader*::block::get
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferBlockReadAvail(TSIOBufferBlock blockp, TSIOBufferReader
      readerp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:599,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:599,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:604,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blockp
    - avail
    argTypes:
    - TSIOBufferBlock
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: TSIOBufferBlockWriteStart
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 5
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: char
    signature: 'char *

      TSIOBufferBlockWriteStart(TSIOBufferBlock blockp, int64_t *avail)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:612,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:612,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blockp
    argTypes:
    - TSIOBufferBlock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: TSIOBufferBlockWriteAvail
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferBlockWriteAvail(TSIOBufferBlock blockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:621,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 625
    functionName: TSIOBufferWaterMarkGet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferWaterMarkGet(TSIOBuffer bufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:630,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:630,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bufp
    - water_mark
    argTypes:
    - TSIOBuffer
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: TSIOBufferWaterMarkSet
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: void
    signature: void TSIOBufferWaterMarkSet(TSIOBuffer bufp, int64_t water_mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:640,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:640,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:643,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:646,1
    - Dst: sdk_sanity_check_null_ptr
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: TSIOBufferReaderAlloc
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 21
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - MIOBuffer*::alloc_reader
    - sdk_sanity_check_null_ptr
    linkageType: ''
    returnType: TSIOBufferReader
    signature: TSIOBufferReader TSIOBufferReaderAlloc(TSIOBuffer bufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:653,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:653,1
    - Dst: IOBufferReader*::clone
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - readerp
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 657
    functionName: TSIOBufferReaderClone
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 1
    functionsReached:
    - sdk_assert
    - IOBufferReader*::clone
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: TSIOBufferReader
    signature: TSIOBufferReader TSIOBufferReaderClone(TSIOBufferReader readerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:662,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:662,1
    - Dst: IOBufferReader*::mbuf::dealloc_reader
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - readerp
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: TSIOBufferReaderFree
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 4
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferReader*::mbuf::dealloc_reader
    linkageType: ''
    returnType: void
    signature: void TSIOBufferReaderFree(TSIOBufferReader readerp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:671,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:671,1
    - Dst: IOBufferReader*::skip_empty_blocks
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:676,1
    - Dst: reinterpret_cast<TSIOBufferBlock>
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:679,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - readerp
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 680
    functionName: TSIOBufferReaderStart
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 10
    functionsReached:
    - IOBufferReader*::get_current_block
    - sdk_assert
    - reinterpret_cast<TSIOBufferBlock>
    - sdk_sanity_check_iocore_structure
    - IOBufferReader*::skip_empty_blocks
    linkageType: ''
    returnType: TSIOBufferBlock
    signature: TSIOBufferBlock TSIOBufferReaderStart(TSIOBufferReader readerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:685,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:685,1
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:686,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - readerp
    - nbytes
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: TSIOBufferReaderConsume
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 13
    functionsReached:
    - sdk_assert
    - sdk_sanity_check_iocore_structure
    - IOBufferReader*::consume
    linkageType: ''
    returnType: void
    signature: void TSIOBufferReaderConsume(TSIOBufferReader readerp, int64_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdk_assert
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:695,1
    - Dst: sdk_sanity_check_iocore_structure
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:695,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/api/InkIOCoreAPI.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - readerp
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: TSIOBufferReaderAvail
    functionSourceFile: /src/trafficserver/src/api/InkIOCoreAPI.cc
    functionUses: 15
    functionsReached:
    - sdk_assert
    - IOBufferReader*::read_avail
    - sdk_sanity_check_iocore_structure
    linkageType: ''
    returnType: int64_t
    signature: int64_t TSIOBufferReaderAvail(TSIOBufferReader readerp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:48,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:49,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:49,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:55,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - variable
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: amend_variable_name
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::substr
    - swoc::TextView::size
    - starts_with
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string amend_variable_name(swoc::TextView variable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:64,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:66,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:67,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:69,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: fix_filename
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - getenv
    - Layout::get
    linkageType: ''
    returnType: void
    signature: void fix_filename(std::string &filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fstream::open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:80,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:82,1
    - Dst: std::fstream::clear
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:84,1
    - Dst: std::fstream::open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:85,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:85,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:90,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - fs
    argTypes:
    - std::string
    - std::fstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: open_file
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 3
    functionsReached:
    - std::fstream::is_open
    - std::fstream::open
    - std::fstream::clear
    - swoc::SWOC_VERSION_NS::bwprint
    - strerror
    linkageType: ''
    returnType: std::string
    signature: "std::string open_file(std::string const &filename, std::fstream &fs,
      std::ios_base::openmode mode = std::ios::in | std::ios::out,\n          bool
      create = false)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:107,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:107,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:111,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tag
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: get_tag
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - end
    - swoc::TextView::size
    - std::find_if
    - data
    - size
    - std::begin
    linkageType: ''
    returnType: std::string
    signature: std::string get_tag(swoc::TextView tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::time
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:118,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    - Dst: std::asctime
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    - Dst: std::localtime
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: get_leading_comment
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - std::time
    - swoc::SWOC_VERSION_NS::bwprint
    - std::localtime
    - std::asctime
    linkageType: ''
    returnType: std::string
    signature: std::string get_leading_comment()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:125,1
    - Dst: auto::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:126,1
    - Dst: auto::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:126,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:127,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:128,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:132,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:142,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:144,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - variable
    - root
    - create
    argTypes:
    - swoc::TextView
    - YAML::Node
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: search_node
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - YAML::Node::Node
    - swoc::TextView::empty
    - auto::size
    - search_node
    - YAML::Node::IsMap
    - auto::data
    linkageType: ''
    returnType: std::pair<bool, YAML::Node>
    signature: std::pair<bool, YAML::Node> search_node(swoc::TextView variable, YAML::Node
      root, bool create)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:48,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:49,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:49,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:55,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - variable
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: amend_variable_name
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::substr
    - swoc::TextView::size
    - starts_with
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string amend_variable_name(swoc::TextView variable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:64,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:66,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:67,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:69,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: fix_filename
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - getenv
    - Layout::get
    linkageType: ''
    returnType: void
    signature: void fix_filename(std::string &filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fstream::open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:80,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:82,1
    - Dst: std::fstream::clear
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:84,1
    - Dst: std::fstream::open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:85,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:85,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:90,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - fs
    argTypes:
    - std::string
    - std::fstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: open_file
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 3
    functionsReached:
    - std::fstream::is_open
    - std::fstream::open
    - std::fstream::clear
    - swoc::SWOC_VERSION_NS::bwprint
    - strerror
    linkageType: ''
    returnType: std::string
    signature: "std::string open_file(std::string const &filename, std::fstream &fs,
      std::ios_base::openmode mode = std::ios::in | std::ios::out,\n          bool
      create = false)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:106,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:107,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:107,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:111,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tag
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: get_tag
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - end
    - swoc::TextView::size
    - std::find_if
    - data
    - size
    - std::begin
    linkageType: ''
    returnType: std::string
    signature: std::string get_tag(swoc::TextView tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::time
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:118,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    - Dst: std::asctime
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    - Dst: std::localtime
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: get_leading_comment
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - std::time
    - swoc::SWOC_VERSION_NS::bwprint
    - std::localtime
    - std::asctime
    linkageType: ''
    returnType: std::string
    signature: std::string get_leading_comment()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:125,1
    - Dst: auto::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:126,1
    - Dst: auto::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:126,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:127,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:128,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:132,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:142,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:144,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - variable
    - root
    - create
    argTypes:
    - swoc::TextView
    - YAML::Node
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: search_node
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::take_prefix_at
    - YAML::Node::Node
    - swoc::TextView::empty
    - auto::size
    - search_node
    - YAML::Node::IsMap
    - auto::data
    linkageType: ''
    returnType: std::pair<bool, YAML::Node>
    signature: std::pair<bool, YAML::Node> search_node(swoc::TextView variable, YAML::Node
      root, bool create)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:157,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:159,1
    - Dst: rbegin
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:162,1
    - Dst: rend
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:162,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:163,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:168,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:170,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:175,1
    - Dst: back
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - variable
    - search_all
    argTypes:
    - swoc::TextView
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: FlatYAMLAccessor::find_or_create_node
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - search_node
    - back
    - rend
    - size
    - rbegin
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node FlatYAMLAccessor::find_or_create_node(swoc::TextView variable,
      bool search_all)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:181,1
    - Dst: std::rbegin
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:183,1
    - Dst: std::rend
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:183,1
    - Dst: search_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - variable
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: FlatYAMLAccessor::find_node
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 0
    functionsReached:
    - std::rbegin
    - size
    - search_node
    - std::rend
    linkageType: ''
    returnType: std::pair<bool, YAML::Node>
    signature: std::pair<bool, YAML::Node> FlatYAMLAccessor::find_node(swoc::TextView
      variable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:197,1
    - Dst: auto::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:198,1
    - Dst: auto::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:198,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:199,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:201,1
    - Dst: YAML::VerbatimTag
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:202,1
    - Dst: get_tag
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:202,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:204,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:204,1
    - Dst: FlatYAMLAccessor::make_tree_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - variable
    - value
    - tag
    - out
    argTypes:
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: FlatYAMLAccessor::make_tree_node
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - swoc::TextView::empty
    - auto::size
    - YAML::VerbatimTag
    - get_tag
    - swoc::TextView::size
    - FlatYAMLAccessor::make_tree_node
    - auto::data
    linkageType: ''
    returnType: void
    signature: void FlatYAMLAccessor::make_tree_node(swoc::TextView variable, swoc::TextView
      value, swoc::TextView tag, YAML::Emitter &out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:214,1
    - Dst: std::make_unique<GenericPrinter>
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:215,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:216,1
    - Dst: FileConfigCommand::config_set
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:217,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:218,1
    - Dst: FileConfigCommand::config_get
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: FileConfigCommand::FileConfigCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 6
    functionsReached:
    - ts::Arguments*::get
    - parse_print_opts
    - std::make_unique<GenericPrinter>
    - FileConfigCommand::config_get
    - FileConfigCommand::config_set
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void FileConfigCommand::FileConfigCommand(ts::Arguments *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:228,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:229,1
    - Dst: fix_filename
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:232,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:234,1
    - Dst: YAML::LoadAllFromFile
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:234,1
    - Dst: find_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:237,1
    - Dst: amend_variable_name
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:237,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:240,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:240,1
    - Dst: as
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:240,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:242,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:242,1
    - Dst: std::logic_error
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:246,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:246,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: FileConfigCommand::config_get
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 1
    functionsReached:
    - amend_variable_name
    - find_node
    - write_output
    - what
    - as
    - std::logic_error
    - YAML::LoadAllFromFile
    - get_parsed_arguments
    - IpAddr::load
    - swoc::SWOC_VERSION_NS::bwprint
    - fix_filename
    linkageType: ''
    returnType: void
    signature: void FileConfigCommand::config_get()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:256,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:257,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:258,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:261,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:262,1
    - Dst: fix_filename
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:265,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:266,1
    - Dst: std::logic_error
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:267,1
    - Dst: open_file
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:276,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:276,1
    - Dst: std::logic_error
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:277,1
    - Dst: amend_variable_name
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:280,1
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:283,1
    - Dst: YAML::Comment
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:285,1
    - Dst: get_leading_comment
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:285,1
    - Dst: make_tree_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:286,1
    - Dst: std::fstream::write
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:289,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:289,1
    - Dst: YAML::Emitter::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:289,1
    - Dst: std::fstream::close
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:290,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:292,1
    - Dst: YAML::LoadAll
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:292,1
    - Dst: std::fstream::close
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:293,1
    - Dst: find_or_create_node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:295,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:299,1
    - Dst: auto::SetTag
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:300,1
    - Dst: get_tag
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:300,1
    - Dst: open_file
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:303,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:303,1
    - Dst: std::logic_error
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:304,1
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:307,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:308,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:309,1
    - Dst: back
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:310,1
    - Dst: pop_back
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:311,1
    - Dst: IsNull
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:315,1
    - Dst: YAML::Emitter::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:320,1
    - Dst: YAML::Comment
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:324,1
    - Dst: get_leading_comment
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:324,1
    - Dst: std::fstream::write
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:326,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:326,1
    - Dst: YAML::Emitter::size
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:326,1
    - Dst: std::fstream::close
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:327,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:330,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:332,1
    - Dst: std::fstream::close
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc:333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 337
    functionName: FileConfigCommand::config_set
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.cc
    functionUses: 1
    functionsReached:
    - YAML::Emitter::c_str
    - open_file
    - back
    - get_parsed_arguments
    - YAML::Emitter::Emitter
    - size
    - YAML::Node::Node
    - write_output
    - std::string::empty
    - YAML::Emitter::size
    - swoc::SWOC_VERSION_NS::bwprint
    - get_leading_comment
    - std::fstream::close
    - std::fstream::is_open
    - make_tree_node
    - std::fstream::write
    - YAML::Comment
    - IsNull
    - std::logic_error
    - get_tag
    - fix_filename
    - auto::value
    - amend_variable_name
    - YAML::LoadAll
    - pop_back
    - find_or_create_node
    - auto::SetTag
    - IpAddr::load
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void FileConfigCommand::config_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:37,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Date
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:37,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:37,1
    - Dst: swoc::SWOC_VERSION_NS::svtod
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - wrap
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - FloatDate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 11
    functionsReached:
    - static_cast<time_t>
    - swoc::SWOC_VERSION_NS::bwf::Date
    - swoc::SWOC_VERSION_NS::svtod
    - bwformat
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, FloatDate const
      &wrap)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:47,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:47,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - errors
    argTypes:
    - std::vector<shared::rpc::RecordLookUpResponse::RecordError>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: print_record_error_list
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    linkageType: ''
    returnType: void
    signature: void print_record_error_list(std::vector<shared::rpc::RecordLookUpResponse::RecordError>
      const &errors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:47,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:47,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - errors
    argTypes:
    - std::vector<shared::rpc::RecordLookUpResponse::RecordError>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: print_record_error_list
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    linkageType: ''
    returnType: void
    signature: void print_record_error_list(std::vector<shared::rpc::RecordLookUpResponse::RecordError>
      const &errors)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BasePrinter::is_json_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:64,1
    - Dst: BasePrinter::write_output_json
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:65,1
    - Dst: shared::rpc::JSONRPCResponse::is_error
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:69,1
    - Dst: shared::rpc::JSONRPCResponse::error::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:74,1
    - Dst: shared::rpc::JSONRPCResponse::result::IsNull
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:78,1
    - Dst: BasePrinter::write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - response
    argTypes:
    - shared::rpc::JSONRPCResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 83
    functionName: BasePrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 1
    functionsReached:
    - shared::rpc::JSONRPCResponse::result::IsNull
    - shared::rpc::JSONRPCResponse::is_error
    - BasePrinter::write_output
    - BasePrinter::is_json_format
    - shared::rpc::JSONRPCResponse::error::as
    - BasePrinter::write_output_json
    linkageType: ''
    returnType: void
    signature: void BasePrinter::write_output(shared::rpc::JSONRPCResponse const &response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: BasePrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePrinter::write_output(std::string_view output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: BasePrinter::write_debug
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePrinter::write_debug(std::string_view output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:99,1
    - Dst: BasePrinter::write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:102,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: BasePrinter::write_output_json
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 1
    functionsReached:
    - BasePrinter::write_output
    - YAML::Emitter::Emitter
    - YAML::Emitter::c_str
    linkageType: ''
    returnType: void
    signature: void BasePrinter::write_output_json(YAML::Node const &node) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:108,1
    - Dst: is_records_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:118,1
    - Dst: should_include_default
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:120,1
    - Dst: RecNameToYaml::RecInfoList::push_back
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:125,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:125,1
    - Dst: is_records_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:129,1
    - Dst: RecNameToYaml::RecInfoList::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:129,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:130,1
    - Dst: should_include_default
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:130,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:130,1
    - Dst: print_record_error_list
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: RecordPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - string
    - print_record_error_list
    - is_records_format
    - RecNameToYaml::RecInfoList::push_back
    - std::make_tuple
    - YAML::Node::as
    - should_include_default
    - RecNameToYaml::RecInfoList::size
    - std::move
    linkageType: ''
    returnType: void
    signature: void RecordPrinter::write_output(YAML::Node const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: MetricRecordPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::as
    linkageType: ''
    returnType: void
    signature: void MetricRecordPrinter::write_output(YAML::Node const &result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:149,1
    - Dst: is_records_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:159,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:160,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:161,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:162,1
    - Dst: RecNameToYaml::RecInfoList::push_back
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:164,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:164,1
    - Dst: is_records_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:169,1
    - Dst: RecNameToYaml::RecInfoList::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:169,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:170,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: DiffConfigPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - string
    - is_records_format
    - RecNameToYaml::RecInfoList::push_back
    - std::make_tuple
    - YAML::Node::as
    - RecNameToYaml::RecInfoList::size
    - std::move
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void DiffConfigPrinter::write_output(YAML::Node const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ConfigReloadPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigReloadPrinter::write_output([[maybe_unused]] YAML::Node
      const &result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_json_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:183,1
    - Dst: write_output_json
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: ConfigShowFileRegistryPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - is_json_format
    - write_output_json
    linkageType: ''
    returnType: void
    signature: void ConfigShowFileRegistryPrinter::write_output(YAML::Node const &result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:208,1
    - Dst: TypeToStringMap::find
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:210,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:211,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:212,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:219,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 221
    functionName: ConfigSetPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - TypeToStringMap::find
    - what
    - YAML::Node::as
    - end
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void ConfigSetPrinter::write_output(YAML::Node const &result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:227,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:235,1
    - Dst: FloatDate
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:235,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:237,1
    - Dst: FloatDate
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: ConfigStatusPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - FloatDate
    - swoc::SWOC_VERSION_NS::bwprint
    - YAML::Node::as
    linkageType: ''
    returnType: void
    signature: void ConfigStatusPrinter::write_output(YAML::Node const &result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:252,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:260,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:261,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:262,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:263,1
    - Dst: rec_labelof
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:263,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:264,1
    - Dst: std::visit
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:266,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:268,1
    - Dst: rec_accessof
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:268,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:269,1
    - Dst: rec_updateof
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:269,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:270,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:271,1
    - Dst: rec_sourceof
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:271,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:273,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:278,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:283,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:284,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:285,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:286,1
    - Dst: print_record_error_list
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 291
    functionName: RecordDescribePrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - print_record_error_list
    - rec_updateof
    - rec_accessof
    - YAML::Node::as
    - rec_labelof
    - std::visit
    - swoc::SWOC_VERSION_NS::bwprint
    - rec_sourceof
    linkageType: ''
    returnType: void
    signature: void RecordDescribePrinter::write_output(YAML::Node const &result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:296,1
    - Dst: auto::statusList::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: GetHostStatusPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - auto::statusList::size
    - YAML::Node::as
    linkageType: ''
    returnType: void
    signature: void GetHostStatusPrinter::write_output(YAML::Node const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: SetHostStatusPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHostStatusPrinter::write_output([[maybe_unused]] YAML::Node
      const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:327,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:328,1
    - Dst: my_print
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:329,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:331,1
    - Dst: my_print
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: CacheDiskStoragePrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - end
    - my_print
    - std::begin
    - YAML::Node::as
    linkageType: ''
    returnType: void
    signature: void CacheDiskStoragePrinter::write_output(YAML::Node const &result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:342,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: CacheDiskStorageOfflinePrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - auto::as
    linkageType: ''
    returnType: void
    signature: void CacheDiskStorageOfflinePrinter::write_output(YAML::Node const
      &result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:356,1
    - Dst: as
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: RPCAPIPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - as
    linkageType: ''
    returnType: void
    signature: void RPCAPIPrinter::write_output(YAML::Node const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output_json
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: ServerStatusPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.cc
    functionUses: 0
    functionsReached:
    - write_output_json
    linkageType: ''
    returnType: void
    signature: void ServerStatusPrinter::write_output(YAML::Node const &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/FileConfigCommand.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - streams
    argTypes:
    - std::vector<YAML::Node>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: load
    functionSourceFile: /src/trafficserver/src/traffic_ctl/FileConfigCommand.h
    functionUses: 34
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void load(std::vector<YAML::Node> streams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - src
    - fmt
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: FloatDate
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatDate(std::string_view src, std::string_view fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: BasePrinter::Options
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flags
    argTypes:
    - FormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: BasePrinter::Options
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Options(FormatFlags flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opts
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: BasePrinter::BasePrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePrinter(Options opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: BasePrinter::BasePrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: ~BasePrinter()
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BasePrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BasePrinter::Options::FormatFlags>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:126,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:126,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - enum BasePrinter::Options::FormatFlags
    - enum BasePrinter::Options::FormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: operator|(const enum BasePrinter::Options::FormatFlags rhs, const
      enum BasePrinter::Options::FormatFlags lhs)
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<BasePrinter::Options::FormatFlags>
    linkageType: ''
    returnType: enum BasePrinter::Options::FormatFlags
    signature: enum BasePrinter::Options::FormatFlags operator|(const enum BasePrinter::Options::FormatFlags
      rhs, const enum BasePrinter::Options::FormatFlags lhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - BasePrinter::Options::FormatFlags
    - BasePrinter::Options::FormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '&

      operator|=(BasePrinter::Options::FormatFlags &rhs, BasePrinter::Options::FormatFlags
      lhs)'
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum BasePrinter::Options::FormatFlags
    signature: 'enum BasePrinter::Options::FormatFlags &

      operator|=(BasePrinter::Options::FormatFlags &rhs, BasePrinter::Options::FormatFlags
      lhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BasePrinter::Options::FormatFlags>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:138,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:138,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - BasePrinter::Options::FormatFlags
    - BasePrinter::Options::FormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: operator&(BasePrinter::Options::FormatFlags rhs, BasePrinter::Options::FormatFlags
      lhs)
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<BasePrinter::Options::FormatFlags>
    linkageType: ''
    returnType: enum BasePrinter::Options::FormatFlags
    signature: enum BasePrinter::Options::FormatFlags operator&(BasePrinter::Options::FormatFlags
      rhs, BasePrinter::Options::FormatFlags lhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: BasePrinter::get_format
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BasePrinter::Options::FormatFlags
    signature: BasePrinter::Options::FormatFlags BasePrinter::get_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: BasePrinter::print_rpc_message
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePrinter::print_rpc_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: BasePrinter::is_json_format
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePrinter::is_json_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: BasePrinter::is_records_format
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePrinter::is_records_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: BasePrinter::should_include_default
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePrinter::should_include_default() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: GenericPrinter::write_output
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_output([[maybe_unused]] YAML::Node const &result) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: GenericPrinter::GenericPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: RecordPrinter::RecordPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordPrinter(Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: MetricRecordPrinter::MetricRecordPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricRecordPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: DiffConfigPrinter::DiffConfigPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiffConfigPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ConfigReloadPrinter::ConfigReloadPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigReloadPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: RecordDescribePrinter::RecordDescribePrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecordDescribePrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: GetHostStatusPrinter::GetHostStatusPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetHostStatusPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: SetHostStatusPrinter::SetHostStatusPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetHostStatusPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: CacheDiskStoragePrinter::CacheDiskStoragePrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheDiskStoragePrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: CacheDiskStorageOfflinePrinter::CacheDiskStorageOfflinePrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheDiskStorageOfflinePrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: RPCAPIPrinter::RPCAPIPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCAPIPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - BasePrinter::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: ServerStatusPrinter::ServerStatusPrinter
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlPrinters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerStatusPrinter(BasePrinter::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~CtrlCommand()
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CtrlCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: CtrlCommand::get_parsed_arguments
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts::Arguments
    signature: "ts::Arguments *\n  get_parsed_arguments()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~RecordCommand()
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RecordCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signal_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: handle_signal
    functionSourceFile: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_signal(int signal_num, siginfo_t *, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:55,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:57,1
    - Dst: sigaction
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - signal_num
    - handle_signal
    argTypes:
    - int
    - signal_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: signal_register_handler
    functionSourceFile: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - ink_release_assert
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void signal_register_handler(int signal_num, signal_handler_t handle_signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signal_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: handle_signal
    functionSourceFile: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_signal(int signal_num, siginfo_t *, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:55,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:57,1
    - Dst: sigaction
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - signal_num
    - handle_signal
    argTypes:
    - int
    - signal_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: signal_register_handler
    functionSourceFile: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc
    functionUses: 0
    functionsReached:
    - sigaction
    - ink_release_assert
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void signal_register_handler(int signal_num, signal_handler_t handle_signal)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ts::ArgParser::ArgParser
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:64,1
    - Dst: ts::ArgParser::add_description
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:73,1
    - Dst: ts::ArgParser::add_global_usage
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:74,1
    - Dst: ts::ArgParser::require_commands
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:75,1
    - Dst: ts::ArgParser::add_option
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:77,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:85,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:86,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:87,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:88,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:89,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:90,1
    - Dst: ts::ArgParser::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:91,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:94,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:94,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:97,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:99,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:101,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:101,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:104,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:104,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:111,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:112,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:116,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:116,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:118,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:118,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:120,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:120,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:131,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:131,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:134,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:134,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:136,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:136,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:140,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:140,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:145,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:145,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:147,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:148,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:149,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:150,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:151,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:155,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:163,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:165,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:169,1
    - Dst: CtrlUnimplementedCommand
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:170,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:171,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:171,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:173,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:173,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:179,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:180,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:180,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:184,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:184,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:188,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:189,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:191,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:192,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:195,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:197,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:199,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:199,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:201,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:202,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:207,1
    - Dst: std::shared_ptr::execute
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:209,1
    - Dst: signal_register_handler
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:215,1
    - Dst: ts::ArgParser::parse
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:217,1
    - Dst: argparser_runroot_handler
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:218,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:218,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:219,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:221,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:222,1
    - Dst: std::make_shared<FileConfigCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:224,1
    - Dst: std::make_shared<ConfigCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:226,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:228,1
    - Dst: std::make_shared<MetricCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:229,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:230,1
    - Dst: std::make_shared<ServerCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:231,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:232,1
    - Dst: std::make_shared<StorageCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:233,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:234,1
    - Dst: std::make_shared<PluginCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:235,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:236,1
    - Dst: std::make_shared<HostCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:237,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:238,1
    - Dst: std::make_shared<DirectRPCCommand>
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:239,1
    - Dst: auto::invoke
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:242,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 61
    functionDepth: 9
    functionLinenumber: 61
    functionLinenumberEnd: 249
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_ctl/traffic_ctl.cc
    functionUses: 0
    functionsReached:
    - auto::invoke
    - std::make_shared<StorageCommand>
    - signal_register_handler
    - std::make_shared<ServerCommand>
    - ts::ArgParser::add_global_usage
    - std::shared_ptr::execute
    - std::make_shared<DirectRPCCommand>
    - CtrlUnimplementedCommand
    - std::make_shared<ConfigCommand>
    - std::make_shared<HostCommand>
    - argparser_runroot_handler
    - what
    - std::make_shared<MetricCommand>
    - ts::ArgParser::ArgParser
    - ts::ArgParser::require_commands
    - std::make_shared<FileConfigCommand>
    - ts::ArgParser::add_description
    - Layout::create
    - auto::get
    - std::make_shared<PluginCommand>
    - ts::ArgParser::add_option
    - ts::ArgParser::add_command
    - ts::ArgParser::parse
    - auto::add_command
    linkageType: ''
    returnType: int
    signature: int main([[maybe_unused]] int argc, const char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:55,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:59,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:64,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:65,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:65,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: parse_print_opts
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - find
    - ts::Arguments*::get
    - auto::value
    - end
    linkageType: ''
    returnType: BasePrinter::Options::FormatFlags
    signature: BasePrinter::Options::FormatFlags parse_print_opts(ts::Arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: CtrlCommand::CtrlCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlCommand::CtrlCommand(ts::Arguments *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _invoked_func
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:81,1
    - Dst: std::logic_error
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: CtrlCommand::execute
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - _invoked_func
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void CtrlCommand::execute()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_rpc_message
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:92,1
    - Dst: write_debug
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:93,1
    - Dst: invoke
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:95,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:95,1
    - Dst: print_rpc_message
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:97,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:99,1
    - Dst: write_debug
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - request
    - timeout_ms
    - attempts
    argTypes:
    - std::string
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: RPCAccessor::invoke_rpc
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - write_debug
    - invoke
    - print_rpc_message
    - swoc::SWOC_VERSION_NS::bwprint
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string RPCAccessor::invoke_rpc(std::string const &request, std::chrono::milliseconds
      timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:111,1
    - Dst: RPCAccessor::invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:112,1
    - Dst: ats_base64_decode
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - request
    - timeout_ms
    - attempts
    argTypes:
    - shared::rpc::ClientRequest
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: RPCAccessor::invoke_rpc
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - ats_base64_encode
    - ats_base64_decode
    - RPCAccessor::invoke_rpc
    linkageType: ''
    returnType: shared::rpc::JSONRPCResponse
    signature: shared::rpc::JSONRPCResponse RPCAccessor::invoke_rpc(shared::rpc::ClientRequest
      const &request, std::chrono::milliseconds timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:120,1
    - Dst: RPCAccessor::invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - request
    - resp
    - timeout_ms
    - attempts
    argTypes:
    - shared::rpc::ClientRequest
    - std::string
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: RPCAccessor::invoke_rpc
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 2
    functionsReached:
    - ats_base64_encode
    - RPCAccessor::invoke_rpc
    linkageType: ''
    returnType: void
    signature: "void RPCAccessor::invoke_rpc(shared::rpc::ClientRequest const &request,
      std::string &resp, std::chrono::milliseconds timeout_ms,\n                        int
      attempts)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:127,1
    - Dst: std::make_unique<RecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:128,1
    - Dst: ConfigCommand::config_match
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:129,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:130,1
    - Dst: std::make_unique<RecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:131,1
    - Dst: ConfigCommand::config_get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:132,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:133,1
    - Dst: std::make_unique<DiffConfigPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:134,1
    - Dst: ConfigCommand::config_diff
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:135,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:136,1
    - Dst: std::make_unique<RecordDescribePrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:137,1
    - Dst: ConfigCommand::config_describe
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:138,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:139,1
    - Dst: std::make_unique<RecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:140,1
    - Dst: ConfigCommand::config_defaults
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:141,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:142,1
    - Dst: std::make_unique<ConfigSetPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:143,1
    - Dst: ConfigCommand::config_set
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:144,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:145,1
    - Dst: std::make_unique<ConfigStatusPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:146,1
    - Dst: ConfigCommand::config_status
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:147,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:148,1
    - Dst: std::make_unique<ConfigReloadPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:149,1
    - Dst: ConfigCommand::config_reload
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:150,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:151,1
    - Dst: std::make_unique<ConfigShowFileRegistryPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:152,1
    - Dst: ConfigCommand::config_show_file_registry
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 157
    functionName: ConfigCommand::ConfigCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - ts::Arguments*::get
    - ConfigCommand::config_match
    - std::make_unique<ConfigReloadPrinter>
    - std::make_unique<RecordPrinter>
    - ConfigCommand::config_get
    - ConfigCommand::config_show_file_registry
    - ConfigCommand::config_defaults
    - ConfigCommand::config_set
    - std::make_unique<RecordDescribePrinter>
    - ConfigCommand::config_describe
    - std::make_unique<ConfigSetPrinter>
    - ConfigCommand::config_status
    - std::make_unique<ConfigStatusPrinter>
    - ConfigCommand::config_reload
    - std::make_unique<ConfigShowFileRegistryPrinter>
    - ConfigCommand::config_diff
    - std::make_unique<DiffConfigPrinter>
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::ConfigCommand(ts::Arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::RecordLookupRequest::emplace_rec
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:164,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - argData
    - isRegex
    - recQueryType
    argTypes:
    - ts::ArgumentData
    - bool
    - RecordQueryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: RecordCommand::record_fetch
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - shared::rpc::RecordLookupRequest::emplace_rec
    - invoke_rpc
    linkageType: ''
    returnType: shared::rpc::JSONRPCResponse
    signature: shared::rpc::JSONRPCResponse RecordCommand::record_fetch(ts::ArgumentData
      argData, bool isRegex, RecordQueryType recQueryType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:173,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:173,1
    - Dst: CtrlCommand::get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:173,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:174,1
    - Dst: CtrlCommand::get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:174,1
    - Dst: RPCAccessor::invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: CtrlCommand::invoke_rpc
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - CtrlCommand::get_parsed_arguments
    - std::stoi
    - proxy_wasm::exports::set_tick_period_milliseconds
    - RPCAccessor::invoke_rpc
    linkageType: ''
    returnType: std::string
    signature: std::string CtrlCommand::invoke_rpc(std::string const &request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:182,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:182,1
    - Dst: CtrlCommand::get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:182,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:183,1
    - Dst: CtrlCommand::get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:183,1
    - Dst: RPCAccessor::invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - shared::rpc::ClientRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: CtrlCommand::invoke_rpc
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - CtrlCommand::get_parsed_arguments
    - std::stoi
    - proxy_wasm::exports::set_tick_period_milliseconds
    - RPCAccessor::invoke_rpc
    linkageType: ''
    returnType: shared::rpc::JSONRPCResponse
    signature: shared::rpc::JSONRPCResponse CtrlCommand::invoke_rpc(shared::rpc::ClientRequest
      const &request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:191,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:191,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: ConfigCommand::config_match
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_match()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:197,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:197,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: ConfigCommand::config_get
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 2
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:203,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:203,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: ConfigCommand::config_describe
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_describe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:209,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: ConfigCommand::config_defaults
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:216,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: ConfigCommand::config_diff
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_diff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:224,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: ConfigCommand::config_status
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_status()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:231,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:235,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: ConfigCommand::config_set
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 2
    functionsReached:
    - write_output
    - get_parsed_arguments
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:243,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: ConfigCommand::config_reload
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_reload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:248,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ConfigCommand::config_show_file_registry
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ConfigCommand::config_show_file_registry()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:253,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:254,1
    - Dst: std::make_unique<MetricRecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:255,1
    - Dst: MetricCommand::metric_match
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:256,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:257,1
    - Dst: std::make_unique<MetricRecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:258,1
    - Dst: MetricCommand::metric_get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:259,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:260,1
    - Dst: std::make_unique<RecordDescribePrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:261,1
    - Dst: MetricCommand::metric_describe
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:262,1
    - Dst: ts::Arguments*::get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:263,1
    - Dst: std::make_unique<MetricRecordPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:264,1
    - Dst: MetricCommand::metric_monitor
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: MetricCommand::MetricCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - ts::Arguments*::get
    - MetricCommand::metric_monitor
    - std::make_unique<MetricRecordPrinter>
    - std::make_unique<RecordDescribePrinter>
    - MetricCommand::metric_match
    - MetricCommand::metric_describe
    - parse_print_opts
    - MetricCommand::metric_get
    linkageType: ''
    returnType: void
    signature: void MetricCommand::MetricCommand(ts::Arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:272,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:272,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: MetricCommand::metric_get
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void MetricCommand::metric_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:278,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:278,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: MetricCommand::metric_match
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void MetricCommand::metric_match()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:284,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:284,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: MetricCommand::metric_describe
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - record_fetch
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void MetricCommand::metric_describe()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:290,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:296,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:296,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:298,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:298,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:301,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:301,1
    - Dst: max
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:306,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:307,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:317,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:322,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:322,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:327,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:327,1
    - Dst: load
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:333,1
    - Dst: record_fetch
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:335,1
    - Dst: shared::rpc::JSONRPCResponse::is_error
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:337,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:338,1
    - Dst: shared::rpc::JSONRPCResponse::result::as
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:342,1
    - Dst: auto::errorList::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:343,1
    - Dst: auto::recordList::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:343,1
    - Dst: std::stof
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:350,1
    - Dst: std::max<float>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:353,1
    - Dst: std::min<float>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:354,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:364,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:364,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:371,1
    - Dst: dump
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:375,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 376
    functionName: MetricCommand::metric_monitor
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - shared::rpc::JSONRPCResponse::result::as
    - auto::errorList::size
    - load
    - dump
    - std::stoi
    - std::min<float>
    - get_parsed_arguments
    - std::max<float>
    - size
    - auto::recordList::size
    - std::runtime_error
    - shared::rpc::JSONRPCResponse::is_error
    - write_output
    - max
    - swoc::SWOC_VERSION_NS::bwprint
    - std::numeric_limits<float>::lowest
    - sleep
    - std::stof
    - record_fetch
    linkageType: ''
    returnType: void
    signature: void MetricCommand::metric_monitor()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:381,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:382,1
    - Dst: std::make_unique<GetHostStatusPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:383,1
    - Dst: HostCommand::status_get
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:384,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:385,1
    - Dst: std::make_unique<SetHostStatusPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:386,1
    - Dst: HostCommand::status_down
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:387,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:388,1
    - Dst: std::make_unique<SetHostStatusPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:389,1
    - Dst: HostCommand::status_up
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: HostCommand::HostCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - HostCommand::status_down
    - HostCommand::status_up
    - HostCommand::status_get
    - get_parsed_arguments
    - std::make_unique<SetHostStatusPrinter>
    - parse_print_opts
    - std::make_unique<GetHostStatusPrinter>
    linkageType: ''
    returnType: void
    signature: void HostCommand::HostCommand(ts::Arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:397,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:399,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:399,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:402,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: HostCommand::status_get
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    - end
    - get_parsed_arguments
    - std::begin
    linkageType: ''
    returnType: void
    signature: void HostCommand::status_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:410,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:413,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:413,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:414,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:417,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 419
    functionName: HostCommand::status_down
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    - end
    - get_parsed_arguments
    - std::begin
    linkageType: ''
    returnType: void
    signature: void HostCommand::status_down()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:424,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:427,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:427,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:428,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:432,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: HostCommand::status_up
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    - end
    - get_parsed_arguments
    - std::begin
    linkageType: ''
    returnType: void
    signature: void HostCommand::status_up()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:438,1
    - Dst: PluginCommand::plugin_msg
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:439,1
    - Dst: std::make_unique<GenericPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:441,1
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: PluginCommand::PluginCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - PluginCommand::plugin_msg
    - std::make_unique<GenericPrinter>
    - parse_print_opts
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void PluginCommand::PluginCommand(ts::Arguments *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:447,1
    - Dst: auto::size
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:450,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:455,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 457
    functionName: PluginCommand::plugin_msg
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - auto::size
    - get_parsed_arguments
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void PluginCommand::plugin_msg()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:461,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:463,1
    - Dst: std::make_unique<RPCAPIPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:464,1
    - Dst: DirectRPCCommand::get_rpc_api
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:465,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:467,1
    - Dst: DirectRPCCommand::from_file_request
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:468,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:469,1
    - Dst: DirectRPCCommand::read_from_input
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:470,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:471,1
    - Dst: DirectRPCCommand::invoke_method
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:472,1
    - Dst: std::make_unique<GenericPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: DirectRPCCommand::DirectRPCCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - DirectRPCCommand::from_file_request
    - DirectRPCCommand::invoke_method
    - std::make_unique<GenericPrinter>
    - std::make_unique<RPCAPIPrinter>
    - DirectRPCCommand::read_from_input
    - DirectRPCCommand::get_rpc_api
    - get_parsed_arguments
    - parse_print_opts
    linkageType: ''
    returnType: void
    signature: void DirectRPCCommand::DirectRPCCommand(ts::Arguments *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:486,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:487,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: DirectRPCCommand::validate_input
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - YAML::Load
    - YAML::Node::Type
    linkageType: ''
    returnType: bool
    signature: bool DirectRPCCommand::validate_input(std::string const &in) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:498,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:504,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:504,1
    - Dst: DirectRPCCommand::validate_input
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:506,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:507,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:508,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:511,1
    - Dst: is_json_format
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:512,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:514,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:516,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:516,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:517,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:517,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:522,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:522,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 525
    functionName: DirectRPCCommand::from_file_request
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - DirectRPCCommand::validate_input
    - write_output
    - what
    - std::istreambuf_iterator<char>
    - invoke_rpc
    - get_parsed_arguments
    - is_json_format
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void DirectRPCCommand::from_file_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:530,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: DirectRPCCommand::get_rpc_api
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void DirectRPCCommand::get_rpc_api()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:541,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:544,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:544,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:545,1
    - Dst: DirectRPCCommand::validate_input
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:545,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:546,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:546,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:549,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:550,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:551,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:551,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:554,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:554,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 556
    functionName: DirectRPCCommand::read_from_input
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - DirectRPCCommand::validate_input
    - write_output
    - what
    - std::istreambuf_iterator<char>
    - invoke_rpc
    - get_parsed_arguments
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void DirectRPCCommand::read_from_input()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:562,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:563,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:565,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:571,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:571,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:573,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 575
    functionName: DirectRPCCommand::invoke_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - auto::value
    - write_output
    - invoke_rpc
    - get_parsed_arguments
    - std::ostringstream::str
    - YAML::Load
    linkageType: ''
    returnType: void
    signature: void DirectRPCCommand::invoke_method()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:580,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:581,1
    - Dst: std::make_unique<GenericPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:582,1
    - Dst: ServerCommand::server_drain
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:583,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:584,1
    - Dst: std::make_unique<GenericPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:585,1
    - Dst: ServerCommand::server_debug
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:586,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:587,1
    - Dst: std::make_unique<ServerStatusPrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:588,1
    - Dst: ServerCommand::server_status
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 591
    functionName: ServerCommand::ServerCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<GenericPrinter>
    - get_parsed_arguments
    - std::make_unique<ServerStatusPrinter>
    - ServerCommand::server_status
    - ServerCommand::server_drain
    - parse_print_opts
    - ServerCommand::server_debug
    linkageType: ''
    returnType: void
    signature: void ServerCommand::ServerCommand(ts::Arguments *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:599,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:600,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:602,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:604,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: ServerCommand::server_drain
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - get_parsed_arguments
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ServerCommand::server_drain()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:614,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:618,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:619,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:622,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:626,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:626,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:628,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:628,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:628,1
    - Dst: shared::rpc::JSONRPCResponse::is_error
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:630,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:631,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:633,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 635
    functionName: ServerCommand::server_debug
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - shared::rpc::JSONRPCResponse::is_error
    - write_output
    - std::string::empty
    - swoc::LocalBufferWriter::print
    - invoke_rpc
    - swoc::LocalBufferWriter::view
    - get_parsed_arguments
    linkageType: ''
    returnType: void
    signature: void ServerCommand::server_debug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:640,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: ServerCommand::server_status
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    linkageType: ''
    returnType: void
    signature: void ServerCommand::server_status()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_print_opts
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:647,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:648,1
    - Dst: std::make_unique<CacheDiskStoragePrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:649,1
    - Dst: StorageCommand::get_storage_status
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:650,1
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:651,1
    - Dst: std::make_unique<CacheDiskStorageOfflinePrinter>
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:652,1
    - Dst: StorageCommand::set_storage_offline
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - args
    argTypes:
    - ts::Arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 655
    functionName: StorageCommand::StorageCommand
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<CacheDiskStoragePrinter>
    - StorageCommand::get_storage_status
    - get_parsed_arguments
    - parse_print_opts
    - std::make_unique<CacheDiskStorageOfflinePrinter>
    - StorageCommand::set_storage_offline
    linkageType: ''
    returnType: void
    signature: void StorageCommand::StorageCommand(ts::Arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:660,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:661,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:661,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:662,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: StorageCommand::get_storage_status
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    - end
    - get_parsed_arguments
    - std::begin
    linkageType: ''
    returnType: void
    signature: void StorageCommand::get_storage_status()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parsed_arguments
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:668,1
    - Dst: std::begin
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:669,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:669,1
    - Dst: invoke_rpc
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:670,1
    - Dst: write_output
      Src: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 672
    functionName: StorageCommand::set_storage_offline
    functionSourceFile: /src/trafficserver/src/traffic_ctl/CtrlCommands.cc
    functionUses: 1
    functionsReached:
    - write_output
    - invoke_rpc
    - end
    - get_parsed_arguments
    - std::begin
    linkageType: ''
    returnType: void
    signature: void StorageCommand::set_storage_offline()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doc
    argTypes:
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: YAML_begin_map
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_begin_map(YAML::Emitter &doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doc
    argTypes:
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: YAML_end_map
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_end_map(YAML::Emitter &doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - key
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: YAML_add_key
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_add_key(YAML::Emitter &doc, std::string key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - value
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: YAML_add_value
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_add_value(YAML::Emitter &doc, std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Comment
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:51,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - comment
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: YAML_add_comment
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - YAML::Comment
    linkageType: ''
    returnType: void
    signature: 'void YAML_add_comment(YAML::Emitter &doc, std::string comment, const
      char *fmt = "default: {}")'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:59,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:60,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rec_name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: remove_legacy_config_prefix
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::remove_prefix
    - size
    - swoc::TextView::starts_with
    linkageType: ''
    returnType: void
    signature: void remove_legacy_config_prefix(swoc::TextView &rec_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doc
    argTypes:
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: YAML_begin_map
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_begin_map(YAML::Emitter &doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doc
    argTypes:
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: YAML_end_map
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_end_map(YAML::Emitter &doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - key
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: YAML_add_key
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_add_key(YAML::Emitter &doc, std::string key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - value
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: YAML_add_value
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YAML_add_value(YAML::Emitter &doc, std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Comment
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:51,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - comment
    argTypes:
    - YAML::Emitter
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: YAML_add_comment
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - YAML::Comment
    linkageType: ''
    returnType: void
    signature: 'void YAML_add_comment(YAML::Emitter &doc, std::string comment, const
      char *fmt = "default: {}")'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:59,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:60,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rec_name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: remove_legacy_config_prefix
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::remove_prefix
    - size
    - swoc::TextView::starts_with
    linkageType: ''
    returnType: void
    signature: void remove_legacy_config_prefix(swoc::TextView &rec_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecInfoList::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:69,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:75,1
    - Dst: RecInfoList::begin
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:75,1
    - Dst: RecInfoList::end
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:75,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:77,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:77,1
    - Dst: RecInfoList::erase
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:81,1
    - Dst: std::unique
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:81,1
    - Dst: RecInfoList::begin
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:81,1
    - Dst: RecInfoList::end
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:81,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:82,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:82,1
    - Dst: RecInfoList::end
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:83,1
    - Dst: RecList::push_back
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:87,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:87,1
    - Dst: RecNameToYaml::build_yaml
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:90,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - records
    - p_include_defaults
    argTypes:
    - RecInfoList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: RecNameToYaml::RecNameToYaml
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - sort
    - RecList::push_back
    - RecInfoList::begin
    - RecNameToYaml::build_yaml
    - std::get<0>
    - RecInfoList::erase
    - std::unique
    - std::make_pair
    - RecInfoList::size
    - RecInfoList::end
    - std::move
    linkageType: ''
    returnType: void
    signature: void RecNameToYaml::RecNameToYaml(RecInfoList records, bool p_include_defaults)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:102,1
    - Dst: remove_legacy_config_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:103,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:108,1
    - Dst: swoc::TextView::at
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:108,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:108,1
    - Dst: RecordsMatchTracker::push_back
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - prefix
    - vars
    argTypes:
    - swoc::TextView
    - RecNameToYaml::RecList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: RecNameToYaml::find_all_keys_with_prefix
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 0
    functionsReached:
    - remove_legacy_config_prefix
    - std::get<0>
    - swoc::TextView::starts_with
    - RecordsMatchTracker::push_back
    - swoc::TextView::size
    - swoc::TextView::at
    linkageType: ''
    returnType: RecNameToYaml::RecordsMatchTracker
    signature: RecNameToYaml::RecordsMatchTracker RecNameToYaml::find_all_keys_with_prefix(swoc::TextView
      prefix, RecNameToYaml::RecList &vars)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RecNameToYaml::find_all_keys_with_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:119,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:126,1
    - Dst: remove_legacy_config_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:127,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:128,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:128,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:130,1
    - Dst: YAML_begin_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:134,1
    - Dst: YAML_add_key
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:138,1
    - Dst: RecNameToYaml::string
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:138,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:140,1
    - Dst: std::get<2>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:141,1
    - Dst: YAML_add_value
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:142,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:143,1
    - Dst: YAML_add_comment
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:144,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:148,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:148,1
    - Dst: YAML_add_key
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:149,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:152,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:152,1
    - Dst: auto::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:152,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:153,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:154,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:155,1
    - Dst: YAML_begin_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:158,1
    - Dst: RecNameToYaml::process_var_from_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:159,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:159,1
    - Dst: YAML_end_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - prefix
    - vars
    - in_a_map
    argTypes:
    - std::string
    - RecNameToYaml::RecList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: RecNameToYaml::process_var_from_prefix
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 1
    functionsReached:
    - std::get<2>
    - swoc::TextView::find
    - swoc::TextView::substr
    - RecNameToYaml::find_all_keys_with_prefix
    - YAML_begin_map
    - YAML_add_comment
    - remove_legacy_config_prefix
    - auto::size
    - std::string::append
    - std::get<1>
    - std::move
    - std::string::reserve
    - RecNameToYaml::process_var_from_prefix
    - YAML_add_key
    - YAML_end_map
    - YAML_add_value
    - std::string::size
    - std::get<0>
    - swoc::TextView::remove_prefix
    - RecNameToYaml::string
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void RecNameToYaml::process_var_from_prefix(std::string prefix, RecNameToYaml::RecList
      &vars, bool &in_a_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML_begin_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:168,1
    - Dst: YAML_add_key
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:169,1
    - Dst: YAML_begin_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:170,1
    - Dst: remove_legacy_config_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:183,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:184,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:185,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:185,1
    - Dst: YAML_add_key
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:186,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:188,1
    - Dst: std::get<2>
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:189,1
    - Dst: YAML_add_value
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:191,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:192,1
    - Dst: YAML_add_comment
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:193,1
    - Dst: YAML_begin_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:199,1
    - Dst: RecNameToYaml::process_var_from_prefix
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:200,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:200,1
    - Dst: YAML_end_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:201,1
    - Dst: YAML_end_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:204,1
    - Dst: YAML_end_map
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.cc:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - vars
    argTypes:
    - RecNameToYaml::RecList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 206
    functionName: RecNameToYaml::build_yaml
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.cc
    functionUses: 1
    functionsReached:
    - YAML_add_comment
    - YAML_add_value
    - auto::empty
    - std::get<2>
    - remove_legacy_config_prefix
    - RecNameToYaml::process_var_from_prefix
    - swoc::TextView::substr
    - YAML_add_key
    - swoc::TextView::find
    - swoc::TextView::size
    - std::get<1>
    - std::move
    - YAML_end_map
    - YAML_begin_map
    linkageType: ''
    returnType: void
    signature: void RecNameToYaml::build_yaml(RecNameToYaml::RecList vars)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rec_access
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: rec_accessof
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rec_accessof(int rec_access)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rec_updatetype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: rec_updateof
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rec_updateof(int rec_updatetype)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rec_checktype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: rec_checkof
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rec_checkof(int rec_checktype)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rec_class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: rec_labelof
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rec_labelof(int rec_class)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rec_source
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: rec_sourceof
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rec_sourceof(int rec_source)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: RecNameToYaml::RecNameToYaml
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecNameToYaml()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.h:125,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_ctl/PrintUtils.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: RecNameToYaml::string
    functionSourceFile: /src/trafficserver/src/traffic_ctl/PrintUtils.h
    functionUses: 1
    functionsReached:
    - c_str
    - good
    linkageType: ''
    returnType: std::string
    signature: std::string string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - ConfigSetRecordRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(ConfigSetRecordRequest::Params const &params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:52,1
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:54,1
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - HostSetStatusRequest::Params::Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node
    linkageType: ''
    returnType: Node
    signature: Node encode(HostSetStatusRequest::Params::Op const &op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - HostSetStatusRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(HostSetStatusRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - BasicPluginMessageRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(BasicPluginMessageRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - ServerStartDrainRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(ServerStartDrainRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - SetStorageDeviceOfflineRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node::push_back
    linkageType: ''
    returnType: Node
    signature: Node encode(SetStorageDeviceOfflineRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - GetStorageDeviceStatusRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node::push_back
    linkageType: ''
    returnType: Node
    signature: Node encode(GetStorageDeviceStatusRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceStatusInfoResponse::data::emplace_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:125,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:125,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:126,1
    - Dst: helper::try_extract<int>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - DeviceStatusInfoResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int>
    - DeviceStatusInfoResponse::data::emplace_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, DeviceStatusInfoResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConfigSetRecordResponse::data::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:140,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:141,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - ConfigSetRecordResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - ConfigSetRecordResponse::data::push_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, ConfigSetRecordResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:155,1
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:156,1
    - Dst: HostStatusLookUpResponse::statusList::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:157,1
    - Dst: HostStatusLookUpResponse::errorList::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:160,1
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - HostStatusLookUpResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - HostStatusLookUpResponse::statusList::push_back
    - Scalar
    - HostStatusLookUpResponse::errorList::push_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, HostStatusLookUpResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - ConfigSetRecordRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(ConfigSetRecordRequest::Params const &params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:52,1
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:54,1
    - Dst: Node
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - HostSetStatusRequest::Params::Op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node
    linkageType: ''
    returnType: Node
    signature: Node encode(HostSetStatusRequest::Params::Op const &op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - HostSetStatusRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(HostSetStatusRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - BasicPluginMessageRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(BasicPluginMessageRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - ServerStartDrainRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(ServerStartDrainRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - SetStorageDeviceOfflineRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node::push_back
    linkageType: ''
    returnType: Node
    signature: Node encode(SetStorageDeviceOfflineRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - GetStorageDeviceStatusRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - Node::push_back
    linkageType: ''
    returnType: Node
    signature: Node encode(GetStorageDeviceStatusRequest::Params const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceStatusInfoResponse::data::emplace_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:125,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:125,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:126,1
    - Dst: helper::try_extract<int>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - DeviceStatusInfoResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int>
    - DeviceStatusInfoResponse::data::emplace_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, DeviceStatusInfoResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConfigSetRecordResponse::data::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:140,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:141,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - ConfigSetRecordResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - ConfigSetRecordResponse::data::push_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, ConfigSetRecordResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:155,1
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:156,1
    - Dst: HostStatusLookUpResponse::statusList::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:157,1
    - Dst: HostStatusLookUpResponse::errorList::push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:160,1
    - Dst: Scalar
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - HostStatusLookUpResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/ctrl_yaml_codecs.h
    functionUses: 0
    functionsReached:
    - HostStatusLookUpResponse::statusList::push_back
    - Scalar
    - HostStatusLookUpResponse::errorList::push_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, HostStatusLookUpResponse &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::emplace_rec
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - configs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: GetAllRecordsRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - shared::rpc::emplace_rec
    linkageType: ''
    returnType: void
    signature: void GetAllRecordsRequest(bool const configs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ConfigSetRecordRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigSetRecordRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ConfigSetRecordRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConfigSetRecordRequest(Params d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: HostSetStatusRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostSetStatusRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: HostGetStatusRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostGetStatusRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: BasicPluginMessageRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasicPluginMessageRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ServerStartDrainRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerStartDrainRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: SetStorageDeviceOfflineRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStorageDeviceOfflineRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: GetStorageDeviceStatusRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStorageDeviceStatusRequest(Params p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:202,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p
    - s
    - e
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: CacheDisk
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CacheDisk(std::string p, std::string s, int e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: get_method
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::emplace_rec
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: ConfigStatusRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - shared::rpc::emplace_rec
    linkageType: ''
    returnType: void
    signature: void ConfigStatusRequest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:242,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:243,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:247,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:248,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:251,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - enabled
    - tags
    - client_ip
    argTypes:
    - bool
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: SetDebugServerRequest
    functionSourceFile: /src/trafficserver/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void SetDebugServerRequest(bool enabled, std::string const &tags, std::string
      const &client_ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_eventfd
      Src: /src/trafficserver/src/iocore/io_uring/IOUringEventIO.cc:32,1
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/io_uring/IOUringEventIO.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - h
    argTypes:
    - EventLoop
    - IOUringContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: IOUringEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/IOUringEventIO.cc
    functionUses: 0
    functionsReached:
    - register_eventfd
    - start_common
    linkageType: ''
    returnType: int
    signature: int IOUringEventIO::start(EventLoop l, IOUringContext *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service
      Src: /src/trafficserver/src/iocore/io_uring/IOUringEventIO.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: IOUringEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/IOUringEventIO.cc
    functionUses: 0
    functionsReached:
    - service
    linkageType: ''
    returnType: void
    signature: void IOUringEventIO::process_event(int /* flags ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - IOUringConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: IOUringContext::set_config
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOUringContext::set_config(const IOUringConfig &cfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::get_main_queue_fd
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:72,1
    - Dst: io_uring_queue_init_params
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:84,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:92,1
    - Dst: io_uring_get_probe_ring
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 101
    functionName: IOUringContext::IOUringContext
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::get_main_queue_fd
    - io_uring_queue_init_params
    - Dbg
    - io_uring_get_probe_ring
    - strerror
    linkageType: ''
    returnType: void
    signature: void IOUringContext::IOUringContext()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:106,1
    - Dst: io_uring_free_probe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:110,1
    - Dst: io_uring_queue_exit
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: IOUringContext::~IOUringContext()
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - io_uring_queue_exit
    - io_uring_free_probe
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void IOUringContext::~IOUringContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext*::set_wq_max_workers
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:118,1
    - Dst: store
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - IOUringContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: IOUringContext::set_main_queue
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - IOUringContext*::set_wq_max_workers
    - store
    linkageType: ''
    returnType: void
    signature: void IOUringContext::set_main_queue(IOUringContext *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: IOUringContext::get_main_queue_fd
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int IOUringContext::get_main_queue_fd()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_register_iowq_max_workers
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bounded
    - unbounded
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: IOUringContext::set_wq_max_workers
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - io_uring_register_iowq_max_workers
    linkageType: ''
    returnType: int
    signature: int IOUringContext::set_wq_max_workers(unsigned int bounded, unsigned
      int unbounded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_register_iowq_max_workers
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:143,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: IOUringContext::get_wq_max_workers
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - io_uring_register_iowq_max_workers
    - std::make_pair
    linkageType: ''
    returnType: std::pair<int, int>
    signature: std::pair<int, int> IOUringContext::get_wq_max_workers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:150,1
    - Dst: io_uring_submit
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: IOUringContext::submit
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - io_uring_submit
    linkageType: ''
    returnType: void
    signature: void IOUringContext::submit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IOUringCompletionHandler *>
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:156,1
    - Dst: io_uring_cqe_get_data
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:156,1
    - Dst: auto*::handle_complete
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cqe
    argTypes:
    - io_uring_cqe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: IOUringContext::handle_cqe
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - io_uring_cqe_get_data
    - reinterpret_cast<IOUringCompletionHandler *>
    - auto*::handle_complete
    linkageType: ''
    returnType: void
    signature: void IOUringContext::handle_cqe(io_uring_cqe *cqe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_peek_cqe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:165,1
    - Dst: IOUringContext::handle_cqe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:167,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:168,1
    - Dst: io_uring_cqe_seen
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:169,1
    - Dst: io_uring_peek_cqe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:172,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: IOUringContext::service
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - IOBufferReader::read
    - io_uring_peek_cqe
    - IOUringContext::handle_cqe
    - io_uring_cqe_seen
    linkageType: ''
    returnType: void
    signature: void IOUringContext::service()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_timespec
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:184,1
    - Dst: io_uring_submit_and_wait_timeout
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:188,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:190,1
    - Dst: IOUringContext::handle_cqe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:192,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:193,1
    - Dst: io_uring_cqe_seen
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:194,1
    - Dst: io_uring_peek_cqe
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: IOUringContext::submit_and_wait
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ink_hrtime_to_timespec
    - io_uring_peek_cqe
    - IOUringContext::handle_cqe
    - io_uring_submit_and_wait_timeout
    - io_uring_cqe_seen
    linkageType: ''
    returnType: void
    signature: void IOUringContext::submit_and_wait(ink_hrtime t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventfd
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:205,1
    - Dst: io_uring_register_eventfd
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: IOUringContext::register_eventfd
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - eventfd
    - io_uring_register_eventfd
    linkageType: ''
    returnType: int
    signature: int IOUringContext::register_eventfd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::IOUringContext
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: IOUringContext::local_context
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::IOUringContext
    linkageType: ''
    returnType: IOUringContext
    signature: 'IOUringContext *

      IOUringContext::local_context()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_opcode_supported
      Src: /src/trafficserver/src/iocore/io_uring/io_uring.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: IOUringContext::supports_op
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/io_uring.cc
    functionUses: 0
    functionsReached:
    - io_uring_opcode_supported
    linkageType: ''
    returnType: bool
    signature: bool IOUringContext::supports_op(int op) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::temp_directory_path
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:47,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:48,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:48,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:49,1
    - Dst: mkdtemp
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:50,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:52,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - basename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: temp_prefix
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - get_yaml_path
    - std::runtime_error
    - mkdtemp
    - snprintf
    - swoc::SWOC_VERSION_NS::file::create_directories
    - swoc::SWOC_VERSION_NS::file::temp_directory_path
    - ink_assert
    linkageType: ''
    returnType: swoc::file::path
    signature: swoc::file::path temp_prefix(const char *basename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:62,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: open_path
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - swoc::file::path::c_str
    - open
    linkageType: ''
    returnType: int
    signature: int open_path(const swoc::file::path &path, int oflags = O_CREAT |
      O_RDWR, int mode = 0644)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: FunctionHolderHandler::FunctionHolderHandler
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FunctionHolderHandler(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - io_uring_cqe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: FunctionHolderHandler::handle_complete
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void handle_complete(io_uring_cqe *c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:83,1
    - Dst: FunctionHolderHandler::FunctionHolderHandler
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: handle
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 82
    functionsReached:
    - std::move
    - FunctionHolderHandler::FunctionHolderHandler
    linkageType: ''
    returnType: IOUringCompletionHandler
    signature: 'IOUringCompletionHandler *

      handle(const std::function<void(int)> &f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::next_sqe
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:89,1
    - Dst: handle
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:89,1
    - Dst: io_uring_prep_write
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ur
    - fd
    - data
    - len
    - f
    argTypes:
    - IOUringContext
    - int
    - char*
    - size_t
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: io_uring_write
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::next_sqe
    - handle
    - io_uring_prep_write
    linkageType: ''
    returnType: void
    signature: void io_uring_write(IOUringContext &ur, int fd, const char *data, size_t
      len, const std::function<void(int)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::next_sqe
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:96,1
    - Dst: handle
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:96,1
    - Dst: io_uring_prep_read
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ur
    - fd
    - data
    - len
    - f
    argTypes:
    - IOUringContext
    - int
    - char*
    - size_t
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: io_uring_read
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::next_sqe
    - handle
    - io_uring_prep_read
    linkageType: ''
    returnType: void
    signature: void io_uring_read(IOUringContext &ur, int fd, char *data, size_t len,
      const std::function<void(int)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::next_sqe
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:104,1
    - Dst: handle
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:104,1
    - Dst: io_uring_prep_close
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ur
    - fd
    - f
    argTypes:
    - IOUringContext
    - int
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: io_uring_close
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - io_uring_prep_close
    - IOUringContext::next_sqe
    - handle
    linkageType: ''
    returnType: void
    signature: void io_uring_close(IOUringContext &ur, int fd, const std::function<void(int)>
      &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::next_sqe
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:112,1
    - Dst: handle
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:112,1
    - Dst: io_uring_prep_accept
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ur
    - sock
    - addr
    - addrlen
    - f
    argTypes:
    - IOUringContext
    - int
    - sockaddr*
    - socklen_t*
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: io_uring_accept
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - io_uring_prep_accept
    - IOUringContext::next_sqe
    - handle
    linkageType: ''
    returnType: void
    signature: void io_uring_accept(IOUringContext &ur, int sock, sockaddr *addr,
      socklen_t *addrlen, const std::function<void(int)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::next_sqe
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:120,1
    - Dst: handle
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:120,1
    - Dst: io_uring_prep_connect
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ur
    - sock
    - addr
    - addrlen
    - f
    argTypes:
    - IOUringContext
    - int
    - sockaddr*
    - socklen_t
    - std::function<void(int)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: io_uring_connect
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - io_uring_prep_connect
    - IOUringContext::next_sqe
    - handle
    linkageType: ''
    returnType: void
    signature: void io_uring_connect(IOUringContext &ur, int sock, sockaddr *addr,
      socklen_t addrlen, const std::function<void(int)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: set_reuseport
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_reuseport(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: set_reuseaddr
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_reuseaddr(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:185,1
    - Dst: htonl
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: any_addr
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - htonl
    - htons
    linkageType: ''
    returnType: sockaddr_in
    signature: sockaddr_in any_addr(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::inet_aton
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:193,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:193,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ip
    - port
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: make_addr
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - ::inet_aton
    - htons
    - std::string::c_str
    linkageType: ''
    returnType: sockaddr_in
    signature: sockaddr_in make_addr(const std::string &ip, int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_socket
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:203,1
    - Dst: set_reuseaddr
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:204,1
    - Dst: set_reuseport
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:205,1
    - Dst: any_addr
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:207,1
    - Dst: UnixSocket::bind
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:208,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:208,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:210,1
    - Dst: Server::listen
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:212,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: make_listen_socket
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - any_addr
    - UnixSocket::bind
    - Server::listen
    - set_reuseport
    - start_socket
    - set_reuseaddr
    - reinterpret_cast<const sockaddr *>
    linkageType: ''
    returnType: int
    signature: int make_listen_socket(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_socket
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: make_client_socket
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - start_socket
    linkageType: ''
    returnType: int
    signature: int make_client_socket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_listen_socket
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: SimpleTestServer::SimpleTestServer
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - make_listen_socket
    linkageType: ''
    returnType: void
    signature: void SimpleTestServer(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_accept
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:236,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:236,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IOUringContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: SimpleTestServer::start
    functionSourceFile: /src/trafficserver/src/iocore/io_uring/unit_tests/test_diskIO.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr *>
    - REQUIRE
    - io_uring_accept
    linkageType: ''
    returnType: void
    signature: void start(IOUringContext &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_AIOCallback
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:107,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: AIO_Device
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - new_AIOCallback
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void AIO_Device(ProxyMutex *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: select_mode
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int select_mode(double p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:130,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:131,1
    - Dst: reinterpret_cast<unsigned *>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - orig_len
    - orig_offset
    argTypes:
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: do_touch_data
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<unsigned *>
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: void do_touch_data(off_t orig_len, off_t orig_offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:146,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:147,1
    - Dst: reinterpret_cast<unsigned *>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - orig_len
    - orig_offset
    argTypes:
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: do_check_data
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<unsigned *>
    - static_cast<unsigned int>
    linkageType: ''
    returnType: int
    signature: int do_check_data(off_t orig_len, off_t orig_offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:166,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:168,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:169,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:170,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:171,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:172,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:173,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:175,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:176,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:177,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:178,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:179,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:180,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:181,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:182,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:183,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:185,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:186,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:187,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:195,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:202,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:203,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:204,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:212,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:214,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:216,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:218,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:219,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:222,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:223,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:224,1
    - Dst: ts::Metrics::Counter::lookup
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:226,1
    - Dst: ts::Metrics::Counter::lookup
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:227,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:229,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:229,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:230,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:230,1
    - Dst: unlink
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:235,1
    - Dst: exit
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 239
    functionName: dump_summary
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - unlink
    - ts::Metrics::Counter::lookup
    - ts::Metrics::Counter::load
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_summary()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:244,1
    - Dst: do_touch_data
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:249,1
    - Dst: do_check_data
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:249,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:251,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:254,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:255,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:256,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:257,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:264,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:264,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: AIO_Device::do_hotset
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - get
    - fprintf
    - ink_aio_write
    - schedule_imm
    - do_check_data
    - do_touch_data
    - SET_HANDLER
    - static_cast<float>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int AIO_Device::do_hotset(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:273,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:274,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:276,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:277,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:278,1
    - Dst: dump_summary
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:280,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:285,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:286,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:295,1
    - Dst: do_check_data
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:295,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:297,1
    - Dst: select_mode
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:303,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:303,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:308,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:308,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:308,1
    - Dst: do_touch_data
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:319,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:319,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:320,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:320,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:320,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:332,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:333,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:336,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:338,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:347,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:347,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 353
    functionName: AIO_Device::do_fd
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - ink_get_hrtime
    - fprintf
    - memset
    - get
    - static_cast<int>
    - select_mode
    - ts::Random::drandom
    - ink_atomic_increment
    - ink_aio_read
    - do_check_data
    - do_touch_data
    - dump_summary
    - ink_aio_write
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int AIO_Device::do_fd(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: PARAM
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM(_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::rdbuf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:366,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:373,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:377,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:378,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:379,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:380,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:381,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:382,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:383,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:384,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:385,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:386,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:387,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:388,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:389,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:390,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:391,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:392,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:393,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:394,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:396,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:397,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:398,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:399,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:400,1
    - Dst: PARAM
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:401,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:403,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:405,1
    - Dst: strdup
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:407,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 1
    argNames:
    - config_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 431
    functionName: read_config
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - std::ifstream::rdbuf
    - strdup
    - PARAM
    - std::ifstream::eof
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int read_config(const char *config_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: IOUringLoopTailHandler::waitForActivity
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::local_context
    linkageType: ''
    returnType: int
    signature: int waitForActivity(ink_hrtime timeout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: IOUringLoopTailHandler::signalActivity
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void signalActivity() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: ~IOUringLoopTailHandler() override
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOUringLoopTailHandler() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:469,1
    - Dst: read_config
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:470,1
    - Dst: exit
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:471,1
    - Dst: ink_number_of_processors
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:475,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:477,1
    - Dst: IOUringContext::set_config
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:491,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:499,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:500,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:501,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:502,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:503,1
    - Dst: std::make_unique<EThread>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:505,1
    - Dst: auto::set_specific
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:506,1
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:510,1
    - Dst: set_tail_handler
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:511,1
    - Dst: RecProcessStart
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:516,1
    - Dst: ink_aio_init
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:517,1
    - Dst: ts::Random::seed
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:518,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:518,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:533,1
    - Dst: AIO_Device::AIO_Device
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:533,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:539,1
    - Dst: fchmod
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:540,1
    - Dst: perror
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:542,1
    - Dst: exit
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:543,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:545,1
    - Dst: valloc
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:545,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:546,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:551,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:553,1
    - Dst: sleep
      Src: /src/trafficserver/src/iocore/aio/test_AIO.cc:555,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 558
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/aio/test_AIO.cc
    functionUses: 0
    functionsReached:
    - ink_aio_init
    - set_tail_handler
    - new_ProxyMutex
    - exit
    - IOUringContext::set_config
    - open
    - read_config
    - std::make_unique<EThread>
    - TSSystemState::is_event_system_shut_down
    - static_cast<char *>
    - AIO_Device::AIO_Device
    - active_group_threads
    - ink_event_system_init
    - fchmod
    - RecProcessInit
    - init_diags
    - RecProcessStart
    - IOUringContext::local_context
    - ink_number_of_processors
    - printf
    - auto::set_specific
    - schedule_imm
    - start
    - Layout::create
    - valloc
    - ts::Random::seed
    - sleep
    - perror
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:33,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: AIOFaultInjection::_decrement_op_count
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AIOFaultInjection::_decrement_op_count(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:42,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:43,1
    - Dst: auto::find
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:46,1
    - Dst: auto::end
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: AIOFaultInjection::_op_result
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 0
    functionsReached:
    - find
    - auto::end
    - auto::find
    - end
    linkageType: ''
    returnType: AIOFaultInjection::IOFault
    signature: AIOFaultInjection::IOFault AIOFaultInjection::_op_result(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path_regex
    - op_index
    - fault
    argTypes:
    - char*
    - int
    - IOFault
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: AIOFaultInjection::inject_fault
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AIOFaultInjection::inject_fault(const char *path_regex, int op_index,
      IOFault fault)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::make_absolute
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:65,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:66,1
    - Dst: std::regex_match
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:71,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:71,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pathname
    - flags
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: AIOFaultInjection::open
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - ts::make_absolute
    - std::filesystem::path::c_str
    - insert_or_assign
    - std::regex_match
    linkageType: ''
    returnType: int
    signature: int AIOFaultInjection::open(const char *pathname, int flags, mode_t
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::_op_result
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:84,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:87,1
    - Dst: AIOFaultInjection::pread
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:89,1
    - Dst: AIOFaultInjection::_decrement_op_count
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - buf
    - nbytes
    - offset
    argTypes:
    - int
    - void*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: AIOFaultInjection::pread
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::_decrement_op_count
    - ink_release_assert
    - AIOFaultInjection::pread
    - AIOFaultInjection::_op_result
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AIOFaultInjection::pread(int fd, void *buf, size_t nbytes,
      off_t offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::_op_result
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:106,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:109,1
    - Dst: AIOFaultInjection::pwrite
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:111,1
    - Dst: AIOFaultInjection::_decrement_op_count
      Src: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - buf
    - n
    - offset
    argTypes:
    - int
    - void*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: AIOFaultInjection::pwrite
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO_fault_injection.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::pwrite
    - AIOFaultInjection::_decrement_op_count
    - ink_release_assert
    - AIOFaultInjection::_op_result
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AIOFaultInjection::pwrite(int fd, const void *buf, size_t n,
      off_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:88,1
    - Dst: AIOCallback::AIOCallback
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:89,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:96,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:96,1
    - Dst: AIOCallback*::action::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:97,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: AIOCallback::io_complete
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - AIOCallback::AIOCallback
    - SCOPED_MUTEX_LOCK
    - ok
    - this_ethread
    - AIOCallback*::action::continuation::handleEvent
    - continuation::handleEvent
    linkageType: ''
    returnType: int
    signature: int AIOCallback::io_complete(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:130,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:132,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: AIOTestData::AIOTestData
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - ink_get_hrtime
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void AIOTestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:156,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:160,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:162,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:163,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - event
    - d
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: AIOTestData::ink_aio_stats
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    - ink_get_hrtime
    - schedule_in
    - printf
    linkageType: ''
    returnType: int
    signature: int AIOTestData::ink_aio_stats(int event, void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AIOCallback::AIOCallback
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: new_AIOCallback
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 3
    functionsReached:
    - AIOCallback::AIOCallback
    linkageType: ''
    returnType: AIOCallback
    signature: 'AIOCallback *

      new_AIOCallback()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ink_aio_set_err_callback
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ink_aio_set_err_callback(Continuation *callback)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:187,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:187,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:189,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:190,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:191,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:192,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:194,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:195,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:197,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:202,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:203,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:204,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:206,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:209,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:213,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:213,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:221,1
    - Dst: auto*::valid
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:222,1
    - Dst: setup_prep_ops
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:224,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:227,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:241,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - v
    - backend
    argTypes:
    - ts::ModuleVersion
    - AIOBackend
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 246
    functionName: ink_aio_init
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached:
    - ts::ModuleVersion::check
    - memset
    - Warning
    - ink_release_assert
    - auto::c_str
    - ts::Metrics::Counter::createPtr
    - auto*::valid
    - RecGetRecordStringAlloc
    - Note
    - RecGetRecordInt
    - IOUringContext::local_context
    - strcasecmp
    - setup_prep_ops
    - ink_mutex_init
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void ink_aio_init(ts::ModuleVersion v, [[maybe_unused]] AIOBackend
      backend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_set_membind
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:260,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:260,1
    - Dst: hwloc_topology_get_topology_nodeset
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:260,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:260,1
    - Dst: hwloc_set_membind_nodeset
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:263,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:263,1
    - Dst: hwloc_topology_get_topology_nodeset
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:263,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:263,1
    - Dst: aio_thread_main
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: start
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 49
    functionsReached:
    - aio_thread_main
    - hwloc_set_membind
    - hwloc_topology_get_topology_nodeset
    - ink_get_topology
    - hwloc_set_membind_nodeset
    linkageType: ''
    returnType: int
    signature: int start(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:272,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thr_req
    - sleep
    argTypes:
    - AIO_Reqs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: AIOThreadInfo
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void AIOThreadInfo(AIO_Reqs *thr_req, int sleep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AIO_Reqs::AIO_Reqs
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:291,1
    - Dst: ink_cond_init
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:295,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:296,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:317,1
    - Dst: AIOThreadInfo::AIOThreadInfo
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:320,1
    - Dst: AIOThreadInfo::AIOThreadInfo
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:322,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:324,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:325,1
    - Dst: spawn_thread
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - fildes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 334
    functionName: aio_init_fildes
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - AIO_Reqs::AIO_Reqs
    - AIOThreadInfo::AIOThreadInfo
    - ink_cond_init
    - spawn_thread
    - snprintf
    - RecGetRecordInt
    - ink_assert
    - ink_mutex_init
    linkageType: ''
    returnType: AIO_Reqs
    signature: 'AIO_Reqs *

      aio_init_fildes(int fildes, int fromAPI = 0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AIO_Reqs*::aio_todo::enqueue
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - op
    - req
    argTypes:
    - AIOCallback*
    - AIO_Reqs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: aio_insert
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - AIO_Reqs*::aio_todo::enqueue
    linkageType: ''
    returnType: void
    signature: void aio_insert(AIOCallback *op, AIO_Reqs *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AIO_Reqs*::aio_temp_list::empty
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:351,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:356,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:356,1
    - Dst: AIO_Reqs*::aio_temp_list::popall
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:356,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:359,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:360,1
    - Dst: Queue::push
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:361,1
    - Dst: Queue::pop
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:365,1
    - Dst: aio_insert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - AIO_Reqs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 368
    functionName: aio_move
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - AIO_Reqs*::aio_temp_list::popall
    - Queue::push
    - Queue::pop
    - SList
    - aio_insert
    - pop
    - Queue::Queue
    - aq
    - AIO_Reqs*::aio_temp_list::empty
    linkageType: ''
    returnType: void
    signature: void aio_move(AIO_Reqs *req)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:379,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:391,1
    - Dst: aio_init_fildes
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:394,1
    - Dst: aio_init_fildes
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:407,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:410,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:415,1
    - Dst: aio_init_fildes
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:417,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:421,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:424,1
    - Dst: ink_mutex_try_acquire
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:425,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:427,1
    - Dst: AIO_Reqs*::aio_temp_list::push
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:429,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:433,1
    - Dst: aio_move
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:435,1
    - Dst: aio_insert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:437,1
    - Dst: ink_cond_signal
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:438,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:439,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - op
    argTypes:
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 441
    functionName: aio_queue_req
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - aio_init_fildes
    - AIO_Reqs*::aio_temp_list::push
    - aio_move
    - ink_atomic_increment
    - aio_insert
    - ink_cond_signal
    - ink_mutex_acquire
    - ink_mutex_release
    - ink_mutex_try_acquire
    linkageType: ''
    returnType: void
    signature: void aio_queue_req(AIOCallback *op, int fromAPI = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:455,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:455,1
    - Dst: pread
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:458,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:458,1
    - Dst: pwrite
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:462,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:462,1
    - Dst: pwrite
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:465,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:465,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:470,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:477,1
    - Dst: AIOCallback*::ok
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - op
    argTypes:
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 480
    functionName: cache_op
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - Warning
    - AIOCallback*::ok
    - static_cast<char *>
    - pwrite
    - pread
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int cache_op(AIOCallback *op)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - thread_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: ink_aio_thread_num_set
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ink_aio_thread_num_set(int thread_num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:498,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:501,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:502,1
    - Dst: aio_move
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:506,1
    - Dst: AIO_Reqs*::aio_todo::pop
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:507,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:513,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:515,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:519,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:520,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:522,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:523,1
    - Dst: cache_op
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:525,1
    - Dst: reinterpret_cast<AIOCallback *>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:525,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:526,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:528,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:534,1
    - Dst: AIOCallback*::handleEvent
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:535,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:537,1
    - Dst: AIOCallback*::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:539,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:541,1
    - Dst: ink_hrtime_to_timespec
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:543,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:543,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:543,1
    - Dst: ink_cond_timedwait
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - thr_info
    argTypes:
    - AIOThreadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 547
    functionName: AIOThreadInfo::aio_thread_main
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - AIOCallback*::handleEvent
    - ink_get_hrtime
    - cache_op
    - AIOCallback*::thread::schedule_imm
    - TSSystemState::is_event_system_shut_down
    - SCOPED_MUTEX_LOCK
    - aio_move
    - AIO_Reqs*::aio_todo::pop
    - ink_atomic_increment
    - HRTIME_MSECONDS
    - schedule_imm
    - ink_cond_timedwait
    - ink_mutex_acquire
    - reinterpret_cast<AIOCallback *>
    - ink_mutex_release
    - ink_hrtime_to_timespec
    linkageType: ''
    returnType: void
    signature: 'void *

      AIOThreadInfo::aio_thread_main(AIOThreadInfo *thr_info)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_read
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: prep_read
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 2
    functionsReached:
    - io_uring_prep_read
    linkageType: ''
    returnType: void
    signature: void prep_read(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_readv
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: prep_readv
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached:
    - io_uring_prep_readv
    linkageType: ''
    returnType: void
    signature: void prep_readv(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_write
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: prep_write
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 2
    functionsReached:
    - io_uring_prep_write
    linkageType: ''
    returnType: void
    signature: void prep_write(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_writev
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: prep_writev
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached:
    - io_uring_prep_writev
    linkageType: ''
    returnType: void
    signature: void prep_writev(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext*::supports_op
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ur
    argTypes:
    - IOUringContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: setup_prep_ops
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached:
    - IOUringContext*::supports_op
    linkageType: ''
    returnType: void
    signature: void setup_prep_ops(IOUringContext *ur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:607,1
    - Dst: IOUringContext*::next_sqe
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:611,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - op_in
    - op_type
    argTypes:
    - AIOCallback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: io_uring_prep_ops_internal
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::local_context
    - IOUringContext*::next_sqe
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void io_uring_prep_ops_internal(AIOCallback *op_in, int op_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_read
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: prep_read
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 3
    functionsReached:
    - io_uring_prep_read
    linkageType: ''
    returnType: void
    signature: void prep_read(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_readv
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: prep_readv
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 2
    functionsReached:
    - io_uring_prep_readv
    linkageType: ''
    returnType: void
    signature: void prep_readv(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_write
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: prep_write
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 3
    functionsReached:
    - io_uring_prep_write
    linkageType: ''
    returnType: void
    signature: void prep_write(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_writev
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sqe
    - op
    argTypes:
    - io_uring_sqe*
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: prep_writev
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 2
    functionsReached:
    - io_uring_prep_writev
    linkageType: ''
    returnType: void
    signature: void prep_writev(io_uring_sqe *sqe, AIOCallback *op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext*::supports_op
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ur
    argTypes:
    - IOUringContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: setup_prep_ops
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 1
    functionsReached:
    - IOUringContext*::supports_op
    linkageType: ''
    returnType: void
    signature: void setup_prep_ops(IOUringContext *ur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:607,1
    - Dst: IOUringContext*::next_sqe
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:611,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - op_in
    - op_type
    argTypes:
    - AIOCallback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: io_uring_prep_ops_internal
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::local_context
    - IOUringContext*::next_sqe
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void io_uring_prep_ops_internal(AIOCallback *op_in, int op_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_ops_internal
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:639,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:648,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:655,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:656,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:658,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:659,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:667,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:667,1
    - Dst: AIOCallback*::handleEvent
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:668,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:670,1
    - Dst: AIOCallback*::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - cqe
    argTypes:
    - io_uring_cqe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 675
    functionName: AIOCallback::handle_complete
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - AIOCallback*::handleEvent
    - AIOCallback*::thread::schedule_imm
    - SCOPED_MUTEX_LOCK
    - io_uring_prep_ops_internal
    - this_ethread
    - schedule_imm
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void AIOCallback::handle_complete(io_uring_cqe *cqe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_ops_internal
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:684,1
    - Dst: aio_queue_req
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op_in
    - fromAPI
    argTypes:
    - AIOCallback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 692
    functionName: ink_aio_read
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 2
    functionsReached:
    - io_uring_prep_ops_internal
    - aio_queue_req
    linkageType: ''
    returnType: int
    signature: int ink_aio_read(AIOCallback *op_in, int fromAPI)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_prep_ops_internal
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:699,1
    - Dst: aio_queue_req
      Src: /src/trafficserver/src/iocore/aio/AIO.cc:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op_in
    - fromAPI
    argTypes:
    - AIOCallback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: ink_aio_write
    functionSourceFile: /src/trafficserver/src/iocore/aio/AIO.cc
    functionUses: 3
    functionsReached:
    - io_uring_prep_ops_internal
    - aio_queue_req
    linkageType: ''
    returnType: int
    signature: int ink_aio_write(AIOCallback *op_in, int fromAPI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/dns/DNSEventIO.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l
    - fd
    - events
    argTypes:
    - EventLoop
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: DNSEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSEventIO.cc
    functionUses: 0
    functionsReached:
    - start_common
    linkageType: ''
    returnType: int
    signature: int DNSEventIO::start(EventLoop l, int fd, int events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trigger
      Src: /src/trafficserver/src/iocore/dns/DNSEventIO.cc:34,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/dns/DNSEventIO.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: DNSEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSEventIO.cc
    functionUses: 0
    functionsReached:
    - trigger
    - refresh
    linkageType: ''
    returnType: void
    signature: void DNSEventIO::process_event(int /* flags ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/iocore/dns/P_DNSConnection.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: reset
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 16
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: DNSConnection::Options::Options()
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSConnection::Options::Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      DNSConnection::Options::setNonBlockingIo(bool p)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setNonBlockingIo(bool p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: '&

      DNSConnection::Options::setNonBlockingConnect(bool p)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setNonBlockingConnect(bool p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: '&

      DNSConnection::Options::setUseTcp(bool p)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setUseTcp(bool p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: '&

      DNSConnection::Options::setBindRandomPort(bool p)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setBindRandomPort(bool p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: '&

      DNSConnection::Options::setLocalIpv4(sockaddr const *ip)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setLocalIpv4(sockaddr const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: '&

      DNSConnection::Options::setLocalIpv6(sockaddr const *ip)'
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSConnection::Options
    signature: 'DNSConnection::Options &

      DNSConnection::Options::setLocalIpv6(sockaddr const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: DNSEntry
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void DNSEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: received_one
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void received_one(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:218,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: sent_one
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void sent_one()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:227,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:228,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:229,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:230,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:230,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:233,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: failover_now
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - HRTIME_SECONDS
    - 'on'
    - DbgPrint
    linkageType: ''
    returnType: bool
    signature: bool failover_now(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:240,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: failover_soon
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - HRTIME_SECONDS
    linkageType: ''
    returnType: bool
    signature: bool failover_soon(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: release_query_id
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void release_query_id(uint16_t qid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: set_query_id_in_use
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void set_query_id_in_use(uint16_t qid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: query_id_in_use
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: bool
    signature: bool query_id_in_use(uint16_t qid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:310,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:312,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:313,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: DNSServer
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_DNSProcessor.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void DNSServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:32,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:33,1
    - Dst: signal
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:35,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:36,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:37,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:39,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:41,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/dns/test_I_DNS.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/dns/test_I_DNS.cc
    functionUses: 1
    functionsReached:
    - start
    - init_diags
    - signal
    - this_ethread
    - printf
    - ink_event_system_init
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: SplitDNSResult::SplitDNSResult
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SplitDNSResult::SplitDNSResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: SplitDNS::SplitDNS
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SplitDNS::SplitDNS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: SplitDNS::~SplitDNS()
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SplitDNS::~SplitDNS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SplitDNS *>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:100,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: SplitDNSConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 1
    functionsReached:
    - get
    - static_cast<SplitDNS *>
    linkageType: ''
    returnType: SplitDNS
    signature: 'SplitDNS *

      SplitDNSConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::release
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - SplitDNS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: SplitDNSConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 1
    functionsReached:
    - SplitDNSConfig::release
    linkageType: ''
    returnType: void
    signature: void SplitDNSConfig::release(SplitDNS *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:119,1
    - Dst: ConfigUpdateHandler<SplitDNSConfig>::ConfigUpdateHandler<SplitDNSConfig>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:120,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: SplitDNSConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - attach
    - RecGetRecordInt
    - ConfigUpdateHandler<SplitDNSConfig>::ConfigUpdateHandler<SplitDNSConfig>
    linkageType: ''
    returnType: void
    signature: void SplitDNSConfig::startup()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:134,1
    - Dst: SplitDNS::SplitDNS
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:136,1
    - Dst: std::make_unique<DNS_table>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:139,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getEntryCount
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:141,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:142,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getEntryCount
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:147,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getHostMatcher
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:149,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getReMatcher
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:149,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getIPMatcher
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:150,1
    - Dst: SplitDNS*::m_DNSSrvrTable::getHostMatcher
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:151,1
    - Dst: HostLookup*::get_leaf_array
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:152,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:156,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:158,1
    - Dst: SplitDNSConfig::print
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:159,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: SplitDNSConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - Warning
    - 'on'
    - SplitDNS::SplitDNS
    - HostLookup*::get_leaf_array
    - std::make_unique<DNS_table>
    - SplitDNSConfig::print
    - SplitDNS*::m_DNSSrvrTable::getHostMatcher
    - SplitDNS*::m_DNSSrvrTable::getEntryCount
    - SplitDNS*::m_DNSSrvrTable::getIPMatcher
    - SplitDNS*::m_DNSSrvrTable::getReMatcher
    - set
    - Note
    linkageType: ''
    returnType: void
    signature: void SplitDNSConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:173,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:174,1
    - Dst: SplitDNS*::m_DNSSrvrTable::Print
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:176,1
    - Dst: SplitDNSConfig::release
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: SplitDNSConfig::print
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SplitDNSConfig::acquire
    - SplitDNS*::m_DNSSrvrTable::Print
    - SplitDNSConfig::release
    linkageType: ''
    returnType: void
    signature: void SplitDNSConfig::print()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:186,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:186,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:186,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:188,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:191,1
    - Dst: SplitDNS::findServer
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:192,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:194,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: SplitDNS::getDNSRecord
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - swoc::TextView::data
    - free
    - SplitDNS::findServer
    - Dbg
    - alloc
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: 'void *

      SplitDNS::getDNSRecord(swoc::TextView hostname)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:213,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:228,1
    - Dst: RequestData*::get_host
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:228,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:230,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:234,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:235,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:235,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:235,1
    - Dst: at
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:237,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:239,1
    - Dst: HostLeaf::match::size
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:239,1
    - Dst: HostLeaf::match::size
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:243,1
    - Dst: HostLeaf::match::data
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:245,1
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:252,1
    - Dst: HostLeaf::match::size
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:252,1
    - Dst: static_cast<SplitDNSRecord *>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:255,1
    - Dst: SplitDNSRecord*::UpdateMatch
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:256,1
    - Dst: auto::Match
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:261,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:272,1
    - Dst: RequestData*::get_host
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:273,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:277,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:280,1
    - Dst: SplitDNSResult*::m_rec::Print
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:281,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - SplitDNSResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 288
    functionName: SplitDNS::findServer
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 1
    functionsReached:
    - min
    - SplitDNSRecord*::UpdateMatch
    - size
    - static_cast<int>
    - Warning
    - Dbg
    - strlen
    - static_cast<size_t>
    - auto::Match
    - RequestData*::get_host
    - HostLeaf::match::data
    - ink_assert
    - memcmp
    - 'on'
    - const_cast<char *>
    - SplitDNSResult*::m_rec::Print
    - HostLeaf::match::size
    - at
    - static_cast<SplitDNSRecord *>
    linkageType: ''
    returnType: void
    signature: void SplitDNS::findServer(RequestData *rdata, SplitDNSResult *result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:301,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:304,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:316,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:316,1
    - Dst: sscanf
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:318,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:328,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:331,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:347,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:351,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:351,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:354,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:355,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 362
    functionName: SplitDNSRecord::ProcessDNSHosts
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Warning
    - sscanf
    - ParseRules::is_digit
    - htons
    - const_cast<char *>
    - strchr
    - strlen
    - ParseRules::is_wslfcr
    - ats_ip_port_cast
    - Tokenizer::Initialize
    - ats_ip_pton
    linkageType: ''
    returnType: char
    signature: 'char *

      SplitDNSRecord::ProcessDNSHosts(char *val)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:373,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:384,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: SplitDNSRecord::ProcessDefDomain
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Tokenizer::Initialize
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      SplitDNSRecord::ProcessDefDomain(char *val)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:403,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:413,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 425
    functionName: SplitDNSRecord::ProcessDomainSrchList
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Tokenizer::Initialize
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      SplitDNSRecord::ProcessDomainSrchList(char *val)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:447,1
    - Dst: SplitDNSRecord::ProcessDefDomain
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:448,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:449,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:456,1
    - Dst: SplitDNSRecord::ProcessDomainSrchList
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:457,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:458,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:465,1
    - Dst: SplitDNSRecord::ProcessDNSHosts
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:466,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:467,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:475,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:476,1
    - Dst: DNSHandler::DNSHandler
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:479,1
    - Dst: ts_imp_res_state::ts_imp_res_state
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:480,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:482,1
    - Dst: ink_res_init
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:483,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:486,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:487,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:492,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:496,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:497,1
    - Dst: ProcessModifiers
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:503,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:505,1
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:509,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 510
    functionName: SplitDNSRecord::Init
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - memset
    - SplitDNSRecord::ProcessDomainSrchList
    - SplitDNSRecord::ProcessDNSHosts
    - ats_ip_invalidate
    - ProcessModifiers
    - DNSHandler::DNSHandler
    - ts_imp_res_state::ts_imp_res_state
    - SplitDNSRecord::ProcessDefDomain
    - ink_res_init
    - ats_ip_ntop
    - strcasecmp
    - DNSHandler::rr_failure
    - SET_CONTINUATION_HANDLER
    - Catch::clara::detail::BasicResult::ok
    - schedule_imm
    - ats_is_ip
    linkageType: ''
    returnType: Result
    signature: Result SplitDNSRecord::Init(matcher_line *line_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - SplitDNSResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 526
    functionName: SplitDNSRecord::UpdateMatch
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void SplitDNSRecord::UpdateMatch(SplitDNSResult *result, RequestData
      * /* rdata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:536,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: SplitDNSRecord::Print
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ats_ip_ntop
    linkageType: ''
    returnType: void
    signature: void SplitDNSRecord::Print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:545,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/dns/SplitDNS.cc:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 551
    functionName: ink_split_dns_init
    functionSourceFile: /src/trafficserver/src/iocore/dns/SplitDNS.cc
    functionUses: 0
    functionsReached:
    - ts::ModuleVersion::check
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void ink_split_dns_init(ts::ModuleVersion v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: SplitDNSConfig::isSplitDNSEnabled
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE SplitDNSConfig::isSplitDNSEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: DNSRequestData::DNSRequestData
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSRequestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: DNSRequestData::get_string
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: char
    signature: "char *\n  get_string() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DNSRequestData::get_host
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: 'char *

      DNSRequestData::get_host()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: DNSRequestData::get_ip
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      DNSRequestData::get_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: DNSRequestData::get_client_ip
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      DNSRequestData::get_client_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: SplitDNSRecord::SplitDNSRecord
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE SplitDNSRecord::SplitDNSRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: SplitDNSRecord::~SplitDNSRecord()
    functionSourceFile: /src/trafficserver/src/iocore/dns/P_SplitDNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE SplitDNSRecord::~SplitDNSRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: QtypeName
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QtypeName(int qtype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: is_addr_query
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_query(int qtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: QtypeName
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QtypeName(int qtype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: is_addr_query
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_query(int qtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - s
    - c
    - len
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: strnchr
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strnchr(char *s, char c, int len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_GET16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: ink_get16
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - NS_GET16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ink_get16(const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:138,1
    - Dst: reinterpret_cast<HEADER *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buff
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: get_rcode
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HEADER *>
    - ink_assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_rcode(char *buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:145,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ent
    argTypes:
    - HostEnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: get_rcode
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - get_rcode
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_rcode(HostEnt *ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: HostEnt::isNameError
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - get_rcode
    linkageType: ''
    returnType: bool
    signature: bool HostEnt::isNameError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostEnt::free
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: HostEnt::free
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - HostEnt::free
    linkageType: ''
    returnType: void
    signature: void HostEnt::free()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:164,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - addr
    - buffer
    argTypes:
    - in_addr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: make_ipv4_ptr
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: size_t
    signature: size_t make_ipv4_ptr(in_addr_t addr, char *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - buffer
    argTypes:
    - in6_addr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: make_ipv6_ptr
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t make_ipv6_ptr(in6_addr const *addr, char *buffer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:229,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:230,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:231,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:232,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:233,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:234,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:235,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:236,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:237,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:238,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:239,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:241,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:242,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:244,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:245,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:247,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:248,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:250,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:252,1
    - Dst: static_cast<DNS_CONN_MODE>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:253,1
    - Dst: register_event_type
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:257,1
    - Dst: schedule_spawn
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:258,1
    - Dst: spawn_event_threads
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:259,1
    - Dst: SplitDNSConfig::reconfigure
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:271,1
    - Dst: DNSProcessor::dns_init
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:275,1
    - Dst: DNSProcessor::open
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - stacksize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 279
    functionName: DNSProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - static_cast<DNS_CONN_MODE>
    - schedule_spawn
    - RecGetRecordStringAlloc
    - SplitDNSConfig::reconfigure
    - RecEstablishStaticConfigInt32
    - DNSProcessor::open
    - register_event_type
    - DNSProcessor::dns_init
    - ats_stringdup
    - spawn_event_threads
    linkageType: ''
    returnType: int
    signature: int DNSProcessor::start(int, size_t stacksize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSHandler::DNSHandler
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:284,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:288,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:289,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:292,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:294,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:301,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: DNSProcessor::open
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - ats_ip_copy
    - ats_ip_invalidate
    - DNSHandler::DNSHandler
    - SET_CONTINUATION_HANDLER
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: void DNSProcessor::open(sockaddr const *target)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:311,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:312,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:319,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:322,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:323,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:326,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:332,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:339,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:342,1
    - Dst: sscanf
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:348,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:349,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:350,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:355,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:356,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:357,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:364,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:364,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:366,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:366,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:370,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:372,1
    - Dst: ink_res_init
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:376,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:377,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:383,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:384,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:385,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:386,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:387,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:388,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:393,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:394,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:395,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:396,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:397,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:398,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 401
    functionName: DNSProcessor::dns_init
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - Warning
    - ats_free
    - ats_is_ip4
    - sscanf
    - htons
    - ats_ip_invalidate
    - ats_ip_nptop
    - ats_strdup
    - strtok_r
    - Dbg
    - strchr
    - ink_res_init
    - ats_ip_pton
    - ats_ip_port_cast
    - ats_is_ip6
    - gethostname
    linkageType: ''
    returnType: void
    signature: void DNSProcessor::dns_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:414,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:414,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:414,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:414,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - eom
    - comp_dn
    - exp_dn
    - length
    argTypes:
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: ink_dn_expand
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - const_cast<unsigned char *>
    - ink_dn_expand
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int ink_dn_expand(const u_char *msg, const u_char *eom, const u_char
      *comp_dn, u_char *exp_dn, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:420,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:421,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: DNSProcessor::DNSProcessor
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void DNSProcessor::DNSProcessor()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:430,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:438,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:452,1
    - Dst: DNSQueryData::name::substr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:453,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:454,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:455,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:456,1
    - Dst: auto::isIp6
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:459,1
    - Dst: make_ipv6_ptr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:460,1
    - Dst: auto::isIp4
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:461,1
    - Dst: make_ipv4_ptr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:462,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:464,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - target
    - qtype_arg
    - acont
    - opt
    argTypes:
    - DNSQueryData
    - int
    - Continuation*
    - DNSProcessor::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 469
    functionName: DNSEntry::init
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - make_ipv4_ptr
    - ink_get_hrtime
    - memcpy
    - auto::isIp4
    - is_addr_query
    - auto::size
    - make_ipv6_ptr
    - DNSQueryData::name::substr
    - auto::isIp6
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void DNSEntry::init(DNSQueryData target, int qtype_arg, Continuation
      *acont, DNSProcessor::Options const &opt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSHandler::open_con
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:479,1
    - Dst: DNSHandler::open_con
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - target
    - failed
    - icon
    argTypes:
    - sockaddr*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: DNSHandler::open_cons
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - DNSHandler::open_con
    linkageType: ''
    returnType: void
    signature: void DNSHandler::open_cons(sockaddr const *target, bool failed, int
      icon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:492,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:493,1
    - Dst: DNSHandler::open_con
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ndx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: DNSHandler::reset_tcp_conn
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - close
    - DNSHandler::open_con
    linkageType: ''
    returnType: bool
    signature: bool DNSHandler::reset_tcp_conn(int ndx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_PollDescriptor
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:515,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:518,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:521,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:527,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:527,1
    - Dst: DNSConnection::sock::is_ok
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:529,1
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:530,1
    - Dst: DNSConnection::connect
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:533,1
    - Dst: BasePrinter::Options
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:533,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:540,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:543,1
    - Dst: DNSHandler::failover
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:545,1
    - Dst: DNSConnection::eio::start
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:550,1
    - Dst: DNSConnection::sock::get_fd
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:550,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:551,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:555,1
    - Dst: DNSConnection::sock::get_fd
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - target
    - failed
    - icon
    - over_tcp
    argTypes:
    - sockaddr*
    - bool
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 561
    functionName: DNSHandler::open_con
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 2
    functionsReached:
    - ats_ip_copy
    - BasePrinter::Options
    - DNSConnection::eio::start
    - DNSConnection::connect
    - Error
    - ats_ip_nptop
    - Dbg
    - get_PollDescriptor
    - DNSHandler::failover
    - DNSConnection::sock::get_fd
    - DNSHandler::rr_failure
    - DNSConnection::sock::is_ok
    - ink_assert
    - DNSConnection::close
    linkageType: ''
    returnType: bool
    signature: bool DNSHandler::open_con(sockaddr const *target, bool failed, int
      icon, bool over_tcp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:566,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:569,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:570,1
    - Dst: setToLoopback
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: DNSHandler::validate_ip
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ats_ip_copy
    - setToLoopback
    - isValid
    linkageType: ''
    returnType: void
    signature: void DNSHandler::validate_ip()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:585,1
    - Dst: DNSHandler::validate_ip
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:587,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:595,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:611,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:612,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:614,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:614,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:631,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:638,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 645
    functionName: DNSHandler::startEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - DNSHandler::validate_ip
    - ats_ip_nptop
    - Dbg
    - DNSHandler::open_cons
    - this_ethread
    - SET_HANDLER
    - ink_assert
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int DNSHandler::startEvent(int /* event ATS_UNUSED */, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:654,1
    - Dst: DNSHandler::validate_ip
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:655,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:657,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: DNSHandler::startEvent_sdns
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - DNSHandler::open_cons
    - DNSHandler::validate_ip
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int DNSHandler::startEvent_sdns(int /* event ATS_UNUSED */, Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_res_mkquery
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:668,1
    - Dst: NS_PUT16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - res
    - qname
    - qtype
    - buffer
    argTypes:
    - ink_res_state
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 673
    functionName: _ink_res_mkquery
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - NS_PUT16
    - ink_res_mkquery
    linkageType: ''
    returnType: int
    signature: int _ink_res_mkquery(ink_res_state res, char *qname, int qtype, unsigned
      char *buffer, bool over_tcp = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:679,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:679,1
    - Dst: DNSHandler::switch_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: DNSHandler::recover
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ats_ip_ntop
    - Warning
    - DNSHandler::switch_named
    linkageType: ''
    returnType: void
    signature: void DNSHandler::recover()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:688,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:691,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:694,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:696,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:701,1
    - Dst: _ink_res_mkquery
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:702,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:703,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:704,1
    - Dst: UnixSocket::send
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:706,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ndx
    - t
    - reopen
    argTypes:
    - int
    - ink_hrtime
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: DNSHandler::retry_named
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - close
    - Dbg
    - DNSHandler::open_cons
    - UnixSocket::send
    - countof
    - _ink_res_mkquery
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void DNSHandler::retry_named(int ndx, ink_hrtime t, bool reopen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:714,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:716,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:718,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:725,1
    - Dst: _ink_res_mkquery
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:726,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:732,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:734,1
    - Dst: UnixSocket::send
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:736,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - reopen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 711
    functionDepth: 3
    functionLinenumber: 711
    functionLinenumberEnd: 740
    functionName: DNSHandler::try_primary_named
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Dbg
    - DNSHandler::open_cons
    - UnixSocket::send
    - countof
    - _ink_res_mkquery
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void DNSHandler::try_primary_named(bool reopen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:745,1
    - Dst: received_one
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ndx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: DNSHandler::switch_named
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - static_cast<DNSEntry *>
    - received_one
    linkageType: ''
    returnType: void
    signature: void DNSHandler::switch_named(int ndx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:759,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:763,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:765,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:766,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:779,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:782,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:784,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:784,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:785,1
    - Dst: IpEndpoint::isValid
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:787,1
    - Dst: IpEndpoint::setToLoopback
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:788,1
    - Dst: DNSHandler::open_cons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:791,1
    - Dst: DNSHandler::switch_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:795,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:798,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:801,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:804,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 806
    functionName: DNSHandler::failover
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - Warning
    - DNSHandler::switch_named
    - ats_ip_copy
    - IpEndpoint::setToLoopback
    - close
    - Dbg
    - ats_ip_ntop
    - DNSHandler::open_cons
    - IpEndpoint::isValid
    linkageType: ''
    returnType: void
    signature: void DNSHandler::failover()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:816,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:818,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:818,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:830,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:837,1
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:840,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:846,1
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:850,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:857,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ndx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 861
    functionName: DNSHandler::rr_failure
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 2
    functionsReached:
    - Warning
    - ts::Metrics::Gauge::decrement
    - Dbg
    - ats_ip_ntop
    - static_cast<DNSEntry *>
    linkageType: ''
    returnType: void
    signature: void DNSHandler::rr_failure(int ndx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - buff
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 868
    functionName: good_rcode
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - get_rcode
    linkageType: ''
    returnType: bool
    signature: bool good_rcode(char *buff)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DNSConnection *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:876,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:876,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:883,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:883,1
    - Dst: DNSConnection*::sock::recv
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:888,1
    - Dst: DNSConnection*::sock::recv
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:896,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:903,1
    - Dst: DNSConnection*::sock::recv
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:910,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:917,1
    - Dst: DNSConnection*::tcp_data::reset
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:924,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:929,1
    - Dst: DNSConnection*::sock::recvfrom
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:932,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:933,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:939,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:941,1
    - Dst: DNSHandler::failover
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:943,1
    - Dst: ats_ip_addr_eq
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:949,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:950,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:950,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:951,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:957,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:960,1
    - Dst: get_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:960,1
    - Dst: good_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:961,1
    - Dst: received_one
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:962,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:964,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:965,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:971,1
    - Dst: get_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:971,1
    - Dst: good_rcode
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:972,1
    - Dst: DNSHandler::recover
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:974,1
    - Dst: received_one
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:976,1
    - Dst: dns_process
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:981,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:981,1
    - Dst: received_one
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:983,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 988
    functionName: DNSHandler::recv_dns
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - DNSConnection*::tcp_data::reset
    - alloc
    - DNSHandler::rr_failure
    - static_cast<DNSConnection *>
    - make_ptr
    - ntohs
    - DNSHandler::recover
    - received_one
    - ats_ip_ntop
    - Ptr::get
    - good_rcode
    - dns_process
    - Warning
    - Dbg
    - DNSConnection*::sock::recvfrom
    - ats_ip_addr_eq
    - dequeue
    - DNSConnection*::sock::recv
    - get_rcode
    - DNSHandler::failover
    linkageType: ''
    returnType: void
    signature: void DNSHandler::recv_dns(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSHandler::reset_tcp_conn
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:996,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1005
    functionName: DNSHandler::check_and_reset_tcp_conn
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - Warning
    - DNSHandler::reset_tcp_conn
    linkageType: ''
    returnType: void
    signature: void DNSHandler::check_and_reset_tcp_conn()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DNSHandler::recv_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1011,1
    - Dst: DNSHandler::check_and_reset_tcp_conn
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1014,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1016,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1020,1
    - Dst: DNSHandler::retry_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1021,1
    - Dst: failover_soon
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1027,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1028,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1029,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1030,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1032,1
    - Dst: DNSHandler::retry_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1033,1
    - Dst: failover_soon
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1039,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1040,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1041,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1042,1
    - Dst: DNSHandler::failover
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1043,1
    - Dst: DNSHandler::try_primary_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1045,1
    - Dst: DNSHandler::try_primary_named
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1049,1
    - Dst: write_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1054,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1058
    functionName: DNSHandler::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - failover_soon
    - DNSHandler::check_and_reset_tcp_conn
    - DNSHandler::try_primary_named
    - Dbg
    - DNSHandler::failover
    - write_dns
    - DNSHandler::rr_failure
    - DNSHandler::recv_dns
    - DNSHandler::retry_named
    - failover_now
    linkageType: ''
    returnType: int
    signature: int DNSHandler::mainEvent(int event, Event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1064,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - h
    - id
    argTypes:
    - DNSHandler*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1077
    functionName: get_dns
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - static_cast<DNSEntry *>
    linkageType: ''
    returnType: DNSEntry
    signature: 'DNSEntry *

      get_dns(DNSHandler *h, uint16_t id)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1083,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1085,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1086,1
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - h
    - qname
    - qtype
    argTypes:
    - DNSHandler*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1095
    functionName: get_entry
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 3
    functionsReached:
    - is_addr_query
    - strcmp
    - memcmp
    - static_cast<DNSEntry *>
    linkageType: ''
    returnType: DNSEntry
    signature: 'DNSEntry *

      get_entry(DNSHandler *h, char *qname, int qtype)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1101,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1107,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1109,1
    - Dst: static_cast<DNSEntry *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1122,1
    - Dst: write_dns_event
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1130,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - h
    - tcp_retry
    argTypes:
    - DNSHandler*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1141
    functionName: write_dns
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - Warning
    - write_dns_event
    - dns_result
    - static_cast<DNSEntry *>
    linkageType: ''
    returnType: void
    signature: void write_dns(DNSHandler *h, bool tcp_retry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1147,1
    - Dst: random
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1147,1
    - Dst: query_id_in_use
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1148,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1155,1
    - Dst: query_id_in_use
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1161,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1165,1
    - Dst: set_query_id_in_use
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1174
    functionName: DNSHandler::get_query_id
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - set_query_id_in_use
    - Error
    - query_id_in_use
    - random
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DNSHandler::get_query_id()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HEADER *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1187,1
    - Dst: _ink_res_mkquery
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1190,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1191,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1192,1
    - Dst: DNSHandler*::get_query_id
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1196,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1197,1
    - Dst: DNSHandler*::release_query_id
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1200,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1204,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1204,1
    - Dst: UnixSocket::send
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1206,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1208,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1212,1
    - Dst: DNSHandler*::rr_failure
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1220,1
    - Dst: DNSHandler*::failover
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1222,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1230,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1239,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1241,1
    - Dst: DNSEntry*::timeout::cancel
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1244,1
    - Dst: DNSHandler*::mutex::thread_holding::schedule_in
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1248,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1248,1
    - Dst: DNSHandler*::mutex::thread_holding::schedule_in
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1250,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1250,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1253,1
    - Dst: DNSHandler*::sent_one
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - h
    - e
    - over_tcp
    argTypes:
    - DNSHandler*
    - DNSEntry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1256
    functionName: write_dns_event
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - ts::Metrics::Gauge::increment
    - dns_result
    - htons
    - reinterpret_cast<HEADER *>
    - DNSHandler*::get_query_id
    - DNSHandler*::mutex::thread_holding::schedule_in
    - HRTIME_SECONDS
    - HRTIME_MSECONDS
    - Dbg
    - DNSHandler*::rr_failure
    - UnixSocket::send
    - DNSEntry*::timeout::cancel
    - DNSHandler*::sent_one
    - DNSHandler*::failover
    - _ink_res_mkquery
    - UnixSocket::get_fd
    - DNSHandler*::release_query_id
    linkageType: ''
    returnType: bool
    signature: bool write_dns_event(DNSHandler *h, DNSEntry *e, bool over_tcp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1263,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1264,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: DNSEntry::delayEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - SET_HANDLER
    - Event*::schedule_in
    linkageType: ''
    returnType: int
    signature: int DNSEntry::delayEvent(int event, Event *e)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1276,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1283,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1284,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1285,1
    - Dst: strnchr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1293,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1295,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1301,1
    - Dst: get_entry
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1302,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1304,1
    - Dst: DNSEntry*::dups::enqueue
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1305,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1307,1
    - Dst: entries::enqueue
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1308,1
    - Dst: thread::schedule_imm
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1309,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1314,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1317,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1317,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1321,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1324,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1327,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1330
    functionName: DNSEntry::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - get_entry
    - get
    - strnchr
    - ts::Metrics::Gauge::decrement
    - dns_result
    - ink_strlcpy
    - thread::schedule_imm
    - DNSEntry*::dups::enqueue
    - Dbg
    - SET_HANDLER
    - entries::enqueue
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int DNSEntry::mainEvent(int event, Event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1336,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1338,1
    - Dst: DNSQueryData::name::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1338,1
    - Dst: DNSQueryData::name::data
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1338,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1340,1
    - Dst: DNSQueryData::name::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1340,1
    - Dst: DNSQueryData::name::data
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1340,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1344,1
    - Dst: DNSEntry*::init
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1346,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1347,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1347,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1348,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1349,1
    - Dst: DNSEntry*::handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - x
    - type
    - cont
    - opt
    argTypes:
    - DNSQueryData
    - int
    - Continuation*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1354
    functionName: DNSProcessor::getby
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - DNSQueryData::name::size
    - DNSQueryData::name::data
    - DNSEntry*::handleEvent
    - Dbg
    - DNSEntry*::init
    - alloc
    - this_ethread
    - MUTEX_TRY_LOCK
    - schedule_imm
    linkageType: ''
    returnType: Action
    signature: 'Action *

      DNSProcessor::getby(DNSQueryData x, int type, Continuation *cont, Options const
      &opt)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1369,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1371,1
    - Dst: write_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1374,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1378,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1381,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1382,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1386,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1389,1
    - Dst: write_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1390,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1400,1
    - Dst: write_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1402,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1407,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1415,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1419,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1420,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1422,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1424,1
    - Dst: DNSHandler*::entries::remove
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1429,1
    - Dst: DNSHandler*::release_query_id
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1435,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1438,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1439,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1445,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1447,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1450,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1452,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1460,1
    - Dst: DNSEntry*::handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1461,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 5
    argNames:
    - h
    - e
    - ent
    - retry
    - tcp_retry
    argTypes:
    - DNSHandler*
    - DNSEntry*
    - HostEnt*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1462
    functionName: dns_result
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 3
    functionsReached:
    - ts::Metrics::Counter::increment
    - ink_get_hrtime
    - inet_ntop
    - 'on'
    - ink_strlcpy
    - is_addr_query
    - DNSEntry*::handleEvent
    - DbgPrint
    - DNSHandler*::entries::remove
    - Dbg
    - strchr
    - write_dns
    - strlen
    - SET_CONTINUATION_HANDLER
    - DNSHandler*::release_query_id
    linkageType: ''
    returnType: void
    signature: void dns_result(DNSHandler *h, DNSEntry *e, HostEnt *ent, bool retry,
      bool tcp_retry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1480,1
    - Dst: DNSEntry*::post
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1481,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1481,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1483,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1486,1
    - Dst: mutex::thread_holding::schedule_in
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1488,1
    - Dst: DNSEntry::post
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1494,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1494,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1497,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1501
    functionName: DNSEntry::postAllEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - get
    - DNSEntry::post
    - mutex::thread_holding::schedule_in
    - enqueue
    - dequeue
    - DNSEntry*::post
    - cancel
    - SET_HANDLER
    - schedule_imm
    linkageType: ''
    returnType: int
    signature: int DNSEntry::postAllEvent(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1507,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1512,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1513,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1514,1
    - Dst: DNSEntry::postOneEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1517,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1520,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - h
    - ent
    argTypes:
    - DNSHandler*
    - HostEnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1524
    functionName: DNSEntry::post
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - DNSEntry::postOneEvent
    - Dbg
    - cancel
    - MUTEX_TRY_LOCK
    - SET_HANDLER
    - schedule_imm
    linkageType: ''
    returnType: int
    signature: int DNSEntry::post(DNSHandler *h, HostEnt *ent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1530,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1531,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1531,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1538
    functionName: DNSEntry::postOneEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - get
    - Dbg
    - free
    - continuation::handleEvent
    linkageType: ''
    returnType: int
    signature: int DNSEntry::postOneEvent(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HEADER *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1544,1
    - Dst: get_dns
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1545,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1545,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1545,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1573,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1573,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1573,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1581,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1583,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1585,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1589,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1591,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1598,1
    - Dst: SiteThrottledWarning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1601,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1606,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1609,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1615,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1624,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1635,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1638,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1639,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1641,1
    - Dst: HostEnt*::srv_hosts::hosts::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1641,1
    - Dst: HostEnt*::srv_hosts::hosts::clear
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1642,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1646,1
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1650,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1650,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1657,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1657,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1669,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1669,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1671,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1674,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1679,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1681,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1681,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1685,1
    - Dst: reinterpret_cast<char **>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1693,1
    - Dst: reinterpret_cast<char **>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1696,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1707,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1708,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1715,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1721,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1723,1
    - Dst: dn_skipname
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1724,1
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1734,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1734,1
    - Dst: NS_GET16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1741,1
    - Dst: NS_GET32
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1743,1
    - Dst: NS_GET16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1747,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1752,1
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1756,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1756,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1763,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1763,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1766,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1766,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1771,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1771,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1771,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1774,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1777,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1780,1
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1794,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1794,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1801,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1802,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1803,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1803,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1808,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1809,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1809,1
    - Dst: HostEnt*::srv_hosts::hosts::size
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1814,1
    - Dst: dn_skipname
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1818,1
    - Dst: dn_skipname
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1822,1
    - Dst: ink_dn_expand
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1828,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1828,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1828,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1833,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1834,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1834,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1834,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1836,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1837,1
    - Dst: ink_get16
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1838,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1839,1
    - Dst: makeHostHash
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1840,1
    - Dst: HostEnt*::srv_hosts::hosts::push_back
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1847,1
    - Dst: is_addr_query
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1848,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1858,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1859,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1859,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1860,1
    - Dst: QtypeName
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1860,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1865,1
    - Dst: static_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1870,1
    - Dst: align_pointer_forward
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1870,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1875,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1876,1
    - Dst: QtypeName
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1876,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1877,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1894,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1895,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1895,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1896,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1898,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1899,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1904,1
    - Dst: dns_result
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1906,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 261
    argCount: 3
    argNames:
    - handler
    - buf
    - len
    argTypes:
    - DNSHandler*
    - HostEnt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1541
    functionDepth: 3
    functionLinenumber: 1541
    functionLinenumberEnd: 1908
    functionName: dns_process
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - LogAccess::strlen
    - inet_ntop
    - reinterpret_cast<HEADER *>
    - reinterpret_cast<char **>
    - align_pointer_forward
    - ink_dn_expand
    - makeHostHash
    - SiteThrottledWarning
    - HostEnt*::srv_hosts::hosts::clear
    - static_cast<uint16_t>
    - ts::Metrics::Counter::increment
    - QtypeName
    - ink_strlcpy
    - ink_get16
    - ntohs
    - countof
    - reinterpret_cast<unsigned char *>
    - reinterpret_cast<u_char *>
    - Warning
    - strncasecmp
    - NS_GET16
    - Dbg
    - strlen
    - ink_assert
    - ink_get_hrtime
    - get_dns
    - ts::Metrics::Gauge::decrement
    - 'on'
    - static_cast<unsigned char *>
    - is_addr_query
    - dns_result
    - HostEnt*::srv_hosts::hosts::push_back
    - reinterpret_cast<const char *>
    - dn_skipname
    - DbgPrint
    - NS_GET32
    - HostEnt*::srv_hosts::hosts::size
    - reinterpret_cast<char *>
    - reinterpret_cast<uintptr_t>
    - SiteThrottledNote
    linkageType: ''
    returnType: bool
    signature: bool dns_process(DNSHandler *handler, HostEnt *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1917,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1919,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1919,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1929,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1930,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1931,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1932,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1933,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1934,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1935,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1936,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1937,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1938,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - v
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1940
    functionName: ink_dns_init
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - ts::ModuleVersion::check
    - ink_release_assert
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::createPtr
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ink_dns_init(ts::ModuleVersion v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1964,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1965,1
    - Dst: inet_ntoa
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1965,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1967,1
    - Dst: gethostbyname
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1971,1
    - Dst: BasePrinter::Options
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - event
    - he
    argTypes:
    - int
    - HostEnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1982
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - gethostbyname
    - BasePrinter::Options
    - rprintf
    - reinterpret_cast<unsigned int *>
    - inet_ntoa
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, HostEnt *he)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1985,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ahosts
    - atofind
    - ahostnames
    - t
    - atype
    - astatus
    argTypes:
    - int
    - int
    - char**
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1996
    functionName: DNSRegressionContinuation
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void DNSRegressionContinuation(int ahosts, int atofind, const char
      **ahostnames, RegressionTest *t, int atype, int *astatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:2003,1
    - Dst: DNSRegressionContinuation::DNSRegressionContinuation
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:2003,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/dns/DNS.cc:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - atype
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2004
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNS.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - schedule_in
    - DNSRegressionContinuation::DNSRegressionContinuation
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(DNS)(RegressionTest *t, int atype, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:35,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:36,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:38,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:39,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:40,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - _mutex
    - _vc
    argTypes:
    - ProxyMutex*
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: NetTesterSM
    functionSourceFile: /src/trafficserver/src/iocore/dns/test_P_DNS.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - ink_release_assert
    - alloc_reader
    - do_io_read
    - MUTEX_TRY_LOCK
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void NetTesterSM(ProxyMutex *_mutex, NetVConnection *_vc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:51,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:52,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:53,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:54,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:55,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:60,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:61,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:62,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:63,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:64,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:66,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/dns/test_P_DNS.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: handle_read
    functionSourceFile: /src/trafficserver/src/iocore/dns/test_P_DNS.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - do_io_close
    - read
    - read_avail
    - char::char
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_read(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/dns/test_P_DNS.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:56,1
    - Dst: static_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:56,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:56,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:56,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: DNSConnection::DNSConnection
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSConnection.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uintptr_t>
    - static_cast<uint32_t>
    - reinterpret_cast<uintptr_t>
    - time
    linkageType: ''
    returnType: void
    signature: void DNSConnection::DNSConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: DNSConnection::~DNSConnection()
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSConnection.cc
    functionUses: 0
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void DNSConnection::~DNSConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:69,1
    - Dst: DNSConnection::sock::close
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: DNSConnection::close
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSConnection.cc
    functionUses: 3
    functionsReached:
    - DNSConnection::sock::close
    - stop
    linkageType: ''
    returnType: int
    signature: int DNSConnection::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: triggered::enqueue
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:76,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: DNSConnection::trigger
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSConnection.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - triggered::enqueue
    linkageType: ''
    returnType: void
    signature: void DNSConnection::trigger()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:90,1
    - Dst: DNSConnection::sock::is_ok
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:90,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:91,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:91,1
    - Dst: DNSConnection::tcp_data::reset
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:93,1
    - Dst: DNSConnection::sock::is_ok
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:106,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:110,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:114,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:115,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:121,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:122,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:128,1
    - Dst: random
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:135,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:136,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:137,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:137,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:138,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:138,1
    - Dst: DNSConnection::sock::bind
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:139,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:144,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:146,1
    - Dst: DNSConnection::sock::bind
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:148,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:150,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:150,1
    - Dst: DNSConnection::sock::set_nonblocking
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:155,1
    - Dst: DNSConnection::sock::enable_option
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:163,1
    - Dst: DNSConnection::sock::enable_option
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:170,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:175,1
    - Dst: DNSConnection::sock::connect
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:176,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:176,1
    - Dst: DNSConnection::sock::set_nonblocking
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:180,1
    - Dst: DNSConnection::sock::is_ok
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:193,1
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/iocore/dns/DNSConnection.cc:194,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - addr
    - opt
    argTypes:
    - sockaddr*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 197
    functionName: DNSConnection::connect
    functionSourceFile: /src/trafficserver/src/iocore/dns/DNSConnection.cc
    functionUses: 1
    functionsReached:
    - ats_ip_copy
    - ats_ip_size
    - DNSConnection::sock::connect
    - static_cast<uint16_t>
    - DNSConnection::close
    - ats_ip_ntop
    - DNSConnection::sock::bind
    - ats_is_ip6
    - ats_is_ip
    - Warning
    - htons
    - ats_ip_nptop
    - Dbg
    - DNSConnection::tcp_data::reset
    - ats_ip_port_cast
    - DNSConnection::sock::set_nonblocking
    - DNSConnection::sock::is_ok
    - ink_assert
    - memset
    - ats_is_ip4
    - DNSConnection::sock::enable_option
    - random
    linkageType: ''
    returnType: int
    signature: int DNSConnection::connect(sockaddr const *addr, Options const &opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:57,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:67,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:69,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:71,1
    - Dst: re_init
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - iobuffer_advice
    - chunk_sizes
    - use_hugepages
    argTypes:
    - int
    - int[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: init_buffer_allocators
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - char::char
    - re_init
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void init_buffer_allocators(int iobuffer_advice, int chunk_sizes[DEFAULT_BUFFER_SIZES],
      bool use_hugepages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_buffer_allocators
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iobuffer_advice
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: init_buffer_allocators
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 1
    functionsReached:
    - init_buffer_allocators
    linkageType: ''
    returnType: void
    signature: void init_buffer_allocators(int iobuffer_advice)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: make_buffer_size_parser
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto make_buffer_size_parser()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_buffer_size_parser
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:120,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:122,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:123,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:125,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:126,1
    - Dst: parser
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:127,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:131,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:131,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:131,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:141,1
    - Dst: swoc::svto_radix<10>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:145,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:146,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:146,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:149,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - chunk_sizes_string
    - chunk_sizes
    argTypes:
    - char*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionName: parse_buffer_chunk_sizes
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - swoc::svto_radix<10>
    - make_buffer_size_parser
    - swoc::TextView::ltrim
    - swoc::TextView::empty
    - Error
    - max
    - swoc::TextView::size
    - parser
    linkageType: ''
    returnType: bool
    signature: bool parse_buffer_chunk_sizes(const char *chunk_sizes_string, int chunk_sizes[DEFAULT_BUFFER_SIZES])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:165,1
    - Dst: MIOBuffer::add_block
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:169,1
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:171,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:174,1
    - Dst: MIOBuffer::end
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:174,1
    - Dst: MIOBuffer::fill
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:175,1
    - Dst: MIOBuffer::add_block
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - abuf
    - alen
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: MIOBuffer::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 2
    functionsReached:
    - MIOBuffer::end
    - MIOBuffer::add_block
    - MIOBuffer::fill
    - IOBufferReader::memcpy
    - static_cast<const char *>
    - MIOBuffer::write_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIOBuffer::write(const void *abuf, int64_t alen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:193,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - len
    - offset
    argTypes:
    - IOBufferReader*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: MIOBuffer::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 3
    functionsReached:
    - MIOBuffer::write
    - IOBufferReader*::block::get
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIOBuffer::write(IOBufferReader *r, int64_t len, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:199,1
    - Dst: IOBufferChain*::head
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:199,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:199,1
    - Dst: IOBufferChain*::length
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chain
    - len
    - offset
    argTypes:
    - IOBufferChain*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: MIOBuffer::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 4
    functionsReached:
    - MIOBuffer::write
    - min
    - IOBufferChain*::length
    - IOBufferChain*::head
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIOBuffer::write(IOBufferChain const *chain, int64_t len, int64_t
      offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:208,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:212,1
    - Dst: IOBufferBlock*::clone
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:221,1
    - Dst: MIOBuffer::append_block
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:224,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - b
    - alen
    - offset
    argTypes:
    - IOBufferBlock*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: MIOBuffer::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 4
    functionsReached:
    - IOBufferBlock*::clone
    - IOBufferBlock*::next::get
    - IOBufferBlock*::read_avail
    - MIOBuffer::append_block
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIOBuffer::write(IOBufferBlock const *b, int64_t alen, int64_t
      offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:238,1
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:239,1
    - Dst: MIOBuffer::_writer::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: MIOBuffer::is_max_read_avail_more_than
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer::_writer::read_avail
    - allocated
    - is_read_avail_more_than
    linkageType: ''
    returnType: bool
    signature: bool MIOBuffer::is_max_read_avail_more_than(int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:259,1
    - Dst: IOBufferReader::block_read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:261,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:268,1
    - Dst: IOBufferReader::start
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:268,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:269,1
    - Dst: IOBufferReader::block_read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ab
    - len
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: IOBufferReader::read
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 3
    functionsReached:
    - IOBufferReader::consume
    - static_cast<char *>
    - IOBufferReader::memcpy
    - IOBufferReader::start
    - IOBufferReader::block_read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferReader::read(void *ab, int64_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:282,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:287,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:291,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:300,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:301,1
    - Dst: IOBufferReader::memchr
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:301,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:303,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - c
    - len
    - offset
    argTypes:
    - char
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 312
    functionName: IOBufferReader::memchr
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 1
    functionsReached:
    - get
    - IOBufferBlock*::start
    - IOBufferReader::memchr
    - IOBufferBlock*::read_avail
    - static_cast<char *>
    - IOBufferBlock*::next::get
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferReader::memchr(char c, int64_t len, int64_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:317,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:318,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:322,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:326,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:335,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:335,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ap
    - len
    - offset
    argTypes:
    - void*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 343
    functionName: IOBufferReader::memcpy
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 3
    functionsReached:
    - get
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - static_cast<char *>
    - IOBufferReader::memcpy
    - IOBufferBlock*::next::get
    linkageType: ''
    returnType: char
    signature: 'char *

      IOBufferReader::memcpy(void *ap, int64_t len, int64_t offset)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:354,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:358,1
    - Dst: IOBufferBlock*::clone
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:359,1
    - Dst: IOBufferBlock*::consume
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:361,1
    - Dst: IOBufferChain::append
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:369,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - blocks
    - length
    - offset
    argTypes:
    - IOBufferBlock*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 378
    functionName: IOBufferChain::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::clone
    - IOBufferBlock*::consume
    - IOBufferBlock*::read_avail
    - min
    - IOBufferBlock*::next::get
    - IOBufferChain::append
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferChain::write(IOBufferBlock *blocks, int64_t length,
      int64_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:384,1
    - Dst: IOBufferBlock*::set
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:390,1
    - Dst: IOBufferChain::append
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:391,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - length
    - offset
    argTypes:
    - IOBufferData*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: IOBufferChain::write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 0
    functionsReached:
    - new_IOBufferBlock
    - IOBufferChain::append
    - IOBufferBlock*::set
    - IOBufferBlock*::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferChain::write(IOBufferData *data, int64_t length, int64_t
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - block
    argTypes:
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: IOBufferChain::append
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferChain::append(IOBufferBlock *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:415,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:417,1
    - Dst: IOBufferChain::consume
      Src: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 433
    functionName: IOBufferChain::consume
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/IOBuffer.cc
    functionUses: 1
    functionsReached:
    - min
    - IOBufferChain::consume
    - read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferChain::consume(int64_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:37,1
    - Dst: first_write_block
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:40,1
    - Dst: addBlock
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:43,1
    - Dst: first_write_block
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:45,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:47,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:50,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:56,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:56,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data_
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: '&

      MIOBufferWriter::write(const void *data_, size_t length)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - IOBufferBlock*::fill
    - first_write_block
    - addBlock
    - IOBufferBlock*::end
    - static_cast<const char *>
    - IOBufferBlock*::write_avail
    - ink_assert
    linkageType: ''
    returnType: MIOBufferWriter
    signature: 'MIOBufferWriter &

      MIOBufferWriter::write(const void *data_, size_t length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: '&

      MIOBufferWriter::operator>>(std::ostream &stream) const'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      MIOBufferWriter::operator>>(std::ostream &stream) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: MIOBufferWriter::operator>>(int /* fd ATS_UNUSED */) const
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t MIOBufferWriter::operator>>(int /* fd ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:89,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:92,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:93,1
    - Dst: std::ostream::write
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:94,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:94,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:95,1
    - Dst: dealloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: '&

      MIOBufferWriter::operator>>(std::ostream &stream) const'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - alloc_reader
    - IOBufferReader*::get_current_block
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - IOBufferReader*::consume
    - dealloc_reader
    - std::ostream::write
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      MIOBufferWriter::operator>>(std::ostream &stream) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:106,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:109,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:110,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:111,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:111,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:115,1
    - Dst: dealloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: MIOBufferWriter::operator>>(int fd) const
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - alloc_reader
    - IOBufferReader*::get_current_block
    - MIOBuffer::write
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - IOBufferReader*::consume
    - dealloc_reader
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t MIOBufferWriter::operator>>(int fd) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:42,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - info
    argTypes:
    - unsigned int
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ConfigInfoReleaser::ConfigInfoReleaser
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void ConfigInfoReleaser(unsigned int id, ConfigInfo *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: ConfigInfoReleaser::handle_event
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: int
    signature: int handle_event(int /* event ATS_UNUSED */, void * /* edata ATS_UNUSED
      */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:68,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:69,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:73,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:79,1
    - Dst: ConfigInfo*::refcount_inc
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:79,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:84,1
    - Dst: exchange
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:91,1
    - Dst: ConfigInfo*::refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:91,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:96,1
    - Dst: ConfigInfo*::refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:96,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:97,1
    - Dst: ConfigInfoReleaser::ConfigInfoReleaser
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:97,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - id
    - info
    - timeout_secs
    argTypes:
    - unsigned int
    - ConfigInfo*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 101
    functionName: ConfigProcessor::set
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - exchange
    - ink_release_assert
    - schedule_in
    - ConfigInfo*::refcount_inc
    - HRTIME_SECONDS
    - Error
    - Dbg
    - ConfigInfo*::refcount
    - ConfigInfoReleaser::ConfigInfoReleaser
    - ink_assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ConfigProcessor::set(unsigned int id, ConfigInfo *info,
      unsigned timeout_secs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:109,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:122,1
    - Dst: ConfigInfo*::refcount_inc
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: ConfigProcessor::get
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - ConfigInfo*::refcount_inc
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: ConfigInfo
    signature: 'ConfigInfo *

      ConfigProcessor::get(unsigned int id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:134,1
    - Dst: ConfigInfo*::refcount_dec
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:139,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:141,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - id
    - info
    argTypes:
    - unsigned int
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: ConfigProcessor::release
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_release_assert
    - ink_abort
    - ConfigInfo*::refcount_dec
    linkageType: ''
    returnType: void
    signature: void ConfigProcessor::release(unsigned int id, ConfigInfo *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _r
    - _c
    argTypes:
    - int
    - CallType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: DeferredCall
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void DeferredCall(int _r, CallType _c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:166,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:166,1
    - Dst: call
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ATS_UNUSED
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: handleEvent
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 15
    functionsReached:
    - HRTIME_MSECONDS
    - Event*::schedule_in
    - call
    linkageType: ''
    returnType: int
    signature: int handleEvent(int event ATS_UNUSED, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:183,1
    - Dst: RegressionConfig::DeferredCall<CallType>::DeferredCall<CallType>
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:183,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - count
    - call
    argTypes:
    - int
    - CallType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: defer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - RegressionConfig::DeferredCall<CallType>::DeferredCall<CallType>
    - schedule_in
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void defer(int count, CallType call)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:190,1
    - Dst: refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:190,1
    - Dst: refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:190,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - ps
    - f
    argTypes:
    - RegressionTest*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: RegressionConfig
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - refcount
    - TestBox::check
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void RegressionConfig(RegressionTest *r, int *ps, unsigned f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:200,1
    - Dst: refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:200,1
    - Dst: refcount
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:200,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:207,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: ~RegressionConfig() override
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - refcount
    - TestBox::check
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void ~RegressionConfig() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _id
    - _c
    argTypes:
    - int
    - RegressionConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: ProxyConfig_Set_Completion
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyConfig_Set_Completion(int _id, RegressionConfig *_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:226,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: operator()() const
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - rprintf
    - set
    linkageType: ''
    returnType: void
    signature: void operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:242,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:242,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:243,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:243,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:244,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:244,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:245,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:245,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:246,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:246,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:247,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:247,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:248,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:248,1
    - Dst: defer
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:251,1
    - Dst: ProxyConfig_Set_Completion
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:251,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - ProxyConfig_Set_Completion
    - defer
    - RegressionConfig::RegressionConfig
    - set
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(ProxyConfig_Set)(RegressionTest *test,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _id
    - _c
    argTypes:
    - int
    - RegressionConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: ProxyConfig_Release_Completion
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyConfig_Release_Completion(int _id, RegressionConfig *_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: operator()() const
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:278,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:278,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:279,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:282,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:282,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:283,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:283,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:284,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:284,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:286,1
    - Dst: RegressionConfig::RegressionConfig
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:286,1
    - Dst: defer
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:290,1
    - Dst: ProxyConfig_Release_Completion
      Src: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - test
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 291
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ConfigProcessor.cc
    functionUses: 0
    functionsReached:
    - get
    - RegressionConfig::RegressionConfig
    - defer
    - ProxyConfig_Release_Completion
    - set
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(ProxyConfig_Release)(RegressionTest
      *test, int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:38,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:38,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:43,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:45,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:49,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:50,1
    - Dst: parse_buffer_chunk_sizes
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:51,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:53,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:57,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:61,1
    - Dst: auto::value
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:62,1
    - Dst: init_buffer_allocators
      Src: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 71
    functionName: ink_event_system_init
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/EventSystem.cc
    functionUses: 5
    functionsReached:
    - ts::ModuleVersion::check
    - ink_release_assert
    - auto::value
    - parse_buffer_chunk_sizes
    - ats_hugepage_enabled
    - RecGetRecordStringAlloc
    - RecEstablishStaticConfigInt32
    - init_buffer_allocators
    - ats_as_c_str
    - Fatal
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void ink_event_system_init(ts::ModuleVersion v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:49,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:52,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:55,1
    - Dst: EThread*::tail_cb::signalActivity
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: ProtectedQueue::enqueue
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc
    functionUses: 0
    functionsReached:
    - EThread*::tail_cb::signalActivity
    - ink_atomiclist_push
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void ProtectedQueue::enqueue(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:67,1
    - Dst: ink_atomiclist_popall
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:67,1
    - Dst: SLL::SLL
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:69,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:71,1
    - Dst: SLL::push
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:72,1
    - Dst: SLL::pop
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:75,1
    - Dst: ProtectedQueue::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:77,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: ProtectedQueue::dequeue_external
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc
    functionUses: 0
    functionsReached:
    - ProtectedQueue::enqueue
    - free
    - SLL::pop
    - SLL::push
    - SLL::SLL
    - static_cast<Event *>
    - ink_atomiclist_popall
    - pop
    linkageType: ''
    returnType: void
    signature: void ProtectedQueue::dequeue_external()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_ATOMICLIST_EMPTY
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:94,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:94,1
    - Dst: ink_hrtime_to_timespec
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:95,1
    - Dst: ink_cond_timedwait
      Src: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: ProtectedQueue::wait
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ProtectedQueue.cc
    functionUses: 0
    functionsReached:
    - empty
    - INK_ATOMICLIST_EMPTY
    - ink_cond_timedwait
    - ink_hrtime_to_timespec
    linkageType: ''
    returnType: void
    signature: void ProtectedQueue::wait(ink_hrtime timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:45,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:47,1
    - Dst: SourceLocation::str
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - srcloc
    - handler
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: lock_waiting
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Lock.cc
    functionUses: 0
    functionsReached:
    - SourceLocation::str
    - fprintf
    - 'on'
    linkageType: ''
    returnType: void
    signature: void lock_waiting(const SourceLocation &srcloc, const char *handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:54,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:56,1
    - Dst: SourceLocation::str
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - srcloc
    - handler
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: lock_holding
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Lock.cc
    functionUses: 0
    functionsReached:
    - SourceLocation::str
    - fprintf
    - 'on'
    linkageType: ''
    returnType: void
    signature: void lock_holding(const SourceLocation &srcloc, const char *handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:63,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:65,1
    - Dst: SourceLocation::str
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - srcloc
    - handler
    argTypes:
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: lock_taken
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Lock.cc
    functionUses: 0
    functionsReached:
    - SourceLocation::str
    - fprintf
    - 'on'
    linkageType: ''
    returnType: void
    signature: void lock_taken(const SourceLocation &srcloc, const char *handler)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:76,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:80,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:83,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/eventsystem/Lock.cc:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: ProxyMutex::print_lock_stats
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Lock.cc
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void ProxyMutex::print_lock_stats(int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - size
    - max
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: buffer_size_to_index
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - BUFFER_SIZE_FOR_INDEX
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE buffer_size_to_index(int64_t size, int64_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:54,1
    - Dst: BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:55,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size
    - max
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: iobuffer_size_to_index
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - buffer_size_to_index
    - BUFFER_SIZE_FOR_INDEX
    - BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE iobuffer_size_to_index(int64_t size, int64_t max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:63,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:64,1
    - Dst: BUFFER_SIZE_INDEX_IS_XMALLOCED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:65,1
    - Dst: BUFFER_SIZE_FOR_XMALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:66,1
    - Dst: BUFFER_SIZE_INDEX_IS_CONSTANT
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:68,1
    - Dst: BUFFER_SIZE_FOR_CONSTANT
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: index_to_buffer_size
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - BUFFER_SIZE_INDEX_IS_XMALLOCED
    - BUFFER_SIZE_FOR_CONSTANT
    - BUFFER_SIZE_FOR_XMALLOC
    - BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    - BUFFER_SIZE_FOR_INDEX
    - BUFFER_SIZE_INDEX_IS_CONSTANT
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE index_to_buffer_size(int64_t idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:89,1
    - Dst: clone
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:98,1
    - Dst: next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 116
    functionName: 'IOBufferBlock *

      iobufferblock_clone(IOBufferBlock *src, int64_t offset, int64_t len)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - next::get
    - clone
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferBlock *

      iobufferblock_clone(IOBufferBlock *src, int64_t offset, int64_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:125,1
    - Dst: next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:132,1
    - Dst: next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: 'IOBufferBlock *

      iobufferblock_skip(IOBufferBlock *b, int64_t *poffset, int64_t *plen, int64_t
      write)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - next::get
    - read_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferBlock *

      iobufferblock_skip(IOBufferBlock *b, int64_t *poffset, int64_t *plen, int64_t
      write)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:158,1
    - Dst: ResourceTracker::increment
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:165,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - _loc
    - _size_index
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: iobuffer_mem_inc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - index_to_buffer_size
    - ResourceTracker::increment
    - BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE iobuffer_mem_inc(const char *_loc, int64_t _size_index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:175,1
    - Dst: ResourceTracker::increment
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:181,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - _loc
    - _size_index
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: iobuffer_mem_dec
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - index_to_buffer_size
    - ResourceTracker::increment
    - BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE iobuffer_mem_dec(const char *_loc, int64_t _size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: IOBufferData::block_size
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - index_to_buffer_size
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferData::block_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:205,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:205,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:207,1
    - Dst: BUFFER_SIZE_INDEX_IS_CONSTANT
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:207,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:207,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: 'IOBufferData *

      new_IOBufferData_internal(const char *location, void *b, int64_t size, int64_t
      asize_index)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - static_cast<char *>
    - this_thread
    - IOBufferData*::block_size
    - BUFFER_SIZE_INDEX_IS_CONSTANT
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferData *

      new_IOBufferData_internal(const char *location, void *b, int64_t size, int64_t
      asize_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferData_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:216,1
    - Dst: BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: 'IOBufferData *

      new_xmalloc_IOBufferData_internal(const char *location, void *b, int64_t size)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
    - new_IOBufferData_internal
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferData *

      new_xmalloc_IOBufferData_internal(const char *location, void *b, int64_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:222,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:222,1
    - Dst: IOBufferData*::alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: 'IOBufferData *

      new_IOBufferData_internal(const char *loc, int64_t size_index, AllocType type)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - IOBufferData*::alloc
    - this_thread
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferData *

      new_IOBufferData_internal(const char *loc, int64_t size_index, AllocType type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferData::dealloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:236,1
    - Dst: iobuffer_mem_inc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:240,1
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:243,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:244,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:244,1
    - Dst: BUFFER_SIZE_INDEX_IS_XMALLOCED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:246,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:247,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:247,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:247,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:247,1
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:252,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:253,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:253,1
    - Dst: BUFFER_SIZE_INDEX_IS_XMALLOCED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:254,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:255,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:255,1
    - Dst: BUFFER_SIZE_FOR_XMALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - size_index
    - type
    argTypes:
    - int64_t
    - AllocType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 259
    functionName: IOBufferData::alloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - BUFFER_SIZE_INDEX_IS_XMALLOCED
    - ats_memalign
    - BUFFER_SIZE_FOR_XMALLOC
    - ats_pagesize
    - alloc_void
    - IOBufferData::dealloc
    - static_cast<char *>
    - iobuffer_mem_inc
    - ats_malloc
    - BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    - index_to_buffer_size
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferData::alloc(int64_t size_index, AllocType type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: iobuffer_mem_dec
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:266,1
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:269,1
    - Dst: free_void
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:270,1
    - Dst: BUFFER_SIZE_INDEX_IS_XMALLOCED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:271,1
    - Dst: Arena::free
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:272,1
    - Dst: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:277,1
    - Dst: free_void
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:278,1
    - Dst: BUFFER_SIZE_INDEX_IS_XMALLOCED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:279,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: IOBufferData::dealloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - ats_free
    - BUFFER_SIZE_INDEX_IS_XMALLOCED
    - free_void
    - BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    - iobuffer_mem_dec
    - Arena::free
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferData::dealloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferData::dealloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:292,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:293,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: IOBufferData::free
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferData::dealloc
    - THREAD_FREE
    - this_thread
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferData::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:305,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: 'IOBufferBlock *

      new_IOBufferBlock_internal(const char *location)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferBlock *

      new_IOBufferBlock_internal(const char *location)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:313,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:313,1
    - Dst: IOBufferBlock*::set
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: 'IOBufferBlock *

      new_IOBufferBlock_internal(const char *location, IOBufferData *d, int64_t len,
      int64_t offset)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    - IOBufferBlock*::set
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE IOBufferBlock *

      new_IOBufferBlock_internal(const char *location, IOBufferData *d, int64_t len,
      int64_t offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: IOBufferBlock::IOBufferBlock
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::IOBufferBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: IOBufferBlock::consume
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::consume(int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: IOBufferBlock::fill
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::fill(int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock::buf
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:342,1
    - Dst: IOBufferBlock::buf
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:343,1
    - Dst: IOBufferBlock::block_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: IOBufferBlock::reset
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferBlock::block_size
    - IOBufferBlock::buf
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:349,1
    - Dst: BUFFER_SIZE_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:349,1
    - Dst: new_IOBufferData_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:350,1
    - Dst: IOBufferBlock::reset
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: IOBufferBlock::alloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_IOBufferData_internal
    - IOBufferBlock::reset
    - ink_assert
    - BUFFER_SIZE_ALLOCATED
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::alloc(int64_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:359,1
    - Dst: IOBufferBlock*::refcount_dec
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:363,1
    - Dst: IOBufferBlock*::next::detach
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:364,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:365,1
    - Dst: detach
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: IOBufferBlock::clear
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    - IOBufferBlock*::next::detach
    - IOBufferBlock*::free
    - detach
    - IOBufferBlock*::refcount_dec
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: IOBufferBlock::clone
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_IOBufferBlock_internal
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      IOBufferBlock::clone() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock::clear
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: IOBufferBlock::dealloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferBlock::clear
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::dealloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock::dealloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:401,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:402,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: IOBufferBlock::free
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - this_thread
    - THREAD_FREE
    - IOBufferBlock::dealloc
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferData_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:408,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:409,1
    - Dst: iobuffer_mem_inc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:410,1
    - Dst: IOBufferBlock::reset
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - b
    - len
    - asize_index
    argTypes:
    - void*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: IOBufferBlock::set_internal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - iobuffer_mem_inc
    - IOBufferBlock::reset
    - new_IOBufferData_internal
    - static_cast<char *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::set_internal(void *b, int64_t len, int64_t
      asize_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock::buf
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:420,1
    - Dst: IOBufferBlock::buf
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:422,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - d
    - len
    - offset
    argTypes:
    - IOBufferData*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: IOBufferBlock::set
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferData*::block_size
    - IOBufferBlock::buf
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferBlock::set(IOBufferData *d, int64_t len, int64_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:434,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:434,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: IOBufferReader::skip_empty_blocks
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - next::read_avail
    - size
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::skip_empty_blocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::low_water
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: IOBufferReader::low_water
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::low_water
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::low_water()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: IOBufferReader::high_water
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferReader::read_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::high_water()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::current_low_water
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: IOBufferReader::current_low_water
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::current_low_water
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::current_low_water()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: IOBufferReader::get_current_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      IOBufferReader::get_current_block()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::skip_empty_blocks
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:471,1
    - Dst: IOBufferReader::start
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: IOBufferReader::start
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 2
    functionsReached:
    - IOBufferReader::start
    - IOBufferReader::skip_empty_blocks
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      IOBufferReader::start()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::skip_empty_blocks
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:482,1
    - Dst: IOBufferReader::end
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: IOBufferReader::end
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::end
    - IOBufferReader::skip_empty_blocks
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      IOBufferReader::end()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::skip_empty_blocks
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:493,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:494,1
    - Dst: IOBufferReader::end
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:494,1
    - Dst: IOBufferReader::start
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: IOBufferReader::block_read_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::start
    - IOBufferReader::end
    - static_cast<int64_t>
    - IOBufferReader::skip_empty_blocks
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::block_read_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::start
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:500,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:501,1
    - Dst: IOBufferReader::end
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: IOBufferReader::block_read_view
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - IOBufferReader::start
    - IOBufferReader::end
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view IOBufferReader::block_read_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:508,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: IOBufferReader::block_count
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    - IOBufferBlock*::next::get
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::block_count()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:522,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:525,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 535
    functionName: IOBufferReader::read_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - get
    - IOBufferBlock*::next::get
    - IOBufferBlock*::read_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::read_avail()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:541,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:544,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 551
    functionName: IOBufferReader::is_read_avail_more_than
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    - IOBufferBlock*::next::get
    - IOBufferBlock*::read_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::is_read_avail_more_than(int64_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:556,1
    - Dst: IOBufferReader::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:556,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:562,1
    - Dst: IOBufferReader::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:567,1
    - Dst: next::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:569,1
    - Dst: IOBufferReader::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: IOBufferReader::consume
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::read_avail
    - next::read_avail
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::consume(int64_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:581,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:585,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:587,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:590,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 596
    functionName: '&

      IOBufferReader::operator[](int64_t i)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    - ink_release_assert
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - IOBufferBlock*::next::get
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE &

      IOBufferReader::operator[](int64_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: IOBufferReader::clear
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: IOBufferReader::reset
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::clear
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - default_size_index
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: MIOBuffer::MIOBuffer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::clear
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::MIOBuffer(int64_t default_size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::clear
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: MIOBuffer::MIOBuffer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::clear
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::MIOBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::dealloc_all_readers
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: MIOBuffer::~MIOBuffer()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::dealloc_all_readers
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::~MIOBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:651,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:651,1
    - Dst: MIOBuffer*::alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - location
    - size_index
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: new_MIOBuffer_internal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    - MIOBuffer*::alloc
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      new_MIOBuffer_internal(const char *location, int64_t size_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer*::dealloc_all_readers
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:662,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:663,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mio
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: free_MIOBuffer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 3
    functionsReached:
    - THREAD_FREE
    - this_thread
    - MIOBuffer*::dealloc_all_readers
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE free_MIOBuffer(MIOBuffer *mio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:669,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - location
    - size_index
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 674
    functionName: new_empty_MIOBuffer_internal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      new_empty_MIOBuffer_internal(const char *location, int64_t size_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:679,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mio
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: free_empty_MIOBuffer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE free_empty_MIOBuffer(MIOBuffer *mio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:687,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:693,1
    - Dst: IOBufferReader*::reset
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - anAccessor
    argTypes:
    - MIOBufferAccessor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: MIOBuffer::alloc_accessor
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - IOBufferReader*::reset
    - allocated
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      MIOBuffer::alloc_accessor(MIOBufferAccessor *anAccessor)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:708,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:714,1
    - Dst: IOBufferReader*::reset
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: MIOBuffer::alloc_reader
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - IOBufferReader*::reset
    - allocated
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      MIOBuffer::alloc_reader()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: MIOBuffer::block_size
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - index_to_buffer_size
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::block_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:734,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:740,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 751
    functionName: MIOBuffer::clone_reader
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - allocated
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      MIOBuffer::clone_reader(IOBufferReader *r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:756,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: MIOBuffer::block_write_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::first_write_block
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::block_write_avail()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::init_readers
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:782,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:784,1
    - Dst: next::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:784,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:786,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:788,1
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:794,1
    - Dst: next::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:794,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - b
    argTypes:
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 797
    functionName: MIOBuffer::append_block_internal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::read_avail
    - IOBufferBlock*::next::get
    - MIOBuffer::init_readers
    - next::read_avail
    - MIOBuffer::write_avail
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::append_block_internal(IOBufferBlock *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:802,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:802,1
    - Dst: MIOBuffer::append_block_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 804
    functionName: MIOBuffer::append_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::append_block_internal
    - IOBufferBlock*::read_avail
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::append_block(IOBufferBlock *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:817,1
    - Dst: BUFFER_SIZE_ALLOCATED
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:817,1
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:818,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:819,1
    - Dst: MIOBuffer::append_block_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - asize_index
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 822
    functionName: MIOBuffer::append_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - new_IOBufferBlock_internal
    - IOBufferBlock*::alloc
    - MIOBuffer::append_block_internal
    - ink_assert
    - BUFFER_SIZE_ALLOCATED
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::append_block(int64_t asize_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::append_block
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: MIOBuffer::add_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::append_block
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::add_block()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::high_water
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:835,1
    - Dst: MIOBuffer::current_low_water
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:835,1
    - Dst: MIOBuffer::add_block
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: MIOBuffer::check_add_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::current_low_water
    - MIOBuffer::high_water
    - MIOBuffer::add_block
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::check_add_block()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: MIOBuffer::get_current_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::first_write_block
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      MIOBuffer::get_current_block()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:860,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:862,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 866
    functionName: MIOBuffer::current_write_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    - IOBufferBlock*::next::get
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::current_write_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::check_add_block
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:880,1
    - Dst: MIOBuffer::current_write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 882
    functionName: MIOBuffer::write_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 2
    functionsReached:
    - MIOBuffer::current_write_avail
    - MIOBuffer::check_add_block
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::write_avail()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:887,1
    - Dst: MIOBuffer::fill
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:889,1
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:894,1
    - Dst: MIOBuffer::fill
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 897
    functionName: MIOBuffer::fill
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 2
    functionsReached:
    - MIOBuffer::fill
    - MIOBuffer::write_avail
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::fill(int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:904,1
    - Dst: block_count
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 912
    functionName: MIOBuffer::max_block_count
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - allocated
    - block_count
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::max_block_count()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:920,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:921,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 932
    functionName: MIOBuffer::max_read_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - read_avail
    - allocated
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::max_read_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:937,1
    - Dst: set_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:938,1
    - Dst: BUFFER_SIZE_INDEX_FOR_CONSTANT_SIZE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:938,1
    - Dst: MIOBuffer::init_readers
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 940
    functionName: MIOBuffer::set
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - BUFFER_SIZE_INDEX_FOR_CONSTANT_SIZE
    - set_internal
    - new_IOBufferBlock_internal
    - MIOBuffer::init_readers
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::set(void *b, int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:945,1
    - Dst: IOBufferBlock*::set_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:946,1
    - Dst: BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:946,1
    - Dst: MIOBuffer::append_block_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: MIOBuffer::append_xmalloced
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::append_block_internal
    - BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
    - new_IOBufferBlock_internal
    - IOBufferBlock*::set_internal
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::append_xmalloced(void *b, int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:953,1
    - Dst: IOBufferBlock*::set_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:954,1
    - Dst: MIOBuffer::append_block_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - len
    - fast_size_index
    argTypes:
    - void*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 956
    functionName: MIOBuffer::append_fast_allocated
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::append_block_internal
    - new_IOBufferBlock_internal
    - IOBufferBlock*::set_internal
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::append_fast_allocated(void *b, int64_t len, int64_t
      fast_size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:961,1
    - Dst: MIOBuffer::alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:962,1
    - Dst: MIOBuffer::init_readers
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 965
    functionName: MIOBuffer::alloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - new_IOBufferBlock_internal
    - MIOBuffer::alloc
    - MIOBuffer::init_readers
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::alloc(int64_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:971,1
    - Dst: IOBufferReader*::accessor::writer
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:971,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:972,1
    - Dst: IOBufferReader*::accessor::reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:972,1
    - Dst: IOBufferReader*::accessor::clear
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:973,1
    - Dst: IOBufferReader*::clear
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 976
    functionName: MIOBuffer::dealloc_reader
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_assert
    - IOBufferReader*::accessor::clear
    - IOBufferReader*::accessor::reader
    - IOBufferReader*::accessor::writer
    - IOBufferReader*::clear
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::dealloc_reader(IOBufferReader *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone_reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 982
    functionName: IOBufferReader::clone
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - clone_reader
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      IOBufferReader::clone()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dealloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: IOBufferReader::dealloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - dealloc_reader
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE IOBufferReader::dealloc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:994,1
    - Dst: MIOBuffer::dealloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: MIOBuffer::dealloc_all_readers
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::dealloc_reader
    - allocated
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBuffer::dealloc_all_readers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_accessor
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - abuf
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: MIOBufferAccessor::reader_for
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - alloc_accessor
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBufferAccessor::reader_for(MIOBuffer *abuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - areader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1020
    functionName: MIOBufferAccessor::reader_for
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBufferAccessor::reader_for(IOBufferReader *areader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - abuf
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: MIOBufferAccessor::writer_for
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBufferAccessor::writer_for(MIOBuffer *abuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1030
    functionName: MIOBufferAccessor::~MIOBufferAccessor()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE MIOBufferAccessor::~MIOBufferAccessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:28,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: PriorityEventQueue::PriorityEventQueue
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc
    functionUses: 0
    functionsReached:
    - PQ_BUCKET_TIME
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void PriorityEventQueue::PriorityEventQueue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:36,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:36,1
    - Dst: Que
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:47,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:48,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:49,1
    - Dst: EVENT_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:53,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:56,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - now
    - t
    argTypes:
    - ink_hrtime
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 64
    functionName: PriorityEventQueue::check_ready
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/PQ-List.cc
    functionUses: 0
    functionsReached:
    - EVENT_FREE
    - enqueue
    - PQ_BUCKET_TIME
    - dequeue
    - static_cast<uint32_t>
    - Que
    - clear
    linkageType: ''
    returnType: void
    signature: void PriorityEventQueue::check_ready(ink_hrtime now, EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ThreadAffinityInitializer::ThreadAffinityInitializer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ThreadAffinityInitializer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:98,1
    - Dst: metrics::summarize
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:99,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:102,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:106,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:110,1
    - Dst: EThread::Metrics::_slice::data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:116,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:118,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:119,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:120,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:121,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:122,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:123,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:124,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:125,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:126,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:127,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:134,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:141,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:147,1
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:149,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - rsb
    argTypes:
    - RecRawStatBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 156
    functionName: EventMetricStatSync
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - EThread::Metrics::_slice::data
    - metrics::summarize
    - RecRawStatUpdateSum
    - slice_stat_update
    - active_group_threads
    - static_cast<unsigned>
    - ink_mutex_acquire
    - ink_mutex_release
    - failover_now
    linkageType: ''
    returnType: int
    signature: int EventMetricStatSync(const char *, RecDataT, RecData *, RecRawStatBlock
      *rsb, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: ThreadInitByFunc::ThreadInitByFunc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ThreadInitByFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)(EThread *)>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:168,1
    - Dst: f
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ThreadInitByFunc::invoke
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - f
    - reinterpret_cast<void (*)(EThread *)>
    linkageType: ''
    returnType: int
    signature: int invoke(int, Event *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:98,1
    - Dst: metrics::summarize
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:99,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:102,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:106,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:110,1
    - Dst: EThread::Metrics::_slice::data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:116,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:118,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:119,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:120,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:121,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:122,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:123,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:124,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:125,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:126,1
    - Dst: slice_stat_update
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:127,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:134,1
    - Dst: RecRawStatUpdateSum
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:141,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:147,1
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:149,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - rsb
    argTypes:
    - RecRawStatBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 156
    functionName: EventMetricStatSync
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - EThread::Metrics::_slice::data
    - metrics::summarize
    - RecRawStatUpdateSum
    - slice_stat_update
    - active_group_threads
    - static_cast<unsigned>
    - ink_mutex_acquire
    - ink_mutex_release
    - failover_now
    linkageType: ''
    returnType: int
    signature: int EventMetricStatSync(const char *, RecDataT, RecData *, RecRawStatBlock
      *rsb, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: ThreadInitByFunc::ThreadInitByFunc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ThreadInitByFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)(EThread *)>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:168,1
    - Dst: f
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ThreadInitByFunc::invoke
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - f
    - reinterpret_cast<void (*)(EThread *)>
    linkageType: ''
    returnType: int
    signature: int invoke(int, Event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:188,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:188,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:188,1
    - Dst: mprotect
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:190,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:192,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - stack
    - stackguard_pages
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: ThreadAffinityInitializer::setup_stack_guard
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - mprotect
    - ats_hugepage_enabled
    - ats_pagesize
    - ats_hugepage_size
    - Fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void ThreadAffinityInitializer::setup_stack_guard(void *stack, int
      stackguard_pages)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:199,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:199,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:199,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:201,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:202,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:204,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:207,1
    - Dst: mmap
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:211,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:213,1
    - Dst: ThreadAffinityInitializer::setup_stack_guard
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:217,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:219,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:220,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - stacksize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: ThreadAffinityInitializer::do_alloc_stack
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ats_hugepage_enabled
    - Error
    - ats_pagesize
    - mmap
    - static_cast<char *>
    - Dbg
    - ats_hugepage_size
    - RecGetRecordInt
    - ThreadAffinityInitializer::setup_stack_guard
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      ThreadAffinityInitializer::do_alloc_stack(size_t stacksize)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:231,1
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:250,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:250,1
    - Dst: hwloc_get_nbobjs_by_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:264,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:264,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:265,1
    - Dst: ink_number_of_processors
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 266
    functionName: ThreadAffinityInitializer::init
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ink_get_topology
    - Dbg
    - ink_number_of_processors
    - RecGetRecordInt
    - hwloc_get_nbobjs_by_type
    linkageType: ''
    returnType: void
    signature: void ThreadAffinityInitializer::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:271,1
    - Dst: hwloc_get_obj_by_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:275,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:275,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:279,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:280,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:280,1
    - Dst: hwloc_bitmap_snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:281,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:282,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:284,1
    - Dst: hwloc_set_thread_cpubind
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:286,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:286,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 291
    functionName: ThreadAffinityInitializer::set_affinity
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - Warning
    - hwloc_get_obj_by_type
    - ink_get_topology
    - static_cast<char *>
    - Dbg
    - alloca
    - hwloc_set_thread_cpubind
    - this_ethread
    - hwloc_bitmap_snprintf
    linkageType: ''
    returnType: int
    signature: int ThreadAffinityInitializer::set_affinity(int, Event *)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwloc_bitmap_alloc
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:297,1
    - Dst: hwloc_get_obj_by_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:300,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:300,1
    - Dst: hwloc_cpuset_to_nodeset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:303,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:303,1
    - Dst: hwloc_get_nbobjs_inside_cpuset_by_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:305,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:305,1
    - Dst: hwloc_set_membind
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:318,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:318,1
    - Dst: hwloc_set_membind_nodeset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:320,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:320,1
    - Dst: ThreadAffinityInitializer::do_alloc_stack
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:325,1
    - Dst: hwloc_set_membind
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:330,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:330,1
    - Dst: hwloc_topology_get_topology_nodeset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:330,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:330,1
    - Dst: hwloc_set_membind_nodeset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:333,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:333,1
    - Dst: hwloc_topology_get_topology_nodeset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:333,1
    - Dst: ink_get_topology
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:333,1
    - Dst: hwloc_bitmap_free
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - t
    - stacksize
    argTypes:
    - EThread*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 341
    functionName: ThreadAffinityInitializer::alloc_numa_stack
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - hwloc_bitmap_alloc
    - hwloc_get_obj_by_type
    - hwloc_set_membind
    - hwloc_topology_get_topology_nodeset
    - ThreadAffinityInitializer::do_alloc_stack
    - ink_get_topology
    - hwloc_bitmap_free
    - hwloc_cpuset_to_nodeset
    - hwloc_get_nbobjs_inside_cpuset_by_type
    - hwloc_set_membind_nodeset
    linkageType: ''
    returnType: void
    signature: 'void *

      ThreadAffinityInitializer::alloc_numa_stack(EThread *t, size_t stacksize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadAffinityInitializer::alloc_numa_stack
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:346,1
    - Dst: ThreadAffinityInitializer::do_alloc_stack
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - stacksize
    argTypes:
    - EThread*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: ThreadAffinityInitializer::alloc_stack
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ThreadAffinityInitializer::alloc_numa_stack
    - ThreadAffinityInitializer::do_alloc_stack
    linkageType: ''
    returnType: void
    signature: 'void *

      ThreadAffinityInitializer::alloc_stack(EThread *t, size_t stacksize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: ThreadAffinityInitializer::init
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadAffinityInitializer::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: ThreadAffinityInitializer::set_affinity
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ThreadAffinityInitializer::set_affinity(int, Event *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadAffinityInitializer::do_alloc_stack
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stacksize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: ThreadAffinityInitializer::alloc_stack
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ThreadAffinityInitializer::do_alloc_stack
    linkageType: ''
    returnType: void
    signature: 'void *

      ThreadAffinityInitializer::alloc_stack(EThread *, size_t stacksize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:372,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:373,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:374,1
    - Dst: EventProcessor::register_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: EventProcessor::EventProcessor
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - ink_mutex_init
    - EventProcessor::register_event_type
    linkageType: ''
    returnType: void
    signature: void EventProcessor::EventProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: EventProcessor::~EventProcessor()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void EventProcessor::~EventProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:389,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - c
    - event_code
    - cookie
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 397
    functionName: make_event_for_scheduling
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - Event*::init
    - alloc
    linkageType: ''
    returnType: Event
    signature: 'Event *

      make_event_for_scheduling(Continuation *c, int event_code, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:389,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - c
    - event_code
    - cookie
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 397
    functionName: make_event_for_scheduling
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - Event*::init
    - alloc
    linkageType: ''
    returnType: Event
    signature: 'Event *

      make_event_for_scheduling(Continuation *c, int event_code, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_event_for_scheduling
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:403,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:404,1
    - Dst: _spawnQueue::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - c
    - ev_type
    - event_code
    - cookie
    argTypes:
    - Continuation*
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: EventProcessor::schedule_spawn
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - make_event_for_scheduling
    - ink_assert
    - _spawnQueue::enqueue
    linkageType: ''
    returnType: Event
    signature: 'Event *

      EventProcessor::schedule_spawn(Continuation *c, EventType ev_type, int event_code,
      void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_event_for_scheduling
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:412,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:412,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:413,1
    - Dst: _spawnQueue::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev_type
    argTypes:
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: EventProcessor::schedule_spawn
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void *>
    - make_event_for_scheduling
    - ink_assert
    - _spawnQueue::enqueue
    linkageType: ''
    returnType: Event
    signature: 'Event *

      EventProcessor::schedule_spawn(void (*f)(EThread *), EventType ev_type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: EventProcessor::register_event_type
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: EventType
    signature: EventType EventProcessor::register_event_type(char const *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EventProcessor::register_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:431,1
    - Dst: EventProcessor::spawn_event_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - n_threads
    - stacksize
    argTypes:
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: EventProcessor::spawn_event_threads
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 1
    functionsReached:
    - EventProcessor::spawn_event_threads
    - EventProcessor::register_event_type
    linkageType: ''
    returnType: EventType
    signature: EventType EventProcessor::spawn_event_threads(char const *name, int
      n_threads, size_t stacksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:443,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:444,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:445,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:447,1
    - Dst: static_cast<decltype(stacksize)>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:447,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:449,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:450,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:450,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:452,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:452,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:455,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:458,1
    - Dst: EThread*::set_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:462,1
    - Dst: EThread*::schedule_spawn
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:463,1
    - Dst: EventProcessor::schedule_spawn
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:467,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:473,1
    - Dst: ThreadGroupDescriptor*::_name::c_str
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:473,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:474,1
    - Dst: ThreadGroupDescriptor*::_name::c_str
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:474,1
    - Dst: alloc_stack
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:475,1
    - Dst: EventProcessor::start
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:476,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:479,1
    - Dst: ThreadGroupDescriptor*::_name::c_str
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - ev_type
    - n_threads
    - stacksize
    argTypes:
    - EventType
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 482
    functionName: EventProcessor::spawn_event_threads
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - static_cast<decltype(stacksize)>
    - alloc_stack
    - ThreadGroupDescriptor*::_name::c_str
    - ats_hugepage_enabled
    - ats_pagesize
    - EThread::EThread
    - max
    - Dbg
    - EThread*::schedule_spawn
    - snprintf
    - EThread*::set_event_type
    - EventProcessor::start
    - ats_hugepage_size
    - EventProcessor::schedule_spawn
    - INK_ALIGN
    linkageType: ''
    returnType: EventType
    signature: EventType EventProcessor::spawn_event_threads(EventType ev_type, int
      n_threads, size_t stacksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:491,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:494,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:496,1
    - Dst: Event*::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:501,1
    - Dst: Event*::free
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 506
    functionName: EventProcessor::initThreadState
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - EThread*::is_event_type
    - Event*::init
    - Event*::continuation::handleEvent
    - alloc
    - Event*::free
    linkageType: ''
    returnType: void
    signature: void EventProcessor::initThreadState(EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:514,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:515,1
    - Dst: init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:518,1
    - Dst: _spawnQueue::push
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:524,1
    - Dst: make_event_for_scheduling
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:524,1
    - Dst: RecAllocateRawStatBlock
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:527,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:535,1
    - Dst: RecRegisterRawStat
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:536,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:542,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:542,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:543,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:543,1
    - Dst: ts::Histogram<R, S>::min_for_bucket
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:543,1
    - Dst: RecRegisterRawStat
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:544,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:549,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:549,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:550,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:550,1
    - Dst: ts::Histogram<R, S>::min_for_bucket
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:550,1
    - Dst: RecRegisterRawStat
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:551,1
    - Dst: RecRegisterRawStatSyncCb
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:555,1
    - Dst: EventProcessor::spawn_event_threads
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - n_event_threads
    - stacksize
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 561
    functionName: EventProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 1
    functionsReached:
    - RecRegisterRawStat
    - ink_release_assert
    - make_event_for_scheduling
    - count
    - RecAllocateRawStatBlock
    - static_cast<size_t>
    - Dbg
    - RecRegisterRawStatSyncCb
    - snprintf
    - ts::Histogram<R, S>::min_for_bucket
    - EventProcessor::spawn_event_threads
    - data
    - init
    - _spawnQueue::push
    linkageType: ''
    returnType: int
    signature: int EventProcessor::start(int n_event_threads, size_t stacksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: EventProcessor::shutdown
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventProcessor::shutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:587,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:588,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:589,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:594,1
    - Dst: Event*::ethread::start
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - cont
    - thr_name
    - stacksize
    argTypes:
    - Continuation*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 602
    functionName: EventProcessor::spawn_thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - Event*::ethread::start
    - ink_release_assert
    - Event*::init
    - EThread::EThread
    - alloc
    linkageType: ''
    returnType: Event
    signature: 'Event *

      EventProcessor::spawn_thread(Continuation *cont, const char *thr_name, size_t
      stacksize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - etype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: EventProcessor::has_tg_started
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EventProcessor::has_tg_started(int etype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:615,1
    - Dst: _afterStartCallback
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: thread_started
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEventProcessor.cc
    functionUses: 0
    functionsReached:
    - EThread*::is_event_type
    - _afterStartCallback
    linkageType: ''
    returnType: void
    signature: void thread_started(EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:43,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:46,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:51,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cont
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: EThread::schedule_imm
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - Event*::set_location
    - Event*::init
    - alloc
    - EThread::schedule
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_imm(Continuation *cont, int callback_event, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:57,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:60,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:65,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: EThread::schedule_at
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - Event*::set_location
    - Event*::init
    - alloc
    - EThread::schedule
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_at(Continuation *cont, ink_hrtime t, int callback_event, void
      *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:71,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:74,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:79,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:79,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: EThread::schedule_in
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Event*::set_location
    - Event*::init
    - alloc
    - EThread::schedule
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_in(Continuation *cont, ink_hrtime t, int callback_event, void
      *cookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:85,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:88,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:94,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:94,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:96,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:96,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: EThread::schedule_every
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Event*::set_location
    - Event*::init
    - alloc
    - EThread::schedule
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_every(Continuation *cont, ink_hrtime t, int callback_event,
      void *cookie)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:105,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:106,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:113,1
    - Dst: Event*::mutex::get
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:113,1
    - Dst: Event*::continuation::control_flags::set_flags
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:118,1
    - Dst: get_cont_flags
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:118,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:120,1
    - Dst: enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:121,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 127
    functionName: EThread::schedule
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 5
    functionsReached:
    - Event*::mutex::get
    - enqueue
    - enqueue_local
    - this_ethread
    - EThread::schedule
    - Event*::continuation::control_flags::set_flags
    - get_cont_flags
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule(Event *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:132,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:135,1
    - Dst: EThread::schedule_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:140,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cont
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: EThread::schedule_imm_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - Event*::set_location
    - Event*::init
    - EVENT_ALLOC
    - EThread::schedule_local
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_imm_local(Continuation *cont, int callback_event, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:146,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:149,1
    - Dst: EThread::schedule_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:154,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: EThread::schedule_at_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - Event*::set_location
    - Event*::init
    - EVENT_ALLOC
    - EThread::schedule_local
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_at_local(Continuation *cont, ink_hrtime t, int callback_event,
      void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:160,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:163,1
    - Dst: EThread::schedule_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:168,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:168,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: EThread::schedule_in_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - EVENT_ALLOC
    - Event*::set_location
    - Event*::init
    - EThread::schedule_local
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_in_local(Continuation *cont, ink_hrtime t, int callback_event,
      void *cookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:174,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:177,1
    - Dst: EThread::schedule_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:183,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:183,1
    - Dst: EThread::schedule_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:185,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:185,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - cont
    - t
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: EThread::schedule_every_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - EVENT_ALLOC
    - Event*::set_location
    - Event*::init
    - EThread::schedule_local
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_every_local(Continuation *cont, ink_hrtime t, int callback_event,
      void *cookie)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:193,1
    - Dst: EThread::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:194,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:200,1
    - Dst: Event*::continuation::control_flags::set_flags
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:207,1
    - Dst: get_cont_flags
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:207,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:210,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:210,1
    - Dst: enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 214
    functionName: EThread::schedule_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 4
    functionsReached:
    - ink_release_assert
    - enqueue_local
    - this_ethread
    - EThread::schedule
    - Event*::continuation::control_flags::set_flags
    - get_cont_flags
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_local(Event *e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:219,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:219,1
    - Dst: EThread::free_event
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:221,1
    - Dst: EVENT_ALLOC
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:223,1
    - Dst: init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - c
    - ev
    - cookie
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: EThread::schedule_spawn
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - EVENT_ALLOC
    - EThread::free_event
    - this_ethread
    - init
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EThread::schedule_spawn(Continuation *c, int ev, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: this_ethread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      this_ethread()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: this_event_thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 1
    functionsReached:
    - this_ethread
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      this_event_thread()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:252,1
    - Dst: EVENT_FREE
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: EThread::free_event
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 1
    functionsReached:
    - EVENT_FREE
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE EThread::free_event(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - LoopTailHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: EThread::set_tail_handler
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEThread.h
    functionUses: 0
    functionsReached:
    - ink_atomic_swap
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE EThread::set_tail_handler(LoopTailHandler *handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Thread::Thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Thread.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void Thread::Thread()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Thread::~Thread()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Thread.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thread::~Thread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<thread_data_internal *>
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:67,1
    - Dst: auto*::me::set_specific
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:69,1
    - Dst: ink_set_thread_name
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:70,1
    - Dst: auto*::f
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:73,1
    - Dst: auto*::me::execute
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: spawn_thread_internal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Thread.cc
    functionUses: 0
    functionsReached:
    - auto*::me::execute
    - static_cast<thread_data_internal *>
    - ink_set_thread_name
    - auto*::f
    - auto*::me::set_specific
    linkageType: ''
    returnType: void
    signature: 'void *

      spawn_thread_internal(void *a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thread_data_internal::thread_data_internal
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:85,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:87,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:88,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/src/iocore/eventsystem/Thread.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - name
    - stack
    - stacksize
    - f
    argTypes:
    - char*
    - void*
    - size_t
    - ThreadFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: Thread::start
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Thread.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - thread_data_internal::thread_data_internal
    - ink_thread_create
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void Thread::start(const char *name, void *stack, size_t stacksize,
      ThreadFunction const &f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:40,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:40,1
    - Dst: EventQueue::remove
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:42,1
    - Dst: EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - acallback_event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: Event::schedule_imm
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached:
    - EventQueueExternal::enqueue_local
    - EventQueue::remove
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Event::schedule_imm(int acallback_event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:57,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:57,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:58,1
    - Dst: EventQueue::remove
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:60,1
    - Dst: EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - atimeout_at
    - acallback_event
    argTypes:
    - ink_hrtime
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: Event::schedule_at
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached:
    - EventQueueExternal::enqueue_local
    - EventQueue::remove
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Event::schedule_at(ink_hrtime atimeout_at, int acallback_event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:75,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:75,1
    - Dst: EventQueue::remove
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:77,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:79,1
    - Dst: EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - atimeout_in
    - acallback_event
    argTypes:
    - ink_hrtime
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: Event::schedule_in
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - EventQueueExternal::enqueue_local
    - EventQueue::remove
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Event::schedule_in(ink_hrtime atimeout_in, int acallback_event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:92,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:92,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:93,1
    - Dst: EventQueue::remove
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:95,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:100,1
    - Dst: EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - aperiod
    - acallback_event
    argTypes:
    - ink_hrtime
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: Event::schedule_every
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - EventQueueExternal::enqueue_local
    - EventQueue::remove
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Event::schedule_every(ink_hrtime aperiod, int acallback_event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_backtrace
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Event::set_location
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached:
    - ink_backtrace
    linkageType: ''
    returnType: void
    signature: void Event::set_location()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Event::get_location
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEvent.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      Event::get_location() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Thread::set_specific
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: EThread::set_specific
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - Thread::set_specific
    linkageType: ''
    returnType: void
    signature: void EThread::set_specific()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:81,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: EThread::cons_common
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - MUTEX_TAKE_LOCK
    - memset
    linkageType: ''
    returnType: void
    signature: void EThread::cons_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EThread::cons_common
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: EThread::EThread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 4
    functionsReached:
    - EThread::cons_common
    linkageType: ''
    returnType: void
    signature: void EThread::EThread()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EThread::cons_common
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:94,1
    - Dst: eventfd
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:96,1
    - Dst: eventfd
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:99,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:101,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:104,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:108,1
    - Dst: pipe
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:108,1
    - Dst: fcntl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:109,1
    - Dst: fcntl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:110,1
    - Dst: fcntl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:111,1
    - Dst: fcntl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - att
    - anid
    argTypes:
    - ThreadType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: EThread::EThread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 4
    functionsReached:
    - pipe
    - eventfd
    - ink_release_assert
    - Fatal
    - fcntl
    - EThread::cons_common
    linkageType: ''
    returnType: void
    signature: void EThread::EThread(ThreadType att, int anid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:118,1
    - Dst: EThread::cons_common
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - att
    - e
    argTypes:
    - ThreadType
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: EThread::EThread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 4
    functionsReached:
    - EThread::cons_common
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void EThread::EThread(ThreadType att, Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:126,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: EThread::~EThread()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - MUTEX_UNTAKE_LOCK
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void EThread::~EThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - et
    argTypes:
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: EThread::is_event_type
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool EThread::is_event_type(EventType et)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - et
    argTypes:
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: EThread::set_event_type
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void EThread::set_event_type(EventType et)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:150,1
    - Dst: WEAK_MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:151,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:152,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:153,1
    - Dst: enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:154,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:157,1
    - Dst: EThread::free_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:158,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:164,1
    - Dst: Event*::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:167,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:168,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:169,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:175,1
    - Dst: enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:177,1
    - Dst: EThread::free_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - e
    - calling_code
    argTypes:
    - Event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 183
    functionName: EThread::process_event
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - is_locked
    - EThread::free_event
    - Event*::continuation::handleEvent
    - MUTEX_RELEASE
    - enqueue_local
    - set_cont_flags
    - WEAK_MUTEX_TRY_LOCK
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void EThread::process_event(Event *e, int calling_code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Que
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:225,1
    - Dst: EThread::metrics::prev_slice
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:232,1
    - Dst: _slice::data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:232,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:232,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:243,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:244,1
    - Dst: _slice::data
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:248,1
    - Dst: current_slice::store
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:249,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:253,1
    - Dst: EThread::metrics::next_slice
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:253,1
    - Dst: Metrics::Slice*::record_loop_start
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:255,1
    - Dst: process_queue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:259,1
    - Dst: check_ready
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:265,1
    - Dst: dequeue_ready
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:266,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:266,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:267,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:268,1
    - Dst: EThread::free_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:270,1
    - Dst: EThread::process_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:273,1
    - Dst: process_queue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:280,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:283,1
    - Dst: EThread::process_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:284,1
    - Dst: earliest_timeout
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:288,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:289,1
    - Dst: localQueue::empty
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:291,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:292,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:292,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:296,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:304,1
    - Dst: waitForActivity
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:307,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:310,1
    - Dst: std::max<ink_hrtime>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:314,1
    - Dst: decay
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:316,1
    - Dst: record_loop_time
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:317,1
    - Dst: Metrics::Slice*::record_event_count
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:318,1
    - Dst: Metrics::Slice*::record_drain_queue
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 321
    functionName: EThread::execute_regular
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - check_ready
    - decay
    - min
    - EThread::metrics::prev_slice
    - Metrics::Slice*::record_event_count
    - record_loop_time
    - localQueue::empty
    - EThread::process_event
    - _slice::data
    - EThread::metrics::next_slice
    - EThread::free_event
    - TSSystemState::is_event_system_shut_down
    - waitForActivity
    - std::max<ink_hrtime>
    - earliest_timeout
    - dequeue_ready
    - Metrics::Slice*::record_drain_queue
    - ink_assert
    - ink_get_hrtime
    - current_slice::store
    - HRTIME_MSECONDS
    - dequeue
    - Metrics::Slice*::record_loop_start
    - Que
    - process_queue
    linkageType: ''
    returnType: void
    signature: void EThread::execute_regular()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:341,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:342,1
    - Dst: EThread::free_event
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:344,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:357,1
    - Dst: EThread::execute_regular
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:358,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:359,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 370
    functionName: EThread::execute
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - EThread::execute_regular
    - EThread::free_event
    - SCOPED_MUTEX_LOCK
    - ink_assert
    - ink_mutex_acquire
    - ink_mutex_release
    - continuation::handleEvent
    linkageType: ''
    returnType: void
    signature: void EThread::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:375,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:376,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:378,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:379,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:382,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:383,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - that
    argTypes:
    - Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: '&

      EThread::Metrics::Slice::operator+=(Slice const &that)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - max
    - min
    linkageType: ''
    returnType: EThread::Metrics::Slice
    signature: 'EThread::Metrics::Slice &

      EThread::Metrics::Slice::operator+=(Slice const &that)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EThread::Metrics::prev_slice
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:398,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:398,1
    - Dst: EThread::Metrics::prev_slice
      Src: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - global
    argTypes:
    - Metrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 419
    functionName: EThread::Metrics::summarize(Metrics &global)
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixEThread.cc
    functionUses: 0
    functionsReached:
    - EThread::Metrics::prev_slice
    - load
    linkageType: ''
    returnType: void
    signature: void EThread::Metrics::summarize(Metrics &global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Event::Event
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:37,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:38,1
    - Dst: ink_atomiclist_init
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:39,1
    - Dst: ink_cond_init
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ProtectedQueue::ProtectedQueue
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h
    functionUses: 0
    functionsReached:
    - Event::Event
    - ink_cond_init
    - ink_mutex_init
    - ink_atomiclist_init
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE ProtectedQueue::ProtectedQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:47,1
    - Dst: ink_cond_signal
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:48,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ProtectedQueue::signal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    - ink_cond_signal
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE ProtectedQueue::signal()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_try_acquire
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:56,1
    - Dst: ink_cond_signal
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:57,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: ProtectedQueue::try_signal
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h
    functionUses: 0
    functionsReached:
    - ink_cond_signal
    - ink_mutex_release
    - ink_mutex_try_acquire
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE ProtectedQueue::try_signal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:69,1
    - Dst: ProtectedQueue::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ProtectedQueue::enqueue_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h
    functionUses: 0
    functionsReached:
    - ProtectedQueue::enqueue
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE ProtectedQueue::enqueue_local(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:77,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: ProtectedQueue::dequeue_local
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_ProtectedQueue.h
    functionUses: 0
    functionsReached:
    - dequeue
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      ProtectedQueue::dequeue_local()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TasksProcessor::register_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/Tasks.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: TasksProcessor::register_event_type
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Tasks.cc
    functionUses: 1
    functionsReached:
    - TasksProcessor::register_event_type
    linkageType: ''
    returnType: EventType
    signature: EventType TasksProcessor::register_event_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spawn_event_threads
      Src: /src/trafficserver/src/iocore/eventsystem/Tasks.cc:43,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/eventsystem/Tasks.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - task_threads
    - stacksize
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: TasksProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Tasks.cc
    functionUses: 0
    functionsReached:
    - max
    - spawn_event_threads
    linkageType: ''
    returnType: int
    signature: int TasksProcessor::start(int task_threads, size_t stacksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_set_fl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: UnixSocket::set_nonblocking
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 0
    functionsReached:
    - safe_set_fl
    linkageType: ''
    returnType: int
    signature: int UnixSocket::set_nonblocking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_bind
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: UnixSocket::bind
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 1
    functionsReached:
    - safe_bind
    linkageType: ''
    returnType: int
    signature: int UnixSocket::bind(struct sockaddr const *name, int namelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::accept4
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:69,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:70,1
    - Dst: transient_error
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - addr
    - addrlen
    - flags
    argTypes:
    - struct sockaddr*
    - socklen_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: UnixSocket::accept4
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 1
    functionsReached:
    - transient_error
    - UnixSocket::accept4
    - likely
    linkageType: ''
    returnType: int
    signature: int UnixSocket::accept4(struct sockaddr *addr, socklen_t *addrlen,
      int flags) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:85,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:86,1
    - Dst: transient_error
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:89,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:91,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:93,1
    - Dst: safe_nonblocking
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:98,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - sockfd
    - addr
    - addrlen
    - flags
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: accept4
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 1
    functionsReached:
    - transient_error
    - likely
    - close
    - safe_fcntl
    - safe_nonblocking
    - accept
    linkageType: ''
    returnType: int
    signature: int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::connect
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - addrlen
    argTypes:
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: UnixSocket::connect
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 0
    functionsReached:
    - shared::rpc::IPCSocketClient::connect
    linkageType: ''
    returnType: int
    signature: int UnixSocket::connect(struct sockaddr const *addr, socklen_t addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - optname
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: UnixSocket::enable_option
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 0
    functionsReached:
    - safe_setsockopt
    linkageType: ''
    returnType: int
    signature: int UnixSocket::enable_option(int level, int optname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: UnixSocket::close
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 0
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: int
    signature: int UnixSocket::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:148,1
    - Dst: read_uint_from_fd
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:149,1
    - Dst: ats_scoped_fd::get
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:149,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: UnixSocket::client_fastopen_supported
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 0
    functionsReached:
    - read_uint_from_fd
    - AIOFaultInjection::open
    - ats_scoped_fd::get
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool UnixSocket::client_fastopen_supported()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::slurp
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:159,1
    - Dst: std::atoi
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:160,1
    - Dst: TextBuffer::bufPtr
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:160,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: read_uint_from_fd
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/UnixSocket.cc
    functionUses: 1
    functionsReached:
    - TextBuffer::bufPtr
    - TextBuffer::slurp
    - std::atoi
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int read_uint_from_fd(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: VIO::get_continuation
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      VIO::get_continuation() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_for
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: void::set_writer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached:
    - writer_for
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::set_writer(MIOBuffer *writer)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reader_for
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: void::set_reader
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached:
    - reader_for
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::set_reader(IOBufferReader *reader)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: VIO::get_writer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached:
    - writer
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      VIO::get_writer() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: VIO::get_reader
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached:
    - reader
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      VIO::get_reader() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: int64_t::ntodo
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE int64_t

      VIO::ntodo() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:72,1
    - Dst: reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: void::done
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached:
    - reader
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::done()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: void::set_continuation
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - acont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: void::set_continuation
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 1
    functionsReached:
    - void::set_continuation
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::set_continuation(Continuation *acont)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: void::reenable
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: void::reenable
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 1
    functionsReached:
    - void::reenable
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::reenable()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: void::reenable_re
      Src: /src/trafficserver/src/iocore/eventsystem/P_VIO.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: void::reenable_re
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 1
    functionsReached:
    - void::reenable_re
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::reenable_re()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: void::disable
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE void

      VIO::disable()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: bool::is_disabled
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE bool

      VIO::is_disabled() const'
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: get_vc_event_name
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      get_vc_event_name(int event)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: VConnection::~VConnection()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE VConnection::~VConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h:74,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h:77,1
    - Dst: VConnection*::do_io_write
      Src: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - vc
    - cont
    - nbytes
    - buf
    - offset
    argTypes:
    - VConnection*
    - Continuation*
    - int64_t
    - MIOBuffer*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: vc_do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 0
    functionsReached:
    - IOBufferReader*::consume
    - VConnection*::do_io_write
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      vc_do_io_write(VConnection *vc, Continuation *cont, int64_t nbytes, MIOBuffer
      *buf, int64_t offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: VConnection::set_continuation
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE VConnection::set_continuation(VIO *, Continuation *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: VConnection::reenable
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE VConnection::reenable(VIO *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VConnection::reenable
      Src: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: VConnection::reenable_re
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_VConnection.h
    functionUses: 0
    functionsReached:
    - VConnection::reenable
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE VConnection::reenable_re(VIO *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:38,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:40,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: EventProcessor::allocate
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_atomic_cas
    - INK_ALIGN
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE EventProcessor::allocate(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - etype
    argTypes:
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: EventProcessor::assign_thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::assign_thread(EventType etype)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:79,1
    - Dst: Continuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:80,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:81,1
    - Dst: EventProcessor::assign_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:82,1
    - Dst: Continuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:86,1
    - Dst: Continuation*::setThreadAffinity
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - etype
    argTypes:
    - Continuation*
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: EventProcessor::assign_affinity_by_type
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - Continuation*::setThreadAffinity
    - EventProcessor::assign_thread
    - EThread*::is_event_type
    - Continuation*::getThreadAffinity
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::assign_affinity_by_type(Continuation *cont, EventType etype)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:96,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:98,1
    - Dst: Event*::continuation::getThreadAffinity
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:102,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:103,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:104,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:108,1
    - Dst: EventProcessor::assign_thread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:111,1
    - Dst: Event*::continuation::setThreadAffinity
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:114,1
    - Dst: Event*::ethread::EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:123,1
    - Dst: Event*::ethread::EventQueueExternal::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - e
    - etype
    argTypes:
    - Event*
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: EventProcessor::schedule
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - EThread*::is_event_type
    - EventProcessor::assign_thread
    - TSSystemState::is_event_system_shut_down
    - Event*::ethread::EventQueueExternal::enqueue_local
    - Event*::continuation::setThreadAffinity
    - this_ethread
    - Event*::continuation::getThreadAffinity
    - ink_assert
    - Event*::ethread::EventQueueExternal::enqueue
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::schedule(Event *e, EventType etype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:134,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:136,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:138,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:142,1
    - Dst: EventProcessor::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:147,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - et
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: EventProcessor::schedule_imm
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Event*::set_location
    - Event*::init
    - alloc
    - EventProcessor::schedule
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::schedule_imm(Continuation *cont, EventType et, int callback_event,
      void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:153,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:155,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:156,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:159,1
    - Dst: EventProcessor::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:164,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - t
    - et
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: EventProcessor::schedule_at
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - Event*::set_location
    - Event*::init
    - alloc
    - EventProcessor::schedule
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::schedule_at(Continuation *cont, ink_hrtime t, EventType et,
      int callback_event, void *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:170,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:172,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:175,1
    - Dst: EventProcessor::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:180,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:180,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cont
    - t
    - et
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: EventProcessor::schedule_in
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Event*::set_location
    - Event*::init
    - alloc
    - EventProcessor::schedule
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::schedule_in(Continuation *cont, ink_hrtime t, EventType et,
      int callback_event, void *cookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:186,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:188,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:189,1
    - Dst: Event*::set_location
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:192,1
    - Dst: EventProcessor::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:198,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:198,1
    - Dst: EventProcessor::schedule
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:200,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:200,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - cont
    - t
    - et
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: EventProcessor::schedule_every
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Event*::set_location
    - Event*::init
    - alloc
    - EventProcessor::schedule
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      EventProcessor::schedule_every(Continuation *cont, ink_hrtime t, EventType et,
      int callback_event, void *cookie)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:208,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:213,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:220,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:222,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:222,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:225,1
    - Dst: Event*::init
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:227,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:227,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:230,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:233,1
    - Dst: Event*::ethread::EventQueueExternal::enqueue_local
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:236,1
    - Dst: Event*::ethread::EventQueueExternal::enqueue
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:238,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:242,1
    - Dst: reinterpret_cast<TSAction>
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - cont
    - t
    - p
    - et
    - callback_event
    - cookie
    argTypes:
    - Continuation*
    - ink_hrtime
    - ink_hrtime
    - EventType
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 246
    functionName: 'std::vector<TSAction>

      EventProcessor::schedule_entire(Continuation *cont, ink_hrtime t, ink_hrtime
      p, EventType et, int callback_event, void *cookie)'
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEventProcessor.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - reinterpret_cast<TSAction>
    - Event*::init
    - std::vector::push_back
    - new_ProxyMutex
    - Event*::ethread::EventQueueExternal::enqueue_local
    - alloc
    - this_ethread
    - ink_assert
    - Event*::ethread::EventQueueExternal::enqueue
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE std::vector<TSAction>

      EventProcessor::schedule_entire(Continuation *cont, ink_hrtime t, ink_hrtime
      p, EventType et, int callback_event, void *cookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:35,1
    - Dst: Allocator::alloc_void
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - l
    argTypes:
    - Allocator
    - ProxyAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: thread_alloc
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc
    functionUses: 0
    functionsReached:
    - Allocator::alloc_void
    - static_cast<void **>
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_alloc(Allocator &a, ProxyAllocator &l)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:50,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:55,1
    - Dst: Allocator::free_void
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:56,1
    - Dst: Allocator::free_void_bulk
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:58,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - a
    - l
    argTypes:
    - Allocator
    - ProxyAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: thread_freeup
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/ProxyAllocator.cc
    functionUses: 0
    functionsReached:
    - Allocator::free_void
    - Allocator::free_void_bulk
    - unlikely
    - static_cast<void **>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void thread_freeup(Allocator &a, ProxyAllocator &l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - atimeout_at
    - aperiod
    argTypes:
    - Continuation*
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Event::init
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      Event::init(Continuation *c, ink_hrtime atimeout_at, ink_hrtime aperiod)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Event::free
      Src: /src/trafficserver/src/iocore/eventsystem/P_UnixEvent.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Event::free
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_UnixEvent.h
    functionUses: 1
    functionsReached:
    - Event::free
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE Event::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Thread::set_specific
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_Thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE Thread::set_specific()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: this_thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/P_Thread.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      this_thread()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:55,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:58,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:59,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: RecProcess_set_raw_stat_sync_interval_ms
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - schedule_every
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void RecProcess_set_raw_stat_sync_interval_ms(int ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:65,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:68,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:69,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: RecProcess_set_config_update_interval_ms
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - schedule_every
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void RecProcess_set_config_update_interval_ms(int ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:75,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:78,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:79,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: RecProcess_set_remote_sync_interval_ms
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - schedule_every
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void RecProcess_set_remote_sync_interval_ms(int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: raw_stat_sync_cont
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void raw_stat_sync_cont(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecExecRawStatSyncCbs
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:92,1
    - Dst: ts::Metrics::Derived::update_derived
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: exec_callbacks
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - RecExecRawStatSyncCbs
    - Dbg
    - ts::Metrics::Derived::update_derived
    linkageType: ''
    returnType: int
    signature: int exec_callbacks(int /* event */, Event * /* e */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: config_update_cont
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void config_update_cont(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecExecConfigUpdateCbs
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: exec_callbacks
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - RecExecConfigUpdateCbs
    - Dbg
    linkageType: ''
    returnType: int
    signature: int exec_callbacks(int /* event */, Event * /* e */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:124,1
    - Dst: std::make_unique<TextBuffer>
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: sync_cont
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - std::make_unique<TextBuffer>
    linkageType: ''
    returnType: void
    signature: void sync_cont(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~sync_cont() override
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~sync_cont() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecSyncStatsFile
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:133,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: sync
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 5
    functionsReached:
    - RecSyncStatsFile
    - Dbg
    linkageType: ''
    returnType: int
    signature: int sync(int /* event */, Event * /* e */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetupRecRawStatBlockAllocator
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:151,1
    - Dst: RecCoreInit
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - _diags
    argTypes:
    - Diags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: RecProcessInit
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 5
    functionsReached:
    - SetupRecRawStatBlockAllocator
    - RecCoreInit
    linkageType: ''
    returnType: int
    signature: int RecProcessInit(Diags *_diags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:176,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:177,1
    - Dst: raw_stat_sync_cont::raw_stat_sync_cont
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:178,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:179,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:179,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:181,1
    - Dst: config_update_cont::config_update_cont
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:181,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:182,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:183,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:183,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:185,1
    - Dst: sync_cont::sync_cont
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:186,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:187,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: RecProcessStart
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecProcess.cc
    functionUses: 1
    functionsReached:
    - schedule_every
    - HRTIME_MSECONDS
    - new_ProxyMutex
    - Dbg
    - config_update_cont::config_update_cont
    - raw_stat_sync_cont::raw_stat_sync_cont
    - sync_cont::sync_cont
    linkageType: ''
    returnType: int
    signature: int RecProcessStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Processor::Processor
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Processor::Processor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Processor::~Processor()
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Processor::~Processor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/eventsystem/Processor.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Processor::create_thread
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Processor.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: Thread
    signature: 'Thread *

      Processor::create_thread(int /* thread_index */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Processor::get_thread_count
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/Processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Processor::get_thread_count()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:53,1
    - Dst: static_cast<RecRawStatBlock *>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:58,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:58,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:59,1
    - Dst: static_cast<RecRawStat **>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:61,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:61,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:62,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - num_stats
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: RecAllocateRawStatBlockImpl
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<RecRawStat **>
    - allocate
    - static_cast<RecRawStatBlock *>
    - ats_malloc
    - ink_mutex_init
    linkageType: ''
    returnType: RecRawStatBlock
    signature: 'RecRawStatBlock *

      RecAllocateRawStatBlockImpl(int num_stats)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetRecAllocateRawStatBlockAllocator
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: SetupRecRawStatBlockAllocator
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 1
    functionsReached:
    - SetRecAllocateRawStatBlockAllocator
    linkageType: ''
    returnType: void
    signature: void SetupRecRawStatBlockAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RecRawStat *>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:84,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - et
    - rsb
    - id
    argTypes:
    - EThread*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: thread_stat
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RecRawStat *>
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: RecRawStat
    signature: 'RecRawStat *

      thread_stat(EThread *et, RecRawStatBlock *rsb, int id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_ethreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:98,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:99,1
    - Dst: active_dthreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:104,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - rsb
    - id
    - total
    argTypes:
    - RecRawStatBlock*
    - int
    - RecRawStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: RecRawStatBlockOpsImpl::raw_stat_get_total
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - active_dthreads
    - active_ethreads
    - thread_stat
    linkageType: ''
    returnType: int
    signature: int RecRawStatBlockOpsImpl::raw_stat_get_total(RecRawStatBlock *rsb,
      int id, RecRawStat *total)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_ethreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:129,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:130,1
    - Dst: active_dthreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:135,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:136,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:155,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:156,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:159,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 164
    functionName: RecRawStatBlockOpsImpl::raw_stat_sync_to_global
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - active_ethreads
    - ink_atomic_increment
    - active_dthreads
    - ink_atomic_swap
    - thread_stat
    linkageType: ''
    returnType: int
    signature: int RecRawStatBlockOpsImpl::raw_stat_sync_to_global(RecRawStatBlock
      *rsb, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:172,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:178,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:178,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:179,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:179,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:180,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:180,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:181,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:181,1
    - Dst: active_ethreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:184,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:185,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:186,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:186,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:187,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:187,1
    - Dst: active_dthreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:190,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:191,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:192,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:192,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:193,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: RecRawStatBlockOpsImpl::raw_stat_clear
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - active_ethreads
    - Dbg
    - active_dthreads
    - static_cast<int64_t>
    - ink_atomic_swap
    - thread_stat
    linkageType: ''
    returnType: int
    signature: int RecRawStatBlockOpsImpl::raw_stat_clear(RecRawStatBlock *rsb, int
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:205,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:211,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:211,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:212,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:212,1
    - Dst: active_ethreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:216,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:217,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:218,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:218,1
    - Dst: active_dthreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:221,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:222,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:223,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: RecRawStatBlockOpsImpl::raw_stat_clear_sum
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - active_ethreads
    - Dbg
    - active_dthreads
    - static_cast<int64_t>
    - ink_atomic_swap
    - thread_stat
    linkageType: ''
    returnType: int
    signature: int RecRawStatBlockOpsImpl::raw_stat_clear_sum(RecRawStatBlock *rsb,
      int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:235,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:241,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:241,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:242,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:242,1
    - Dst: active_ethreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:246,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:247,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:248,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:248,1
    - Dst: active_dthreads
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:251,1
    - Dst: thread_stat
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:252,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:253,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 257
    functionName: RecRawStatBlockOpsImpl::raw_stat_clear_count
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/RecRawStatsImpl.cc
    functionUses: 0
    functionsReached:
    - active_ethreads
    - Dbg
    - active_dthreads
    - static_cast<int64_t>
    - ink_atomic_swap
    - thread_stat
    linkageType: ''
    returnType: int
    signature: int RecRawStatBlockOpsImpl::raw_stat_clear_count(RecRawStatBlock *rsb,
      int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: IOBufferBlock::write_avail
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t IOBufferBlock::write_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: IOBufferBlock::end
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      IOBufferBlock::end()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:73,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:76,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:76,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - len
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: IOBufferBlock::fill
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void IOBufferBlock::fill(int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:91,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: MIOBuffer::first_write_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: IOBufferBlock
    signature: 'IOBufferBlock *

      MIOBuffer::first_write_block()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:105,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: MIOBuffer::add_block
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void MIOBuffer::add_block()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - numBytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: genData
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string genData(int numBytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: genData
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:134,1
    - Dst: MIOBufferWriter::write
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:138,1
    - Dst: MIOBufferWriter::aux_span
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:140,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:142,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:142,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:143,1
    - Dst: MIOBufferWriter::commit
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:144,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:144,1
    - Dst: swoc::MemSpan::clip_suffix
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:146,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:146,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:146,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:147,1
    - Dst: MIOBufferWriter::commit
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:148,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:148,1
    - Dst: MIOBufferWriter::write
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:149,1
    - Dst: MIOBufferWriter::write
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:152,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:157,1
    - Dst: MIOBufferWriter::aux_span
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bw
    - len
    argTypes:
    - MIOBufferWriter
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: writeOnce
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - swoc::MemSpan::size
    - MIOBufferWriter::write
    - genData
    - auto::size
    - REQUIRE
    - swoc::MemSpan::clip_suffix
    - MIOBufferWriter::commit
    - MIOBufferWriter::aux_span
    linkageType: ''
    returnType: void
    signature: void writeOnce(MIOBufferWriter &bw, std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InkAssertExcept
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: _ink_assert
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_MIOBufferWriter.cc
    functionUses: 2
    functionsReached:
    - InkAssertExcept
    linkageType: ''
    returnType: void
    signature: void _ink_assert(const char * /* a ATS_UNUSED */, const char * /* f
      ATS_UNUSED */, int /* l ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: alarm_printer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void alarm_printer(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:47,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:49,1
    - Dst: std::printf
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: dummy_function
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - this_ethread
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: int dummy_function(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: process_killer
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void process_killer(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:62,1
    - Dst: std::printf
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:63,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:65,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:66,1
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: kill_function
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - REQUIRE
    - TSSystemState::shut_down_event_system
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int kill_function(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:90,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:91,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:92,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:94,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:95,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:97,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_EventSystem.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:384,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:385,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:386,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:388,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:390,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:391,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:393,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - LibRecordsConfigInit
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/Server.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Server
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.h
    functionUses: 1
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void Server()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/Net.cc:49,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Net.cc:50,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/Net.cc:52,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/Net.cc:53,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Net.cc:56,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Net.cc:57,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/Net.cc:59,1
    - Dst: auto::value
      Src: /src/trafficserver/src/iocore/net/Net.cc:59,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/Net.cc:60,1
    - Dst: auto::value
      Src: /src/trafficserver/src/iocore/net/Net.cc:60,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/Net.cc:63,1
    - Dst: auto::value
      Src: /src/trafficserver/src/iocore/net/Net.cc:63,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/Net.cc:64,1
    - Dst: auto::value
      Src: /src/trafficserver/src/iocore/net/Net.cc:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: configure_net
    functionSourceFile: /src/trafficserver/src/iocore/net/Net.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - auto::value
    - RecGetRecordStringAlloc
    - RecEstablishStaticConfigInt32
    - std::move
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void configure_net()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:71,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:72,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:73,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:74,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:75,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:76,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:77,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:78,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:79,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:81,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:82,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:84,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:86,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:88,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:90,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:92,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:94,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:96,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:98,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:100,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:102,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:104,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:106,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:107,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:108,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:109,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:110,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:111,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:112,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:113,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:115,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:116,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:117,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:118,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:119,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:120,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:121,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:122,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:123,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:124,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:125,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:126,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/Net.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 128
    functionName: register_net_stats
    functionSourceFile: /src/trafficserver/src/iocore/net/Net.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::createPtr
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void register_net_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/Net.cc:135,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/net/Net.cc:135,1
    - Dst: configure_net
      Src: /src/trafficserver/src/iocore/net/Net.cc:138,1
    - Dst: register_net_stats
      Src: /src/trafficserver/src/iocore/net/Net.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - version
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: ink_net_init
    functionSourceFile: /src/trafficserver/src/iocore/net/Net.cc
    functionUses: 1
    functionsReached:
    - ts::ModuleVersion::check
    - ink_release_assert
    - register_net_stats
    - configure_net
    linkageType: ''
    returnType: void
    signature: void ink_net_init(ts::ModuleVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - l
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: CRYPTO_dynlock_value
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDynlock.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void CRYPTO_dynlock_value(const char *f, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~CRYPTO_dynlock_value()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDynlock.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ~CRYPTO_dynlock_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:46,1
    - Dst: CRYPTO_dynlock_value::CRYPTO_dynlock_value
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ssl_dyn_create_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDynlock.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CRYPTO_dynlock_value::CRYPTO_dynlock_value
    linkageType: ''
    returnType: struct CRYPTO_dynlock_value
    signature: 'struct CRYPTO_dynlock_value *

      ssl_dyn_create_callback(const char *file, int line)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:57,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:60,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:62,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:64,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mode
    - value
    - file
    - line
    argTypes:
    - int
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: ssl_dyn_lock_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDynlock.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - Dbg
    - ink_release_assert
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void ssl_dyn_lock_callback(int mode, struct CRYPTO_dynlock_value *value,
      const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDynlock.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - value
    - file
    - line
    argTypes:
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ssl_dyn_destroy_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDynlock.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ssl_dyn_destroy_callback(struct CRYPTO_dynlock_value *value, const
      char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:94,1
    - Dst: SSLConfigParams::reset
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: SSLConfigParams::SSLConfigParams
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - SSLConfigParams::reset
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::SSLConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfigParams::cleanup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:100,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: SSLConfigParams::~SSLConfigParams()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - SSLConfigParams::cleanup
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::~SSLConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - swoc::IPRangeSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: SSLConfigInit
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLConfigInit(swoc::IPRangeSet *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: SSLConfigParams::reset
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:141,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:141,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:142,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:142,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:143,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:143,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:144,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:144,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:145,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:145,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:146,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:146,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:147,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:147,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:148,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:148,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:149,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:149,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:150,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:150,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:151,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:151,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:152,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:152,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:153,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:153,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:154,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:154,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:155,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:155,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:157,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:157,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:159,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:159,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:160,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:160,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:161,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:161,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:162,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:162,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:163,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:163,1
    - Dst: SSLConfigParams::cleanupCTXTable
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:165,1
    - Dst: SSLConfigParams::reset
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: SSLConfigParams::cleanup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - ats_free_null
    - SSLConfigParams::reset
    - SSLConfigParams::cleanupCTXTable
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::cleanup()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:182,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:182,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:182,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:184,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:184,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:186,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:191,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - path
    - filename
    - final_path
    - final_filename
    argTypes:
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: set_paths_helper
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - ats_stringdup
    - Layout::get
    - ats_strdup
    - RecConfigReadConfigDir
    linkageType: ''
    returnType: void
    signature: void set_paths_helper(const char *path, const char *filename, char
      **final_path, char **final_filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:199,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:202,1
    - Dst: SSLConfigParams*::SetServerPolicy
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:203,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: UpdateServerPolicy
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - SSLConfig::acquire
    - SSLConfigParams*::SetServerPolicy
    linkageType: ''
    returnType: int
    signature: "int UpdateServerPolicy(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData data,\n                   void * /* cookie
      ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:214,1
    - Dst: SSLConfigParams*::SetServerPolicyProperties
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: UpdateServerPolicyProperties
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - SSLConfigParams*::SetServerPolicyProperties
    - SSLConfig::acquire
    linkageType: ''
    returnType: int
    signature: "int UpdateServerPolicyProperties(const char * /* name ATS_UNUSED */,
      RecDataT /* data_type ATS_UNUSED */, RecData data,\n                             void
      * /* cookie ATS_UNUSED */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:225,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:227,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:229,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:231,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - verify_server
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: SSLConfigParams::SetServerPolicyProperties
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - Warning
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::SetServerPolicyProperties(const char *verify_server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:244,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:246,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:248,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - verify_server
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: SSLConfigParams::SetServerPolicy
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - Warning
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::SetServerPolicy(const char *verify_server)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfigParams::cleanup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:261,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:266,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:267,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:268,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:270,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:271,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:273,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:274,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:276,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:277,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:280,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:280,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:284,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:285,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:287,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:292,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:296,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:301,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:305,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:309,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:314,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:318,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:324,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:325,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:327,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:332,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:336,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:341,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:345,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:349,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:354,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:358,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:366,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:367,1
    - Dst: convert_alpn_to_wire_format
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:372,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:373,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:377,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:384,1
    - Dst: sk_SSL_COMP_zero
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:394,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:394,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:419,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:420,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:423,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:425,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:426,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:430,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:431,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:432,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:435,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:435,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:436,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:439,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:440,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:441,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:445,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:446,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:447,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:448,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:449,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:453,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:454,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:455,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:456,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:457,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:459,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:460,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:461,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:466,1
    - Dst: ceil
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:466,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:466,1
    - Dst: SSLSessionCache::SSLSessionCache
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:471,1
    - Dst: SSLOriginSessionCache::SSLOriginSessionCache
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:475,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:479,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:482,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:483,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:484,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:485,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:486,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:488,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:489,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:490,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:492,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:493,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:496,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:498,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:499,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:500,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:503,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:504,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:511,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:512,1
    - Dst: SSLConfigParams::SetServerPolicy
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:513,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:515,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:518,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:519,1
    - Dst: SSLConfigParams::SetServerPolicyProperties
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:520,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:523,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:526,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:527,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:528,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:529,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:530,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:531,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:535,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:536,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:537,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:538,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:539,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:543,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:544,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:545,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:546,1
    - Dst: set_paths_helper
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:547,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:550,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:551,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:554,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:555,1
    - Dst: TLSKeyLogger::disable_keylogging
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:558,1
    - Dst: TLSKeyLogger::enable_keylogging
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:560,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:563,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:566,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:570,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:572,1
    - Dst: SSLConfigParams::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:577,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:583,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:585,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 587
    functionName: SSLConfigParams::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - TLSKeyLogger::disable_keylogging
    - RecConfigReadConfigPath
    - SSLError
    - sk_SSL_COMP_zero
    - static_cast<double>
    - RecEstablishStaticConfigInt32
    - ats_as_c_str
    - RecGetRecordInt
    - ats_free
    - SSLConfigParams::cleanup
    - RecRegisterConfigUpdateCb
    - SSLConfigParams::getCTX
    - SSLOriginSessionCache::SSLOriginSessionCache
    - SSLConfigParams::SetServerPolicyProperties
    - max
    - convert_alpn_to_wire_format
    - SSLConfigParams::SetServerPolicy
    - SSL_COMP_get_compression_methods
    - Warning
    - TLSKeyLogger::enable_keylogging
    - RecGetRecordStringAlloc
    - Error
    - static_cast<size_t>
    - ceil
    - set_paths_helper
    - SSLSessionCache::SSLSessionCache
    - ats_stringdup
    - Emergency
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: SSLConfigParams::getClientSSL_CTX
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX SSLConfigParams::getClientSSL_CTX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: SSLConfig::get_config_index
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSLConfig::get_config_index()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: SSLConfig::get_loading_config_index
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSLConfig::get_loading_config_index()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:611,1
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:613,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:615,1
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: SSLConfig::commit_config_id
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - SSLConfig::get_loading_config_index
    - set
    linkageType: ''
    returnType: void
    signature: void SSLConfig::commit_config_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: SSLConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - SSLConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void SSLConfig::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:628,1
    - Dst: SSLConfigParams::SSLConfigParams
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:630,1
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:632,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:633,1
    - Dst: SSLConfigParams*::initialize
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:634,1
    - Dst: SSLConfig::commit_config_id
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 637
    functionName: SSLConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - SSLConfig::commit_config_id
    - SSLConfigParams*::initialize
    - Dbg
    - set
    - SSLConfig::get_loading_config_index
    - SSLConfigParams::SSLConfigParams
    linkageType: ''
    returnType: void
    signature: void SSLConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:642,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:642,1
    - Dst: SSLConfig::get_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: SSLConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 9
    functionsReached:
    - get
    - static_cast<SSLConfigParams *>
    - SSLConfig::get_config_index
    linkageType: ''
    returnType: SSLConfigParams
    signature: 'SSLConfigParams *

      SSLConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:648,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:648,1
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: SSLConfig::load_acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - get
    - static_cast<SSLConfigParams *>
    - SSLConfig::get_loading_config_index
    linkageType: ''
    returnType: SSLConfigParams
    signature: 'SSLConfigParams *

      SSLConfig::load_acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:654,1
    - Dst: SSLConfig::get_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - SSLConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: SSLConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 7
    functionsReached:
    - SSLConfig::get_config_index
    - SSLConfig::release
    linkageType: ''
    returnType: void
    signature: void SSLConfig::release(SSLConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:660,1
    - Dst: SSLConfig::get_loading_config_index
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - SSLConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: SSLConfig::load_release
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - SSLConfig::get_loading_config_index
    - SSLConfig::release
    linkageType: ''
    returnType: void
    signature: void SSLConfig::load_release(SSLConfigParams *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertificateConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:669,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: SSLCertificateConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::reconfigure
    - Emergency
    linkageType: ''
    returnType: bool
    signature: bool SSLCertificateConfig::startup()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::SSLCertLookup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:681,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:685,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:687,1
    - Dst: ink_hrtime_sleep
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:688,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:688,1
    - Dst: SSLMultiCertConfigLoader
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:691,1
    - Dst: auto::has_severity
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:692,1
    - Dst: auto::severity
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:692,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:699,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:704,1
    - Dst: auto::assign_annotation_glue_text
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:705,1
    - Dst: auto::assign_severity_glue_text
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:706,1
    - Dst: bwprint
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:707,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:713,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:713,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:715,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 719
    functionName: SSLCertificateConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - auto::severity
    - auto::assign_annotation_glue_text
    - auto::empty
    - HRTIME_SECONDS
    - SSLMultiCertConfigLoader
    - auto::assign_severity_glue_text
    - Error
    - Dbg
    - c_str
    - SSLCertLookup::SSLCertLookup
    - bwprint
    - set
    - is_action_tag_set
    - Note
    - ink_hrtime_sleep
    - auto::has_severity
    linkageType: ''
    returnType: bool
    signature: bool SSLCertificateConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLCertLookup *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:724,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: SSLCertificateConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - static_cast<SSLCertLookup *>
    - get
    linkageType: ''
    returnType: SSLCertLookup
    signature: 'SSLCertLookup *

      SSLCertificateConfig::acquire()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertificateConfig::release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - SSLCertLookup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: SSLCertificateConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 3
    functionsReached:
    - SSLCertificateConfig::release
    linkageType: ''
    returnType: void
    signature: void SSLCertificateConfig::release(SSLCertLookup *lookup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLTicketParams::cleanup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:739,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:757,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:760,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:761,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:762,1
    - Dst: stat
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:765,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:767,1
    - Dst: ssl_create_ticket_keyblock
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:773,1
    - Dst: ssl_create_ticket_keyblock
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:777,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:783,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:787,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:789,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - nochange
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 736
    functionDepth: 5
    functionLinenumber: 736
    functionLinenumberEnd: 792
    functionName: SSLTicketParams::LoadTicket
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - stat
    - Error
    - Dbg
    - ssl_create_ticket_keyblock
    - SSLTicketParams::cleanup
    - ats_stringdup
    - RecGetRecordInt
    - Layout::relative_to
    - time
    linkageType: ''
    returnType: bool
    signature: bool SSLTicketParams::LoadTicket(bool &nochange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLTicketParams::cleanup
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:797,1
    - Dst: ticket_block_create
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:800,1
    - Dst: ssl_create_ticket_keyblock
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:802,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ticket_data
    - ticket_data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 811
    functionName: SSLTicketParams::LoadTicketData
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - ssl_create_ticket_keyblock
    - SSLTicketParams::cleanup
    - ticket_block_create
    - time
    linkageType: ''
    returnType: bool
    signature: bool SSLTicketParams::LoadTicketData(char *ticket_data, int ticket_data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:816,1
    - Dst: ConfigUpdateHandler<SSLTicketKeyConfig>::ConfigUpdateHandler<SSLTicketKeyConfig>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:816,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:818,1
    - Dst: SSLTicketKeyConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:820,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: SSLTicketKeyConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - reset
    - attach
    - Fatal
    - ConfigUpdateHandler<SSLTicketKeyConfig>::ConfigUpdateHandler<SSLTicketKeyConfig>
    - SSLTicketKeyConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void SSLTicketKeyConfig::startup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLTicketParams::SSLTicketParams
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:828,1
    - Dst: SSLTicketParams*::LoadTicket
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:832,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 844
    functionName: SSLTicketKeyConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - SSLTicketParams*::LoadTicket
    - SSLTicketParams::SSLTicketParams
    - set
    linkageType: ''
    returnType: bool
    signature: bool SSLTicketKeyConfig::reconfigure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLTicketParams::SSLTicketParams
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:849,1
    - Dst: SSLTicketParams*::LoadTicketData
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:851,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ticket_data
    - ticket_data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 858
    functionName: SSLTicketKeyConfig::reconfigure_data
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - set
    - SSLTicketParams::SSLTicketParams
    - SSLTicketParams*::LoadTicketData
    linkageType: ''
    returnType: bool
    signature: bool SSLTicketKeyConfig::reconfigure_data(char *ticket_data, int ticket_data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ticket_block_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:863,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:864,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: SSLTicketParams::cleanup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - ats_free_null
    - static_cast<char *>
    - ticket_block_free
    linkageType: ''
    returnType: void
    signature: void SSLTicketParams::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_close
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:872,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - biop
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: cleanup_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_set_close
    linkageType: ''
    returnType: void
    signature: void cleanup_bio(BIO *&biop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:881,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:881,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:887,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:887,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:888,1
    - Dst: static_cast<std::size_t>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:892,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:892,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:893,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:894,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:900,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:900,1
    - Dst: SSLConfigParams::clearCTX
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:901,1
    - Dst: SSLMultiCertConfigLoader::update_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - cert_secret_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 908
    functionName: SSLConfigParams::updateCTX
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    - static_cast<int>
    - 'on'
    - SSLMultiCertConfigLoader::update_ssl_ctx
    - std::string::size
    - DbgPrint
    - Dbg
    - compare_exchange_strong
    - SSLConfigParams::clearCTX
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::updateCTX(const std::string &cert_secret_name)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:913,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:914,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:914,1
    - Dst: auto::second::find
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:915,1
    - Dst: auto::second::end
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:916,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:918,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:918,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:918,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - client_cert
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 922
    functionName: SSLConfigParams::clearCTX
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - begin
    - auto::first::c_str
    - auto::second::find
    - auto::second::end
    - end
    - Dbg
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::clearCTX(const std::string &client_cert) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfigParams::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:927,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:927,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - client_cert
    - key_file
    - ca_bundle_file
    - ca_bundle_path
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: SSLConfigParams::getCTX
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - SSLConfigParams::getCTX
    - std::string
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX SSLConfigParams::getCTX(const char *client_cert, const
      char *key_file, const char *ca_bundle_file, const char *ca_bundle_path) const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:938,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:940,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:940,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:940,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:942,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:943,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:944,1
    - Dst: auto::second::find
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:945,1
    - Dst: auto::second::end
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:946,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:950,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:957,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:957,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:957,1
    - Dst: shared_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:958,1
    - Dst: SSLInitClientContext
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:958,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:963,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:966,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:971,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:972,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:972,1
    - Dst: getOrLoadSecret
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:973,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:974,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:975,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:975,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:979,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:979,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:979,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:981,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:983,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:983,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:986,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:986,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:987,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:987,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:990,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:993,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:995,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:995,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:996,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:996,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1001,1
    - Dst: cleanup_bio
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1004,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1006,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1010,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1011,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1011,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1011,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1013,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1013,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1013,1
    - Dst: SSL_CTX_get_default_passwd_cb
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1016,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1016,1
    - Dst: SSL_CTX_get_default_passwd_cb_userdata
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1017,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1017,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1018,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1020,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1020,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1023,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1023,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1024,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1024,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1027,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1030,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1030,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1031,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1031,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1032,1
    - Dst: cleanup_bio
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1035,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1040,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1040,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1041,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1044,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1044,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1045,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1050,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1051,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1052,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1057,1
    - Dst: cleanup_bio
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1063,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1066,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1069,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 103
    argCount: 4
    argNames:
    - client_cert
    - key_file
    - ca_bundle_file
    - ca_bundle_path
    argTypes:
    - std::string
    - std::string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 1072
    functionName: SSLConfigParams::getCTX
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 2
    functionsReached:
    - SSLError
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    - std::string::data
    - auto::second::end
    - X509_free
    - RecGetRecordInt
    - EVP_PKEY_free
    - shared_SSL_CTX
    - auto::second::find
    - SSL_CTX_use_PrivateKey
    - std::string::empty
    - SSL_CTX_load_verify_locations
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    - cleanup_bio
    - SSL_CTX_get_default_passwd_cb_userdata
    - shared_SSL_CTX::get
    - SSLInitClientContext
    - find
    - end
    - Dbg
    - ink_mutex_release
    - Layout::get
    - PEM_read_bio_PrivateKey
    - SSL_CTX_set_default_verify_paths
    - std::string::size
    - SSL_CTX_get_default_passwd_cb
    - SSL_CTX_check_private_key
    - c_str
    - SSL_CTX_add_extra_chain_cert
    - ink_mutex_acquire
    - getOrLoadSecret
    - SSL_CTX_use_certificate
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: "shared_SSL_CTX SSLConfigParams::getCTX(const std::string &client_cert,
      const std::string &key_file, const char *ca_bundle_file,\n                        const
      char *ca_bundle_path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1077,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1078,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLConfig.cc:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1080
    functionName: SSLConfigParams::cleanupCTXTable
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLConfig.cc
    functionUses: 1
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    - clear
    linkageType: ''
    returnType: void
    signature: void SSLConfigParams::cleanupCTXTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::get_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:118,1
    - Dst: SSLNetVConnection::_record_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: SSLNetVConnection::trackFirstHandshake
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::_record_tls_handshake_begin_time
    - SSLNetVConnection::get_tls_handshake_begin_time
    linkageType: ''
    returnType: bool
    signature: bool trackFirstHandshake() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: SSLNetVConnection::getSSLHandShakeComplete
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSSLHandShakeComplete() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SSLHandshakeStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: SSLNetVConnection::setSSLHandShakeComplete
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSSLHandShakeComplete(SSLHandshakeStatus state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~SSLNetVConnection() override
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLNetVConnection() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: SSLNetVConnection::getSSLClientRenegotiationAbort
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSSLClientRenegotiationAbort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: SSLNetVConnection::setSSLClientRenegotiationAbort
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSSLClientRenegotiationAbort(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: SSLNetVConnection::getTransparentPassThrough
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getTransparentPassThrough() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: SSLNetVConnection::setTransparentPassThrough
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTransparentPassThrough(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: SSLNetVConnection::getAllowPlain
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getAllowPlain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: SSLNetVConnection::setAllowPlain
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAllowPlain(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:215,1
    - Dst: SSLNetVConnection::handShakeBuffer::alloc_reader
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:216,1
    - Dst: SSLNetVConnection::handShakeReader::clone
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: SSLNetVConnection::initialize_handshake_buffers
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - SSLNetVConnection::handShakeBuffer::alloc_reader
    - SSLNetVConnection::handShakeReader::clone
    linkageType: ''
    returnType: void
    signature: void initialize_handshake_buffers()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::handShakeReader::dealloc
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:226,1
    - Dst: SSLNetVConnection::handShakeHolder::dealloc
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:229,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:232,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: SSLNetVConnection::free_handshake_buffers
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - ats_free
    - SSLNetVConnection::handShakeReader::dealloc
    - free_MIOBuffer
    - SSLNetVConnection::handShakeHolder::dealloc
    linkageType: ''
    returnType: void
    signature: void free_handshake_buffers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: SSLNetVConnection::SSLNetVConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection(const SSLNetVConnection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: '&operator=(const SSLNetVConnection &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNetVConnection
    signature: SSLNetVConnection &operator=(const SSLNetVConnection &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:274,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:276,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: SSLNetVConnection::peer_provided_cert
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - SSL_get1_peer_certificate
    - SSL_get_peer_certificate
    - X509_free
    linkageType: ''
    returnType: bool
    signature: bool peer_provided_cert() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::get_context
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: SSLNetVConnection::provided_cert
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::get_context
    linkageType: ''
    returnType: int
    signature: int provided_cert() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - send_the_cert
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: SSLNetVConnection::set_sent_cert
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sent_cert(int send_the_cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: SSLNetVConnection::get_ca_cert_file
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: char
    signature: "char *\n  get_ca_cert_file()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: SSLNetVConnection::get_ca_cert_dir
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: char
    signature: "char *\n  get_ca_cert_dir()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: SSLNetVConnection::_get_ssl_object
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: "SSL *\n  _get_ssl_object() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: "&\n  _getLocalEndpoint() override"
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: "IpEndpoint &\n  _getLocalEndpoint() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: SSLNetVConnection::_is_tunneling_requested
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _is_tunneling_requested() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: SSLNetVConnection::_switch_to_tunneling_mode
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _switch_to_tunneling_mode() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:33,1
    - Dst: CBS_get_u16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cbs
    - n
    argTypes:
    - CBS
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: BoringSSLUtils::cbsContainsU16
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 0
    functionsReached:
    - CBS_get_u16
    - CBS_len
    linkageType: ''
    returnType: bool
    signature: bool cbsContainsU16(CBS &cbs, uint16_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_cipher_by_value
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:49,1
    - Dst: SSL_CIPHER_get_min_version
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:54,1
    - Dst: SSL_CIPHER_get_auth_nid
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:57,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:60,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:61,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - cipher_id
    - client_version
    argTypes:
    - SSL_CTX*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: BoringSSLUtils::isCipherEnabled
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_id
    - SSL_CTX_get_ciphers
    - SSL_CIPHER_get_min_version
    - SSL_get_cipher_by_value
    - SSL_CIPHER_get_auth_nid
    linkageType: ''
    returnType: bool
    signature: bool isCipherEnabled(SSL_CTX *ctx, uint16_t cipher_id, uint16_t client_version)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:72,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:82,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:86,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:89,1
    - Dst: CBS_get_u16_length_prefixed
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:90,1
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:91,1
    - Dst: BoringSSLUtils::cbsContainsU16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:94,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:107,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:112,1
    - Dst: BoringSSLUtils::cbsContainsU16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:115,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:121,1
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:123,1
    - Dst: CBS_get_u16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:125,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:129,1
    - Dst: BoringSSLUtils::isCipherEnabled
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - ssl_client_hello
    argTypes:
    - SSL_CLIENT_HELLO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 135
    functionName: BoringSSLUtils::isClientEcdsaCapable
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 0
    functionsReached:
    - CBS_get_u16
    - BoringSSLUtils::cbsContainsU16
    - SSL_get_SSL_CTX
    - BoringSSLUtils::isCipherEnabled
    - SSL_early_callback_ctx_extension_get
    - CBS_init
    - CBS_get_u16_length_prefixed
    - CBS_len
    linkageType: ''
    returnType: bool
    signature: bool isClientEcdsaCapable(const SSL_CLIENT_HELLO *ssl_client_hello)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:33,1
    - Dst: CBS_get_u16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cbs
    - n
    argTypes:
    - CBS
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: BoringSSLUtils::cbsContainsU16
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 1
    functionsReached:
    - CBS_get_u16
    - CBS_len
    linkageType: ''
    returnType: bool
    signature: bool cbsContainsU16(CBS &cbs, uint16_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_cipher_by_value
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:49,1
    - Dst: SSL_CIPHER_get_min_version
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:54,1
    - Dst: SSL_CIPHER_get_auth_nid
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:57,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:60,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:61,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - cipher_id
    - client_version
    argTypes:
    - SSL_CTX*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: BoringSSLUtils::isCipherEnabled
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CIPHER_get_id
    - SSL_CTX_get_ciphers
    - SSL_CIPHER_get_min_version
    - SSL_get_cipher_by_value
    - SSL_CIPHER_get_auth_nid
    linkageType: ''
    returnType: bool
    signature: bool isCipherEnabled(SSL_CTX *ctx, uint16_t cipher_id, uint16_t client_version)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:72,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:82,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:86,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:89,1
    - Dst: CBS_get_u16_length_prefixed
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:90,1
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:91,1
    - Dst: BoringSSLUtils::cbsContainsU16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:94,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:107,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:112,1
    - Dst: BoringSSLUtils::cbsContainsU16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:115,1
    - Dst: CBS_init
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:121,1
    - Dst: CBS_len
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:123,1
    - Dst: CBS_get_u16
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:125,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:129,1
    - Dst: BoringSSLUtils::isCipherEnabled
      Src: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - ssl_client_hello
    argTypes:
    - SSL_CLIENT_HELLO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 135
    functionName: BoringSSLUtils::isClientEcdsaCapable
    functionSourceFile: /src/trafficserver/src/iocore/net/BoringSSLUtils.cc
    functionUses: 0
    functionsReached:
    - CBS_get_u16
    - BoringSSLUtils::cbsContainsU16
    - SSL_get_SSL_CTX
    - BoringSSLUtils::isCipherEnabled
    - SSL_early_callback_ctx_extension_get
    - CBS_init
    - CBS_get_u16_length_prefixed
    - CBS_len
    linkageType: ''
    returnType: bool
    signature: bool isClientEcdsaCapable(const SSL_CLIENT_HELLO *ssl_client_hello)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: QUICClosedConCollector::QUICClosedConCollector
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void QUICClosedConCollector::QUICClosedConCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:30,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:30,1
    - Dst: QUICClosedConCollector::_process_closed_connection
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: QUICClosedConCollector::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc
    functionUses: 0
    functionsReached:
    - this_thread
    - QUICClosedConCollector::_process_closed_connection
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int QUICClosedConCollector::mainEvent(int /* event ATS_UNUSED */, Event
      * /* e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:39,1
    - Dst: Que
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:42,1
    - Dst: QUICClosedConCollector::_localClosedQueue::pop
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:44,1
    - Dst: QUICNetVConnection*::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:45,1
    - Dst: QUICNetVConnection*::destroy
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:46,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:48,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:52,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:52,1
    - Dst: QUICClosedConCollector::closedQueue::popall
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:52,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:53,1
    - Dst: QUICNetVConnection*::remove_connection_ids
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:54,1
    - Dst: QUICNetVConnection*::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:55,1
    - Dst: QUICNetVConnection*::destroy
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:56,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:58,1
    - Dst: QUICClosedConCollector::_localClosedQueue::append
      Src: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: QUICClosedConCollector::_process_closed_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICClosedConCollector.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - QUICNetVConnection*::shouldDestroy
    - QUICNetVConnection*::remove_connection_ids
    - SList
    - QUICClosedConCollector::_localClosedQueue::append
    - push
    - pop
    - Que
    - aq
    - QUICClosedConCollector::_localClosedQueue::pop
    - QUICNetVConnection*::destroy
    - QUICClosedConCollector::closedQueue::popall
    linkageType: ''
    returnType: void
    signature: void QUICClosedConCollector::_process_closed_connection(EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: BIO_eof
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_eof(b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:102,1
    - Dst: SSL_new
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:102,1
    - Dst: SSLNetVConnection::get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:104,1
    - Dst: BIO_new
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:105,1
    - Dst: const_cast<BIO_METHOD *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:105,1
    - Dst: BIO_s_fastopen
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:105,1
    - Dst: BIO_set_fd
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:106,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:106,1
    - Dst: BIO_fastopen_set_dest_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:108,1
    - Dst: SSLNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:109,1
    - Dst: static_cast<const sockaddr *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:109,1
    - Dst: SSL_set_bio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:111,1
    - Dst: SSLNetVConnection::initialize_handshake_buffers
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:113,1
    - Dst: BIO_new
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:114,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:114,1
    - Dst: BIO_new_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:115,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:115,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:116,1
    - Dst: SSL_set_bio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:117,1
    - Dst: update_early_data_config
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:120,1
    - Dst: SSLNetVConnection::_bindSSLObject
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: SSLNetVConnection::_make_ssl_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::get_context
    - SSL_new
    - BIO_set_fd
    - static_cast<const sockaddr *>
    - BIO_set_mem_eof_return
    - const_cast<BIO_METHOD *>
    - likely
    - SSLNetVConnection::_bindSSLObject
    - BIO_new_socket
    - SSLNetVConnection::get_socket
    - BIO_s_fastopen
    - SSLNetVConnection::get_remote_addr
    - BIO_s_mem
    - SSLNetVConnection::initialize_handshake_buffers
    - update_early_data_config
    - SSL_set_bio
    - BIO_new
    - BIO_fastopen_set_dest_addr
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_make_ssl_connection(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVCAttach
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:130,1
    - Dst: TLSBasicSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:131,1
    - Dst: TLSEventSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:132,1
    - Dst: ALPNSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:133,1
    - Dst: TLSSessionResumptionSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:134,1
    - Dst: TLSSNISupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:135,1
    - Dst: TLSEarlyDataSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:136,1
    - Dst: TLSTunnelSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:137,1
    - Dst: TLSCertSwitchSupport::bind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: SSLNetVConnection::_bindSSLObject
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - TLSEventSupport::bind
    - TLSBasicSupport::bind
    - TLSEarlyDataSupport::bind
    - ALPNSupport::bind
    - TLSTunnelSupport::bind
    - TLSSNISupport::bind
    - SSLNetVCAttach
    - TLSCertSwitchSupport::bind
    - TLSSessionResumptionSupport::bind
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_bindSSLObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVCDetach
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:144,1
    - Dst: TLSBasicSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:145,1
    - Dst: TLSEventSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:146,1
    - Dst: ALPNSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:147,1
    - Dst: TLSSessionResumptionSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:148,1
    - Dst: TLSSNISupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:149,1
    - Dst: TLSEarlyDataSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:150,1
    - Dst: TLSTunnelSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:151,1
    - Dst: TLSCertSwitchSupport::unbind
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: SSLNetVConnection::_unbindSSLObject
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - TLSTunnelSupport::unbind
    - TLSCertSwitchSupport::unbind
    - TLSEventSupport::unbind
    - TLSBasicSupport::unbind
    - TLSEarlyDataSupport::unbind
    - TLSSessionResumptionSupport::unbind
    - SSLNetVCDetach
    - ALPNSupport::unbind
    - TLSSNISupport::unbind
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_unbindSSLObject()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:164,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:164,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:169,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:172,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:173,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:173,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - char*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: debug_certificate_name
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - BIO_free
    - BIO_get_mem_data
    - Dbg
    - BIO_s_mem
    - BIO_new
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void debug_certificate_name(const char *msg, X509_NAME *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:188,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:189,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:190,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:191,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:197,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:198,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:204,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:205,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:206,1
    - Dst: SSLNetVConnection::_ssl_read_buffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:207,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:209,1
    - Dst: SSLDebugBufferPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:216,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:219,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:222,1
    - Dst: SSLNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:237,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:242,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:247,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:250,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:250,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:258,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:263,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:264,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:267,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:268,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:274,1
    - Dst: SSLNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:277,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:282,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:283,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:290,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 295
    functionName: SSLNetVConnection::_ssl_read_from_net
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - MIOBufferAccessor::writer
    - NetState*::vio::ntodo
    - ink_release_assert
    - ts::Metrics::Counter::increment
    - SSLVCDebug
    - ERR_error_string_n
    - Dbg
    - SSLNetVConnection::_ssl_read_buffer
    - ERR_peek_last_error
    - strerror
    - SSLNetVConnection::netActivity
    - ink_assert
    - SSLDebugBufferPrint
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::_ssl_read_from_net(int64_t &ret)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::handShakeBuffer::first_write_block
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:310,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:312,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:316,1
    - Dst: SSLNetVConnection::con::sock::read
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:318,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:319,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:322,1
    - Dst: sock::get_fd
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:323,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:329,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:341,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:342,1
    - Dst: SSLNetVConnection::get_is_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:352,1
    - Dst: SSLNetVConnection::get_proxy_protocol_version
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:352,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:353,1
    - Dst: swoc::IPRangeSet*::count
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:354,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:355,1
    - Dst: swoc::IPRangeSet*::contains
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:361,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:361,1
    - Dst: get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:361,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:367,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:368,1
    - Dst: SSLNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:368,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:371,1
    - Dst: SSLNetVConnection::has_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:376,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:377,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:378,1
    - Dst: SSLNetVConnection::get_proxy_protocol_dst_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:380,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:382,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:386,1
    - Dst: SSLNetVConnection::handShakeBuffer::fill
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:398,1
    - Dst: SSLNetVConnection::handShakeReader::read_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:400,1
    - Dst: SSLNetVConnection::_getCoalescedHandShakeBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:402,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:406,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:407,1
    - Dst: SSL_set0_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:408,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:413,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:418,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 423
    functionName: SSLNetVConnection::read_raw_data
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::handShakeBuffer::first_write_block
    - BIO_new_mem_buf
    - SSLNetVConnection::get_proxy_protocol_version
    - swoc::IPRangeSet*::count
    - SSLNetVConnection::get_remote_addr
    - IOBufferBlock*::write_avail
    - ts::Metrics::Counter::increment
    - BIO_set_mem_eof_return
    - IOBufferBlock*::next::get
    - ats_ip_ntop
    - SSLNetVConnection::handShakeBuffer::fill
    - swoc::IPRangeSet*::contains
    - SSLNetVConnection::con::sock::read
    - ats_ip_nptop
    - SSLNetVConnection::has_proxy_protocol
    - Dbg
    - SSLNetVConnection::handShakeReader::read_avail
    - SSLNetVConnection::get_proxy_protocol_dst_addr
    - SSLNetVConnection::_getCoalescedHandShakeBuffer
    - 'on'
    - sock::get_fd
    - DbgPrint
    - SSL_set0_rbio
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - SSLNetVConnection::get_is_proxy_protocol
    - get_remote_addr
    linkageType: ''
    returnType: int64_t
    signature: int64_t SSLNetVConnection::read_raw_data()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:433,1
    - Dst: SSL_get_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:433,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:434,1
    - Dst: SSLNetVConnection::handShakeReader::consume
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:435,1
    - Dst: SSLNetVConnection::handShakeReader::is_read_avail_more_than
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:438,1
    - Dst: SSLNetVConnection::handShakeReader::read_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:439,1
    - Dst: SSLNetVConnection::_getCoalescedHandShakeBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:441,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:442,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:446,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:447,1
    - Dst: SSL_set0_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:448,1
    - Dst: SSLNetVConnection::handShakeHolder::is_read_avail_more_than
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:451,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:452,1
    - Dst: BIO_new_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:453,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:453,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:454,1
    - Dst: SSL_set0_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:455,1
    - Dst: SSLNetVConnection::free_handshake_buffers
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - move_to_socket
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 460
    functionName: SSLNetVConnection::update_rbio
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::handShakeReader::is_read_avail_more_than
    - BIO_set_mem_eof_return
    - BIO_new_mem_buf
    - BIO_new_socket
    - SSLNetVConnection::free_handshake_buffers
    - SSLNetVConnection::get_socket
    - Dbg
    - SSL_set0_rbio
    - SSLNetVConnection::handShakeReader::read_avail
    - SSLNetVConnection::handShakeReader::consume
    - BIO_eof
    - SSLNetVConnection::handShakeHolder::is_read_avail_more_than
    - SSL_get_rbio
    - SSLNetVConnection::_getCoalescedHandShakeBuffer
    linkageType: ''
    returnType: bool
    signature: bool SSLNetVConnection::update_rbio(bool move_to_socket)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::super::net_read_io
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:472,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:476,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:477,1
    - Dst: readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:478,1
    - Dst: SSLNetVConnection::super::net_read_io
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:485,1
    - Dst: readSignalError
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:491,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:492,1
    - Dst: NetState*::vio::is_disabled
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:499,1
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:500,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:505,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:506,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:506,1
    - Dst: SSLNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:509,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:512,1
    - Dst: SSLNetVConnection::sslStartHandShake
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:513,1
    - Dst: SSLNetVConnection::sslStartHandShake
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:515,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:520,1
    - Dst: SSLNetVConnection::readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:533,1
    - Dst: SSLNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:539,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:546,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:549,1
    - Dst: SSLNetVConnection::free_handshake_buffers
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:552,1
    - Dst: SSLNetVConnection::readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:557,1
    - Dst: readSignalError
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:564,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:567,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:567,1
    - Dst: SSLNetVConnection::get_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:567,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:568,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:571,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:573,1
    - Dst: readSignalError
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:574,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:581,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:585,1
    - Dst: SSLNetVConnection::update_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:586,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:591,1
    - Dst: readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:593,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:596,1
    - Dst: writeReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:597,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:599,1
    - Dst: readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:604,1
    - Dst: NetHandler*::read_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:608,1
    - Dst: readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:614,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:620,1
    - Dst: NetState*::vio::is_disabled
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:620,1
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:621,1
    - Dst: SSLNetVConnection::_ssl_read_from_net
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:631,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:635,1
    - Dst: readSignalAndUpdate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:641,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:642,1
    - Dst: readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:650,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:655,1
    - Dst: NetState*::vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:655,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:656,1
    - Dst: readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:658,1
    - Dst: writeReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:660,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:667,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:668,1
    - Dst: readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:676,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:679,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:681,1
    - Dst: readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:685,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:686,1
    - Dst: readSignalError
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:690,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:691,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 156
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 694
    functionName: SSLNetVConnection::net_read_io
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - NetState*::vio::ntodo
    - NetHandler*::read_ready_list::remove
    - NetHandler*::write_ready_list::remove
    - static_cast<double>
    - readSignalDone
    - readSignalError
    - read_disable
    - NetState*::vio::is_disabled
    - is_locked
    - SSLNetVConnection::sslStartHandShake
    - SSLNetVConnection::update_rbio
    - readSignalAndUpdate
    - MUTEX_TRY_LOCK
    - SSLNetVConnection::free_handshake_buffers
    - SSLNetVConnection::getSSLHandShakeComplete
    - get_mutex
    - readReschedule
    - SSLNetVConnection::get_tls_handshake_begin_time
    - SSLNetVConnection::readSignalDone
    - SSLNetVConnection::_ssl_read_from_net
    - Dbg
    - ink_assert
    - MIOBufferAccessor::writer
    - ink_get_hrtime
    - SSLNetVConnection::super::net_read_io
    - NetHandler*::read_ready_list::in_or_enqueue
    - SSLNetVConnection::get_handshake_hook_state
    - writeReschedule
    - NetState*::vio::mutex::get
    - get_context
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::net_read_io(NetHandler *nh)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:708,1
    - Dst: ink_hrtime_diff_msec
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:709,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:715,1
    - Dst: SSLNetVConnection::super::load_buffer_and_write
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:720,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:723,1
    - Dst: ERR_clear_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:725,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:728,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:729,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:753,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:756,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:770,1
    - Dst: SSLNetVConnection::_ssl_write_buffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:771,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:776,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:779,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:781,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:794,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:799,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:811,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:818,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:819,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:824,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:830,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:831,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 4
    argNames:
    - towrite
    - buf
    - total_written
    - needs
    argTypes:
    - int64_t
    - MIOBufferAccessor
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 836
    functionName: SSLNetVConnection::load_buffer_and_write
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - ts::Metrics::Counter::increment
    - SSLVCDebug
    - MIOBufferAccessor::reader
    - ink_hrtime_diff_msec
    - Dbg
    - SSLNetVConnection::_ssl_write_buffer
    - ERR_clear_error
    - SSLNetVConnection::super::load_buffer_and_write
    linkageType: ''
    returnType: int64_t
    signature: int64_t SSLNetVConnection::load_buffer_and_write(int64_t towrite, MIOBufferAccessor
      &buf, int64_t &total_written, int &needs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:840,1
    - Dst: static_cast<ALPNSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:840,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:841,1
    - Dst: static_cast<TLSBasicSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:841,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:842,1
    - Dst: static_cast<TLSEventSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:842,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:843,1
    - Dst: static_cast<TLSCertSwitchSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:843,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:844,1
    - Dst: static_cast<TLSEarlyDataSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:844,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:845,1
    - Dst: static_cast<TLSSNISupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:845,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:846,1
    - Dst: static_cast<TLSSessionResumptionSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:846,1
    - Dst: SSLNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:847,1
    - Dst: static_cast<TLSTunnelSupport *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 848
    functionName: SSLNetVConnection::SSLNetVConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - static_cast<TLSEventSupport *>
    - static_cast<TLSBasicSupport *>
    - SSLNetVConnection::_set_service
    - static_cast<TLSSNISupport *>
    - static_cast<TLSEarlyDataSupport *>
    - static_cast<TLSSessionResumptionSupport *>
    - static_cast<TLSTunnelSupport *>
    - static_cast<ALPNSupport *>
    - static_cast<TLSCertSwitchSupport *>
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::SSLNetVConnection()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:854,1
    - Dst: callHooks
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:855,1
    - Dst: callHooks
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:857,1
    - Dst: SSLNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:860,1
    - Dst: SSL_get_shutdown
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:861,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:862,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:868,1
    - Dst: SSL_set_shutdown
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:869,1
    - Dst: SSLNetVConnection::con::sock::recv
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:878,1
    - Dst: SSL_shutdown
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:886,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:887,1
    - Dst: SSL_set_quiet_shutdown
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:890,1
    - Dst: SSL_set_shutdown
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:891,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:892,1
    - Dst: INKVConnInternal::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - lerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 898
    functionName: SSLNetVConnection::do_io_close
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - callHooks
    - SSL_get_shutdown
    - SSLNetVConnection::con::sock::recv
    - SSL_set_quiet_shutdown
    - Dbg
    - SSL_set_shutdown
    - SSL_shutdown
    - INKVConnInternal::do_io_close
    - SSLNetVConnection::getSSLHandShakeComplete
    - get_context
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::do_io_close(int lerrno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:903,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:904,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:915,1
    - Dst: SSL_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:918,1
    - Dst: ALPNSupport::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:922,1
    - Dst: TLSBasicSupport::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:923,1
    - Dst: TLSEventSupport::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:924,1
    - Dst: TLSSessionResumptionSupport::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:925,1
    - Dst: TLSSNISupport::_clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:926,1
    - Dst: TLSTunnelSupport::_clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:927,1
    - Dst: TLSCertSwitchSupport::_clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:928,1
    - Dst: SSLNetVConnection::free_handshake_buffers
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:936,1
    - Dst: APIHooks::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 939
    functionName: SSLNetVConnection::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - TLSCertSwitchSupport::_clear
    - TLSTunnelSupport::_clear
    - SSL_free
    - TLSSNISupport::_clear
    - ALPNSupport::clear
    - reset
    - TLSBasicSupport::clear
    - SSLNetVConnection::free_handshake_buffers
    - TLSSessionResumptionSupport::clear
    - APIHooks::clear
    - TLSEventSupport::clear
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::clear()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:943,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:943,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:946,1
    - Dst: release_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:947,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:948,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:950,1
    - Dst: is_tunnel_endpoint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:952,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:953,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:953,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:955,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:956,1
    - Dst: get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:957,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:969,1
    - Dst: get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:969,1
    - Dst: dealloc
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:977,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:981,1
    - Dst: SSLNetVConnection::clear
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:988,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:989,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:990,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:990,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:991,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:991,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:994,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:996,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:996,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 999
    functionName: SSLNetVConnection::free_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ts::Metrics::Gauge::decrement
    - SSLNetVConnection::clear
    - free
    - close
    - free_MIOBuffer
    - release_inbound_connection_tracking
    - get_tunnel_type
    - dealloc
    - this_ethread
    - sock::is_ok
    - SET_CONTINUATION_HANDLER
    - THREAD_FREE
    - is_tunnel_endpoint
    - ink_assert
    - get_context
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::free_thread(EThread *t)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::is_ssl_handshaking_stopped
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1004,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1005,1
    - Dst: SSLNetVConnection::get_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1008,1
    - Dst: SSLNetVConnection::_record_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1009,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1011,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1011,1
    - Dst: safe_getsockname
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1020,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1020,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1021,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1024,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1025,1
    - Dst: safe_getpeername
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1030,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1030,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1031,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1034,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1035,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1036,1
    - Dst: SSLCertificateConfig::scoped_config::defaultContext
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1036,1
    - Dst: SSL_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1047,1
    - Dst: SSLNetVConnection::_make_ssl_connection
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1058,1
    - Dst: SSLCertificateConfig::scoped_config::defaultContext
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1058,1
    - Dst: SSLErrorVC
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1062,1
    - Dst: SSLNetVConnection::sslServerHandShakeEvent
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1065,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1077,1
    - Dst: SSLNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1077,1
    - Dst: SNIConfig::scoped_config::get_property_config
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1080,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1085,1
    - Dst: ssl_client_cert_name::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1085,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1092,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1093,1
    - Dst: ssl_client_cert_name::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1093,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1095,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1098,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1100,1
    - Dst: ssl_client_cert_name::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1100,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1102,1
    - Dst: SSLConfig::scoped_config::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1105,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1105,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1105,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1108,1
    - Dst: SSLConfig::scoped_config::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1109,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1109,1
    - Dst: auto::client_cert_file::empty
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1110,1
    - Dst: SSLConfig::scoped_config::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1113,1
    - Dst: SSLConfig::scoped_config::client_ctx::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1115,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1119,1
    - Dst: SSLErrorVC
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1139,1
    - Dst: SSLNetVConnection::_make_ssl_connection
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1143,1
    - Dst: SSLErrorVC
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1145,1
    - Dst: SSL_set_alpn_protos
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1152,1
    - Dst: SSL_set_alpn_protos
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1155,1
    - Dst: SSL_set_verify
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1159,1
    - Dst: SSLNetVConnection::set_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1165,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1165,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1167,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1167,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1168,1
    - Dst: SSLNetVConnection::options::alpn_protos::empty
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1173,1
    - Dst: SSL_set_alpn_protos
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1174,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1174,1
    - Dst: SSLNetVConnection::options::alpn_protos::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1174,1
    - Dst: SSLNetVConnection::options::alpn_protos::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1177,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1178,1
    - Dst: SSLNetVConnection::options::alpn_protos::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1178,1
    - Dst: SSLNetVConnection::options::alpn_protos::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1178,1
    - Dst: SSLNetVConnection::sslClientHandShakeEvent
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1183,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1186,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 128
    argCount: 2
    argNames:
    - event
    - err
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1189
    functionName: SSLNetVConnection::sslStartHandShake
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - ats_scoped_str::get
    - SSLConfig::scoped_config::client_ctx::get
    - SSLNetVConnection::options::alpn_protos::data
    - SNIConfig::scoped_config::get_property_config
    - SSLNetVConnection::sslServerHandShakeEvent
    - SSLNetVConnection::get_remote_addr
    - SSLConfig::scoped_config::getCTX
    - SSLNetVConnection::set_sni_server_name
    - SSLErrorVC
    - TSSystemState::is_ssl_handshaking_stopped
    - SSLNetVConnection::_make_ssl_connection
    - set_inactivity_timeout
    - ts::Metrics::Counter::increment
    - SSL_set_alpn_protos
    - SSLNetVConnection::options::alpn_protos::empty
    - safe_getsockname
    - std::string::empty
    - SSL_set_verify
    - ats_ip_ntop
    - strcasecmp
    - SSLNetVConnection::_record_tls_handshake_begin_time
    - std::string::c_str
    - static_cast<int>
    - safe_getpeername
    - shared_SSL_CTX::get
    - SSLNetVConnection::get_tls_handshake_begin_time
    - ats_ip_nptop
    - SSLCertificateConfig::scoped_config::find
    - Dbg
    - Layout::get
    - auto::client_cert_file::empty
    - ssl_client_cert_name::get
    - SSLCertificateConfig::scoped_config::defaultContext
    - SSLNetVConnection::sslClientHandShakeEvent
    - ink_assert
    - 'on'
    - SSL_free
    - HRTIME_SECONDS
    - SSLNetVConnection::get_socket
    - DbgPrint
    - SSLNetVConnection::options::alpn_protos::size
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::sslStartHandShake(int event, int &err)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::is_invoked_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1195,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1200,1
    - Dst: SSLNetVConnection::invoke_tls_event
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1201,1
    - Dst: SSL_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1225,1
    - Dst: TLSEventSupport::get_ssl_handshake_hook_state_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1226,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1226,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1230,1
    - Dst: BIO_eof
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1234,1
    - Dst: SSL_get_rbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1234,1
    - Dst: SSL_set_mode
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1238,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1242,1
    - Dst: SSLNetVConnection::read_raw_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1245,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1249,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1253,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1258,1
    - Dst: SSLNetVConnection::_ssl_accept
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1264,1
    - Dst: SSL_get_all_async_fds
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1272,1
    - Dst: reinterpret_cast<OSSL_ASYNC_FD *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1274,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1274,1
    - Dst: SSL_get_all_async_fds
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1275,1
    - Dst: get_PollDescriptor
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1280,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1280,1
    - Dst: SSLNetVConnection::async_ep::start
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1281,1
    - Dst: static_cast<NetEvent *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1281,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1281,1
    - Dst: SSLNetVConnection::reenable
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1288,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1295,1
    - Dst: SSLErrorName
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1295,1
    - Dst: buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1297,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1299,1
    - Dst: SSLNetVConnection::getAllowPlain
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1300,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1301,1
    - Dst: SSLNetVConnection::_migrateFromSSL
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1304,1
    - Dst: SSLNetVConnection::getTransparentPassThrough
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1306,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1308,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1313,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1320,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1322,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1324,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1327,1
    - Dst: debug_certificate_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1329,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1329,1
    - Dst: debug_certificate_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1330,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1330,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1331,1
    - Dst: SSLNetVConnection::get_tls_handshake_begin_time
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1337,1
    - Dst: SSLNetVConnection::_record_tls_handshake_end_time
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1338,1
    - Dst: SSLNetVConnection::_update_end_of_handshake_stats
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1339,1
    - Dst: SSLNetVConnection::get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1342,1
    - Dst: SSLNetVConnection::setSelectedProtocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1344,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1344,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1344,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1345,1
    - Dst: SSLNetVConnection::increment_ssl_version_metric
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1354,1
    - Dst: SSL_version
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1354,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1360,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1362,1
    - Dst: SSLNetVConnection::get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1366,1
    - Dst: SSLNetVConnection::setSelectedProtocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1366,1
    - Dst: SSLNetVConnection::set_negotiated_protocol_id
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1369,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1369,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1369,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1371,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1373,1
    - Dst: SSL_clear_mode
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1379,1
    - Dst: stop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1381,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1424,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1432,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 158
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1191
    functionDepth: 3
    functionLinenumber: 1191
    functionLinenumberEnd: 1443
    functionName: SSLNetVConnection::sslServerHandShakeEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::invoke_tls_event
    - get_NetHandler
    - stop
    - buf
    - SSL_get0_alpn_selected
    - SSL_get_all_async_fds
    - X509_get_subject_name
    - SSLNetVConnection::is_invoked_state
    - get_PollDescriptor
    - alloca
    - X509_free
    - this_ethread
    - SSL_clear_mode
    - BIO_eof
    - SSLNetVConnection::async_ep::start
    - size
    - SSLNetVConnection::_record_tls_handshake_end_time
    - ts::Metrics::Counter::increment
    - SSLNetVConnection::getTransparentPassThrough
    - SSLNetVConnection::get_tunnel_type
    - SSLNetVConnection::_update_end_of_handshake_stats
    - SSLNetVConnection::setSelectedProtocol
    - SSL_get0_next_proto_negotiated
    - SSLNetVConnection::set_negotiated_protocol_id
    - SSL_version
    - debug_certificate_name
    - SSL_get1_peer_certificate
    - reinterpret_cast<const unsigned char *>
    - data
    - SSL_get_rbio
    - SSLNetVConnection::get_tls_handshake_begin_time
    - SSLNetVConnection::_ssl_accept
    - Dbg
    - X509_get_issuer_name
    - static_cast<size_t>
    - SSL_get_peer_certificate
    - SSLNetVConnection::reenable
    - SSLNetVConnection::read_raw_data
    - SSLNetVConnection::increment_ssl_version_metric
    - SSLNetVConnection::getAllowPlain
    - 'on'
    - SSL_free
    - SSLVCDebug
    - SSLNetVConnection::_migrateFromSSL
    - SSL_set_mode
    - reinterpret_cast<const char *>
    - SSLNetVConnection::get_handshake_hook_state
    - DbgPrint
    - TLSEventSupport::get_ssl_handshake_hook_state_name
    - reinterpret_cast<OSSL_ASYNC_FD *>
    - SSLErrorName
    - static_cast<NetEvent *>
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::sslServerHandShakeEvent(int &err)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1450,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1450,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1453,1
    - Dst: VIO::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1457,1
    - Dst: VIO::get_reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1458,1
    - Dst: SSLNetVConnection::load_buffer_and_write
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1464,1
    - Dst: VIO::ntodo
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1468,1
    - Dst: SSLNetVConnection::set_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1483,1
    - Dst: SSLNetVConnection::is_invoked_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1488,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1493,1
    - Dst: SSLNetVConnection::invoke_tls_event
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1494,1
    - Dst: SSLNetVConnection::_ssl_connect
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1499,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1502,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1504,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1506,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1509,1
    - Dst: debug_certificate_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1512,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1512,1
    - Dst: debug_certificate_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1513,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1513,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1514,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1521,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1523,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1525,1
    - Dst: SSLNetVConnection::set_negotiated_protocol_id
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1526,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1526,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1526,1
    - Dst: writeReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1531,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1534,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1540,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1544,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1548,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1552,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1562,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1567,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1568,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1576,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1577,1
    - Dst: SSLVCDebug
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1579,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1580,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1581,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1584,1
    - Dst: SSLNetVConnection::options::sni_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1584,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1587,1
    - Dst: SSLNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1587,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1588,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1595
    functionName: SSLNetVConnection::sslClientHandShakeEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::invoke_tls_event
    - SSL_get0_alpn_selected
    - X509_get_subject_name
    - VIO::ntodo
    - SSLNetVConnection::is_invoked_state
    - SSLNetVConnection::get_remote_addr
    - X509_free
    - SSLNetVConnection::_ssl_connect
    - ts::Metrics::Counter::increment
    - SSLNetVConnection::set_negotiated_protocol_id
    - SSL_get0_next_proto_negotiated
    - ats_ip_ntop
    - ERR_peek_last_error
    - TLSBasicSupport::getInstance
    - debug_certificate_name
    - SSL_get1_peer_certificate
    - VIO::get_reader
    - ERR_error_string_n
    - Dbg
    - X509_get_issuer_name
    - static_cast<size_t>
    - SSL_get_peer_certificate
    - ink_assert
    - SSLNetVConnection::options::sni_servername::get
    - SSLNetVConnection::load_buffer_and_write
    - 'on'
    - SSLVCDebug
    - SSLNetVConnection::set_handshake_hook_state
    - reinterpret_cast<const char *>
    - SSLNetVConnection::get_handshake_hook_state
    - DbgPrint
    - writeReschedule
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::sslClientHandShakeEvent(int &err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1600,1
    - Dst: TLSEventSupport::get_ssl_handshake_hook_state_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1601,1
    - Dst: SSLNetVConnection::get_handshake_hook_state
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1601,1
    - Dst: SSLNetVConnection::resume_tls_event
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1608,1
    - Dst: SSLNetVConnection::invoke_tls_event
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1617,1
    - Dst: SSLNetVConnection::writeReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1620,1
    - Dst: SSLNetVConnection::readReschedule
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1624
    functionName: SSLNetVConnection::reenable
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::invoke_tls_event
    - SSLNetVConnection::readReschedule
    - SSLNetVConnection::get_handshake_hook_state
    - Dbg
    - SSLNetVConnection::resume_tls_event
    - SSLNetVConnection::writeReschedule
    - TLSEventSupport::get_ssl_handshake_hook_state_name
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::reenable(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1630
    functionName: SSLNetVConnection::getContinuationForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      SSLNetVConnection::getContinuationForTLSEvents()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1636
    functionName: SSLNetVConnection::getThreadForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: 'EThread *

      SSLNetVConnection::getThreadForTLSEvents()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1642
    functionName: SSLNetVConnection::getMutexForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<ProxyMutex>
    signature: Ptr<ProxyMutex> SSLNetVConnection::getMutexForTLSEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::populate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1647,1
    - Dst: static_cast<SSL *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1652,1
    - Dst: SSLNetVConnection::_bindSSLObject
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - con
    - c
    - arg
    argTypes:
    - Connection
    - Continuation*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1644
    functionDepth: 2
    functionLinenumber: 1644
    functionLinenumberEnd: 1658
    functionName: SSLNetVConnection::populate
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::_bindSSLObject
    - static_cast<SSL *>
    - SSLNetVConnection::populate
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::populate(Connection &con, Continuation *c, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1663,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1663,1
    - Dst: get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1668,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1686,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1688
    functionName: SSLNetVConnection::_in_context_tunnel
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    - get_tunnel_type
    - ink_assert
    - get_context
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_in_context_tunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1693,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1693,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1696,1
    - Dst: get_tunnel_type
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1696,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1698,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1700
    functionName: SSLNetVConnection::_out_context_tunnel
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    - get_tunnel_type
    - ink_assert
    - get_context
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_out_context_tunnel()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1707,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1710,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1713,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1716,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1720,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1727
    functionName: SSLNetVConnection::increment_ssl_version_metric
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::increment_ssl_version_metric(int version) const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - proto_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1758
    functionName: SSLNetVConnection::map_tls_protocol_to_tag
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view SSLNetVConnection::map_tls_protocol_to_tag(const char
      *proto_string) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::map_tls_protocol_to_tag
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1765,1
    - Dst: SSLNetVConnection::get_tls_protocol_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1765,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1766,1
    - Dst: SSLNetVConnection::populate_protocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - results
    - n
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1774
    functionName: SSLNetVConnection::populate_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::map_tls_protocol_to_tag
    - SSLNetVConnection::get_tls_protocol_name
    - empty
    - SSLNetVConnection::populate_protocol
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::populate_protocol(std::string_view *results,
      int n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::map_tls_protocol_to_tag
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1780,1
    - Dst: SSLNetVConnection::get_tls_protocol_name
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1780,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1781,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1782,1
    - Dst: SSLNetVConnection::protocol_contains
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1787
    functionName: SSLNetVConnection::protocol_contains
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSLNetVConnection::get_tls_protocol_name
    - SSLNetVConnection::protocol_contains
    - SSLNetVConnection::map_tls_protocol_to_tag
    - std::string_view::size
    - strncmp
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      SSLNetVConnection::protocol_contains(std::string_view prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::get_local_port
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1793
    functionName: SSLNetVConnection::_get_local_port
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::get_local_port
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t SSLNetVConnection::_get_local_port()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1803
    functionName: SSLNetVConnection::_isTryingRenegotiation
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::getSSLHandShakeComplete
    linkageType: ''
    returnType: bool
    signature: bool SSLNetVConnection::_isTryingRenegotiation() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1810,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1813,1
    - Dst: SSLNetVConnection::get_is_transparent
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1816,1
    - Dst: SSLNetVConnection::setSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - servername
    - ctxType
    argTypes:
    - std::string
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1823
    functionName: SSLNetVConnection::_lookupContextByName
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::scoped_config::find
    - SSLNetVConnection::setSSLHandShakeComplete
    - SSLCertContext*::getCtx
    - SSLNetVConnection::get_is_transparent
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX SSLNetVConnection::_lookupContextByName(const std::string
      &servername, SSLCertContextType ctxType)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::get_is_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1839,1
    - Dst: SSLNetVConnection::get_proxy_protocol_version
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1839,1
    - Dst: SSLNetVConnection::get_proxy_protocol_dst_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1840,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1842,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1843,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1844,1
    - Dst: safe_getpeername
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1849,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1849,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1850,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1853,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1854,1
    - Dst: SSLCertificateConfig::scoped_config::defaultContext
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1855,1
    - Dst: safe_getsockname
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1857,1
    - Dst: SSLNetVConnection::get_socket
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1857,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1858,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1861,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1865
    functionName: SSLNetVConnection::_lookupContextByIP
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - safe_getpeername
    - 'on'
    - SSLNetVConnection::get_proxy_protocol_version
    - safe_getsockname
    - ats_ip_nptop
    - SSLNetVConnection::get_socket
    - SSLCertificateConfig::scoped_config::find
    - DbgPrint
    - SSLCertContext*::getCtx
    - SSLNetVConnection::get_proxy_protocol_dst_addr
    - SSLNetVConnection::get_is_proxy_protocol
    - SSLCertificateConfig::scoped_config::defaultContext
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX SSLNetVConnection::_lookupContextByIP()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1870,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1871,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1871,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1872,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1872,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1872,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1873,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1874,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1876,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1877,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1877,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1878,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1878,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1878,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1879,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - dir
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1882
    functionName: SSLNetVConnection::set_ca_cert_file
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - char::char
    - reset
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::set_ca_cert_file(std::string_view file, std::string_view
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::_unbindSSLObject
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1893
    functionName: SSLNetVConnection::_prepareForMigration
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::_unbindSSLObject
    linkageType: ''
    returnType: void
    signature: 'void *

      SSLNetVConnection::_prepareForMigration()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1899
    functionName: SSLNetVConnection::_getNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: 'NetProcessor *

      SSLNetVConnection::_getNetProcessor()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1905,1
    - Dst: SSLNetVConnection::handShakeReader::start
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1908,1
    - Dst: SSLNetVConnection::handShakeReader::end
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1909,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1912,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1912,1
    - Dst: SSLNetVConnection::handShakeReader::memcpy
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - total_chain_size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 1917
    functionName: SSLNetVConnection::_getCoalescedHandShakeBuffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 2
    functionsReached:
    - ats_free
    - SSLNetVConnection::handShakeReader::start
    - static_cast<char *>
    - SSLNetVConnection::handShakeReader::end
    - ats_malloc
    - SSLNetVConnection::handShakeReader::memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      SSLNetVConnection::_getCoalescedHandShakeBuffer(int64_t total_chain_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1922,1
    - Dst: SSLNetVConnection::handShakeHolder::read_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1922,1
    - Dst: NetState*::vio::set_writer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1926,1
    - Dst: NetState*::vio::set_reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1927,1
    - Dst: SSLNetVConnection::handShakeReader::dealloc
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1934,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1937,1
    - Dst: UnixNetVConnection*::readSignalDone
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1943,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - target
    - t
    argTypes:
    - UnixNetVConnection*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1944
    functionName: SSLNetVConnection::_propagateHandShakeBuffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - NetState*::vio::set_writer
    - ats_free
    - get_NetHandler
    - NetState*::vio::set_reader
    - UnixNetVConnection*::readSignalDone
    - Dbg
    - SSLNetVConnection::handShakeReader::dealloc
    - SSLNetVConnection::handShakeHolder::read_avail
    linkageType: ''
    returnType: void
    signature: void SSLNetVConnection::_propagateHandShakeBuffer(UnixNetVConnection
      *target, EThread *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1954,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1955,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1956,1
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1958,1
    - Dst: Connection::move
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1959,1
    - Dst: SSLNetVConnection::ep::stop
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1969,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1972,1
    - Dst: allocate_vc
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1972,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1973,1
    - Dst: UnixNetVConnection*::populate
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1974,1
    - Dst: UnixNetVConnection*::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1975,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1976,1
    - Dst: UnixNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1981,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1982,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1982,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1984,1
    - Dst: SSLNetVConnection::_propagateHandShakeBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1985,1
    - Dst: SSLNetVConnection::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 1991
    functionName: SSLNetVConnection::_migrateFromSSL
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - UnixNetVConnection*::do_io_close
    - UnixNetVConnection*::set_context
    - get_NetHandler
    - UnixNetVConnection*::populate
    - SSLNetVConnection::do_io_close
    - Connection::Connection
    - Dbg
    - Connection::move
    - SSLNetVConnection::ep::stop
    - this_ethread
    - allocate_vc
    - UnixNetVConnection*::set_is_transparent
    - static_cast<UnixNetVConnection *>
    - SSLNetVConnection::_propagateHandShakeBuffer
    - ink_assert
    - get_context
    linkageType: ''
    returnType: UnixNetVConnection
    signature: 'UnixNetVConnection *

      SSLNetVConnection::_migrateFromSSL()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSSLSessionCacheHit
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1996,1
    - Dst: getSSLCurveNID
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1997,1
    - Dst: SSLGetCurveNID
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 1
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: SSLNetVConnection::_get_tls_curve
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - getSSLSessionCacheHit
    - SSLGetCurveNID
    - getSSLCurveNID
    linkageType: ''
    returnType: ssl_curve_id
    signature: ssl_curve_id SSLNetVConnection::_get_tls_curve() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2011,1
    - Dst: SSLNetVConnection::callHooks
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2012,1
    - Dst: SSLNetVConnection::callHooks
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2022
    functionName: SSLNetVConnection::_verify_certificate
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::callHooks
    - get_context
    linkageType: ''
    returnType: int
    signature: int SSLNetVConnection::_verify_certificate(X509_STORE_CTX * /* ctx
      ATS_UNUSED */)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2027,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2043,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2044,1
    - Dst: SSL_read_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2047,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2047,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2047,1
    - Dst: SSL_accept
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2056,1
    - Dst: SSL_in_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2060,1
    - Dst: SSL_read
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2061,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2061,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2061,1
    - Dst: SSL_in_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2062,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2090,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2091,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2096,1
    - Dst: SSLNetVConnection::_early_data_buf::alloc_reader
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2097,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2099,1
    - Dst: SSLNetVConnection::_early_data_buf::append_block
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2100,1
    - Dst: SSLNetVConnection::_increment_early_data_len
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2101,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2102,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2104,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2105,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2105,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2106,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2106,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2114,1
    - Dst: SSLNetVConnection::_early_data_reader::read_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2116,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2117,1
    - Dst: ERR_clear_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2118,1
    - Dst: SSL_accept
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2119,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2123,1
    - Dst: SSL_accept
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2127,1
    - Dst: SSL_accept
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2130,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2136,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2137,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2139,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2140,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2141,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2024
    functionDepth: 2
    functionLinenumber: 2024
    functionLinenumberEnd: 2145
    functionName: SSLNetVConnection::_ssl_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSL_read_early_data
    - new_MIOBuffer
    - SSL_in_early_data
    - index_to_buffer_size
    - SSL_read
    - new_IOBufferBlock
    - ts::Metrics::Counter::increment
    - SSL_get_error
    - SSLNetVConnection::_increment_early_data_len
    - ERR_peek_last_error
    - SSLNetVConnection::_early_data_buf::alloc_reader
    - SSLNetVConnection::_early_data_buf::append_block
    - ERR_clear_error
    - std::string::c_str
    - ERR_error_string_n
    - IOBufferBlock*::buf
    - Dbg
    - IOBufferBlock*::free
    - SSLNetVConnection::_early_data_reader::read_avail
    - IOBufferBlock*::fill
    - 'on'
    - SSL_accept
    - DbgPrint
    - IOBufferBlock*::alloc
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: ssl_error_t
    signature: ssl_error_t SSLNetVConnection::_ssl_accept()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2150,1
    - Dst: SSL_get_session
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2152,1
    - Dst: get_sni_addr
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2156,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2157,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2159,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2159,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2159,1
    - Dst: get_verify_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2159,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2161,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2161,1
    - Dst: SSLNetVConnection::getOriginSession
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2163,1
    - Dst: SSL_set_session
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2165,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2165,1
    - Dst: SSL_connect
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2173,1
    - Dst: SSL_session_reused
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2176,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2177,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2178,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2180,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2184,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2185,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2187,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2188,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2193
    functionName: SSLNetVConnection::_ssl_connect
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - get_verify_str
    - ts::Metrics::Counter::increment
    - SSL_set_session
    - std::string::empty
    - SSL_get_error
    - ERR_peek_last_error
    - swoc::SWOC_VERSION_NS::bwprint
    - ERR_clear_error
    - std::string::c_str
    - SSL_get_session
    - SSL_get_SSL_CTX
    - SSL_session_reused
    - ERR_error_string_n
    - std::shared_ptr::get
    - Dbg
    - 'on'
    - SSL_connect
    - DbgPrint
    - SSLNetVConnection::getOriginSession
    - get_sni_addr
    linkageType: ''
    returnType: ssl_error_t
    signature: ssl_error_t SSLNetVConnection::_ssl_connect()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2200,1
    - Dst: SSL_version
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2210,1
    - Dst: SSL_is_init_finished
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2212,1
    - Dst: SSL_write
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2214,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2214,1
    - Dst: SSL_write_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2218,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2218,1
    - Dst: SSL_write
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2225,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2225,1
    - Dst: SSL_write
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2228,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2228,1
    - Dst: SSL_get_wbio
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2233,1
    - Dst: BIO_flush
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2235,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2239,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2240,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2242,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2243,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - nbytes
    - nwritten
    argTypes:
    - void*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2247
    functionName: SSLNetVConnection::_ssl_write_buffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - BIO_flush
    - SSL_write
    - 'on'
    - SSL_is_init_finished
    - ERR_error_string_n
    - SSL_version
    - SSL_get_wbio
    - DbgPrint
    - SSL_get_error
    - SSL_write_early_data
    - ERR_peek_last_error
    - unlikely
    - static_cast<size_t>
    linkageType: ''
    returnType: ssl_error_t
    signature: ssl_error_t SSLNetVConnection::_ssl_write_buffer(const void *buf, int64_t
      nbytes, int64_t &nwritten)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2254,1
    - Dst: ERR_clear_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2257,1
    - Dst: SSL_version
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2260,1
    - Dst: SSLNetVConnection::_early_data_reader::read_avail
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2263,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2267,1
    - Dst: SSLNetVConnection::_increment_early_data_len
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2268,1
    - Dst: SSLNetVConnection::_early_data_reader::read
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2268,1
    - Dst: SSLNetVConnection::hints_from_sni::server_max_early_data::has_value
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2279,1
    - Dst: SSLNetVConnection::hints_from_sni::server_max_early_data::value
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2280,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2285,1
    - Dst: SSL_read_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2295,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2295,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2298,1
    - Dst: SSL_in_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2305,1
    - Dst: SSL_read
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2306,1
    - Dst: SSL_in_early_data
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2307,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2311,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2324,1
    - Dst: ERR_error_string
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2324,1
    - Dst: ERR_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2324,1
    - Dst: SSLNetVConnection::_increment_early_data_len
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2327,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2328,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2329,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2331,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2331,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2337,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2339,1
    - Dst: SSL_read
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2347,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2347,1
    - Dst: SSL_get_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2352,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2353,1
    - Dst: ERR_peek_last_error
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2355,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2356,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc:2357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 3
    argNames:
    - buf
    - nbytes
    - nread
    argTypes:
    - void*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2361
    functionName: SSLNetVConnection::_ssl_read_buffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetVConnection.cc
    functionUses: 1
    functionsReached:
    - SSL_read_early_data
    - SSL_in_early_data
    - SSLNetVConnection::hints_from_sni::server_max_early_data::value
    - SSL_read
    - ts::Metrics::Counter::increment
    - SSL_version
    - SSL_get_error
    - SSLNetVConnection::_increment_early_data_len
    - ERR_peek_last_error
    - unlikely
    - ERR_clear_error
    - std::string::c_str
    - static_cast<int>
    - ERR_error_string
    - ERR_error_string_n
    - Dbg
    - static_cast<size_t>
    - SSLNetVConnection::_early_data_reader::read_avail
    - ERR_get_error
    - SSLNetVConnection::_early_data_reader::read
    - 'on'
    - SSLNetVConnection::hints_from_sni::server_max_early_data::has_value
    - DbgPrint
    linkageType: ''
    returnType: ssl_error_t
    signature: ssl_error_t SSLNetVConnection::_ssl_read_buffer(void *buf, int64_t
      nbytes, int64_t &nread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - con
    - packet
    argTypes:
    - QUICConnection*
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: QUICPollEvent::init
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICNetVConnection *>
    linkageType: ''
    returnType: void
    signature: void QUICPollEvent::init(QUICConnection *con, UDPPacket *packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:49,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:49,1
    - Dst: QUICPollEvent::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: QUICPollEvent::free
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 1
    functionsReached:
    - QUICPollEvent::free
    - static_cast<QUICNetVConnection *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICPollEvent::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:56,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: QUICPollCont::QUICPollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::QUICPollCont(Ptr<ProxyMutex> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:61,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    - nh
    argTypes:
    - Ptr<ProxyMutex>
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: QUICPollCont::QUICPollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::QUICPollCont(Ptr<ProxyMutex> &m, NetHandler *nh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: QUICPollCont::~QUICPollCont()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::~QUICPollCont()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:73,1
    - Dst: QUICNetVConnection*::handle_received_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:76,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:79,1
    - Dst: NetHandler*::read_enable_list::push
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:81,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:85,1
    - Dst: QUICPollEvent*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - e
    - nh
    argTypes:
    - QUICPollEvent*
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: QUICPollCont::_process_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - NetHandler*::read_enable_list::push
    - static_cast<QUICNetVConnection *>
    - UDPPacket*::free
    - QUICPollEvent*::free
    - QUICNetVConnection*::handle_received_packet
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::_process_packet(QUICPollEvent *e, NetHandler *nh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:94,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:95,1
    - Dst: UDPPacket*::getIOBlockChain
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:95,1
    - Dst: EventProcessor::register_event_type
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:98,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:100,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:100,1
    - Dst: QUICNetVConnection*::handle_received_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:102,1
    - Dst: QUICNetVConnection*::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:103,1
    - Dst: QUICPollEvent*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:104,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:110,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:110,1
    - Dst: QUICNetVConnection*::handle_received_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:112,1
    - Dst: QUICPollCont::_longInQueue::push
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:114,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:119,1
    - Dst: NetHandler*::read_enable_list::push
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:121,1
    - Dst: QUICPollEvent*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - e
    - nh
    argTypes:
    - QUICPollEvent*
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 127
    functionName: QUICPollCont::_process_long_header_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - NetHandler*::read_enable_list::push
    - static_cast<QUICNetVConnection *>
    - EventProcessor::register_event_type
    - SCOPED_MUTEX_LOCK
    - UDPPacket*::getIOBlockChain
    - reinterpret_cast<uint8_t *>
    - QUICPollEvent*::free
    - QUICNetVConnection*::handleEvent
    - this_ethread
    - QUICPollCont::_longInQueue::push
    - QUICNetVConnection*::handle_received_packet
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::_process_long_header_packet(QUICPollEvent *e, NetHandler
      *nh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:133,1
    - Dst: QUICNetVConnection*::handle_received_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:136,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:139,1
    - Dst: NetHandler*::read_enable_list::push
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:141,1
    - Dst: QUICPollEvent*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - nh
    argTypes:
    - QUICPollEvent*
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: QUICPollCont::_process_short_header_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - NetHandler*::read_enable_list::push
    - static_cast<QUICNetVConnection *>
    - QUICPollEvent*::free
    - QUICNetVConnection*::handle_received_packet
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void QUICPollCont::_process_short_header_packet(QUICPollEvent *e, NetHandler
      *nh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:157,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:157,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:159,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:162,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:162,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:162,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:163,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:164,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:165,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:168,1
    - Dst: QUICPollEvent*::free
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:169,1
    - Dst: Queue::push
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:172,1
    - Dst: Queue::pop
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:175,1
    - Dst: QUICPollCont::_process_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:177,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:180,1
    - Dst: QUICPollEvent*::packet::getIOBlockChain
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:180,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:181,1
    - Dst: QUICPollCont::_process_long_header_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:183,1
    - Dst: QUICPollCont::_process_short_header_packet
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 192
    functionName: QUICPollCont::pollEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - static_cast<QUICNetVConnection *>
    - QUICInvariants::is_long_header
    - QUICPollEvent*::free
    - QUICPollEvent*::packet::getIOBlockChain
    - QUICPollCont::_process_long_header_packet
    - UDPPacket*::free
    - Queue::Queue
    - Queue::push
    - Queue::pop
    - QUICPollCont::_process_short_header_packet
    - reinterpret_cast<uint8_t *>
    - popall
    - ink_assert
    - SList
    - QUICPollCont::_process_packet
    - this_thread
    - pop
    - aq
    linkageType: ''
    returnType: int
    signature: int QUICPollCont::pollEvent(int, Event *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:197,1
    - Dst: get_QUICPollCont
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:198,1
    - Dst: reinterpret_cast<ink_dummy_for_new *>
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:200,1
    - Dst: QUICPollCont::QUICPollCont
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:200,1
    - Dst: EThread*::schedule_every
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:202,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/QUICNet.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: initialize_thread_for_quic_net
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNet.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - HRTIME_MSECONDS
    - get_QUICPollCont
    - QUICPollCont::QUICPollCont
    - reinterpret_cast<ink_dummy_for_new *>
    - EThread*::schedule_every
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_quic_net(EThread *thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:41,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: TLSSNISupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSSNISupport *>
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:50,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: TLSSNISupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - static_cast<TLSSNISupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSSNISupport
    signature: 'TLSSNISupport *

      TLSSNISupport::getInstance(SSL *ssl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:56,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:57,1
    - Dst: TLSSNISupport*::_set_sni_server_name_buffer
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:59,1
    - Dst: TLSSNISupport*::_clear
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - snis
    argTypes:
    - SSL*
    - TLSSNISupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: TLSSNISupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 1
    functionsReached:
    - TLSSNISupport*::_set_sni_server_name_buffer
    - SSL_set_ex_data
    - SSL_get_servername
    - TLSSNISupport*::_clear
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::bind(SSL *ssl, TLSSNISupport *snis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: TLSSNISupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::unbind(SSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:76,1
    - Dst: TLSSNISupport::_get_local_port
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:81,1
    - Dst: SNIConfig::scoped_config::get
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:82,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:83,1
    - Dst: SNIAction
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: TLSSNISupport::perform_sni_action
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - SNIAction
    - std::strlen
    - TLSSNISupport::get_sni_server_name
    - Dbg
    - TLSSNISupport::_get_local_port
    - SNIConfig::scoped_config::get
    linkageType: ''
    returnType: int
    signature: int TLSSNISupport::perform_sni_action(SSL &ssl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ClientHello::getExtension
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:102,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:120,1
    - Dst: TLSSNISupport::_set_sni_server_name_buffer
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:127,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - ClientHello
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: TLSSNISupport::on_client_hello
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - reinterpret_cast<const char *>
    - TLSSNISupport::_set_sni_server_name_buffer
    - ClientHello::getExtension
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::on_client_hello(ClientHello &client_hello)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:134,1
    - Dst: TLSSNISupport::_set_sni_server_name_buffer
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: TLSSNISupport::on_servername
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::_set_sni_server_name_buffer
    - SSL_get_servername
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::on_servername(SSL *ssl, int * /* al ATS_UNUSED
      */, void * /* arg ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:144,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:148,1
    - Dst: TLSSNISupport::_set_sni_server_name_buffer
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - name
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: TLSSNISupport::set_sni_server_name
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TLSSNISupport::_set_sni_server_name_buffer
    - SSL_set_tlsext_host_name
    - strnlen
    linkageType: ''
    returnType: bool
    signature: bool TLSSNISupport::set_sni_server_name(SSL *ssl, char const *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: TLSSNISupport::_clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:164,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: TLSSNISupport::get_sni_server_name
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSSNISupport::get_sni_server_name() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:170,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:171,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:171,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:172,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:172,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:172,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:173,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: TLSSNISupport::_set_sni_server_name_buffer
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 3
    functionsReached:
    - memcpy
    - char::char
    - reset
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void TLSSNISupport::_set_sni_server_name_buffer(std::string_view name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SNIConfig::scoped_config::get
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:188,1
    - Dst: TLSSNISupport::_get_local_port
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:188,1
    - Dst: TestClientSNIAction
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - servername
    - remote
    - enforcement_policy
    argTypes:
    - char*
    - IpEndpoint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: TLSSNISupport::would_have_actions_for
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::_get_local_port
    - SNIConfig::scoped_config::get
    - TestClientSNIAction
    linkageType: ''
    returnType: bool
    signature: bool TLSSNISupport::would_have_actions_for(const char *servername,
      IpEndpoint remote, int &enforcement_policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ext
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:201,1
    - Dst: SSL_early_callback_ctx_extension_get
      Src: /src/trafficserver/src/iocore/net/TLSSNISupport.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - out
    - outlen
    argTypes:
    - int
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: TLSSNISupport::ClientHello::getExtension(int type, const uint8_t
      **out, size_t *outlen)
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSNISupport.cc
    functionUses: 0
    functionsReached:
    - SSL_client_hello_get0_ext
    - SSL_early_callback_ctx_extension_get
    linkageType: ''
    returnType: int
    signature: int TLSSNISupport::ClientHello::getExtension(int type, const uint8_t
      **out, size_t *outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: QUICNetVConnection::_is_tunneling_requested
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _is_tunneling_requested() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: QUICNetVConnection::_switch_to_tunneling_mode
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _switch_to_tunneling_mode() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:37,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:38,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:38,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:40,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:41,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:42,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - _mutex
    - _vc
    argTypes:
    - ProxyMutex*
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: NetTesterSM
    functionSourceFile: /src/trafficserver/src/iocore/net/test_P_Net.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - ink_release_assert
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - MUTEX_TRY_LOCK
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void NetTesterSM(ProxyMutex *_mutex, NetVConnection *_vc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:53,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:54,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:55,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:56,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:57,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:62,1
    - Dst: char::char
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:63,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:64,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:65,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:66,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:68,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: handle_read
    functionSourceFile: /src/trafficserver/src/iocore/net/test_P_Net.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - do_io_close
    - read
    - read_avail
    - char::char
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_read(int event, [[maybe_unused]] void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _mutex
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: NetTesterAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/test_P_Net.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void NetTesterAccept(ProxyMutex *_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:83,1
    - Dst: fflush
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:84,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:86,1
    - Dst: NetTesterSM::NetTesterSM
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: handle_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/test_P_Net.cc
    functionUses: 0
    functionsReached:
    - printf
    - NetTesterSM::NetTesterSM
    - fflush
    - new_ProxyMutex
    linkageType: ''
    returnType: int
    signature: int handle_accept(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:94,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:95,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:96,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:97,1
    - Dst: accept
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:98,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:98,1
    - Dst: NetTesterAccept::NetTesterAccept
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:98,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/test_P_Net.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/net/test_P_Net.cc
    functionUses: 2
    functionsReached:
    - start
    - new_MIOBuffer
    - NetTesterAccept::NetTesterAccept
    - new_ProxyMutex
    - this_thread
    - accept
    - ink_event_system_init
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:35,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:35,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:36,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: send_plugin_event
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void send_plugin_event(Continuation *plugin, int event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:52,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:53,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:58,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: ssl_netvc_cast
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<NetVConnection *>
    - static_cast<VIO *>
    - dynamic_cast<SSLNetVConnection *>
    linkageType: ''
    returnType: SSLNetVConnection
    signature: 'SSLNetVConnection *

      ssl_netvc_cast(int event, void *edata)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:35,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:35,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:36,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: send_plugin_event
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void send_plugin_event(Continuation *plugin, int event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:52,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:53,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:58,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: ssl_netvc_cast
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<NetVConnection *>
    - static_cast<VIO *>
    - dynamic_cast<SSLNetVConnection *>
    linkageType: ''
    returnType: SSLNetVConnection
    signature: 'SSLNetVConnection *

      ssl_netvc_cast(int event, void *edata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - npn
    - mutex
    argTypes:
    - SSLNextProtocolAccept*
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: SSLNextProtocolTrampoline
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolTrampoline(const SSLNextProtocolAccept *npn, Ptr<ProxyMutex>
      &mutex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:85,1
    - Dst: VIO*::vc_server::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:93,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:105,1
    - Dst: send_plugin_event
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:107,1
    - Dst: SSLNetVConnection*::set_action
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:112,1
    - Dst: SSLNetVConnection*::endpoint
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:114,1
    - Dst: SSLNetVConnection*::do_io_read
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:122,1
    - Dst: send_plugin_event
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:124,1
    - Dst: SSLNetVConnection*::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 133
    functionName: ioCompletionEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection*::endpoint
    - dynamic_cast<SSLNetVConnection *>
    - send_plugin_event
    - SSLNetVConnection*::set_action
    - SSLNetVConnection*::do_io_close
    - SSLNetVConnection*::do_io_read
    - static_cast<VIO *>
    - VIO*::vc_server::do_io_close
    linkageType: ''
    returnType: int
    signature: int ioCompletionEvent(int event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_netvc_cast
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:141,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:143,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:146,1
    - Dst: SSLNetVConnection*::setTransparentPassThrough
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:148,1
    - Dst: SSLNetVConnection*::setAllowPlain
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:149,1
    - Dst: SSLNetVConnection*::registerNextProtocolSet
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:155,1
    - Dst: SSLNetVConnection*::do_io_read
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:156,1
    - Dst: SSLNextProtocolTrampoline::SSLNextProtocolTrampoline
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:156,1
    - Dst: SSLNetVConnection*::do_io_close
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: SSLNextProtocolAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - SSLNextProtocolTrampoline::SSLNextProtocolTrampoline
    - SSLNetVConnection*::setTransparentPassThrough
    - SSLNetVConnection*::registerNextProtocolSet
    - ssl_netvc_cast
    - Dbg
    - SSLNetVConnection*::do_io_read
    - SSLNetVConnection*::setAllowPlain
    - SSLNetVConnection*::do_io_close
    linkageType: ''
    returnType: int
    signature: int SSLNextProtocolAccept::mainEvent(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: SSLNextProtocolAccept::accept
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: bool
    signature: bool SSLNextProtocolAccept::accept(NetVConnection *, MIOBuffer *, IOBufferReader
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNextProtocolAccept::protoset::registerEndpoint
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - protocol
    - handler
    argTypes:
    - char*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: SSLNextProtocolAccept::registerEndpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SSLNextProtocolAccept::protoset::registerEndpoint
    linkageType: ''
    returnType: bool
    signature: bool SSLNextProtocolAccept::registerEndpoint(const char *protocol,
      Continuation *handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protos
    argTypes:
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: SSLNextProtocolAccept::enableProtocols
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolAccept::enableProtocols(const SessionProtocolSet
      &protos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:187,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ep
    - transparent_passthrough
    - allow_plain
    argTypes:
    - Continuation*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: SSLNextProtocolAccept::SSLNextProtocolAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_empty_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolAccept::SSLNextProtocolAccept(Continuation *ep,
      bool transparent_passthrough, bool allow_plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: SSLNextProtocolAccept::getProtoSet
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNextProtocolSet
    signature: 'SSLNextProtocolSet *

      SSLNextProtocolAccept::getProtoSet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: SSLNextProtocolAccept::~SSLNextProtocolAccept()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolAccept::~SSLNextProtocolAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketQueue::init
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: PacketQueue::PacketQueue
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - PacketQueue::init
    linkageType: ''
    returnType: void
    signature: void PacketQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~PacketQueue()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PacketQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: PacketQueue::init
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PacketQueue::IsCancelledPacket
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:105,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:106,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:112,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:130,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:138,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - e
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 143
    functionName: PacketQueue::addPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - UDPPacket*::free
    - enqueue
    - ink_assert
    - PacketQueue::IsCancelledPacket
    linkageType: ''
    returnType: void
    signature: void addPacket(UDPPacket *e, ink_hrtime now = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: PacketQueue::firstPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UDPPacket
    signature: "UDPPacket *\n  firstPacket(ink_hrtime t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketQueue::dequeue_ready
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: PacketQueue::getFirstPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - PacketQueue::dequeue_ready
    linkageType: ''
    returnType: UDPPacket
    signature: "UDPPacket *\n  getFirstPacket()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: PacketQueue::size
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket*::p::conn::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:173,1
    - Dst: UDPPacket*::p::conn::GetSendGenerationNumber
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: PacketQueue::IsCancelledPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 1
    functionsReached:
    - UDPPacket*::p::conn::shouldDestroy
    - UDPPacket*::p::conn::GetSendGenerationNumber
    linkageType: ''
    returnType: bool
    signature: bool IsCancelledPacket(UDPPacket *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:179,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:185,1
    - Dst: PacketQueue::IsCancelledPacket
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:186,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:187,1
    - Dst: Queue::enqueue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:190,1
    - Dst: Queue::dequeue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:193,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - numSlots
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: PacketQueue::FreeCancelledPackets
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - Queue::dequeue
    - Queue::enqueue
    - UDPPacket*::free
    - enqueue
    - dequeue
    - Queue::Queue
    - PacketQueue::IsCancelledPacket
    linkageType: ''
    returnType: void
    signature: void FreeCancelledPackets(int numSlots)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:204,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:205,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:212,1
    - Dst: Queue::enqueue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:213,1
    - Dst: Queue::dequeue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:215,1
    - Dst: PacketQueue::addPacket
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:216,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:227,1
    - Dst: PacketQueue::init
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:230,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:238,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 243
    functionName: PacketQueue::advanceNow
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - Queue::dequeue
    - Queue::enqueue
    - PacketQueue::init
    - ink_hrtime_to_msec
    - dequeue
    - Dbg
    - Queue::Queue
    - PacketQueue::addPacket
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void advanceNow(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:250,1
    - Dst: PacketQueue::remove
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: PacketQueue::remove
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 1
    functionsReached:
    - PacketQueue::remove
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void remove(UDPPacket *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:260,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:262,1
    - Dst: PacketQueue::advanceNow
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: PacketQueue::dequeue_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 1
    functionsReached:
    - dequeue
    - PacketQueue::advanceNow
    - ink_assert
    linkageType: ''
    returnType: UDPPacket
    signature: "UDPPacket *\n  dequeue_ready(ink_hrtime t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: PacketQueue::check_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_ready(ink_hrtime now)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: PacketQueue::earliest_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime earliest_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PollCont *>
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:362,1
    - Dst: ETHREAD_GET_PTR
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: get_UDPPollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - ETHREAD_GET_PTR
    - static_cast<PollCont *>
    linkageType: ''
    returnType: PollCont
    signature: 'PollCont *

      get_UDPPollCont(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPNetHandler *>
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:368,1
    - Dst: ETHREAD_GET_PTR
      Src: /src/trafficserver/src/iocore/net/P_UDPNet.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: get_UDPNetHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPNet.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPNetHandler *>
    - ETHREAD_GET_PTR
    linkageType: ''
    returnType: UDPNetHandler
    signature: 'UDPNetHandler *

      get_UDPNetHandler(EThread *t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_update
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:41,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:42,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:43,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - Note
    - ocsp_update
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:49,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: OCSPContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void OCSPContinuation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLInitializeLibrary
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:56,1
    - Dst: SSLClientCoordinator::startup
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:57,1
    - Dst: SSLPostConfigInitialize
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:58,1
    - Dst: SSLCertificateConfig::startup
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:60,1
    - Dst: SSLTicketKeyConfig::startup
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:63,1
    - Dst: SSLInitializeStatistics
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:66,1
    - Dst: spawn_event_threads
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:69,1
    - Dst: OCSPContinuation::OCSPContinuation
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:70,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:72,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:73,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - stacksize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: SSLNetProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::startup
    - SSLTicketKeyConfig::startup
    - schedule_every
    - HRTIME_SECONDS
    - SSLPostConfigInitialize
    - SSLInitializeStatistics
    - SSLClientCoordinator::startup
    - OCSPContinuation::OCSPContinuation
    - SSLInitializeLibrary
    - schedule_imm
    - spawn_event_threads
    linkageType: ''
    returnType: int
    signature: int SSLNetProcessor::start(int, size_t stacksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetAccept::SSLNetAccept
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: SSLNetProcessor::createNetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached:
    - SSLNetAccept::SSLNetAccept
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      SSLNetProcessor::createNetAccept(const NetProcessor::AcceptOptions &opt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:93,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:95,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: SSLNetProcessor::allocate_vc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC_INIT
    - alloc
    - likely
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      SSLNetProcessor::allocate_vc(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: SSLNetProcessor::SSLNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetProcessor::SSLNetProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: SSLNetProcessor::~SSLNetProcessor()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetProcessor::~SSLNetProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mutex
    - target
    argTypes:
    - ProxyMutex*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: ContWrapper::ContWrapper
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: "void ContWrapper(ProxyMutex   *mutex,                     ///< Mutex
      for this continuation (primary lock).\n              Continuation *target,                    ///<
      \"Real\" continuation we want to call.\n              int           eventId
      = EVENT_IMMEDIATE, ///< Event ID for invocation of @a target.\n              void
      \        *edata   = nullptr          ///< Data for invocation of @a target.\n
      \             )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:60,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:62,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:63,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:64,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: ContWrapper::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - is_locked
    - this_ethread
    - MUTEX_TRY_LOCK
    - schedule_imm
    linkageType: ''
    returnType: int
    signature: int event_handler(int, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:89,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:92,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:94,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:95,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:96,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:98,1
    - Dst: ContWrapper::ContWrapper
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mutex
    - target
    argTypes:
    - ProxyMutex*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: ContWrapper::wrap
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - this_ethread
    - ContWrapper::ContWrapper
    - Continuation*::handleEvent
    - MUTEX_TRY_LOCK
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: "void wrap(ProxyMutex   *mutex,                     ///< Mutex for
      this continuation (primary lock).\n       Continuation *target,                    ///<
      \"Real\" continuation we want to call.\n       int           eventId = EVENT_IMMEDIATE,
      ///< Event ID for invocation of @a target.\n       void         *edata   = nullptr
      \         ///< Data for invocation of @a target.\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mutex
    - target
    argTypes:
    - ProxyMutex*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: ContWrapper::ContWrapper
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: "void ContWrapper(ProxyMutex   *mutex,                     ///< Mutex
      for this continuation (primary lock).\n              Continuation *target,                    ///<
      \"Real\" continuation we want to call.\n              int           eventId
      = EVENT_IMMEDIATE, ///< Event ID for invocation of @a target.\n              void
      \        *edata   = nullptr          ///< Data for invocation of @a target.\n
      \             )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:60,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:62,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:63,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:64,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: ContWrapper::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - is_locked
    - this_ethread
    - MUTEX_TRY_LOCK
    - schedule_imm
    linkageType: ''
    returnType: int
    signature: int event_handler(int, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:89,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:92,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:94,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:95,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:96,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:98,1
    - Dst: ContWrapper::ContWrapper
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mutex
    - target
    argTypes:
    - ProxyMutex*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: ContWrapper::wrap
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - this_ethread
    - ContWrapper::ContWrapper
    - Continuation*::handleEvent
    - MUTEX_TRY_LOCK
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: "void wrap(ProxyMutex   *mutex,                     ///< Mutex for
      this continuation (primary lock).\n       Continuation *target,                    ///<
      \"Real\" continuation we want to call.\n       int           eventId = EVENT_IMMEDIATE,
      ///< Event ID for invocation of @a target.\n       void         *edata   = nullptr
      \         ///< Data for invocation of @a target.\n  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:114,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: TLSEventSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSEventSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:123,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: TLSEventSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - static_cast<TLSEventSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSEventSupport
    signature: 'TLSEventSupport *

      TLSEventSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - es
    argTypes:
    - SSL*
    - TLSEventSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: TLSEventSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::bind(SSL *ssl, TLSEventSupport *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: TLSEventSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: TLSEventSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::clear()
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:152,1
    - Dst: TLSEventSupport::get_ssl_handshake_hook_state_name
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:152,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:196,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:196,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:198,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:210,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:210,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:212,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:217,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:217,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:219,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:228,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:228,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:230,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:241,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:241,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:243,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:251,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:251,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:253,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:258,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:258,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:270,1
    - Dst: TLSEventSupport::_is_tunneling_requested
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:274,1
    - Dst: TLSEventSupport::_switch_to_tunneling_mode
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:275,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:285,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:285,1
    - Dst: invoke
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:286,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:286,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:290,1
    - Dst: TLSEventSupport::get_ssl_handshake_hook_state_name
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:290,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 1
    argNames:
    - eventId
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 294
    functionName: TLSEventSupport::callHooks
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - WEAK_SCOPED_MUTEX_LOCK
    - next
    - invoke
    - SSLAPIHooks::instance
    - TLSEventSupport::getContinuationForTLSEvents
    - Dbg
    - TLSEventSupport::_is_tunneling_requested
    - this_ethread
    - TLSEventSupport::get_ssl_handshake_hook_state_name
    - TLSEventSupport::_switch_to_tunneling_mode
    - TSSslHookInternalID
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool TLSEventSupport::callHooks(TSEvent eventId)
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 1
    argNames:
    - eventId
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 365
    functionName: TLSEventSupport::calledHooks
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSEventSupport::calledHooks(TSEvent eventId) const
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - SSLHandshakeHookState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 399
    functionName: TLSEventSupport::get_ssl_handshake_hook_state_name
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSEventSupport::get_ssl_handshake_hook_state_name(SSLHandshakeHookState state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: TLSEventSupport::get_handshake_hook_state
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLSEventSupport::SSLHandshakeHookState
    signature: TLSEventSupport::SSLHandshakeHookState TLSEventSupport::get_handshake_hook_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - TLSEventSupport::SSLHandshakeHookState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: TLSEventSupport::set_handshake_hook_state
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::set_handshake_hook_state(TLSEventSupport::SSLHandshakeHookState
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: TLSEventSupport::is_invoked_state
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSEventSupport::is_invoked_state() const
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:427,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:428,1
    - Dst: invoke
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:434,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:434,1
    - Dst: invoke
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:437,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:437,1
    - Dst: invoke
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:440,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:440,1
    - Dst: invoke
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:442,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:442,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:444,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:446,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:446,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:449,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:451,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:451,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:452,1
    - Dst: SSL_is_server
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:454,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:455,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:455,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:456,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:458,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:458,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:462,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:463,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:463,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:464,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:473,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:474,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:475,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:475,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:478,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:478,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:479,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:501,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:502,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:503,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:503,1
    - Dst: ContWrapper::wrap
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:506,1
    - Dst: TLSEventSupport::getMutexForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:506,1
    - Dst: TLSEventSupport::getContinuationForTLSEvents
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:507,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:525,1
    - Dst: TLSEventSupport::get_ssl_handshake_hook_state_name
      Src: /src/trafficserver/src/iocore/net/TLSEventSupport.cc:526,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 529
    functionName: TLSEventSupport::invoke_tls_event
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - TLSEventSupport::getMutexForTLSEvents
    - next
    - invoke
    - SSL_is_server
    - SSLAPIHooks::instance
    - Dbg
    - ContWrapper::wrap
    - TLSEventSupport::get_ssl_handshake_hook_state_name
    - TSSslHookInternalID
    - TLSEventSupport::getContinuationForTLSEvents
    linkageType: ''
    returnType: int
    signature: int TLSEventSupport::invoke_tls_event()
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 553
    functionName: TLSEventSupport::resume_tls_event
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEventSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSEventSupport::resume_tls_event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ExData::ExData
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:49,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: ExData::idx
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - BIO_get_ex_new_index
    linkageType: ''
    returnType: int
    signature: int idx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:63,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - idx_
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ExData::_new
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: void
    signature: void _new(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *ad,
      int idx_, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ExData::_free
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _free(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *
      /* ad */, int /* idx_ */, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:76,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - idx_
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ExData::_free
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: void
    signature: void _free(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *ad,
      int idx_, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ExData::_dup
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int _dup(CRYPTO_EX_DATA * /* to */, const CRYPTO_EX_DATA * /* from
      */, _Type_from_d /* from_d */, int /* idx */, long /* argl */,\n       void
      * /* argp */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    - Dst: BIO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    - Dst: ExData::idx
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - dest_addr
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: set_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_set_ex_data
    - ExData::idx
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void set_dest_addr_for_bio(BIO *b, void *dest_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:104,1
    - Dst: ExData::idx
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: get_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_get_ex_data
    - ExData::idx
    linkageType: ''
    returnType: void
    signature: 'void *

      get_dest_addr_for_bio(BIO *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - dest_addr
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: set_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_set_data
    linkageType: ''
    returnType: void
    signature: void set_dest_addr_for_bio(BIO *b, void *dest_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: get_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_get_data
    linkageType: ''
    returnType: void
    signature: 'void *

      get_dest_addr_for_bio(BIO *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ExData::ExData
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:49,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: ExData::idx
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - BIO_get_ex_new_index
    linkageType: ''
    returnType: int
    signature: int idx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:63,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - idx_
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ExData::_new
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: void
    signature: void _new(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *ad,
      int idx_, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ExData::_free
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _free(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *
      /* ad */, int /* idx_ */, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:76,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - idx_
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ExData::_free
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: void
    signature: void _free(void * /* parent */, void * /* ptr */, CRYPTO_EX_DATA *ad,
      int idx_, long /* argl */, void * /* argp */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ExData::_dup
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int _dup(CRYPTO_EX_DATA * /* to */, const CRYPTO_EX_DATA * /* from
      */, _Type_from_d /* from_d */, int /* idx */, long /* argl */,\n       void
      * /* argp */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    - Dst: BIO_set_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    - Dst: ExData::idx
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - dest_addr
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: set_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_set_ex_data
    - ExData::idx
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void set_dest_addr_for_bio(BIO *b, void *dest_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_ex_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:104,1
    - Dst: ExData::idx
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: get_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_get_ex_data
    - ExData::idx
    linkageType: ''
    returnType: void
    signature: 'void *

      get_dest_addr_for_bio(BIO *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - dest_addr
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: set_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_set_data
    linkageType: ''
    returnType: void
    signature: void set_dest_addr_for_bio(BIO *b, void *dest_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: get_dest_addr_for_bio
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_get_data
    linkageType: ''
    returnType: void
    signature: 'void *

      get_dest_addr_for_bio(BIO *b)'
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 186
    functionName: BIO_sock_non_fatal_error
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_sock_non_fatal_error(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:197,1
    - Dst: BIO_get_shutdown
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:197,1
    - Dst: BIO_meth_get_destroy
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:200,1
    - Dst: const_cast<BIO_METHOD *>
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:200,1
    - Dst: BIO_s_socket
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: fastopen_destroy
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_meth_get_destroy
    - BIO_s_socket
    - const_cast<BIO_METHOD *>
    - BIO_get_shutdown
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int fastopen_destroy(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:209,1
    - Dst: BIO_get_fd
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:210,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:212,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:212,1
    - Dst: get_dest_addr_for_bio
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:214,1
    - Dst: static_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:216,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:221,1
    - Dst: UnixSocket::sendto
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:222,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:222,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:224,1
    - Dst: set_dest_addr_for_bio
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:227,1
    - Dst: UnixSocket::write
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:229,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:234,1
    - Dst: BIO_set_retry_write
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - bio
    - in
    - insz
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: fastopen_bwrite
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - UnixSocket::is_ok
    - set_dest_addr_for_bio
    - BIO_sock_non_fatal_error
    - BIO_set_retry_write
    - BIO_clear_retry_flags
    - ats_ip_size
    - get_dest_addr_for_bio
    - static_cast<sockaddr *>
    - UnixSocket::write
    - BIO_get_fd
    - UnixSocket::sendto
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int fastopen_bwrite(BIO *bio, const char *in, int insz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:248,1
    - Dst: BIO_get_fd
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:249,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:251,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:251,1
    - Dst: UnixSocket::read
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:255,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:258,1
    - Dst: BIO_set_retry_read
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bio
    - out
    - outsz
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: fastopen_bread
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - UnixSocket::is_ok
    - BIO_sock_non_fatal_error
    - BIO_set_retry_read
    - BIO_clear_retry_flags
    - BIO_get_fd
    - UnixSocket::read
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int fastopen_bread(BIO *bio, char *out, int outsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_get_ctrl
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:271,1
    - Dst: const_cast<BIO_METHOD *>
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:271,1
    - Dst: BIO_s_socket
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - cmd
    - larg
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: fastopen_ctrl
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 0
    functionsReached:
    - BIO_s_socket
    - BIO_meth_get_ctrl
    - const_cast<BIO_METHOD *>
    linkageType: ''
    returnType: long
    signature: long fastopen_ctrl(BIO *bio, int cmd, long larg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: BIO_s_fastopen
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: 'BIO_METHOD *

      BIO_s_fastopen()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_dest_addr_for_bio
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:309,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/BIO_fastopen.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - dest_addr
    argTypes:
    - BIO*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: BIO_fastopen_set_dest_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/BIO_fastopen.cc
    functionUses: 1
    functionsReached:
    - const_cast<sockaddr *>
    - set_dest_addr_for_bio
    linkageType: ''
    returnType: void
    signature: void BIO_fastopen_set_dest_addr(BIO *bio, const sockaddr *dest_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TS_OCSP_CERTID *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:77,1
    - Dst: ASN1_item_dup
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:77,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:77,1
    - Dst: const_cast<TS_OCSP_CERTID *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: TS_OCSP_CERTID_dup
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_item_dup
    - static_cast<TS_OCSP_CERTID *>
    - const_cast<TS_OCSP_CERTID *>
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: TS_OCSP_CERTID
    signature: TS_OCSP_CERTID * TS_OCSP_CERTID_dup(const TS_OCSP_CERTID *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:292,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: HTTPRequest::HTTPRequest
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void HTTPRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fsm::ext_destroy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:298,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: ~HTTPRequest() override
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - _fsm::ext_destroy
    linkageType: ''
    returnType: void
    signature: void ~HTTPRequest() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::fetch
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:306,1
    - Dst: HTTPRequest::set_done
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:309,1
    - Dst: HTTPRequest::set_error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: HTTPRequest::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - HTTPRequest::fetch
    - HTTPRequest::set_done
    - HTTPRequest::set_error
    linkageType: ''
    returnType: int
    signature: int event_handler(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:322,1
    - Dst: inet_addr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:324,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:327,1
    - Dst: HTTPRequest::_fsm::ext_init
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:328,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - use_get
    - uri
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: HTTPRequest::set_request_line
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - memset
    - HTTPRequest::_fsm::ext_init
    - reinterpret_cast<sockaddr *>
    - inet_addr
    - alloc
    linkageType: ''
    returnType: void
    signature: void set_request_line(bool use_get, const char *uri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:339,1
    - Dst: const_cast<ASN1_VALUE *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:339,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:344,1
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:347,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - content_type
    - it
    - req
    argTypes:
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: HTTPRequest::set_body
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - HTTPRequest::add_header
    - ink_fast_itoa
    - const_cast<ASN1_VALUE *>
    linkageType: ''
    returnType: int
    signature: int set_body(const char *content_type, const ASN1_ITEM *it, const ASN1_VALUE
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::_fsm::ext_add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: HTTPRequest::add_header
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - HTTPRequest::_fsm::ext_add_header
    linkageType: ''
    returnType: void
    signature: void add_header(const char *name, int name_len, const char *value,
      int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: HTTPRequest::add_header
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 2
    functionsReached:
    - HTTPRequest::add_header
    - strlen
    linkageType: ''
    returnType: void
    signature: void add_header(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:368,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: HTTPRequest::is_initiated
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_initiated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:375,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: HTTPRequest::is_done
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:382,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: HTTPRequest::is_success
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_success()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:389,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:389,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:390,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:390,1
    - Dst: HTTPRequest::_fsm::ext_read_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:391,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: HTTPRequest::get_response_body
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - HTTPRequest::_fsm::ext_read_data
    - SCOPED_MUTEX_LOCK
    - static_cast<char *>
    - ats_malloc
    - this_ethread
    - reinterpret_cast<unsigned char *>
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n  get_response_body(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:404,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:404,1
    - Dst: HTTPRequest::_fsm::ext_launch
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:406,1
    - Dst: HTTPRequest::_fsm::ext_write_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: HTTPRequest::fetch
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - HTTPRequest::_fsm::ext_write_data
    - SCOPED_MUTEX_LOCK
    - HTTPRequest::_fsm::ext_launch
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void fetch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:413,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: HTTPRequest::set_done
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void set_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:420,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: HTTPRequest::set_error
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void set_error()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_CERTID_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:435,1
    - Dst: ASN1_OBJECT_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:440,1
    - Dst: EVP_MD_type
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:441,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:442,1
    - Dst: OBJ_nid2obj
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:445,1
    - Dst: ASN1_TYPE_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:448,1
    - Dst: X509_NAME_digest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:453,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:456,1
    - Dst: EVP_Digest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:461,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:465,1
    - Dst: ASN1_STRING_copy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:476,1
    - Dst: TS_OCSP_CERTID_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:478,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - dgst
    - issuerName
    - issuerKey
    - serialNumber
    argTypes:
    - EVP_MD*
    - X509_NAME*
    - ASN1_BIT_STRING*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 480
    functionName: TS_OCSP_cert_id_new
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_OBJECT_free
    - EVP_Digest
    - ASN1_OCTET_STRING_set
    - Dbg
    - EVP_MD_type
    - OBJ_nid2obj
    - ASN1_STRING_copy
    - TS_OCSP_CERTID_free
    - TS_OCSP_CERTID_new
    - X509_NAME_digest
    - ASN1_TYPE_new
    linkageType: ''
    returnType: TS_OCSP_CERTID
    signature: "TS_OCSP_CERTID *\nTS_OCSP_cert_id_new(const EVP_MD *dgst, const X509_NAME
      *issuerName, const ASN1_BIT_STRING *issuerKey,\n                    const ASN1_INTEGER
      *serialNumber)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:490,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:493,1
    - Dst: X509_get0_serialNumber
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:494,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:496,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:499,1
    - Dst: TS_OCSP_cert_id_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dgst
    - subject
    - issuer
    argTypes:
    - EVP_MD*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: TS_OCSP_cert_to_id
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - EVP_sha1
    - X509_get0_pubkey_bitstr
    - X509_get_issuer_name
    - TS_OCSP_cert_id_new
    - X509_get0_serialNumber
    linkageType: ''
    returnType: TS_OCSP_CERTID
    signature: 'TS_OCSP_CERTID *

      TS_OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, const X509 *issuer)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:509,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:512,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:516,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:517,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:527,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:528,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:539,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:540,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:544,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:545,1
    - Dst: ASN1_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:551,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - thisupd
    - nextupd
    - nsec
    - maxsec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 557
    functionName: TS_OCSP_check_validity
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - Dbg
    - X509_cmp_time
    - time
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, ASN1_GENERALIZEDTIME
      *nextupd, long nsec, long maxsec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_ONEREQ_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:564,1
    - Dst: TS_OCSP_CERTID_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:567,1
    - Dst: sk_TS_OCSP_ONEREQ_push
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:569,1
    - Dst: TS_OCSP_ONEREQ_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - req
    - cid
    argTypes:
    - TS_OCSP_REQUEST*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: TS_OCSP_request_add0_id
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_CERTID_free
    - TS_OCSP_ONEREQ_free
    - sk_TS_OCSP_ONEREQ_push
    - TS_OCSP_ONEREQ_new
    linkageType: ''
    returnType: TS_OCSP_ONEREQ
    signature: 'TS_OCSP_ONEREQ *

      TS_OCSP_request_add0_id(TS_OCSP_REQUEST *req, TS_OCSP_CERTID *cid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:583,1
    - Dst: OBJ_obj2nid
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:586,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:587,1
    - Dst: static_cast<TS_OCSP_BASICRESP *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    - Dst: ASN1_item_unpack
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - resp
    argTypes:
    - TS_OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: TS_OCSP_response_get1_basic
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - static_cast<TS_OCSP_BASICRESP *>
    - ASN1_ITEM_rptr
    - ASN1_item_unpack
    - Dbg
    - OBJ_obj2nid
    linkageType: ''
    returnType: TS_OCSP_BASICRESP
    signature: 'TS_OCSP_BASICRESP *

      TS_OCSP_response_get1_basic(TS_OCSP_RESPONSE *resp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:598,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:602,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TS_OCSP_CERTID*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: TS_OCSP_id_issuer_cmp
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_id_issuer_cmp(const TS_OCSP_CERTID *a, const TS_OCSP_CERTID
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_id_issuer_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:613,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TS_OCSP_CERTID*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: TS_OCSP_id_cmp
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_id_issuer_cmp
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_id_cmp(const TS_OCSP_CERTID *a, const TS_OCSP_CERTID *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:624,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:636,1
    - Dst: sk_TS_OCSP_SINGLERESP_num
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:636,1
    - Dst: sk_TS_OCSP_SINGLERESP_value
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:637,1
    - Dst: TS_OCSP_id_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bs
    - id
    - last
    argTypes:
    - TS_OCSP_BASICRESP*
    - TS_OCSP_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 643
    functionName: TS_OCSP_resp_find
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sk_TS_OCSP_SINGLERESP_num
    - TS_OCSP_id_cmp
    - sk_TS_OCSP_SINGLERESP_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_resp_find(TS_OCSP_BASICRESP *bs, TS_OCSP_CERTID *id, int
      last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_TS_OCSP_SINGLERESP_value
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - idx
    argTypes:
    - TS_OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: TS_OCSP_resp_get0
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - sk_TS_OCSP_SINGLERESP_value
    linkageType: ''
    returnType: TS_OCSP_SINGLERESP
    signature: 'TS_OCSP_SINGLERESP *

      TS_OCSP_resp_get0(TS_OCSP_BASICRESP *bs, int idx)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - single
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - TS_OCSP_SINGLERESP*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 687
    functionName: TS_OCSP_single_get0_status
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: "int TS_OCSP_single_get0_status(TS_OCSP_SINGLERESP *single, int *reason,
      ASN1_GENERALIZEDTIME **revtime, ASN1_GENERALIZEDTIME **thisupd,\n                           ASN1_GENERALIZEDTIME
      **nextupd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_resp_find
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:693,1
    - Dst: TS_OCSP_resp_get0
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:700,1
    - Dst: TS_OCSP_single_get0_status
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - bs
    - id
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - TS_OCSP_BASICRESP*
    - TS_OCSP_CERTID*
    - int*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 709
    functionName: TS_OCSP_resp_find_status
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_resp_find
    - TS_OCSP_resp_get0
    - TS_OCSP_single_get0_status
    linkageType: ''
    returnType: int
    signature: "int TS_OCSP_resp_find_status(TS_OCSP_BASICRESP *bs, TS_OCSP_CERTID
      *id, int *status, int *reason, ASN1_GENERALIZEDTIME **revtime,\n                         ASN1_GENERALIZEDTIME
      **thisupd, ASN1_GENERALIZEDTIME **nextupd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:292,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: HTTPRequest::HTTPRequest
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void HTTPRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fsm::ext_destroy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:298,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: ~HTTPRequest() override
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - _fsm::ext_destroy
    linkageType: ''
    returnType: void
    signature: void ~HTTPRequest() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::fetch
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:306,1
    - Dst: HTTPRequest::set_done
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:309,1
    - Dst: HTTPRequest::set_error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: HTTPRequest::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - HTTPRequest::fetch
    - HTTPRequest::set_done
    - HTTPRequest::set_error
    linkageType: ''
    returnType: int
    signature: int event_handler(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:322,1
    - Dst: inet_addr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:324,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:327,1
    - Dst: HTTPRequest::_fsm::ext_init
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:328,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - use_get
    - uri
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: HTTPRequest::set_request_line
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - memset
    - HTTPRequest::_fsm::ext_init
    - reinterpret_cast<sockaddr *>
    - inet_addr
    - alloc
    linkageType: ''
    returnType: void
    signature: void set_request_line(bool use_get, const char *uri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:339,1
    - Dst: const_cast<ASN1_VALUE *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:339,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:344,1
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:347,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - content_type
    - it
    - req
    argTypes:
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: HTTPRequest::set_body
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - HTTPRequest::add_header
    - ink_fast_itoa
    - const_cast<ASN1_VALUE *>
    linkageType: ''
    returnType: int
    signature: int set_body(const char *content_type, const ASN1_ITEM *it, const ASN1_VALUE
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::_fsm::ext_add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: HTTPRequest::add_header
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 3
    functionsReached:
    - HTTPRequest::_fsm::ext_add_header
    linkageType: ''
    returnType: void
    signature: void add_header(const char *name, int name_len, const char *value,
      int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: HTTPRequest::add_header
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 4
    functionsReached:
    - HTTPRequest::add_header
    - strlen
    linkageType: ''
    returnType: void
    signature: void add_header(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:368,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: HTTPRequest::is_initiated
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_initiated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:375,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: HTTPRequest::is_done
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:382,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: HTTPRequest::is_success
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool is_success()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:389,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:389,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:390,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:390,1
    - Dst: HTTPRequest::_fsm::ext_read_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:391,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: HTTPRequest::get_response_body
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - HTTPRequest::_fsm::ext_read_data
    - SCOPED_MUTEX_LOCK
    - static_cast<char *>
    - ats_malloc
    - this_ethread
    - reinterpret_cast<unsigned char *>
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n  get_response_body(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:404,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:404,1
    - Dst: HTTPRequest::_fsm::ext_launch
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:406,1
    - Dst: HTTPRequest::_fsm::ext_write_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: HTTPRequest::fetch
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 2
    functionsReached:
    - HTTPRequest::_fsm::ext_write_data
    - SCOPED_MUTEX_LOCK
    - HTTPRequest::_fsm::ext_launch
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void fetch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:413,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: HTTPRequest::set_done
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 2
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void set_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:420,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: HTTPRequest::set_error
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 2
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void set_error()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_CERTID_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:435,1
    - Dst: ASN1_OBJECT_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:440,1
    - Dst: EVP_MD_type
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:441,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:442,1
    - Dst: OBJ_nid2obj
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:445,1
    - Dst: ASN1_TYPE_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:448,1
    - Dst: X509_NAME_digest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:453,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:456,1
    - Dst: EVP_Digest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:461,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:465,1
    - Dst: ASN1_STRING_copy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:476,1
    - Dst: TS_OCSP_CERTID_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:478,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - dgst
    - issuerName
    - issuerKey
    - serialNumber
    argTypes:
    - EVP_MD*
    - X509_NAME*
    - ASN1_BIT_STRING*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 480
    functionName: TS_OCSP_cert_id_new
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - ASN1_OBJECT_free
    - EVP_Digest
    - ASN1_OCTET_STRING_set
    - Dbg
    - EVP_MD_type
    - OBJ_nid2obj
    - ASN1_STRING_copy
    - TS_OCSP_CERTID_free
    - TS_OCSP_CERTID_new
    - X509_NAME_digest
    - ASN1_TYPE_new
    linkageType: ''
    returnType: TS_OCSP_CERTID
    signature: "TS_OCSP_CERTID *\nTS_OCSP_cert_id_new(const EVP_MD *dgst, const X509_NAME
      *issuerName, const ASN1_BIT_STRING *issuerKey,\n                    const ASN1_INTEGER
      *serialNumber)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:490,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:493,1
    - Dst: X509_get0_serialNumber
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:494,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:496,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:499,1
    - Dst: TS_OCSP_cert_id_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dgst
    - subject
    - issuer
    argTypes:
    - EVP_MD*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: TS_OCSP_cert_to_id
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - EVP_sha1
    - X509_get0_pubkey_bitstr
    - X509_get_issuer_name
    - TS_OCSP_cert_id_new
    - X509_get0_serialNumber
    linkageType: ''
    returnType: TS_OCSP_CERTID
    signature: 'TS_OCSP_CERTID *

      TS_OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, const X509 *issuer)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:509,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:512,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:516,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:517,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:527,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:528,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:539,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:540,1
    - Dst: X509_cmp_time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:544,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:545,1
    - Dst: ASN1_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:551,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:552,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - thisupd
    - nextupd
    - nsec
    - maxsec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 557
    functionName: TS_OCSP_check_validity
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - Dbg
    - X509_cmp_time
    - time
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, ASN1_GENERALIZEDTIME
      *nextupd, long nsec, long maxsec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_ONEREQ_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:564,1
    - Dst: TS_OCSP_CERTID_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:567,1
    - Dst: sk_TS_OCSP_ONEREQ_push
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:569,1
    - Dst: TS_OCSP_ONEREQ_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - req
    - cid
    argTypes:
    - TS_OCSP_REQUEST*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: TS_OCSP_request_add0_id
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_CERTID_free
    - TS_OCSP_ONEREQ_free
    - sk_TS_OCSP_ONEREQ_push
    - TS_OCSP_ONEREQ_new
    linkageType: ''
    returnType: TS_OCSP_ONEREQ
    signature: 'TS_OCSP_ONEREQ *

      TS_OCSP_request_add0_id(TS_OCSP_REQUEST *req, TS_OCSP_CERTID *cid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:583,1
    - Dst: OBJ_obj2nid
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:586,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:587,1
    - Dst: static_cast<TS_OCSP_BASICRESP *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    - Dst: ASN1_item_unpack
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - resp
    argTypes:
    - TS_OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: TS_OCSP_response_get1_basic
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - static_cast<TS_OCSP_BASICRESP *>
    - ASN1_ITEM_rptr
    - ASN1_item_unpack
    - Dbg
    - OBJ_obj2nid
    linkageType: ''
    returnType: TS_OCSP_BASICRESP
    signature: 'TS_OCSP_BASICRESP *

      TS_OCSP_response_get1_basic(TS_OCSP_RESPONSE *resp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:598,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:602,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TS_OCSP_CERTID*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: TS_OCSP_id_issuer_cmp
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_id_issuer_cmp(const TS_OCSP_CERTID *a, const TS_OCSP_CERTID
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_id_issuer_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:613,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TS_OCSP_CERTID*
    - TS_OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: TS_OCSP_id_cmp
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - TS_OCSP_id_issuer_cmp
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_id_cmp(const TS_OCSP_CERTID *a, const TS_OCSP_CERTID *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:624,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:636,1
    - Dst: sk_TS_OCSP_SINGLERESP_num
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:636,1
    - Dst: sk_TS_OCSP_SINGLERESP_value
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:637,1
    - Dst: TS_OCSP_id_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bs
    - id
    - last
    argTypes:
    - TS_OCSP_BASICRESP*
    - TS_OCSP_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 643
    functionName: TS_OCSP_resp_find
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - sk_TS_OCSP_SINGLERESP_num
    - TS_OCSP_id_cmp
    - sk_TS_OCSP_SINGLERESP_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int TS_OCSP_resp_find(TS_OCSP_BASICRESP *bs, TS_OCSP_CERTID *id, int
      last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_TS_OCSP_SINGLERESP_value
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - idx
    argTypes:
    - TS_OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: TS_OCSP_resp_get0
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - sk_TS_OCSP_SINGLERESP_value
    linkageType: ''
    returnType: TS_OCSP_SINGLERESP
    signature: 'TS_OCSP_SINGLERESP *

      TS_OCSP_resp_get0(TS_OCSP_BASICRESP *bs, int idx)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - single
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - TS_OCSP_SINGLERESP*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 687
    functionName: TS_OCSP_single_get0_status
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: "int TS_OCSP_single_get0_status(TS_OCSP_SINGLERESP *single, int *reason,
      ASN1_GENERALIZEDTIME **revtime, ASN1_GENERALIZEDTIME **thisupd,\n                           ASN1_GENERALIZEDTIME
      **nextupd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_resp_find
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:693,1
    - Dst: TS_OCSP_resp_get0
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:700,1
    - Dst: TS_OCSP_single_get0_status
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - bs
    - id
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - TS_OCSP_BASICRESP*
    - TS_OCSP_CERTID*
    - int*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 709
    functionName: TS_OCSP_resp_find_status
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_resp_find
    - TS_OCSP_resp_get0
    - TS_OCSP_single_get0_status
    linkageType: ''
    returnType: int
    signature: "int TS_OCSP_resp_find_status(TS_OCSP_BASICRESP *bs, TS_OCSP_CERTID
      *id, int *status, int *reason, ASN1_GENERALIZEDTIME **revtime,\n                         ASN1_GENERALIZEDTIME
      **thisupd, ASN1_GENERALIZEDTIME **nextupd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<certinfo_map *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:722,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:731,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:734,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:735,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:737,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 741
    functionName: certinfo_map_free
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - static_cast<certinfo_map *>
    - ats_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void certinfo_map_free(void * /*parent*/, void *ptr, CRYPTO_EX_DATA
      * /*ad*/, int /*idx*/, long /*argl*/, void * /*argp*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: ssl_stapling_ex_init
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: void ssl_stapling_ex_init()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:758,1
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:759,1
    - Dst: X509_STORE_CTX_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:760,1
    - Dst: SSL_CTX_select_current_cert
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:767,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:768,1
    - Dst: X509_STORE_CTX_init
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:772,1
    - Dst: SSL_CTX_get_extra_chain_certs
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:777,1
    - Dst: sk_X509_num
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:782,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:786,1
    - Dst: sk_X509_num
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:786,1
    - Dst: sk_X509_value
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:787,1
    - Dst: X509_check_issued
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:788,1
    - Dst: X509_up_ref
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:789,1
    - Dst: X509_STORE_CTX_get1_issuer
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:794,1
    - Dst: X509_STORE_CTX_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:799,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - ssl_ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 802
    functionName: stapling_get_issuer
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sk_X509_num
    - Warning
    - SSL_CTX_select_current_cert
    - X509_STORE_CTX_init
    - SSL_CTX_get_cert_store
    - sk_X509_value
    - X509_STORE_CTX_get1_issuer
    - X509_STORE_CTX_free
    - SSL_CTX_get_extra_chain_certs
    - X509_up_ref
    - STACK_OF
    - X509_check_issued
    - X509_STORE_CTX_new
    linkageType: ''
    returnType: X509
    signature: 'X509 *

      stapling_get_issuer(SSL_CTX *ssl_ctx, X509 *x)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_TS_OCSP_RESPONSE
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:812,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:815,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:820,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:824,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:825,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:828,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:829,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - rsp
    - cinf
    argTypes:
    - TS_OCSP_RESPONSE*
    - certinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 833
    functionName: stapling_cache_response
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Error
    - ink_mutex_release
    - Dbg
    - ink_mutex_acquire
    - time
    - i2d_TS_OCSP_RESPONSE
    linkageType: ''
    returnType: bool
    signature: bool stapling_cache_response(TS_OCSP_RESPONSE *rsp, certinfo *cinf)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:839,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:843,1
    - Dst: static_cast<certinfo_map *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:847,1
    - Dst: SSL_CTX_get_ex_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:847,1
    - Dst: certinfo_map*::find
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:848,1
    - Dst: certinfo_map*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:848,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:849,1
    - Dst: certinfo_map::certinfo_map
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:854,1
    - Dst: static_cast<certinfo *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:856,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:856,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:858,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:866,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:868,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:871,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:877,1
    - Dst: fopen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:878,1
    - Dst: fseek
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:880,1
    - Dst: ftell
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:881,1
    - Dst: rewind
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:883,1
    - Dst: static_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:884,1
    - Dst: malloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:884,1
    - Dst: fread
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:885,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:886,1
    - Dst: d2i_TS_OCSP_RESPONSE
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:888,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:890,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:892,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:894,1
    - Dst: fclose
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:896,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:900,1
    - Dst: stapling_cache_response
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:904,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:905,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:908,1
    - Dst: TS_OCSP_RESPONSE_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:909,1
    - Dst: scoped_X509::reset
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:914,1
    - Dst: stapling_get_issuer
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:914,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:915,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:916,1
    - Dst: TS_OCSP_cert_to_id
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:920,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:920,1
    - Dst: X509_digest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:925,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:925,1
    - Dst: X509_get1_ocsp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:927,1
    - Dst: sk_OPENSSL_STRING_pop
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:929,1
    - Dst: X509_email_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:930,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:934,1
    - Dst: X509_up_ref
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:939,1
    - Dst: certinfo_map*::insert
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:942,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:942,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:943,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:945,1
    - Dst: TS_OCSP_CERTID_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:950,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:953,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:954,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:957,1
    - Dst: TS_OCSP_RESPONSE_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:964,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 105
    argCount: 4
    argNames:
    - ctx
    - cert
    - certname
    - rsp_file
    argTypes:
    - SSL_CTX*
    - X509*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 968
    functionName: ssl_stapling_init_cert
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - scoped_X509::get
    - fseek
    - scoped_X509::reset
    - fread
    - certinfo_map*::find
    - TS_OCSP_cert_to_id
    - sk_OPENSSL_STRING_pop
    - ats_free
    - X509_email_free
    - d2i_TS_OCSP_RESPONSE
    - X509_get1_ocsp
    - fclose
    - std::make_pair
    - EVP_sha1
    - static_cast<certinfo *>
    - X509_up_ref
    - STACK_OF
    - ftell
    - stapling_get_issuer
    - Error
    - stapling_cache_response
    - ats_strdup
    - Dbg
    - static_cast<size_t>
    - Note
    - certinfo_map*::insert
    - X509_digest
    - ink_mutex_init
    - rewind
    - OPENSSL_free
    - SSL_CTX_get_ex_data
    - OPENSSL_malloc
    - static_cast<unsigned char *>
    - free
    - static_cast<certinfo_map *>
    - TS_OCSP_RESPONSE_free
    - certinfo_map::certinfo_map
    - fopen
    - TS_OCSP_CERTID_free
    - SSL_CTX_set_ex_data
    - certinfo_map*::end
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool ssl_stapling_init_cert(SSL_CTX *ctx, X509 *cert, const char *certname,
      const char *rsp_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<certinfo_map *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:976,1
    - Dst: SSL_CTX_get_ex_data
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:976,1
    - Dst: certinfo_map*::empty
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:977,1
    - Dst: certinfo_map*::begin
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:977,1
    - Dst: certinfo_map*::begin
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 982
    functionName: stapling_get_cert_info
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - static_cast<certinfo_map *>
    - SSL_CTX_get_ex_data
    - certinfo_map*::empty
    - certinfo_map*::begin
    linkageType: ''
    returnType: certinfo_map
    signature: 'certinfo_map *

      stapling_get_cert_info(SSL_CTX *ctx)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:990,1
    - Dst: TS_OCSP_response_get1_basic
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:998,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1001,1
    - Dst: TS_OCSP_resp_find_status
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1004,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1006,1
    - Dst: TS_OCSP_check_validity
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1008,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1010,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1018,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1021,1
    - Dst: TS_OCSP_BASICRESP_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - cinf
    - rsp
    argTypes:
    - certinfo*
    - TS_OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 1030
    functionName: stapling_check_response
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_check_validity
    - ts::Metrics::Counter::increment
    - ASN1_ENUMERATED_get
    - Error
    - TS_OCSP_BASICRESP_free
    - TS_OCSP_response_get1_basic
    - TS_OCSP_resp_find_status
    linkageType: ''
    returnType: int
    signature: int stapling_check_response(certinfo *cinf, TS_OCSP_RESPONSE *rsp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1038,1
    - Dst: ink_hrtime_add
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1039,1
    - Dst: ink_hrtime_from_sec
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1039,1
    - Dst: HTTPRequest::HTTPRequest
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1041,1
    - Dst: HTTPRequest::set_request_line
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1043,1
    - Dst: strstr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1046,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1047,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1049,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1052,1
    - Dst: HTTPRequest::add_header
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1056,1
    - Dst: HTTPRequest::set_body
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1061,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1061,1
    - Dst: reinterpret_cast<const ASN1_VALUE *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1061,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1063,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1069,1
    - Dst: ink_hrtime_sleep
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1073,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1073,1
    - Dst: HTTPRequest::is_done
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1074,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1074,1
    - Dst: HTTPRequest::is_done
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1076,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1077,1
    - Dst: HTTPRequest::is_initiated
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1078,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1079,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1080,1
    - Dst: HTTPRequest::is_success
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1084,1
    - Dst: HTTPRequest::get_response_body
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1087,1
    - Dst: reinterpret_cast<TS_OCSP_RESPONSE *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1089,1
    - Dst: ASN1_item_d2i
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1089,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1089,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1092,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1097,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1099,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1102,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - uri
    - user_agent
    - req
    - req_timeout
    - use_get
    argTypes:
    - char*
    - char*
    - TS_OCSP_REQUEST*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1108
    functionName: query_responder
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - HTTPRequest::set_request_line
    - strchr
    - ink_hrtime_from_sec
    - HTTPRequest::is_success
    - ats_free
    - HTTPRequest::is_initiated
    - strstr
    - HTTPRequest::set_body
    - reinterpret_cast<TS_OCSP_RESPONSE *>
    - HTTPRequest::add_header
    - Error
    - ink_hrtime_add
    - Dbg
    - ASN1_item_d2i
    - strlen
    - HTTPRequest::HTTPRequest
    - Event*::cancel
    - ink_hrtime_sleep
    - schedule_imm
    - ink_get_hrtime
    - HRTIME_MSECONDS
    - HTTPRequest::is_done
    - reinterpret_cast<const ASN1_VALUE *>
    - HTTPRequest::get_response_body
    linkageType: ''
    returnType: TS_OCSP_RESPONSE
    signature: 'TS_OCSP_RESPONSE *

      query_responder(const char *uri, const char *user_agent, TS_OCSP_REQUEST *req,
      int req_timeout, bool use_get)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: i2d_TS_OCSP_REQUEST
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1144,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1150,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1153,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1155,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1157,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1158,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1161,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1162,1
    - Dst: Encoding::pure_escapify_url
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1164,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1166,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1169,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1172,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1174,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1178,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1179,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1184,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1189,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1191,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1192,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1194,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1194,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1194,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1195,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1198,1
    - Dst: IOBufferBlock*::size
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1198,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1199,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1199,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1199,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1200,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1203,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1203,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1203,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1204,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1205,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - req
    - base_url
    argTypes:
    - TS_OCSP_REQUEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1133
    functionDepth: 3
    functionLinenumber: 1133
    functionLinenumberEnd: 1208
    functionName: make_url_for_get
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode
    - OPENSSL_free
    - IOBufferBlock*::fill
    - ink_strlcpy
    - Encoding::pure_escapify_url
    - Error
    - i2d_TS_OCSP_REQUEST
    - IOBufferBlock*::size
    - Dbg
    - IOBufferBlock*::alloc
    - IOBufferBlock*::buf
    - IOBufferBlock*::end
    - strlen
    - ink_strlcat
    - BUFFER_SIZE_FOR_INDEX
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: IOBufferBlock
    signature: 'IOBufferBlock *

      make_url_for_get(TS_OCSP_REQUEST *req, const char *base_url)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TS_OCSP_REQUEST_new
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1223,1
    - Dst: TS_OCSP_CERTID_dup
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1227,1
    - Dst: TS_OCSP_request_add0_id
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1231,1
    - Dst: make_url_for_get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1236,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1238,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1247,1
    - Dst: query_responder
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1249,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1254,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1256,1
    - Dst: stapling_check_response
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1257,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1259,1
    - Dst: stapling_cache_response
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1263,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1264,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1266,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1272,1
    - Dst: TS_OCSP_REQUEST_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1276,1
    - Dst: TS_OCSP_RESPONSE_free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1279,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1282,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - cinf
    - prsp
    argTypes:
    - certinfo*
    - TS_OCSP_RESPONSE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1210
    functionDepth: 5
    functionLinenumber: 1210
    functionLinenumberEnd: 1285
    functionName: stapling_refresh_response
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - TS_OCSP_REQUEST_new
    - make_url_for_get
    - TS_OCSP_CERTID_dup
    - ASN1_ENUMERATED_get
    - IOBufferBlock*::free
    - TS_OCSP_RESPONSE_free
    - Error
    - stapling_cache_response
    - TS_OCSP_request_add0_id
    - IOBufferBlock*::buf
    - Dbg
    - query_responder
    - TS_OCSP_REQUEST_free
    - stapling_check_response
    linkageType: ''
    returnType: bool
    signature: bool stapling_refresh_response(certinfo *cinf, TS_OCSP_RESPONSE **prsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FetchSM::is_initialized
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1290,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1291,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1298,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1302,1
    - Dst: SSLCertificateConfig::scoped_config::count
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1309,1
    - Dst: SSLCertificateConfig::scoped_config::get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1311,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1313,1
    - Dst: stapling_get_cert_info
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1316,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1316,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1321,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1322,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1324,1
    - Dst: stapling_refresh_response
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1325,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1326,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1327,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1329,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1330,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1333,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1287
    functionDepth: 6
    functionLinenumber: 1287
    functionLinenumberEnd: 1343
    functionName: ocsp_update
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - SSLCertificateConfig::scoped_config::get
    - shared_SSL_CTX::get
    - stapling_get_cert_info
    - Error
    - FetchSM::is_initialized
    - SSLCertificateConfig::scoped_config::count
    - stapling_refresh_response
    - Dbg
    - SSLCertContext*::getCtx
    - ink_mutex_acquire
    - time
    - ink_mutex_release
    linkageType: ''
    returnType: OCSPStatus
    signature: OCSPStatus ocsp_update()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stapling_get_cert_info
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1352,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1352,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1354,1
    - Dst: certinfo_map*::empty
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1358,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1359,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1364,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1366,1
    - Dst: certinfo_map*::find
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1372,1
    - Dst: certinfo_map*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1373,1
    - Dst: certinfo_map*::begin
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1377,1
    - Dst: certinfo_map*::end
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1377,1
    - Dst: X509_cmp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1383,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1391,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1395,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1396,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1398,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1399,1
    - Dst: static_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1402,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1402,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1403,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1404,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1405,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1406,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/OCSPStapling.cc:1407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1410
    functionName: ssl_callback_ocsp_stapling
    functionSourceFile: /src/trafficserver/src/iocore/net/OCSPStapling.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - SSL_set_tlsext_status_ocsp_resp
    - OPENSSL_malloc
    - static_cast<unsigned char *>
    - SSL_get_SSL_CTX
    - stapling_get_cert_info
    - certinfo_map*::begin
    - Error
    - certinfo_map*::find
    - X509_cmp
    - Dbg
    - ink_mutex_release
    - ink_mutex_acquire
    - time
    - certinfo_map*::end
    - SSL_get_certificate
    - certinfo_map*::empty
    linkageType: ''
    returnType: int
    signature: int ssl_callback_ocsp_stapling(SSL *ssl, void *)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUICSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:54,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:58,1
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:59,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:60,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: ControlQUIC::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - QUICSupport::getInstance
    - DbgPrint
    - auto::get_sni_server_name
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int ControlQUIC::SNIAction([[maybe_unused]] SSL &ssl, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:74,1
    - Dst: ALPNSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:75,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:81,1
    - Dst: auto::disableProtocol
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:84,1
    - Dst: auto::enableProtocol
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: ControlH2::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - auto::disableProtocol
    - Dbg
    - auto::get_sni_server_name
    - TLSSNISupport::getInstance
    - ALPNSupport::getInstance
    - auto::enableProtocol
    linkageType: ''
    returnType: int
    signature: int ControlH2::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: HTTP2BufferWaterMark::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2BufferWaterMark::SNIAction(SSL &ssl, const Context & /* ctx
      ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: HTTP2InitialWindowSizeIn::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2InitialWindowSizeIn::SNIAction(SSL &ssl, const Context & /*
      ctx ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: HTTP2MaxSettingsFramesPerMinute::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2MaxSettingsFramesPerMinute::SNIAction(SSL &ssl, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: HTTP2MaxPingFramesPerMinute::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2MaxPingFramesPerMinute::SNIAction(SSL &ssl, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: HTTP2MaxPriorityFramesPerMinute::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2MaxPriorityFramesPerMinute::SNIAction(SSL &ssl, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: HTTP2MaxRstStreamFramesPerMinute::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2MaxRstStreamFramesPerMinute::SNIAction(SSL &ssl, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: HTTP2MaxContinuationFramesPerMinute::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int HTTP2MaxContinuationFramesPerMinute::SNIAction(SSL &ssl, const
      Context & /* ctx ATS_UNUSED */) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:162,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:163,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:167,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:168,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:168,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:168,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:170,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:173,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:177,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - dest
    - type
    - prewarm
    - alpn
    argTypes:
    - std::string_view
    - SNIRoutingType
    - YamlSNIConfig::TunnelPreWarm
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: TunnelDestination::TunnelDestination
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - find_first_of
    - Error
    - push_back
    - data
    - size
    linkageType: ''
    returnType: void
    signature: "void TunnelDestination::TunnelDestination(const std::string_view &dest,
      SNIRoutingType type, YamlSNIConfig::TunnelPreWarm prewarm,\n                                     const
      std::vector<int> &alpn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:185,1
    - Dst: TLSTunnelSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:186,1
    - Dst: ALPNSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:187,1
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:188,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:194,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:195,1
    - Dst: auto::set_tunnel_destination
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:196,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:197,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:197,1
    - Dst: auto::set_tunnel_destination
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:207,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:207,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:207,1
    - Dst: auto::enableProtocol
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - ctx
    argTypes:
    - SSL
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 220
    functionName: TunnelDestination::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - auto::set_tunnel_destination
    - SSLNetVCAccess
    - Dbg
    - c_str
    - TLSTunnelSupport::getInstance
    - auto::get_sni_server_name
    - TLSSNISupport::getInstance
    - empty
    - ALPNSupport::getInstance
    - auto::enableProtocol
    linkageType: ''
    returnType: int
    signature: int TunnelDestination::SNIAction(SSL &ssl, const Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:225,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:226,1
    - Dst: std::begin
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:226,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:226,1
    - Dst: std::isdigit
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:226,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: TunnelDestination::is_number
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - std::isdigit
    - std::string_view::empty
    - end
    - std::find_if
    - std::begin
    linkageType: ''
    returnType: bool
    signature: bool TunnelDestination::is_number(std::string_view s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:239,1
    - Dst: ActionItem::Context::CapturedGroupViewVec::empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:239,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:245,1
    - Dst: std::begin
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:250,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:256,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:263,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:267,1
    - Dst: TunnelDestination::is_number
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:268,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:273,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:274,1
    - Dst: ActionItem::Context::CapturedGroupViewVec::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:274,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:285,1
    - Dst: std::advance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:286,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:286,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - dst
    - groups
    - port_is_dynamic
    argTypes:
    - std::string_view
    - ActionItem::Context::CapturedGroupViewVec
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 294
    functionName: TunnelDestination::replace_match_groups
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ActionItem::Context::CapturedGroupViewVec::empty
    - std::string_view::substr
    - std::string_view::empty
    - end
    - std::string_view::find
    - std::string_view::size
    - std::advance
    - TunnelDestination::is_number
    - swoc::SWOC_VERSION_NS::svtoi
    - ActionItem::Context::CapturedGroupViewVec::size
    - std::begin
    linkageType: ''
    returnType: std::string
    signature: "std::string TunnelDestination::replace_match_groups(std::string_view
      dst, const ActionItem::Context::CapturedGroupViewVec &groups,\n                                        bool
      &port_is_dynamic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:299,1
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:300,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:306,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:307,1
    - Dst: setClientCertLevel
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:308,1
    - Dst: auto::set_ca_cert_file
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:309,1
    - Dst: setClientCertCACerts
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:310,1
    - Dst: auto::get_ca_cert_file
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:310,1
    - Dst: auto::get_ca_cert_dir
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: VerifyClient::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - auto::set_ca_cert_file
    - SSLNetVCAccess
    - auto::get_ca_cert_file
    - Dbg
    - auto::get_ca_cert_dir
    - auto::get_sni_server_name
    - TLSSNISupport::getInstance
    - setClientCertLevel
    - setClientCertCACerts
    linkageType: ''
    returnType: int
    signature: int VerifyClient::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: VerifyClient::TestClientSNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool VerifyClient::TestClientSNIAction(const char * /* servername
      ATS_UNUSED */, const IpEndpoint & /* ep ATS_UNUSED */,\n                                  int
      & /* policy ATS_UNUSED */) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: HostSniPolicy::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HostSniPolicy::SNIAction(SSL & /* ssl ATS_UNUSED */, const Context
      & /* ctx ATS_UNUSED */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in_policy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: HostSniPolicy::TestClientSNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool HostSniPolicy::TestClientSNIAction(const char * /* servername
      ATS_UNUSED */, const IpEndpoint & /* ep ATS_UNUSED */,\n                                   int
      &in_policy) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocols
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: TLSValidProtocols::TLSValidProtocols
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - Warning
    linkageType: ''
    returnType: void
    signature: void TLSValidProtocols::TLSValidProtocols(unsigned long protocols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:348,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:349,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:356,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:357,1
    - Dst: auto::set_valid_tls_version_min
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:358,1
    - Dst: auto::set_valid_tls_version_max
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:359,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:363,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:363,1
    - Dst: auto::set_valid_tls_protocols
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 369
    functionName: TLSValidProtocols::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - TLSBasicSupport::getInstance
    - Dbg
    - auto::set_valid_tls_protocols
    - auto::set_valid_tls_version_min
    - auto::get_sni_server_name
    - TLSSNISupport::getInstance
    - auto::set_valid_tls_version_max
    linkageType: ''
    returnType: int
    signature: int TLSValidProtocols::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:376,1
    - Dst: swoc::file::path::is_relative
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:377,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:378,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:378,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:380,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:383,1
    - Dst: swoc::file::path::string
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:383,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:384,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:384,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:384,1
    - Dst: SNI_IpAllow::load
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ip_allow_list
    - servername
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 371
    functionDepth: 6
    functionLinenumber: 371
    functionLinenumberEnd: 388
    functionName: SNI_IpAllow::SNI_IpAllow
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - Warning
    - get_yaml_path
    - SNI_IpAllow::load
    - swoc::file::path::string
    - swoc::LocalBufferWriter::print
    - swoc::TextView::remove_prefix
    - swoc::LocalBufferWriter::data
    - Layout::get
    - swoc::LocalBufferWriter::size
    - swoc::file::path::is_relative
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void SNI_IpAllow::SNI_IpAllow(std::string &ip_allow_list, std::string
      const &servername)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:395,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:396,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:397,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:398,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:398,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:398,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:398,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:399,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:399,1
    - Dst: fill
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:400,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:402,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:402,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:402,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - content
    - server_name
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: SNI_IpAllow::load
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - swoc::TextView::ltrim
    - Dbg
    - swoc::IPRange::load
    - fill
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: void SNI_IpAllow::load(swoc::TextView content, swoc::TextView server_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:412,1
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:416,1
    - Dst: auto::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:420,1
    - Dst: auto::get_proxy_protocol_version
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:423,1
    - Dst: auto::get_proxy_protocol_src_addr
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:424,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:428,1
    - Dst: contains
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:431,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:435,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:436,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 439
    functionName: SNI_IpAllow::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - SSLNetVCAccess
    - swoc::LocalBufferWriter::print
    - contains
    - Dbg
    - swoc::LocalBufferWriter::data
    - auto::get_proxy_protocol_src_addr
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - auto::get_proxy_protocol_version
    - count
    - auto::get_remote_addr
    linkageType: ''
    returnType: int
    signature: int SNI_IpAllow::SNIAction(SSL &ssl, ActionItem::Context const & /*
      ctx ATS_UNUSED */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:445,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ep
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: SNI_IpAllow::TestClientSNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: "bool SNI_IpAllow::TestClientSNIAction(char const * /* servrername
      ATS_UNUSED */, IpEndpoint const &ep,\n                                 int &
      /* policy ATS_UNUSED */) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:451,1
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: OutboundSNIPolicy::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - empty
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int OutboundSNIPolicy::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:463,1
    - Dst: TLSEarlyDataSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:464,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:472,1
    - Dst: auto::update_early_data_config
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: ServerMaxEarlyData::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - max
    - TLSSNISupport::getInstance
    - TLSEarlyDataSupport::getInstance
    - auto::update_early_data_config
    linkageType: ''
    returnType: int
    signature: int ServerMaxEarlyData::SNIAction([[maybe_unused]] SSL &ssl, const
      Context & /* ctx ATS_UNUSED */) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:481,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:484,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:488,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:488,1
    - Dst: auto::set_legacy_cipher_suite
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: ServerCipherSuite::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - auto::set_legacy_cipher_suite
    - Dbg
    - c_str
    - TLSBasicSupport::getInstance
    - empty
    linkageType: ''
    returnType: int
    signature: int ServerCipherSuite::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:496,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:499,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:503,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:504,1
    - Dst: auto::set_cipher_suite
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 507
    functionName: ServerTLSv1_3CipherSuites::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - auto::set_cipher_suite
    - Dbg
    - c_str
    - TLSBasicSupport::getInstance
    - empty
    linkageType: ''
    returnType: int
    signature: int ServerTLSv1_3CipherSuites::SNIAction(SSL &ssl, const Context &
      /* ctx ATS_UNUSED */) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:512,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:515,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:519,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:519,1
    - Dst: auto::set_groups_list
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:521,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:522,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 526
    functionName: ServerGroupsList::SNIAction
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.cc
    functionUses: 0
    functionsReached:
    - Error
    - Dbg
    - c_str
    - TLSBasicSupport::getInstance
    - empty
    - auto::set_groups_list
    linkageType: ''
    returnType: int
    signature: int ServerGroupsList::SNIAction(SSL &ssl, const Context & /* ctx ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: SSLNetAccept::SSLNetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetAccept.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetAccept::SSLNetAccept(const NetProcessor::AcceptOptions &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: SSLNetAccept::~SSLNetAccept()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetAccept::~SSLNetAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: SSLNetAccept::getNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: 'NetProcessor *

      SSLNetAccept::getNetProcessor() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetAccept::SSLNetAccept
      Src: /src/trafficserver/src/iocore/net/SSLNetAccept.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: SSLNetAccept::clone
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNetAccept.cc
    functionUses: 0
    functionsReached:
    - SSLNetAccept::SSLNetAccept
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      SSLNetAccept::clone() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetHandler::get_per_client_max_connections_in
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:55,1
    - Dst: ConnectionTracker::obtain_inbound
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:57,1
    - Dst: auto::reserve
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:58,1
    - Dst: auto::release
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:61,1
    - Dst: auto::blocked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:62,1
    - Dst: auto::Warn_Blocked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:63,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:64,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:65,1
    - Dst: auto::drop
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - conn_track_group
    argTypes:
    - IpEndpoint
    - std::shared_ptr<ConnectionTracker::Group>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: handle_max_client_connections
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - auto::Warn_Blocked
    - ts::Metrics::Counter::increment
    - ConnectionTracker::obtain_inbound
    - auto::release
    - auto::drop
    - 'on'
    - auto::blocked
    - auto::reserve
    - NetHandler::get_per_client_max_connections_in
    linkageType: ''
    returnType: bool
    signature: bool handle_max_client_connections(IpEndpoint const &addr, std::shared_ptr<ConnectionTracker::Group>
      &conn_track_group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetHandler::get_per_client_max_connections_in
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:55,1
    - Dst: ConnectionTracker::obtain_inbound
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:57,1
    - Dst: auto::reserve
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:58,1
    - Dst: auto::release
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:61,1
    - Dst: auto::blocked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:62,1
    - Dst: auto::Warn_Blocked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:63,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:64,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:65,1
    - Dst: auto::drop
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - conn_track_group
    argTypes:
    - IpEndpoint
    - std::shared_ptr<ConnectionTracker::Group>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: handle_max_client_connections
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - auto::Warn_Blocked
    - ts::Metrics::Counter::increment
    - ConnectionTracker::obtain_inbound
    - auto::release
    - auto::drop
    - 'on'
    - auto::blocked
    - auto::reserve
    - NetHandler::get_per_client_max_connections_in
    linkageType: ''
    returnType: bool
    signature: bool handle_max_client_connections(IpEndpoint const &addr, std::shared_ptr<ConnectionTracker::Group>
      &conn_track_group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::poll
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: safe_delay
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - UnixSocket::poll
    linkageType: ''
    returnType: void
    signature: void safe_delay(int msec)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:87,1
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:91,1
    - Dst: NetHandler::get_additional_accepts
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:93,1
    - Dst: MUTEX_TAKE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:96,1
    - Dst: NetAccept*::server::accept
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:104,1
    - Dst: NetAccept*::server::sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:108,1
    - Dst: NetAccept*::action_::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:110,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:110,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:112,1
    - Dst: NetAccept*::action_::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:113,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:113,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:119,1
    - Dst: handle_max_client_connections
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:122,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:123,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:127,1
    - Dst: NetAccept*::getNetProcessor
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:127,1
    - Dst: UnixNetVConnection*::enable_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:131,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:134,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:135,1
    - Dst: UnixNetVConnection*::con::move
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:136,1
    - Dst: UnixNetVConnection*::set_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:137,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:138,1
    - Dst: UnixNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:140,1
    - Dst: UnixNetVConnection*::set_is_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:141,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:142,1
    - Dst: UnixNetVConnection*::set_mptcp_state
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:144,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:152,1
    - Dst: Event*::ethread::is_event_type
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:156,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:158,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:161,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:162,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:163,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:163,1
    - Dst: UnixNetVConnection*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:165,1
    - Dst: assign_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:168,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:169,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:172,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:184,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:186,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 3
    argNames:
    - na
    - ep
    - blockable
    argTypes:
    - NetAccept*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 189
    functionName: net_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - EThread*::schedule_in
    - get_NetHandler
    - NetHandler::get_additional_accepts
    - UnixNetVConnection*::enable_inbound_connection_tracking
    - Connection::Connection
    - reinterpret_cast<void *>
    - Event*::ethread::is_event_type
    - handle_max_client_connections
    - assign_thread
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - UnixNetVConnection*::set_mptcp_state
    - UnixNetVConnection*::set_is_transparent
    - UnixNetVConnection*::set_context
    - ts::Metrics::Counter::increment
    - is_locked
    - Connection::close
    - MUTEX_TRY_LOCK
    - EThread*::schedule_imm
    - net_next_connection_number
    - UnixNetVConnection*::con::move
    - MUTEX_UNTAKE_LOCK
    - Dbg
    - static_cast<Event *>
    - static_cast<UnixNetVConnection *>
    - NetAccept*::server::sock::is_ok
    - ink_get_hrtime
    - NetAccept*::server::accept
    - UnixNetVConnection*::set_remote_addr
    - SCOPED_MUTEX_LOCK
    - HRTIME_MSECONDS
    - UnixNetVConnection*::set_is_proxy_protocol
    - NetAccept*::action_::continuation::handleEvent
    - UnixNetVConnection*::handleEvent
    - MUTEX_TAKE_TRY_LOCK
    - ts::Metrics::Gauge::increment
    - NetAccept*::getNetProcessor
    linkageType: ''
    returnType: int
    signature: int net_accept(NetAccept *na, void *ep, bool blockable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:194,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:194,1
    - Dst: at
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: getNetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - at
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      getNetAccept(int ID)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::do_blocking_listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:208,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:211,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:212,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:217,1
    - Dst: NetAccept::clone
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:221,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:222,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:222,1
    - Dst: spawn_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:224,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: NetAccept::init_accept_loop
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - NetAccept::do_blocking_listen
    - spawn_thread
    - Dbg
    - snprintf
    - ats_ip_port_host_order
    - SET_CONTINUATION_HANDLER
    - RecGetRecordInt
    - NetAccept::clone
    linkageType: ''
    returnType: void
    signature: void NetAccept::init_accept_loop()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assign_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:240,1
    - Dst: NetAccept::do_listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:248,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:252,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:253,1
    - Dst: EThread*::schedule_every
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: NetAccept::init_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - EThread*::schedule_every
    - HRTIME_MSECONDS
    - assign_thread
    - SET_HANDLER
    - NetAccept::do_listen
    linkageType: ''
    returnType: void
    signature: void NetAccept::init_accept(EThread *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:261,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:264,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:265,1
    - Dst: ats_unix_append_id
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:266,1
    - Dst: NetAccept::do_listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:269,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:270,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:275,1
    - Dst: get_PollDescriptor
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:276,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:276,1
    - Dst: NetAccept::ep::start
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:277,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 282
    functionName: NetAccept::accept_per_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - NetAccept::ep::start
    - ats_is_unix
    - get_PollDescriptor
    - this_ethread
    - ats_unix_append_id
    - Fatal
    - RecGetRecordInt
    - NetAccept::do_listen
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int NetAccept::accept_per_thread(int /* event ATS_UNUSED */, void *
      /* ep ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:290,1
    - Dst: NetAccept::do_listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:293,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:294,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:299,1
    - Dst: NetAccept::clone
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:303,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:305,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 308
    functionName: NetAccept::init_accept_per_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - Fatal
    - RecGetRecordInt
    - NetAccept::do_listen
    - EThread*::schedule_imm
    - SET_HANDLER
    - NetAccept::clone
    linkageType: ''
    returnType: void
    signature: void NetAccept::init_accept_per_thread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::cancel
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:314,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: NetAccept::stop_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - NetAccept::cancel
    - close
    linkageType: ''
    returnType: void
    signature: void NetAccept::stop_accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::do_listen_impl
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: NetAccept::do_listen
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 3
    functionsReached:
    - NetAccept::do_listen_impl
    linkageType: ''
    returnType: int
    signature: int NetAccept::do_listen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::do_listen_impl
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: NetAccept::do_blocking_listen
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 1
    functionsReached:
    - NetAccept::do_listen_impl
    linkageType: ''
    returnType: int
    signature: int NetAccept::do_blocking_listen()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:337,1
    - Dst: setup_fd_for_listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:338,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:339,1
    - Dst: accept_addr::host_order_port
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:339,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:340,1
    - Dst: listen
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:345,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:346,1
    - Dst: accept_addr::host_order_port
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:346,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - non_blocking
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: NetAccept::do_listen_impl
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 2
    functionsReached:
    - Warning
    - setup_fd_for_listen
    - accept_addr::host_order_port
    - listen
    - sock::is_ok
    - strerror
    linkageType: ''
    returnType: int
    signature: int NetAccept::do_listen_impl(bool non_blocking)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:358,1
    - Dst: NetHandler::get_additional_accepts
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:362,1
    - Dst: accept
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:367,1
    - Dst: accept_error_seriousness
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:368,1
    - Dst: check_transient_accept_error
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:372,1
    - Dst: safe_delay
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:373,1
    - Dst: safe_delay
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:377,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:386,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:387,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:387,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:388,1
    - Dst: check_net_throttle
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:394,1
    - Dst: check_throttle_warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:395,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:397,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:398,1
    - Dst: handle_max_client_connections
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:402,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:403,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:407,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:411,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:414,1
    - Dst: NetAccept::getNetProcessor
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:414,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:415,1
    - Dst: UnixNetVConnection*::enable_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:418,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:421,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:422,1
    - Dst: UnixNetVConnection*::con::move
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:423,1
    - Dst: UnixNetVConnection*::set_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:424,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:425,1
    - Dst: UnixNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:427,1
    - Dst: UnixNetVConnection*::set_is_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:428,1
    - Dst: UnixNetVConnection*::apply_options
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:434,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:435,1
    - Dst: UnixNetVConnection*::set_mptcp_state
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:437,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:446,1
    - Dst: assign_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:448,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:449,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 456
    functionName: NetAccept::do_blocking_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - NetAccept::getNetProcessor
    - get_NetHandler
    - NetHandler::get_additional_accepts
    - UnixNetVConnection*::enable_inbound_connection_tracking
    - Connection::Connection
    - reinterpret_cast<void *>
    - handle_max_client_connections
    - assign_thread
    - accept_error_seriousness
    - SET_CONTINUATION_HANDLER
    - UnixNetVConnection*::set_mptcp_state
    - UnixNetVConnection*::set_is_transparent
    - check_transient_accept_error
    - UnixNetVConnection*::set_context
    - ts::Metrics::Counter::increment
    - Connection::close
    - TSSystemState::is_event_system_shut_down
    - UnixNetVConnection*::apply_options
    - unlikely
    - EThread*::schedule_imm
    - net_next_connection_number
    - UnixNetVConnection*::con::move
    - Warning
    - check_net_throttle
    - safe_delay
    - check_throttle_warning
    - static_cast<UnixNetVConnection *>
    - continuation::handleEvent
    - ink_get_hrtime
    - UnixNetVConnection*::set_remote_addr
    - SCOPED_MUTEX_LOCK
    - UnixNetVConnection*::set_is_proxy_protocol
    - accept
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: int
    signature: int NetAccept::do_blocking_accept(EThread *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:462,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:472,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:473,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:475,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:476,1
    - Dst: net_accept
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:482,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:483,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:485,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:485,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:486,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:488,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - event
    - ep
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 496
    functionName: NetAccept::acceptEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - Warning
    - ts::Metrics::Gauge::decrement
    - static_cast<Event *>
    - ats_ip_port_host_order
    - MUTEX_TRY_LOCK
    - Event*::cancel
    - net_accept
    linkageType: ''
    returnType: int
    signature: int NetAccept::acceptEvent(int event, void *ep)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:501,1
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:505,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:511,1
    - Dst: NetHandler::get_additional_accepts
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:512,1
    - Dst: sock::accept4
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:517,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:523,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:523,1
    - Dst: check_net_throttle
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:525,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:527,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:528,1
    - Dst: handle_max_client_connections
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:531,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:532,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:535,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:535,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:536,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:538,1
    - Dst: UnixSocket::set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:538,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:539,1
    - Dst: UnixSocket::set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:541,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:549,1
    - Dst: UnixSocket::set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:549,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:550,1
    - Dst: UnixSocket::set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:552,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:560,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:564,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:564,1
    - Dst: accept_error_seriousness
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:572,1
    - Dst: check_transient_accept_error
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:573,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:577,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:577,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:582,1
    - Dst: NetAccept::getNetProcessor
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:582,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:583,1
    - Dst: UnixNetVConnection*::enable_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:584,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:587,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:588,1
    - Dst: UnixNetVConnection*::con::move
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:589,1
    - Dst: UnixNetVConnection*::set_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:590,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:591,1
    - Dst: UnixNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:593,1
    - Dst: UnixNetVConnection*::set_is_proxy_protocol
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:594,1
    - Dst: UnixNetVConnection*::apply_options
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:600,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:601,1
    - Dst: UnixNetVConnection*::set_mptcp_state
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:603,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:612,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:617,1
    - Dst: UnixNetVConnection*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:618,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:626,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:628,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:633,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:634,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:635,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 2
    argNames:
    - event
    - ep
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 638
    functionName: NetAccept::acceptFastEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - UnixSocket::is_ok
    - NetHandler::get_additional_accepts
    - NetAccept::getNetProcessor
    - UnixNetVConnection*::enable_inbound_connection_tracking
    - Connection::Connection
    - reinterpret_cast<void *>
    - handle_max_client_connections
    - accept_error_seriousness
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - UnixNetVConnection*::set_mptcp_state
    - UnixNetVConnection*::set_is_transparent
    - check_transient_accept_error
    - strerror
    - UnixNetVConnection*::set_context
    - ts::Metrics::Counter::increment
    - Connection::close
    - likely
    - UnixNetVConnection*::apply_options
    - unlikely
    - net_next_connection_number
    - UnixNetVConnection*::con::move
    - ink_release_assert
    - UnixSocket::set_rcvbuf_size
    - UnixSocket::set_sndbuf_size
    - check_net_throttle
    - close
    - Dbg
    - static_cast<Event *>
    - Event*::cancel
    - UnixSocket::get_fd
    - static_cast<UnixNetVConnection *>
    - continuation::handleEvent
    - ink_get_hrtime
    - ROUNDUP
    - ts::Metrics::Gauge::decrement
    - UnixNetVConnection*::set_remote_addr
    - SCOPED_MUTEX_LOCK
    - UnixNetVConnection*::set_is_proxy_protocol
    - UnixNetVConnection*::handleEvent
    - ts::Metrics::Gauge::increment
    - sock::accept4
    linkageType: ''
    returnType: int
    signature: int NetAccept::acceptFastEvent(int event, void *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:645,1
    - Dst: NetAccept::do_blocking_accept
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:647,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 655
    functionName: NetAccept::acceptLoopEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - NetAccept::do_blocking_accept
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int NetAccept::acceptLoopEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: NetAccept::NetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetAccept::NetAccept(const NetProcessor::AcceptOptions &_opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::cancel
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:671,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: NetAccept::cancel
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 2
    functionsReached:
    - NetAccept::cancel
    - close
    linkageType: ''
    returnType: void
    signature: void NetAccept::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::NetAccept
      Src: /src/trafficserver/src/iocore/net/UnixNetAccept.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: NetAccept::clone
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 2
    functionsReached:
    - NetAccept::NetAccept
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      NetAccept::clone() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: NetAccept::getNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetAccept.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: 'NetProcessor *

      NetAccept::getNetProcessor() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_Connection.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - remote_addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: setRemote
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Connection.h
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: void
    signature: "void setRemote(sockaddr const *remote_addr ///< Address and port.\n
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Connection
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Connection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(Connection const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&operator=(Connection const &that)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Connection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connection
    signature: Connection &operator=(Connection const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: PRINT_IP
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_IP(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:86,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:86,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - ThrottleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: net_connections_to_throttle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE net_connections_to_throttle(ThrottleType t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:98,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: check_shedding_warning
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Warning
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE check_shedding_warning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_connections_to_throttle
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - ThrottleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: check_net_throttle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 2
    functionsReached:
    - net_connections_to_throttle
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE check_net_throttle(ThrottleType t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:120,1
    - Dst: net_connections_to_throttle
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:123,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - ThrottleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: check_throttle_warning
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - Warning
    - net_connections_to_throttle
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE check_throttle_warning(ThrottleType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_fds_limit
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - token
    - data_type
    - value
    - data
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 148
    functionName: change_net_connections_throttle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 0
    functionsReached:
    - ink_get_fds_limit
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE change_net_connections_throttle(const char *token, RecDataT
      data_type, RecData value, void *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:169,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - res
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 191
    functionName: accept_error_seriousness
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE accept_error_seriousness(int res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:196,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:199,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: check_transient_accept_error
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - Warning
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE check_transient_accept_error(int res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:224,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:228,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - nh
    - ne
    argTypes:
    - NetHandler*
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: read_disable
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 1
    functionsReached:
    - Dbg
    - NetHandler*::read_ready_list::remove
    - NetEvent*::ep::modify
    linkageType: ''
    returnType: void
    signature: void read_disable(NetHandler *nh, NetEvent *ne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:248,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:252,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/P_UnixNet.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - nh
    - ne
    argTypes:
    - NetHandler*
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: write_disable
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNet.h
    functionUses: 0
    functionsReached:
    - Dbg
    - NetEvent*::ep::modify
    - NetHandler*::write_ready_list::remove
    linkageType: ''
    returnType: void
    signature: void write_disable(NetHandler *nh, NetEvent *ne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: Config_Update_Conntrack_Min
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::TxnConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Min(const char * /* name ATS_UNUSED */,
      RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Config_Update_Conntrack_Max
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::TxnConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Max(const char * /* name ATS_UNUSED */,
      RecDataT dtype, RecData data, void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:110,1
    - Dst: ConnectionTracker::lookup_match_type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:115,1
    - Dst: ConnectionTracker::Warning_Bad_Match_Type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:119,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:122,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: Config_Update_Conntrack_Match
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ConnectionTracker::Warning_Bad_Match_Type
    - static_cast<ConnectionTracker::TxnConfig *>
    - data
    - ConnectionTracker::lookup_match_type
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Match(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - alert_delay
    argTypes:
    - RecDataT
    - RecData
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: Config_Update_Conntrack_Server_Alert_Delay_Helper
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - ink_time_wall_seconds
    linkageType: ''
    returnType: bool
    signature: "bool Config_Update_Conntrack_Server_Alert_Delay_Helper(const char
      * /* name ATS_UNUSED */, RecDataT dtype, RecData data,\n                                                  void
      * /* cookie ATS_UNUSED */, std::chrono::seconds &alert_delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:141,1
    - Dst: Config_Update_Conntrack_Server_Alert_Delay_Helper
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Config_Update_Conntrack_Server_Alert_Delay
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Config_Update_Conntrack_Server_Alert_Delay_Helper
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Server_Alert_Delay(const char *name, RecDataT
      dtype, RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:148,1
    - Dst: Config_Update_Conntrack_Server_Alert_Delay_Helper
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Config_Update_Conntrack_Client_Alert_Delay
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Config_Update_Conntrack_Server_Alert_Delay_Helper
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Client_Alert_Delay(const char *name, RecDataT
      dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: Config_Update_Conntrack_Metric_Enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Metric_Enabled(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: Config_Update_Conntrack_Metric_Prefix
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Metric_Prefix(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count_metric::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count_max::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: _blocked::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: get_last_alert_epoch_time
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:196,1
    - Dst: std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:196,1
    - Dst: printer
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:198,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:198,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:200,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:200,1
    - Dst: std::string::resize
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:202,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: swoc::FixedBufferWriter::restrict
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:204,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:204,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:205,1
    - Dst: std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:205,1
    - Dst: printer
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:207,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:207,1
    - Dst: swoc::FixedBufferWriter::restore
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:209,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:209,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - groups
    argTypes:
    - std::vector<std::shared_ptr<ConnectionTracker::Group const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 212
    functionName: Groups_To_JSON
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - _count_max::load
    - std::string::data
    - std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
    - swoc::FixedBufferWriter::restore
    - swoc::FixedBufferWriter::write
    - get
    - _count_metric::load
    - _count::load
    - _blocked::load
    - std::string_view::size
    - swoc::FixedBufferWriter::restrict
    - swoc::FixedBufferWriter::extent
    - swoc::FixedBufferWriter::print
    - print
    - printer
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - get_last_alert_epoch_time
    linkageType: ''
    returnType: std::string
    signature: std::string Groups_To_JSON(std::vector<std::shared_ptr<ConnectionTracker::Group
      const>> const &groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: Config_Update_Conntrack_Min
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::TxnConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Min(const char * /* name ATS_UNUSED */,
      RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Config_Update_Conntrack_Max
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::TxnConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Max(const char * /* name ATS_UNUSED */,
      RecDataT dtype, RecData data, void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::TxnConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:110,1
    - Dst: ConnectionTracker::lookup_match_type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:115,1
    - Dst: ConnectionTracker::Warning_Bad_Match_Type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:119,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:122,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: Config_Update_Conntrack_Match
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ConnectionTracker::Warning_Bad_Match_Type
    - static_cast<ConnectionTracker::TxnConfig *>
    - data
    - ConnectionTracker::lookup_match_type
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Match(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - alert_delay
    argTypes:
    - RecDataT
    - RecData
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: Config_Update_Conntrack_Server_Alert_Delay_Helper
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 2
    functionsReached:
    - ink_time_wall_seconds
    linkageType: ''
    returnType: bool
    signature: "bool Config_Update_Conntrack_Server_Alert_Delay_Helper(const char
      * /* name ATS_UNUSED */, RecDataT dtype, RecData data,\n                                                  void
      * /* cookie ATS_UNUSED */, std::chrono::seconds &alert_delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:141,1
    - Dst: Config_Update_Conntrack_Server_Alert_Delay_Helper
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Config_Update_Conntrack_Server_Alert_Delay
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Config_Update_Conntrack_Server_Alert_Delay_Helper
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Server_Alert_Delay(const char *name, RecDataT
      dtype, RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:148,1
    - Dst: Config_Update_Conntrack_Server_Alert_Delay_Helper
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Config_Update_Conntrack_Client_Alert_Delay
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Config_Update_Conntrack_Server_Alert_Delay_Helper
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Client_Alert_Delay(const char *name, RecDataT
      dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: Config_Update_Conntrack_Metric_Enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Metric_Enabled(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConnectionTracker::GlobalConfig *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dtype
    - data
    - cookie
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: Config_Update_Conntrack_Metric_Prefix
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - static_cast<ConnectionTracker::GlobalConfig *>
    linkageType: ''
    returnType: bool
    signature: bool Config_Update_Conntrack_Metric_Prefix(const char * /* name ATS_UNUSED
      */, RecDataT dtype, RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count_metric::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:189,1
    - Dst: _count_max::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: _blocked::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: get_last_alert_epoch_time
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:190,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:196,1
    - Dst: std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:196,1
    - Dst: printer
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:198,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:198,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:200,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:200,1
    - Dst: std::string::resize
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:202,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:203,1
    - Dst: swoc::FixedBufferWriter::restrict
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:204,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:204,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:205,1
    - Dst: std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:205,1
    - Dst: printer
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:207,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:207,1
    - Dst: swoc::FixedBufferWriter::restore
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:209,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:209,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - groups
    argTypes:
    - std::vector<std::shared_ptr<ConnectionTracker::Group const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 212
    functionName: Groups_To_JSON
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - _count_max::load
    - std::string::data
    - std::vector<std::shared_ptr<ConnectionTracker::Group const>>::size
    - swoc::FixedBufferWriter::restore
    - swoc::FixedBufferWriter::write
    - get
    - _count_metric::load
    - _count::load
    - _blocked::load
    - std::string_view::size
    - swoc::FixedBufferWriter::restrict
    - swoc::FixedBufferWriter::extent
    - swoc::FixedBufferWriter::print
    - print
    - printer
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - get_last_alert_epoch_time
    linkageType: ''
    returnType: std::string
    signature: std::string Groups_To_JSON(std::vector<std::shared_ptr<ConnectionTracker::Group
      const>> const &groups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:222,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:223,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:224,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:225,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:226,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:227,1
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - global
    - txn
    - config_cb
    argTypes:
    - GlobalConfig*
    - TxnConfig*
    - RecConfigUpdateCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: ConnectionTracker::config_init
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Enable_Config_Var
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::config_init(GlobalConfig *global, TxnConfig
      *txn, RecConfigUpdateCb const &config_cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _table::find
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:238,1
    - Dst: _table::end
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:239,1
    - Dst: std::make_shared<Group>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:242,1
    - Dst: _table::insert
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:246,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: ConnectionTracker::obtain_inbound
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 2
    functionsReached:
    - std::make_shared<Group>
    - _table::find
    - _table::insert
    - std::make_pair
    - _table::end
    linkageType: ''
    returnType: ConnectionTracker::TxnState
    signature: ConnectionTracker::TxnState ConnectionTracker::obtain_inbound(IpEndpoint
      const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:256,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:256,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:256,1
    - Dst: _table::find
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:259,1
    - Dst: _table::end
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:260,1
    - Dst: std::make_shared<Group>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:263,1
    - Dst: _table::insert
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:267,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - txn_cnf
    - fqdn
    - addr
    argTypes:
    - TxnConfig
    - std::string_view
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: ConnectionTracker::obtain_outbound
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Group>
    - _table::find
    - _table::insert
    - std::make_pair
    - _table::end
    - std::string_view::size
    - CryptoContext
    - std::string_view::data
    linkageType: ''
    returnType: ConnectionTracker::TxnState
    signature: ConnectionTracker::TxnState ConnectionTracker::obtain_outbound(TxnConfig
      const &txn_cnf, std::string_view fqdn, IpEndpoint const &addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:280,1
    - Dst: metric_name
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:283,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:284,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:285,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:286,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:288,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:290,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:291,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:291,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:296,1
    - Dst: setToAnyAddr
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:300,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - direction
    - key
    - fqdn
    - min_keep_alive
    argTypes:
    - DirectionType
    - Key
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 304
    functionName: ConnectionTracker::Group::Group(DirectionType direction, Key const
      &key, std::string_view fqdn, int min_keep_alive)
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - metric_name
    - 'on'
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::createPtr
    - ats_ip_copy
    - setToAnyAddr
    - swoc::LocalBufferWriter::print
    - DbgPrint
    - assign
    - swoc::LocalBufferWriter::data
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::Group::Group(DirectionType direction, Key const
      &key, std::string_view fqdn, int min_keep_alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: ConnectionTracker::Group::~Group()
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::Group::~Group()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_eq
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:318,1
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:321,1
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:327,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:332,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:334,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:335,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 339
    functionName: ConnectionTracker::Group::equal(const Key &lhs, const Key &rhs)
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - swoc::LocalBufferWriter::print
    - ats_ip_addr_eq
    - DbgPrint
    - swoc::LocalBufferWriter::data
    - ats_ip_addr_port_eq
    linkageType: ''
    returnType: bool
    signature: bool ConnectionTracker::Group::equal(const Key &lhs, const Key &rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:349,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:353,1
    - Dst: TimePoint::time_since_epoch
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:353,1
    - Dst: Clock::to_time_t
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lat
    argTypes:
    - std::time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: ConnectionTracker::Group::should_alert(std::time_t *lat)
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - compare_exchange_strong
    - TimePoint::time_since_epoch
    - Clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: bool
    signature: bool ConnectionTracker::Group::should_alert(std::time_t *lat)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:366,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:367,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:368,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:371,1
    - Dst: TableSingleton::_table::erase
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:376,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:380,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:380,1
    - Dst: TableSingleton::_table::erase
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:391,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:395,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 397
    functionName: ConnectionTracker::Group::release()
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Error
    - TableSingleton::_table::erase
    - ts::Metrics::Gauge::decrement
    - load
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::Group::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clock::to_time_t
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: ConnectionTracker::Group::get_last_alert_epoch_time() const
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Clock::to_time_t
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t ConnectionTracker::Group::get_last_alert_epoch_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::shared_ptr<Group const>>::resize
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:409,1
    - Dst: std::vector<std::shared_ptr<Group const>>::reserve
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:410,1
    - Dst: _table::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:410,1
    - Dst: std::vector<std::shared_ptr<Group const>>::push_back
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - groups
    argTypes:
    - std::vector<std::shared_ptr<Group const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: ConnectionTracker::get_outbound_groups
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::shared_ptr<Group const>>::resize
    - std::vector<std::shared_ptr<Group const>>::push_back
    - _table::size
    - std::vector<std::shared_ptr<Group const>>::reserve
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::get_outbound_groups(std::vector<std::shared_ptr<Group
      const>> &groups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::shared_ptr<Group const>>::resize
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:420,1
    - Dst: std::vector<std::shared_ptr<Group const>>::reserve
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:421,1
    - Dst: _table::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:421,1
    - Dst: std::vector<std::shared_ptr<Group const>>::push_back
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - groups
    argTypes:
    - std::vector<std::shared_ptr<Group const>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: ConnectionTracker::get_inbound_groups
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::shared_ptr<Group const>>::resize
    - std::vector<std::shared_ptr<Group const>>::push_back
    - _table::size
    - std::vector<std::shared_ptr<Group const>>::reserve
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::get_inbound_groups(std::vector<std::shared_ptr<Group
      const>> &groups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::get_inbound_groups
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:431,1
    - Dst: Groups_To_JSON
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: ConnectionTracker::inbound_to_json_string
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Groups_To_JSON
    - ConnectionTracker::get_inbound_groups
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTracker::inbound_to_json_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::get_outbound_groups
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:439,1
    - Dst: Groups_To_JSON
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: ConnectionTracker::outbound_to_json_string
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Groups_To_JSON
    - ConnectionTracker::get_outbound_groups
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTracker::outbound_to_json_string()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::get_outbound_groups
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:448,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:450,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:451,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:453,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:457,1
    - Dst: _count_metric::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:457,1
    - Dst: _count::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:457,1
    - Dst: _blocked::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:458,1
    - Dst: fwrite
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:459,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:459,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:459,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 464
    functionName: ConnectionTracker::dump_outbound
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - _count_metric::load
    - std::vector::size
    - swoc::LocalBufferWriter::print
    - _count::load
    - fwrite
    - _blocked::load
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    - ConnectionTracker::get_outbound_groups
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::dump_outbound(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::dump_outbound
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:469,1
    - Dst: ConnectionTracker::dump_inbound
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: ConnectionTracker::dump
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - ConnectionTracker::dump_outbound
    - ConnectionTracker::dump_inbound
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::dump(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::get_inbound_groups
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:478,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:480,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:481,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:483,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:487,1
    - Dst: _count::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:487,1
    - Dst: _blocked::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:487,1
    - Dst: fwrite
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:488,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:488,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:488,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: ConnectionTracker::dump_inbound
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - ConnectionTracker::get_inbound_groups
    - std::vector::size
    - swoc::LocalBufferWriter::print
    - _count::load
    - fwrite
    - _blocked::load
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::dump_inbound(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tag
    - type
    argTypes:
    - std::string_view
    - ConnectionTracker::MatchType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 507
    functionName: ConnectionTracker::lookup_match_type
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConnectionTracker::lookup_match_type(std::string_view tag, ConnectionTracker::MatchType
      &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:513,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:515,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:516,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:517,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:519,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:520,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tag
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: ConnectionTracker::Warning_Bad_Match_Type
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 2
    functionsReached:
    - Warning
    - swoc::LocalBufferWriter::write
    - swoc::LocalBufferWriter::print
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::aux_data
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::Warning_Bad_Match_Type(std::string_view tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: should_alert
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:528,1
    - Dst: _blocked::exchange
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:529,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Date
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:531,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:533,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:533,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:534,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - config
    - count
    - addr
    argTypes:
    - TxnConfig*
    - int
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 536
    functionName: ConnectionTracker::TxnState::Note_Unblocked(const TxnConfig *config,
      int count, sockaddr const *addr)
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - swoc::LocalBufferWriter::print
    - Dbg
    - swoc::SWOC_VERSION_NS::bwf::Date
    - swoc::LocalBufferWriter::data
    - _blocked::exchange
    - Note
    - should_alert
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::Note_Unblocked(const TxnConfig *config,
      int count, sockaddr const *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: should_alert
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:541,1
    - Dst: _blocked::exchange
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:542,1
    - Dst: _blocked::load
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:542,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:547,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:549,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:552,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:552,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:555,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - max_connections
    - id
    - count
    - addr
    - dbg_ctl_p
    argTypes:
    - int
    - int64_t
    - int
    - sockaddr*
    - DbgCtl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: ConnectionTracker::TxnState::Warn_Blocked(int max_connections, int64_t
      id, int count, sockaddr const *addr, DbgCtl *dbg_ctl_p)
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 0
    functionsReached:
    - Warning
    - swoc::LocalBufferWriter::print
    - Dbg
    - _blocked::load
    - swoc::LocalBufferWriter::data
    - _blocked::exchange
    - should_alert
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::Warn_Blocked(int max_connections,
      int64_t id, int count, sockaddr const *addr, DbgCtl *dbg_ctl_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:565,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:566,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:566,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ConnectionTracker::MatchType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 7
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::has_numeric_type
    - static_cast<unsigned int>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ConnectionTracker::MatchType
      type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:578,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:581,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:584,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - BufferWriter
    - ConnectionTracker::Group::Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 591
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 7
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, ConnectionTracker::Group::Key
      const &key)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:598,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:601,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:604,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - w
    - g
    argTypes:
    - BufferWriter
    - ConnectionTracker::Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 611
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 7
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, ConnectionTracker::Group
      const &g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:565,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:566,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:566,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ConnectionTracker::MatchType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 8
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::has_numeric_type
    - static_cast<unsigned int>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ConnectionTracker::MatchType
      type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:578,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:581,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:584,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - BufferWriter
    - ConnectionTracker::Group::Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 591
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, ConnectionTracker::Group::Key
      const &key)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:598,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:601,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:604,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/iocore/net/ConnectionTracker.cc:607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - w
    - g
    argTypes:
    - BufferWriter
    - ConnectionTracker::Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 611
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/iocore/net/ConnectionTracker.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, ConnectionTracker::Group
      const &g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: UDPIOEvent::UDPIOEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPIOEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~UDPIOEvent() override
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UDPIOEvent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - fd_
    - b_
    - bytesTransferred_
    - errno_
    argTypes:
    - int
    - Ptr<IOBufferBlock>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: UDPIOEvent::setInfo
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setInfo(int fd_, const Ptr<IOBufferBlock> &b_, int bytesTransferred_,
      int errno_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - fd_
    - m_
    - bytesTransferred_
    - errno_
    argTypes:
    - int
    - struct msghdr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: UDPIOEvent::setInfo
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setInfo(int fd_, struct msghdr *m_, int bytesTransferred_, int
      errno_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: UDPIOEvent::setHandle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHandle(void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: UDPIOEvent::getHandle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  getHandle()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: UDPIOEvent::getBytesTransferred
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getBytesTransferred() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: UDPIOEvent::getIOBufferBlock
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IOBufferBlock
    signature: "IOBufferBlock *\n  getIOBufferBlock() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: UDPIOEvent::getError
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: UDPIOEvent::getContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: "Continuation *\n  getContinuation() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPIOEvent::free
      Src: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - UDPIOEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: UDPIOEvent::free
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPIOEvent.h
    functionUses: 1
    functionsReached:
    - UDPIOEvent::free
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPIOEvent::free(UDPIOEvent *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: net_next_connection_number
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 4
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int net_next_connection_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:70,1
    - Dst: UnixNetProcessor::accept_internal
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cont
    - opt
    argTypes:
    - Continuation*
    - AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: UnixNetProcessor::accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - UnixNetProcessor::accept_internal
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UnixNetProcessor::accept(Continuation *cont, AcceptOptions const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:79,1
    - Dst: UnixNetProcessor::accept_internal
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cont
    - fd
    - opt
    argTypes:
    - Continuation*
    - SOCKET
    - AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: UnixNetProcessor::main_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - UnixNetProcessor::accept_internal
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UnixNetProcessor::main_accept(Continuation *cont, SOCKET fd, AcceptOptions const
      &opt)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetProcessor::createNetAccept
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:92,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:93,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:94,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:98,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:100,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:102,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:105,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:110,1
    - Dst: IpEndpoint::setToLoopback
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:112,1
    - Dst: AcceptOptions::local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:113,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:114,1
    - Dst: IpEndpoint::setToAnyAddr
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:116,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:118,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:119,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:119,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:125,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:129,1
    - Dst: dynamic_cast<SessionAccept *>
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:132,1
    - Dst: dynamic_cast<SSLNextProtocolAccept *>
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:134,1
    - Dst: NetAcceptAction::NetAcceptAction
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:136,1
    - Dst: NetAccept*::init_accept_loop
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:142,1
    - Dst: NetAccept*::init_accept_per_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:144,1
    - Dst: geteuid
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:147,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:151,1
    - Dst: NetAccept*::init_accept
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:157,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:161,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:161,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:162,1
    - Dst: NetAccept*::action_::get
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - cont
    - fd
    - opt
    argTypes:
    - Continuation*
    - int
    - AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 166
    functionName: UnixNetProcessor::accept_internal
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 2
    functionsReached:
    - IpEndpoint::setToLoopback
    - ats_ip_copy
    - IpEndpoint::network_order_port
    - this_ethread
    - Fatal
    - RecGetRecordInt
    - IpEndpoint::assign
    - UnixNetProcessor::createNetAccept
    - NetAccept*::init_accept_per_thread
    - AcceptOptions::local_ip::isValid
    - NetAcceptAction::NetAcceptAction
    - ink_atomic_increment
    - dynamic_cast<SessionAccept *>
    - Warning
    - htons
    - push_back
    - Dbg
    - NetAccept*::init_accept_loop
    - NetAccept*::init_accept
    - IpEndpoint::setToAnyAddr
    - ink_assert
    - geteuid
    - SCOPED_MUTEX_LOCK
    - NetAccept*::action_::get
    - dynamic_cast<SSLNextProtocolAccept *>
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UnixNetProcessor::accept_internal(Continuation *cont, int fd, AcceptOptions
      const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:171,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:171,1
    - Dst: UnixNetProcessor::stop_accept
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: UnixNetProcessor::stop_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 1
    functionsReached:
    - UnixNetProcessor::stop_accept
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void UnixNetProcessor::stop_accept()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:180,1
    - Dst: assign_affinity_by_type
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:184,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:185,1
    - Dst: UnixNetProcessor::allocate_vc
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:185,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:189,1
    - Dst: ip_addrs::contains
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:197,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:197,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:201,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:202,1
    - Dst: UnixNetVConnection*::con::setRemote
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:207,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:211,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:211,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:212,1
    - Dst: SocksEntry*::init
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:215,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:218,1
    - Dst: SocksEntry*::free
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:220,1
    - Dst: UnixNetVConnection*::con::setRemote
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:225,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:229,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:233,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:234,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:235,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:235,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:236,1
    - Dst: UnixNetVConnection*::connectUp
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:238,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - cont
    - target
    - opt
    argTypes:
    - Continuation*
    - sockaddr*
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 254
    functionName: UnixNetProcessor::connect_re
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - alloc
    - SocksEntry*::free
    - UnixNetVConnection*::set_context
    - is_locked
    - TSSystemState::is_event_system_shut_down
    - SocksEntry*::init
    - MUTEX_TRY_LOCK
    - ip_addrs::contains
    - EThread*::schedule_imm
    - net_next_connection_number
    - ats_is_ip
    - UnixNetProcessor::allocate_vc
    - ats_ip_nptop
    - Dbg
    - UnixNetVConnection*::connectUp
    - static_cast<UnixNetVConnection *>
    - ink_get_hrtime
    - assign_affinity_by_type
    - UnixNetVConnection*::con::setRemote
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UnixNetProcessor::connect_re(Continuation *cont, sockaddr const *target, NetVCOptions
      const &opt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:260,1
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:262,1
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:263,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:266,1
    - Dst: NetHandler::init_for_process
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:271,1
    - Dst: schedule_spawn
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:273,1
    - Dst: change_net_connections_throttle
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: UnixNetProcessor::init
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 0
    functionsReached:
    - NetHandler::init_for_process
    - schedule_spawn
    - allocate
    - new_ProxyMutex
    - change_net_connections_throttle
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void UnixNetProcessor::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socks_conf_struct::socks_conf_struct
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:284,1
    - Dst: loadSocksConfiguration
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:285,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: UnixNetProcessor::init_socks
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 0
    functionsReached:
    - socks_conf_struct::socks_conf_struct
    - loadSocksConfiguration
    - Warning
    linkageType: ''
    returnType: void
    signature: void UnixNetProcessor::init_socks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetAccept::NetAccept
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: UnixNetProcessor::createNetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 1
    functionsReached:
    - NetAccept::NetAccept
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      UnixNetProcessor::createNetAccept(const NetProcessor::AcceptOptions &opt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:311,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:313,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: UnixNetProcessor::allocate_vc
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetProcessor.cc
    functionUses: 1
    functionsReached:
    - THREAD_ALLOC_INIT
    - alloc
    - likely
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      UnixNetProcessor::allocate_vc(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidate
      Src: /src/trafficserver/src/iocore/net/NetVCOptions.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: NetVCOptions::reset
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCOptions.cc
    functionUses: 0
    functionsReached:
    - invalidate
    linkageType: ''
    returnType: void
    signature: void NetVCOptions::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - _recv_bufsize
    - _send_bufsize
    - _opt_flags
    - _packet_mark
    - _packet_tos
    - _packet_notsent_lowat
    argTypes:
    - int
    - int
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: NetVCOptions::set_sock_param
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCOptions.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NetVCOptions::set_sock_param(int _recv_bufsize, int _send_bufsize,
      unsigned long _opt_flags, unsigned long _packet_mark,\n                             unsigned
      long _packet_tos, unsigned long _packet_notsent_lowat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: STATE_FROM_VIO
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_FROM_VIO(_x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection*::ep::refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:58,1
    - Dst: NetHandler*::read_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:60,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nh
    - vc
    argTypes:
    - NetHandler*
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: read_reschedule
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - NetHandler*::read_ready_list::remove
    - UnixNetVConnection*::ep::refresh
    - NetHandler*::read_ready_list::in_or_enqueue
    linkageType: ''
    returnType: void
    signature: void read_reschedule(NetHandler *nh, UnixNetVConnection *vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection*::ep::refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:69,1
    - Dst: NetHandler*::write_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:71,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nh
    - vc
    argTypes:
    - NetHandler*
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: write_reschedule
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection*::ep::refresh
    - NetHandler*::write_ready_list::in_or_enqueue
    - NetHandler*::write_ready_list::remove
    linkageType: ''
    returnType: void
    signature: void write_reschedule(NetHandler *nh, UnixNetVConnection *vc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection*::read::vio::cont::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:85,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:95,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:99,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:100,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:106,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:106,1
    - Dst: UnixNetVConnection*::nh::free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - vc
    argTypes:
    - int
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 112
    functionName: read_signal_and_update
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Error
    - Dbg
    - UnixNetVConnection*::read::vio::cont::handleEvent
    - UnixNetVConnection*::nh::free_netevent
    - this_ethread
    - Note
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int read_signal_and_update(int event, UnixNetVConnection *vc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection*::write::vio::cont::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:119,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:129,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:133,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:134,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:140,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:140,1
    - Dst: UnixNetVConnection*::nh::free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - vc
    argTypes:
    - int
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 146
    functionName: write_signal_and_update
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection*::write::vio::cont::handleEvent
    - ink_release_assert
    - Error
    - Dbg
    - UnixNetVConnection*::nh::free_netevent
    - this_ethread
    - Note
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int write_signal_and_update(int event, UnixNetVConnection *vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:152,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - nh
    - vc
    argTypes:
    - int
    - NetHandler*
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: read_signal_done
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_signal_and_update
    - read_reschedule
    linkageType: ''
    returnType: int
    signature: int read_signal_done(int event, NetHandler *nh, UnixNetVConnection
      *vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:164,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - nh
    - vc
    argTypes:
    - int
    - NetHandler*
    - UnixNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: write_signal_done
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - write_signal_and_update
    - write_reschedule
    linkageType: ''
    returnType: int
    signature: int write_signal_done(int event, NetHandler *nh, UnixNetVConnection
      *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nh
    - vc
    - lerrno
    argTypes:
    - NetHandler*
    - UnixNetVConnection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: read_signal_error
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_signal_done
    linkageType: ''
    returnType: int
    signature: int read_signal_error(NetHandler *nh, UnixNetVConnection *vc, int lerrno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nh
    - vc
    - lerrno
    argTypes:
    - NetHandler*
    - UnixNetVConnection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: write_signal_error
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - write_signal_done
    linkageType: ''
    returnType: int
    signature: int write_signal_error(NetHandler *nh, UnixNetVConnection *vc, int
      lerrno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:199,1
    - Dst: reinterpret_cast<TSVIO>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 210
    functionName: UnixNetVConnection::get_data
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVIO>
    linkageType: ''
    returnType: bool
    signature: bool UnixNetVConnection::get_data(int id, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:216,1
    - Dst: vio::set_writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:226,1
    - Dst: vio::reenable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:228,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 235
    functionName: UnixNetVConnection::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - vio::set_writer
    - vio::buffer::clear
    - Error
    - vio::reenable
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      UnixNetVConnection::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:251,1
    - Dst: vio::set_reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:252,1
    - Dst: vio::reenable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - c
    - nbytes
    - reader
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: UnixNetVConnection::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - vio::set_reader
    - Error
    - vio::reenable
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      UnixNetVConnection::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *reader, bool owner)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:274,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:277,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:278,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:284,1
    - Dst: free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:302,1
    - Dst: UnixNetVConnection::free_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - alerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 307
    functionName: UnixNetVConnection::do_io_close
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - vio::buffer::clear
    - Dbg
    - free_netevent
    - this_ethread
    - UnixNetVConnection::free_thread
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::do_io_close(int alerrno /* = -1 */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::con::sock::shutdown
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:314,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:316,1
    - Dst: UnixNetVConnection::con::sock::shutdown
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:322,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:324,1
    - Dst: UnixNetVConnection::con::sock::shutdown
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:330,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:333,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:335,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 344
    functionName: UnixNetVConnection::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::con::sock::shutdown
    - vio::buffer::clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STATE_FROM_VIO
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:353,1
    - Dst: UnixNetVConnection::set_enabled
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:356,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:361,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:361,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:362,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:365,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:366,1
    - Dst: read_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:368,1
    - Dst: read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:370,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:373,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:374,1
    - Dst: write_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:376,1
    - Dst: write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:378,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:382,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:383,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:385,1
    - Dst: read_enable_list::push
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:387,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:390,1
    - Dst: write_enable_list::push
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:392,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:395,1
    - Dst: thread::tail_cb::signalActivity
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:396,1
    - Dst: trigger_event::ethread::tail_cb::signalActivity
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:398,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:402,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:403,1
    - Dst: read_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:405,1
    - Dst: read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:407,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:410,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:411,1
    - Dst: write_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:413,1
    - Dst: write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:415,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 420
    functionName: UnixNetVConnection::reenable
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - this_ethread
    - thread::tail_cb::signalActivity
    - read_ready_list::remove
    - refresh
    - read_ready_list::in_or_enqueue
    - is_locked
    - write_ready_list::in_or_enqueue
    - trigger_event::ethread::tail_cb::signalActivity
    - likely
    - MUTEX_TRY_LOCK
    - ink_atomic_swap
    - modify
    - UnixNetVConnection::set_enabled
    - ink_release_assert
    - STATE_FROM_VIO
    - write_enable_list::push
    - read_enable_list::push
    - ink_assert
    - write_ready_list::remove
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::reenable(VIO *vio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:429,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:429,1
    - Dst: UnixNetVConnection::set_enabled
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:431,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:433,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:434,1
    - Dst: UnixNetVConnection::net_read_io
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:436,1
    - Dst: read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:438,1
    - Dst: modify
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:441,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:442,1
    - Dst: UnixNetVConnection::net_write_io
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:444,1
    - Dst: write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:446,1
    - Dst: UnixNetVConnection::reenable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: UnixNetVConnection::reenable_re
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - modify
    - UnixNetVConnection::set_enabled
    - write_ready_list::remove
    - UnixNetVConnection::net_read_io
    - read_ready_list::remove
    - UnixNetVConnection::reenable
    - this_ethread
    - refresh
    - ink_assert
    - UnixNetVConnection::net_write_io
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::reenable_re(VIO *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: UnixNetVConnection::UnixNetVConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::UnixNetVConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:464,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:464,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:465,1
    - Dst: STATE_FROM_VIO
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:466,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: UnixNetVConnection::set_enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - ink_release_assert
    - STATE_FROM_VIO
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_enabled(VIO *vio)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:481,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:483,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:484,1
    - Dst: UnixNetVConnection::nh::free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:492,1
    - Dst: NetState*::vio::is_disabled
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:496,1
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:497,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:502,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:502,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:505,1
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:507,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:510,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:520,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:525,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:539,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:542,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:543,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:543,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:546,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:547,1
    - Dst: UnixNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:547,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:548,1
    - Dst: UnixNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:548,1
    - Dst: UnixNetVConnection::con::sock::recvmsg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:551,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:553,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:569,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:571,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:577,1
    - Dst: read_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:578,1
    - Dst: read_signal_error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:582,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:582,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:585,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:586,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:589,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:591,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:592,1
    - Dst: UnixNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:596,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:604,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:605,1
    - Dst: read_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:606,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:607,1
    - Dst: read_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:610,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:615,1
    - Dst: NetState*::vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:615,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:616,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:623,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:623,1
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:624,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:628,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 108
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 629
    functionName: UnixNetVConnection::net_read_io
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - NetState*::vio::ntodo
    - NetHandler*::read_ready_list::remove
    - read_signal_error
    - UnixNetVConnection::get_remote_addr
    - ats_ip_size
    - IOBufferBlock*::write_avail
    - read_disable
    - NetState*::vio::is_disabled
    - is_locked
    - ts::Metrics::Counter::increment
    - ink_zero
    - IOBufferBlock*::next::get
    - MUTEX_TRY_LOCK
    - get_mutex
    - countof
    - read_signal_and_update
    - static_cast<int>
    - read_signal_done
    - UnixNetVConnection::nh::free_netevent
    - const_cast<sockaddr *>
    - Dbg
    - UnixNetVConnection::netActivity
    - ink_assert
    - MIOBufferAccessor::writer
    - read_reschedule
    - NetState*::vio::mutex::get
    - UnixNetVConnection::con::sock::recvmsg
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::net_read_io(NetHandler *nh)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:638,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:642,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:644,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:644,1
    - Dst: NetState*::vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:644,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:645,1
    - Dst: UnixNetVConnection::has_error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:649,1
    - Dst: write_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:651,1
    - Dst: UnixNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:657,1
    - Dst: UnixNetVConnection::trackFirstHandshake
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:658,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:663,1
    - Dst: UnixNetVConnection::get_context
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:668,1
    - Dst: UnixNetVConnection::sslStartHandShake
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:669,1
    - Dst: UnixNetVConnection::sslStartHandShake
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:671,1
    - Dst: write_signal_error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:676,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:679,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:680,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:683,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:684,1
    - Dst: NetHandler*::write_ready_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:688,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:693,1
    - Dst: UnixNetVConnection::readSignalDone
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:694,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:697,1
    - Dst: write_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:705,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:710,1
    - Dst: write_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:712,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:717,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:717,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:720,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:728,1
    - Dst: write_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:729,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:732,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:736,1
    - Dst: write_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:738,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:745,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:752,1
    - Dst: write_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:754,1
    - Dst: UnixNetVConnection::load_buffer_and_write
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:760,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:763,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:764,1
    - Dst: UnixNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:766,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:770,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:775,1
    - Dst: NetHandler*::write_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:778,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:779,1
    - Dst: NetHandler*::read_ready_list::remove
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:784,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:785,1
    - Dst: write_signal_error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:792,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:792,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:798,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:803,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:804,1
    - Dst: write_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:805,1
    - Dst: NetState*::vio::ntodo
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:810,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:810,1
    - Dst: write_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:819,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:824,1
    - Dst: NetState*::vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:824,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:825,1
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:831,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:834,1
    - Dst: write_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:835,1
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:840,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 146
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 635
    functionDepth: 5
    functionLinenumber: 635
    functionLinenumberEnd: 845
    functionName: UnixNetVConnection::net_write_io
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - NetState*::vio::ntodo
    - NetHandler*::read_ready_list::remove
    - UnixNetVConnection::sslStartHandShake
    - NetHandler*::write_ready_list::remove
    - MIOBufferAccessor::reader
    - write_signal_error
    - UnixNetVConnection::getSSLHandShakeComplete
    - write_reschedule
    - ts::Metrics::Counter::increment
    - is_locked
    - write_disable
    - NetHandler*::write_ready_list::in_or_enqueue
    - UnixNetVConnection::get_context
    - MUTEX_TRY_LOCK
    - get_mutex
    - write_signal_and_update
    - UnixNetVConnection::readSignalDone
    - static_cast<int>
    - write_signal_done
    - UnixNetVConnection::has_error
    - UnixNetVConnection::netActivity
    - ink_assert
    - MIOBufferAccessor::writer
    - read_reschedule
    - UnixNetVConnection::load_buffer_and_write
    - UnixNetVConnection::trackFirstHandshake
    - NetState*::vio::mutex::get
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::net_write_io(NetHandler *nh)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:856,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:865,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:883,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:887,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:890,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:891,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:891,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:895,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:898,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:899,1
    - Dst: UnixNetVConnection::get_local_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:899,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:900,1
    - Dst: UnixNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:900,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:901,1
    - Dst: UnixNetVConnection::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:901,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:908,1
    - Dst: sock::sendmsg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:911,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:918,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:924,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:928,1
    - Dst: IOBufferReader*::dealloc
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:931,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - towrite
    - buf
    - total_written
    - needs
    argTypes:
    - int64_t
    - MIOBufferAccessor
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 936
    functionName: UnixNetVConnection::load_buffer_and_write
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - IOBufferReader*::dealloc
    - UnixNetVConnection::get_local_addr
    - UnixNetVConnection::get_remote_addr
    - IOBufferReader*::start
    - ink_zero
    - const_cast<sockaddr *>
    - sock::sendmsg
    - MIOBufferAccessor::reader
    - ats_is_unix
    - IOBufferReader*::consume
    - ats_ip_size
    - IOBufferReader*::block_read_avail
    - countof
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t UnixNetVConnection::load_buffer_and_write(int64_t towrite,
      MIOBufferAccessor &buf, int64_t &total_written, int &needs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_disable
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 942
    functionName: UnixNetVConnection::readDisable
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_disable
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::readDisable(NetHandler *nh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_signal_error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nh
    - err
    argTypes:
    - NetHandler*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 5
    functionLinenumber: 944
    functionLinenumberEnd: 948
    functionName: UnixNetVConnection::readSignalError
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_signal_error
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::readSignalError(NetHandler *nh, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_signal_done
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event
    - nh
    argTypes:
    - int
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 4
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: UnixNetVConnection::readSignalDone
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - read_signal_done
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::readSignalDone(int event, NetHandler *nh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 956
    functionDepth: 3
    functionLinenumber: 956
    functionLinenumberEnd: 960
    functionName: UnixNetVConnection::readSignalAndUpdate
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_signal_and_update
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::readSignalAndUpdate(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: UnixNetVConnection::readReschedule
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - read_reschedule
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::readReschedule(NetHandler *nh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_reschedule
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nh
    argTypes:
    - NetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 975
    functionName: UnixNetVConnection::writeReschedule
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - write_reschedule
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::writeReschedule(NetHandler *nh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:980,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 986
    functionName: UnixNetVConnection::netActivity
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 2
    functionsReached:
    - Dbg
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::netActivity()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:991,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:991,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:992,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:993,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:993,1
    - Dst: UnixNetVConnection::connectUp
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:997,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1002
    functionName: UnixNetVConnection::startEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - get_NetHandler
    - UnixNetVConnection::connectUp
    - HRTIME_MSECONDS
    - Event*::schedule_in
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::startEvent(int /* event ATS_UNUSED */, Event
      *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1007,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1008,1
    - Dst: NetHandler*::startIO
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1013,1
    - Dst: UnixNetVConnection::free_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1014,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1019,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1020,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1023,1
    - Dst: startCop
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1026,1
    - Dst: UnixNetVConnection::set_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1028,1
    - Dst: UnixNetVConnection::set_active_timeout
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1031,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1034,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1035,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1036,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1038,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1043
    functionName: UnixNetVConnection::acceptEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - get_NetHandler
    - ink_release_assert
    - UnixNetVConnection::set_active_timeout
    - SCOPED_MUTEX_LOCK
    - MUTEX_TRY_LOCK
    - new_ProxyMutex
    - startCop
    - NetHandler*::startIO
    - UnixNetVConnection::set_inactivity_timeout
    - this_ethread
    - UnixNetVConnection::free_thread
    - SET_HANDLER
    - continuation::handleEvent
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::acceptEvent(int /* event ATS_UNUSED */, Event
      *e)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1053,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1054,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1054,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1056,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1056,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1057,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1058,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1060,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1060,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1060,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1061,1
    - Dst: vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1061,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1062,1
    - Dst: vio::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1062,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1090,1
    - Dst: free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1098,1
    - Dst: read_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1104,1
    - Dst: write_signal_and_update
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1111,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1116
    functionName: UnixNetVConnection::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - get_mutex
    - is_locked
    - get_NetHandler
    - ink_release_assert
    - write_signal_and_update
    - free_netevent
    - this_ethread
    - vio::mutex::get
    - MUTEX_TRY_LOCK
    - read_signal_and_update
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::mainEvent(int event, Event *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::con::move
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1121,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1123,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1125,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1126,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1128,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1129,1
    - Dst: NetHandler*::startIO
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1135,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1139,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1140,1
    - Dst: UnixNetVConnection::nh::startCop
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1141,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1142,1
    - Dst: UnixNetVConnection::con::sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - con_in
    - c
    argTypes:
    - Connection
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1144
    functionName: UnixNetVConnection::populate
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::nh::startCop
    - is_locked
    - get_NetHandler
    - UnixNetVConnection::con::sock::is_ok
    - ink_assert
    - Dbg
    - NetHandler*::startIO
    - this_ethread
    - MUTEX_TRY_LOCK
    - SET_HANDLER
    - UnixNetVConnection::con::move
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::populate(Connection &con_in, Continuation *c,
      void * /* arg ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1149,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1149,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1149,1
    - Dst: check_net_throttle
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1154,1
    - Dst: check_throttle_warning
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1155,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1157,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1167,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1169,1
    - Dst: local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1170,1
    - Dst: local_ip::toString
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1170,1
    - Dst: NetVCOptions::toString
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1171,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1176,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1178,1
    - Dst: safe_getsockopt
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1188,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1188,1
    - Dst: UnixSocket::set_nonblocking
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1189,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1197,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1201,1
    - Dst: connect
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1202,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1210,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1211,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1211,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1214,1
    - Dst: startCop
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1216,1
    - Dst: UnixNetVConnection::set_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1218,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1219,1
    - Dst: UnixNetVConnection::set_local_addr
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1220,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1221,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1226,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1226,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1227,1
    - Dst: free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1231,1
    - Dst: UnixNetVConnection::free_thread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - t
    - fd
    argTypes:
    - EThread*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1236
    functionName: UnixNetVConnection::connectUp
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - get_NetHandler
    - NetVCOptions::toString
    - UnixSocket::is_ok
    - reinterpret_cast<void *>
    - safe_getsockopt
    - UnixSocket::set_nonblocking
    - this_ethread
    - sock::is_ok
    - SET_HANDLER
    - UnixNetVConnection::set_inactivity_timeout
    - open
    - local_ip::toString
    - ts::Metrics::Counter::increment
    - connect
    - startCop
    - UnixNetVConnection::free_thread
    - ink_release_assert
    - check_net_throttle
    - UnixNetVConnection::set_local_addr
    - free_netevent
    - check_throttle_warning
    - ink_assert
    - continuation::handleEvent
    - 'on'
    - DbgPrint
    - reinterpret_cast<char *>
    - ts::Metrics::Gauge::increment
    - local_ip::isValid
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::connectUp(EThread *t, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::mutex::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1248,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1249,1
    - Dst: vio::mutex::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1253,1
    - Dst: vio::mutex::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1254,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1265,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1267,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1268,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1272,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1273,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1274,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1275,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1277
    functionName: UnixNetVConnection::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - vio::buffer::clear
    - reset
    - vio::mutex::clear
    - mutex::clear
    - UnixNetVConnection::mutex::clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1282,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1284,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1284,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1287,1
    - Dst: UnixNetVConnection::release_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1288,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1289,1
    - Dst: UnixNetVConnection::close
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1291,1
    - Dst: UnixNetVConnection::is_tunnel_endpoint
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1293,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1294,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1296,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1297,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1303,1
    - Dst: UnixNetVConnection::clear
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1308,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1309,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1310,1
    - Dst: sock::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1310,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1311,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1311,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1314,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1318
    functionName: UnixNetVConnection::free_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 3
    functionsReached:
    - ink_release_assert
    - ts::Metrics::Gauge::decrement
    - free
    - Dbg
    - this_ethread
    - UnixNetVConnection::clear
    - UnixNetVConnection::close
    - sock::is_ok
    - SET_CONTINUATION_HANDLER
    - THREAD_FREE
    - UnixNetVConnection::is_tunnel_endpoint
    - UnixNetVConnection::release_inbound_connection_tracking
    - ink_assert
    - get_context
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::free_thread(EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::apply_options
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1324
    functionName: UnixNetVConnection::apply_options
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - UnixNetVConnection::apply_options
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::apply_options()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1329,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1332
    functionName: UnixNetVConnection::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 2
    functionsReached:
    - Dbg
    - ink_get_hrtime
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixNetVConnection::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1339
    functionName: UnixNetVConnection::set_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixNetVConnection::set_default_inactivity_timeout(ink_hrtime
      timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1345
    functionName: UnixNetVConnection::is_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixNetVConnection::is_default_inactivity_timeout()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1354,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1355,1
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1361,1
    - Dst: Connection::move
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1362,1
    - Dst: UnixNetVConnection::_prepareForMigration
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1364,1
    - Dst: UnixNetVConnection::ep::stop
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1370,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1373,1
    - Dst: UnixNetVConnection::_getNetProcessor
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1373,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1374,1
    - Dst: UnixNetVConnection*::populate
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1375,1
    - Dst: UnixNetVConnection*::do_io_close
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1376,1
    - Dst: UnixNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1380,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1380,1
    - Dst: UnixNetVConnection::do_io_close
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - cont
    - t
    argTypes:
    - Continuation*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1387
    functionName: UnixNetVConnection::migrateToCurrentThread
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::ep::stop
    - UnixNetVConnection::_getNetProcessor
    - UnixNetVConnection*::do_io_close
    - get_NetHandler
    - UnixNetVConnection*::set_context
    - UnixNetVConnection::do_io_close
    - Connection::Connection
    - UnixNetVConnection::_prepareForMigration
    - Connection::move
    - UnixNetVConnection*::populate
    - static_cast<UnixNetVConnection *>
    - ink_assert
    - get_context
    linkageType: ''
    returnType: UnixNetVConnection
    signature: 'UnixNetVConnection *

      UnixNetVConnection::migrateToCurrentThread(Continuation *cont, EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1393
    functionName: UnixNetVConnection::_prepareForMigration
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      UnixNetVConnection::_prepareForMigration()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: UnixNetVConnection::_getNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: 'NetProcessor *

      UnixNetVConnection::_getNetProcessor()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1404,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1404,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1405,1
    - Dst: UnixNetVConnection::add_to_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1406,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1410
    functionName: UnixNetVConnection::add_to_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - ink_release_assert
    - MUTEX_TRY_LOCK
    - UnixNetVConnection::add_to_keep_alive_queue
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::add_to_keep_alive_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1415,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1415,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1416,1
    - Dst: UnixNetVConnection::remove_from_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1417,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1421
    functionName: UnixNetVConnection::remove_from_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - ink_release_assert
    - MUTEX_TRY_LOCK
    - UnixNetVConnection::remove_from_keep_alive_queue
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::remove_from_keep_alive_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1428,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1428,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1429,1
    - Dst: UnixNetVConnection::add_to_active_queue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1430,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: UnixNetVConnection::add_to_active_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - ink_release_assert
    - MUTEX_TRY_LOCK
    - this_ethread
    - UnixNetVConnection::add_to_active_queue
    linkageType: ''
    returnType: bool
    signature: bool UnixNetVConnection::add_to_active_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1440,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1440,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1441,1
    - Dst: UnixNetVConnection::remove_from_active_queue
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1442,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1446
    functionName: UnixNetVConnection::remove_from_active_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - ink_release_assert
    - UnixNetVConnection::remove_from_active_queue
    - MUTEX_TRY_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::remove_from_active_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1451,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - std::shared_ptr<ConnectionTracker::Group>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1453
    functionName: UnixNetVConnection::enable_inbound_connection_tracking
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - std::move
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::enable_inbound_connection_tracking(std::shared_ptr<ConnectionTracker::Group>
      group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1460,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1463
    functionName: UnixNetVConnection::release_inbound_connection_tracking
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - reset
    - release
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::release_inbound_connection_tracking()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_proto_string
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1470,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1470,1
    - Dst: get_family_string
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1474,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - results
    - n
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1480
    functionName: UnixNetVConnection::populate_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - empty
    - get_proto_string
    - get_family_string
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::populate_protocol(std::string_view *results,
      int n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_proto_string
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1485,1
    - Dst: IsNoCasePrefixOf
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1486,1
    - Dst: get_family_string
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1487,1
    - Dst: IsNoCasePrefixOf
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1488,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1489,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tag
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1493
    functionName: UnixNetVConnection::protocol_contains
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - get_proto_string
    - get_family_string
    - ink_zero
    - IsNoCasePrefixOf
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      UnixNetVConnection::protocol_contains(std::string_view tag) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1507,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1508,1
    - Dst: sock::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1508,1
    - Dst: static_cast<const void *>
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1508,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1508,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1508,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1511,1
    - Dst: sock::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1511,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1511,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1512,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1514,1
    - Dst: sock::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1514,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1514,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - side
    argTypes:
    - tcp_congestion_control_side
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1523
    functionName: UnixNetVConnection::set_tcp_congestion_control
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - static_cast<const void *>
    - setsockopt
    - Error
    - std::string_view::empty
    - sock::get_fd
    - Dbg
    - std::string_view::size
    - strerror
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int UnixNetVConnection::set_tcp_congestion_control([[maybe_unused]]
      tcp_congestion_control_side side)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1528,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1530,1
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1534,1
    - Dst: UnixNetVConnection::_in_context_tunnel
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1536,1
    - Dst: UnixNetVConnection::_out_context_tunnel
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1539,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1544
    functionName: UnixNetVConnection::mark_as_tunnel_endpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Dbg
    - UnixNetVConnection::_in_context_tunnel
    - UnixNetVConnection::_out_context_tunnel
    - ink_assert
    - get_context
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::mark_as_tunnel_endpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1549,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1551
    functionName: UnixNetVConnection::_in_context_tunnel
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::_in_context_tunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1556,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1558
    functionName: UnixNetVConnection::_out_context_tunnel
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNetVConnection.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::_out_context_tunnel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:60,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:61,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:61,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:65,1
    - Dst: indexFor
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:66,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:68,1
    - Dst: Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:68,1
    - Dst: std::vector<int>::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - node
    argTypes:
    - std::vector<int>
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: load_tunnel_alpn
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::vector<int>::push_back
    - YAML::Node::Mark
    - YAML::Node::IsSequence
    - indexFor
    - YAML::Scanner::ThrowParserException
    - Mark
    - as
    linkageType: ''
    returnType: void
    signature: void load_tunnel_alpn(std::vector<int> &dst, const YAML::Node &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:60,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:61,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:61,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:65,1
    - Dst: indexFor
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:66,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:68,1
    - Dst: Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:68,1
    - Dst: std::vector<int>::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - node
    argTypes:
    - std::vector<int>
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: load_tunnel_alpn
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::vector<int>::push_back
    - YAML::Node::Mark
    - YAML::Node::IsSequence
    - indexFor
    - YAML::Scanner::ThrowParserException
    - Mark
    - as
    linkageType: ''
    returnType: void
    signature: void load_tunnel_alpn(std::vector<int> &dst, const YAML::Node &node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:81,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:82,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:87,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:92,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:95,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:95,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:96,1
    - Dst: auto::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:96,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:99,1
    - Dst: what
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:99,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - cfgFilename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: YamlSNIConfig::loader
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - auto::as
    - what
    - YAML::LoadFile
    - YAML::Node::IsSequence
    - push_back
    - YAML::Node::begin
    - YAML::Node::end
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata YamlSNIConfig::loader(const std::string &cfgFilename)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - proto
    argTypes:
    - YamlSNIConfig::TLSProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 130
    functionName: YamlSNIConfig::Item::EnableProtocol(YamlSNIConfig::TLSProtocol proto)
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YamlSNIConfig::Item::EnableProtocol(YamlSNIConfig::TLSProtocol
      proto)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:135,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:136,1
    - Dst: std::make_unique<ControlH2>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:136,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:136,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:138,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:139,1
    - Dst: std::make_unique<ControlQUIC>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:139,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:139,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:142,1
    - Dst: std::make_unique<VerifyClient>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:142,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:145,1
    - Dst: std::make_unique<HostSniPolicy>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:145,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:148,1
    - Dst: std::make_unique<TLSValidProtocols>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:148,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:150,1
    - Dst: std::make_unique<TLSValidProtocols>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:150,1
    - Dst: length
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:152,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:153,1
    - Dst: std::make_unique<TunnelDestination>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:153,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:155,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:156,1
    - Dst: std::make_unique<OutboundSNIPolicy>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:156,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:158,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:159,1
    - Dst: std::make_unique<ServerCipherSuite>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:159,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:161,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:162,1
    - Dst: std::make_unique<ServerTLSv1_3CipherSuites>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:162,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:164,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:165,1
    - Dst: std::make_unique<ServerGroupsList>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:165,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:167,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:168,1
    - Dst: std::make_unique<HTTP2BufferWaterMark>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:168,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:168,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:170,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:171,1
    - Dst: std::make_unique<HTTP2InitialWindowSizeIn>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:171,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:171,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:173,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:174,1
    - Dst: std::make_unique<HTTP2MaxSettingsFramesPerMinute>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:174,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:174,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:176,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:177,1
    - Dst: std::make_unique<HTTP2MaxPingFramesPerMinute>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:177,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:177,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:179,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:180,1
    - Dst: std::make_unique<HTTP2MaxPriorityFramesPerMinute>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:180,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:180,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:182,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:183,1
    - Dst: std::make_unique<HTTP2MaxRstStreamFramesPerMinute>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:183,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:183,1
    - Dst: has_value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:185,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:186,1
    - Dst: std::make_unique<HTTP2MaxContinuationFramesPerMinute>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:186,1
    - Dst: value
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:186,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:189,1
    - Dst: std::make_unique<ServerMaxEarlyData>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:189,1
    - Dst: action_vector_t::push_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:190,1
    - Dst: std::make_unique<SNI_IpAllow>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - actions
    argTypes:
    - action_vector_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 191
    functionName: YamlSNIConfig::Item::populate_sni_actions(action_vector_t &actions)
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HTTP2MaxPingFramesPerMinute>
    - std::make_unique<HTTP2MaxContinuationFramesPerMinute>
    - std::make_unique<ControlH2>
    - std::make_unique<ControlQUIC>
    - std::make_unique<TLSValidProtocols>
    - std::make_unique<ServerGroupsList>
    - value
    - std::make_unique<VerifyClient>
    - action_vector_t::push_back
    - length
    - std::make_unique<SNI_IpAllow>
    - has_value
    - std::make_unique<HostSniPolicy>
    - std::make_unique<ServerCipherSuite>
    - std::make_unique<HTTP2MaxSettingsFramesPerMinute>
    - empty
    - std::make_unique<ServerMaxEarlyData>
    - std::make_unique<HTTP2MaxPriorityFramesPerMinute>
    - std::make_unique<HTTP2MaxRstStreamFramesPerMinute>
    - std::make_unique<TunnelDestination>
    - std::make_unique<HTTP2InitialWindowSizeIn>
    - std::make_unique<ServerTLSv1_3CipherSuites>
    - std::make_unique<OutboundSNIPolicy>
    - std::make_unique<HTTP2BufferWaterMark>
    linkageType: ''
    returnType: void
    signature: void YamlSNIConfig::Item::populate_sni_actions(action_vector_t &actions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: VerifyClient::~VerifyClient()
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifyClient::~VerifyClient()
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:259,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:260,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:260,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:265,1
    - Dst: YAML::parse_inbound_port_ranges
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:271,1
    - Dst: YamlSNIConfig::Item::inbound_port_ranges::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:273,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:276,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:279,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:282,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:285,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:288,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:291,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:294,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:297,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:300,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:305,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:306,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:308,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:308,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:310,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:319,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:320,1
    - Dst: auto::IsMap
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:325,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:327,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:329,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:330,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:330,1
    - Dst: second::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:332,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:335,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:336,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:336,1
    - Dst: second::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:338,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: auto::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:347,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:351,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:352,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:354,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:355,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:357,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:358,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:363,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:364,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:365,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:377,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:385,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:388,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:391,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:394,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:397,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:400,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:404,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:407,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:417,1
    - Dst: load_tunnel_alpn
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:428,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:433,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:434,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:436,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:436,1
    - Dst: static_cast<YamlSNIConfig::Policy>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:438,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:442,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:443,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:445,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:445,1
    - Dst: static_cast<YamlSNIConfig::Property>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:447,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:451,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:454,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:457,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:460,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:463,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:466,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:469,1
    - Dst: YAML::size
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:472,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:473,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:474,1
    - Dst: YamlSNIConfig::Item::EnableProtocol
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:475,1
    - Dst: static_cast<YamlSNIConfig::TLSProtocol>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:475,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:479,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:479,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:482,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:482,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:486,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 188
    argCount: 2
    argNames:
    - node
    - item
    argTypes:
    - Node
    - YamlSNIConfig::Item
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 492
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - second::as
    - YamlSNIConfig::Item::inbound_port_ranges::emplace_back
    - std::none_of
    - std::string
    - auto::IsMap
    - YAML::Mark
    - as
    - static_cast<YamlSNIConfig::TLSProtocol>
    - begin
    - get
    - RecConfigReadConfigDir
    - first::Mark
    - std::string::empty
    - YAML::parse_inbound_port_ranges
    - static_cast<uint8_t>
    - empty
    - std::move
    - YamlSNIConfig::Item::EnableProtocol
    - static_cast<YamlSNIConfig::Property>
    - Warning
    - first::as
    - static_cast<YamlSNIConfig::Policy>
    - end
    - YAML::size
    - ink_assert
    - load_tunnel_alpn
    - auto::as
    - YAML::Scanner::ThrowParserException
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, YamlSNIConfig::Item &item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsSequence
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:498,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: YAML::parse_single_inbound_port_range
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: Scalar
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    - Dst: YAML::parse_single_inbound_port_range
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - port_ranges
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: YAML::parse_inbound_port_ranges
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 1
    functionsReached:
    - Node::Scalar
    - Scalar
    - std::vector::emplace_back
    - Node::IsSequence
    - YAML::parse_single_inbound_port_range
    linkageType: ''
    returnType: std::vector<ts::port_range_t>
    signature: std::vector<ts::port_range_t> parse_inbound_port_ranges(Node const
      &port_ranges)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:512,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:519,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:521,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:522,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:527,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - node
    - port_view
    argTypes:
    - Node
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: YAML::parse_single_inbound_port_range
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::split_prefix_at
    - Node::Mark
    - max
    - static_cast<in_port_t>
    - YAML::Scanner::ThrowParserException
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: ts::port_range_t
    signature: ts::port_range_t parse_single_inbound_port_range(Node const &node,
      swoc::TextView port_view)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:258,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:259,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:260,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:260,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:265,1
    - Dst: YAML::parse_inbound_port_ranges
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:271,1
    - Dst: YamlSNIConfig::Item::inbound_port_ranges::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:273,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:276,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:279,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:282,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:285,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:288,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:291,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:294,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:297,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:300,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:305,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:306,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:308,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:308,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:310,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:319,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:320,1
    - Dst: auto::IsMap
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:325,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:327,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:329,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:330,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:330,1
    - Dst: second::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:332,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:335,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:336,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:336,1
    - Dst: second::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:338,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: first::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:341,1
    - Dst: auto::as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:347,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:349,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:351,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:352,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:354,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:355,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:357,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:358,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:363,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:364,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:365,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:377,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:385,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:388,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:391,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:394,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:397,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:400,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:404,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:407,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:417,1
    - Dst: load_tunnel_alpn
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:428,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:433,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:434,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:436,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:436,1
    - Dst: static_cast<YamlSNIConfig::Policy>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:438,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:442,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:443,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:445,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:445,1
    - Dst: static_cast<YamlSNIConfig::Property>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:447,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:451,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:454,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:457,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:460,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:463,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:466,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:469,1
    - Dst: YAML::size
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:472,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:473,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:474,1
    - Dst: YamlSNIConfig::Item::EnableProtocol
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:475,1
    - Dst: static_cast<YamlSNIConfig::TLSProtocol>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:475,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:479,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:479,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:482,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:482,1
    - Dst: as
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:486,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 188
    argCount: 2
    argNames:
    - node
    - item
    argTypes:
    - Node
    - YamlSNIConfig::Item
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 492
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - second::as
    - YamlSNIConfig::Item::inbound_port_ranges::emplace_back
    - std::none_of
    - std::string
    - auto::IsMap
    - YAML::Mark
    - as
    - static_cast<YamlSNIConfig::TLSProtocol>
    - begin
    - get
    - RecConfigReadConfigDir
    - first::Mark
    - std::string::empty
    - YAML::parse_inbound_port_ranges
    - static_cast<uint8_t>
    - empty
    - std::move
    - YamlSNIConfig::Item::EnableProtocol
    - static_cast<YamlSNIConfig::Property>
    - Warning
    - first::as
    - static_cast<YamlSNIConfig::Policy>
    - end
    - YAML::size
    - ink_assert
    - load_tunnel_alpn
    - auto::as
    - YAML::Scanner::ThrowParserException
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, YamlSNIConfig::Item &item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsSequence
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:498,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: YAML::parse_single_inbound_port_range
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: Scalar
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:500,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    - Dst: YAML::parse_single_inbound_port_range
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - port_ranges
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: YAML::parse_inbound_port_ranges
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 2
    functionsReached:
    - Node::Scalar
    - Scalar
    - std::vector::emplace_back
    - Node::IsSequence
    - YAML::parse_single_inbound_port_range
    linkageType: ''
    returnType: std::vector<ts::port_range_t>
    signature: std::vector<ts::port_range_t> parse_inbound_port_ranges(Node const
      &port_ranges)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:512,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:519,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:521,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:522,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:524,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:527,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - node
    - port_view
    argTypes:
    - Node
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: YAML::parse_single_inbound_port_range
    functionSourceFile: /src/trafficserver/src/iocore/net/YamlSNIConfig.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::split_prefix_at
    - Node::Mark
    - max
    - static_cast<in_port_t>
    - YAML::Scanner::ThrowParserException
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: ts::port_range_t
    signature: ts::port_range_t parse_single_inbound_port_range(Node const &node,
      swoc::TextView port_view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:32,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: QUICSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:41,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: QUICSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICSupport.cc
    functionUses: 1
    functionsReached:
    - static_cast<QUICSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: QUICSupport
    signature: 'QUICSupport *

      QUICSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - srs
    argTypes:
    - SSL*
    - QUICSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: QUICSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void QUICSupport::bind(SSL *ssl, QUICSupport *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/QUICSupport.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: QUICSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void QUICSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: QUICSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICSupport::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: NetHandler::NetHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void NetHandler::NetHandler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:56,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:56,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:57,1
    - Dst: NetEvent*::get_thread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:57,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:57,1
    - Dst: get_PollDescriptor
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:60,1
    - Dst: NetEvent*::ep::start
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:65,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:65,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: NetHandler::startIO
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - enqueue
    - get_PollDescriptor
    - Dbg
    - this_ethread
    - NetEvent*::get_thread
    - strerror
    - ink_assert
    - NetEvent*::ep::start
    linkageType: ''
    returnType: int
    signature: int NetHandler::startIO(NetEvent *ne)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:80,1
    - Dst: NetEvent*::ep::stop
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:82,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:84,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:85,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:87,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: NetHandler::stopIO
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - NetEvent*::ep::stop
    - ink_release_assert
    - remove
    linkageType: ''
    returnType: void
    signature: void NetHandler::stopIO(NetEvent *ne)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:101,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:101,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:102,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:103,1
    - Dst: in
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:103,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: NetHandler::startCop
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - in
    - enqueue
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetHandler::startCop(NetEvent *ne)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:111,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:113,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:114,1
    - Dst: NetHandler::remove_from_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:115,1
    - Dst: NetHandler::remove_from_active_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: NetHandler::stopCop
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - NetHandler::remove_from_keep_alive_queue
    - ink_release_assert
    - NetHandler::remove_from_active_queue
    - remove
    linkageType: ''
    returnType: void
    signature: void NetHandler::stopCop(NetEvent *ne)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:133,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:139,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:142,1
    - Dst: store
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:145,1
    - Dst: store
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:148,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:154,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:154,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:163,1
    - Dst: NetHandler*::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 172
    functionName: NetHandler::update_nethandler_config
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - static_cast<intptr_t>
    - get_NetHandler
    - NetHandler*::thread::schedule_imm
    - reinterpret_cast<void *>
    - Dbg
    - store
    linkageType: ''
    returnType: int
    signature: int NetHandler::update_nethandler_config(const char *str, RecDataT,
      RecData data, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:178,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:179,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:180,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:182,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:184,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:185,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:190,1
    - Dst: store
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:191,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:195,1
    - Dst: store
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:196,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:199,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:200,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:201,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:202,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:203,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:204,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:205,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:208,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:211,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:215,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:216,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:216,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:217,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 219
    functionName: NetHandler::init_for_process
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 1
    functionsReached:
    - RecRegisterConfigUpdateCb
    - load
    - Dbg
    - RecGetRecordInt
    - store
    linkageType: ''
    returnType: void
    signature: void NetHandler::init_for_process()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:229,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:229,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:230,1
    - Dst: NetEvent*::get_thread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:230,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:231,1
    - Dst: NetHandler::stopCop
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:234,1
    - Dst: NetHandler::stopIO
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:236,1
    - Dst: NetEvent*::free_thread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: NetHandler::free_netevent
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - NetEvent*::free_thread
    - NetHandler::stopCop
    - NetHandler::stopIO
    - this_ethread
    - NetEvent*::get_thread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetHandler::free_netevent(NetEvent *ne)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SListM
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:249,1
    - Dst: rq
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:249,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:249,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:250,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:251,1
    - Dst: NetEvent*::ep::refresh
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:252,1
    - Dst: in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:255,1
    - Dst: SListM
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:259,1
    - Dst: wq
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:259,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:259,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:260,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:261,1
    - Dst: NetEvent*::ep::refresh
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:262,1
    - Dst: in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: NetHandler::process_enabled_list
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - SListM
    - NetEvent*::ep::refresh
    - wq
    - in_or_enqueue
    - pop
    - rq
    - popall
    - NetEvent*::ep::modify
    linkageType: ''
    returnType: void
    signature: void NetHandler::process_enabled_list()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:280,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:282,1
    - Dst: NetEvent*::get_control_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:282,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:284,1
    - Dst: NetEvent*::net_read_io
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:286,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:288,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:291,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:292,1
    - Dst: NetEvent*::get_control_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:292,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:294,1
    - Dst: NetEvent*::net_write_io
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:296,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:298,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:302,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:303,1
    - Dst: NetEvent*::get_control_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:303,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:305,1
    - Dst: NetEvent*::net_read_io
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:307,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:309,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:311,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:312,1
    - Dst: NetEvent*::get_control_flags
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:312,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:314,1
    - Dst: write_to_net
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:316,1
    - Dst: NetEvent*::ep::modify
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:318,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 321
    functionName: NetHandler::process_ready_list
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - NetEvent*::get_control_flags
    - NetEvent*::net_read_io
    - remove
    - set_cont_flags
    - dequeue
    - write_to_net
    - NetEvent*::net_write_io
    - NetEvent*::ep::modify
    - NetHandler::free_netevent
    linkageType: ''
    returnType: void
    signature: void NetHandler::process_ready_list()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:329,1
    - Dst: NetHandler::configure_per_thread_values
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:333,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:337,1
    - Dst: NetHandler::waitForActivity
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: NetHandler::mainNetEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<intptr_t>
    - NetHandler::configure_per_thread_values
    - ink_assert
    - NetHandler::waitForActivity
    linkageType: ''
    returnType: int
    signature: int NetHandler::mainNetEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:347,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:350,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:351,1
    - Dst: NetHandler::process_enabled_list
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:353,1
    - Dst: IOUringContext*::submit
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:356,1
    - Dst: get_PollCont
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:360,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:361,1
    - Dst: PollCont*::do_poll
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:362,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:363,1
    - Dst: get_PollDescriptor
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:367,1
    - Dst: get_ev_data
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:369,1
    - Dst: get_ev_events
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:370,1
    - Dst: EventIO*::process_event
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:371,1
    - Dst: ev_next_event
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:372,1
    - Dst: NetHandler::process_ready_list
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:377,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:378,1
    - Dst: NetHandler::thread::metrics::current_slice::load
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:380,1
    - Dst: IOUringContext*::service
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 387
    functionName: NetHandler::waitForActivity
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - ink_get_hrtime
    - NetHandler::thread::metrics::current_slice::load
    - get_ev_data
    - IOUringContext*::submit
    - ev_next_event
    - SCOPED_MUTEX_LOCK
    - IOUringContext::local_context
    - get_PollDescriptor
    - get_ev_events
    - PollCont*::do_poll
    - IOUringContext*::service
    - NetHandler::process_ready_list
    - NetHandler::process_enabled_list
    - EventIO*::process_event
    - get_PollCont
    linkageType: ''
    returnType: int
    signature: int NetHandler::waitForActivity(ink_hrtime timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:394,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:394,1
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:397,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: NetHandler::signalActivity
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - write
    - ATS_UNUSED_RETURN
    linkageType: ''
    returnType: void
    signature: void NetHandler::signalActivity()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:405,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:419,1
    - Dst: NetHandler::_close_ne
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - enabling_ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 449
    functionName: NetHandler::manage_active_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_get_hrtime
    - NetHandler::_close_ne
    linkageType: ''
    returnType: bool
    signature: bool NetHandler::manage_active_queue(NetEvent *enabling_ne, bool ignore_queue_size
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:458,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: NetHandler::configure_per_thread_values
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void NetHandler::configure_per_thread_values()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:466,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:468,1
    - Dst: NetHandler::_close_ne
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:484,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 497
    functionName: NetHandler::manage_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_get_hrtime
    - NetHandler::_close_ne
    linkageType: ''
    returnType: void
    signature: void NetHandler::manage_keep_alive_queue()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NetEvent*::get_thread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:502,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:502,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:505,1
    - Dst: NetEvent*::get_mutex
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:505,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:505,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:506,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:513,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:516,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:517,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:517,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:518,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:520,1
    - Dst: Event::Event
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:525,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:526,1
    - Dst: NetEvent*::callback
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:528,1
    - Dst: NetEvent*::callback
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ne
    - now
    - handle_event
    - closed
    - total_idle_time
    - total_idle_count
    argTypes:
    - NetEvent*
    - ink_hrtime
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 537
    functionName: NetHandler::_close_ne
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 2
    functionsReached:
    - ts::Metrics::Counter::increment
    - is_locked
    - ink_hrtime_to_sec
    - Event::Event
    - Dbg
    - this_ethread
    - MUTEX_TRY_LOCK
    - NetEvent*::callback
    - NetEvent*::get_thread
    - NetHandler::free_netevent
    - NetEvent*::get_mutex
    linkageType: ''
    returnType: void
    signature: void NetHandler::_close_ne(NetEvent *ne, ink_hrtime now, int &handle_event,
      int &closed, int &total_idle_time, int &total_idle_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:542,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:543,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:543,1
    - Dst: in
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:545,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:547,1
    - Dst: NetHandler::remove_from_active_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:550,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:553,1
    - Dst: NetHandler::manage_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 557
    functionName: NetHandler::add_to_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - NetHandler::manage_keep_alive_queue
    - in
    - NetHandler::remove_from_active_queue
    - remove
    - enqueue
    - Dbg
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetHandler::add_to_keep_alive_queue(NetEvent *ne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:562,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:563,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:563,1
    - Dst: in
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:565,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: NetHandler::remove_from_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 1
    functionsReached:
    - in
    - remove
    - Dbg
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetHandler::remove_from_keep_alive_queue(NetEvent *ne)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:574,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:575,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:577,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:577,1
    - Dst: NetHandler::manage_active_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:582,1
    - Dst: in
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:586,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:588,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:592,1
    - Dst: NetHandler::remove_from_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:596,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 602
    functionName: NetHandler::add_to_active_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - in
    - remove
    - enqueue
    - Dbg
    - NetHandler::manage_active_queue
    - NetHandler::remove_from_keep_alive_queue
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool NetHandler::add_to_active_queue(NetEvent *ne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:607,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:608,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:608,1
    - Dst: in
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:610,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ne
    argTypes:
    - NetEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: NetHandler::remove_from_active_queue
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 2
    functionsReached:
    - in
    - remove
    - Dbg
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetHandler::remove_from_active_queue(NetEvent *ne)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: NetHandler::get_additional_accepts
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NetHandler::get_additional_accepts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/iocore/net/NetHandler.cc:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: NetHandler::get_per_client_max_connections_in
    functionSourceFile: /src/trafficserver/src/iocore/net/NetHandler.cc
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int NetHandler::get_per_client_max_connections_in()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICPollCont *>
      Src: /src/trafficserver/src/iocore/net/P_QUICNet.h:74,1
    - Dst: ETHREAD_GET_PTR
      Src: /src/trafficserver/src/iocore/net/P_QUICNet.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: get_QUICPollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICNet.h
    functionUses: 1
    functionsReached:
    - ETHREAD_GET_PTR
    - static_cast<QUICPollCont *>
    linkageType: ''
    returnType: QUICPollCont
    signature: 'QUICPollCont *

      get_QUICPollCont(EThread *t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:45,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: TLSBasicSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSBasicSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:54,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: TLSBasicSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 5
    functionsReached:
    - static_cast<TLSBasicSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSBasicSupport
    signature: 'TLSBasicSupport *

      TLSBasicSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - srs
    argTypes:
    - SSL*
    - TLSBasicSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: TLSBasicSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::bind(SSL *ssl, TLSBasicSupport *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: TLSBasicSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: TLSBasicSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: TLSBasicSupport::get_tls_handle
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: TLSHandle
    signature: TLSHandle TLSBasicSupport::get_tls_handle() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:85,1
    - Dst: SSL_get_version
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: TLSBasicSupport::get_tls_protocol_name
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_version
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSBasicSupport::get_tls_protocol_name() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:96,1
    - Dst: SSL_get_cipher_name
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: TLSBasicSupport::get_tls_cipher_suite
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_cipher_name
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSBasicSupport::get_tls_cipher_suite() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:107,1
    - Dst: TLSBasicSupport::_get_tls_curve
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:112,1
    - Dst: OBJ_nid2sn
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:117,1
    - Dst: SSL_get_curve_name
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: TLSBasicSupport::get_tls_curve
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - TLSBasicSupport::_get_tls_curve
    - OBJ_nid2sn
    - TLSBasicSupport::_get_ssl_object
    - SSL_get_curve_name
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSBasicSupport::get_tls_curve() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:129,1
    - Dst: SSL_get0_group_name
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:135,1
    - Dst: SSL_get_group_id
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:137,1
    - Dst: SSL_get_group_name
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: TLSBasicSupport::get_tls_group
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_group_name
    - SSL_get0_group_name
    - TLSBasicSupport::_get_ssl_object
    - SSL_get_group_id
    linkageType: ''
    returnType: char
    signature: 'char *

      TLSBasicSupport::get_tls_group() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: TLSBasicSupport::get_tls_handshake_begin_time
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime TLSBasicSupport::get_tls_handshake_begin_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: TLSBasicSupport::get_tls_handshake_end_time
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime TLSBasicSupport::get_tls_handshake_end_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:162,1
    - Dst: SSL_set_options
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:163,1
    - Dst: SSL_clear_options
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - proto_mask
    - max_mask
    argTypes:
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: TLSBasicSupport::set_valid_tls_protocols
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_set_options
    - SSL_clear_options
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::set_valid_tls_protocols(unsigned long proto_mask,
      unsigned long max_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:170,1
    - Dst: SSL_clear_options
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:173,1
    - Dst: SSL_set_min_proto_version
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - min
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: TLSBasicSupport::set_valid_tls_version_min
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_clear_options
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::set_valid_tls_version_min(int min)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:185,1
    - Dst: SSL_clear_options
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:187,1
    - Dst: SSL_set_max_proto_version
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: TLSBasicSupport::set_valid_tls_version_max
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_clear_options
    - TLSBasicSupport::_get_ssl_object
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::set_valid_tls_version_max(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:199,1
    - Dst: SSL_set_cipher_list
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:200,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: TLSBasicSupport::set_legacy_cipher_suite
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - SSL_set_cipher_list
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::set_legacy_cipher_suite(std::string const &cipher_suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:207,1
    - Dst: SSL_set_ciphersuites
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:208,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher_suite
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: TLSBasicSupport::set_cipher_suite
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - SSL_set_ciphersuites
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::set_cipher_suite([[maybe_unused]] std::string
      const &cipher_suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:215,1
    - Dst: SSL_set1_groups_list
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:216,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groups_list
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: TLSBasicSupport::set_groups_list
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - SSL_set1_groups_list
    - TLSBasicSupport::_get_ssl_object
    linkageType: ''
    returnType: bool
    signature: bool TLSBasicSupport::set_groups_list(std::string const &groups_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::_verify_certificate
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: TLSBasicSupport::verify_certificate
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - TLSBasicSupport::_verify_certificate
    linkageType: ''
    returnType: int
    signature: int TLSBasicSupport::verify_certificate(X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: TLSBasicSupport::get_tls_cert_to_verify
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX
    signature: 'X509_STORE_CTX *

      TLSBasicSupport::get_tls_cert_to_verify() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: TLSBasicSupport::_record_tls_handshake_begin_time
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::_record_tls_handshake_begin_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:245,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:248,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: TLSBasicSupport::_record_tls_handshake_end_time
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_get_hrtime
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::_record_tls_handshake_end_time()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:255,1
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:258,1
    - Dst: SSL_get_group_id
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:259,1
    - Dst: SSL_get_group_name
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:261,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:262,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:262,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:263,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:265,1
    - Dst: TLSBasicSupport::_get_ssl_object
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:269,1
    - Dst: SSL_get_negotiated_group
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:270,1
    - Dst: const_cast<SSL *>
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:270,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:272,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:272,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:273,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:275,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: TLSBasicSupport::_update_end_of_handshake_stats
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSBasicSupport.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - Warning
    - const_cast<SSL *>
    - find
    - TLSBasicSupport::_get_ssl_object
    - end
    - SSL_get_negotiated_group
    - SSL_get_group_name
    - SSL_get_group_id
    linkageType: ''
    returnType: void
    signature: void TLSBasicSupport::_update_end_of_handshake_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:39,1
    - Dst: NetEvent*::get_fd
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - l
    - ne
    - nh
    - events
    argTypes:
    - EventLoop
    - NetEvent*
    - NetHandler*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ReadWriteEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc
    functionUses: 0
    functionsReached:
    - NetEvent*::get_fd
    - start_common
    linkageType: ''
    returnType: int
    signature: int ReadWriteEventIO::start(EventLoop l, NetEvent *ne, NetHandler *nh,
      int events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - l
    - afd
    - ne
    - nh
    - events
    argTypes:
    - EventLoop
    - int
    - NetEvent*
    - NetHandler*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ReadWriteEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc
    functionUses: 0
    functionsReached:
    - start_common
    linkageType: ''
    returnType: int
    signature: int ReadWriteEventIO::start(EventLoop l, int afd, NetEvent *ne, NetHandler
      *nh, int events)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cop_list::in
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:55,1
    - Dst: cop_list::remove
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:56,1
    - Dst: set_error_from_socket
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:59,1
    - Dst: read_ready_list::in
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:63,1
    - Dst: read_ready_list::enqueue
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:64,1
    - Dst: write_ready_list::in
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:69,1
    - Dst: write_ready_list::enqueue
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:73,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:76,1
    - Dst: write_ready_list::in
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:78,1
    - Dst: write_ready_list::enqueue
      Src: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: ReadWriteEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/net/ReadWriteEventIO.cc
    functionUses: 0
    functionsReached:
    - write_ready_list::enqueue
    - cop_list::remove
    - cop_list::in
    - Dbg
    - read_ready_list::enqueue
    - read_ready_list::in
    - write_ready_list::in
    - set_error_from_socket
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ReadWriteEventIO::process_event(int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:41,1
    - Dst: dynamic_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:42,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:47,1
    - Dst: dynamic_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: quic_netvc_cast
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<NetVConnection *>
    - static_cast<VIO *>
    - dynamic_cast<QUICNetVConnection *>
    linkageType: ''
    returnType: QUICNetVConnection
    signature: 'QUICNetVConnection *

      quic_netvc_cast(int event, void *edata)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:41,1
    - Dst: dynamic_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:42,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:47,1
    - Dst: dynamic_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: quic_netvc_cast
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<NetVConnection *>
    - static_cast<VIO *>
    - dynamic_cast<QUICNetVConnection *>
    linkageType: ''
    returnType: QUICNetVConnection
    signature: 'QUICNetVConnection *

      quic_netvc_cast(int event, void *edata)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quic_netvc_cast
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:61,1
    - Dst: QUICNetVConnection*::cids
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:61,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:64,1
    - Dst: QUICNetVConnection*::registerNextProtocolSet
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:65,1
    - Dst: QUICNetVConnection*::do_io_close
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: QUICNextProtocolAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - QUICNetVConnection*::do_io_close
    - QUICNetVConnection*::cids
    - Dbg
    - QUICNetVConnection*::registerNextProtocolSet
    - quic_netvc_cast
    linkageType: ''
    returnType: int
    signature: int QUICNextProtocolAccept::mainEvent(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: QUICNextProtocolAccept::accept
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: bool
    signature: bool QUICNextProtocolAccept::accept(NetVConnection *, MIOBuffer *,
      IOBufferReader *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNextProtocolAccept::protoset::registerEndpoint
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - protocol
    - handler
    argTypes:
    - char*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: QUICNextProtocolAccept::registerEndpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - QUICNextProtocolAccept::protoset::registerEndpoint
    linkageType: ''
    returnType: bool
    signature: bool QUICNextProtocolAccept::registerEndpoint(const char *protocol,
      Continuation *handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protos
    argTypes:
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: QUICNextProtocolAccept::enableProtocols
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNextProtocolAccept::enableProtocols(const SessionProtocolSet
      &protos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: QUICNextProtocolAccept::QUICNextProtocolAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void QUICNextProtocolAccept::QUICNextProtocolAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: QUICNextProtocolAccept::getProtoSet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNextProtocolSet
    signature: 'SSLNextProtocolSet *

      QUICNextProtocolAccept::getProtoSet()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: QUICNextProtocolAccept::~QUICNextProtocolAccept()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNextProtocolAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNextProtocolAccept::~QUICNextProtocolAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _obj
    - _method
    argTypes:
    - T*
    - method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cleaner
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleaner(T *_obj, method _method)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ~cleaner()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~cleaner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: reset
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _obj
    - _method
    argTypes:
    - T*
    - method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cleaner
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleaner(T *_obj, method _method)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ~cleaner()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~cleaner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: reset
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:113,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:113,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:121,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:128,1
    - Dst: NetVCOptions::local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:128,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:129,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:129,1
    - Dst: NetVCOptions::local_ip::family
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:130,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:133,1
    - Dst: IpEndpoint::setToAnyAddr
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:134,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:136,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:136,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:140,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:149,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:156,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:157,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:163,1
    - Dst: set_nonblocking
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:167,1
    - Dst: set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:172,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:174,1
    - Dst: set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:178,1
    - Dst: set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:182,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:184,1
    - Dst: set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:188,1
    - Dst: Connection::apply_options
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:193,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:195,1
    - Dst: bind
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:196,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:196,1
    - Dst: cleaner::reset
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:201,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 204
    functionName: Connection::open
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached:
    - enable_option
    - set_sndbuf_size
    - IpEndpoint::network_order_port
    - ats_ip_size
    - Connection::apply_options
    - strerror
    - IpEndpoint::assign
    - ink_zero
    - cleaner::reset
    - bind
    - set_nonblocking
    - ats_is_ip
    - ink_release_assert
    - htons
    - Dbg
    - NetVCOptions::local_ip::family
    - IpEndpoint::setToAnyAddr
    - ink_assert
    - set_rcvbuf_size
    - ROUNDUP
    - is_ok
    - NetVCOptions::local_ip::isValid
    linkageType: ''
    returnType: int
    signature: int Connection::open(NetVCOptions const &opt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:209,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:209,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:210,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:211,1
    - Dst: Connection::setRemote
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:216,1
    - Dst: Connection::apply_options
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:220,1
    - Dst: Connection::connect
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:230,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:230,1
    - Dst: set_nonblocking
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:241,1
    - Dst: safe_blocking
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:245,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:245,1
    - Dst: cleaner::reset
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - target
    - opt
    argTypes:
    - sockaddr*
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 256
    functionName: Connection::connect
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 2
    functionsReached:
    - get_fd
    - is_ok
    - Connection::connect
    - set_nonblocking
    - ats_ip_size
    - cleaner::reset
    - Connection::setRemote
    - Connection::apply_options
    - safe_blocking
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Connection::connect(sockaddr const *target, NetVCOptions const
      &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: Connection::_cleanup
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 0
    functionsReached:
    - Connection::close
    linkageType: ''
    returnType: void
    signature: void Connection::_cleanup()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:271,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:272,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:275,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:276,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:282,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:282,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:282,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:283,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:288,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:288,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:289,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:297,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:297,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:297,1
    - Dst: isIp4
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:304,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:305,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:305,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:305,1
    - Dst: isIp6
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:306,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:307,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:307,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixConnection.cc:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 311
    functionName: Connection::apply_options
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixConnection.cc
    functionUses: 3
    functionsReached:
    - enable_option
    - safe_setsockopt
    - get_fd
    - isIp4
    - Dbg
    - reinterpret_cast<char *>
    - isIp6
    linkageType: ''
    returnType: void
    signature: void Connection::apply_options(NetVCOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:43,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:43,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:43,1
    - Dst: EVP_md5
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - input
    - hash_str
    - hash_len
    argTypes:
    - std::string
    - char[]
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: get_hash_str
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - EVP_md5
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: void
    signature: void get_hash_str(const std::string &input, char hash_str[EVP_MAX_MD_SIZE
      * 2], unsigned int *hash_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:63,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:65,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:66,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:67,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:68,1
    - Dst: class APIHook*::blocking_invoke
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:70,1
    - Dst: class APIHook*::next
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:71,1
    - Dst: SSLSecret::getSecret
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:74,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:75,1
    - Dst: SSLSecret::getSecret
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:75,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:76,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:76,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:76,1
    - Dst: SSLSecret::loadFile
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:78,1
    - Dst: SSLSecret::setSecret
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:79,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:80,1
    - Dst: SSLSecret::loadFile
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:81,1
    - Dst: SSLSecret::setSecret
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - name1
    - name2
    - data1
    - data2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: SSLSecret::loadSecret
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 0
    functionsReached:
    - get
    - class APIHook*::next
    - std::string::size
    - std::string::data
    - std::string::empty
    - class APIHook*::blocking_invoke
    - SSLSecret::setSecret
    - SSLSecret::getSecret
    - SSLSecret::loadFile
    linkageType: ''
    returnType: void
    signature: void SSLSecret::loadSecret(const std::string &name1, const std::string
      &name2, std::string &data1, std::string &data2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:90,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:92,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:94,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:94,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:94,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:97,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:97,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:100,1
    - Dst: get_hash_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:103,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:104,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:105,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:105,1
    - Dst: SSLConfigParams::load_ssl_file_cb
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:108,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: SSLSecret::loadFile
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 1
    functionsReached:
    - get_yaml_path
    - 'on'
    - std::string::c_str
    - DbgPrint
    - Dbg
    - SSLConfigParams::load_ssl_file_cb
    - std::error_code::value
    - get_hash_str
    - swoc::SWOC_VERSION_NS::file::load
    - std::error_code::message
    linkageType: ''
    returnType: std::string
    signature: std::string SSLSecret::loadFile(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:119,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:119,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:119,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:119,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - std::string
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: SSLSecret::setSecret
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - std::string_view::size
    - std::string_view::data
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SSLSecret::setSecret(const std::string &name, std::string_view
      data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:126,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:128,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:128,1
    - Dst: auto::second::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:132,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:132,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:136,1
    - Dst: get_hash_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:139,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:140,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:140,1
    - Dst: auto::second::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: SSLSecret::getSecret
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 1
    functionsReached:
    - auto::second::c_str
    - 'on'
    - find
    - auto::second::empty
    - DbgPrint
    - end
    - Dbg
    - get_hash_str
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLSecret::getSecret(const std::string &name) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:148,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:148,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:148,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:153,1
    - Dst: std::string::clear
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:154,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:163,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:163,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:163,1
    - Dst: SSLSecret::loadSecret
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:166,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:167,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSecret.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - name1
    - name2
    - data1
    - data2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: SSLSecret::getOrLoadSecret
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSecret.cc
    functionUses: 0
    functionsReached:
    - std::string::clear
    - SSLSecret::loadSecret
    - std::string::empty
    - Dbg
    - std::move
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SSLSecret::getOrLoadSecret(const std::string &name1, const std::string
      &name2, std::string &data1, std::string &data2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: UDPPacket::new_UDPPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - alloc
    linkageType: ''
    returnType: UDPPacket
    signature: 'UDPPacket *

      UDPPacket::new_UDPPacket()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:93,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:99,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - to
    - when
    - buf
    - segment_size
    - send_at_hint
    argTypes:
    - struct sockaddr*
    - ink_hrtime
    - Ptr<IOBufferBlock>
    - uint16_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: UDPPacket::new_UDPPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - alloc
    - ats_ip_copy
    linkageType: ''
    returnType: UDPPacket
    signature: "UDPPacket *\nUDPPacket::new_UDPPacket(struct sockaddr const *to, ink_hrtime
      when, Ptr<IOBufferBlock> &buf, uint16_t segment_size,\n                         [[maybe_unused]]
      struct timespec *send_at_hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:114,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:119,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:120,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - from
    - to
    - block
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    - Ptr<IOBufferBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: UDPPacket::new_incoming_UDPPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - std::move
    - alloc
    - ats_ip_copy
    linkageType: ''
    returnType: UDPPacket
    signature: 'UDPPacket *

      UDPPacket::new_incoming_UDPPacket(struct sockaddr *from, struct sockaddr *to,
      Ptr<IOBufferBlock> block)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:130,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: UDPPacket::UDPPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void UDPPacket::UDPPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: UDPPacket::~UDPPacket()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPPacket::~UDPPacket()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:144,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - block
    argTypes:
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: UDPPacket::append_block
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::next::get
    - chain::get
    linkageType: ''
    returnType: void
    signature: void UDPPacket::append_block(IOBufferBlock *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:162,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:164,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: UDPPacket::getPktLength
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::next::get
    - UDPPacket*::p::chain::get
    - IOBufferBlock*::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t UDPPacket::getPktLength()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conn::Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:175,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:180,1
    - Dst: UDPPacket::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: UDPPacket::free
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - reset
    - UDPPacket::free
    - conn::Release
    linkageType: ''
    returnType: void
    signature: void UDPPacket::free()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket::getIOBlockChain
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:189,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:191,1
    - Dst: UDPPacket::getPktLength
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:192,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:193,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:193,1
    - Dst: ats_unique_malloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:197,1
    - Dst: UDPPacket::getPktLength
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:197,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:200,1
    - Dst: UDPPacket::_payload::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:200,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:200,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:200,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:201,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:202,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:204,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:204,1
    - Dst: UDPPacket::getPktLength
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:204,1
    - Dst: UDPPacket::getPktLength
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:207,1
    - Dst: UDPPacket::_payload::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - buf_len
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 209
    functionName: UDPPacket::get_entire_chain_buffer
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - UDPPacket::_payload::get
    - ats_unique_malloc
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - ink_assert
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::next::get
    - IOBufferBlock*::buf
    - UDPPacket::getPktLength
    - static_cast<size_t>
    - UDPPacket::getIOBlockChain
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      UDPPacket::get_entire_chain_buffer(size_t *buf_len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:239,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:240,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:242,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:244,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:244,1
    - Dst: reinterpret_cast<ink_dummy_for_new *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:247,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:247,1
    - Dst: UDPNetHandler::UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:247,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:251,1
    - Dst: reinterpret_cast<ink_dummy_for_new *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:255,1
    - Dst: get_UDPPollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:255,1
    - Dst: PollCont::PollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:255,1
    - Dst: EThread*::mutex::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:258,1
    - Dst: get_UDPPollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:261,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:264,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:269,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:274,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:278,1
    - Dst: EThread*::set_tail_handler
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:281,1
    - Dst: IOUringEventIO::IOUringEventIO
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:284,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:285,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:285,1
    - Dst: AsyncSignalEventIO::AsyncSignalEventIO
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:287,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:288,1
    - Dst: AsyncSignalEventIO::AsyncSignalEventIO
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:291,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 295
    functionName: initialize_thread_for_udp_net
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - Warning
    - get_UDPPollCont
    - PollCont::PollCont
    - EThread*::set_tail_handler
    - auto::start
    - AsyncSignalEventIO::AsyncSignalEventIO
    - get_UDPNetHandler
    - UDPNetHandler::UDPNetHandler
    - IOUringContext::local_context
    - reinterpret_cast<ink_dummy_for_new *>
    - IOUringEventIO::IOUringEventIO
    - EThread*::mutex::get
    - std::move
    - RecGetRecordInt
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_udp_net(EThread *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPNetProcessorInternal::register_event_type
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: UDPNetProcessorInternal::register_event_type
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - UDPNetProcessorInternal::register_event_type
    linkageType: ''
    returnType: EventType
    signature: EventType UDPNetProcessorInternal::register_event_type()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:311,1
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:312,1
    - Dst: schedule_spawn
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:314,1
    - Dst: spawn_event_threads
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n_upd_threads
    - stacksize
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: UDPNetProcessorInternal::start
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - allocate
    - schedule_spawn
    - spawn_event_threads
    linkageType: ''
    returnType: int
    signature: int UDPNetProcessorInternal::start(int n_upd_threads, size_t stacksize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct in_pktinfo *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:328,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:328,1
    - Dst: reinterpret_cast<sockaddr_in *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:329,1
    - Dst: reinterpret_cast<struct in_addr *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:337,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:337,1
    - Dst: reinterpret_cast<sockaddr_in *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:338,1
    - Dst: reinterpret_cast<struct in6_pktinfo *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:346,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:346,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:347,1
    - Dst: reinterpret_cast<sockaddr_in6 *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - cmsg
    - toaddr
    argTypes:
    - struct cmsghdr*
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 353
    functionName: get_ip_address_from_cmsg
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - memcpy
    - reinterpret_cast<struct in_pktinfo *>
    - reinterpret_cast<sockaddr_in *>
    - reinterpret_cast<struct in_addr *>
    - reinterpret_cast<struct in6_pktinfo *>
    - reinterpret_cast<sockaddr_in6 *>
    linkageType: ''
    returnType: bool
    signature: bool get_ip_address_from_cmsg(struct cmsghdr *cmsg, sockaddr_storage
      *toaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<IOBufferBlock>::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:363,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:367,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:368,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:376,1
    - Dst: IOBufferBlock*::block_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:377,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - max_niov
    - size_index
    - chain
    - out_tiovec
    argTypes:
    - unsigned
    - int64_t
    - Ptr<IOBufferBlock>
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 383
    functionName: build_iovec_block_chain
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::buf
    - IOBufferBlock*::alloc
    - IOBufferBlock*::next::get
    - new_IOBufferBlock
    - Ptr<IOBufferBlock>::get
    - IOBufferBlock*::block_size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int build_iovec_block_chain(unsigned max_niov, int64_t size_index,
      Ptr<IOBufferBlock> &chain, struct iovec *out_tiovec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct in_pktinfo *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:328,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:328,1
    - Dst: reinterpret_cast<sockaddr_in *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:329,1
    - Dst: reinterpret_cast<struct in_addr *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:337,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:337,1
    - Dst: reinterpret_cast<sockaddr_in *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:338,1
    - Dst: reinterpret_cast<struct in6_pktinfo *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:346,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:346,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:347,1
    - Dst: reinterpret_cast<sockaddr_in6 *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - cmsg
    - toaddr
    argTypes:
    - struct cmsghdr*
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 353
    functionName: get_ip_address_from_cmsg
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - memcpy
    - reinterpret_cast<struct in_pktinfo *>
    - reinterpret_cast<sockaddr_in *>
    - reinterpret_cast<struct in_addr *>
    - reinterpret_cast<struct in6_pktinfo *>
    - reinterpret_cast<sockaddr_in6 *>
    linkageType: ''
    returnType: bool
    signature: bool get_ip_address_from_cmsg(struct cmsghdr *cmsg, sockaddr_storage
      *toaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<IOBufferBlock>::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:363,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:367,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:368,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:376,1
    - Dst: IOBufferBlock*::block_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:377,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - max_niov
    - size_index
    - chain
    - out_tiovec
    argTypes:
    - unsigned
    - int64_t
    - Ptr<IOBufferBlock>
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 383
    functionName: build_iovec_block_chain
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::buf
    - IOBufferBlock*::alloc
    - IOBufferBlock*::next::get
    - new_IOBufferBlock
    - Ptr<IOBufferBlock>::get
    - IOBufferBlock*::block_size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int build_iovec_block_chain(unsigned max_niov, int64_t size_index,
      Ptr<IOBufferBlock> &chain, struct iovec *out_tiovec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:389,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:401,1
    - Dst: build_iovec_block_chain
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:407,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:420,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:423,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:426,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:429,1
    - Dst: UnixUDPConnection*::sock::recvmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:438,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:446,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:450,1
    - Dst: CMSG_NXTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:450,1
    - Dst: get_ip_address_from_cmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:451,1
    - Dst: UDPNetHandler*::is_gro_enabled
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:456,1
    - Dst: reinterpret_cast<uint16_t *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:457,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:457,1
    - Dst: UDPConnection*::getBinding
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:465,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:465,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:469,1
    - Dst: static_cast<long long>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:469,1
    - Dst: static_cast<long long>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:469,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:475,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:476,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:479,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:481,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:484,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:487,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:491,1
    - Dst: UDPPacket::new_incoming_UDPPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:493,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:493,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:493,1
    - Dst: UDPPacket*::setConnection
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:494,1
    - Dst: UnixUDPConnection*::inQueue::push
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:506,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:510,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:511,1
    - Dst: UnixUDPConnection*::AddRef
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:512,1
    - Dst: UDPNetHandler*::udp_callbacks::enqueue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:513,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 2
    argNames:
    - nh
    - xuc
    argTypes:
    - UDPNetHandler*
    - UDPConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 516
    functionName: UDPNetProcessorInternal::read_single_message_from_net
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - UDPPacket::new_incoming_UDPPacket
    - UnixUDPConnection*::AddRef
    - min
    - UDPConnection*::getBinding
    - get_ip_address_from_cmsg
    - static_cast<long long>
    - IOBufferBlock*::next::get
    - Ptr::get
    - CMSG_SPACE
    - UDPPacket*::setConnection
    - reinterpret_cast<struct sockaddr *>
    - UDPNetHandler*::is_gro_enabled
    - ats_ip_sa_cast
    - Dbg
    - UnixUDPConnection*::inQueue::push
    - static_cast<UnixUDPConnection *>
    - ink_assert
    - IOBufferBlock*::fill
    - build_iovec_block_chain
    - CMSG_NXTHDR
    - reinterpret_cast<uint16_t *>
    - BUFFER_SIZE_FOR_INDEX
    - UnixUDPConnection*::sock::recvmsg
    - UDPNetHandler*::udp_callbacks::enqueue
    linkageType: ''
    returnType: void
    signature: void UDPNetProcessorInternal::read_single_message_from_net(UDPNetHandler
      *nh, UDPConnection *xuc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:420,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:423,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:426,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 431
    functionName: cmsg_size
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_SPACE
    linkageType: ''
    returnType: size_t
    signature: size_t cmsg_size
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:522,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:539,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:542,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:545,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:548,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:556,1
    - Dst: build_iovec_block_chain
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:563,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:569,1
    - Dst: UnixUDPConnection*::sock::recvmmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:574,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:577,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:577,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:580,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:586,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:590,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:595,1
    - Dst: UnixUDPConnection*::getFd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:595,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:601,1
    - Dst: CMSG_NXTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:601,1
    - Dst: get_ip_address_from_cmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:602,1
    - Dst: UDPNetHandler*::is_gro_enabled
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:607,1
    - Dst: reinterpret_cast<uint16_t *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:608,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:608,1
    - Dst: UDPConnection*::getBinding
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:616,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:616,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:623,1
    - Dst: static_cast<long long>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:623,1
    - Dst: static_cast<long long>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:624,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:630,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:631,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:634,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:636,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:639,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:646,1
    - Dst: UDPPacket::new_incoming_UDPPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:649,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:649,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:649,1
    - Dst: UDPPacket*::setConnection
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:650,1
    - Dst: UnixUDPConnection*::inQueue::push
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:652,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:659,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:663,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:664,1
    - Dst: UnixUDPConnection*::AddRef
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:665,1
    - Dst: UDPNetHandler*::udp_callbacks::enqueue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:666,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 2
    argNames:
    - nh
    - xuc
    argTypes:
    - UDPNetHandler*
    - UDPConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 669
    functionName: UDPNetProcessorInternal::read_multiple_messages_from_net
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - UDPPacket::new_incoming_UDPPacket
    - UnixUDPConnection*::AddRef
    - min
    - UDPConnection*::getBinding
    - get_ip_address_from_cmsg
    - static_cast<long long>
    - strerror
    - IOBufferBlock*::next::get
    - CMSG_SPACE
    - UDPPacket*::setConnection
    - reinterpret_cast<struct sockaddr *>
    - UDPNetHandler*::is_gro_enabled
    - ats_ip_sa_cast
    - Dbg
    - UnixUDPConnection*::inQueue::push
    - UnixUDPConnection*::getFd
    - static_cast<UnixUDPConnection *>
    - ink_assert
    - memset
    - auto::get
    - UDPNetHandler*::udp_callbacks::enqueue
    - IOBufferBlock*::fill
    - build_iovec_block_chain
    - CMSG_NXTHDR
    - reinterpret_cast<uint16_t *>
    - BUFFER_SIZE_FOR_INDEX
    - UnixUDPConnection*::sock::recvmmsg
    linkageType: ''
    returnType: void
    signature: void UDPNetProcessorInternal::read_multiple_messages_from_net(UDPNetHandler
      *nh, UDPConnection *xuc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:539,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:542,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:545,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: cmsg_size
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - CMSG_SPACE
    linkageType: ''
    returnType: size_t
    signature: size_t cmsg_size
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPNetProcessorInternal::read_multiple_messages_from_net
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:676,1
    - Dst: UDPNetProcessorInternal::read_single_message_from_net
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nh
    - xuc
    argTypes:
    - UDPNetHandler*
    - UDPConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 680
    functionName: UDPNetProcessorInternal::udp_read_from_net
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UDPNetProcessorInternal::read_single_message_from_net
    - UDPNetProcessorInternal::read_multiple_messages_from_net
    linkageType: ''
    returnType: void
    signature: void UDPNetProcessorInternal::udp_read_from_net(UDPNetHandler *nh,
      UDPConnection *xuc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:685,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:688,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:689,1
    - Dst: UnixUDPConnection*::AddRef
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:692,1
    - Dst: UnixUDPConnection*::callbackHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:693,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:696,1
    - Dst: UnixUDPConnection*::AddRef
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:698,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - xuc
    - thread
    argTypes:
    - UDPConnection*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: UDPNetProcessorInternal::udp_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - UnixUDPConnection*::callbackHandler
    - UnixUDPConnection*::AddRef
    - MUTEX_TRY_LOCK
    - schedule_imm
    - static_cast<UnixUDPConnection *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int UDPNetProcessorInternal::udp_callback(UDPNetHandler *, UDPConnection
      *xuc, EThread *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: UDPReadContinuation::set_timer
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void set_timer(int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: UDPReadContinuation::getAction
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Action
    signature: "Action *\n  getAction()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - completionToken
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 765
    functionName: UDPReadContinuation::UDPReadContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::UDPReadContinuation(Event *completionToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: UDPReadContinuation::UDPReadContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::UDPReadContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:772,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:773,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 785
    functionName: UDPReadContinuation::free
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - UDPReadContinuation::free
    - completionUtil::destroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::free()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - completionToken
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 796
    functionName: UDPReadContinuation::init_token
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::init_token(Event *completionToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:801,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:805,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:807,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:808,1
    - Dst: UDPReadContinuation::setupPollDescriptor
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:809,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - rfd
    - buf
    - len
    - fromaddr_
    - fromaddrlen_
    argTypes:
    - int
    - IOBufferBlock*
    - int
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 811
    functionName: UDPReadContinuation::init_read
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UDPReadContinuation::setupPollDescriptor
    - HRTIME_MSECONDS
    - this_ethread
    - SET_HANDLER
    - ats_ip6_cast
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::init_read(int rfd, IOBufferBlock *buf, int
      len, struct sockaddr *fromaddr_, socklen_t *fromaddrlen_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:816,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 820
    functionName: UDPReadContinuation::~UDPReadContinuation()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - completionUtil::destroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::~UDPReadContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPReadContinuation::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 827
    functionName: UDPReadContinuation::cancel
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - UDPReadContinuation::cancel
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EThread *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:834,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:834,1
    - Dst: get_PollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:835,1
    - Dst: PollDescriptor::PollDescriptor
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:837,1
    - Dst: PollCont*::nextPollDescriptor::alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:839,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 846
    functionName: UDPReadContinuation::setupPollDescriptor
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - static_cast<EThread *>
    - PollDescriptor::PollDescriptor
    - this_thread
    - PollCont*::nextPollDescriptor::alloc
    - get_PollCont
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPReadContinuation::setupPollDescriptor()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:858,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:859,1
    - Dst: completionUtil::getContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:867,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:869,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:870,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:871,1
    - Dst: completionUtil::getContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:876,1
    - Dst: UnixSocket::recvfrom
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:880,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:880,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:880,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:882,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:887,1
    - Dst: fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:888,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:890,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:891,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:892,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:898,1
    - Dst: completionUtil::getContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:899,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:901,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:902,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:903,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:907,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:911,1
    - Dst: UDPReadContinuation::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:912,1
    - Dst: UDPReadContinuation::setupPollDescriptor
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:917,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - event_
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 920
    functionName: UDPReadContinuation::readPollEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UDPReadContinuation::setupPollDescriptor
    - UnixSocket::recvfrom
    - completionUtil::setInfo
    - ats_ip_sa_cast
    - completionUtil::setThread
    - end
    - completionUtil::getContinuation
    - fill
    - Continuation*::handleEvent
    - UDPReadContinuation::free
    - Event*::cancel
    linkageType: ''
    returnType: int
    signature: int UDPReadContinuation::readPollEvent(int event_, Event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:942,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:942,1
    - Dst: completionUtil::create
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:944,1
    - Dst: completionUtil::setContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:946,1
    - Dst: completionUtil::setHandle
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:947,1
    - Dst: UnixSocket::recvfrom
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:949,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:949,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:952,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:952,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:953,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:953,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:953,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:954,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:955,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:956,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:959,1
    - Dst: UDPReadContinuation*::init_token
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:960,1
    - Dst: UDPReadContinuation*::init_read
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:961,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:961,1
    - Dst: UDPReadContinuation*::set_timer
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:963,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:967,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:967,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:968,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:968,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:968,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:969,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 9
    argNames:
    - cont
    - token
    - fd
    - fromaddr
    - fromaddrlen
    - buf
    - len
    - useReadCont
    - timeout
    argTypes:
    - Continuation*
    - void*
    - int
    - struct sockaddr*
    - socklen_t*
    - IOBufferBlock*
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 973
    functionName: UDPNetProcessor::recvfrom_re
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - completionUtil::setInfo
    - UDPReadContinuation*::init_read
    - IOBufferBlock*::end
    - alloc
    - this_ethread
    - UDPReadContinuation*::set_timer
    - IOBufferBlock*::write_avail
    - UDPReadContinuation*::init_token
    - UnixSocket::recvfrom
    - make_ptr
    - completionUtil::setThread
    - completionUtil::setContinuation
    - Continuation*::handleEvent
    - completionUtil::setHandle
    - UnixSocket::get_fd
    - ink_assert
    - IOBufferBlock*::fill
    - completionUtil::destroy
    - completionUtil::create
    linkageType: ''
    returnType: Action
    signature: "Action *\nUDPNetProcessor::recvfrom_re(Continuation *cont, void *token,
      int fd, struct sockaddr *fromaddr, socklen_t *fromaddrlen,\n                             IOBufferBlock
      *buf, int len, bool useReadCont, int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: completionUtil::create
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:987,1
    - Dst: completionUtil::setContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:989,1
    - Dst: completionUtil::setHandle
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:990,1
    - Dst: UnixSocket::sendmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:993,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:995,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:995,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:996,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:996,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:997,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:998,1
    - Dst: completionUtil::setThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1001,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1001,1
    - Dst: completionUtil::setInfo
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1002,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1002,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1003,1
    - Dst: completionUtil::destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - cont
    - token
    - fd
    - msg
    argTypes:
    - Continuation*
    - void*
    - int
    - struct msghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 1007
    functionName: UDPNetProcessor::sendmsg_re
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - completionUtil::setContinuation
    - completionUtil::setInfo
    - completionUtil::destroy
    - completionUtil::setThread
    - this_ethread
    - Continuation*::handleEvent
    - completionUtil::create
    - completionUtil::setHandle
    - UnixSocket::get_fd
    - UnixSocket::sendmsg
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UDPNetProcessor::sendmsg_re(Continuation *cont, void *token, int fd, struct
      msghdr *msg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1025,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1025,1
    - Dst: UnixSocket::sendto
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1027,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1027,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1030,1
    - Dst: IOBufferBlock*::consume
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1031,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1032,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1032,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1035,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - cont
    - token
    - fd
    - toaddr
    - toaddrlen
    - buf
    - len
    argTypes:
    - Continuation*
    - void*
    - int
    - struct sockaddr*
    - int
    - IOBufferBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: UDPNetProcessor::sendto_re
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::consume
    - IOBufferBlock*::start
    - IOBufferBlock*::read_avail
    - reinterpret_cast<void *>
    - Continuation*::handleEvent
    - UnixSocket::sendto
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: "Action *\nUDPNetProcessor::sendto_re(Continuation *cont, void *token,
      int fd, struct sockaddr const *toaddr, int toaddrlen,\n                           IOBufferBlock
      *buf, int len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1048,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1055,1
    - Dst: NetVCOptions::local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1055,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1056,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1056,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1057,1
    - Dst: ats_ip_are_compatible
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1057,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1060,1
    - Dst: IpEndpoint::setToAnyAddr
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1061,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1063,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1063,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1068,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1072,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1072,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1077,1
    - Dst: UnixSocket::set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1077,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1078,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1082,1
    - Dst: UnixSocket::set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1082,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1083,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1090,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1095,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1100,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1106,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1116,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1121,1
    - Dst: UnixSocket::bind
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1122,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1122,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1124,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1124,1
    - Dst: UnixSocket::getsockname
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1128,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1129,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1136,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1136,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1137,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1140,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1140,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1141,1
    - Dst: UnixSocket::close
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1142,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1148,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1148,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1149,1
    - Dst: UnixSocket::close
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1150,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 4
    argNames:
    - resfd
    - remote_addr
    - status
    - opt
    argTypes:
    - int*
    - sockaddr*
    - Action**
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1155
    functionName: UDPNetProcessor::CreateUDPSocket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UnixSocket::is_ok
    - IpEndpoint::network_order_port
    - ats_ip_size
    - IpEndpoint::assign
    - ink_zero
    - ats_ip_are_compatible
    - unlikely
    - ats_is_ip
    - UnixSocket::getsockname
    - ink_release_assert
    - UnixSocket::set_rcvbuf_size
    - UnixSocket::set_sndbuf_size
    - htons
    - UnixSocket::bind
    - ats_ip_nptop
    - safe_fcntl
    - Dbg
    - UnixSocket::close
    - UnixSocket::enable_option
    - UnixSocket::get_fd
    - IpEndpoint::setToAnyAddr
    - ink_assert
    - ats_ip_port_host_order
    - NetVCOptions::local_ip::isValid
    linkageType: ''
    returnType: bool
    signature: bool UDPNetProcessor::CreateUDPSocket(int *resfd, sockaddr const *remote_addr,
      Action **status, NetVCOptions const &opt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1168,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1170,1
    - Dst: fcntl
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1176,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1176,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1183,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1188,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1193,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1198,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1198,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1199,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1205,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1215,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1220,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1220,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1221,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1229,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1229,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1229,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1230,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1240,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1240,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1241,1
    - Dst: ats_is_ip_multicast
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1245,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1246,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1251,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1251,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1255,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1256,1
    - Dst: UnixSocket::enable_option
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1261,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1262,1
    - Dst: UnixSocket::bind
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1267,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1267,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1268,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1274,1
    - Dst: UnixSocket::set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1274,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1275,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1279,1
    - Dst: UnixSocket::set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1279,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1280,1
    - Dst: UnixSocket::getsockname
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1283,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1286,1
    - Dst: UnixUDPConnection::UnixUDPConnection
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1286,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1288,1
    - Dst: UnixSocket::get_fd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1288,1
    - Dst: UnixUDPConnection*::setBinding
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1289,1
    - Dst: UnixUDPConnection*::bindToThread
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1290,1
    - Dst: Continuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1290,1
    - Dst: get_UDPPollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1292,1
    - Dst: UnixUDPConnection*::ep::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1295,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1295,1
    - Dst: Continuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1295,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1297,1
    - Dst: UnixSocket::is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1300,1
    - Dst: UnixSocket::close
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1301,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1303,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1303,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1305,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 112
    argCount: 5
    argNames:
    - cont
    - addr
    - fd
    - send_bufsize
    - recv_bufsize
    argTypes:
    - Continuation*
    - sockaddr*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1307
    functionName: UDPNetProcessor::UDPBind
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UnixSocket::is_ok
    - setsockopt
    - UnixUDPConnection*::setBinding
    - ats_ip_size
    - ats_is_ip_multicast
    - fcntl
    - strerror
    - get_UDPPollCont
    - UnixUDPConnection*::ep::start
    - unlikely
    - ats_is_ip6
    - UnixUDPConnection::UnixUDPConnection
    - UnixSocket::getsockname
    - UnixSocket::set_rcvbuf_size
    - UnixSocket::set_sndbuf_size
    - safe_setsockopt
    - UnixSocket::bind
    - Dbg
    - UnixSocket::close
    - Continuation*::handleEvent
    - UnixSocket::enable_option
    - UnixSocket::get_fd
    - Continuation*::getThreadAffinity
    - get_UDPNetHandler
    - reinterpret_cast<char *>
    - UnixUDPConnection*::bindToThread
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UDPNetProcessor::UDPBind(Continuation *cont, sockaddr const *addr, int fd, int
      send_bufsize, int recv_bufsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_gso
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: UDPQueue::UDPQueue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPQueue::UDPQueue(bool enable_gso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enable_gso
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: UDPQueue::UDPQueue
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - Warning
    linkageType: ''
    returnType: void
    signature: void UDPQueue::UDPQueue(bool enable_gso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: UDPQueue::~UDPQueue()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPQueue::~UDPQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1330,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1336,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1336,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1336,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1337,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1338,1
    - Dst: Queue::push
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1339,1
    - Dst: Queue::pop
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1343,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1344,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1345,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1347,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1349,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1352,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1352,1
    - Dst: addPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1357,1
    - Dst: advanceNow
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1360,1
    - Dst: UDPQueue::SendPackets
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1361,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - nh
    argTypes:
    - UDPNetHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1370
    functionName: UDPQueue::service
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - Queue::push
    - Queue::pop
    - advanceNow
    - SList
    - ink_hrtime_to_msec
    - max
    - Dbg
    - pop
    - Queue::Queue
    - UDPQueue::SendPackets
    - aq
    - popall
    - addPacket
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPQueue::service(UDPNetHandler *nh)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1376,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1377,1
    - Dst: firstPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1399,1
    - Dst: getFirstPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1400,1
    - Dst: UDPPacket*::getPktLength
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1401,1
    - Dst: UDPPacket*::p::conn::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1403,1
    - Dst: UDPPacket*::p::conn::GetSendGenerationNumber
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1406,1
    - Dst: SendMultipleUDPPackets
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1420,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1423,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1430,1
    - Dst: firstPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1431,1
    - Dst: advanceNow
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1432,1
    - Dst: ink_hrtime_from_sec
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1437,1
    - Dst: FreeCancelledPackets
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1438,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1441
    functionName: UDPQueue::SendPackets
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - free
    - advanceNow
    - SendMultipleUDPPackets
    - firstPacket
    - FreeCancelledPackets
    - getFirstPacket
    - ink_hrtime_from_sec
    - UDPPacket*::p::conn::shouldDestroy
    - UDPPacket*::getPktLength
    - UDPPacket*::p::conn::GetSendGenerationNumber
    linkageType: ''
    returnType: void
    signature: void UDPQueue::SendPackets()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1451,1
    - Dst: reinterpret_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1456,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1457,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1463,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1466,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1469,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1475,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1476,1
    - Dst: CMSG_LEN
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1480,1
    - Dst: reinterpret_cast<uint64_t *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1483,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1483,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1488,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1493,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1494,1
    - Dst: CMSG_SPACE
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1497,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1504,1
    - Dst: CMSG_NXTHDR
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1508,1
    - Dst: CMSG_LEN
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1512,1
    - Dst: reinterpret_cast<uint16_t *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1513,1
    - Dst: CMSG_DATA
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1513,1
    - Dst: UnixSocket::sendmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1518,1
    - Dst: UDPPacket*::p::conn::getFd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1518,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1523,1
    - Dst: UDPQueue::SendUDPPacket
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1525,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1532,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1536,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1536,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1544,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1545,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1547,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1547,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1547,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1547,1
    - Dst: UnixSocket::sendmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1552,1
    - Dst: UDPPacket*::p::conn::getFd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1552,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1560,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1564,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1564,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1571,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1571,1
    - Dst: UDPPacket*::p::chain::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1578,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1578,1
    - Dst: static_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1579,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1579,1
    - Dst: IOBufferBlock*::size
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1580,1
    - Dst: UnixSocket::sendmsg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1589,1
    - Dst: UDPPacket*::p::conn::getFd
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1589,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1593,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1593,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1602,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 1
    argNames:
    - p
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1608
    functionName: UDPQueue::SendUDPPacket
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - CMSG_DATA
    - reinterpret_cast<uint64_t *>
    - CMSG_FIRSTHDR
    - reinterpret_cast<caddr_t>
    - static_cast<long>
    - min
    - ats_ip_size
    - strerror
    - static_cast<caddr_t>
    - static_cast<char *>
    - IOBufferBlock*::next::get
    - UDPPacket*::p::chain::get
    - CMSG_SPACE
    - UnixSocket::sendmsg
    - Warning
    - IOBufferBlock*::size
    - Dbg
    - ink_assert
    - memset
    - CMSG_LEN
    - IOBufferBlock*::start
    - CMSG_NXTHDR
    - UDPQueue::SendUDPPacket
    - reinterpret_cast<uint16_t *>
    - UDPPacket*::p::conn::getFd
    linkageType: ''
    returnType: void
    signature: void UDPQueue::SendUDPPacket(UDPPacket *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1615
    functionName: UDPQueue::send
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void UDPQueue::send(UDPPacket *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1830,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1832,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1832,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Cfg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1835
    functionName: UDPNetHandler::UDPNetHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - std::move
    - HRTIME_MSECONDS
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void UDPNetHandler::UDPNetHandler(Cfg &&cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1845
    functionName: UDPNetHandler::is_gro_enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UDPNetHandler::is_gro_enabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1851,1
    - Dst: Event*::schedule_every
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1853,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1855
    functionName: UDPNetHandler::startNetEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - HRTIME_MSECONDS
    - Event*::schedule_every
    linkageType: ''
    returnType: int
    signature: int UDPNetHandler::startNetEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1860,1
    - Dst: UDPNetHandler::waitForActivity
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1862
    functionName: UDPNetHandler::mainNetEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - UDPNetHandler::waitForActivity
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int UDPNetHandler::mainNetEvent(int event, Event *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_UDPPollCont
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1868,1
    - Dst: PollCont*::do_poll
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1869,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1882,1
    - Dst: ncq
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1882,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1882,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1883,1
    - Dst: UnixUDPConnection*::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1884,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1885,1
    - Dst: UnixUDPConnection*::Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1886,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1888,1
    - Dst: in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1889,1
    - Dst: service
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1894,1
    - Dst: get_ev_data
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1900,1
    - Dst: get_ev_events
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1901,1
    - Dst: EventIO*::process_event
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1902,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1906,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1910,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1911,1
    - Dst: shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1912,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1913,1
    - Dst: Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1914,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1917,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1917,1
    - Dst: Que
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1920,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1921,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1922,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1923,1
    - Dst: udp_callback
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1924,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1926,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1927,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1928,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1930,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1931,1
    - Dst: UnixUDPConnection*::Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1933,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1864
    functionDepth: 2
    functionLinenumber: 1864
    functionLinenumberEnd: 1938
    functionName: UDPNetHandler::waitForActivity
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 1
    functionsReached:
    - get_ev_data
    - enqueue
    - shouldDestroy
    - get_UDPPollCont
    - ncq
    - remove
    - in_or_enqueue
    - get_ev_events
    - EventIO*::process_event
    - PollCont*::do_poll
    - popall
    - clear
    - ink_assert
    - service
    - udp_callback
    - ink_get_hrtime
    - Release
    - SList
    - UnixUDPConnection*::shouldDestroy
    - UnixUDPConnection*::Release
    - HRTIME_MSECONDS
    - dequeue
    - pop
    - Que
    linkageType: ''
    returnType: int
    signature: int UDPNetHandler::waitForActivity(ink_hrtime timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1910,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1911,1
    - Dst: shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1912,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1913,1
    - Dst: Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1908
    functionDepth: 1
    functionLinenumber: 1908
    functionLinenumberEnd: 1916
    functionName: forl_LL
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - Release
    - remove
    - shouldDestroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void forl_LL(UnixUDPConnection, xuc, open_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1945,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1945,1
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1948,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/net/UnixUDPNet.cc:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1950
    functionName: UDPNetHandler::signalActivity
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPNet.cc
    functionUses: 0
    functionsReached:
    - write
    - ATS_UNUSED_RETURN
    linkageType: ''
    returnType: void
    signature: void UDPNetHandler::signalActivity()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:53,1
    - Dst: static_cast<SSL *>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:59,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:59,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:59,1
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:65,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:71,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:72,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:73,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:77,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:81,1
    - Dst: X509_verify_cert_error_string
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:81,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:84,1
    - Dst: SSLNetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:84,1
    - Dst: SSLNetVConnection*::options::sni_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:86,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:90,1
    - Dst: X509_verify_cert_error_string
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:91,1
    - Dst: SSLNetVConnection*::options::ssl_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:91,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:104,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:104,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:110,1
    - Dst: SSLNetVConnection*::options::sni_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:110,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:112,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:113,1
    - Dst: SSLNetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:113,1
    - Dst: validate_hostname
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:116,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:117,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:121,1
    - Dst: SSLNetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:121,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:124,1
    - Dst: SSLNetVConnection*::options::ssl_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:125,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:133,1
    - Dst: TLSBasicSupport*::verify_certificate
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:136,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:141,1
    - Dst: SSLNetVConnection*::options::sni_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:141,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:143,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:144,1
    - Dst: SSLNetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:144,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:146,1
    - Dst: SSLNetVConnection*::options::ssl_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - signature_ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 152
    functionName: verify_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientUtils.cc
    functionUses: 0
    functionsReached:
    - validate_hostname
    - ats_free
    - SSLNetVConnection*::options::ssl_servername::get
    - ats_ip_ntop
    - X509_STORE_CTX_get_error
    - TLSBasicSupport::getInstance
    - static_cast<uint8_t>
    - reinterpret_cast<unsigned char *>
    - static_cast<SSL *>
    - Warning
    - X509_verify_cert_error_string
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - SSLNetVCAccess
    - Dbg
    - SSLNetVConnection*::get_remote_addr
    - X509_STORE_CTX_get_error_depth
    - X509_STORE_CTX_get_ex_data
    - SSLNetVConnection*::options::sni_servername::get
    - TLSBasicSupport*::verify_certificate
    - X509_STORE_CTX_get_current_cert
    linkageType: ''
    returnType: int
    signature: int verify_callback(int signature_ok, X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:157,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:158,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:162,1
    - Dst: SSLNetVConnection*::set_sent_cert
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:163,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: ssl_client_cert_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientUtils.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_get0_certificate
    - SSL_get_SSL_CTX
    - SSLNetVCAccess
    - Dbg
    - SSLNetVConnection*::set_sent_cert
    linkageType: ''
    returnType: int
    signature: int ssl_client_cert_callback(SSL *ssl, void * /*arg*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_sni_addr
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:172,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:173,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:175,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:175,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:175,1
    - Dst: get_verify_str
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:175,1
    - Dst: insert_session
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: ssl_new_session_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientUtils.cc
    functionUses: 0
    functionsReached:
    - insert_session
    - SSL_get_SSL_CTX
    - std::string::empty
    - get_verify_str
    - Dbg
    - get_sni_addr
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int ssl_new_session_callback(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:285,1
    - Dst: SSLInitClientContext
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:285,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:291,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:291,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:292,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:301,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:301,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:302,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:307,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:307,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:308,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:315,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:315,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:316,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:319,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:322,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:322,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:323,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/iocore/net/SSLClientUtils.cc:326,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 5
    argNames:
    - params
    - ca_bundle_path
    - ca_bundle_file
    - cert_path
    - key_path
    argTypes:
    - struct SSLConfigParams*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 327
    functionName: SSLCreateClientContext
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - std::unique_ptr::get
    - SSLInitClientContext
    - SSL_CTX_set_default_verify_paths
    - std::unique_ptr::release
    - std::unique_ptr::reset
    - SSL_CTX_check_private_key
    - SSL_CTX_load_verify_locations
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *\nSSLCreateClientContext(const struct SSLConfigParams *params,
      const char *ca_bundle_path, const char *ca_bundle_file,\n                       const
      char *cert_path, const char *key_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/Socks.cc:57,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/net/Socks.cc:58,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/Socks.cc:68,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:70,1
    - Dst: SocksNetVC*::get_remote_addr
      Src: /src/trafficserver/src/iocore/net/Socks.cc:70,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/Socks.cc:75,1
    - Dst: assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:77,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/net/Socks.cc:77,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:78,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:81,1
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/iocore/net/Socks.cc:83,1
    - Dst: SocksEntry::findServer
      Src: /src/trafficserver/src/iocore/net/Socks.cc:86,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Socks.cc:88,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/Socks.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - m
    - vc
    - socks_support
    - ver
    argTypes:
    - Ptr<ProxyMutex>
    - SocksNetVC*
    - unsigned char
    - unsigned char
    assertStmts:
    - condition: (ats_is_ip4(&target_addr))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/trafficserver/src/iocore/net/Socks.cc
    constantsTouched: []
    func_position:
      end: 90
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 90
    functionName: SocksEntry::init
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - ats_is_ip4
    - ats_ip_copy
    - SocksEntry::findServer
    - HRTIME_SECONDS
    - SplitDNSConfig::acquire
    - this_ethread
    - SET_HANDLER
    - time
    - SocksNetVC*::get_remote_addr
    - assert
    linkageType: ''
    returnType: void
    signature: void SocksEntry::init(Ptr<ProxyMutex> &m, SocksNetVC *vc, unsigned
      char socks_support, unsigned char ver)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:100,1
    - Dst: findParent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:101,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/iocore/net/Socks.cc:108,1
    - Dst: nextParent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:113,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/Socks.cc:122,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/Socks.cc:123,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/Socks.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:125,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:130,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/Socks.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:138,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/Socks.cc:138,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/Socks.cc:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 140
    functionName: SocksEntry::findServer
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 1
    functionsReached:
    - memset
    - htons
    - ink_assert
    - Dbg
    - markParentDown
    - ats_ip_ntop
    - findParent
    - ats_ip_port_host_order
    - ats_ip_port_cast
    - nextParent
    - ats_ip_pton
    linkageType: ''
    returnType: void
    signature: void SocksEntry::findServer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/Socks.cc:145,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Socks.cc:145,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:148,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/Socks.cc:148,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/Socks.cc:151,1
    - Dst: markParentUp
      Src: /src/trafficserver/src/iocore/net/Socks.cc:155,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/Socks.cc:159,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:164,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/Socks.cc:165,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:166,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:166,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/net/Socks.cc:168,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/iocore/net/Socks.cc:169,1
    - Dst: con::setRemote
      Src: /src/trafficserver/src/iocore/net/Socks.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:172,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/Socks.cc:173,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:174,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/src/iocore/net/Socks.cc:177,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/Socks.cc:179,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 183
    functionName: SocksEntry::free
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - is_locked
    - ink_release_assert
    - do_io_read
    - TextBuffer::release
    - do_io_close
    - free_MIOBuffer
    - MUTEX_TRY_LOCK
    - do_io_write
    - SocksEntry::free
    - reinterpret_cast<void *>
    - Dbg
    - con::setRemote
    - markParentUp
    - cancel
    - this_ethread
    - continuation::handleEvent
    linkageType: ''
    returnType: void
    signature: void SocksEntry::free()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SocksNetVC *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:189,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/Socks.cc:195,1
    - Dst: SocksEntry::mainEvent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:196,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/Socks.cc:199,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:204,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/Socks.cc:204,1
    - Dst: SocksEntry::findServer
      Src: /src/trafficserver/src/iocore/net/Socks.cc:206,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/net/Socks.cc:208,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:209,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:211,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/Socks.cc:216,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/Socks.cc:221,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Socks.cc:225,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/Socks.cc:225,1
    - Dst: connect_re
      Src: /src/trafficserver/src/iocore/net/Socks.cc:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 235
    functionName: SocksEntry::startEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 0
    functionsReached:
    - connect_re
    - SocksEntry::mainEvent
    - do_io_close
    - static_cast<SocksNetVC *>
    - SocksEntry::findServer
    - HRTIME_SECONDS
    - ats_ip_nptop
    - SocksEntry::free
    - Dbg
    - cancel
    - this_ethread
    - SET_HANDLER
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int SocksEntry::startEvent(int event, void *data)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/Socks.cc:246,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:248,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/Socks.cc:248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:249,1
    - Dst: invokeSocksAuthHandler
      Src: /src/trafficserver/src/iocore/net/Socks.cc:252,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/Socks.cc:256,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/net/Socks.cc:260,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:262,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/net/Socks.cc:264,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:266,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:269,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:273,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/net/Socks.cc:277,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:279,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:284,1
    - Dst: fill
      Src: /src/trafficserver/src/iocore/net/Socks.cc:289,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Socks.cc:293,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/Socks.cc:293,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/iocore/net/Socks.cc:296,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/Socks.cc:308,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/Socks.cc:313,1
    - Dst: invokeSocksAuthHandler
      Src: /src/trafficserver/src/iocore/net/Socks.cc:316,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:320,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:322,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Socks.cc:326,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/Socks.cc:326,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/net/Socks.cc:328,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:337,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:338,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/Socks.cc:338,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:351,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:356,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:356,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/Socks.cc:372,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:375,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/Socks.cc:375,1
    - Dst: invokeSocksAuthHandler
      Src: /src/trafficserver/src/iocore/net/Socks.cc:380,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:382,1
    - Dst: SocksEntry::mainEvent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:386,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:393,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:393,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:400,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:400,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:403,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:403,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:406,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:415,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/Socks.cc:427,1
    - Dst: SocksEntry::startEvent
      Src: /src/trafficserver/src/iocore/net/Socks.cc:428,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:434,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/iocore/net/Socks.cc:434,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:436,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:440,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:441,1
    - Dst: SocksEntry::free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:443,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 156
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 448
    functionName: SocksEntry::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - SocksEntry::startEvent
    - do_io_read
    - cancel
    - this_ethread
    - SET_HANDLER
    - invokeSocksAuthHandler
    - SocksEntry::mainEvent
    - ats_is_ip6
    - reinterpret_cast<unsigned char *>
    - get_vc_event_name
    - static_cast<int>
    - reset
    - Dbg
    - ats_ip_port_cast
    - static_cast<VIO *>
    - ink_assert
    - start
    - ats_is_ip4
    - HRTIME_SECONDS
    - do_io_write
    - SocksEntry::free
    - fill
    linkageType: ''
    returnType: int
    signature: int SocksEntry::mainEvent(int event, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/iocore/net/Socks.cc:453,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:461,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:465,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:466,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Socks.cc:469,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:473,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:474,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:475,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:479,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:480,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:482,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:483,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Socks.cc:484,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:485,1
    - Dst: SocksServerConfig::startup
      Src: /src/trafficserver/src/iocore/net/Socks.cc:490,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/Socks.cc:492,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:493,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/Socks.cc:493,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Socks.cc:496,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/net/Socks.cc:500,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/net/Socks.cc:500,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/Socks.cc:502,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Socks.cc:503,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/Socks.cc:503,1
    - Dst: loadSocksIPAddrs
      Src: /src/trafficserver/src/iocore/net/Socks.cc:507,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/src/iocore/net/Socks.cc:509,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/Socks.cc:510,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Socks.cc:511,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/Socks.cc:511,1
    - Dst: loadSocksAuthInfo
      Src: /src/trafficserver/src/iocore/net/Socks.cc:515,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Socks.cc:516,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - socks_conf_stuff
    argTypes:
    - socks_conf_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 450
    functionDepth: 6
    functionLinenumber: 450
    functionLinenumberEnd: 526
    functionName: loadSocksConfiguration
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadConfigPath
    - ats_scoped_str::ats_scoped_str
    - get_yaml_path
    - ats_scoped_str::get
    - swoc::SWOC_VERSION_NS::bwprint
    - loadSocksAuthInfo
    - std::string::c_str
    - Error
    - Dbg
    - SocksServerConfig::startup
    - loadSocksIPAddrs
    - RecGetRecordInt
    - swoc::Errata::is_ok
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void loadSocksConfiguration(socks_conf_struct *socks_conf_stuff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/iocore/net/Socks.cc:534,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/net/Socks.cc:535,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/iocore/net/Socks.cc:537,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/iocore/net/Socks.cc:538,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/Socks.cc:538,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/src/iocore/net/Socks.cc:539,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/src/iocore/net/Socks.cc:540,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/net/Socks.cc:542,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/net/Socks.cc:542,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:543,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/Socks.cc:543,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/Socks.cc:544,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:544,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/net/Socks.cc:544,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:545,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/net/Socks.cc:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - content
    - socks_stuff
    argTypes:
    - swoc::TextView
    - socks_conf_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 550
    functionName: loadSocksAuthInfo
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - auto::remove_prefix
    - auto::starts_with
    - auto::take_prefix_if
    - static_cast<char>
    - auto::size
    - Dbg
    - swoc::TextView::ltrim_if
    - swoc::TextView::size
    - swoc::SWOC_VERSION_NS::bwprint
    - auto::empty
    linkageType: ''
    returnType: int
    signature: int loadSocksAuthInfo(swoc::TextView content, socks_conf_struct *socks_stuff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/iocore/net/Socks.cc:558,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/net/Socks.cc:559,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/iocore/net/Socks.cc:560,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/iocore/net/Socks.cc:561,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/Socks.cc:561,1
    - Dst: auto::ltrim_if
      Src: /src/trafficserver/src/iocore/net/Socks.cc:562,1
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/src/iocore/net/Socks.cc:563,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/iocore/net/Socks.cc:564,1
    - Dst: socks_conf_struct*::ip_addrs::mark
      Src: /src/trafficserver/src/iocore/net/Socks.cc:565,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/Socks.cc:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - content
    - socks_stuff
    argTypes:
    - swoc::TextView
    - socks_conf_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 573
    functionName: loadSocksIPAddrs
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - socks_conf_struct*::ip_addrs::mark
    - auto::remove_prefix
    - auto::take_prefix_at
    - auto::starts_with
    - auto::ltrim_if
    - swoc::IPRange::load
    - swoc::TextView::ltrim_if
    - swoc::TextView::size
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata loadSocksIPAddrs(swoc::TextView content, socks_conf_struct
      *socks_stuff)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: socks_conf_stuff::user_name_n_passwd::data
      Src: /src/trafficserver/src/iocore/net/Socks.cc:580,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:603,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:609,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:611,1
    - Dst: reinterpret_cast<SocksAuthHandler *>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:616,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:622,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:629,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:629,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:634,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:634,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:642,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 647
    functionName: socks5BasicAuthHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Dbg
    - socks_conf_stuff::user_name_n_passwd::data
    - reinterpret_cast<SocksAuthHandler *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int socks5BasicAuthHandler(int event, unsigned char *p, void (**h_ptr)(void))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socks_conf_stuff::user_name_n_passwd::data
      Src: /src/trafficserver/src/iocore/net/Socks.cc:659,1
    - Dst: socks_conf_stuff::user_name_n_passwd::length
      Src: /src/trafficserver/src/iocore/net/Socks.cc:660,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:661,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/Socks.cc:664,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:678,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Socks.cc:683,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/Socks.cc:683,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Socks.cc:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 695
    functionName: socks5PasswdAuthHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - Dbg
    - socks_conf_stuff::user_name_n_passwd::length
    - socks_conf_stuff::user_name_n_passwd::data
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int socks5PasswdAuthHandler(int event, unsigned char *p, void (**h_ptr)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/Socks.cc:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 706
    functionName: SocksAddrType::reset
    functionSourceFile: /src/trafficserver/src/iocore/net/Socks.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void SocksAddrType::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:55,1
    - Dst: IpEndpoint::isIp6
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:55,1
    - Dst: swoc::bwf::As_Hex
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:55,1
    - Dst: swoc::bwf::As_Hex
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:56,1
    - Dst: IpEndpoint::host_order_port
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:57,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:58,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:58,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:59,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: SSLAddressLookupKey
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::print
    - static_cast<unsigned char>
    - swoc::FixedBufferWriter::size
    - IpEndpoint::isIp6
    - IpEndpoint::host_order_port
    - swoc::FixedBufferWriter::write
    - swoc::bwf::As_Hex
    linkageType: ''
    returnType: void
    signature: void SSLAddressLookupKey(const IpEndpoint &ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: get
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 198
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: split
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void split()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: unsplit
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsplit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_store::size
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: count
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 25
    functionsReached:
    - ctx_store::size
    linkageType: ''
    returnType: unsigned
    signature: unsigned count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: get
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 198
    functionsReached: []
    linkageType: ''
    returnType: SSLCertContext
    signature: "SSLCertContext *\n  get(unsigned i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ContextRef
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ContextRef
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextRef(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Print
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 33
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ssl_ticket_key_block *>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:150,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:152,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: ticket_block_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - memset
    - static_cast<ssl_ticket_key_block *>
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ticket_block_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ssl_ticket_key_block *>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:163,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:163,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: ticket_block_alloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<ssl_ticket_key_block *>
    - ats_malloc
    linkageType: ''
    returnType: ssl_ticket_key_block
    signature: 'ssl_ticket_key_block *

      ticket_block_alloc(unsigned count)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:178,1
    - Dst: ticket_block_alloc
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:180,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:187,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:188,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:189,1
    - Dst: ticket_block_free
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ticket_key_data
    - ticket_key_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: ticket_block_create
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ticket_block_alloc
    - Error
    - Dbg
    - ticket_block_free
    linkageType: ''
    returnType: ssl_ticket_key_block
    signature: 'ssl_ticket_key_block *

      ticket_block_create(char *ticket_key_data, int ticket_key_len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:204,1
    - Dst: readIntoBuffer
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:209,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:211,1
    - Dst: ticket_block_create
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:214,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:218,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:218,1
    - Dst: ticket_block_create
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:219,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:219,1
    - Dst: ticket_block_free
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ticket_key_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 232
    functionName: ssl_create_ticket_keyblock
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 2
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - readIntoBuffer
    - ticket_block_free
    - Error
    - reinterpret_cast<char *>
    - reinterpret_cast<unsigned char *>
    - ticket_block_create
    - RAND_bytes
    linkageType: ''
    returnType: ssl_ticket_key_block
    signature: 'ssl_ticket_key_block *

      ssl_create_ticket_keyblock(const char *ticket_key_path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: SSLCertContext::SSLCertContext
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLCertContext::SSLCertContext(SSLCertContext const &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: '&

      SSLCertContext::operator=(SSLCertContext const &other)'
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLCertContext
    signature: 'SSLCertContext &

      SSLCertContext::operator=(SSLCertContext const &other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: SSLCertContext::getCtx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX SSLCertContext::getCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - shared_SSL_CTX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: SSLCertContext::setCtx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLCertContext::setCtx(shared_SSL_CTX sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SSLContextStorage>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:273,1
    - Dst: std::make_unique<SSLContextStorage>
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: SSLCertLookup::SSLCertLookup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<SSLContextStorage>
    linkageType: ''
    returnType: void
    signature: void SSLCertLookup::SSLCertLookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: SSLCertLookup::~SSLCertLookup()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLCertLookup::~SSLCertLookup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::ec_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:288,1
    - Dst: SSLCertLookup::ssl_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - address
    - ctxType
    argTypes:
    - std::string
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: SSLCertLookup::find
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - SSLCertLookup::ec_storage::lookup
    - SSLCertLookup::ssl_storage::lookup
    linkageType: ''
    returnType: SSLCertContext
    signature: 'SSLCertContext *

      SSLCertLookup::find(const std::string &address, [[maybe_unused]] SSLCertContextType
      ctxType) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::ec_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:306,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:306,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:311,1
    - Dst: SSLAddressLookupKey::split
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:312,1
    - Dst: SSLCertLookup::ec_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:313,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:313,1
    - Dst: SSLAddressLookupKey
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:319,1
    - Dst: SSLCertLookup::ssl_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:323,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:323,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:328,1
    - Dst: SSLAddressLookupKey::split
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:329,1
    - Dst: SSLCertLookup::ssl_storage::lookup
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:330,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - address
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: SSLCertLookup::find
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - SSLCertLookup::ec_storage::lookup
    - IpEndpoint::network_order_port
    - SSLAddressLookupKey::split
    - SSLCertLookup::ssl_storage::lookup
    - SSLAddressLookupKey
    - SSLAddressLookupKey::get
    linkageType: ''
    returnType: SSLCertContext
    signature: 'SSLCertContext *

      SSLCertLookup::find(const IpEndpoint &address) const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::ssl_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:343,1
    - Dst: SSLCertLookup::ec_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:345,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:347,1
    - Dst: SSLCertLookup::ssl_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - name
    - cc
    argTypes:
    - char*
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: SSLCertLookup::insert
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - SSLCertLookup::ssl_storage::insert
    - SSLCertLookup::ec_storage::insert
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SSLCertLookup::insert(const char *name, SSLCertContext const &cc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::ssl_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:364,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:364,1
    - Dst: SSLCertLookup::ec_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:366,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:366,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:368,1
    - Dst: SSLCertLookup::ssl_storage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:372,1
    - Dst: SSLAddressLookupKey::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - address
    - cc
    argTypes:
    - IpEndpoint
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 374
    functionName: SSLCertLookup::insert
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - SSLCertLookup::ec_storage::insert
    - SSLCertLookup::ssl_storage::insert
    - SSLAddressLookupKey::get
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SSLCertLookup::insert(const IpEndpoint &address, SSLCertContext
      const &cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::count
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:382,1
    - Dst: SSLCertLookup::count
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctxType
    argTypes:
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: SSLCertLookup::count
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - SSLCertLookup::count
    linkageType: ''
    returnType: unsigned
    signature: unsigned SSLCertLookup::count(SSLCertContextType ctxType) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:396,1
    - Dst: SSLCertLookup::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - ctxType
    argTypes:
    - unsigned
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: SSLCertLookup::get
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - SSLCertLookup::get
    linkageType: ''
    returnType: SSLCertContext
    signature: 'SSLCertContext *

      SSLCertLookup::get(unsigned i, SSLCertContextType ctxType) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:408,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:409,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:411,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:411,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:412,1
    - Dst: auto::second::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:414,1
    - Dst: auto::second::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:414,1
    - Dst: std::set<std::string>::begin
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:414,1
    - Dst: std::set<std::string>::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cert_secrets
    - lookup_names
    argTypes:
    - std::vector<std::string>
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: SSLCertLookup::register_cert_secrets
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - auto::second::end
    - SSLCertLookup::find
    - end
    - SSLCertLookup::insert
    - std::set<std::string>::end
    - std::set<std::string>::begin
    - auto::second::insert
    linkageType: ''
    returnType: void
    signature: void SSLCertLookup::register_cert_secrets(std::vector<std::string>
      const &cert_secrets, std::set<std::string> &lookup_names)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:421,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:422,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:424,1
    - Dst: std::set<shared_SSLMultiCertConfigParams>::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - secret_name
    - policies
    argTypes:
    - std::string
    - std::set<shared_SSLMultiCertConfigParams>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: SSLCertLookup::getPolicies
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - end
    - std::set<shared_SSLMultiCertConfigParams>::insert
    - SSLCertLookup::find
    linkageType: ''
    returnType: void
    signature: void SSLCertLookup::getPolicies(const std::string &secret_name, std::set<shared_SSLMultiCertConfigParams>
      &policies) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: SSLContextStorage::SSLContextStorage
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContextStorage::SSLContextStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: SSLContextStorage::~SSLContextStorage()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContextStorage::~SSLContextStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLContextStorage::ctx_store::push_back
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:439,1
    - Dst: SSLContextStorage::ctx_store::size
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cc
    argTypes:
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: SSLContextStorage::store
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - SSLContextStorage::ctx_store::push_back
    - SSLContextStorage::ctx_store::size
    linkageType: ''
    returnType: int
    signature: int SSLContextStorage::store(SSLCertContext const &cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLContextStorage::store
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:446,1
    - Dst: SSLContextStorage::insert
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:447,1
    - Dst: SSLContextStorage::ctx_store::pop_back
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - cc
    argTypes:
    - char*
    - SSLCertContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: SSLContextStorage::insert
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - SSLContextStorage::insert
    - SSLContextStorage::store
    - SSLContextStorage::ctx_store::pop_back
    linkageType: ''
    returnType: int
    signature: int SSLContextStorage::insert(const char *name, SSLCertContext const
      &cc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ts::transform_lower
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:459,1
    - Dst: getCtx
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:461,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:462,1
    - Dst: index
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:464,1
    - Dst: SSLContextStorage::wilddomains::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:471,1
    - Dst: SSLContextStorage::wilddomains::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:471,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:472,1
    - Dst: SSLContextStorage::wilddomains::emplace
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:476,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:477,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:477,1
    - Dst: SSLContextStorage::hostnames::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:481,1
    - Dst: SSLContextStorage::hostnames::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:481,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:482,1
    - Dst: SSLContextStorage::hostnames::emplace
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:486,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:487,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 491
    functionName: SSLContextStorage::insert
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached:
    - getCtx
    - SSLContextStorage::hostnames::emplace
    - shared_SSL_CTX::get
    - index
    - SSLContextStorage::hostnames::find
    - SSLContextStorage::wilddomains::emplace
    - SSLContextStorage::hostnames::end
    - ats_wildcard_matcher::match
    - Dbg
    - SSLContextStorage::wilddomains::end
    - ts::transform_lower
    - SSLContextStorage::wilddomains::find
    linkageType: ''
    returnType: int
    signature: int SSLContextStorage::insert(const char *name, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:497,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: SSLContextStorage::printWildDomains
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - first::c_str
    linkageType: ''
    returnType: void
    signature: void SSLContextStorage::printWildDomains() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLContextStorage::hostnames::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:505,1
    - Dst: SSLContextStorage::hostnames::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:505,1
    - Dst: ts::transform_lower
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:510,1
    - Dst: SSLContextStorage::hostnames::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:511,1
    - Dst: SSLContextStorage::hostnames::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:511,1
    - Dst: index
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:516,1
    - Dst: SSLContextStorage::wilddomains::find
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:519,1
    - Dst: SSLContextStorage::wilddomains::end
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: SSLContextStorage::lookup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - index
    - SSLContextStorage::hostnames::find
    - SSLContextStorage::hostnames::end
    - SSLContextStorage::wilddomains::end
    - ts::transform_lower
    - SSLContextStorage::wilddomains::find
    linkageType: ''
    returnType: SSLCertContext
    signature: 'SSLCertContext *

      SSLContextStorage::lookup(const std::string &name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:539,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:547,1
    - Dst: ts::transform_lower
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:557,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - hostname
    - (reversed)
    argTypes:
    - char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 560
    functionName: reverse_dns_name
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - strcspn
    - ts::transform_lower
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      reverse_dns_name(const char *hostname, char (&reversed)[TS_MAX_HOST_NAME_LEN
      + 1])'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:569,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:569,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:570,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:570,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:571,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:571,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:572,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:572,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:573,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:573,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:574,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:574,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:575,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:575,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:576,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:576,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:577,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:577,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:578,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 579
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - ats_wildcard_matcher::match
    - TestBox::check
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SSLWildcardMatch)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:591,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:591,1
    - Dst: _R
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:591,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:592,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:592,1
    - Dst: _R
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:592,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:593,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:593,1
    - Dst: _R
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:593,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:594,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:594,1
    - Dst: _R
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:594,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:595,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:595,1
    - Dst: _R
      Src: /src/trafficserver/src/iocore/net/SSLCertLookup.cc:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TestBox::check
    - _R
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SSLReverseHostname)(RegressionTest *t, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: _R
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLCertLookup.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _R(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: NetVCTest::NetVCTest
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetVCTest::NetVCTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:92,1
    - Dst: max_block_count
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:92,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:94,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:99,1
    - Dst: max_block_count
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:99,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: NetVCTest::~NetVCTest()
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - free_MIOBuffer
    - max_block_count
    linkageType: ''
    returnType: void
    signature: void NetVCTest::~NetVCTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:129,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:130,1
    - Dst: NetVCTest::start_test
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 7
    argNames:
    - c_type
    - driver_arg
    - nvc
    - robj
    - my_def
    - module_name_arg
    - debug_tag_arg
    argTypes:
    - NetVcTestType_t
    - NetTestDriver*
    - NetVConnection*
    - RegressionTest*
    - NVC_test_def*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: NetVCTest::init_test
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - NetVCTest::start_test
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: "void NetVCTest::init_test(NetVcTestType_t c_type, NetTestDriver *driver_arg,
      NetVConnection *nvc, RegressionTest *robj,\n                     NVC_test_def
      *my_def, const char *module_name_arg, const char *debug_tag_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:140,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:140,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:141,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:141,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:143,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:144,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:146,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:147,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:150,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: NetVCTest::start_test
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 1
    functionsReached:
    - set_inactivity_timeout
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - HRTIME_SECONDS
    - do_io_write
    - set_active_timeout
    linkageType: ''
    returnType: void
    signature: void NetVCTest::start_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:165,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:165,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:176,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - seed
    - bytes
    argTypes:
    - MIOBuffer*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: NetVCTest::fill_buffer
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - ats_free
    - ats_malloc
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int NetVCTest::fill_buffer(MIOBuffer *buf, uint8_t *seed, int bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:192,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:193,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:195,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:195,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:203,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:212,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - r
    - seed
    argTypes:
    - IOBufferReader*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: NetVCTest::consume_and_check_bytes
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader*::start
    - reinterpret_cast<uint8_t *>
    - IOBufferReader*::consume
    - IOBufferReader*::read_avail
    - Dbg
    - IOBufferReader*::block_read_avail
    linkageType: ''
    returnType: int
    signature: int NetVCTest::consume_and_check_bytes(IOBufferReader *r, uint8_t *seed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:223,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:230,1
    - Dst: NetVCTest::finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:231,1
    - Dst: do_io_shutdown
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: NetVCTest::write_finished
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - do_io_close
    - do_io_shutdown
    - NetVCTest::finished
    - NetVCTest::record_error
    linkageType: ''
    returnType: void
    signature: void NetVCTest::write_finished()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:241,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:248,1
    - Dst: NetVCTest::finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:249,1
    - Dst: do_io_shutdown
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: NetVCTest::read_finished
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - do_io_close
    - do_io_shutdown
    - NetVCTest::finished
    - NetVCTest::record_error
    linkageType: ''
    returnType: void
    signature: void NetVCTest::read_finished()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:258,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:260,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:262,1
    - Dst: NetVCTest::finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: NetVCTest::record_error
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 2
    functionsReached:
    - do_io_close
    - rprintf
    - NetVCTest::finished
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void NetVCTest::record_error(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: NetVCTest::finished
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 3
    functionsReached:
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: void NetVCTest::finished()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:276,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:282,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:283,1
    - Dst: NetVCTest::fill_buffer
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:284,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:285,1
    - Dst: NetVCTest::write_finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:289,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:295,1
    - Dst: NetVCTest::write_finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:297,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: NetVCTest::write_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - reenable
    - min
    - Dbg
    - NetVCTest::write_finished
    - NetVCTest::record_error
    - NetVCTest::fill_buffer
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void NetVCTest::write_handler(int event)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:309,1
    - Dst: NetVCTest::consume_and_check_bytes
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:313,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:314,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:317,1
    - Dst: NetVCTest::consume_and_check_bytes
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:321,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:322,1
    - Dst: NetVCTest::read_finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:325,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:330,1
    - Dst: NetVCTest::read_finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:332,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:339,1
    - Dst: NetVCTest::read_finished
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:341,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 348
    functionName: NetVCTest::read_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - reenable
    - NetVCTest::consume_and_check_bytes
    - Dbg
    - NetVCTest::record_error
    - NetVCTest::read_finished
    linkageType: ''
    returnType: void
    signature: void NetVCTest::read_handler(int event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:354,1
    - Dst: NetVCTest::start_test
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:355,1
    - Dst: NetVCTest::read_handler
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:360,1
    - Dst: NetVCTest::write_handler
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:362,1
    - Dst: NetVCTest::record_error
      Src: /src/trafficserver/src/iocore/net/NetVCTest.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: NetVCTest::main_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached:
    - NetVCTest::read_handler
    - static_cast<NetVConnection *>
    - NetVCTest::write_handler
    - NetVCTest::record_error
    - NetVCTest::start_test
    linkageType: ''
    returnType: int
    signature: int NetVCTest::main_handler(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: NetTestDriver::NetTestDriver
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetTestDriver::NetTestDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: NetTestDriver::~NetTestDriver()
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVCTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetTestDriver::~NetTestDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Action::cancel
      Src: /src/trafficserver/src/iocore/net/P_NetAccept.h:70,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/P_NetAccept.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: cancel
    functionSourceFile: /src/trafficserver/src/iocore/net/P_NetAccept.h
    functionUses: 18
    functionsReached:
    - close
    - Action::cancel
    linkageType: ''
    returnType: void
    signature: void cancel(Continuation *cont = nullptr) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Action::operator=
      Src: /src/trafficserver/src/iocore/net/P_NetAccept.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: "*\n  operator=(Continuation *acont)"
    functionSourceFile: /src/trafficserver/src/iocore/net/P_NetAccept.h
    functionUses: 0
    functionsReached:
    - Action::operator=
    linkageType: ''
    returnType: Continuation
    signature: "Continuation *\n  operator=(Continuation *acont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_NetAccept.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ~NetAcceptAction() override
    functionSourceFile: /src/trafficserver/src/iocore/net/P_NetAccept.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~NetAcceptAction() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~NetAccept() override
    functionSourceFile: /src/trafficserver/src/iocore/net/P_NetAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetAccept() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: UDPConnectionInternal::UDPConnectionInternal
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPConnectionInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: UDPConnectionInternal::~UDPConnectionInternal()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnectionInternal::~UDPConnectionInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:63,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: UDPConnection::getFd
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - get_fd
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::getFd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:69,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: UDPConnection::setBinding
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::setBinding(struct sockaddr const *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:77,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:79,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:79,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - port
    argTypes:
    - IpAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: UDPConnection::setBinding
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - htons
    - IpEndpoint::assign
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::setBinding(IpAddr const &ip, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:87,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: UDPConnection::getBinding
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::getBinding(struct sockaddr *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: UDPConnection::destroy
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: UDPConnection::shouldDestroy
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::shouldDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:107,1
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: UDPConnection::AddRef
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPConnectionInternal *>
    - ink_atomic_increment
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::AddRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: UDPConnection::GetRefCount
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::GetRefCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: UDPConnection::GetSendGenerationNumber
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::GetSendGenerationNumber()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:125,1
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: UDPConnection::getPortNum
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_host_order
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::getPortNum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:132,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:132,1
    - Dst: static_cast<UDPConnectionInternal *>
      Src: /src/trafficserver/src/iocore/net/P_UDPConnection.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: UDPConnection::setContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UDPConnection.h
    functionUses: 0
    functionsReached:
    - get
    - ink_assert
    - static_cast<UDPConnectionInternal *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UDPConnection::setContinuation(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dbg_ctl
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: NetDbg
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NetDbg(dbg_ctl, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: QUICConDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICConDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: QUICConVDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICConVDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:57,1
    - Dst: static_cast<ALPNSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:57,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:58,1
    - Dst: static_cast<TLSBasicSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:58,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:59,1
    - Dst: static_cast<TLSEventSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:59,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:60,1
    - Dst: static_cast<TLSCertSwitchSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:60,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:61,1
    - Dst: static_cast<TLSSNISupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:61,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:62,1
    - Dst: static_cast<TLSSessionResumptionSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:62,1
    - Dst: QUICNetVConnection::_set_service
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:63,1
    - Dst: static_cast<QUICSupport *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: QUICNetVConnection::QUICNetVConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - static_cast<TLSEventSupport *>
    - static_cast<TLSBasicSupport *>
    - static_cast<TLSSNISupport *>
    - static_cast<TLSSessionResumptionSupport *>
    - static_cast<QUICSupport *>
    - static_cast<ALPNSupport *>
    - QUICNetVConnection::_set_service
    - static_cast<TLSCertSwitchSupport *>
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::QUICNetVConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: QUICNetVConnection::~QUICNetVConnection()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::~QUICNetVConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: QUICNetVConnection::init
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void QUICNetVConnection::init(QUICVersion /* version ATS_UNUSED */,
      QUICConnectionId /* peer_cid ATS_UNUSED */,\n                         QUICConnectionId
      /* original_cid ATS_UNUSED */, UDPConnection *, QUICPacketHandler *)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:80,1
    - Dst: QUICNetVConnection::_quic_connection_id::randomize
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:85,1
    - Dst: QUICNetVConnection::_ctable::insert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:90,1
    - Dst: QUICNetVConnection::_ctable::insert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:91,1
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:95,1
    - Dst: static_cast<QUICConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:95,1
    - Dst: QUICNetVConnection::_bindSSLObject
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - original_cid
    - udp_con
    - quiche_con
    - packet_handler
    - ctable
    - ssl
    argTypes:
    - QUICConnectionId
    - UDPConnection*
    - quiche_conn*
    - QUICPacketHandler*
    - QUICConnectionTable*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: QUICNetVConnection::init
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::_quic_connection_id::randomize
    - static_cast<QUICConnection *>
    - QUICNetVConnection::_bindSSLObject
    - QUICNetVConnection::_ctable::insert
    - SET_HANDLER
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: "void QUICNetVConnection::init(QUICVersion /* version ATS_UNUSED */,
      QUICConnectionId /* peer_cid ATS_UNUSED */,\n                         QUICConnectionId
      original_cid, QUICConnectionId /* first_cid ATS_UNUSED */,\n                         QUICConnectionId
      /* retry_cid ATS_UNUSED */, UDPConnection *udp_con, quiche_conn *quiche_con,\n
      \                        QUICPacketHandler *packet_handler, QUICConnectionTable
      *ctable, SSL *ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::free_thread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:102,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: QUICNetVConnection::free
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::free_thread
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::free()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_ctable::erase
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:110,1
    - Dst: QUICNetVConnection::_ctable::erase
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: QUICNetVConnection::remove_connection_ids
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::_ctable::erase
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::remove_connection_ids()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:119,1
    - Dst: QUICNetVConnection::free
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:121,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: QUICNetVConnection::destroy
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - QUICNetVConnection::free
    - QUICConDebug
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::destroy(EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: QUICNetVConnection::set_local_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::set_local_addr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:135,1
    - Dst: quiche_conn_free
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:139,1
    - Dst: QUICNetVConnection::_unschedule_quiche_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:142,1
    - Dst: QUICNetVConnection::_unschedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:143,1
    - Dst: QUICNetVConnection::_application_map::reset
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:145,1
    - Dst: QUICNetVConnection::_stream_manager::reset
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:146,1
    - Dst: APIHooks::clear
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:148,1
    - Dst: ALPNSupport::clear
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:149,1
    - Dst: TLSBasicSupport::clear
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:150,1
    - Dst: TLSEventSupport::clear
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:151,1
    - Dst: TLSCertSwitchSupport::_clear
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:152,1
    - Dst: QUICNetVConnection::_packet_handler::close_connection
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: QUICNetVConnection::free_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - TLSCertSwitchSupport::_clear
    - QUICConDebug
    - QUICNetVConnection::_unschedule_quiche_timeout
    - QUICNetVConnection::_stream_manager::reset
    - ALPNSupport::clear
    - QUICNetVConnection::_application_map::reset
    - TLSBasicSupport::clear
    - QUICNetVConnection::_unschedule_packet_write_ready
    - quiche_conn_free
    - QUICNetVConnection::_packet_handler::close_connection
    - APIHooks::clear
    - TLSEventSupport::clear
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::free_thread(EThread * /* t ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: QUICNetVConnection::reenable
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::reenable(VIO * /* vio ATS_UNUSED */)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_established
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:166,1
    - Dst: QUICNetVConnection::_switch_to_established_state
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:167,1
    - Dst: QUICNetVConnection::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:168,1
    - Dst: QUICNetVConnection::_handle_read_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:173,1
    - Dst: QUICNetVConnection::_close_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:176,1
    - Dst: QUICNetVConnection::_handle_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:177,1
    - Dst: QUICNetVConnection::_schedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:179,1
    - Dst: QUICNetVConnection::_close_quiche_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:182,1
    - Dst: QUICNetVConnection::_handle_interval
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:183,1
    - Dst: QUICNetVConnection::_unschedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:189,1
    - Dst: QUICNetVConnection::_propagate_event
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:190,1
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:194,1
    - Dst: quiche_conn_is_closed
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:198,1
    - Dst: quiche_conn_is_draining
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:198,1
    - Dst: QUICNetVConnection::_schedule_closing_event
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: QUICNetVConnection::state_handshake
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::_schedule_packet_write_ready
    - QUICNetVConnection::_handle_read_ready
    - QUICNetVConnection::_close_packet_write_ready
    - QUICConDebug
    - QUICNetVConnection::_handle_write_ready
    - QUICNetVConnection::_schedule_closing_event
    - QUICNetVConnection::_propagate_event
    - QUICNetVConnection::_switch_to_established_state
    - quiche_conn_is_draining
    - QUICNetVConnection::_handle_interval
    - quiche_conn_is_established
    - QUICNetVConnection::_unschedule_packet_write_ready
    - QUICNetVConnection::_close_quiche_timeout
    - QUICNetVConnection::handleEvent
    - quiche_conn_is_closed
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::state_handshake(int event, Event *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_handle_read_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:214,1
    - Dst: QUICNetVConnection::_close_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:217,1
    - Dst: QUICNetVConnection::_handle_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:218,1
    - Dst: QUICNetVConnection::_schedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:220,1
    - Dst: QUICNetVConnection::_close_quiche_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:223,1
    - Dst: QUICNetVConnection::_handle_interval
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:224,1
    - Dst: QUICNetVConnection::_unschedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:230,1
    - Dst: QUICNetVConnection::_propagate_event
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:231,1
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:235,1
    - Dst: quiche_conn_is_closed
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:239,1
    - Dst: quiche_conn_is_draining
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:239,1
    - Dst: QUICNetVConnection::_schedule_closing_event
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 244
    functionName: QUICNetVConnection::state_established
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::_schedule_packet_write_ready
    - QUICNetVConnection::_handle_read_ready
    - QUICNetVConnection::_close_packet_write_ready
    - QUICConDebug
    - QUICNetVConnection::_handle_write_ready
    - QUICNetVConnection::_schedule_closing_event
    - QUICNetVConnection::_propagate_event
    - quiche_conn_is_draining
    - QUICNetVConnection::_handle_interval
    - QUICNetVConnection::_unschedule_packet_write_ready
    - QUICNetVConnection::_close_quiche_timeout
    - quiche_conn_is_closed
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::state_established(int event, Event *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:249,1
    - Dst: QUICNetVConnection::_record_tls_handshake_end_time
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:250,1
    - Dst: QUICNetVConnection::_update_end_of_handshake_stats
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:251,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:252,1
    - Dst: QUICNetVConnection::_start_application
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: QUICNetVConnection::_switch_to_established_state
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - QUICConDebug
    - QUICNetVConnection::_update_end_of_handshake_stats
    - SET_HANDLER
    - QUICNetVConnection::_start_application
    - QUICNetVConnection::_record_tls_handshake_end_time
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_switch_to_established_state()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_application_proto
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:265,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:267,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:267,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:268,1
    - Dst: QUICNetVConnection::set_negotiated_protocol_id
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:271,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:271,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:271,1
    - Dst: QUICNetVConnection::setSelectedProtocol
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:274,1
    - Dst: QUICNetVConnection::endpoint
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:277,1
    - Dst: QUICNetVConnection::action_::continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: QUICNetVConnection::_start_application
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - quiche_conn_application_proto
    - reinterpret_cast<const uint8_t *>
    - QUICNetVConnection::action_::continuation::handleEvent
    - QUICNetVConnection::setSelectedProtocol
    - reinterpret_cast<const char *>
    - static_cast<size_t>
    - QUICNetVConnection::set_negotiated_protocol_id
    - data
    - QUICNetVConnection::endpoint
    - size
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_start_application()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUICConVDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:288,1
    - Dst: QUICNetVConnection::read::vio::cont::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:290,1
    - Dst: QUICNetVConnection::write::vio::cont::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:292,1
    - Dst: QUICConVDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: QUICNetVConnection::_propagate_event
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - QUICNetVConnection::read::vio::cont::handleEvent
    - QUICNetVConnection::write::vio::cont::handleEvent
    - QUICConVDebug
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_propagate_event(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::refcount
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: QUICNetVConnection::shouldDestroy
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::refcount
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::shouldDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKVConnInternal::do_io_read
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: QUICNetVConnection::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal::do_io_read
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      QUICNetVConnection::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKVConnInternal::do_io_write
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: QUICNetVConnection::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal::do_io_write
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      QUICNetVConnection::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool /* owner ATS_UNUSED */)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:324,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:325,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:327,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:328,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:330,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:330,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:333,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:333,1
    - Dst: std::make_unique<QUICContext>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:338,1
    - Dst: std::make_unique<QUICApplicationMap>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:339,1
    - Dst: std::make_unique<QUICStreamManager>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:340,1
    - Dst: QUICNetVConnection::_context::get
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:340,1
    - Dst: QUICNetVConnection::_application_map::get
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:340,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:343,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:343,1
    - Dst: NetHandler*::startIO
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:346,1
    - Dst: QUICNetVConnection::free_thread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:347,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:355,1
    - Dst: startCop
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:359,1
    - Dst: QUICNetVConnection::set_default_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:362,1
    - Dst: QUICNetVConnection::set_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:365,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:369,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:372,1
    - Dst: QUICNetVConnection::_schedule_packet_write_ready
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:373,1
    - Dst: QUICNetVConnection::_schedule_quiche_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 378
    functionName: QUICNetVConnection::acceptEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::set_inactivity_timeout
    - EThread*::schedule_in
    - get_NetHandler
    - this_ethread
    - SET_HANDLER
    - is_locked
    - QUICNetVConnection::free_thread
    - startCop
    - NetHandler*::startIO
    - QUICNetVConnection::_schedule_quiche_timeout
    - MUTEX_TRY_LOCK
    - std::make_unique<QUICContext>
    - std::make_unique<QUICApplicationMap>
    - set_active_timeout
    - QUICNetVConnection::_context::get
    - ink_assert
    - std::make_unique<QUICStreamManager>
    - continuation::handleEvent
    - QUICNetVConnection::_schedule_packet_write_ready
    - HRTIME_MSECONDS
    - Event*::schedule_in
    - QUICNetVConnection::_application_map::get
    - QUICNetVConnection::set_default_inactivity_timeout
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::acceptEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: QUICNetVConnection::connectUp
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::connectUp(EThread * /* t ATS_UNUSED */, int
      /* fd ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_stream_manager::get
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: QUICNetVConnection::stream_manager
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::_stream_manager::get
    linkageType: ''
    returnType: QUICStreamManager
    signature: 'QUICStreamManager *

      QUICNetVConnection::stream_manager()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: QUICNetVConnection::close_quic_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::close_quic_connection(QUICConnectionErrorUPtr
      /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: QUICNetVConnection::reset_quic_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::reset_quic_connection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket*::get_entire_chain_buffer
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:406,1
    - Dst: QUICNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:407,1
    - Dst: static_cast<socklen_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:410,1
    - Dst: UDPPacket*::from::isIp4
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:410,1
    - Dst: static_cast<socklen_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:412,1
    - Dst: UDPPacket*::to::isIp4
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:412,1
    - Dst: quiche_conn_recv
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:415,1
    - Dst: QUICConVDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - packet
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: QUICNetVConnection::handle_received_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - quiche_conn_recv
    - static_cast<socklen_t>
    - UDPPacket*::to::isIp4
    - UDPPacket*::from::isIp4
    - UDPPacket*::get_entire_chain_buffer
    - QUICConVDebug
    - QUICNetVConnection::netActivity
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::handle_received_packet(UDPPacket *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: QUICNetVConnection::ping
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::ping()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: QUICNetVConnection::peer_connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::peer_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: QUICNetVConnection::original_connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::original_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: QUICNetVConnection::first_connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::first_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: QUICNetVConnection::retry_source_connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::retry_source_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: QUICNetVConnection::initial_source_connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::initial_source_connection_id()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: QUICNetVConnection::connection_id
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICNetVConnection::connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: QUICNetVConnection::cids
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view QUICNetVConnection::cids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: QUICNetVConnection::five_tuple
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICFiveTuple
    signature: QUICFiveTuple QUICNetVConnection::five_tuple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: QUICNetVConnection::pmtu
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICNetVConnection::pmtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: QUICNetVConnection::direction
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t QUICNetVConnection::direction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: QUICNetVConnection::negotiated_version
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICVersion
    signature: QUICVersion QUICNetVConnection::negotiated_version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_application_proto
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:498,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:500,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: QUICNetVConnection::negotiated_application_name
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - quiche_conn_application_proto
    - std::string_view
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view QUICNetVConnection::negotiated_application_name()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_closed
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: QUICNetVConnection::is_closed
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - quiche_conn_is_closed
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::is_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: QUICNetVConnection::is_at_anti_amplification_limit
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::is_at_anti_amplification_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: QUICNetVConnection::is_address_validation_completed
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::is_address_validation_completed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: QUICNetVConnection::is_handshake_completed
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::is_handshake_completed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:530,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:530,1
    - Dst: QUICNetVConnection::handleEvent
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: QUICNetVConnection::net_read_io
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::handleEvent
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::net_read_io(NetHandler * /* nh ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: QUICNetVConnection::load_buffer_and_write
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t QUICNetVConnection::load_buffer_and_write(int64_t /* towrite
      ATS_UNUSED */, MIOBufferAccessor & /* buf ATS_UNUSED */,\n                                          int64_t
      & /* total_written ATS_UNUSED */, int & /* needs ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_established
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: QUICNetVConnection::getSSLHandShakeComplete
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - quiche_conn_is_established
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::getSSLHandShakeComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:550,1
    - Dst: TLSEventSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:551,1
    - Dst: ALPNSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:552,1
    - Dst: TLSSessionResumptionSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:553,1
    - Dst: TLSSNISupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:554,1
    - Dst: TLSCertSwitchSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:555,1
    - Dst: QUICSupport::bind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 557
    functionName: QUICNetVConnection::_bindSSLObject
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - TLSEventSupport::bind
    - QUICSupport::bind
    - TLSBasicSupport::bind
    - ALPNSupport::bind
    - TLSSNISupport::bind
    - TLSSessionResumptionSupport::bind
    - TLSCertSwitchSupport::bind
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_bindSSLObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSBasicSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:562,1
    - Dst: TLSEventSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:563,1
    - Dst: ALPNSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:564,1
    - Dst: TLSSessionResumptionSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:565,1
    - Dst: TLSSNISupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:566,1
    - Dst: TLSCertSwitchSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:567,1
    - Dst: QUICSupport::unbind
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: QUICNetVConnection::_unbindSSLObject
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICSupport::unbind
    - TLSCertSwitchSupport::unbind
    - TLSEventSupport::unbind
    - TLSBasicSupport::unbind
    - TLSSessionResumptionSupport::unbind
    - ALPNSupport::unbind
    - TLSSNISupport::unbind
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_unbindSSLObject()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::thread::schedule_in
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:576,1
    - Dst: QUICNetVConnection::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - delay
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 581
    functionName: QUICNetVConnection::_schedule_packet_write_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 3
    functionsReached:
    - QUICNetVConnection::thread::schedule_imm
    - QUICNetVConnection::thread::schedule_in
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_schedule_packet_write_ready(bool delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_packet_write_ready::cancel
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: QUICNetVConnection::_unschedule_packet_write_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 3
    functionsReached:
    - QUICNetVConnection::_packet_write_ready::cancel
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_unschedule_packet_write_ready()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: QUICNetVConnection::_close_packet_write_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_close_packet_write_ready(Event *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::thread::schedule_in
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:603,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:603,1
    - Dst: quiche_conn_timeout_as_millis
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: QUICNetVConnection::_schedule_quiche_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - quiche_conn_timeout_as_millis
    - QUICNetVConnection::thread::schedule_in
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_schedule_quiche_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::_quiche_timeout::cancel
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: QUICNetVConnection::_unschedule_quiche_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 1
    functionsReached:
    - QUICNetVConnection::_quiche_timeout::cancel
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_unschedule_quiche_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: QUICNetVConnection::_close_quiche_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_close_quiche_timeout(Event *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:626,1
    - Dst: quiche_conn_is_timed_out
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:627,1
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:628,1
    - Dst: QUICNetVConnection::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:629,1
    - Dst: quiche_conn_peer_error
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:637,1
    - Dst: quiche_conn_local_error
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:638,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:639,1
    - Dst: QUICConDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:640,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:640,1
    - Dst: QUICNetVConnection::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:641,1
    - Dst: QUICNetVConnection::thread::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 647
    functionName: QUICNetVConnection::_schedule_closing_event
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - QUICConDebug
    - quiche_conn_peer_error
    - QUICNetVConnection::thread::schedule_imm
    - quiche_conn_local_error
    - static_cast<uint64_t>
    - quiche_conn_is_timed_out
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_schedule_closing_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_readable
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:652,1
    - Dst: quiche_stream_iter_next
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:654,1
    - Dst: QUICConVDebug
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:655,1
    - Dst: static_cast<QUICStream *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:656,1
    - Dst: QUICNetVConnection::_stream_manager::find_stream
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:656,1
    - Dst: QUICConnectionError::QUICConnectionError
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:658,1
    - Dst: QUICNetVConnection::_stream_manager::create_stream
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:659,1
    - Dst: QUICStream*::receive_data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:661,1
    - Dst: quiche_stream_iter_free
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: QUICNetVConnection::_handle_read_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - static_cast<QUICStream *>
    - quiche_conn_readable
    - quiche_stream_iter_next
    - QUICNetVConnection::_stream_manager::create_stream
    - QUICNetVConnection::_stream_manager::find_stream
    - quiche_stream_iter_free
    - QUICConVDebug
    - QUICStream*::receive_data
    - QUICConnectionError::QUICConnectionError
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_handle_read_ready()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_established
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:669,1
    - Dst: quiche_conn_writable
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:670,1
    - Dst: quiche_stream_iter_next
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:672,1
    - Dst: static_cast<QUICStream *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:673,1
    - Dst: QUICNetVConnection::_stream_manager::find_stream
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:673,1
    - Dst: QUICConnectionError::QUICConnectionError
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:675,1
    - Dst: QUICNetVConnection::_stream_manager::create_stream
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:676,1
    - Dst: QUICStream*::send_data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:678,1
    - Dst: quiche_stream_iter_free
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:680,1
    - Dst: quiche_conn_send_quantum
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:689,1
    - Dst: quiche_conn_max_send_udp_payload_size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:690,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:693,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:694,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:694,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:695,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:695,1
    - Dst: Ptr::write_avail
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:695,1
    - Dst: quiche_conn_send
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:697,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:697,1
    - Dst: Ptr::end
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:697,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:702,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:709,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:714,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:716,1
    - Dst: QUICNetVConnection::_packet_handler::send_packet
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:719,1
    - Dst: QUICNetVConnection::netActivity
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 722
    functionName: QUICNetVConnection::_handle_write_ready
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - quiche_stream_iter_next
    - min
    - Ptr::alloc
    - new_IOBufferBlock
    - QUICConnectionError::QUICConnectionError
    - quiche_conn_max_send_udp_payload_size
    - Ptr::write_avail
    - QUICNetVConnection::_stream_manager::create_stream
    - Ptr::end
    - QUICNetVConnection::_packet_handler::send_packet
    - quiche_conn_writable
    - quiche_stream_iter_free
    - QUICStream*::send_data
    - static_cast<QUICStream *>
    - reinterpret_cast<uint8_t *>
    - quiche_conn_send
    - quiche_conn_is_established
    - static_cast<size_t>
    - static_cast<int64_t>
    - Ptr::fill
    - quiche_conn_send_quantum
    - QUICNetVConnection::_stream_manager::find_stream
    - buffer_size_to_index
    - QUICNetVConnection::netActivity
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_handle_write_ready()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_on_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:727,1
    - Dst: quiche_conn_is_closed
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:729,1
    - Dst: QUICNetVConnection::_schedule_closing_event
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:730,1
    - Dst: QUICNetVConnection::_schedule_quiche_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 735
    functionName: QUICNetVConnection::_handle_interval
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 2
    functionsReached:
    - QUICNetVConnection::_schedule_quiche_timeout
    - quiche_conn_on_timeout
    - quiche_conn_is_closed
    - QUICNetVConnection::_schedule_closing_event
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::_handle_interval()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::populate_protocol
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - results
    - n
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 751
    functionName: QUICNetVConnection::populate_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::populate_protocol
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::populate_protocol(std::string_view *results,
      int n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:757,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:758,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:759,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:759,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:760,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:760,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:760,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:760,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:761,1
    - Dst: SSLNetVConnection::protocol_contains
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 766
    functionName: QUICNetVConnection::protocol_contains
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::protocol_contains
    - std::string_view::size
    - data
    - strncmp
    - size
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICNetVConnection::protocol_contains(std::string_view prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: QUICNetVConnection::get_quic_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICConnection *>
    linkageType: ''
    returnType: QUICConnection
    signature: 'QUICConnection *

      QUICNetVConnection::get_quic_connection()'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: QUICNetVConnection::reenable
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetVConnection::reenable(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: QUICNetVConnection::getContinuationForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      QUICNetVConnection::getContinuationForTLSEvents()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: QUICNetVConnection::getThreadForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: 'EThread *

      QUICNetVConnection::getThreadForTLSEvents()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: QUICNetVConnection::getMutexForTLSEvents
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<ProxyMutex>
    signature: Ptr<ProxyMutex> QUICNetVConnection::getMutexForTLSEvents()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: QUICNetVConnection::_get_ssl_object
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: 'SSL *

      QUICNetVConnection::_get_ssl_object() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSSLSessionCacheHit
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:811,1
    - Dst: getSSLCurveNID
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:812,1
    - Dst: SSLGetCurveNID
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: QUICNetVConnection::_get_tls_curve
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - getSSLSessionCacheHit
    - SSLGetCurveNID
    - getSSLCurveNID
    linkageType: ''
    returnType: ssl_curve_id
    signature: ssl_curve_id QUICNetVConnection::_get_tls_curve() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_context
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:826,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:833,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:833,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:836,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:836,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:837,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 848
    functionName: QUICNetVConnection::_verify_certificate
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - WEAK_SCOPED_MUTEX_LOCK
    - SSLAPIHooks::instance
    - APIHook*::invoke
    - this_ethread
    - TSSslHookInternalID
    - ink_assert
    - get_context
    linkageType: ''
    returnType: int
    signature: int QUICNetVConnection::_verify_certificate(X509_STORE_CTX * /* ctx
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::get_local_port
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: QUICNetVConnection::_get_local_port
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::get_local_port
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t QUICNetVConnection::_get_local_port()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: '&

      QUICNetVConnection::_getLocalEndpoint()'
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      QUICNetVConnection::_getLocalEndpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::getSSLHandShakeComplete
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 868
    functionName: QUICNetVConnection::_isTryingRenegotiation
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICNetVConnection::getSSLHandShakeComplete
    linkageType: ''
    returnType: bool
    signature: bool QUICNetVConnection::_isTryingRenegotiation() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICCertConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:875,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:877,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - servername
    - ctxType
    argTypes:
    - std::string
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: QUICNetVConnection::_lookupContextByName
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - QUICCertConfig::scoped_config::find
    - SSLCertContext*::getCtx
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX QUICNetVConnection::_lookupContextByName(const std::string
      &servername, SSLCertContextType ctxType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICNetVConnection::five_tuple
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:889,1
    - Dst: QUICFiveTuple::destination
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:890,1
    - Dst: QUICCertConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:891,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:893,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc:894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 898
    functionName: QUICNetVConnection::_lookupContextByIP
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetVConnection.cc
    functionUses: 0
    functionsReached:
    - SSLCertContext*::getCtx
    - QUICCertConfig::scoped_config::find
    - QUICNetVConnection::five_tuple
    - QUICFiveTuple::destination
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX QUICNetVConnection::_lookupContextByIP()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:58,1
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:58,1
    - Dst: proxy_protocol_parse
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:60,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: NetVConnection::has_proxy_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVConnection.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader*::consume
    - IOBufferReader*::memcpy
    - proxy_protocol_parse
    - swoc::TextView::assign
    linkageType: ''
    returnType: bool
    signature: bool NetVConnection::has_proxy_protocol(IOBufferReader *reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:79,1
    - Dst: proxy_protocol_parse
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:92,1
    - Dst: memmove
      Src: /src/trafficserver/src/iocore/net/NetVConnection.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - bytes_r
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: NetVConnection::has_proxy_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVConnection.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - proxy_protocol_parse
    - memmove
    - swoc::TextView::assign
    linkageType: ''
    returnType: bool
    signature: bool NetVConnection::has_proxy_protocol(char *buffer, int64_t *bytes_r)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: NetVCOptions::get_proto_string
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NetVCOptions::get_proto_string() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: NetVCOptions::get_family_string
    functionSourceFile: /src/trafficserver/src/iocore/net/NetVConnection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NetVCOptions::get_family_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:41,1
    - Dst: ink_number_of_processors
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:42,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:44,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:45,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:46,1
    - Dst: ink_net_init
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:47,1
    - Dst: signal
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:52,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:58,1
    - Dst: RecProcessStart
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:59,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:71,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:72,1
    - Dst: test_main
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:77,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/test_I_Net.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_Net.cc
    functionUses: 3
    functionsReached:
    - start
    - RecProcessInit
    - init_diags
    - RecProcessStart
    - test_main
    - ink_net_init
    - this_thread
    - ink_number_of_processors
    - setbuf
    - signal
    - ink_event_system_init
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:58,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:58,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:59,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - name
    argTypes:
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: add_group_stat
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLStats.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::createPtr
    - find
    - emplace
    - end
    - Dbg
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void add_group_stat(T key, const std::string &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:58,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:58,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:59,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - name
    argTypes:
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: add_group_stat
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLStats.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::createPtr
    - find
    - emplace
    - end
    - Dbg
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void add_group_stat(T key, const std::string &name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:122,1
    - Dst: SSLCertificateConfig::scoped_config::count
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:124,1
    - Dst: SSLCertificateConfig::scoped_config::get
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:126,1
    - Dst: SSLCertContext*::getCtx
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:128,1
    - Dst: SSL_CTX_sess_accept_good
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:130,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:130,1
    - Dst: SSL_CTX_sess_hits
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:131,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:131,1
    - Dst: SSL_CTX_sess_misses
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:132,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:132,1
    - Dst: SSL_CTX_sess_timeouts
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:133,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:133,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:139,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:140,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:141,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: SSLPeriodicMetricsUpdate
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLStats.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::scoped_config::get
    - shared_SSL_CTX::get
    - SSL_CTX_sess_timeouts
    - ts::Metrics::Gauge::store
    - SSLCertificateConfig::scoped_config::count
    - Dbg
    - SSLCertContext*::getCtx
    - SSL_CTX_sess_misses
    - SSL_CTX_sess_accept_good
    - SSL_CTX_sess_hits
    linkageType: ''
    returnType: void
    signature: void SSLPeriodicMetricsUpdate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:149,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:149,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:150,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:152,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:153,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cipherName
    - statName
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: add_cipher_stat
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLStats.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::createPtr
    - find
    - emplace
    - end
    - Dbg
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void add_cipher_stat(const char *cipherName, const std::string &statName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecRegNewSyncStatSync
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:161,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:163,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:164,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:165,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:166,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:167,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:168,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:169,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:170,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:171,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:172,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:173,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:174,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:175,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:176,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:177,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:178,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:179,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:180,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:181,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:182,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:183,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:184,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:185,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:186,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:187,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:188,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:189,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:190,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:191,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:192,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:193,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:194,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:195,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:196,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:197,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:198,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:199,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:200,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:201,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:202,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:203,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:204,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:205,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:206,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:207,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:208,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:209,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:210,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:212,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:213,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:214,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:215,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:216,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:217,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:218,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:219,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:220,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:221,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:222,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:223,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:224,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:225,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:226,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:227,1
    - Dst: SSL_get_all_cipher_names
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:230,1
    - Dst: SSL_get_all_cipher_names
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:232,1
    - Dst: std::vector::data
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:232,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:232,1
    - Dst: compare
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:234,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:238,1
    - Dst: add_cipher_stat
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:240,1
    - Dst: SSLMultiCertConfigLoader::default_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:248,1
    - Dst: SSL_new
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:249,1
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:250,1
    - Dst: SSL_get_ciphers
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:250,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:253,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:253,1
    - Dst: const_cast<SSL_CIPHER *>
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:254,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:254,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:255,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:256,1
    - Dst: add_cipher_stat
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:258,1
    - Dst: SSL_free
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:261,1
    - Dst: SSLReleaseContext
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:262,1
    - Dst: add_cipher_stat
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:266,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:266,1
    - Dst: SSL_get_all_group_names
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:270,1
    - Dst: SSL_get_all_group_names
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:272,1
    - Dst: std::vector::data
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:272,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:272,1
    - Dst: add_group_stat
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:275,1
    - Dst: add_group_stat
      Src: /src/trafficserver/src/iocore/net/SSLStats.cc:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 282
    functionName: SSLInitializeStatistics
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLStats.cc
    functionUses: 1
    functionsReached:
    - std::string
    - SSLReleaseContext
    - SSLMultiCertConfigLoader::default_server_ssl_ctx
    - SSL_get_ciphers
    - add_group_stat
    - RecRegNewSyncStatSync
    - sk_SSL_CIPHER_num
    - STACK_OF
    - static_cast<int>
    - SSL_new
    - std::vector::data
    - std::vector::size
    - SSL_get_all_cipher_names
    - add_cipher_stat
    - compare
    - sk_SSL_CIPHER_value
    - SSL_CIPHER_get_name
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::createPtr
    - SSL_free
    - c_str
    - const_cast<SSL_CIPHER *>
    - SSL_get_all_group_names
    linkageType: ''
    returnType: void
    signature: void SSLInitializeStatistics()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:38,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: TLSEarlyDataSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSEarlyDataSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSEarlyDataSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:47,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: TLSEarlyDataSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 1
    functionsReached:
    - static_cast<TLSEarlyDataSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSEarlyDataSupport
    signature: 'TLSEarlyDataSupport *

      TLSEarlyDataSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - srs
    argTypes:
    - SSL*
    - TLSEarlyDataSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: TLSEarlyDataSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSEarlyDataSupport::bind(SSL *ssl, TLSEarlyDataSupport *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: TLSEarlyDataSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSEarlyDataSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: TLSEarlyDataSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSEarlyDataSupport::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: TLSEarlyDataSupport::get_early_data_len
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLSEarlyDataSupport::get_early_data_len() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_early_data
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:94,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:98,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:104,1
    - Dst: SSL_set_options
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:105,1
    - Dst: SSL_set_early_data_enabled
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:110,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ssl
    - max_early_data
    - recv_max_early_data
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 119
    functionName: TLSEarlyDataSupport::update_early_data_config
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 0
    functionsReached:
    - Warning
    - SSL_set_max_early_data
    - SSL_set_early_data_enabled
    - Dbg
    - SSL_set_recv_max_early_data
    - SSL_set_options
    linkageType: ''
    returnType: void
    signature: "void TLSEarlyDataSupport::update_early_data_config([[maybe_unused]]
      SSL *ssl, [[maybe_unused]] uint32_t max_early_data,\n                                              [[maybe_unused]]
      uint32_t recv_max_early_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: TLSEarlyDataSupport::_increment_early_data_len
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSEarlyDataSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSEarlyDataSupport::_increment_early_data_len(size_t amount)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:106,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:106,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:116,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:125,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:126,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:127,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:135,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:141,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:142,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:143,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:149,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:150,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:164,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:165,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:169,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:175,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:180,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:185,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:186,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:191,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:193,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: ProxyProtocol*::src_addr::network_order_port
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:197,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:197,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:201,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:202,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:207,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: ProxyProtocol*::dst_addr::network_order_port
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:213,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 2
    argNames:
    - pp_info
    - hdr
    argTypes:
    - ProxyProtocol*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 218
    functionName: proxy_protocol_v1_parse
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - ink_release_assert
    - swoc::TextView::split_prefix_at
    - swoc::SWOC_VERSION_NS::svtoi
    - ProxyProtocol*::src_addr::network_order_port
    - htons
    - ProxyProtocol*::dst_addr::network_order_port
    - swoc::TextView::starts_with
    - swoc::TextView::find
    - Dbg
    - swoc::TextView::size
    - data
    - size
    - ats_ip_pton
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v1_parse(ProxyProtocol *pp_info, swoc::TextView
      hdr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:228,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:228,1
    - Dst: reinterpret_cast<const PPv2Hdr *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:230,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:230,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:235,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:249,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:263,1
    - Dst: ProxyProtocol*::set_ipv4_addrs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:268,1
    - Dst: reinterpret_cast<in_addr_t>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:268,1
    - Dst: reinterpret_cast<in_addr_t>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:269,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:277,1
    - Dst: ProxyProtocol*::set_ipv6_addrs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:282,1
    - Dst: reinterpret_cast<in6_addr const &>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:282,1
    - Dst: reinterpret_cast<in6_addr const &>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:283,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:296,1
    - Dst: ProxyProtocol*::set_additional_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:301,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:301,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - pp_info
    - msg
    argTypes:
    - ProxyProtocol*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 315
    functionName: proxy_protocol_v2_parse
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - ink_release_assert
    - reinterpret_cast<in6_addr const &>
    - ntohs
    - reinterpret_cast<in_addr_t>
    - reinterpret_cast<const PPv2Hdr *>
    - swoc::TextView::substr
    - Dbg
    - ProxyProtocol*::set_ipv4_addrs
    - swoc::TextView::size
    - ProxyProtocol*::set_ipv6_addrs
    - ProxyProtocol*::set_additional_data
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v2_parse(ProxyProtocol *pp_info, const swoc::TextView
      &msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:327,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:330,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:331,1
    - Dst: ProxyProtocol::src_addr::isIp4
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:334,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:335,1
    - Dst: ProxyProtocol::src_addr::isIp6
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:336,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:337,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:339,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:341,1
    - Dst: bwformat
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:344,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:345,1
    - Dst: bwformat
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:348,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:349,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::aux_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::remaining
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:354,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:355,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::aux_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::remaining
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:361,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:365,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - max_buf_len
    - pp_info
    argTypes:
    - uint8_t*
    - size_t
    - ProxyProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 368
    functionName: proxy_protocol_v1_build
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::aux_data
    - static_cast<int>
    - ProxyProtocol::src_addr::isIp4
    - swoc::FixedBufferWriter::remaining
    - swoc::FixedBufferWriter::size
    - ink_small_itoa
    - swoc::FixedBufferWriter::data
    - Dbg
    - reinterpret_cast<char *>
    - ats_ip_port_host_order
    - swoc::FixedBufferWriter::commit
    - ProxyProtocol::src_addr::isIp6
    - swoc::FixedBufferWriter::write
    - bwformat
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v1_build(uint8_t *buf, size_t max_buf_len, const
      ProxyProtocol &pp_info)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:382,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:386,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:390,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:390,1
    - Dst: ProxyProtocol::src_addr::family
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:394,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:396,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:396,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:399,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:399,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:402,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:402,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:405,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:405,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:410,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:411,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:413,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:413,1
    - Dst: ProxyProtocol::src_addr::family
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:417,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:419,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:419,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:420,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:420,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:421,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:421,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:422,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:422,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:427,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:427,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:428,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:428,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:429,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:429,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:430,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:430,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:436,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:448,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:448,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:449,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:450,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:450,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:451,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - max_buf_len
    - pp_info
    argTypes:
    - uint8_t*
    - size_t
    - ProxyProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 452
    functionName: proxy_protocol_v2_build
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - ProxyProtocol::src_addr::family
    - ats_ip4_addr_cast
    - ink_release_assert
    - swoc::FixedBufferWriter::size
    - memcpy
    - htons
    - static_cast<char>
    - Dbg
    - reinterpret_cast<char *>
    - swoc::FixedBufferWriter::commit
    - ats_ip_port_cast
    - swoc::FixedBufferWriter::write
    - ats_ip6_addr_cast
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v2_build(uint8_t *buf, size_t max_buf_len, const
      ProxyProtocol &pp_info)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:106,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:106,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:116,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:125,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:126,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:127,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:128,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:131,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:135,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:141,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:142,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:143,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:149,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:150,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:160,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:164,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:165,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:168,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:169,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:175,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:179,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:180,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:185,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:186,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:189,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:191,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:193,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:194,1
    - Dst: ProxyProtocol*::src_addr::network_order_port
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:197,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:197,1
    - Dst: swoc::TextView::split_prefix_at
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:201,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:202,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:207,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:210,1
    - Dst: ProxyProtocol*::dst_addr::network_order_port
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:213,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 2
    argNames:
    - pp_info
    - hdr
    argTypes:
    - ProxyProtocol*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 218
    functionName: proxy_protocol_v1_parse
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - ink_release_assert
    - swoc::TextView::split_prefix_at
    - swoc::SWOC_VERSION_NS::svtoi
    - ProxyProtocol*::src_addr::network_order_port
    - htons
    - ProxyProtocol*::dst_addr::network_order_port
    - swoc::TextView::starts_with
    - swoc::TextView::find
    - Dbg
    - swoc::TextView::size
    - data
    - size
    - ats_ip_pton
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v1_parse(ProxyProtocol *pp_info, swoc::TextView
      hdr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:228,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:228,1
    - Dst: reinterpret_cast<const PPv2Hdr *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:230,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:230,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:235,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:249,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:263,1
    - Dst: ProxyProtocol*::set_ipv4_addrs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:268,1
    - Dst: reinterpret_cast<in_addr_t>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:268,1
    - Dst: reinterpret_cast<in_addr_t>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:269,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:277,1
    - Dst: ProxyProtocol*::set_ipv6_addrs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:282,1
    - Dst: reinterpret_cast<in6_addr const &>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:282,1
    - Dst: reinterpret_cast<in6_addr const &>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:283,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:296,1
    - Dst: ProxyProtocol*::set_additional_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:301,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:301,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - pp_info
    - msg
    argTypes:
    - ProxyProtocol*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 315
    functionName: proxy_protocol_v2_parse
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - ink_release_assert
    - reinterpret_cast<in6_addr const &>
    - ntohs
    - reinterpret_cast<in_addr_t>
    - reinterpret_cast<const PPv2Hdr *>
    - swoc::TextView::substr
    - Dbg
    - ProxyProtocol*::set_ipv4_addrs
    - swoc::TextView::size
    - ProxyProtocol*::set_ipv6_addrs
    - ProxyProtocol*::set_additional_data
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v2_parse(ProxyProtocol *pp_info, const swoc::TextView
      &msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:327,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:330,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:331,1
    - Dst: ProxyProtocol::src_addr::isIp4
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:334,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:335,1
    - Dst: ProxyProtocol::src_addr::isIp6
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:336,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:337,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:339,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:341,1
    - Dst: bwformat
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:344,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:345,1
    - Dst: bwformat
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:348,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:349,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::aux_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::remaining
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:353,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:354,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:355,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::aux_data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::remaining
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:360,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:361,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:364,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:365,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - max_buf_len
    - pp_info
    argTypes:
    - uint8_t*
    - size_t
    - ProxyProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 368
    functionName: proxy_protocol_v1_build
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::aux_data
    - static_cast<int>
    - ProxyProtocol::src_addr::isIp4
    - swoc::FixedBufferWriter::remaining
    - swoc::FixedBufferWriter::size
    - ink_small_itoa
    - swoc::FixedBufferWriter::data
    - Dbg
    - reinterpret_cast<char *>
    - ats_ip_port_host_order
    - swoc::FixedBufferWriter::commit
    - ProxyProtocol::src_addr::isIp6
    - swoc::FixedBufferWriter::write
    - bwformat
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v1_build(uint8_t *buf, size_t max_buf_len, const
      ProxyProtocol &pp_info)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:382,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:386,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:390,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:390,1
    - Dst: ProxyProtocol::src_addr::family
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:394,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:396,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:396,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:399,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:399,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:402,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:402,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:405,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:405,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:410,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:411,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:413,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:413,1
    - Dst: ProxyProtocol::src_addr::family
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:417,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:419,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:419,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:420,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:420,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:421,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:421,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:422,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:422,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:427,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:427,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:428,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:428,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:429,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:429,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:430,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:430,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:436,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:448,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:448,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:449,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:450,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:450,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:451,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - max_buf_len
    - pp_info
    argTypes:
    - uint8_t*
    - size_t
    - ProxyProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 452
    functionName: proxy_protocol_v2_build
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - ProxyProtocol::src_addr::family
    - ats_ip4_addr_cast
    - ink_release_assert
    - swoc::FixedBufferWriter::size
    - memcpy
    - htons
    - static_cast<char>
    - Dbg
    - reinterpret_cast<char *>
    - swoc::FixedBufferWriter::commit
    - ats_ip_port_cast
    - swoc::FixedBufferWriter::write
    - ats_ip6_addr_cast
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_v2_build(uint8_t *buf, size_t max_buf_len, const
      ProxyProtocol &pp_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:465,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:465,1
    - Dst: proxy_protocol_v1_parse
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:467,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:468,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:468,1
    - Dst: proxy_protocol_v2_parse
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:469,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:473,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pp_info
    - tv
    argTypes:
    - ProxyProtocol*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 477
    functionName: proxy_protocol_parse
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 3
    functionsReached:
    - proxy_protocol_v1_parse
    - proxy_protocol_v2_parse
    - swoc::TextView::starts_with
    - Dbg
    - swoc::TextView::size
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_parse(ProxyProtocol *pp_info, swoc::TextView
      tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proxy_protocol_v1_build
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:493,1
    - Dst: proxy_protocol_v2_build
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:495,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - max_buf_len
    - pp_info
    - force_version
    argTypes:
    - uint8_t*
    - size_t
    - ProxyProtocol
    - ProxyProtocolVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: proxy_protocol_build
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - proxy_protocol_v1_build
    - proxy_protocol_v2_build
    - ink_abort
    linkageType: ''
    returnType: size_t
    signature: size_t proxy_protocol_build(uint8_t *buf, size_t max_buf_len, const
      ProxyProtocol &pp_info, ProxyProtocolVersion force_version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProxyProtocolVersion>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: proxy_protocol_version_cast
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - static_cast<ProxyProtocolVersion>
    linkageType: ''
    returnType: ProxyProtocolVersion
    signature: ProxyProtocolVersion proxy_protocol_version_cast(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyProtocol::src_addr::assign
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:521,1
    - Dst: ProxyProtocol::dst_addr::assign
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - src_addr
    - src_port
    - dst_addr
    - dst_port
    argTypes:
    - in_addr_t
    - uint16_t
    - in_addr_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: ProxyProtocol::set_ipv4_addrs
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - ProxyProtocol::dst_addr::assign
    - ProxyProtocol::src_addr::assign
    linkageType: ''
    returnType: void
    signature: void ProxyProtocol::set_ipv4_addrs(in_addr_t src_addr, uint16_t src_port,
      in_addr_t dst_addr, uint16_t dst_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyProtocol::src_addr::assign
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:533,1
    - Dst: ProxyProtocol::dst_addr::assign
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - src_addr
    - src_port
    - dst_addr
    - dst_port
    argTypes:
    - in6_addr
    - uint16_t
    - in6_addr
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 537
    functionName: ProxyProtocol::set_ipv6_addrs
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - ProxyProtocol::dst_addr::assign
    - ProxyProtocol::src_addr::assign
    linkageType: ''
    returnType: void
    signature: void ProxyProtocol::set_ipv6_addrs(const in6_addr &src_addr, uint16_t
      src_port, const in6_addr &dst_addr, uint16_t dst_port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:543,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tlvCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: ProxyProtocol::get_tlv
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> ProxyProtocol::get_tlv(const uint8_t
      tlvCode) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:553,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:554,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:555,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:555,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:557,1
    - Dst: std::string_view::copy
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:560,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:567,1
    - Dst: ntohs
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:576,1
    - Dst: reinterpret_cast<const uint16_t *>
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:576,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:582,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:586,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:587,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/iocore/net/ProxyProtocol.cc:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 592
    functionName: ProxyProtocol::set_additional_data
    functionSourceFile: /src/trafficserver/src/iocore/net/ProxyProtocol.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint16_t *>
    - std::string_view::length
    - std::string_view::copy
    - ntohs
    - static_cast<char *>
    - emplace
    - Dbg
    - ats_malloc
    - std::string_view
    linkageType: ''
    returnType: int
    signature: int ProxyProtocol::set_additional_data(std::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - c
    - ctx_type
    argTypes:
    - SSL_CTX*
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: SSLLoadingContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLLoadingContext(SSL_CTX *c, SSLCertContextType ctx_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(X509 *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator()(BIO *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIO *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(X509 *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator()(BIO *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIO *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(X509 *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator()(BIO *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIO *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(X509 *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator()(BIO *p)
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIO *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compile
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:116,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: ats_wildcard_matcher
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached:
    - Fatal
    - compile
    linkageType: ''
    returnType: void
    signature: void ats_wildcard_matcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~ats_wildcard_matcher()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ats_wildcard_matcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/iocore/net/P_SSLUtils.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: match
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLUtils.h
    functionUses: 12
    functionsReached:
    - match
    linkageType: ''
    returnType: bool
    signature: bool match(const char *hostname) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - turn_on
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ControlQUIC::ControlQUIC
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlQUIC(bool turn_on)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ControlQUIC::ControlQUIC
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlQUIC(bool /* turn_on ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~ControlQUIC() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ControlQUIC() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - turn_on
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ControlH2::ControlH2
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlH2(bool turn_on)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~ControlH2() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ControlH2() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: HTTP2BufferWaterMark::HTTP2BufferWaterMark
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2BufferWaterMark(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~HTTP2BufferWaterMark() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2BufferWaterMark() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: HTTP2InitialWindowSizeIn::HTTP2InitialWindowSizeIn
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2InitialWindowSizeIn(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~HTTP2InitialWindowSizeIn() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2InitialWindowSizeIn() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: HTTP2MaxSettingsFramesPerMinute::HTTP2MaxSettingsFramesPerMinute
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2MaxSettingsFramesPerMinute(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~HTTP2MaxSettingsFramesPerMinute() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2MaxSettingsFramesPerMinute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: HTTP2MaxPingFramesPerMinute::HTTP2MaxPingFramesPerMinute
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2MaxPingFramesPerMinute(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~HTTP2MaxPingFramesPerMinute() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2MaxPingFramesPerMinute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: HTTP2MaxPriorityFramesPerMinute::HTTP2MaxPriorityFramesPerMinute
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2MaxPriorityFramesPerMinute(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~HTTP2MaxPriorityFramesPerMinute() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2MaxPriorityFramesPerMinute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: HTTP2MaxRstStreamFramesPerMinute::HTTP2MaxRstStreamFramesPerMinute
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2MaxRstStreamFramesPerMinute(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~HTTP2MaxRstStreamFramesPerMinute() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2MaxRstStreamFramesPerMinute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: HTTP2MaxContinuationFramesPerMinute::HTTP2MaxContinuationFramesPerMinute
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP2MaxContinuationFramesPerMinute(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: ~HTTP2MaxContinuationFramesPerMinute() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTP2MaxContinuationFramesPerMinute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~TunnelDestination() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TunnelDestination() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - param
    - file
    - dir
    argTypes:
    - uint8_t
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: VerifyClient::VerifyClient
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifyClient(uint8_t param, std::string_view file, std::string_view
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - param
    - file
    - dir
    argTypes:
    - char*
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: VerifyClient::VerifyClient
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: void
    signature: void VerifyClient(const char *param, std::string_view file, std::string_view
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: VerifyClient::VerifyClient
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifyClient(VerifyClient const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '&operator=(VerifyClient const &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VerifyClient
    signature: VerifyClient &operator=(VerifyClient const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/net/SNIActionPerformer.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: HostSniPolicy::HostSniPolicy
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: void
    signature: void HostSniPolicy(const char *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: HostSniPolicy::HostSniPolicy
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostSniPolicy(uint8_t param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: ~HostSniPolicy() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostSniPolicy() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: TLSValidProtocols::TLSValidProtocols
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSValidProtocols()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - min_ver
    - max_ver
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: TLSValidProtocols::TLSValidProtocols
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSValidProtocols(int min_ver, int max_ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: OutboundSNIPolicy::OutboundSNIPolicy
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutboundSNIPolicy(const std::string_view &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ~OutboundSNIPolicy() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OutboundSNIPolicy() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: (value)
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: server_max_early_data
    signature: server_max_early_data (value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: ~ServerMaxEarlyData() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServerMaxEarlyData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: ServerCipherSuite::ServerCipherSuite
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerCipherSuite(std::string const &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: ~ServerCipherSuite() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServerCipherSuite() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: ServerTLSv1_3CipherSuites::ServerTLSv1_3CipherSuites
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerTLSv1_3CipherSuites(std::string const &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: ~ServerTLSv1_3CipherSuites() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServerTLSv1_3CipherSuites() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: ServerGroupsList::ServerGroupsList
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerGroupsList(std::string const &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: ~ServerGroupsList() override
    functionSourceFile: /src/trafficserver/src/iocore/net/SNIActionPerformer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServerGroupsList() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::SSLCertLookup
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:31,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:33,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:33,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:34,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:34,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:35,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:35,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:36,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:36,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:37,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:37,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:46,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:47,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:48,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:49,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:50,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:52,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:52,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:56,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:56,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:57,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:57,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:58,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:58,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:59,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:59,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:60,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:60,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:64,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:64,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:65,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:65,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:66,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:66,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:67,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:67,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:68,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:68,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:71,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:71,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:72,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:72,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:73,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:73,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:76,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:76,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:77,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:77,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:78,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:78,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:81,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:81,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:82,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:82,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:83,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:83,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:86,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:86,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:87,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:87,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:88,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:88,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:89,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:89,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:90,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 91
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/net/test_certlookup.cc
    functionUses: 0
    functionsReached:
    - SSLv23_server_method
    - TestBox::check
    - SSL_CTX_new
    - SSLCertLookup::find
    - SSLCertLookup::insert
    - SSLCertLookup::SSLCertLookup
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SSLCertificateLookup)(RegressionTest *t, int /*
      atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::SSLCertLookup
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:96,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:112,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:112,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:113,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:113,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:114,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:114,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:115,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:115,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:121,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:122,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:123,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:124,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:131,1
    - Dst: "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
        \   IpEndpoint ip4p;\n  }::ip6::isValid"
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:131,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:132,1
    - Dst: "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
        \   IpEndpoint ip4p;\n  }::ip6p::isValid"
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:132,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:133,1
    - Dst: "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
        \   IpEndpoint ip4p;\n  }::ip4::isValid"
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:133,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:134,1
    - Dst: "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
        \   IpEndpoint ip4p;\n  }::ip4p::isValid"
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:134,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:136,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:136,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:137,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:137,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:138,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:138,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:140,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:140,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:141,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:141,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:142,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:142,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:144,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:144,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:145,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:145,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:146,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:146,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:148,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:148,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:149,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:149,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:150,1
    - Dst: SSLCertLookup::find
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 151
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/net/test_certlookup.cc
    functionUses: 0
    functionsReached:
    - "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
      \   IpEndpoint ip4p;\n  }::ip4::isValid"
    - SSLv23_server_method
    - TestBox::check
    - SSL_CTX_new
    - "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
      \   IpEndpoint ip4p;\n  }::ip6p::isValid"
    - SSLCertLookup::find
    - SSLCertLookup::insert
    - SSLCertLookup::SSLCertLookup
    - "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
      \   IpEndpoint ip4p;\n  }::ip4p::isValid"
    - "struct {\n    IpEndpoint ip6;\n    IpEndpoint ip6p;\n    IpEndpoint ip4;\n
      \   IpEndpoint ip4p;\n  }::ip6::isValid"
    - ats_ip_pton
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(SSLAddressLookup)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:163,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:163,1
    - Dst: std::fstream::eof
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:176,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:181,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:185,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:187,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:188,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:188,1
    - Dst: SSLCertLookup::insert
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:191,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fname
    - lookup
    argTypes:
    - char*
    - SSLCertLookup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 198
    functionName: load_hostnames_csv
    functionSourceFile: /src/trafficserver/src/iocore/net/test_certlookup.cc
    functionUses: 0
    functionsReached:
    - SSLv23_server_method
    - SSL_CTX_new
    - std::string::substr
    - std::string::empty
    - std::string::find_first_of
    - SSLCertLookup::insert
    - std::fstream::eof
    - std::string::c_str
    linkageType: ''
    returnType: unsigned
    signature: unsigned load_hostnames_csv(const char *fname, SSLCertLookup &lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: SSLReleaseContext
    functionSourceFile: /src/trafficserver/src/iocore/net/test_certlookup.cc
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void SSLReleaseContext(SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:212,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:213,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:213,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:216,1
    - Dst: ink_freelists_snap_baseline
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:217,1
    - Dst: SSLCertLookup::SSLCertLookup
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:220,1
    - Dst: load_hostnames_csv
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:224,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:227,1
    - Dst: RegressionTest::run
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:231,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:234,1
    - Dst: system
      Src: /src/trafficserver/src/iocore/net/test_certlookup.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/net/test_certlookup.cc
    functionUses: 3
    functionsReached:
    - DiagsPtr::set
    - BaseLogFile::BaseLogFile
    - SSL_library_init
    - RegressionTest::run
    - system
    - SSLCertLookup::SSLCertLookup
    - ink_freelists_snap_baseline
    - load_hostnames_csv
    - ink_freelists_dump
    - printf
    - Diags::Diags
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ticket_block_free
      Src: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc:34,1
    - Dst: static_cast<struct ssl_ticket_key_block *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ssl_session_ticket_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc
    functionUses: 0
    functionsReached:
    - static_cast<struct ssl_ticket_key_block *>
    - ticket_block_free
    linkageType: ''
    returnType: void
    signature: void ssl_session_ticket_free(void * /*parent*/, void *ptr, CRYPTO_EX_DATA
      * /*ad*/, int /*idx*/, long /*argl*/, void * /*argp*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSessionResumptionSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc:51,1
    - Dst: TLSSessionResumptionSupport*::processSessionTicket
      Src: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc:54,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ssl
    - keyname
    - iv
    - cipher_ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: ssl_callback_session_ticket
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionTicket.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - TLSSessionResumptionSupport::getInstance
    - TLSSessionResumptionSupport*::processSessionTicket
    linkageType: ''
    returnType: void
    signature: "void ssl_callback_session_ticket(SSL *ssl, unsigned char *keyname,
      unsigned char *iv, EVP_CIPHER_CTX *cipher_ctx, HMAC_CTX *hctx,\n                            int
      enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/trafficserver/src/iocore/net/Server.cc:70,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/Server.cc:75,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/Server.cc:77,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/Server.cc:77,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/Server.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: Server::accept
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 0
    functionsReached:
    - accept4
    - ats_ip_nptop
    - 'on'
    - DbgPrint
    linkageType: ''
    returnType: int
    signature: int Server::accept(Connection *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::close
      Src: /src/trafficserver/src/iocore/net/Server.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Server::close
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - Server::close
    linkageType: ''
    returnType: int
    signature: int Server::close()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Server.cc:93,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/Server.cc:93,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/iocore/net/Server.cc:98,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/Server.cc:100,1
    - Dst: unlink
      Src: /src/trafficserver/src/iocore/net/Server.cc:101,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/net/Server.cc:102,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/iocore/net/Server.cc:103,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/Server.cc:105,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Server.cc:109,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/Server.cc:114,1
    - Dst: Server::setup_fd_for_listen
      Src: /src/trafficserver/src/iocore/net/Server.cc:118,1
    - Dst: bind
      Src: /src/trafficserver/src/iocore/net/Server.cc:123,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/net/Server.cc:123,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/iocore/net/Server.cc:127,1
    - Dst: chmod
      Src: /src/trafficserver/src/iocore/net/Server.cc:128,1
    - Dst: safe_listen
      Src: /src/trafficserver/src/iocore/net/Server.cc:133,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:133,1
    - Dst: get_listen_backlog
      Src: /src/trafficserver/src/iocore/net/Server.cc:133,1
    - Dst: Server::setup_fd_after_listen
      Src: /src/trafficserver/src/iocore/net/Server.cc:137,1
    - Dst: getsockname
      Src: /src/trafficserver/src/iocore/net/Server.cc:144,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/Server.cc:151,1
    - Dst: Server::close
      Src: /src/trafficserver/src/iocore/net/Server.cc:152,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/Server.cc:155,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/net/Server.cc:155,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/Server.cc:156,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - non_blocking
    - opt
    argTypes:
    - bool
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 158
    functionName: Server::listen
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - unlink
    - chmod
    - ats_ip_copy
    - get_fd
    - ats_ip_size
    - get_listen_backlog
    - Fatal
    - strerror
    - ats_is_unix
    - safe_listen
    - bind
    - ats_is_ip
    - Server::setup_fd_after_listen
    - Dbg
    - ink_assert
    - getsockname
    - Server::close
    - is_ok
    - ats_ip_port_host_order
    - Server::setup_fd_for_listen
    - ats_ip4_set
    linkageType: ''
    returnType: int
    signature: int Server::listen(bool non_blocking, const NetProcessor::AcceptOptions
      &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Server.cc:165,1
    - Dst: ats_tcp_somaxconn
      Src: /src/trafficserver/src/iocore/net/Server.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: get_listen_backlog
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - RecGetRecordInt
    - ats_tcp_somaxconn
    linkageType: ''
    returnType: int
    signature: int get_listen_backlog()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/Server.cc:175,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/Server.cc:175,1
    - Dst: add_http_filter
      Src: /src/trafficserver/src/iocore/net/Server.cc:179,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:179,1
    - Dst: set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/Server.cc:183,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/Server.cc:185,1
    - Dst: set_rcvbuf_size
      Src: /src/trafficserver/src/iocore/net/Server.cc:187,1
    - Dst: set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/Server.cc:197,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/src/iocore/net/Server.cc:199,1
    - Dst: set_sndbuf_size
      Src: /src/trafficserver/src/iocore/net/Server.cc:201,1
    - Dst: safe_fcntl
      Src: /src/trafficserver/src/iocore/net/Server.cc:210,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:210,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:219,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:219,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/Server.cc:219,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/net/Server.cc:224,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:224,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:228,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/Server.cc:231,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:233,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:237,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/Server.cc:246,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:253,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:253,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Server.cc:256,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:256,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:259,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:264,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:270,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:270,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/Server.cc:273,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Server.cc:283,1
    - Dst: enable_option
      Src: /src/trafficserver/src/iocore/net/Server.cc:284,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/Server.cc:285,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/Server.cc:285,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Server.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/Server.cc:293,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/Server.cc:299,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:300,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:300,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/Server.cc:300,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:311,1
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:311,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Server.cc:314,1
    - Dst: set_nonblocking
      Src: /src/trafficserver/src/iocore/net/Server.cc:320,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/Server.cc:331,1
    - Dst: Server::close
      Src: /src/trafficserver/src/iocore/net/Server.cc:332,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 2
    argNames:
    - non_blocking
    - opt
    argTypes:
    - bool
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 336
    functionName: Server::setup_fd_for_listen
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - enable_option
    - set_sndbuf_size
    - get_fd
    - setsockopt
    - this_ethread
    - Fatal
    - RecGetRecordInt
    - strerror
    - ats_is_ip6
    - add_http_filter
    - set_nonblocking
    - Warning
    - safe_setsockopt
    - Error
    - safe_fcntl
    - Dbg
    - ink_assert
    - set_rcvbuf_size
    - ROUNDUP
    - Server::close
    - is_ok
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int Server::setup_fd_for_listen(bool non_blocking, const NetProcessor::AcceptOptions
      &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: add_http_filter
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int add_http_filter([[maybe_unused]] int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kldfind
      Src: /src/trafficserver/src/iocore/net/Server.cc:354,1
    - Dst: kldstat
      Src: /src/trafficserver/src/iocore/net/Server.cc:359,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Server.cc:360,1
    - Dst: bzero
      Src: /src/trafficserver/src/iocore/net/Server.cc:364,1
    - Dst: strcpy
      Src: /src/trafficserver/src/iocore/net/Server.cc:365,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/Server.cc:367,1
    - Dst: Server::sock::get_fd
      Src: /src/trafficserver/src/iocore/net/Server.cc:367,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/Server.cc:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 376
    functionName: Server::setup_fd_after_listen
    functionSourceFile: /src/trafficserver/src/iocore/net/Server.cc
    functionUses: 1
    functionsReached:
    - kldstat
    - strcpy
    - kldfind
    - setsockopt
    - Error
    - bzero
    - Server::sock::get_fd
    linkageType: ''
    returnType: int
    signature: int Server::setup_fd_after_listen([[maybe_unused]] const NetProcessor::AcceptOptions
      &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: debug_log
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void debug_log(const char *line, void * /* argp ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: QUICNetProcessor::QUICNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNetProcessor::QUICNetProcessor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quiche_config_free
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: QUICNetProcessor::~QUICNetProcessor()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - quiche_config_free
    linkageType: ''
    returnType: void
    signature: void QUICNetProcessor::~QUICNetProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:71,1
    - Dst: schedule_spawn
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: QUICNetProcessor::init
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - allocate
    - schedule_spawn
    linkageType: ''
    returnType: void
    signature: void QUICNetProcessor::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUIC::init
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:80,1
    - Dst: QUICConfig::startup
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:83,1
    - Dst: QUICCertConfig::startup
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:84,1
    - Dst: tag_on
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:87,1
    - Dst: quiche_enable_debug_logging
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:88,1
    - Dst: quiche_config_new
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:90,1
    - Dst: QUICConfig::scoped_config::disable_http_0_9
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:93,1
    - Dst: quiche_config_set_application_protos
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:96,1
    - Dst: const_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:97,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:97,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:97,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:98,1
    - Dst: quiche_config_set_max_idle_timeout
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:100,1
    - Dst: QUICConfig::scoped_config::no_activity_timeout_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:100,1
    - Dst: quiche_config_set_max_recv_udp_payload_size
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:101,1
    - Dst: QUICConfig::scoped_config::get_max_recv_udp_payload_size_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:101,1
    - Dst: quiche_config_set_max_send_udp_payload_size
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:102,1
    - Dst: QUICConfig::scoped_config::get_max_send_udp_payload_size_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:102,1
    - Dst: quiche_config_set_initial_max_data
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:103,1
    - Dst: QUICConfig::scoped_config::initial_max_data_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:103,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_local
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:104,1
    - Dst: QUICConfig::scoped_config::initial_max_stream_data_bidi_local_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:104,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_remote
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:105,1
    - Dst: QUICConfig::scoped_config::initial_max_stream_data_bidi_remote_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:105,1
    - Dst: quiche_config_set_initial_max_stream_data_uni
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:106,1
    - Dst: QUICConfig::scoped_config::initial_max_stream_data_uni_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:106,1
    - Dst: quiche_config_set_initial_max_streams_bidi
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:107,1
    - Dst: QUICConfig::scoped_config::initial_max_streams_bidi_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:107,1
    - Dst: quiche_config_set_initial_max_streams_uni
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:108,1
    - Dst: QUICConfig::scoped_config::initial_max_streams_uni_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:108,1
    - Dst: quiche_config_set_disable_active_migration
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:109,1
    - Dst: QUICConfig::scoped_config::disable_active_migration
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:109,1
    - Dst: quiche_config_set_active_connection_id_limit
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:110,1
    - Dst: QUICConfig::scoped_config::active_cid_limit_in
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:110,1
    - Dst: quiche_config_set_cc_algorithm
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:111,1
    - Dst: QUICConfig::scoped_config::get_cc_algorithm
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 119
    functionName: QUICNetProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t *>
    - reinterpret_cast<const uint8_t *>
    - quiche_config_set_active_connection_id_limit
    - quiche_config_new
    - QUICConfig::scoped_config::active_cid_limit_in
    - quiche_config_set_disable_active_migration
    - tag_on
    - quiche_config_set_initial_max_streams_bidi
    - QUIC::init
    - quiche_config_set_max_send_udp_payload_size
    - quiche_config_set_initial_max_data
    - QUICConfig::startup
    - QUICConfig::scoped_config::get_max_send_udp_payload_size_in
    - QUICConfig::scoped_config::no_activity_timeout_in
    - quiche_enable_debug_logging
    - quiche_config_set_cc_algorithm
    - QUICConfig::scoped_config::initial_max_stream_data_bidi_local_in
    - QUICConfig::scoped_config::initial_max_stream_data_bidi_remote_in
    - QUICConfig::scoped_config::initial_max_streams_uni_in
    - QUICConfig::scoped_config::disable_active_migration
    - std::string::c_str
    - QUICConfig::scoped_config::initial_max_streams_bidi_in
    - QUICConfig::scoped_config::initial_max_data_in
    - quiche_config_set_application_protos
    - quiche_config_set_initial_max_stream_data_bidi_remote
    - quiche_config_set_max_idle_timeout
    - Dbg
    - QUICConfig::scoped_config::disable_http_0_9
    - QUICCertConfig::startup
    - QUICConfig::scoped_config::get_max_recv_udp_payload_size_in
    - QUICConfig::scoped_config::initial_max_stream_data_uni_in
    - quiche_config_set_initial_max_streams_uni
    - std::string::size
    - QUICConfig::scoped_config::get_cc_algorithm
    - quiche_config_set_initial_max_stream_data_bidi_local
    - quiche_config_set_initial_max_stream_data_uni
    - quiche_config_set_max_recv_udp_payload_size
    linkageType: ''
    returnType: int
    signature: int QUICNetProcessor::start(int, size_t /* stacksize ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICConfig::scoped_config::connection_table_size
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:126,1
    - Dst: QUICConnectionTable::QUICConnectionTable
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:126,1
    - Dst: QUICPacketHandlerIn::QUICPacketHandlerIn
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - opt
    argTypes:
    - NetProcessor::AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: QUICNetProcessor::createNetAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - QUICConnectionTable::QUICConnectionTable
    - QUICPacketHandlerIn::QUICPacketHandlerIn
    - QUICConfig::scoped_config::connection_table_size
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      QUICNetProcessor::createNetAccept(const NetProcessor::AcceptOptions &opt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:137,1
    - Dst: QUICNetVConnection::QUICNetVConnection
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:138,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:140,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:140,1
    - Dst: QUICNetVConnection::QUICNetVConnection
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: QUICNetProcessor::allocate_vc
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - alloc
    - QUICNetVConnection::QUICNetVConnection
    - likely
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      QUICNetProcessor::allocate_vc(EThread *t)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:152,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:154,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:156,1
    - Dst: QUICNetProcessor::allocate_vc
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:156,1
    - Dst: CreateUDPSocket
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:162,1
    - Dst: QUICNetVConnection*::free_thread
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:164,1
    - Dst: UnixUDPConnection::UnixUDPConnection
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:170,1
    - Dst: QUICPacketHandlerOut::QUICPacketHandlerOut
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:172,1
    - Dst: NetVCOptions::local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:173,1
    - Dst: UnixUDPConnection*::setBinding
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:174,1
    - Dst: UnixUDPConnection*::bindToThread
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:176,1
    - Dst: get_UDPPollCont
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:178,1
    - Dst: UnixUDPConnection*::ep::start
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:182,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:182,1
    - Dst: Continuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:182,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:184,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:184,1
    - Dst: QUICConnectionId::QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:188,1
    - Dst: QUICConnectionId::randomize
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:189,1
    - Dst: QUICNetVConnection*::init
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:191,1
    - Dst: QUICPacketHandlerOut*::init
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:192,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:195,1
    - Dst: QUICNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:196,1
    - Dst: QUICNetVConnection*::con::setRemote
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:197,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:198,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:202,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:203,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:204,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:205,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:205,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:206,1
    - Dst: QUICNetVConnection*::connectUp
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:207,1
    - Dst: EThread*::is_event_type
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:214,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:215,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - cont
    - remote_addr
    - opt
    argTypes:
    - Continuation*
    - sockaddr*
    - NetVCOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 221
    functionName: QUICNetProcessor::connect_re
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - get_NetHandler
    - static_cast<QUICNetVConnection *>
    - QUICConnectionId::randomize
    - UnixUDPConnection*::setBinding
    - QUICNetProcessor::allocate_vc
    - strerror
    - get_UDPPollCont
    - EThread*::is_event_type
    - is_locked
    - QUICPacketHandlerOut::QUICPacketHandlerOut
    - UnixUDPConnection*::ep::start
    - QUICPacketHandlerOut*::init
    - QUICNetVConnection*::connectUp
    - QUICConnectionId::QUICConnectionId
    - MUTEX_TRY_LOCK
    - UnixUDPConnection::UnixUDPConnection
    - net_next_connection_number
    - EThread*::schedule_imm
    - QUICNetVConnection*::con::setRemote
    - CreateUDPSocket
    - Dbg
    - schedule_imm
    - ink_assert
    - Continuation*::getThreadAffinity
    - QUICNetVConnection*::set_context
    - ink_get_hrtime
    - get_UDPNetHandler
    - QUICNetVConnection*::free_thread
    - NetVCOptions::local_ip::isValid
    - QUICNetVConnection*::init
    - UnixUDPConnection*::bindToThread
    linkageType: ''
    returnType: Action
    signature: 'Action *

      QUICNetProcessor::connect_re(Continuation *cont, sockaddr const *remote_addr,
      NetVCOptions const &opt)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:227,1
    - Dst: QUICNetProcessor::createNetAccept
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:234,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:237,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:239,1
    - Dst: IpEndpoint::setToLoopback
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:242,1
    - Dst: AcceptOptions::local_ip::isValid
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:243,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:244,1
    - Dst: IpEndpoint::setToAnyAddr
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:246,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:248,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:249,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:249,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:252,1
    - Dst: NetAcceptAction::NetAcceptAction
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:254,1
    - Dst: NetAccept*::init_accept
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:257,1
    - Dst: NetAccept*::action_::get
      Src: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - cont
    - fd
    - opt
    argTypes:
    - Continuation*
    - SOCKET
    - AcceptOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 260
    functionName: QUICNetProcessor::main_accept
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICNetProcessor.cc
    functionUses: 0
    functionsReached:
    - AcceptOptions::local_ip::isValid
    - NetAcceptAction::NetAcceptAction
    - htons
    - IpEndpoint::setToLoopback
    - ats_ip_copy
    - QUICNetProcessor::createNetAccept
    - ink_assert
    - IpEndpoint::network_order_port
    - NetAccept*::action_::get
    - Dbg
    - IpEndpoint::setToAnyAddr
    - NetAccept*::init_accept
    - ts::Metrics::Gauge::increment
    - RecGetRecordInt
    - IpEndpoint::assign
    linkageType: ''
    returnType: Action
    signature: 'Action *

      QUICNetProcessor::main_accept(Continuation *cont, SOCKET fd, AcceptOptions const
      &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:44,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:45,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - proto
    - buf
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: append_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - strlen
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      append_protocol(const char *proto, unsigned char *buf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:56,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:60,1
    - Dst: SessionProtocolSet::contains
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:61,1
    - Dst: toIndex
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:61,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:61,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:62,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:62,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:63,1
    - Dst: static_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:67,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:67,1
    - Dst: next
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:72,1
    - Dst: SessionProtocolSet::contains
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:73,1
    - Dst: toIndex
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:73,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:74,1
    - Dst: append_protocol
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:75,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - enabled
    - npn
    - len
    argTypes:
    - SessionProtocolSet
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: SSLNextProtocolSet::create_npn_advertisement
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ink_release_assert
    - static_cast<unsigned char *>
    - next
    - SessionProtocolSet::contains
    - toIndex
    - Dbg
    - strlen
    - ats_malloc
    - append_protocol
    linkageType: ''
    returnType: bool
    signature: bool SSLNextProtocolSet::create_npn_advertisement(const SessionProtocolSet
      &enabled, unsigned char **npn, size_t *len) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:91,1
    - Dst: SSLNextProtocolSet::findEndpoint
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:98,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:98,1
    - Dst: SSLNextProtocolSet::endpoints::push
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:99,1
    - Dst: NextProtocolEndpoint::NextProtocolEndpoint
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - proto
    - ep
    argTypes:
    - char*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: SSLNextProtocolSet::registerEndpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached:
    - SSLNextProtocolSet::endpoints::push
    - strlen
    - NextProtocolEndpoint::NextProtocolEndpoint
    - reinterpret_cast<const unsigned char *>
    - SSLNextProtocolSet::findEndpoint
    linkageType: ''
    returnType: bool
    signature: bool SSLNextProtocolSet::registerEndpoint(const char *proto, Continuation
      *ep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLNextProtocolSet::endpoints::next
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:109,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:110,1
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - proto
    - len
    argTypes:
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: SSLNextProtocolSet::findEndpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 1
    functionsReached:
    - SSLNextProtocolSet::endpoints::next
    - memcmp
    - strlen
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      SSLNextProtocolSet::findEndpoint(const unsigned char *proto, unsigned len) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: SSLNextProtocolSet::SSLNextProtocolSet
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolSet::SSLNextProtocolSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLNextProtocolSet::endpoints::pop
      Src: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: SSLNextProtocolSet::~SSLNextProtocolSet()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached:
    - SSLNextProtocolSet::endpoints::pop
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolSet::~SSLNextProtocolSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _proto
    - _ep
    argTypes:
    - char*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: SSLNextProtocolSet::NextProtocolEndpoint::NextProtocolEndpoint(const
      char *_proto, Continuation *_ep)
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolSet::NextProtocolEndpoint::NextProtocolEndpoint(const
      char *_proto, Continuation *_ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: SSLNextProtocolSet::NextProtocolEndpoint::~NextProtocolEndpoint()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLNextProtocolSet.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolSet::NextProtocolEndpoint::~NextProtocolEndpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:37,1
    - Dst: PollDescriptor::PollDescriptor
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:39,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - pt
    argTypes:
    - Ptr<ProxyMutex>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: PollCont::PollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/PollCont.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - PollDescriptor::PollDescriptor
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void PollCont::PollCont(Ptr<ProxyMutex> &m, int pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:44,1
    - Dst: PollDescriptor::PollDescriptor
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:46,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - m
    - nh
    - pt
    argTypes:
    - Ptr<ProxyMutex>
    - NetHandler*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: PollCont::PollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/PollCont.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - PollDescriptor::PollDescriptor
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void PollCont::PollCont(Ptr<ProxyMutex> &m, NetHandler *nh, int pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: PollCont::~PollCont()
    functionSourceFile: /src/trafficserver/src/iocore/net/PollCont.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PollCont::~PollCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PollCont::do_poll
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: PollCont::pollEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/PollCont.cc
    functionUses: 0
    functionsReached:
    - PollCont::do_poll
    linkageType: ''
    returnType: int
    signature: int PollCont::pollEvent(int, Event *)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:72,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:75,1
    - Dst: read_ready_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:75,1
    - Dst: write_ready_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:75,1
    - Dst: read_enable_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:76,1
    - Dst: write_enable_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:76,1
    - Dst: NetDbg
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:77,1
    - Dst: read_ready_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:77,1
    - Dst: write_ready_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:78,1
    - Dst: read_enable_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:78,1
    - Dst: write_enable_list::empty
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:78,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:82,1
    - Dst: epoll_wait
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:90,1
    - Dst: NetDbg
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:91,1
    - Dst: kevent
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:98,1
    - Dst: NetDbg
      Src: /src/trafficserver/src/iocore/net/PollCont.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: PollCont::do_poll
    functionSourceFile: /src/trafficserver/src/iocore/net/PollCont.cc
    functionUses: 1
    functionsReached:
    - write_enable_list::empty
    - write_ready_list::empty
    - read_ready_list::empty
    - kevent
    - likely
    - read_enable_list::empty
    - ink_hrtime_to_msec
    - NetDbg
    - epoll_wait
    linkageType: ''
    returnType: void
    signature: void PollCont::do_poll(ink_hrtime timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: SSLNextProtocolSet::SSLNextProtocolSet
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNextProtocolSet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolSet(const SSLNextProtocolSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&operator=(const SSLNextProtocolSet &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNextProtocolSet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNextProtocolSet
    signature: SSLNextProtocolSet &operator=(const SSLNextProtocolSet &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:41,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: ALPNSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ALPNSupport *>
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:50,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ALPNSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 2
    functionsReached:
    - static_cast<ALPNSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: ALPNSupport
    signature: 'ALPNSupport *

      ALPNSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - alpns
    argTypes:
    - SSL*
    - ALPNSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ALPNSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::bind(SSL *ssl, ALPNSupport *alpns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ALPNSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: ALPNSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 2
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:80,1
    - Dst: ALPNSupport::npnSet::findEndpoint
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:82,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:82,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - proto
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: ALPNSupport::setSelectedProtocol
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport::npnSet::findEndpoint
    - Error
    - static_cast<unsigned>
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool ALPNSupport::setSelectedProtocol(const unsigned char *proto, unsigned
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::getNPN
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - outlen
    argTypes:
    - unsigned char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ALPNSupport::advertise_next_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport::getNPN
    linkageType: ''
    returnType: int
    signature: int ALPNSupport::advertise_next_protocol(const unsigned char **out,
      unsigned *outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::getNPN
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:109,1
    - Dst: SSL_select_next_proto
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:112,1
    - Dst: const_cast<unsigned char **>
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: ALPNSupport::select_next_protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ALPNSupport::getNPN
    - const_cast<unsigned char **>
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: int ALPNSupport::select_next_protocol(const unsigned char **out, unsigned
      char *outlen, const unsigned char *in, unsigned inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::protoenabled::markOut
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:130,1
    - Dst: create_npn_advertisement
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: ALPNSupport::disableProtocol
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport::protoenabled::markOut
    - create_npn_advertisement
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::disableProtocol(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::protoenabled::markIn
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:140,1
    - Dst: create_npn_advertisement
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: ALPNSupport::enableProtocol
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport::protoenabled::markIn
    - create_npn_advertisement
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::enableProtocol(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_npn_advertisement
      Src: /src/trafficserver/src/iocore/net/ALPNSupport.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - protos
    argTypes:
    - SSLNextProtocolSet*
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ALPNSupport::registerNextProtocolSet
    functionSourceFile: /src/trafficserver/src/iocore/net/ALPNSupport.cc
    functionUses: 0
    functionsReached:
    - create_npn_advertisement
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::registerNextProtocolSet(SSLNextProtocolSet *s, const
      SessionProtocolSet &protos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: completionUtil::create
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 2
    functionsReached:
    - alloc
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      completionUtil::create()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:63,1
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:64,1
    - Dst: UDPIOEvent::free
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: completionUtil::destroy
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 4
    functionsReached:
    - UDPIOEvent::free
    - ink_assert
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::destroy(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - t
    argTypes:
    - Event*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: completionUtil::setThread
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 3
    functionsReached:
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::setThread(Event *e, EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:76,1
    - Dst: static_cast<Action *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - c
    argTypes:
    - Event*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: completionUtil::setContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 2
    functionsReached:
    - static_cast<Action *>
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::setContinuation(Event *e, Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:82,1
    - Dst: UDPIOEvent*::getHandle
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: completionUtil::getHandle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 0
    functionsReached:
    - UDPIOEvent*::getHandle
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      completionUtil::getHandle(Event *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:88,1
    - Dst: UDPIOEvent*::setHandle
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - handle
    argTypes:
    - Event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: completionUtil::setHandle
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 2
    functionsReached:
    - UDPIOEvent*::setHandle
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::setHandle(Event *e, void *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:94,1
    - Dst: UDPIOEvent*::setInfo
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - e
    - fd
    - buf
    - actual
    - errno_
    argTypes:
    - Event*
    - int
    - Ptr<IOBufferBlock>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: completionUtil::setInfo
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 3
    functionsReached:
    - UDPIOEvent*::setInfo
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::setInfo(Event *e, int fd, const Ptr<IOBufferBlock>
      &buf, int actual, int errno_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:100,1
    - Dst: UDPIOEvent*::setInfo
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - e
    - fd
    - msg
    - actual
    - errno_
    argTypes:
    - Event*
    - int
    - struct msghdr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: completionUtil::setInfo
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 3
    functionsReached:
    - UDPIOEvent*::setInfo
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::setInfo(Event *e, int fd, struct msghdr *msg,
      int actual, int errno_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:106,1
    - Dst: UDPIOEvent*::getBytesTransferred
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: completionUtil::getBytesTransferred
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 0
    functionsReached:
    - UDPIOEvent*::getBytesTransferred
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::getBytesTransferred(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:112,1
    - Dst: UDPIOEvent*::getIOBufferBlock
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: completionUtil::getIOBufferBlock
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 0
    functionsReached:
    - UDPIOEvent*::getIOBufferBlock
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      completionUtil::getIOBufferBlock(Event *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:118,1
    - Dst: UDPIOEvent*::getContinuation
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: completionUtil::getContinuation
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 1
    functionsReached:
    - UDPIOEvent*::getContinuation
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      completionUtil::getContinuation(Event *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UDPIOEvent *>
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:124,1
    - Dst: UDPIOEvent*::getError
      Src: /src/trafficserver/src/iocore/net/P_CompletionUtil.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: completionUtil::getError
    functionSourceFile: /src/trafficserver/src/iocore/net/P_CompletionUtil.h
    functionUses: 0
    functionsReached:
    - UDPIOEvent*::getError
    - static_cast<UDPIOEvent *>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE completionUtil::getError(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SSLAPIHooks>
      Src: /src/trafficserver/src/iocore/net/SSLAPIHooks.cc:30,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLAPIHooks.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: SSLAPIHooks::instance
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLAPIHooks.cc
    functionUses: 4
    functionsReached:
    - auto::get
    - std::make_unique<SSLAPIHooks>
    linkageType: ''
    returnType: SSLAPIHooks
    signature: 'SSLAPIHooks *

      SSLAPIHooks::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: SSLNextProtocolAccept::SSLNextProtocolAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNextProtocolAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNextProtocolAccept(const SSLNextProtocolAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '&operator=(const SSLNextProtocolAccept &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNextProtocolAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNextProtocolAccept
    signature: SSLNextProtocolAccept &operator=(const SSLNextProtocolAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:38,1
    - Dst: UnixUDPConnection*::getFd
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - l
    - uc
    - uh
    - events
    argTypes:
    - EventLoop
    - UnixUDPConnection*
    - UDPNetHandler*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: UDPEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/net/UDPEventIO.cc
    functionUses: 0
    functionsReached:
    - UnixUDPConnection*::getFd
    - start_common
    linkageType: ''
    returnType: int
    signature: int UDPEventIO::start(EventLoop l, UnixUDPConnection *uc, UDPNetHandler
      *uh, int events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:46,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:47,1
    - Dst: open_list::in_or_enqueue
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:48,1
    - Dst: shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:49,1
    - Dst: open_list::remove
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:50,1
    - Dst: Release
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:51,1
    - Dst: udp_read_from_net
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:53,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UDPEventIO.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: UDPEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/net/UDPEventIO.cc
    functionUses: 0
    functionsReached:
    - Release
    - open_list::in_or_enqueue
    - udp_read_from_net
    - open_list::remove
    - Dbg
    - shouldDestroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPEventIO::process_event(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:47,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:48,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: TLSKeyLogger::close_keylog_file
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc
    functionUses: 0
    functionsReached:
    - strerror
    - close
    - Error
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger::close_keylog_file()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:57,1
    - Dst: TLSKeyLogger::close_keylog_file
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:61,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:65,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:67,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:67,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:70,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - keylog_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: TLSKeyLogger::enable_keylogging_internal
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc
    functionUses: 0
    functionsReached:
    - TLSKeyLogger::close_keylog_file
    - Error
    - Dbg
    - Note
    - strerror
    - open
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger::enable_keylogging_internal(const char *keylog_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSKeyLogger::is_enabled
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:81,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:82,1
    - Dst: TLSKeyLogger::close_keylog_file
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:84,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: TLSKeyLogger::disable_keylogging_internal
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Note
    - TLSKeyLogger::close_keylog_file
    - TLSKeyLogger::is_enabled
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger::disable_keylogging_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLSKeyLogger::is_enabled
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:92,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:98,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:98,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:99,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:100,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:100,1
    - Dst: writev
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:102,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:103,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: TLSKeyLogger::log
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSKeyLogger.cc
    functionUses: 0
    functionsReached:
    - writev
    - const_cast<void *>
    - Error
    - strlen
    - TLSKeyLogger::is_enabled
    - strerror
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger::log(const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - the_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: UnixUDPConnection::UnixUDPConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 2
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixUDPConnection::UnixUDPConnection(int the_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - the_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: UnixUDPConnection::init
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixUDPConnection::init(int the_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: UnixUDPConnection::setEthread
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixUDPConnection::setEthread(EThread *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: UnixUDPConnection::errorAndDie
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE UnixUDPConnection::errorAndDie(int e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h:97,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: UDPConnection::recv
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<UnixUDPConnection *>
    - ink_assert
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE *

      UDPConnection::recv(Continuation *c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixUDPConnection::UnixUDPConnection
      Src: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: 'UDPConnection *

      new_UDPConnection(int fd)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixUDPConnection.h
    functionUses: 0
    functionsReached:
    - UnixUDPConnection::UnixUDPConnection
    linkageType: ''
    returnType: TS_INLINE
    signature: 'TS_INLINE UDPConnection *

      new_UDPConnection(int fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/net/NetAcceptEventIO.cc:31,1
    - Dst: server::sock::get_fd
      Src: /src/trafficserver/src/iocore/net/NetAcceptEventIO.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - l
    - na
    - events
    argTypes:
    - EventLoop
    - NetAccept*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: NetAcceptEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/net/NetAcceptEventIO.cc
    functionUses: 0
    functionsReached:
    - server::sock::get_fd
    - start_common
    linkageType: ''
    returnType: int
    signature: int NetAcceptEventIO::start(EventLoop l, NetAccept *na, int events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/NetAcceptEventIO.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: NetAcceptEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/net/NetAcceptEventIO.cc
    functionUses: 0
    functionsReached:
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void NetAcceptEventIO::process_event(int /* flags ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - addr_bind_style
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: NetVCOptions::toString
    functionSourceFile: /src/trafficserver/src/iocore/net/Connection.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      NetVCOptions::toString(addr_bind_style s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/Connection.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Connection::Connection
    functionSourceFile: /src/trafficserver/src/iocore/net/Connection.cc
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Connection::Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/Connection.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Connection::~Connection()
    functionSourceFile: /src/trafficserver/src/iocore/net/Connection.cc
    functionUses: 0
    functionsReached:
    - Connection::close
    linkageType: ''
    returnType: void
    signature: void Connection::~Connection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_fd
      Src: /src/trafficserver/src/iocore/net/Connection.cc:58,1
    - Dst: Connection::close
      Src: /src/trafficserver/src/iocore/net/Connection.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: Connection::close
    functionSourceFile: /src/trafficserver/src/iocore/net/Connection.cc
    functionUses: 12
    functionsReached:
    - get_fd
    - Connection::close
    linkageType: ''
    returnType: int
    signature: int Connection::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - orig
    argTypes:
    - Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: Connection::move
    functionSourceFile: /src/trafficserver/src/iocore/net/Connection.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection::move(Connection &orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:39,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:45,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:52,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:55,1
    - Dst: kevent
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - l
    - afd
    - e
    argTypes:
    - EventLoop
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: EventIO::start_common
    functionSourceFile: /src/trafficserver/src/iocore/net/EventIO.cc
    functionUses: 0
    functionsReached:
    - memset
    - EV_SET
    - kevent
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int EventIO::start_common(EventLoop l, int afd, int e)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:68,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:71,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:81,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:83,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:85,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:94,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:96,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:100,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:102,1
    - Dst: kevent
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 112
    functionName: EventIO::modify
    functionSourceFile: /src/trafficserver/src/iocore/net/EventIO.cc
    functionUses: 0
    functionsReached:
    - memset
    - kevent
    - epoll_ctl
    - EV_SET
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int EventIO::modify(int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:121,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:127,1
    - Dst: EV_SET
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:130,1
    - Dst: kevent
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: EventIO::refresh
    functionSourceFile: /src/trafficserver/src/iocore/net/EventIO.cc
    functionUses: 0
    functionsReached:
    - EV_SET
    - kevent
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int EventIO::refresh(int e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:152,1
    - Dst: epoll_ctl
      Src: /src/trafficserver/src/iocore/net/EventIO.cc:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: EventIO::stop
    functionSourceFile: /src/trafficserver/src/iocore/net/EventIO.cc
    functionUses: 0
    functionsReached:
    - memset
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int EventIO::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_common
      Src: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - l
    - fd
    - events
    argTypes:
    - EventLoop
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: AsyncSignalEventIO::start
    functionSourceFile: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc
    functionUses: 0
    functionsReached:
    - start_common
    linkageType: ''
    returnType: int
    signature: int AsyncSignalEventIO::start(EventLoop l, int fd, int events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc:41,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc:42,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc:45,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: AsyncSignalEventIO::process_event
    functionSourceFile: /src/trafficserver/src/iocore/net/AsyncSignalEventIO.cc
    functionUses: 0
    functionsReached:
    - read
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void AsyncSignalEventIO::process_event(int /* flags ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:54,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: SSLMultiCertConfigParams
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void SSLMultiCertConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: SSLCertContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLCertContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: SSLCertContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLCertContext(SSL_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sc
    - ctx_type
    - u
    argTypes:
    - shared_SSL_CTX
    - SSLCertContextType
    - shared_SSLMultiCertConfigParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: SSLCertContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLCertContext(shared_SSL_CTX sc, SSLCertContextType ctx_type,
      const shared_SSLMultiCertConfigParams &u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:114,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - sc
    - ctx_type
    - u
    - kb
    argTypes:
    - shared_SSL_CTX
    - SSLCertContextType
    - shared_SSLMultiCertConfigParams
    - shared_ssl_ticket_key_block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: SSLCertContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SSLCertContext(shared_SSL_CTX sc, SSLCertContextType ctx_type,
      const shared_SSLMultiCertConfigParams &u,\n                 shared_ssl_ticket_key_block
      kb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ~SSLCertContext()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLCertContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: defaultContext
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLCertLookup.h
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *\n  defaultContext() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: TLSKeyLogger::TLSKeyLogger
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger(const TLSKeyLogger &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '&operator=(const TLSKeyLogger &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLSKeyLogger
    signature: TLSKeyLogger &operator=(const TLSKeyLogger &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close_keylog_file
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ~TLSKeyLogger()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached:
    - close_keylog_file
    linkageType: ''
    returnType: void
    signature: void ~TLSKeyLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: instance
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: TLSKeyLogger::ssl_keylog_cb
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached:
    - instance
    linkageType: ''
    returnType: void
    signature: void ssl_keylog_cb(const SSL * /* ssl ATS_UNUSED */, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: instance
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: TLSKeyLogger::is_enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 2
    functionsReached:
    - instance
    linkageType: ''
    returnType: bool
    signature: bool is_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: instance
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keylog_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: TLSKeyLogger::enable_keylogging
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 1
    functionsReached:
    - instance
    linkageType: ''
    returnType: void
    signature: void enable_keylogging(const char *keylog_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: instance
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: TLSKeyLogger::disable_keylogging
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 1
    functionsReached:
    - instance
    linkageType: ''
    returnType: void
    signature: void disable_keylogging()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: TLSKeyLogger::TLSKeyLogger
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSKeyLogger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSKeyLogger::TLSKeyLogger
      Src: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: "&\n  instance()"
    functionSourceFile: /src/trafficserver/src/iocore/net/P_TLSKeyLogger.h
    functionUses: 0
    functionsReached:
    - TLSKeyLogger::TLSKeyLogger
    linkageType: ''
    returnType: TLSKeyLogger
    signature: "TLSKeyLogger &\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: SSLNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNetProcessor(const SSLNetProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '&operator=(const SSLNetProcessor &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLNetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNetProcessor
    signature: SSLNetProcessor &operator=(const SSLNetProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/trafficserver/src/iocore/net/P_SSLConfig.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: ~SSLTicketParams() override
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLConfig.h
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void ~SSLTicketParams() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLTicketParams *>
      Src: /src/trafficserver/src/iocore/net/P_SSLConfig.h:242,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/P_SSLConfig.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLConfig.h
    functionUses: 40
    functionsReached:
    - get
    - static_cast<SSLTicketParams *>
    linkageType: ''
    returnType: SSLTicketParams
    signature: "SSLTicketParams *\n  acquire()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/iocore/net/P_SSLConfig.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - SSLTicketParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: release
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLConfig.h
    functionUses: 50
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void release(SSLTicketParams *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:46,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:46,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:46,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:52,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:53,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:56,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:59,1
    - Dst: getPortNum
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:59,1
    - Dst: is_ok
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:60,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: UnixUDPConnection::~UnixUDPConnection()
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc
    functionUses: 0
    functionsReached:
    - SList
    - UDPPacket*::free
    - is_ok
    - close
    - getPortNum
    - Dbg
    - pop
    - cancel
    - aq
    - popall
    linkageType: ''
    returnType: void
    signature: void UnixUDPConnection::~UnixUDPConnection()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:78,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:79,1
    - Dst: destroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:81,1
    - Dst: Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:82,1
    - Dst: SList
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:86,1
    - Dst: aq
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:86,1
    - Dst: popall
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:88,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:89,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:90,1
    - Dst: Queue::push
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:91,1
    - Dst: shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:94,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:95,1
    - Dst: Queue::dequeue
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:97,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:98,1
    - Dst: Release
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 104
    functionName: UnixUDPConnection::callbackHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - Queue::push
    - Queue::dequeue
    - Release
    - SList
    - UDPPacket*::free
    - destroy
    - Dbg
    - pop
    - Queue::Queue
    - aq
    - popall
    - shouldDestroy
    linkageType: ''
    returnType: int
    signature: int UnixUDPConnection::callbackHandler(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:109,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:110,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:111,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:111,1
    - Dst: UDPConnection::AddRef
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:113,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:116,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - c
    - t
    argTypes:
    - Continuation*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: UDPConnection::bindToThread
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc
    functionUses: 0
    functionsReached:
    - UDPConnection::AddRef
    - get_UDPNetHandler
    - push
    - static_cast<UnixUDPConnection *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UDPConnection::bindToThread(Continuation *c, EThread *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:122,1
    - Dst: UDPConnection::shouldDestroy
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:124,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:125,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:126,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:130,1
    - Dst: UDPPacket*::setContinuation
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:131,1
    - Dst: UDPPacket*::setConnection
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:132,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:134,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:137,1
    - Dst: UDPConnection::send
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - p
    argTypes:
    - Continuation*
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: UDPConnection::send
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc
    functionUses: 1
    functionsReached:
    - UDPConnection::send
    - UDPConnection::shouldDestroy
    - UDPPacket*::free
    - get_UDPNetHandler
    - UDPPacket*::setContinuation
    - static_cast<UnixUDPConnection *>
    - ink_assert
    - UDPPacket*::setConnection
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UDPConnection::send(Continuation *c, UDPPacket *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:144,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:146,1
    - Dst: UnixUDPConnection*::ep::stop
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:147,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:149,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:150,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:151,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:152,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: UDPConnection::Release
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixUDPConnection.cc
    functionUses: 0
    functionsReached:
    - UnixUDPConnection*::ep::stop
    - static_cast<UnixUDPConnection *>
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void UDPConnection::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:51,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: EchoServer::EchoServer
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void EchoServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:59,1
    - Dst: htonl
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:63,1
    - Dst: UDPBind
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:66,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:66,1
    - Dst: reinterpret_cast<sockaddr const *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: EchoServer::start
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr const *>
    - UDPBind
    - htonl
    - static_cast<Continuation *>
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int EchoServer::start(int, void *)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<UDPConnection *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:76,1
    - Dst: UDPConnection*::getPortNum
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:77,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:82,1
    - Dst: reinterpret_cast<Queue<UDPPacket> *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:87,1
    - Dst: Queue*::pop
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:90,1
    - Dst: UDPPacket*::getConnection
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:92,1
    - Dst: UDPConnection*::send
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:93,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:100,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:105,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:111,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:111,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: EchoServer::handle_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - write
    - schedule_in
    - ink_release_assert
    - UDPConnection*::send
    - std::exit
    - reinterpret_cast<UDPConnection *>
    - UDPPacket*::getConnection
    - reinterpret_cast<Queue<UDPPacket> *>
    - UDPConnection*::getPortNum
    - Queue*::pop
    linkageType: ''
    returnType: int
    signature: int EchoServer::handle_packet(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: signal_handler
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - std::exit
    linkageType: ''
    returnType: void
    signature: void signal_handler([[maybe_unused]] int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:131,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:132,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:134,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:135,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:137,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:138,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:139,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:140,1
    - Dst: signal
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:142,1
    - Dst: signal
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:143,1
    - Dst: EchoServer::EchoServer
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:145,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:146,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: udp_echo_server
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - schedule_in
    - RecProcessInit
    - EchoServer::EchoServer
    - init_diags
    - EThread::EThread
    - this_thread
    - signal
    - Thread*::set_specific
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void udp_echo_server()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:154,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:157,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:164,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:164,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:165,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:165,1
    - Dst: htonl
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:169,1
    - Dst: htons
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:170,1
    - Dst: sendto
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:172,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:172,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:175,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:176,1
    - Dst: recv
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:179,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:182,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:183,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 187
    functionName: udp_client
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - htons
    - std::exit
    - reinterpret_cast<struct sockaddr *>
    - setsockopt
    - close
    - recv
    - reinterpret_cast<char *>
    - htonl
    - sendto
    - socket
    linkageType: ''
    returnType: void
    signature: void udp_client(char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:195,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:198,1
    - Dst: fork
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:201,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:204,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:206,1
    - Dst: udp_echo_server
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:207,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:209,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:210,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:212,1
    - Dst: udp_client
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:214,1
    - Dst: kill
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:216,1
    - Dst: wait
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:218,1
    - Dst: WIFEXITED
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:220,1
    - Dst: WEXITSTATUS
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:220,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:221,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:221,1
    - Dst: std::exit
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 0
    functionsReached:
    - pipe
    - TestBox::check
    - fork
    - std::exit
    - close
    - read
    - udp_client
    - kill
    - udp_echo_server
    - WIFEXITED
    - strncmp
    - WEXITSTATUS
    - wait
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(UDPNet_echo)(RegressionTest *t, int /* atype ATS_UNUSED
      */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionTest::run
      Src: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/net/test_I_UDPNet.cc
    functionUses: 3
    functionsReached:
    - RegressionTest::run
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char ** /* argv ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: std::vector<ts::port_range_t>::begin
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: std::vector<ts::port_range_t>::end
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: contains
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - port_ranges
    - port
    argTypes:
    - std::vector<ts::port_range_t>
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: is_port_in_the_ranges
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - contains
    - std::any_of
    - std::vector<ts::port_range_t>::end
    - std::vector<ts::port_range_t>::begin
    linkageType: ''
    returnType: bool
    signature: bool is_port_in_the_ranges(const std::vector<ts::port_range_t> &port_ranges,
      in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: std::vector<ts::port_range_t>::begin
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: std::vector<ts::port_range_t>::end
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:58,1
    - Dst: contains
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - port_ranges
    - port
    argTypes:
    - std::vector<ts::port_range_t>
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: is_port_in_the_ranges
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - contains
    - std::any_of
    - std::vector<ts::port_range_t>::end
    - std::vector<ts::port_range_t>::begin
    linkageType: ''
    returnType: bool
    signature: bool is_port_in_the_ranges(const std::vector<ts::port_range_t> &port_ranges,
      in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - NamedElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: NamedElement::NamedElement
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void NamedElement::NamedElement(NamedElement &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:75,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - NamedElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: '&

      NamedElement::operator=(NamedElement &&other)'
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: NamedElement
    signature: 'NamedElement &

      NamedElement::operator=(NamedElement &&other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:86,1
    - Dst: std::string::replace
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:87,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:91,1
    - Dst: std::string::replace
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:94,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:94,1
    - Dst: NamedElement::set_regex_name
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: NamedElement::set_glob_name
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - Dbg
    - NamedElement::set_regex_name
    - std::string::replace
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void NamedElement::set_glob_name(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:101,1
    - Dst: compile
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - regex_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: NamedElement::set_regex_name
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - std::string::empty
    - compile
    linkageType: ''
    returnType: void
    signature: void NamedElement::set_regex_name(const std::string &regex_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match::exec
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - servername
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: SNIConfigParams::get_property_config
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - match::exec
    linkageType: ''
    returnType: NextHopProperty
    signature: 'NextHopProperty *

      SNIConfigParams::get_property_config(const std::string &servername) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:130,1
    - Dst: fqdn::data
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:130,1
    - Dst: ts::transform_lower
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:136,1
    - Dst: ats_wildcard_matcher::match
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:138,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:139,1
    - Dst: auto::set_glob_name
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:140,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:143,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:143,1
    - Dst: ActionElement
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:143,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:144,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:145,1
    - Dst: fqdn::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:145,1
    - Dst: populate_sni_actions
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:155,1
    - Dst: SNIConfigParams::set_next_hop_properties
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 162
    functionName: SNIConfigParams::load_sni_config
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - auto::set_glob_name
    - Error
    - std::make_pair
    - fqdn::data
    - emplace
    - ats_wildcard_matcher::match
    - Dbg
    - end
    - fqdn::c_str
    - SNIConfigParams::set_next_hop_properties
    - ActionElement
    - populate_sni_actions
    - ts::transform_lower
    linkageType: ''
    returnType: bool
    signature: bool SNIConfigParams::load_sni_config()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:167,1
    - Dst: SNIConfigParams::load_certs_if_client_cert_specified
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:168,1
    - Dst: auto::set_glob_name
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - item
    argTypes:
    - YamlSNIConfig::Item
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: SNIConfigParams::set_next_hop_properties
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - SNIConfigParams::load_certs_if_client_cert_specified
    - emplace_back
    - auto::set_glob_name
    linkageType: ''
    returnType: bool
    signature: bool SNIConfigParams::set_next_hop_properties(YamlSNIConfig::Item const
      &item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YamlSNIConfig::Item::client_cert::empty
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:182,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:184,1
    - Dst: YamlSNIConfig::Item::client_cert::data
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:184,1
    - Dst: YamlSNIConfig::Item::client_key::empty
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:185,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:186,1
    - Dst: YamlSNIConfig::Item::client_key::data
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:186,1
    - Dst: SSLConfig::scoped_config::getCTX
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:190,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - item
    - nps
    argTypes:
    - YamlSNIConfig::Item
    - NextHopItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: SNIConfigParams::load_certs_if_client_cert_specified
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - auto::get
    - YamlSNIConfig::Item::client_key::data
    - SSLConfig::scoped_config::getCTX
    - YamlSNIConfig::Item::client_key::empty
    - Layout::get
    - YamlSNIConfig::Item::client_cert::data
    - YamlSNIConfig::Item::client_cert::empty
    linkageType: ''
    returnType: bool
    signature: bool SNIConfigParams::load_certs_if_client_cert_specified(YamlSNIConfig::Item
      const &item, NextHopItem &nps)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ts::transform_lower
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:211,1
    - Dst: equal_range
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:215,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:215,1
    - Dst: is_port_in_the_ranges
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:217,1
    - Dst: RegexMatches::RegexMatches
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:230,1
    - Dst: match::empty
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:237,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:237,1
    - Dst: match::exec
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:239,1
    - Dst: is_port_in_the_ranges
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:240,1
    - Dst: RegexMatches::size
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:243,1
    - Dst: ActionItem::Context::CapturedGroupViewVec::reserve
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:249,1
    - Dst: RegexMatches::size
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:249,1
    - Dst: RegexMatches::size
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:250,1
    - Dst: ActionItem::Context::CapturedGroupViewVec::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:251,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:253,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - servername
    - dest_incoming_port
    argTypes:
    - std::string_view
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: SNIConfigParams::get
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - is_port_in_the_ranges
    - auto::first::c_str
    - ActionItem::Context::CapturedGroupViewVec::emplace_back
    - ActionItem::Context::CapturedGroupViewVec::reserve
    - std::string_view::length
    - RegexMatches::size
    - match::exec
    - match::empty
    - Dbg
    - RegexMatches::RegexMatches
    - equal_range
    - std::move
    - ts::transform_lower
    linkageType: ''
    returnType: std::pair<const ActionVector *, ActionItem::Context>
    signature: std::pair<const ActionVector *, ActionItem::Context> SNIConfigParams::get(std::string_view
      servername, in_port_t dest_incoming_port) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:267,1
    - Dst: SNIConfigParams::initialize
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: SNIConfigParams::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadConfigPath
    - SNIConfigParams::initialize
    linkageType: ''
    returnType: bool
    signature: bool SNIConfigParams::initialize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:274,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:274,1
    - Dst: stat
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:277,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:277,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:278,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:278,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:279,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:279,1
    - Dst: YamlSNIConfig::loader
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:285,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:286,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:289,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:290,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:290,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:292,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:292,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:292,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:296,1
    - Dst: SNIConfigParams::load_sni_config
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - sni_filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 299
    functionName: SNIConfigParams::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - Warning
    - stat
    - Error
    - auto::is_ok
    - SNIConfigParams::load_sni_config
    - YamlSNIConfig::loader
    - TSSystemState::is_initializing
    - std::move
    - Note
    - Emergency
    - std::stringstream::str
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool SNIConfigParams::initialize(std::string const &sni_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: SNIConfigParams::~SNIConfigParams()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SNIConfigParams::~SNIConfigParams()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SNIConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:315,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:316,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:317,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: SNIConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - RecConfigReadConfigPath
    - Fatal
    - SNIConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void SNIConfig::startup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:324,1
    - Dst: SNIConfigParams::SNIConfigParams
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:325,1
    - Dst: SNIConfigParams*::initialize
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:327,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:329,1
    - Dst: SNIConfig::on_reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:331,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:337,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:338,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:339,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:339,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:341,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: SNIConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadConfigPath
    - SNIConfigParams::SNIConfigParams
    - SNIConfigParams*::initialize
    - Error
    - Note
    - Dbg
    - set
    - TSSystemState::is_initializing
    - SNIConfig::on_reconfigure
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int SNIConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SNIConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:350,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: SNIConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<SNIConfigParams *>
    linkageType: ''
    returnType: SNIConfigParams
    signature: 'SNIConfigParams *

      SNIConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SNIConfig::release
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - SNIConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: SNIConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 1
    functionsReached:
    - SNIConfig::release
    linkageType: ''
    returnType: void
    signature: void SNIConfig::release(SNIConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: SNIConfig::set_on_reconfigure_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSNIConfig.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SNIConfig::set_on_reconfigure_callback(std::function<void()> cb)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:40,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:41,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:42,1
    - Dst: ERR_GET_REASON
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:49,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:51,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:54,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:57,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:60,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:63,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:66,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:69,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:72,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:75,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:78,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:81,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:84,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:88,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:93,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:98,1
    - Dst: ERR_GET_REASON
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:98,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:99,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 104
    functionName: increment_ssl_client_error
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDiags.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ERR_GET_REASON
    - ERR_GET_LIB
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: bool
    signature: bool increment_ssl_client_error(unsigned long err)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:113,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:114,1
    - Dst: ERR_GET_REASON
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:121,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:123,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:126,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:129,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:132,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:135,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:138,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:141,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:147,1
    - Dst: ERR_GET_REASON
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:147,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 153
    functionName: increment_ssl_server_error
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDiags.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ERR_GET_REASON
    - ERR_GET_LIB
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: bool
    signature: bool increment_ssl_server_error(unsigned long err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_error_description
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:216,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:224,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ssl_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: SSLErrorName
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDiags.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - countof
    - SSL_error_description
    linkageType: ''
    returnType: char
    signature: 'char *

      SSLErrorName(int ssl_error)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:236,1
    - Dst: putc
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:239,1
    - Dst: putc
      Src: /src/trafficserver/src/iocore/net/SSLDiags.cc:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - buflen
    - message
    argTypes:
    - char*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: SSLDebugBufferPrint_
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLDiags.cc
    functionUses: 0
    functionsReached:
    - putc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void SSLDebugBufferPrint_(const char *buffer, unsigned buflen, const
      char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: SSLSESSIONCACHE_STRINGIFY0
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLSESSIONCACHE_STRINGIFY0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SSLSESSIONCACHE_STRINGIFY
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLSESSIONCACHE_STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: PRINT_BUCKET
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_BUCKET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:56,1
    - Dst: SSLSessionBucket::SSLSessionBucket
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: SSLSessionCache::SSLSessionCache
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SSLSessionBucket::SSLSessionBucket
    linkageType: ''
    returnType: void
    signature: void SSLSessionCache::SSLSessionCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: SSLSessionCache::~SSLSessionCache()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSessionCache::~SSLSessionCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLSessionID::hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:70,1
    - Dst: SSLSessionBucket*::getSessionBuffer
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sid
    - buffer
    - len
    argTypes:
    - SSLSessionID
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: SSLSessionCache::getSessionBuffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - SSLSessionID::hash
    - SSLSessionBucket*::getSessionBuffer
    linkageType: ''
    returnType: int
    signature: int SSLSessionCache::getSessionBuffer(const SSLSessionID &sid, char
      *buffer, int &len) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLSessionID::hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:80,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:84,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:86,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:87,1
    - Dst: SSLSessionBucket*::getSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sid
    - sess
    - data
    argTypes:
    - SSLSessionID
    - SSL_SESSION**
    - ssl_session_cache_exdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: SSLSessionCache::getSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached:
    - SSLSessionID::toString
    - 'on'
    - DbgPrint
    - SSLSessionID::hash
    - SSLSessionBucket*::getSession
    linkageType: ''
    returnType: bool
    signature: bool SSLSessionCache::getSession(const SSLSessionID &sid, SSL_SESSION
      **sess, ssl_session_cache_exdata **data) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLSessionID::hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:97,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:101,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:103,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:104,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:108,1
    - Dst: SSLSessionBucket*::removeSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sid
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: SSLSessionCache::removeSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - SSLSessionBucket*::removeSession
    - ts::Metrics::Counter::increment
    - SSLSessionID::toString
    - 'on'
    - DbgPrint
    - SSLSessionID::hash
    linkageType: ''
    returnType: void
    signature: void SSLSessionCache::removeSession(const SSLSessionID &sid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLSessionID::hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:116,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:120,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:122,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:123,1
    - Dst: SSLSessionBucket*::insertSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sid
    - sess
    - ssl
    argTypes:
    - SSLSessionID
    - SSL_SESSION*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: SSLSessionCache::insertSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - SSLSessionID::toString
    - 'on'
    - SSLSessionBucket*::insertSession
    - DbgPrint
    - SSLSessionID::hash
    linkageType: ''
    returnType: void
    signature: void SSLSessionCache::insertSession(const SSLSessionID &sid, SSL_SESSION
      *sess, SSL *ssl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_lock::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:135,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:136,1
    - Dst: std::shared_lock::lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:140,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:144,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:144,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:148,1
    - Dst: i2d_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:150,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:152,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:153,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:158,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:160,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:161,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:167,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:167,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:168,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:168,1
    - Dst: Ptr::block_size
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:168,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:169,1
    - Dst: Ptr::data
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:169,1
    - Dst: i2d_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:170,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:171,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:171,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:172,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:172,1
    - Dst: Ptr::block_size
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:172,1
    - Dst: reinterpret_cast<ssl_session_cache_exdata *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:173,1
    - Dst: Ptr::data
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:173,1
    - Dst: SSLGetCurveNID
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:175,1
    - Dst: SSLSession::SSLSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:177,1
    - Dst: std::unique_lock::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:180,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:181,1
    - Dst: std::unique_lock::lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:185,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:188,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:189,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:190,1
    - Dst: SSLSessionBucket::removeOldestSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:191,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:195,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:196,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - id
    - sess
    - ssl
    argTypes:
    - SSLSessionID
    - SSL_SESSION*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 200
    functionName: SSLSessionBucket::insertSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - std::shared_lock::owns_lock
    - enqueue
    - size
    - std::unique_lock::owns_lock
    - ts::Metrics::Counter::increment
    - SSLSessionID::toString
    - std::shared_lock::unlock
    - reinterpret_cast<unsigned char *>
    - Ptr::block_size
    - Ptr::data
    - ink_release_assert
    - i2d_SSL_SESSION
    - find
    - PRINT_BUCKET
    - std::unique_ptr::release
    - end
    - Dbg
    - SSLSession::SSLSession
    - std::shared_lock::lock
    - static_cast<size_t>
    - reinterpret_cast<ssl_session_cache_exdata *>
    - 'on'
    - DbgPrint
    - std::unique_lock::lock
    - SSLGetCurveNID
    - buffer_size_to_index
    - new_IOBufferData
    - SSLSessionBucket::removeOldestSession
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::insertSession(const SSLSessionID &id, SSL_SESSION
      *sess, SSL *ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_lock::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:207,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:208,1
    - Dst: std::shared_lock::lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:212,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:215,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:216,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:218,1
    - Dst: auto::second::asn1_data::data
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:218,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - id
    - buffer
    - len
    argTypes:
    - SSLSessionID
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 226
    functionName: SSLSessionBucket::getSessionBuffer
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - memcpy
    - find
    - auto::second::asn1_data::data
    - std::shared_lock::owns_lock
    - end
    - std::shared_lock::lock
    - reinterpret_cast<const unsigned char *>
    linkageType: ''
    returnType: int
    signature: int SSLSessionBucket::getSessionBuffer(const SSLSessionID &id, char
      *buffer, int &len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:233,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:234,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:237,1
    - Dst: std::shared_lock::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:240,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:241,1
    - Dst: std::shared_lock::lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:245,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:248,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:250,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:251,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:252,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:255,1
    - Dst: auto::second::asn1_data::data
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:255,1
    - Dst: d2i_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:256,1
    - Dst: reinterpret_cast<ssl_session_cache_exdata *>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:258,1
    - Dst: auto::second::extra_data::data
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - id
    - sess
    - data
    argTypes:
    - SSLSessionID
    - SSL_SESSION**
    - ssl_session_cache_exdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 262
    functionName: SSLSessionBucket::getSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - SSLSessionID::toString
    - 'on'
    - PRINT_BUCKET
    - find
    - d2i_SSL_SESSION
    - auto::second::asn1_data::data
    - std::shared_lock::owns_lock
    - end
    - Dbg
    - std::shared_lock::lock
    - reinterpret_cast<const unsigned char *>
    - auto::second::extra_data::data
    - reinterpret_cast<ssl_session_cache_exdata *>
    linkageType: ''
    returnType: bool
    signature: bool SSLSessionBucket::getSession(const SSLSessionID &id, SSL_SESSION
      **sess, ssl_session_cache_exdata **data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:267,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:271,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:272,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:272,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:273,1
    - Dst: second::session_id::toString
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:277,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ref_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: SSLSessionBucket::print
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - size
    - 'on'
    - second::session_id::toString
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::print(const char *ref_str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:285,1
    - Dst: std::unique_lock<ts::shared_mutex>::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:285,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:287,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:289,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:290,1
    - Dst: erase
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:291,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - std::unique_lock<ts::shared_mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: SSLSessionBucket::removeOldestSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - erase
    - PRINT_BUCKET
    - pop
    - std::unique_lock<ts::shared_mutex>::owns_lock
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::removeOldestSession(const std::unique_lock<ts::shared_mutex>
      &lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:304,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:306,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:307,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:309,1
    - Dst: erase
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:310,1
    - Dst: PRINT_BUCKET
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: SSLSessionBucket::removeSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - erase
    - PRINT_BUCKET
    - find
    - remove
    - end
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::removeSession(const SSLSessionID &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _p
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: SSLSessDeleter
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: void
    signature: void SSLSessDeleter(SSL_SESSION *_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: SSLSessionBucket::SSLSessionBucket
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::SSLSessionBucket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: SSLSessionBucket::~SSLSessionBucket()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSessionBucket::~SSLSessionBucket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: SSLOriginSessionCache::SSLOriginSessionCache
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLOriginSessionCache::SSLOriginSessionCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: SSLOriginSessionCache::~SSLOriginSessionCache()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLOriginSessionCache::~SSLOriginSessionCache()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:338,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:341,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:342,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:346,1
    - Dst: SSLSessionDup
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:351,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:353,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:353,1
    - Dst: SSLGetCurveNID
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:355,1
    - Dst: SSLOriginSession::SSLOriginSession
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:357,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:358,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:361,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:364,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:364,1
    - Dst: auto::shared_sess::get
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:365,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:366,1
    - Dst: erase
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:367,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:369,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:370,1
    - Dst: SSLOriginSessionCache::remove_oldest_session
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:371,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - lookup_key
    - sess
    - ssl
    argTypes:
    - std::string
    - SSL_SESSION*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 376
    functionName: SSLOriginSessionCache::insert_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - SSLOriginSessionCache::remove_oldest_session
    - i2d_SSL_SESSION
    - erase
    - SSLSessionDup
    - std::unique_ptr::release
    - find
    - remove
    - enqueue
    - end
    - Dbg
    - SSLGetCurveNID
    - SSLOriginSession::SSLOriginSession
    - auto::shared_sess::get
    - static_cast<size_t>
    - size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SSLOriginSessionCache::insert_session(const std::string &lookup_key,
      SSL_SESSION *sess, SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:381,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:381,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:384,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lookup_key
    - curve
    argTypes:
    - std::string
    - ssl_curve_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: SSLOriginSessionCache::get_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - find
    - Dbg
    - std::string::c_str
    - end
    linkageType: ''
    returnType: std::shared_ptr<SSL_SESSION>
    signature: std::shared_ptr<SSL_SESSION> SSLOriginSessionCache::get_session(const
      std::string &lookup_key, ssl_curve_id *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:400,1
    - Dst: std::unique_lock<ts::shared_mutex>::owns_lock
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:400,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:402,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:403,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:404,1
    - Dst: auto::key::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:404,1
    - Dst: auto::shared_sess::get
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:404,1
    - Dst: erase
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - std::unique_lock<ts::shared_mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: SSLOriginSessionCache::remove_oldest_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - erase
    - Dbg
    - pop
    - auto::key::c_str
    - auto::shared_sess::get
    - std::unique_lock<ts::shared_mutex>::owns_lock
    linkageType: ''
    returnType: void
    signature: void SSLOriginSessionCache::remove_oldest_session(const std::unique_lock<ts::shared_mutex>
      &lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:415,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:416,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:418,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:418,1
    - Dst: auto::shared_sess::get
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:418,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:419,1
    - Dst: erase
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.cc:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lookup_key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: SSLOriginSessionCache::remove_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.cc
    functionUses: 0
    functionsReached:
    - erase
    - find
    - remove
    - end
    - Dbg
    - auto::shared_sess::get
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SSLOriginSessionCache::remove_session(const std::string &lookup_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetHandler *>
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:57,1
    - Dst: ETHREAD_GET_PTR
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: get_NetHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 21
    functionsReached:
    - ETHREAD_GET_PTR
    - static_cast<NetHandler *>
    linkageType: ''
    returnType: NetHandler
    signature: 'NetHandler *

      get_NetHandler(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PollCont *>
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:63,1
    - Dst: ETHREAD_GET_PTR
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: get_PollCont
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 2
    functionsReached:
    - ETHREAD_GET_PTR
    - static_cast<PollCont *>
    linkageType: ''
    returnType: PollCont
    signature: 'PollCont *

      get_PollCont(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_PollCont
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: get_PollDescriptor
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 5
    functionsReached:
    - get_PollCont
    linkageType: ''
    returnType: PollDescriptor
    signature: 'PollDescriptor *

      get_PollDescriptor(EThread *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:79,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: InactivityCop::InactivityCop
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void InactivityCop(Ptr<ProxyMutex> &m)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:84,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:85,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:85,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:87,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:87,1
    - Dst: NetHandler::cop_list::pop
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:90,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:92,1
    - Dst: NetEvent*::get_mutex
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:92,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:92,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:93,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:94,1
    - Dst: NetHandler::free_netevent
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:99,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:106,1
    - Dst: NetEvent*::set_default_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:109,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:116,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:119,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:121,1
    - Dst: NetEvent*::is_default_inactivity_timeout
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:125,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:127,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:128,1
    - Dst: NetHandler::keep_alive_queue::in
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:130,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:133,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:136,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:137,1
    - Dst: NetEvent*::callback
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:138,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:140,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:141,1
    - Dst: NetEvent*::callback
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:142,1
    - Dst: forl_LL
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:147,1
    - Dst: NetEvent*::get_thread
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:149,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:149,1
    - Dst: NetHandler::cop_list::push
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:150,1
    - Dst: NetHandler::manage_active_queue
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:159,1
    - Dst: NetHandler::manage_keep_alive_queue
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 163
    functionName: InactivityCop::check_inactivity
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 0
    functionsReached:
    - NetHandler::manage_keep_alive_queue
    - get_NetHandler
    - NetEvent*::set_default_inactivity_timeout
    - ink_hrtime_to_sec
    - NetHandler::cop_list::push
    - this_ethread
    - NetHandler::cop_list::pop
    - NetEvent*::get_thread
    - NetHandler::free_netevent
    - ts::Metrics::Counter::increment
    - is_locked
    - NetHandler::keep_alive_queue::in
    - NetEvent*::is_default_inactivity_timeout
    - MUTEX_TRY_LOCK
    - Dbg
    - NetEvent*::get_mutex
    - ink_get_hrtime
    - HRTIME_SECONDS
    - forl_LL
    - NetHandler::manage_active_queue
    - NetEvent*::callback
    linkageType: ''
    returnType: int
    signature: int check_inactivity(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:169,1
    - Dst: reinterpret_cast<ink_dummy_for_new *>
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:171,1
    - Dst: NetHandler::NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:171,1
    - Dst: reinterpret_cast<ink_dummy_for_new *>
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:172,1
    - Dst: get_PollCont
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:172,1
    - Dst: PollCont::PollCont
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:172,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:173,1
    - Dst: get_PollCont
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:176,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:179,1
    - Dst: InactivityCop::InactivityCop
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:179,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:182,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:183,1
    - Dst: NetHandler*::configure_per_thread_values
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:184,1
    - Dst: EThread*::schedule_every
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:185,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:185,1
    - Dst: EThread*::set_tail_handler
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:187,1
    - Dst: IOUringEventIO::IOUringEventIO
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:191,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:192,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:192,1
    - Dst: AsyncSignalEventIO::AsyncSignalEventIO
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:194,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:195,1
    - Dst: AsyncSignalEventIO::AsyncSignalEventIO
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:198,1
    - Dst: auto::start
      Src: /src/trafficserver/src/iocore/net/UnixNet.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 202
    functionName: initialize_thread_for_net
    functionSourceFile: /src/trafficserver/src/iocore/net/UnixNet.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - PollCont::PollCont
    - get_NetHandler
    - InactivityCop::InactivityCop
    - EThread*::set_tail_handler
    - auto::start
    - AsyncSignalEventIO::AsyncSignalEventIO
    - HRTIME_SECONDS
    - new_ProxyMutex
    - NetHandler*::configure_per_thread_values
    - IOUringContext::local_context
    - reinterpret_cast<ink_dummy_for_new *>
    - IOUringEventIO::IOUringEventIO
    - RecGetRecordInt
    - EThread*::schedule_every
    - get_PollCont
    - NetHandler::NetHandler
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_net(EThread *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICCertConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: QUICCertConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 1
    functionsReached:
    - QUICCertConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void QUICCertConfig::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertLookup::SSLCertLookup
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:44,1
    - Dst: QUICMultiCertConfigLoader::load
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:47,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: QUICCertConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 1
    functionsReached:
    - SSLCertLookup::SSLCertLookup
    - QUICMultiCertConfigLoader::load
    - set
    linkageType: ''
    returnType: void
    signature: void QUICCertConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLCertLookup *>
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:55,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: QUICCertConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached:
    - static_cast<SSLCertLookup *>
    - get
    linkageType: ''
    returnType: SSLCertLookup
    signature: 'SSLCertLookup *

      QUICCertConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICCertConfig::release
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - SSLCertLookup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: QUICCertConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 1
    functionsReached:
    - QUICCertConfig::release
    linkageType: ''
    returnType: void
    signature: void QUICCertConfig::release(SSLCertLookup *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_new_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: QUICMultiCertConfigLoader::default_server_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached:
    - quic_new_ssl_ctx
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      QUICMultiCertConfigLoader::default_server_ssl_ctx()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: QUICMultiCertConfigLoader::_setup_session_cache
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICMultiCertConfigLoader::_setup_session_cache(SSL_CTX * /* ctx
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: QUICMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions(SSL_CTX
      * /* ctx ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: QUICMultiCertConfigLoader::_set_info_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICMultiCertConfigLoader::_set_info_callback(SSL_CTX * /* ctx
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: QUICMultiCertConfigLoader::_set_npn_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICMultiCertConfigLoader::_set_npn_callback(SSL_CTX * /* ctx
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: QUICMultiCertConfigLoader::_debug_tag
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICMultiCertConfigLoader.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICMultiCertConfigLoader::_debug_tag() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:39,1
    - Dst: SNIConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:40,1
    - Dst: SSLCertificateConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:41,1
    - Dst: QUICCertConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: SSLClientCoordinator::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc
    functionUses: 0
    functionsReached:
    - SSLCertificateConfig::reconfigure
    - SNIConfig::reconfigure
    - QUICCertConfig::reconfigure
    - SSLConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void SSLClientCoordinator::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:53,1
    - Dst: ConfigUpdateHandler<SSLClientCoordinator>::ConfigUpdateHandler<SSLClientCoordinator>
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:53,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:54,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:55,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:56,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:57,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:58,1
    - Dst: SSLConfig::startup
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:59,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:60,1
    - Dst: SNIConfig::startup
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:61,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:62,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:63,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:64,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:65,1
    - Dst: attach
      Src: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: SSLClientCoordinator::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLClientCoordinator.cc
    functionUses: 1
    functionsReached:
    - SSLConfig::startup
    - SNIConfig::startup
    - reset
    - ConfigUpdateHandler<SSLClientCoordinator>::ConfigUpdateHandler<SSLClientCoordinator>
    - attach
    linkageType: ''
    returnType: void
    signature: void SSLClientCoordinator::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: socks_conf_struct
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Socks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socks_conf_struct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (**)(void)>
      Src: /src/trafficserver/src/iocore/net/P_Socks.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - arg1
    - arg2
    argTypes:
    - SocksAuthHandler
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: invokeSocksAuthHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Socks.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<void (**)(void)>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE invokeSocksAuthHandler(SocksAuthHandler &h, int arg1, unsigned
      char *arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/P_Socks.h:121,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/P_Socks.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: SocksEntry
    functionSourceFile: /src/trafficserver/src/iocore/net/P_Socks.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void SocksEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:56,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:57,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:58,1
    - Dst: kqueue
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:61,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: PollDescriptor
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 10
    functionsReached:
    - memset
    - kqueue
    - epoll_create
    linkageType: ''
    returnType: void
    signature: void PollDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:69,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: ~PollDescriptor()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~PollDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: get_ev_port
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_port(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: get_ev_events
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_events(a, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: get_ev_data
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_data(a, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: get_ev_port
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_port(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: get_ev_events
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_events(a, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: get_ev_data
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ev_data(a, x)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - flags
    argTypes:
    - int16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: kq_event_convert
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int kq_event_convert(int16_t event, uint16_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: alloc
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixPollDescriptor.h
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: Pollfd
    signature: "Pollfd *\n  alloc()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: SSLSecret::SSLSecret
    functionSourceFile: /src/trafficserver/src/iocore/net/P_SSLSecret.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSecret()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: QUICPacketHandlerOut::QUICPacketHandlerOut
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICPacketHandler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~QUICPacketHandlerOut()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICPacketHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICPacketHandlerOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: QUICDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dcid
    - ','
    - scid
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: QUICPHDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICPHDebug(dcid, scid, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dcid
    - ','
    - scid
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: QUICVPHDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICVPHDebug(dcid, scid, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<QUICClosedConCollector>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:57,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: QUICPacketHandler::QUICPacketHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    - std::make_unique<QUICClosedConCollector>
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandler::QUICPacketHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICPacketHandler::_collector_event::cancel
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: QUICPacketHandler::~QUICPacketHandler()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - QUICPacketHandler::_collector_event::cancel
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandler::~QUICPacketHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:72,1
    - Dst: QUICPacketHandler::_closed_con_collector::closedQueue::push
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - QUICNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: QUICPacketHandler::close_connection
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_swap
    - QUICPacketHandler::_closed_con_collector::closedQueue::push
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandler::close_connection(QUICNetVConnection *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket::new_UDPPacket
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:82,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:84,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:86,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:87,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:89,1
    - Dst: Ptr<IOBufferBlock>::buf
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:89,1
    - Dst: Ptr<IOBufferBlock>::size
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:90,1
    - Dst: QUICInvariants::dcid
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:92,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:93,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:96,1
    - Dst: QUICInvariants::scid
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:97,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:98,1
    - Dst: QUICVPHDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:102,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:102,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:103,1
    - Dst: UDPConnection*::getPortNum
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:103,1
    - Dst: UDPConnection*::send
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:106,1
    - Dst: QUICPacketHandler::_get_continuation
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:106,1
    - Dst: get_UDPNetHandler
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:107,1
    - Dst: static_cast<UnixUDPConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - udp_con
    - addr
    - udp_payload
    - segment_size
    - send_at_hint
    argTypes:
    - UDPConnection*
    - IpEndpoint
    - Ptr<IOBufferBlock>
    - uint16_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 108
    functionName: QUICPacketHandler::send_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - QUICInvariants::dcid
    - QUICInvariants::scid
    - 'on'
    - Ptr<IOBufferBlock>::buf
    - UDPConnection*::send
    - Ptr<IOBufferBlock>::size
    - get_UDPNetHandler
    - QUICInvariants::is_long_header
    - ats_ip_nptop
    - reinterpret_cast<uint8_t *>
    - UDPPacket::new_UDPPacket
    - QUICVPHDebug
    - UDPConnection*::getPortNum
    - QUICConnectionId::ZERO
    - QUICPacketHandler::_get_continuation
    - static_cast<UnixUDPConnection *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void QUICPacketHandler::send_packet(UDPConnection *udp_con, IpEndpoint
      &addr, Ptr<IOBufferBlock> udp_payload, uint16_t segment_size,\n                               struct
      timespec *send_at_hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opt
    - ctable
    - config
    argTypes:
    - NetProcessor::AcceptOptions
    - QUICConnectionTable
    - quiche_config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: QUICPacketHandlerIn::QUICPacketHandlerIn
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 1
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerIn::QUICPacketHandlerIn(const NetProcessor::AcceptOptions
      &opt, QUICConnectionTable &ctable, quiche_config &config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: QUICPacketHandlerIn::~QUICPacketHandlerIn()
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerIn::~QUICPacketHandlerIn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: QUICPacketHandlerIn::getNetProcessor
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: 'NetProcessor *

      QUICPacketHandlerIn::getNetProcessor() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICPacketHandlerIn::QUICPacketHandlerIn
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: QUICPacketHandlerIn::clone
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - QUICPacketHandlerIn::QUICPacketHandlerIn
    linkageType: ''
    returnType: NetAccept
    signature: 'NetAccept *

      QUICPacketHandlerIn::clone() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:137,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:139,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:140,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:147,1
    - Dst: QUICPacketHandlerIn::_closed_con_collector::get
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:147,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:147,1
    - Dst: static_cast<Queue<UDPPacket> *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:150,1
    - Dst: Queue*::dequeue
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:152,1
    - Dst: QUICPacketHandlerIn::_recv_packet
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:153,1
    - Dst: QUICPacketHandlerIn::setThreadAffinity
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:157,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:157,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:158,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:158,1
    - Dst: UDPBind
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:159,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:159,1
    - Dst: reinterpret_cast<long>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:166,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:168,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:168,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 170
    functionName: QUICPacketHandlerIn::acceptEvent
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - QUICPacketHandlerIn::_recv_packet
    - reinterpret_cast<intptr_t>
    - QUICPacketHandlerIn::_closed_con_collector::get
    - ink_abort
    - QUICPacketHandlerIn::setThreadAffinity
    - HRTIME_MSECONDS
    - SCOPED_MUTEX_LOCK
    - Queue*::dequeue
    - UDPBind
    - static_cast<Queue<UDPPacket> *>
    - reinterpret_cast<long>
    - this_ethread
    - static_cast<Continuation *>
    linkageType: ''
    returnType: int
    signature: int QUICPacketHandlerIn::acceptEvent(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: QUICPacketHandlerIn::_get_continuation
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      QUICPacketHandlerIn::_get_continuation()'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UDPPacket*::get_entire_chain_buffer
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:198,1
    - Dst: quiche_header_info
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:211,1
    - Dst: QUICDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:214,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:215,1
    - Dst: QUICDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:220,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:221,1
    - Dst: QUICPacketHandlerIn::_ctable::lookup
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:224,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:224,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:225,1
    - Dst: quiche_version_is_supported
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:229,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:231,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:231,1
    - Dst: QUICPHDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:232,1
    - Dst: QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:232,1
    - Dst: QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:232,1
    - Dst: quiche_negotiate_version
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:233,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:233,1
    - Dst: Ptr::end
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:233,1
    - Dst: Ptr::write_avail
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:234,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:235,1
    - Dst: QUICPacketHandlerIn::send_packet
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:236,1
    - Dst: UDPPacket*::getConnection
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:236,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:237,1
    - Dst: QUICConfig::scoped_config::stateless_retry
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:242,1
    - Dst: QUICConnectionId::QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:243,1
    - Dst: QUICConnectionId::randomize
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:244,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:247,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:251,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:251,1
    - Dst: quiche_retry
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:253,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:253,1
    - Dst: QUICRetryToken::buf
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:253,1
    - Dst: QUICRetryToken::length
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:253,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:254,1
    - Dst: Ptr::end
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:254,1
    - Dst: Ptr::write_avail
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:254,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:255,1
    - Dst: QUICPacketHandlerIn::send_packet
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:256,1
    - Dst: UDPPacket*::getConnection
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:256,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:258,1
    - Dst: Connection::Connection
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:263,1
    - Dst: Connection::setRemote
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:264,1
    - Dst: assign_thread
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:266,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:267,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:268,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:270,1
    - Dst: QUICPHDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:271,1
    - Dst: QUICConnectionId::hex
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:271,1
    - Dst: QUICConfig::scoped_config::stateless_retry
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:275,1
    - Dst: QUICRetryToken::is_valid
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:275,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:276,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:277,1
    - Dst: QUICConnectionId::QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:281,1
    - Dst: SSL_new
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:284,1
    - Dst: QUICCertConfig::scoped_config::defaultContext
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:284,1
    - Dst: quiche_conn_new_with_tls
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:286,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:287,1
    - Dst: QUICRetryToken::original_dcid
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:287,1
    - Dst: QUICRetryToken::original_dcid
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:287,1
    - Dst: UDPPacket*::to::isIp4
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:288,1
    - Dst: UDPPacket*::from::isIp4
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:289,1
    - Dst: QUICConfig::scoped_config::get_qlog_file_base_name
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:291,1
    - Dst: quiche_conn_trace_id
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:295,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:297,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:297,1
    - Dst: QUICConfig::scoped_config::get_qlog_file_base_name
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:297,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:298,1
    - Dst: quiche_conn_set_qlog_path
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:299,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:299,1
    - Dst: QUICDebug
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:300,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:300,1
    - Dst: static_cast<QUICNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:304,1
    - Dst: QUICPacketHandlerIn::getNetProcessor
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:304,1
    - Dst: QUICNetVConnection*::init
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:308,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:308,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:308,1
    - Dst: UDPPacket*::getConnection
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:308,1
    - Dst: net_next_connection_number
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:310,1
    - Dst: QUICNetVConnection*::con::move
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:311,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:312,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:314,1
    - Dst: QUICNetVConnection*::set_is_transparent
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:316,1
    - Dst: QUICNetVConnection*::set_context
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:317,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:320,1
    - Dst: UDPPacket*::free
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:324,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:329,1
    - Dst: QUICPollEvent*::init
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:330,1
    - Dst: static_cast<UDPPacket *>
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:330,1
    - Dst: get_QUICPollCont
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:332,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:332,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc:333,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 1
    argNames:
    - udp_packet
    argTypes:
    - UDPPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 336
    functionName: QUICPacketHandlerIn::_recv_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 1
    functionsReached:
    - QUICConfig::scoped_config::get_qlog_file_base_name
    - QUICRetryToken::is_valid
    - get_NetHandler
    - static_cast<QUICNetVConnection *>
    - UDPPacket*::getConnection
    - Connection::Connection
    - QUICConnectionId::randomize
    - new_ProxyMutex
    - get_QUICPollCont
    - Ptr::alloc
    - assign_thread
    - quiche_conn_new_with_tls
    - alloc
    - QUICConnectionId::length
    - fprintf
    - static_cast<UDPPacket *>
    - Ptr::write_avail
    - QUICPollEvent*::init
    - UDPPacket*::free
    - Ptr::end
    - quiche_conn_trace_id
    - quiche_header_info
    - quiche_version_is_supported
    - QUICConnectionId::QUICConnectionId
    - QUICConnectionId::hex
    - static_cast<uint8_t>
    - QUICConnectionId::ZERO
    - iobuffer_size_to_index
    - EThread*::schedule_imm
    - net_next_connection_number
    - QUICNetVConnection*::set_is_transparent
    - SSL_new
    - QUICPacketHandlerIn::_ctable::lookup
    - swoc::LocalBufferWriter::print
    - QUICDebug
    - reinterpret_cast<uint8_t *>
    - UDPPacket*::to::isIp4
    - UDPPacket*::from::isIp4
    - UDPPacket*::get_entire_chain_buffer
    - QUICRetryToken::length
    - Connection::setRemote
    - Layout::get
    - QUICRetryToken::buf
    - quiche_negotiate_version
    - QUICConnectionId
    - QUICPacketHandlerIn::send_packet
    - quiche_retry
    - ink_get_hrtime
    - QUICPHDebug
    - QUICRetryToken::original_dcid
    - Ptr::fill
    - QUICNetVConnection*::con::move
    - 'on'
    - QUICNetVConnection*::set_context
    - reinterpret_cast<const char *>
    - QUICConfig::scoped_config::stateless_retry
    - swoc::LocalBufferWriter::data
    - push
    - QUICCertConfig::scoped_config::defaultContext
    - QUICPacketHandlerIn::getNetProcessor
    - QUICNetVConnection*::init
    - quiche_conn_set_qlog_path
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerIn::_recv_packet(int /* event ATS_UNUSED */,
      UDPPacket *udp_packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: QUICPacketHandlerOut::init
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerOut::init(QUICNetVConnection * /* vc ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: QUICPacketHandlerOut::_get_continuation
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      QUICPacketHandlerOut::_get_continuation()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: QUICPacketHandlerOut::_recv_packet
    functionSourceFile: /src/trafficserver/src/iocore/net/QUICPacketHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPacketHandlerOut::_recv_packet(int /* event ATS_UNUSED */,
      UDPPacket * /* udp_packet ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - hash
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: hash_combine
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_combine(uint64_t &seed, uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:54,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:55,1
    - Dst: hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: SSLSessionID
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached:
    - hash
    - memcpy
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void SSLSessionID(const unsigned char *s, size_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:62,1
    - Dst: hash
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: SSLSessionID
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached:
    - hash
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SSLSessionID(const SSLSessionID &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: operator<(const SSLSessionID &other) const
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const SSLSessionID &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: "&\n  operator=(const SSLSessionID &other)"
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: SSLSessionID
    signature: "SSLSessionID &\n  operator=(const SSLSessionID &other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SSLSessionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: operator==(const SSLSessionID &other) const
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SSLSessionID &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:107,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: toString
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 10
    functionsReached:
    - static_cast<unsigned char>
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\n  toString(char *buf, size_t buflen) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_combine
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:126,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:126,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: hash
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64_t>
    - hash_combine
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - ssl_asn1_data
    - len_asn1
    - exdata
    argTypes:
    - SSLSessionID
    - Ptr<IOBufferData>
    - size_t
    - Ptr<IOBufferData>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: SSLSession::SSLSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSession(const SSLSessionID &id, const Ptr<IOBufferData> &ssl_asn1_data,
      size_t len_asn1, Ptr<IOBufferData> &exdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: SSLSessionCache::SSLSessionCache
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLSessionCache(const SSLSessionCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '&operator=(const SSLSessionCache &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLSessionCache
    signature: SSLSessionCache &operator=(const SSLSessionCache &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLSessionCache.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - lookup_key
    - curve
    - session
    argTypes:
    - std::string
    - ssl_curve_id
    - std::shared_ptr<SSL_SESSION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: SSLOriginSession::SSLOriginSession
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLSessionCache.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLOriginSession(const std::string &lookup_key, ssl_curve_id curve,
      std::shared_ptr<SSL_SESSION> session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:40,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: TLSTunnelSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSTunnelSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSTunnelSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:49,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: TLSTunnelSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 1
    functionsReached:
    - static_cast<TLSTunnelSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSTunnelSupport
    signature: 'TLSTunnelSupport *

      TLSTunnelSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - srs
    argTypes:
    - SSL*
    - TLSTunnelSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TLSTunnelSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSTunnelSupport::bind(SSL *ssl, TLSTunnelSupport *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TLSTunnelSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSTunnelSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: TLSTunnelSupport::_clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSTunnelSupport::_clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:77,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:78,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:81,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:81,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - destination
    - type
    - port_is_dynamic
    - prewarm
    argTypes:
    - std::string_view
    - SNIRoutingType
    - bool
    - YamlSNIConfig::TunnelPreWarm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: TLSTunnelSupport::set_tunnel_destination
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - Warning
    - std::string_view::size
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void TLSTunnelSupport::set_tunnel_destination(const std::string_view
      &destination, SNIRoutingType type, bool port_is_dynamic,\n                                         YamlSNIConfig::TunnelPreWarm
      prewarm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const PreWarm::Dst>
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:88,1
    - Dst: TLSTunnelSupport::get_tunnel_host
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:88,1
    - Dst: TLSTunnelSupport::get_tunnel_port
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:88,1
    - Dst: TLSTunnelSupport::is_upstream_tls
      Src: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: TLSTunnelSupport::create_dst
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSTunnelSupport.cc
    functionUses: 0
    functionsReached:
    - TLSTunnelSupport::get_tunnel_host
    - std::make_shared<const PreWarm::Dst>
    - TLSTunnelSupport::get_tunnel_port
    - TLSTunnelSupport::is_upstream_tls
    linkageType: ''
    returnType: PreWarm::SPtrConstDst
    signature: PreWarm::SPtrConstDst TLSTunnelSupport::create_dst(int pid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: UnixNetVConnection::UnixNetVConnection
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection(const NetVConnection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '&operator=(const NetVConnection &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnixNetVConnection
    signature: UnixNetVConnection &operator=(const NetVConnection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - event
    - err
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: UnixNetVConnection::sslStartHandShake
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sslStartHandShake(int event, int &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: UnixNetVConnection::getSSLHandShakeComplete
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSSLHandShakeComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: UnixNetVConnection::trackFirstHandshake
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool trackFirstHandshake()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::con::close
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: UnixNetVConnection::close
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached:
    - UnixNetVConnection::con::close
    linkageType: ''
    returnType: int
    signature: int close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::con::sock::get_fd
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: UnixNetVConnection::get_fd
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::con::sock::get_fd
    linkageType: ''
    returnType: int
    signature: int get_fd() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: UnixNetVConnection::get_thread
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: "EThread *\n  get_thread() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::handleEvent
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: UnixNetVConnection::callback
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::handleEvent
    linkageType: ''
    returnType: int
    signature: int callback(int event = CONTINUATION_EVENT_NONE, void *data = nullptr)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: "&\n  get_mutex() override"
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<ProxyMutex>
    signature: "Ptr<ProxyMutex> &\n  get_mutex() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: "&\n  get_control_flags() override"
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ContFlags
    signature: "ContFlags &\n  get_control_flags() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: UnixNetVConnection::is_tunnel_endpoint
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_tunnel_endpoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:271,1
    - Dst: UnixNetVConnection::control_flags::set_flag
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:272,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:272,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:273,1
    - Dst: get_control_flags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: UnixNetVConnection::set_remote_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - get_control_flags
    - ats_ip_copy
    - set_cont_flags
    - diags
    - UnixNetVConnection::control_flags::set_flag
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_remote_addr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:279,1
    - Dst: UnixNetVConnection::control_flags::set_flag
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:280,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:280,1
    - Dst: set_cont_flags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:281,1
    - Dst: get_control_flags
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: UnixNetVConnection::set_remote_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - get_control_flags
    - ats_ip_copy
    - set_cont_flags
    - diags
    - UnixNetVConnection::control_flags::set_flag
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_remote_addr(const sockaddr *new_sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:291,1
    - Dst: safe_getsockname
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:291,1
    - Dst: UnixNetVConnection::get_fd
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: UnixNetVConnection::set_local_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached:
    - safe_getsockname
    - ATS_UNUSED_RETURN
    - UnixNetVConnection::get_fd
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_local_addr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:302,1
    - Dst: safe_getsockopt
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:303,1
    - Dst: UnixNetVConnection::get_fd
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:303,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:305,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:312,1
    - Dst: UnixNetVConnection::get_fd
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:312,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: UnixNetVConnection::set_mptcp_state
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - Dbg
    - safe_getsockopt
    - strerror
    - UnixNetVConnection::get_fd
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_mptcp_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: UnixNetVConnection::get_active_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime UnixNetVConnection::get_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: UnixNetVConnection::get_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime UnixNetVConnection::get_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:332,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: UnixNetVConnection::set_active_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 1
    functionsReached:
    - Dbg
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: UnixNetVConnection::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::cancel_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: UnixNetVConnection::cancel_active_timeout
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::cancel_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::release_inbound_connection_tracking
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: UnixNetVConnection::~UnixNetVConnection()
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::release_inbound_connection_tracking
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::~UnixNetVConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixNetVConnection::get_fd
      Src: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: UnixNetVConnection::get_socket
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached:
    - UnixNetVConnection::get_fd
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET UnixNetVConnection::get_socket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: UnixNetVConnection::set_action
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnixNetVConnection::set_action(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: UnixNetVConnection::get_action
    functionSourceFile: /src/trafficserver/src/iocore/net/P_UnixNetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Action
    signature: 'Action *

      UnixNetVConnection::get_action() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:38,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: TLSCertSwitchSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSCertSwitchSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSCertSwitchSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:47,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: TLSCertSwitchSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 0
    functionsReached:
    - static_cast<TLSCertSwitchSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSCertSwitchSupport
    signature: 'TLSCertSwitchSupport *

      TLSCertSwitchSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - tcss
    argTypes:
    - SSL*
    - TLSCertSwitchSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: TLSCertSwitchSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSCertSwitchSupport::bind(SSL *ssl, TLSCertSwitchSupport *tcss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: TLSCertSwitchSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSCertSwitchSupport::unbind(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: TLSCertSwitchSupport::_clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSCertSwitchSupport::_clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:72,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:75,1
    - Dst: TLSCertSwitchSupport::_isTryingRenegotiation
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:79,1
    - Dst: likely
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:86,1
    - Dst: TLSCertSwitchSupport::_lookupContextByName
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:87,1
    - Dst: TLSCertSwitchSupport::_lookupContextByIP
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:92,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:96,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:96,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ssl
    - ctxType
    argTypes:
    - SSL*
    - SSLCertContextType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: TLSCertSwitchSupport::selectCertificate
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSCertSwitchSupport.cc
    functionUses: 0
    functionsReached:
    - TLSCertSwitchSupport::_isTryingRenegotiation
    - shared_SSL_CTX::get
    - likely
    - SSL_get_SSL_CTX
    - Dbg
    - TLSCertSwitchSupport::_lookupContextByName
    - SSL_get_servername
    - TLSCertSwitchSupport::_lookupContextByIP
    - SSL_set_SSL_CTX
    linkageType: ''
    returnType: int
    signature: int TLSCertSwitchSupport::selectCertificate(SSL *ssl, SSLCertContextType
      ctxType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_timeout
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    - Dst: SSL_SESSION_get_time
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: is_ssl_session_timed_out
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached:
    - time
    - SSL_SESSION_get_time
    - SSL_SESSION_get_timeout
    linkageType: ''
    returnType: bool
    signature: bool is_ssl_session_timed_out(SSL_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_timeout
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    - Dst: SSL_SESSION_get_time
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: is_ssl_session_timed_out
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached:
    - time
    - SSL_SESSION_get_time
    - SSL_SESSION_get_timeout
    linkageType: ''
    returnType: bool
    signature: bool is_ssl_session_timed_out(SSL_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:67,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: TLSSessionResumptionSupport::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached:
    - SSL_get_ex_new_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSSessionResumptionSupport *>
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:76,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: TLSSessionResumptionSupport::getInstance
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached:
    - static_cast<TLSSessionResumptionSupport *>
    - SSL_get_ex_data
    linkageType: ''
    returnType: TLSSessionResumptionSupport
    signature: 'TLSSessionResumptionSupport *

      TLSSessionResumptionSupport::getInstance(SSL *ssl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - srs
    argTypes:
    - SSL*
    - TLSSessionResumptionSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: TLSSessionResumptionSupport::bind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::bind(SSL *ssl, TLSSessionResumptionSupport
      *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: TLSSessionResumptionSupport::unbind
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 2
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::unbind(SSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSSessionResumptionSupport::_getLocalEndpoint
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:106,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:107,1
    - Dst: SSLCertContext*::keyblock::get
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:113,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:115,1
    - Dst: TLSSessionResumptionSupport::_setSessionInformation
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:118,1
    - Dst: TLSSessionResumptionSupport::_getSessionInformation
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - ssl
    - keyname
    - iv
    - cipher_ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 124
    functionName: TLSSessionResumptionSupport::processSessionTicket
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached:
    - TLSSessionResumptionSupport::_getLocalEndpoint
    - ink_release_assert
    - TLSSessionResumptionSupport::_getSessionInformation
    - TLSSessionResumptionSupport::_setSessionInformation
    - SSLCertContext*::keyblock::get
    - SSLCertificateConfig::scoped_config::find
    linkageType: ''
    returnType: int
    signature: "int TLSSessionResumptionSupport::processSessionTicket(SSL *ssl, unsigned
      char *keyname, unsigned char *iv, EVP_CIPHER_CTX *cipher_ctx,\n                                                  HMAC_CTX
      *hctx, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: TLSSessionResumptionSupport::getSSLSessionCacheHit
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSSessionResumptionSupport::getSSLSessionCacheHit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: TLSSessionResumptionSupport::getSSLOriginSessionCacheHit
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSSessionResumptionSupport::getSSLOriginSessionCacheHit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: TLSSessionResumptionSupport::getSSLCurveNID
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssl_curve_id
    signature: ssl_curve_id TLSSessionResumptionSupport::getSSLCurveNID() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:150,1
    - Dst: DbgCtl::tag_on
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:152,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:154,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:155,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:155,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:159,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:159,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:161,1
    - Dst: TLSSessionResumptionSupport::getSession
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:167,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:168,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:169,1
    - Dst: is_ssl_session_timed_out
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:172,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:173,1
    - Dst: ssl_rm_cached_session
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:177,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:177,1
    - Dst: SSL_SESSION_free
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:179,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:182,1
    - Dst: TLSSessionResumptionSupport::_setSSLSessionCacheHit
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:183,1
    - Dst: TLSSessionResumptionSupport::_setSSLCurveNID
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:184,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - ssl
    - id
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 190
    functionName: TLSSessionResumptionSupport::getSession
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - TLSSessionResumptionSupport::_setSSLCurveNID
    - SSLSessionID::toString
    - SSL_get_SSL_CTX
    - SSLAPIHooks::instance
    - ink_assert
    - DbgPrint
    - TLSSessionResumptionSupport::_setSSLSessionCacheHit
    - is_ssl_session_timed_out
    - SSL_SESSION_free
    - APIHook*::invoke
    - ssl_rm_cached_session
    - diags
    - TSSslHookInternalID
    - DbgCtl::tag_on
    - TLSSessionResumptionSupport::getSession
    linkageType: ''
    returnType: SSL_SESSION
    signature: 'SSL_SESSION *

      TLSSessionResumptionSupport::getSession(SSL *ssl, const unsigned char *id, int
      len, int *copy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_session
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:196,1
    - Dst: is_ssl_session_timed_out
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:200,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:200,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:201,1
    - Dst: remove_session
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:202,1
    - Dst: std::shared_ptr::reset
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:203,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:205,1
    - Dst: TLSSessionResumptionSupport::_setSSLOriginSessionCacheHit
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:206,1
    - Dst: TLSSessionResumptionSupport::_setSSLCurveNID
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:207,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - lookup_key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 213
    functionName: TLSSessionResumptionSupport::getOriginSession
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - get_session
    - TLSSessionResumptionSupport::_setSSLCurveNID
    - TLSSessionResumptionSupport::_setSSLOriginSessionCacheHit
    - remove_session
    - std::shared_ptr::get
    - std::shared_ptr::reset
    - is_ssl_session_timed_out
    linkageType: ''
    returnType: std::shared_ptr<SSL_SESSION>
    signature: std::shared_ptr<SSL_SESSION> TLSSessionResumptionSupport::getOriginSession(const
      std::string &lookup_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: TLSSessionResumptionSupport::clear
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::clear()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:232,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:233,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:236,1
    - Dst: EVP_aes_128_cbc
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:236,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:241,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:241,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:243,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:244,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:246,1
    - Dst: HMAC_Init_ex
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:250,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:255,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - keyblock
    - keyname
    - iv
    - cipher_ctx
    - hctx
    argTypes:
    - ssl_ticket_key_block*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 258
    functionName: TLSSessionResumptionSupport::_setSessionInformation
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached:
    - const_cast<unsigned char *>
    - memcpy
    - HMAC_Init_ex
    - EVP_MAC_CTX_set_params
    - ts::Metrics::Counter::increment
    - EVP_aes_128_cbc
    - Dbg
    - EVP_EncryptInit_ex
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: "int TLSSessionResumptionSupport::_setSessionInformation(ssl_ticket_key_block
      *keyblock, unsigned char *keyname, unsigned char *iv,\n                                                    EVP_CIPHER_CTX
      *cipher_ctx, HMAC_CTX *hctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:273,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:274,1
    - Dst: EVP_aes_128_cbc
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:274,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:279,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:280,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:281,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:283,1
    - Dst: HMAC_Init_ex
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:287,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:292,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:294,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:297,1
    - Dst: TLSSessionResumptionSupport::_setSSLSessionCacheHit
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:300,1
    - Dst: SSL_version
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:303,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:304,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:314,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - keyblock
    - ssl
    - keyname
    - iv
    - cipher_ctx
    - hctx
    argTypes:
    - ssl_ticket_key_block*
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 317
    functionName: TLSSessionResumptionSupport::_getSessionInformation
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached:
    - memcmp
    - HMAC_Init_ex
    - ts::Metrics::Counter::increment
    - EVP_MAC_CTX_set_params
    - EVP_aes_128_cbc
    - TLSSessionResumptionSupport::_setSSLSessionCacheHit
    - SSL_version
    - Dbg
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - EVP_DecryptInit_ex
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int TLSSessionResumptionSupport::_getSessionInformation(ssl_ticket_key_block
      *keyblock, [[maybe_unused]] SSL *ssl,\n                                                    unsigned
      char *keyname, unsigned char *iv, EVP_CIPHER_CTX *cipher_ctx,\n                                                    HMAC_CTX
      *hctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: TLSSessionResumptionSupport::_setSSLSessionCacheHit
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::_setSSLSessionCacheHit(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: TLSSessionResumptionSupport::_setSSLOriginSessionCacheHit
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::_setSSLOriginSessionCacheHit(bool
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve_nid
    argTypes:
    - ssl_curve_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: TLSSessionResumptionSupport::_setSSLCurveNID
    functionSourceFile: /src/trafficserver/src/iocore/net/TLSSessionResumptionSupport.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSSessionResumptionSupport::_setSSLCurveNID(ssl_curve_id curve_nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: QUICNextProtocolAccept::QUICNextProtocolAccept
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICNextProtocolAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICNextProtocolAccept(const QUICNextProtocolAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '&operator=(const QUICNextProtocolAccept &)'
    functionSourceFile: /src/trafficserver/src/iocore/net/P_QUICNextProtocolAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICNextProtocolAccept
    signature: QUICNextProtocolAccept &operator=(const QUICNextProtocolAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:119,1
    - Dst: pthread_self
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: SSL_pthreads_thread_id
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - pthread_self
    - CRYPTO_THREADID_set_numeric
    linkageType: ''
    returnType: void
    signature: void SSL_pthreads_thread_id(CRYPTO_THREADID *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:129,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:130,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:130,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:140,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:142,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:144,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - mode
    - type
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: SSL_locking_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_num_locks
    - Dbg
    - ink_mutex_acquire
    - ink_mutex_release
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void SSL_locking_callback(int mode, int type, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:180,1
    - Dst: SSL_CTX_add_extra_chain_cert_bio
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:181,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - chainfile
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: SSL_CTX_add_extra_chain_cert_file
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - scoped_BIO::get
    - SSL_CTX_add_extra_chain_cert_bio
    - BIO_new_file
    linkageType: ''
    returnType: bool
    signature: bool SSL_CTX_add_extra_chain_cert_file(SSL_CTX *ctx, const char *chainfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSSessionResumptionSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:191,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:193,1
    - Dst: TLSSessionResumptionSupport*::getSession
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ssl
    - id
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: ssl_get_cached_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - TLSSessionResumptionSupport*::getSession
    - TLSSessionResumptionSupport::getInstance
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ssl_get_cached_session(SSL *ssl, const unsigned char *id, int
      len, int *copy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_protocol_version
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:205,1
    - Dst: SSL_SESSION_get_id
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:211,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:215,1
    - Dst: DbgCtl::tag_on
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:217,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:220,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:221,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:221,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:225,1
    - Dst: insertSession
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:226,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:229,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:229,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 236
    functionName: ssl_new_cached_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - SSLSessionID::toString
    - SSL_get_SSL_CTX
    - insertSession
    - SSLAPIHooks::instance
    - SSL_SESSION_get_protocol_version
    - SSL_SESSION_get_id
    - DbgPrint
    - APIHook*::invoke
    - diags
    - TSSslHookInternalID
    - DbgCtl::tag_on
    linkageType: ''
    returnType: int
    signature: int ssl_new_cached_session(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_protocol_version
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:242,1
    - Dst: SSL_SESSION_get_id
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:248,1
    - Dst: SSLAPIHooks::instance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:252,1
    - Dst: TSSslHookInternalID
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:252,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:254,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:258,1
    - Dst: DbgCtl::tag_on
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:260,1
    - Dst: SSLSessionID::toString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:262,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:263,1
    - Dst: removeSession
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - sess
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: ssl_rm_cached_session
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLSessionID::toString
    - SSLAPIHooks::instance
    - SSL_SESSION_get_protocol_version
    - SSL_SESSION_get_id
    - DbgPrint
    - APIHook*::invoke
    - removeSession
    - diags
    - TSSslHookInternalID
    - DbgCtl::tag_on
    linkageType: ''
    returnType: void
    signature: void ssl_rm_cached_session(SSL_CTX * /* ctx ATS_UNUSED */, SSL_SESSION
      *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:274,1
    - Dst: static_cast<SSL *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:275,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:275,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:275,1
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:276,1
    - Dst: TLSBasicSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:277,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:280,1
    - Dst: TLSBasicSupport*::verify_certificate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:284,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:285,1
    - Dst: SSLNetVConnection*::options::sni_servername::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - preverify_ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 290
    functionName: ssl_verify_client_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<SSL *>
    - Warning
    - SSLNetVConnection*::options::sni_servername::get
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - SSLNetVCAccess
    - Dbg
    - TLSBasicSupport*::verify_certificate
    - TLSBasicSupport::getInstance
    - X509_STORE_CTX_get_ex_data
    linkageType: ''
    returnType: int
    signature: int ssl_verify_client_callback(int preverify_ok, X509_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:306,1
    - Dst: TLSSNISupport*::on_client_hello
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:308,1
    - Dst: TLSSNISupport*::perform_sni_action
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:309,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:317,1
    - Dst: TLSEventSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:321,1
    - Dst: TLSEventSupport*::callHooks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:323,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - SSL_CLIENT_HELLO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 333
    functionName: ssl_client_hello_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - TLSEventSupport::getInstance
    - TLSSNISupport*::on_client_hello
    - TLSEventSupport*::callHooks
    - Dbg
    - TLSSNISupport*::perform_sni_action
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: ssl_select_cert_result_t
    signature: ssl_select_cert_result_t ssl_client_hello_callback(const SSL_CLIENT_HELLO
      *client_hello)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TLSCertSwitchSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:342,1
    - Dst: TLSEventSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:343,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:344,1
    - Dst: reinterpret_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:350,1
    - Dst: BoringSSLUtils::isClientEcdsaCapable
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:364,1
    - Dst: TLSEventSupport*::calledHooks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:373,1
    - Dst: TLSCertSwitchSupport*::selectCertificate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:374,1
    - Dst: TLSEventSupport*::callHooks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:381,1
    - Dst: TLSCertSwitchSupport*::selectCertificate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:388,1
    - Dst: setClientCertCACerts
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:400,1
    - Dst: SSLNetVConnection*::get_ca_cert_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:400,1
    - Dst: SSLNetVConnection*::get_ca_cert_dir
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:400,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:404,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:406,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 415
    functionName: ssl_cert_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - TLSEventSupport::getInstance
    - TLSEventSupport*::calledHooks
    - SSLNetVConnection*::get_ca_cert_dir
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - TLSCertSwitchSupport::getInstance
    - SSL_get_SSL_CTX
    - SSL_CTX_set_tlsext_ticket_key_cb
    - dynamic_cast<SSLNetVConnection *>
    - BoringSSLUtils::isClientEcdsaCapable
    - reinterpret_cast<NetVConnection *>
    - TLSEventSupport*::callHooks
    - TLSCertSwitchSupport*::selectCertificate
    - SSLNetVConnection*::get_ca_cert_file
    - setClientCertCACerts
    linkageType: ''
    returnType: int
    signature: int ssl_cert_callback(SSL *ssl, [[maybe_unused]] void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:423,1
    - Dst: TLSEventSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:425,1
    - Dst: TLSEventSupport*::callHooks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:426,1
    - Dst: TLSSNISupport*::on_servername
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:428,1
    - Dst: TLSSNISupport*::perform_sni_action
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:431,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ssl
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 445
    functionName: ssl_servername_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - TLSEventSupport::getInstance
    - TLSEventSupport*::callHooks
    - Dbg
    - TLSSNISupport*::on_servername
    - TLSSNISupport*::perform_sni_action
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: int
    signature: int ssl_servername_callback(SSL *ssl, int *al, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:453,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:455,1
    - Dst: ALPNSupport*::advertise_next_protocol
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: ssl_next_protos_advertised_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport*::advertise_next_protocol
    - ALPNSupport::getInstance
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ssl_next_protos_advertised_callback(SSL *ssl, const unsigned char
      **out, unsigned *outlen, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALPNSupport::getInstance
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:467,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:469,1
    - Dst: ALPNSupport*::select_next_protocol
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: ssl_alpn_select_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ALPNSupport*::select_next_protocol
    - ALPNSupport::getInstance
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int ssl_alpn_select_callback(SSL *ssl, const unsigned char **out,
      unsigned char *outlen, const unsigned char *in, unsigned inlen,\n                         void
      *)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:514,1
    - Dst: BN_bin2bn
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:517,1
    - Dst: BN_bin2bn
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:518,1
    - Dst: DH_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:520,1
    - Dst: BN_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:521,1
    - Dst: BN_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:522,1
    - Dst: DH_set0_pqg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 527
    functionName: DH_get_2048_256
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - DH_set0_pqg
    - DH_free
    - BN_free
    - DH_new
    - BN_bin2bn
    linkageType: ''
    returnType: DH
    signature: 'DH *

      DH_get_2048_256()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_options
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:535,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: SSLMultiCertConfigLoader::_enable_ktls
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - SSL_CTX_set_options
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_enable_ktls([[maybe_unused]] SSL_CTX
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_early_data_enabled
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 559
    functionName: SSLMultiCertConfigLoader::_enable_early_data
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_early_data_enabled
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_enable_early_data([[maybe_unused]]
      SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:567,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:568,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:568,1
    - Dst: DH_get_2048_256
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:570,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:574,1
    - Dst: SSL_CTX_set_options
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:578,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:578,1
    - Dst: DH_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:579,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:580,1
    - Dst: DH_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dhparams_file
    - ctx
    argTypes:
    - char*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 587
    functionName: ssl_context_enable_dhe
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - scoped_BIO::get
    - PEM_read_bio_DHparams
    - BIO_new_file
    - DH_free
    - SSL_CTX_set_tmp_dh
    - Error
    - SSL_CTX_set_options
    - DH_get_2048_256
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      ssl_context_enable_dhe(const char *dhparams_file, SSL_CTX *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: ssl_termios
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - tcgetattr
    linkageType: ''
    returnType: void
    signature: void ssl_termios(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcsetattr
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: ~ssl_termios()
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: void ~ssl_termios()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: ok
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:658,1
    - Dst: ssl_termios::ok
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:663,1
    - Dst: tcsetattr
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:671,1
    - Dst: getchar
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - prompt
    - buffer
    - size
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 690
    functionName: ssl_getpassword
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - tcsetattr
    - fprintf
    - getchar
    - ssl_termios::ok
    linkageType: ''
    returnType: int
    signature: int ssl_getpassword(const char *prompt, char *buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLMultiCertConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:700,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:702,1
    - Dst: SSLMultiCertConfigParams*::dialog::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:702,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:707,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:707,1
    - Dst: popen
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:709,1
    - Dst: fgets
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:711,1
    - Dst: pclose
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:720,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:722,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:722,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: ssl_private_key_passphrase_callback_exec
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - pclose
    - Error
    - Dbg
    - fgets
    - strlen
    - static_cast<SSLMultiCertConfigParams *>
    - strncmp
    - SSLMultiCertConfigParams*::dialog::get
    - strerror
    - ink_assert
    - popen
    linkageType: ''
    returnType: int
    signature: int ssl_private_key_passphrase_callback_exec(char *buf, int size, int
      rwflag, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLMultiCertConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:736,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:738,1
    - Dst: SSLMultiCertConfigParams*::dialog::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:738,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:743,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:744,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:745,1
    - Dst: SSLMultiCertConfigParams*::cert::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:745,1
    - Dst: SSLMultiCertConfigParams*::key::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:746,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:747,1
    - Dst: SSLMultiCertConfigParams*::key::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:747,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:749,1
    - Dst: ssl_getpassword
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:752,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:755,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 758
    functionName: ssl_private_key_passphrase_callback_builtin
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - SSLMultiCertConfigParams*::key::get
    - ssl_getpassword
    - Dbg
    - SSLMultiCertConfigParams*::cert::get
    - strlen
    - static_cast<SSLMultiCertConfigParams *>
    - SSLMultiCertConfigParams*::dialog::get
    linkageType: ''
    returnType: int
    signature: int ssl_private_key_passphrase_callback_builtin(char *buf, int size,
      int rwflag, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:769,1
    - Dst: isspace
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:772,1
    - Dst: access
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:776,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - cmdLine
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: ssl_private_key_validate_exec
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - isspace
    - access
    - ats_strdup
    linkageType: ''
    returnType: bool
    signature: bool ssl_private_key_validate_exec(const char *cmdLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - size
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 785
    functionName: ssl_malloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_malloc(size, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - size
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: ssl_realloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_realloc(ptr, size, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 787
    functionName: ssl_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_free(ptr, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - size
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 788
    functionName: ssl_track_malloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_track_malloc(size, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - size
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: ssl_track_realloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_track_realloc(ptr, size, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 790
    functionName: ssl_track_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_track_free(ptr, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: ssl_malloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ssl_malloc(size_t size, const char * /*filename */, int /*lineno*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_realloc
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: ssl_realloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ssl_realloc(void *ptr, size_t size, const char * /*filename*/, int /*lineno*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: ssl_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ssl_free(void *ptr, const char * /*filename*/, int /*lineno*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_track_malloc
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: ssl_track_malloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_track_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ssl_track_malloc(size_t size, const char * /*filename*/, int /*lineno*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_track_realloc
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: ssl_track_realloc
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_track_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ssl_track_realloc(void *ptr, size_t size, const char * /*filename*/, int /*lineno*/)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_track_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 826
    functionName: ssl_track_free
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_track_free
    linkageType: ''
    returnType: void
    signature: void ssl_track_free(void *ptr, const char * /*filename*/, int /*lineno*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_dynamic
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:837,1
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:840,1
    - Dst: CONF_modules_load_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:841,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:843,1
    - Dst: ERR_get_error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:843,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 847
    functionName: SSLPostConfigInitialize
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - ENGINE_load_dynamic
    - ERR_error_string_n
    - OPENSSL_load_builtin_modules
    - Error
    - CONF_modules_load_file
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void SSLPostConfigInitialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_mem_functions
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:856,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:858,1
    - Dst: SSL_load_error_strings
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:862,1
    - Dst: SSL_library_init
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:863,1
    - Dst: FIPS_mode
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:868,1
    - Dst: FIPS_mode_set
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:869,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:870,1
    - Dst: static_cast<ink_mutex *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:873,1
    - Dst: OPENSSL_malloc
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:873,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:873,1
    - Dst: CRYPTO_num_locks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:875,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:876,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:879,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:881,1
    - Dst: CRYPTO_set_dynlock_create_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:883,1
    - Dst: CRYPTO_set_dynlock_lock_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:884,1
    - Dst: CRYPTO_set_dynlock_destroy_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:885,1
    - Dst: ssl_stapling_ex_init
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:888,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:892,1
    - Dst: TLSBasicSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:894,1
    - Dst: TLSEventSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:895,1
    - Dst: ALPNSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:896,1
    - Dst: TLSSessionResumptionSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:897,1
    - Dst: TLSSNISupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:898,1
    - Dst: TLSEarlyDataSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:899,1
    - Dst: TLSTunnelSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:900,1
    - Dst: TLSCertSwitchSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:901,1
    - Dst: QUICSupport::initialize
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 907
    functionName: SSLInitializeLibrary
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - TLSEarlyDataSupport::initialize
    - static_cast<ink_mutex *>
    - CRYPTO_THREADID_set_callback
    - SSL_get_ex_new_index
    - TLSTunnelSupport::initialize
    - FIPS_mode_set
    - FIPS_mode
    - CRYPTO_set_dynlock_lock_callback
    - ssl_stapling_ex_init
    - TLSBasicSupport::initialize
    - TLSSNISupport::initialize
    - CRYPTO_set_mem_functions
    - SSL_load_error_strings
    - ALPNSupport::initialize
    - Dbg
    - TLSEventSupport::initialize
    - QUICSupport::initialize
    - CRYPTO_set_dynlock_create_callback
    - SSL_library_init
    - OPENSSL_malloc
    - TLSCertSwitchSupport::initialize
    - CRYPTO_num_locks
    - CRYPTO_set_locking_callback
    - TLSSessionResumptionSupport::initialize
    - CRYPTO_set_dynlock_destroy_callback
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void SSLInitializeLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:912,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: SSLMultiCertConfigLoader::default_server_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLv23_server_method
    - SSL_CTX_new
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      SSLMultiCertConfigLoader::default_server_ssl_ctx()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_default_RSA
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:920,1
    - Dst: ENGINE_load_private_key
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:922,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:924,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:925,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:926,1
    - Dst: SSL_CTX_get_default_passwd_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:937,1
    - Dst: SSL_CTX_get_default_passwd_cb_userdata
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:938,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:939,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:939,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:941,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:945,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:946,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:948,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:951,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:952,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - keyPath
    - secret_data
    - secret_data_len
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 958
    functionName: SSLPrivateKeyHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - scoped_BIO::get
    - SSL_CTX_get_default_passwd_cb_userdata
    - ENGINE_get_default_RSA
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_get_default_passwd_cb
    - SSL_CTX_check_private_key
    - Dbg
    - ENGINE_load_private_key
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    linkageType: ''
    returnType: bool
    signature: bool SSLPrivateKeyHandler(SSL_CTX *ctx, const char *keyPath, const
      char *secret_data, int secret_data_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:978,1
    - Dst: X509_cmp_current_time
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:984,1
    - Dst: X509_get_notBefore
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:984,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:987,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:991,1
    - Dst: X509_cmp_current_time
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:995,1
    - Dst: X509_get_notAfter
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:995,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:998,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1002,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - cert
    - certname
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1009
    functionName: SSLMultiCertConfigLoader::check_server_cert_now
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - X509_cmp_current_time
    - Error
    - X509_get_notBefore
    - Dbg
    - X509_get_notAfter
    linkageType: ''
    returnType: int
    signature: int SSLMultiCertConfigLoader::check_server_cert_now(X509 *cert, const
      char *certname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1015,1
    - Dst: ASN1_STRING_type
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1015,1
    - Dst: ASN1_STRING_type
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1015,1
    - Dst: ASN1_STRING_type
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1016,1
    - Dst: ASN1_STRING_type
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1016,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1018,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1018,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1018,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1019
    functionName: asn1_strdup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - ats_strndup
    - ASN1_STRING_length
    - reinterpret_cast<const char *>
    - ASN1_STRING_get0_data
    - ink_assert
    - ASN1_STRING_type
    linkageType: ''
    returnType: char
    signature: 'char *

      asn1_strdup(ASN1_STRING *s)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1088,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1089,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1093,1
    - Dst: SSL_CTX_set_select_certificate_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1095,1
    - Dst: ssl_client_hello_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1097,1
    - Dst: ssl_servername_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1102,1
    - Dst: ssl_cert_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1108,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1129
    functionName: SSLMultiCertConfigLoader::_set_handshake_callbacks
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_cert_cb
    - SSL_CTX_set_client_hello_cb
    - ssl_client_hello_callback
    - ssl_servername_callback
    - SSL_CTX_set_select_certificate_cb
    - ssl_cert_callback
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void SSLMultiCertConfigLoader::_set_handshake_callbacks(SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1147,1
    - Dst: SSL_set_verify
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1148,1
    - Dst: SSL_set_verify_depth
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - certLevel
    argTypes:
    - SSL*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1150
    functionName: setClientCertLevel
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_set_verify
    - Dbg
    - SSL_set_verify_depth
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void setClientCertLevel(SSL *ssl, uint8_t certLevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1158,1
    - Dst: X509_STORE_load_locations
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1159,1
    - Dst: SSL_set0_verify_cert_store
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1160,1
    - Dst: SSL_set_client_CA_list
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1166,1
    - Dst: SSL_load_client_CA_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - file
    - dir
    argTypes:
    - SSL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1172
    functionName: setClientCertCACerts
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - X509_STORE_load_locations
    - SSL_set0_verify_cert_store
    - SSL_load_client_CA_file
    - X509_STORE_new
    - ink_assert
    - SSL_set_client_CA_list
    linkageType: ''
    returnType: void
    signature: void setClientCertCACerts(SSL *ssl, const char *file, const char *dir)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: CertLoadData::cert_names_list::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1185,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1189,1
    - Dst: std::vector
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1189,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1192,1
    - Dst: std::vector
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1192,1
    - Dst: CertLoadData::cert_names_list::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1195,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1196,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1197,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1203,1
    - Dst: std::vector
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1203,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1203,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1204,1
    - Dst: std::vector
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1204,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1204,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1212,1
    - Dst: std::vector::clear
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1215,1
    - Dst: SSLMultiCertConfigLoader::default_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1218,1
    - Dst: CertLoadData::cert_type_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1220,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1222,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1222,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1223,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1225,1
    - Dst: SSL_CTX_set_options
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1226,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1234,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1241,1
    - Dst: SSLMultiCertConfigLoader::_setup_session_cache
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1244,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1249,1
    - Dst: SSL_CTX_set_mode
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1250,1
    - Dst: SSL_CTX_set_options
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1254,1
    - Dst: SSLMultiCertConfigLoader::_setup_dialog
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1258,1
    - Dst: SSLMultiCertConfigLoader::load_certs
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1263,1
    - Dst: SSLMultiCertConfigLoader::_set_verify_path
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1268,1
    - Dst: SSLMultiCertConfigLoader::_setup_session_ticket
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1272,1
    - Dst: SSLMultiCertConfigLoader::_setup_client_cert_verification
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1277,1
    - Dst: SSLMultiCertConfigLoader::set_session_id_context
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1281,1
    - Dst: SSLMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1285,1
    - Dst: SSLMultiCertConfigLoader::_set_cipher_suites
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1289,1
    - Dst: SSLMultiCertConfigLoader::_set_curves
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1293,1
    - Dst: SSLMultiCertConfigLoader::_enable_ktls
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1297,1
    - Dst: SSLMultiCertConfigLoader::_enable_early_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1301,1
    - Dst: ssl_context_enable_dhe
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1305,1
    - Dst: SSLMultiCertConfigLoader::clear_pw_references
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1310,1
    - Dst: SSLMultiCertConfigLoader::_set_info_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1313,1
    - Dst: SSLMultiCertConfigLoader::_set_npn_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1317,1
    - Dst: SSLMultiCertConfigLoader::_set_alpn_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1321,1
    - Dst: unlikely
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1326,1
    - Dst: TLSKeyLogger::is_enabled
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1326,1
    - Dst: SSLMultiCertConfigLoader::_set_keylog_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1326,1
    - Dst: SSLConfigParams::init_ssl_ctx_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1332,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1335,1
    - Dst: SSLLoadingContext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1335,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1341,1
    - Dst: SSLMultiCertConfigLoader::clear_pw_references
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1342,1
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1343,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 126
    argCount: 2
    argNames:
    - data
    - sslMultCertSettings
    argTypes:
    - CertLoadData
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1346
    functionName: SSLMultiCertConfigLoader::init_server_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSLMultiCertConfigLoader::_set_verify_path
    - SSLMultiCertConfigLoader::load_certs
    - SSLMultiCertConfigLoader::_setup_client_cert_verification
    - std::string
    - SSL_CTX_set_min_proto_version
    - SSLMultiCertConfigLoader::_enable_early_data
    - SSL_CTX_set_max_proto_version
    - SSLMultiCertConfigLoader::_set_cipher_suites
    - SSLMultiCertConfigLoader::_set_alpn_callback
    - size
    - SSLMultiCertConfigLoader::default_server_ssl_ctx
    - SSLMultiCertConfigLoader::clear_pw_references
    - std::vector
    - SSLMultiCertConfigLoader::_setup_session_cache
    - SSLMultiCertConfigLoader::_setup_session_ticket
    - CertLoadData::cert_names_list::empty
    - SSL_CTX_free
    - TLSKeyLogger::is_enabled
    - SSL_CTX_set_mode
    - unlikely
    - CertLoadData::cert_type_list::size
    - SSLMultiCertConfigLoader::set_session_id_context
    - SSLMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions
    - std::vector::size
    - SSLMultiCertConfigLoader::_set_keylog_callback
    - SSLMultiCertConfigLoader::_set_info_callback
    - SSLMultiCertConfigLoader::_set_curves
    - Dbg
    - ssl_context_enable_dhe
    - SSLMultiCertConfigLoader::_enable_ktls
    - ink_assert
    - SSLMultiCertConfigLoader::_set_npn_callback
    - SSLMultiCertConfigLoader::_setup_dialog
    - SSLConfigParams::init_ssl_ctx_cb
    - std::vector::emplace_back
    - c_str
    - SSLLoadingContext
    - std::vector::clear
    - SSL_CTX_set_options
    linkageType: ''
    returnType: std::vector<SSLLoadingContext>
    signature: std::vector<SSLLoadingContext> SSLMultiCertConfigLoader::init_server_ssl_ctx(CertLoadData
      const &data, const SSLMultiCertConfigParams *sslMultCertSettings)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1353,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1360,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1368,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1370,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1373,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1375,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1376,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1379,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1381,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1382,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1383,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1390
    functionName: SSLMultiCertConfigLoader::_setup_session_cache
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_set_timeout
    - SSL_CTX_sess_set_get_cb
    - SSL_CTX_set_session_cache_mode
    - Dbg
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_sess_set_cache_size
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_setup_session_cache(SSL_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1398,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1400,1
    - Dst: ssl_private_key_validate_exec
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1402,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1403,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1403,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1407,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1410,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1410,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1413,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1414,1
    - Dst: const_cast<SSLMultiCertConfigParams *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - sslMultCertSettings
    argTypes:
    - SSL_CTX*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1417
    functionName: SSLMultiCertConfigLoader::_setup_dialog
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - strcmp
    - strerror
    - SSL_CTX_set_default_passwd_cb
    - Dbg
    - data
    - SSL_CTX_set_default_passwd_cb_userdata
    - strncmp
    - ssl_private_key_validate_exec
    - const_cast<SSLMultiCertConfigParams *>
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_setup_dialog(SSL_CTX *ctx, const SSLMultiCertConfigParams
      *sslMultCertSettings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1436,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1437,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - sslMultCertSettings
    argTypes:
    - SSL_CTX*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1446
    functionName: SSLMultiCertConfigLoader::_set_verify_path
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - SSL_CTX_load_verify_locations
    - SSL_CTX_set_default_verify_paths
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_verify_path(SSL_CTX *ctx, const
      SSLMultiCertConfigParams *sslMultCertSettings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_options
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1453,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1454,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1458,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sslMultCertSettings
    argTypes:
    - SSL_CTX*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1462
    functionName: SSLMultiCertConfigLoader::_setup_session_ticket
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SSL_CTX_set_options
    - SSL_CTX_set_num_tickets
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_setup_session_ticket(SSL_CTX *ctx,
      const SSLMultiCertConfigParams *sslMultCertSettings)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1472,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1473,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1474,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1489,1
    - Dst: SSL_CTX_set_verify
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1491,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1495
    functionName: SSLMultiCertConfigLoader::_setup_client_cert_verification
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify_depth
    - Error
    - SSL_CTX_load_verify_locations
    - SSL_CTX_set_verify
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_setup_client_cert_verification(SSL_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1501,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1507
    functionName: SSLMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - SSL_CTX_set_cipher_list
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_cipher_suites_for_legacy_versions(SSL_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1514,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1521
    functionName: SSLMultiCertConfigLoader::_set_cipher_suites
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_cipher_suites([[maybe_unused]]
      SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1527,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1534
    functionName: SSLMultiCertConfigLoader::_set_curves
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - SSL_CTX_set1_groups_list
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_curves(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_info_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: SSLMultiCertConfigLoader::_set_info_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_info_callback
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_info_callback(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1548
    functionName: SSLMultiCertConfigLoader::_set_npn_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_next_protos_advertised_cb
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_npn_callback(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1555
    functionName: SSLMultiCertConfigLoader::_set_alpn_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_alpn_select_cb
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_alpn_callback(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1564
    functionName: SSLMultiCertConfigLoader::_set_keylog_callback
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_keylog_callback
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_set_keylog_callback(SSL_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSLMultiCertConfigLoader::load_certs_and_cross_reference_names
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1576,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1581,1
    - Dst: SSLMultiCertConfigLoader::init_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1586,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1588,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1591,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1591,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1592,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1599,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1599,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1600,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1603,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1603,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1604,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1612,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - params
    - sslMultiCertSettings
    - cert_path
    - key_path
    argTypes:
    - SSLConfigParams*
    - SSLMultiCertConfigParams*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1566
    functionDepth: 3
    functionLinenumber: 1566
    functionLinenumberEnd: 1613
    functionName: SSLCreateServerContext
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - SSLError
    - std::unique_ptr::get
    - std::unique_ptr::release
    - std::unique_ptr::reset
    - SSLMultiCertConfigLoader::init_server_ssl_ctx
    - SSL_CTX_check_private_key
    - SSLMultiCertConfigLoader::load_certs_and_cross_reference_names
    - X509_free
    - SSL_CTX_use_certificate_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *\nSSLCreateServerContext(const SSLConfigParams *params, const
      SSLMultiCertConfigParams *sslMultiCertSettings, const char *cert_path,\n                       const
      char *key_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLMultiCertConfigLoader::load_certs_and_cross_reference_names
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1627,1
    - Dst: shared_SSLMultiCertConfigParams::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1627,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1635,1
    - Dst: SSLMultiCertConfigLoader::check_server_cert_now
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1636,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1639,1
    - Dst: SSLMultiCertConfigLoader::_dbg_ctl
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1639,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - sslMultCertSettings
    - data
    - common_names
    - unique_names
    argTypes:
    - shared_SSLMultiCertConfigParams
    - SSLMultiCertConfigLoader::CertLoadData
    - std::set<std::string>
    - std::unordered_map<int, std::set<std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1618
    functionDepth: 2
    functionLinenumber: 1618
    functionLinenumberEnd: 1649
    functionName: SSLMultiCertConfigLoader::_prep_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSLMultiCertConfigLoader::check_server_cert_now
    - shared_SSLMultiCertConfigParams::get
    - Dbg
    - c_str
    - SSLMultiCertConfigLoader::load_certs_and_cross_reference_names
    - X509_free
    - SSLMultiCertConfigLoader::_dbg_ctl
    linkageType: ''
    returnType: bool
    signature: "bool SSLMultiCertConfigLoader::_prep_ssl_ctx(const shared_SSLMultiCertConfigParams
      \ &sslMultCertSettings,\n                                        SSLMultiCertConfigLoader::CertLoadData
      &data, std::set<std::string> &common_names,\n                                        std::unordered_map<int,
      std::set<std::string>> &unique_names)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLMultiCertConfigLoader::_prep_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1663,1
    - Dst: SSLMultiCertConfigLoader::init_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1668,1
    - Dst: shared_SSLMultiCertConfigParams::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1668,1
    - Dst: SSLMultiCertConfigLoader::_store_single_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1671,1
    - Dst: std::set::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1673,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1676,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1677,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1679,1
    - Dst: SSLMultiCertConfigLoader::_debug_tag
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1679,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1680,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1682,1
    - Dst: SSLMultiCertConfigLoader::_debug_tag
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1682,1
    - Dst: std::set::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1685,1
    - Dst: SSLCertLookup*::register_cert_secrets
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1686,1
    - Dst: std::unordered_map::begin
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1691,1
    - Dst: std::unordered_map::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1691,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1695,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1696,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1697,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1699,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ca_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1699,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1700,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ocsp_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1700,1
    - Dst: SSLMultiCertConfigLoader::init_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1702,1
    - Dst: shared_SSLMultiCertConfigParams::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1702,1
    - Dst: SSLMultiCertConfigLoader::_store_single_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1704,1
    - Dst: SSLCertLookup*::register_cert_secrets
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - lookup
    - sslMultCertSettings
    argTypes:
    - SSLCertLookup*
    - shared_SSLMultiCertConfigParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1655
    functionDepth: 3
    functionLinenumber: 1655
    functionLinenumberEnd: 1713
    functionName: SSLMultiCertConfigLoader::_store_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
    - shared_SSLMultiCertConfigParams::get
    - SSLMultiCertConfigLoader::init_server_ssl_ctx
    - std::unordered_map::end
    - std::unordered_map::begin
    - std::string::append
    - SSLCertLookup*::register_cert_secrets
    - SSLMultiCertConfigLoader::CertLoadData::ca_list::size
    - std::string::c_str
    - SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
    - Warning
    - std::set::empty
    - SSLMultiCertConfigLoader::_prep_ssl_ctx
    - SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
    - SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
    - SSLMultiCertConfigLoader::CertLoadData::ocsp_list::size
    - SSLMultiCertConfigLoader::_store_single_ssl_ctx
    - SSLMultiCertConfigLoader::CertLoadData::key_list::size
    - SSLMultiCertConfigLoader::_debug_tag
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::_store_ssl_ctx(SSLCertLookup *lookup,
      const shared_SSLMultiCertConfigParams &sslMultCertSettings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLCertificateConfig::scoped_config::getPolicies
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1734,1
    - Dst: std::set::begin
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1736,1
    - Dst: std::set::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1736,1
    - Dst: SSLMultiCertConfigLoader::_prep_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1740,1
    - Dst: SSLMultiCertConfigLoader::init_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1745,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1745,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1753,1
    - Dst: SSLCertContext*::userconfig::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1754,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1754,1
    - Dst: SSLCertContext*::setCtx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1755,1
    - Dst: std::unordered_map::begin
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1761,1
    - Dst: std::unordered_map::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1761,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1765,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1766,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1766,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1767,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ca_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1767,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1768,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ocsp_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1768,1
    - Dst: SSLMultiCertConfigLoader::init_server_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1770,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1770,1
    - Dst: SSLCertificateConfig::scoped_config::find
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1778,1
    - Dst: SSLCertContext*::userconfig::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1779,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1779,1
    - Dst: SSLCertContext*::setCtx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1780,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - secret_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1788
    functionName: SSLMultiCertConfigLoader::update_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - auto::get
    - SSLCertificateConfig::scoped_config::getPolicies
    - SSLMultiCertConfigLoader::_prep_ssl_ctx
    - std::set::end
    - SSLMultiCertConfigLoader::CertLoadData::key_list::size
    - SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
    - SSLCertContext*::setCtx
    - SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
    - SSLMultiCertConfigLoader::init_server_ssl_ctx
    - SSLCertificateConfig::scoped_config::find
    - SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
    - std::unordered_map::end
    - SSLMultiCertConfigLoader::CertLoadData::ocsp_list::size
    - std::set::begin
    - SSLCertContext*::userconfig::get
    - SSLMultiCertConfigLoader::CertLoadData::ca_list::size
    - std::unordered_map::begin
    - SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
    linkageType: ''
    returnType: bool
    signature: bool SSLMultiCertConfigLoader::update_ssl_ctx(const std::string &secret_name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: shared_ssl_ticket_key_block
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1798,1
    - Dst: ssl_context_enable_tickets
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1798,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1798,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1803,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1804,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1804,1
    - Dst: SSLCertLookup*::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1805,1
    - Dst: SSLCertContext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1805,1
    - Dst: SSLMultiCertConfigLoader::_set_handshake_callbacks
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1808,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1808,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1813,1
    - Dst: SSLCertLookup*::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1814,1
    - Dst: SSLCertContext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1814,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1818,1
    - Dst: SSLCertLookup*::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1828,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1828,1
    - Dst: SSLCertContext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1828,1
    - Dst: SSLConfigParams::init_ssl_ctx_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1835,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1835,1
    - Dst: shared_SSL_CTX::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - lookup
    - sslMultCertSettings
    - ctx
    - ctx_type
    - names
    argTypes:
    - SSLCertLookup*
    - shared_SSLMultiCertConfigParams
    - shared_SSL_CTX
    - SSLCertContextType
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1790
    functionDepth: 4
    functionLinenumber: 1790
    functionLinenumberEnd: 1844
    functionName: SSLMultiCertConfigLoader::_store_single_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - shared_ssl_ticket_key_block
    - shared_SSL_CTX::get
    - SSLCertContext
    - Error
    - Dbg
    - SSLCertLookup*::insert
    - c_str
    - SSLMultiCertConfigLoader::_set_handshake_callbacks
    - SSLConfigParams::init_ssl_ctx_cb
    - ssl_context_enable_tickets
    - ats_ip_pton
    linkageType: ''
    returnType: bool
    signature: "bool SSLMultiCertConfigLoader::_store_single_ssl_ctx(SSLCertLookup
      *lookup, const shared_SSLMultiCertConfigParams &sslMultCertSettings,\n                                                shared_SSL_CTX
      ctx, SSLCertContextType ctx_type, std::set<std::string> &names)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1859,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1861,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1862,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1865,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1866,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1869,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1870,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1873,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1874,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1877,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1878,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1881,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1882,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1885,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1886,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1889,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1890,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1893,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1894,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1897,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1898,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1901,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1901,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1909,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1911,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - line_info
    - sslMultCertSettings
    argTypes:
    - matcher_line*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1916
    functionName: ssl_extract_certificate
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - Error
    - ats_strdup
    - atoi
    - Dbg
    - SimpleTokenizer::getNext
    - strcasecmp
    - data
    linkageType: ''
    returnType: bool
    signature: bool ssl_extract_certificate(const matcher_line *line_info, SSLMultiCertConfigParams
      *sslMultCertSettings)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1930,1
    - Dst: SSLMultiCertConfigLoader::_debug_tag
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1930,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1933,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1935,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1938,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1940,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1948,1
    - Dst: tokLine
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1951,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1951,1
    - Dst: isspace
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1957,1
    - Dst: std::make_shared<SSLMultiCertConfigParams>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1962,1
    - Dst: parseConfigLine
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1965,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1966,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1968,1
    - Dst: ssl_extract_certificate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1970,1
    - Dst: shared_SSLMultiCertConfigParams::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1970,1
    - Dst: SSLMultiCertConfigLoader::_store_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1973,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1974,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1977,1
    - Dst: tokLine
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1983,1
    - Dst: SSLMultiCertConfigParams::SSLMultiCertConfigParams
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1990,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1991,1
    - Dst: SSLMultiCertConfigLoader::_store_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1992,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:1993,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - SSLCertLookup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1918
    functionDepth: 4
    functionLinenumber: 1918
    functionLinenumberEnd: 1998
    functionName: SSLMultiCertConfigLoader::load
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - shared_SSLMultiCertConfigParams::get
    - SSLMultiCertConfigParams::SSLMultiCertConfigParams
    - parseConfigLine
    - RecGetRecordInt
    - swoc::SWOC_VERSION_NS::file::load
    - std::make_shared<SSLMultiCertConfigParams>
    - isspace
    - std::error_code::value
    - SSLMultiCertConfigLoader::_store_ssl_ctx
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - Warning
    - ats_strdup
    - Dbg
    - Note
    - tokLine
    - SSLMultiCertConfigLoader::_debug_tag
    - swoc::Errata::note
    - ssl_extract_certificate
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata SSLMultiCertConfigLoader::load(SSLCertLookup *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2006
    functionName: SSLReleaseContext
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void SSLReleaseContext(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - vc
    argTypes:
    - SSL*
    - SSLNetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2012
    functionName: SSLNetVCAttach
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void SSLNetVCAttach(SSL *ssl, SSLNetVConnection *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2018
    functionName: SSLNetVCDetach
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSL_set_ex_data
    linkageType: ''
    returnType: void
    signature: void SSLNetVCDetach(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2024,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2024,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2026,1
    - Dst: dynamic_cast<SSLNetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2026,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2026,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2029
    functionName: SSLNetVCAccess
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 6
    functionsReached:
    - static_cast<NetVConnection *>
    - dynamic_cast<SSLNetVConnection *>
    - static_cast<SSLNetVConnection *>
    - ink_assert
    - SSL_get_ex_data
    linkageType: ''
    returnType: SSLNetVConnection
    signature: 'SSLNetVConnection *

      SSLNetVCAccess(const SSL *ssl)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2037,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2039,1
    - Dst: SSL_get_fd
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2041,1
    - Dst: getpeername
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2045,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2045,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2048,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2048,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2056
    functionName: get_sni_addr
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<sockaddr *>
    - std::string::assign
    - ats_ip_ntop
    - SSL_get_servername
    - SSL_get_fd
    - getpeername
    linkageType: ''
    returnType: std::string
    signature: std::string get_sni_addr(SSL *ssl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVCAccess
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2063,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2068,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2071,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2074,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2077,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2084,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2087,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2090,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2093,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2096,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2100,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2100,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2058
    functionDepth: 2
    functionLinenumber: 2058
    functionLinenumberEnd: 2104
    functionName: get_verify_str
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - std::string::assign
    - swoc::SWOC_VERSION_NS::bwprint
    - SSLNetVCAccess
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string get_verify_str(SSL *ssl)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2123,1
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2125,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2128,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2129,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2130,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2131,1
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2137,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2138,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2138,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2139,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2140,1
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2147,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2148,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2148,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2149,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2150,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2155,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2155,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2156,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2157,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2160,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2160,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2161,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2164,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2164,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2165,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2170,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2170,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2171,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2172,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::cert_names_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2175,1
    - Dst: SSLConfigParams*::secrets::getOrLoadSecret
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2178,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2178,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2180,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2181,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2181,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2182,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2182,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2185,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2185,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2185,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2188,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2188,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2190,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2190,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2190,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2194,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2194,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2195,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::key_list::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2195,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2195,1
    - Dst: X509_get_pubkey
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2201,1
    - Dst: EVP_PKEY_id
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2202,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2202,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2212,1
    - Dst: SSLMultiCertConfigLoader::CertLoadData::cert_type_list::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2217,1
    - Dst: std::vector<X509 *>::push_back
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2220,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2227,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2228,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2232,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2237,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2238,1
    - Dst: asn1_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2241,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2241,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2241,1
    - Dst: std::set::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2242,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2242,1
    - Dst: std::set::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2244,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2245,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2245,1
    - Dst: static_cast<GENERAL_NAMES *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2250,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2250,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2252,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2256,1
    - Dst: asn1_strdup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2258,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2259,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2259,1
    - Dst: std::set::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2260,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2260,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2263,1
    - Dst: std::set<std::string>::begin
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2271,1
    - Dst: std::set<std::string>::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2272,1
    - Dst: std::set::find
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2273,1
    - Dst: std::set::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2274,1
    - Dst: std::unordered_map<int, std::set<std::string>>::find
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2276,1
    - Dst: std::unordered_map<int, std::set<std::string>>::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2277,1
    - Dst: std::set::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2279,1
    - Dst: std::unordered_map<int, std::set<std::string>>::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2280,1
    - Dst: auto::second::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2282,1
    - Dst: std::set<std::string>::erase
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2286,1
    - Dst: std::set::erase
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2289,1
    - Dst: std::unordered_map<int, std::set<std::string>>::find
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2295,1
    - Dst: std::unordered_map<int, std::set<std::string>>::end
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2296,1
    - Dst: std::set::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2298,1
    - Dst: std::unordered_map<int, std::set<std::string>>::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2299,1
    - Dst: auto::second::insert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2301,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 122
    argCount: 7
    argNames:
    - cert_list
    - data
    - params
    - sslMultCertSettings
    - common_names
    - unique_names
    - certType
    argTypes:
    - std::vector<X509 *>
    - SSLMultiCertConfigLoader::CertLoadData
    - SSLConfigParams*
    - SSLMultiCertConfigParams*
    - std::set<std::string>
    - std::unordered_map<int, std::set<std::string>>
    - SSLCertContextType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2112
    functionDepth: 5
    functionLinenumber: 2112
    functionLinenumberEnd: 2308
    functionName: SSLMultiCertConfigLoader::load_certs_and_cross_reference_names
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached:
    - SSLError
    - BIO_new_mem_buf
    - ats_scoped_str::get
    - PEM_read_bio_X509
    - std::set::end
    - X509_get_subject_name
    - std::string::data
    - std::unordered_map<int, std::set<std::string>>::insert
    - SSLMultiCertConfigLoader::CertLoadData::key_list::push_back
    - SimpleTokenizer::setString
    - SSLMultiCertConfigLoader::CertLoadData::cert_type_list::push_back
    - SimpleTokenizer::getNumTokensRemaining
    - std::vector<X509 *>::push_back
    - auto::second::insert
    - std::set<std::string>::erase
    - std::unique_ptr::get
    - std::string::empty
    - asn1_strdup
    - std::unordered_map<int, std::set<std::string>>::end
    - SimpleTokenizer::getNext
    - std::set<std::string>::begin
    - std::set::find
    - SSLMultiCertConfigLoader::CertLoadData::cert_names_list::push_back
    - scoped_BIO::get
    - sk_GENERAL_NAME_value
    - ats_scoped_str::ats_scoped_str
    - std::set::empty
    - SSLMultiCertConfigLoader::CertLoadData::ocsp_list::push_back
    - Error
    - std::set<std::string>::end
    - X509_get_pubkey
    - Dbg
    - SSLMultiCertConfigLoader::CertLoadData::ca_list::push_back
    - X509_NAME_get_index_by_NID
    - Layout::get
    - std::set::insert
    - static_cast<GENERAL_NAMES *>
    - sk_GENERAL_NAME_num
    - std::unordered_map<int, std::set<std::string>>::find
    - Layout::relative_to
    - sk_GENERAL_NAME_pop_free
    - ink_assert
    - X509_NAME_ENTRY_get_data
    - SSLConfigParams*::secrets::getOrLoadSecret
    - SSLMultiCertConfigLoader::CertLoadData::key_list::size
    - std::string::size
    - SSLMultiCertConfigLoader::CertLoadData::cert_names_list::size
    - X509_get_ext_d2i
    - c_str
    - X509_NAME_get_entry
    - EVP_PKEY_id
    - std::set::erase
    linkageType: ''
    returnType: bool
    signature: "bool SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(\n
      \ std::vector<X509 *> &cert_list, SSLMultiCertConfigLoader::CertLoadData &data,
      const SSLConfigParams *params,\n  const SSLMultiCertConfigParams *sslMultCertSettings,
      std::set<std::string> &common_names,\n  std::unordered_map<int, std::set<std::string>>
      &unique_names, SSLCertContextType *certType)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2320,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2321,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2323,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2326,1
    - Dst: std::vector<std::string>::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2326,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2328,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2329,1
    - Dst: SSLConfigParams*::secrets::getOrLoadSecret
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2332,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2333,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2334,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2334,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2335,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2335,1
    - Dst: BIO_new_mem_buf
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2338,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2338,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2338,1
    - Dst: PEM_read_bio_X509
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2341,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2341,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2343,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2343,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2343,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2348,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2348,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2352,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2352,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2353,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2354,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2354,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2355,1
    - Dst: SSL_CTX_add_extra_chain_cert_bio
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2360,1
    - Dst: scoped_BIO::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2360,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2361,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2362,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2362,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2366,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2367,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2367,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2368,1
    - Dst: SSLPrivateKeyHandler
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2370,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2370,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2370,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2370,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2371,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2371,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2371,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2372,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2372,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2381,1
    - Dst: SSL_CTX_add_extra_chain_cert_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2382,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2382,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2383,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2383,1
    - Dst: SSLConfigParams::load_ssl_file_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2387,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2387,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2393,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2395,1
    - Dst: SSL_CTX_add_extra_chain_cert_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2396,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2396,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2397,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2397,1
    - Dst: SSLConfigParams::load_ssl_file_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2401,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2401,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2407,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2408,1
    - Dst: ssl_stapling_init_cert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2409,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2409,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2409,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2410,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2410,1
    - Dst: ssl_stapling_init_cert
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2413,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2413,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2414,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2414,1
    - Dst: X509_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2418,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 6
    argNames:
    - ctx
    - cert_names_list
    - key_list
    - data
    - params
    - sslMultCertSettings
    argTypes:
    - SSL_CTX*
    - std::vector<std::string>
    - std::vector<std::string>
    - CertLoadData
    - SSLConfigParams*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2314
    functionDepth: 5
    functionLinenumber: 2314
    functionLinenumberEnd: 2421
    functionName: SSLMultiCertConfigLoader::load_certs
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    - std::string::data
    - std::vector<std::string>::empty
    - SSLConfigParams::load_ssl_file_cb
    - X509_free
    - std::string::empty
    - SSL_CTX_add_extra_chain_cert_bio
    - std::move
    - std::string::c_str
    - SSL_CTX_add_extra_chain_cert_file
    - scoped_BIO::get
    - Warning
    - SSLPrivateKeyHandler
    - Dbg
    - Layout::relative_to
    - SSL_CTX_set_tlsext_status_cb
    - ink_assert
    - std::vector<std::string>::size
    - SSLConfigParams*::secrets::getOrLoadSecret
    - std::string::size
    - c_str
    - ssl_stapling_init_cert
    - SSL_CTX_use_certificate
    linkageType: ''
    returnType: bool
    signature: "bool SSLMultiCertConfigLoader::load_certs(SSL_CTX *ctx, const std::vector<std::string>
      &cert_names_list,\n                                     const std::vector<std::string>
      &key_list, CertLoadData const &data,\n                                     const
      SSLConfigParams *params, const SSLMultiCertConfigParams *sslMultCertSettings)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2431,1
    - Dst: STACK_OF
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2432,1
    - Dst: SSLMultiCertConfigParams*::cert::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2435,1
    - Dst: SSL_load_client_CA_file
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2439,1
    - Dst: EVP_DigestInit_ex
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2442,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2443,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2448,1
    - Dst: SSLMultiCertConfigParams*::cert::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2448,1
    - Dst: EVP_DigestUpdate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2449,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2449,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2450,1
    - Dst: SSLMultiCertConfigParams*::cert::get
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2450,1
    - Dst: sk_X509_NAME_num
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2456,1
    - Dst: sk_X509_NAME_value
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2459,1
    - Dst: X509_NAME_digest
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2460,1
    - Dst: EVP_DigestUpdate
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2461,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2462,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2468,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2471,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2472,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2476,1
    - Dst: SSLError
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2477,1
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2484,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - params
    - sslMultCertSettings
    argTypes:
    - SSL_CTX*
    - SSLConfigParams*
    - SSLMultiCertConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2427
    functionDepth: 1
    functionLinenumber: 2427
    functionLinenumberEnd: 2487
    functionName: SSLMultiCertConfigLoader::set_session_id_context
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - SSLError
    - EVP_DigestInit_ex
    - EVP_MD_CTX_new
    - EVP_DigestFinal_ex
    - sk_X509_NAME_num
    - SSL_load_client_CA_file
    - SSLMultiCertConfigParams*::cert::get
    - Dbg
    - sk_X509_NAME_value
    - strlen
    - EVP_DigestUpdate
    - SSL_CTX_set_client_CA_list
    - SSL_CTX_set_session_id_context
    - EVP_MD_CTX_free
    - X509_NAME_digest
    - STACK_OF
    linkageType: ''
    returnType: bool
    signature: "bool SSLMultiCertConfigLoader::set_session_id_context(SSL_CTX *ctx,
      const SSLConfigParams *params,\n                                                 const
      SSLMultiCertConfigParams *sslMultCertSettings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2493
    functionName: SSLMultiCertConfigLoader::_debug_tag
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SSLMultiCertConfigLoader::_debug_tag() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _debug_tag
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2495
    functionDepth: 0
    functionLinenumber: 2495
    functionLinenumberEnd: 2500
    functionName: '&

      SSLMultiCertConfigLoader::_dbg_ctl() const'
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 0
    functionsReached:
    - _debug_tag
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      SSLMultiCertConfigLoader::_dbg_ctl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2509,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2510,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2512
    functionName: SSLMultiCertConfigLoader::clear_pw_references
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_set_default_passwd_cb_userdata
    linkageType: ''
    returnType: void
    signature: void SSLMultiCertConfigLoader::clear_pw_references(SSL_CTX *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_shared_curve
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2518,1
    - Dst: SSL_get_curve_id
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2522
    functionName: SSLGetCurveNID
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 4
    functionsReached:
    - SSL_get_curve_id
    - SSL_get_shared_curve
    linkageType: ''
    returnType: ssl_curve_id
    signature: ssl_curve_id SSLGetCurveNID(SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_dup
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2528,1
    - Dst: i2d_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2531,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2535,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2535,1
    - Dst: i2d_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2538,1
    - Dst: d2i_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2540,1
    - Dst: const_cast<const uint8_t **>
      Src: /src/trafficserver/src/iocore/net/SSLUtils.cc:2540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sess
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2546
    functionName: SSLSessionDup
    functionSourceFile: /src/trafficserver/src/iocore/net/SSLUtils.cc
    functionUses: 1
    functionsReached:
    - i2d_SSL_SESSION
    - static_cast<uint8_t *>
    - d2i_SSL_SESSION
    - const_cast<const uint8_t **>
    - alloca
    - SSL_SESSION_dup
    linkageType: ''
    returnType: SSL_SESSION
    signature: 'SSL_SESSION *

      SSLSessionDup(SSL_SESSION *sess)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: FetchSM::is_initialized
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::is_initialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: FetchSM::ext_launch
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_launch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: FetchSM::ext_destroy
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: FetchSM::ext_read_data
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FetchSM::ext_read_data(char *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: FetchSM::ext_add_header
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_add_header(char const *, int, char const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: FetchSM::ext_write_data
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_write_data(void const *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: FetchSM::ext_get_user_data
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      FetchSM::ext_get_user_data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: FetchSM::ext_set_user_data
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_set_user_data(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: FetchSM::ext_init
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_init(Continuation *, char const *, char const *,
      char const *, sockaddr const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ChunkedHandler::ChunkedHandler
    functionSourceFile: /src/trafficserver/src/iocore/net/libinknet_stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::ChunkedHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:44,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:45,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:46,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:46,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:48,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:49,1
    - Dst: enabled
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:49,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:50,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:52,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:53,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:55,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:56,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:58,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:59,1
    - Dst: SSLConfig::startup
      Src: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: EventProcessorListener::testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - start
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - EThread*::set_specific
    - SSLConfig::startup
    - LibRecordsConfigInit
    - enabled
    - EThread::EThread
    - diags
    - Diags::Diags
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: EventProcessorListener::testRunEnded
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/unit_test_main.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testRunEnded(Catch::TestRunStats const & /* testRunStats */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: _STR
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: _XSTR
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _XSTR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc:44,1
    - Dst: YamlSNIConfig::Item::inbound_port_ranges::at
      Src: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc:44,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc:45,1
    - Dst: YamlSNIConfig::Item::inbound_port_ranges::at
      Src: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - item
    - min_expected
    - max_expected
    argTypes:
    - YamlSNIConfig::Item
    - in_port_t
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: check_port_range
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/test_YamlSNIConfig.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - YamlSNIConfig::Item::inbound_port_ranges::at
    linkageType: ''
    returnType: void
    signature: void check_port_range(const YamlSNIConfig::Item &item, in_port_t min_expected,
      in_port_t max_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: _STR
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/test_SSLSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: _XSTR
    functionSourceFile: /src/trafficserver/src/iocore/net/unit_tests/test_SSLSNIConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _XSTR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamAdapter::_read
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamAdapter.cc:29,1
    - Dst: QUICStreamAdapter::_stream::on_read
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamAdapter.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: QUICStreamAdapter::read
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamAdapter::_stream::on_read
    - QUICStreamAdapter::_read
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> QUICStreamAdapter::read(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/quic/QUICApplication.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUICConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: QUICApplication::QUICApplication
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICApplication.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void QUICApplication::QUICApplication(QUICConnection *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: QUICApplication::~QUICApplication()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICApplication.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICApplication::~QUICApplication()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - app_map
    argTypes:
    - QUICContext*
    - QUICApplicationMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: QUICStreamManager::QUICStreamManager
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::QUICStreamManager(QUICContext *context, QUICApplicationMap
      *app_map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:36,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: QUICStreamManager::~QUICStreamManager()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached:
    - empty
    - remove
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::~QUICStreamManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamManager::_app_map::set_default
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - app
    argTypes:
    - QUICApplication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: QUICStreamManager::set_default_application
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached:
    - QUICStreamManager::_app_map::set_default
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::set_default_application(QUICApplication *app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: QUICStreamManager::init_flow_control_params
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void QUICStreamManager::init_flow_control_params(const std::shared_ptr<const
      QUICTransportParameters> & /* local_tp ATS_UNUSED */,\n                                            const
      std::shared_ptr<const QUICTransportParameters> & /* remote_tp ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: QUICStreamManager::set_max_streams_bidi
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::set_max_streams_bidi(uint64_t /* max_streams
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: QUICStreamManager::set_max_streams_uni
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::set_max_streams_uni(uint64_t /* max_streams
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: QUICStreamManager::total_reordered_bytes
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamManager::total_reordered_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: QUICStreamManager::total_offset_received
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamManager::total_offset_received() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: QUICStreamManager::total_offset_sent
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamManager::total_offset_sent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: QUICStreamManager::stream_count
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICStreamManager::stream_count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICStream*::id
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: QUICStreamManager::find_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached:
    - QUICStream*::id
    linkageType: ''
    returnType: QUICStream
    signature: 'QUICStream *

      QUICStreamManager::find_stream(QUICStreamId stream_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamManager::_context::connection_info
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:107,1
    - Dst: QUICStream::QUICStream
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:107,1
    - Dst: QUICStreamManager::stream_list::push
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:108,1
    - Dst: QUICStreamManager::_app_map::get
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:110,1
    - Dst: QUICApplication*::on_stream_open
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: QUICStreamManager::create_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached:
    - QUICStream::QUICStream
    - QUICApplication*::on_stream_open
    - QUICStreamManager::_context::connection_info
    - QUICStreamManager::stream_list::push
    - QUICStreamManager::_app_map::get
    linkageType: ''
    returnType: QUICStream
    signature: 'QUICStream *

      QUICStreamManager::create_stream(QUICStreamId stream_id, QUICConnectionError
      & /* err ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: QUICStreamManager::create_uni_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionErrorUPtr
    signature: QUICConnectionErrorUPtr QUICStreamManager::create_uni_stream(QUICStreamId
      /* new_stream_id ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: QUICStreamManager::create_bidi_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionErrorUPtr
    signature: QUICConnectionErrorUPtr QUICStreamManager::create_bidi_stream(QUICStreamId
      /* new_stream_id ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStream *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:130,1
    - Dst: QUICStreamManager::find_stream
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:130,1
    - Dst: QUICStreamManager::_app_map::get
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:132,1
    - Dst: QUICApplication*::on_stream_close
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:133,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: QUICStreamManager::delete_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached:
    - QUICApplication*::on_stream_close
    - static_cast<QUICStream *>
    - QUICStreamManager::find_stream
    - remove
    - QUICStreamManager::_app_map::get
    linkageType: ''
    returnType: QUICConnectionErrorUPtr
    signature: QUICConnectionErrorUPtr QUICStreamManager::delete_stream(QUICStreamId
      stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: QUICStreamManager::reset_stream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::reset_stream(QUICStreamId /* stream_id ATS_UNUSED
      */, QUICStreamErrorUPtr /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: QUICStreamManager::on_stream_state_close
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamManager::on_stream_state_close(const QUICStream * /*
      stream ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: QUICGlobalDebug
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICGlobalDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC::_register_stats
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:49,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:50,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:50,1
    - Dst: SSL_get_ex_new_index
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:51,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: QUIC::init
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc
    functionUses: 1
    functionsReached:
    - SSL_get_ex_new_index
    - QUIC::_register_stats
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void QUIC::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICTLS *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:59,1
    - Dst: SSL_get_ex_data
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:59,1
    - Dst: QUICTLS*::session_file
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:60,1
    - Dst: BIO_new_file
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:61,1
    - Dst: QUICGlobalDebug
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:64,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:68,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: QUIC::ssl_client_new_session
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc
    functionUses: 0
    functionsReached:
    - QUICTLS*::session_file
    - QUICGlobalDebug
    - BIO_new_file
    - BIO_free
    - static_cast<QUICTLS *>
    - PEM_write_bio_SSL_SESSION
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int QUIC::ssl_client_new_session([[maybe_unused]] SSL *ssl, [[maybe_unused]]
      SSL_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: QUIC::_register_stats
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICGlobals.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void QUIC::_register_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - QUICConnectionInfoProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: QUICContext::QUICContext
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICContext.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICContext::QUICContext(QUICConnectionInfoProvider *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: QUICContext::connection_info
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICContext.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionInfoProvider
    signature: 'QUICConnectionInfoProvider *

      QUICContext::connection_info() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: QUICContext::config
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICContext.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConfig::scoped_config
    signature: QUICConfig::scoped_config QUICContext::config() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:45,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:45,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: QUICTransportParameters::Value::Value(const uint8_t *data, uint16_t
      len)
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_malloc
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::Value::Value(const uint8_t *data, uint16_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: QUICTransportParameters::Value::~Value()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::Value::~Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: QUICTransportParameters::is_valid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICTransportParameters::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: '*

      QUICTransportParameters::Value::data() const'
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      QUICTransportParameters::Value::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: QUICTransportParameters::Value::len() const
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QUICTransportParameters::Value::len() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_load
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:75,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:76,1
    - Dst: QUICTransportParameters::_print
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - version
    argTypes:
    - uint8_t*
    - size_t
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: QUICTransportParameters::QUICTransportParameters
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICTransportParameters::_print
    - 'on'
    - QUICTransportParameters::_load
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::QUICTransportParameters(const uint8_t
      *buf, size_t len, QUICVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: QUICTransportParameters::~QUICTransportParameters()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::~QUICTransportParameters()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:100,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:110,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:110,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:116,1
    - Dst: QUICTransportParameters::_parameters::insert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:126,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:126,1
    - Dst: Value::Value
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:126,1
    - Dst: QUICTransportParameters::_validate_parameters
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:141,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - len
    - version
    argTypes:
    - uint8_t*
    - size_t
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 148
    functionName: QUICTransportParameters::_load
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 1
    functionsReached:
    - QUICVariableInt::decode
    - QUICTransportParameters::_validate_parameters
    - QUICTransportParameters::_parameters::insert
    - Value::Value
    - std::make_pair
    - Dbg
    - QUICTransportParameters::_parameters::end
    - QUICTransportParameters::_parameters::find
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::_load(const uint8_t *buf, size_t len,
      QUICVersion version)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:158,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:158,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:160,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:160,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:162,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:162,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:164,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:164,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:166,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:166,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:167,1
    - Dst: decltype(this->_parameters)::const_iterator::second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:167,1
    - Dst: decltype(this->_parameters)::const_iterator::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:167,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:172,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:172,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:173,1
    - Dst: decltype(this->_parameters)::const_iterator::second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:173,1
    - Dst: decltype(this->_parameters)::const_iterator::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:173,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:179,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:179,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:181,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:181,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:183,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:183,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:185,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:185,1
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:187,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - version
    argTypes:
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 190
    functionName: QUICTransportParameters::_validate_parameters
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 1
    functionsReached:
    - decltype(this->_parameters)::const_iterator::second::data
    - decltype(this->_parameters)::const_iterator::second::len
    - QUICTransportParameters::_parameters::end
    - QUICIntUtil::read_nbytes_as_uint
    - QUICTransportParameters::_parameters::find
    linkageType: ''
    returnType: int
    signature: int QUICTransportParameters::_validate_parameters(QUICVersion version)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:195,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:196,1
    - Dst: auto::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:197,1
    - Dst: auto::second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tpid
    - len
    argTypes:
    - QUICTransportParameterId
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: QUICTransportParameters::getAsBytes
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - auto::second::data
    - QUICTransportParameters::_parameters::find
    - QUICTransportParameters::_parameters::end
    - auto::second::len
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      QUICTransportParameters::getAsBytes(QUICTransportParameterId tpid, uint16_t
      &len) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::getAsBytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:211,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tpid
    argTypes:
    - QUICTransportParameterId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: QUICTransportParameters::getAsUInt
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    - QUICTransportParameters::getAsBytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTransportParameters::getAsUInt(QUICTransportParameterId
      tpid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:224,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICTransportParameterId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: QUICTransportParameters::contains
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICTransportParameters::_parameters::find
    - QUICTransportParameters::_parameters::end
    linkageType: ''
    returnType: bool
    signature: bool QUICTransportParameters::contains(QUICTransportParameterId id)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:231,1
    - Dst: QUICTransportParameters::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:231,1
    - Dst: QUICTransportParameters::_parameters::erase
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:232,1
    - Dst: QUICTransportParameters::_parameters::insert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:234,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:234,1
    - Dst: Value::Value
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - id
    - value
    - value_len
    argTypes:
    - QUICTransportParameterId
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: QUICTransportParameters::set
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICTransportParameters::_parameters::erase
    - QUICTransportParameters::_parameters::insert
    - Value::Value
    - std::make_pair
    - QUICTransportParameters::_parameters::end
    - QUICTransportParameters::_parameters::find
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::set(QUICTransportParameterId id, const
      uint8_t *value, uint16_t value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:242,1
    - Dst: QUICTransportParameters::set
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - QUICTransportParameterId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: QUICTransportParameters::set
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 1
    functionsReached:
    - QUICTransportParameters::set
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::set(QUICTransportParameterId id, uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:255,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:257,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:257,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:259,1
    - Dst: second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:259,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:259,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:260,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:265,1
    - Dst: QUICTransportParameters::_print
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: QUICTransportParameters::store
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - 'on'
    - second::data
    - second::len
    - QUICVariableInt::encode
    - QUICTransportParameters::_print
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::store(uint8_t *buf, uint16_t *len) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:274,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:275,1
    - Dst: QUICDebugNames::transport_parameter_id
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:275,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:276,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:279,1
    - Dst: second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:279,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:279,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:280,1
    - Dst: QUICDebugNames::transport_parameter_id
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:280,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:281,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:282,1
    - Dst: to_hex_str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:284,1
    - Dst: second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:284,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:284,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:285,1
    - Dst: QUICDebugNames::transport_parameter_id
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:285,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:285,1
    - Dst: second::data
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:288,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:288,1
    - Dst: to_hex_str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:292,1
    - Dst: QUICPreferredAddress::token
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:292,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:293,1
    - Dst: QUICPreferredAddress::endpoint_ipv4
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:293,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:294,1
    - Dst: QUICPreferredAddress::endpoint_ipv6
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:295,1
    - Dst: QUICDebugNames::transport_parameter_id
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:295,1
    - Dst: QUICPreferredAddress::cid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:296,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:298,1
    - Dst: QUICDebugNames::transport_parameter_id
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:298,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:299,1
    - Dst: second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 302
    functionName: QUICTransportParameters::_print
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 2
    functionsReached:
    - QUICVariableInt::decode
    - to_hex_str
    - QUICDebugNames::transport_parameter_id
    - QUICPreferredAddress::token
    - second::data
    - second::len
    - ats_ip_nptop
    - Dbg
    - QUICPreferredAddress::endpoint_ipv4
    - QUICPreferredAddress::endpoint_ipv6
    - QUICPreferredAddress::cid
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters::_print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - buf
    - len
    - version
    argTypes:
    - uint8_t*
    - size_t
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: QUICTransportParametersInClientHello::QUICTransportParametersInClientHello
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParametersInClientHello::QUICTransportParametersInClientHello(const
      uint8_t *buf, size_t len, QUICVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: QUICTransportParametersInClientHello::_parameters_offset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t QUICTransportParametersInClientHello::_parameters_offset(const
      uint8_t *) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_validate_parameters
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:322,1
    - Dst: QUICTransportParametersInClientHello::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:330,1
    - Dst: QUICTransportParametersInClientHello::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:330,1
    - Dst: QUICTransportParametersInClientHello::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:334,1
    - Dst: QUICTransportParametersInClientHello::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:334,1
    - Dst: QUICTransportParametersInClientHello::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:338,1
    - Dst: QUICTransportParametersInClientHello::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:338,1
    - Dst: QUICTransportParametersInClientHello::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:342,1
    - Dst: QUICTransportParametersInClientHello::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - version
    argTypes:
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: QUICTransportParametersInClientHello::_validate_parameters
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICTransportParameters::_validate_parameters
    - QUICTransportParametersInClientHello::_parameters::find
    - QUICTransportParametersInClientHello::_parameters::end
    linkageType: ''
    returnType: int
    signature: int QUICTransportParametersInClientHello::_validate_parameters(QUICVersion
      version) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - buf
    - len
    - version
    argTypes:
    - uint8_t*
    - size_t
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: QUICTransportParametersInEncryptedExtensions::QUICTransportParametersInEncryptedExtensions
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void QUICTransportParametersInEncryptedExtensions::QUICTransportParametersInEncryptedExtensions(const
      uint8_t *buf, size_t len,\n                                                                                           QUICVersion
      version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: QUICTransportParametersInEncryptedExtensions::_parameters_offset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t QUICTransportParametersInEncryptedExtensions::_parameters_offset(const
      uint8_t *buf) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_validate_parameters
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:368,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:376,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:376,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:382,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:382,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:390,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:390,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:397,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:397,1
    - Dst: decltype(this->_parameters)::const_iterator::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:398,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:403,1
    - Dst: QUICTransportParametersInEncryptedExtensions::_parameters::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:403,1
    - Dst: decltype(this->_parameters)::const_iterator::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:404,1
    - Dst: decltype(this->_parameters)::const_iterator::second::len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - version
    argTypes:
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 410
    functionName: QUICTransportParametersInEncryptedExtensions::_validate_parameters
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransportParameters.cc
    functionUses: 0
    functionsReached:
    - QUICTransportParameters::_validate_parameters
    - decltype(this->_parameters)::const_iterator::second::len
    - QUICTransportParametersInEncryptedExtensions::_parameters::find
    - QUICTransportParametersInEncryptedExtensions::_parameters::end
    linkageType: ''
    returnType: int
    signature: int QUICTransportParametersInEncryptedExtensions::_validate_parameters(QUICVersion
      version) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:27,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: QUICStreamVCAdapter::QUICStreamVCAdapter
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::QUICStreamVCAdapter(QUICStream &stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::_read_ready_event::cancel
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:35,1
    - Dst: QUICStreamVCAdapter::_read_complete_event::cancel
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:40,1
    - Dst: QUICStreamVCAdapter::_write_ready_event::cancel
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:45,1
    - Dst: QUICStreamVCAdapter::_write_complete_event::cancel
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:50,1
    - Dst: QUICStreamVCAdapter::_eos_event::cancel
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: QUICStreamVCAdapter::~QUICStreamVCAdapter()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::_eos_event::cancel
    - QUICStreamVCAdapter::_read_complete_event::cancel
    - QUICStreamVCAdapter::_write_ready_event::cancel
    - QUICStreamVCAdapter::_read_ready_event::cancel
    - QUICStreamVCAdapter::_write_complete_event::cancel
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::~QUICStreamVCAdapter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:65,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:65,1
    - Dst: QUICStreamVCAdapter::_read_vio::get_writer
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - offset
    - data
    - data_length
    - fin
    argTypes:
    - QUICOffset
    - uint8_t*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: QUICStreamVCAdapter::write
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - QUICStreamVCAdapter::_read_vio::get_writer
    - this_ethread
    linkageType: ''
    returnType: int64_t
    signature: int64_t QUICStreamVCAdapter::write(QUICOffset offset, const uint8_t
      *data, uint64_t data_length, bool fin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:84,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:84,1
    - Dst: QUICStreamVCAdapter::_write_vio::get_reader
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:86,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:87,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:87,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:88,1
    - Dst: Ptr::consume
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:89,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:90,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:90,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:91,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:93,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: QUICStreamVCAdapter::_read
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader*::get_current_block
    - Ptr::size
    - QUICStreamVCAdapter::_write_vio::get_reader
    - SCOPED_MUTEX_LOCK
    - make_ptr
    - Ptr::consume
    - min
    - IOBufferReader*::consume
    - this_ethread
    - Ptr::start
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> QUICStreamVCAdapter::_read(size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:103,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:103,1
    - Dst: QUICStreamVCAdapter::_write_vio::ntodo
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: QUICStreamVCAdapter::is_eos
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - QUICStreamVCAdapter::_write_vio::ntodo
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool QUICStreamVCAdapter::is_eos()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:121,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:121,1
    - Dst: QUICStreamVCAdapter::_write_vio::get_reader
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: QUICStreamVCAdapter::unread_len
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::_write_vio::get_reader
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamVCAdapter::unread_len()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:132,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: QUICStreamVCAdapter::read_len
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamVCAdapter::read_len()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:143,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: QUICStreamVCAdapter::total_len
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStreamVCAdapter::total_len()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:157,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:157,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:165,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: QUICStreamVCAdapter::encourge_read
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::encourge_read()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:182,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:182,1
    - Dst: QUICStreamVCAdapter::_write_vio::ntodo
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:188,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:190,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: QUICStreamVCAdapter::encourge_write
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - QUICStreamVCAdapter::_write_vio::ntodo
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::encourge_write()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:213,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:213,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:214,1
    - Dst: QUICStreamVCAdapter::_read_vio::cont::handleEvent
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:215,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: QUICStreamVCAdapter::notify_eos
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - this_ethread
    - QUICStreamVCAdapter::_read_vio::cont::handleEvent
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::notify_eos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: QUICStreamVCAdapter::clear_read_ready_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::clear_read_ready_event(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: QUICStreamVCAdapter::clear_read_complete_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::clear_read_complete_event(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: QUICStreamVCAdapter::clear_write_ready_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::clear_write_ready_event(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: QUICStreamVCAdapter::clear_write_complete_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::clear_write_complete_event(Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: QUICStreamVCAdapter::clear_eos_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::clear_eos_event(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::_read_vio::set_writer
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:264,1
    - Dst: QUICStreamVCAdapter::_read_vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: QUICStreamVCAdapter::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::_read_vio::set_writer
    - QUICStreamVCAdapter::_read_vio::buffer::clear
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      QUICStreamVCAdapter::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::_write_vio::set_reader
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:283,1
    - Dst: QUICStreamVCAdapter::_write_vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: QUICStreamVCAdapter::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::_write_vio::set_reader
    - QUICStreamVCAdapter::_write_vio::buffer::clear
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      QUICStreamVCAdapter::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool /* owner ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:301,1
    - Dst: QUICStreamVCAdapter::_read_vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:303,1
    - Dst: QUICStreamVCAdapter::_write_vio::buffer::clear
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: QUICStreamVCAdapter::do_io_close
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - QUICStreamVCAdapter::_write_vio::buffer::clear
    - QUICStreamVCAdapter::_read_vio::buffer::clear
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::do_io_close(int /* lerrno ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: QUICStreamVCAdapter::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::do_io_shutdown(ShutdownHowTo_t /* howto ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: QUICStreamVCAdapter::reenable
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamVCAdapter::reenable(VIO * /* vio ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::stream
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: QUICStreamVCAdapter::is_readable
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::stream
    linkageType: ''
    returnType: bool
    signature: bool QUICStreamVCAdapter::is_readable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::stream
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: QUICStreamVCAdapter::is_writable
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::stream
    linkageType: ''
    returnType: bool
    signature: bool QUICStreamVCAdapter::is_writable()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::encourge_read
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:351,1
    - Dst: QUICStreamVCAdapter::encourge_write
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:356,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:364,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 372
    functionName: QUICStreamVCAdapter::state_stream_open
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter::encourge_read
    - ink_assert
    - QUICStreamVCAdapter::encourge_write
    linkageType: ''
    returnType: int
    signature: int QUICStreamVCAdapter::state_stream_open(int event, void * /* data
      ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:393,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 401
    functionName: QUICStreamVCAdapter::state_stream_closed
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStreamVCAdapter.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int QUICStreamVCAdapter::state_stream_closed(int event, void * /* data
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - QUICStreamAdapter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: QUICTransferProgressProviderSA::set_stream_adapter
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransferProgressProviderSA::set_stream_adapter(QUICStreamAdapter
      *adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransferProgressProviderSA::transfer_goal
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: QUICTransferProgressProviderSA::is_transfer_goal_set
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached:
    - QUICTransferProgressProviderSA::transfer_goal
    linkageType: ''
    returnType: bool
    signature: bool QUICTransferProgressProviderSA::is_transfer_goal_set() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransferProgressProviderSA::_adapter::read_len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: QUICTransferProgressProviderSA::transfer_progress
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached:
    - QUICTransferProgressProviderSA::_adapter::read_len
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTransferProgressProviderSA::transfer_progress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransferProgressProviderSA::_adapter::total_len
      Src: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: QUICTransferProgressProviderSA::transfer_goal
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 1
    functionsReached:
    - QUICTransferProgressProviderSA::_adapter::total_len
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTransferProgressProviderSA::transfer_goal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: QUICTransferProgressProviderSA::is_cancelled
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICTransferProgressProviderSA::is_cancelled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: QUICTransferProgressProviderVIO::is_transfer_goal_set
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICTransferProgressProviderVIO::is_transfer_goal_set() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: QUICTransferProgressProviderVIO::transfer_progress
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTransferProgressProviderVIO::transfer_progress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: QUICTransferProgressProviderVIO::transfer_goal
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTransferProgressProviderVIO::transfer_goal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: QUICTransferProgressProviderVIO::is_cancelled
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTransferProgressProvider.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICTransferProgressProviderVIO::is_cancelled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: QUICVariableInt::size
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t QUICVariableInt::size(const uint8_t *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: QUICVariableInt::size
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t QUICVariableInt::size(uint64_t src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dst
    - dst_len
    - len
    - src
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: QUICVariableInt::encode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 1
    functionsReached:
    - QUICIntUtil::write_uint_as_nbytes
    linkageType: ''
    returnType: int
    signature: int QUICVariableInt::encode(uint8_t *dst, size_t dst_len, size_t &len,
      uint64_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:95,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - dst
    - len
    - src
    - src_len
    argTypes:
    - uint64_t
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: QUICVariableInt::decode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 3
    functionsReached:
    - memcpy
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: int
    signature: int QUICVariableInt::decode(uint64_t &dst, size_t &len, const uint8_t
      *src, size_t src_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: QUICIntUtil::read_QUICVariableInt
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICIntUtil::read_QUICVariableInt(const uint8_t *buf, size_t
      buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: QUICIntUtil::write_QUICVariableInt
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 1
    functionsReached:
    - QUICVariableInt::encode
    linkageType: ''
    returnType: void
    signature: void QUICIntUtil::write_QUICVariableInt(uint64_t data, uint8_t *buf,
      size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:122,1
    - Dst: be64toh
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: QUICIntUtil::read_nbytes_as_uint
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICIntUtil::read_nbytes_as_uint(const uint8_t *buf, uint8_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:129,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:130,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - value
    - n
    - buf
    - len
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: QUICIntUtil::write_uint_as_nbytes
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICIntUtil.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - reinterpret_cast<uint8_t *>
    - htobe64
    linkageType: ''
    returnType: void
    signature: void QUICIntUtil::write_uint_as_nbytes(uint64_t value, uint8_t n, uint8_t
      *buf, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICApplicationMap::_map::find
      Src: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc:29,1
    - Dst: QUICApplicationMap::_map::end
      Src: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc:30,1
    - Dst: auto::second::get
      Src: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: QUICApplicationMap::get
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc
    functionUses: 0
    functionsReached:
    - QUICApplicationMap::_map::find
    - QUICApplicationMap::_map::end
    - auto::second::get
    linkageType: ''
    returnType: QUICApplication
    signature: 'QUICApplication *

      QUICApplicationMap::get(QUICStreamId id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - app
    argTypes:
    - QUICStreamId
    - std::unique_ptr<QUICApplication>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: QUICApplicationMap::set
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void QUICApplicationMap::set(QUICStreamId id, std::unique_ptr<QUICApplication>
      app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - app
    argTypes:
    - QUICApplication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: QUICApplicationMap::set_default
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICApplicationMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICApplicationMap::set_default(QUICApplication *app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cinfo
    - sid
    argTypes:
    - QUICConnectionInfoProvider*
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: QUICStream::QUICStream
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::QUICStream(QUICConnectionInfoProvider *cinfo, QUICStreamId
      sid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: QUICStream::~QUICStream()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::~QUICStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: QUICStream::id
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QUICStreamId
    signature: QUICStreamId QUICStream::id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: QUICStream::connection_info
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionInfoProvider
    signature: 'QUICConnectionInfoProvider *

      QUICStream::connection_info()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTypeUtil::detect_stream_direction
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:48,1
    - Dst: QUICStream::_connection_info::direction
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: QUICStream::direction
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 1
    functionsReached:
    - QUICTypeUtil::detect_stream_direction
    - QUICStream::_connection_info::direction
    linkageType: ''
    returnType: QUICStreamDirection
    signature: QUICStreamDirection QUICStream::direction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: QUICStream::is_bidirectional
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICStream::is_bidirectional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: QUICStream::has_no_more_data
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICStream::has_no_more_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - QUICStreamAdapter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: QUICStream::set_io_adapter
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::set_io_adapter(QUICStreamAdapter *adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: QUICStream::final_offset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICOffset
    signature: QUICOffset QUICStream::final_offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: QUICStream::stop_sending
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::stop_sending(QUICStreamErrorUPtr /* error ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: QUICStream::reset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::reset(QUICStreamErrorUPtr /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: QUICStream::on_read
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::on_read()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: QUICStream::on_eos
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream::on_eos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_stream_recv
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:104,1
    - Dst: QUICStream::_adapter::write
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:105,1
    - Dst: quiche_conn_stream_finished
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:108,1
    - Dst: QUICStream::_adapter::encourge_read
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - quiche_con
    argTypes:
    - quiche_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: QUICStream::receive_data
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached:
    - QUICStream::_adapter::write
    - quiche_conn_stream_recv
    - quiche_conn_stream_finished
    - QUICStream::_adapter::encourge_read
    linkageType: ''
    returnType: void
    signature: void QUICStream::receive_data(quiche_conn *quiche_con)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_stream_capacity
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:121,1
    - Dst: QUICStream::_adapter::read
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:125,1
    - Dst: QUICStream::_adapter::total_len
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:126,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:126,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:129,1
    - Dst: quiche_conn_stream_send
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:131,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:131,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:131,1
    - Dst: Ptr::size
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:131,1
    - Dst: QUICStream::_adapter::encourge_write
      Src: /src/trafficserver/src/iocore/net/quic/QUICStream.cc:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - quiche_con
    argTypes:
    - quiche_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: QUICStream::send_data
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICStream.cc
    functionUses: 0
    functionsReached:
    - QUICStream::_adapter::total_len
    - QUICStream::_adapter::encourge_write
    - Ptr::size
    - quiche_conn_stream_send
    - quiche_conn_stream_capacity
    - reinterpret_cast<uint8_t *>
    - QUICStream::_adapter::read
    - Ptr::start
    linkageType: ''
    returnType: void
    signature: void QUICStream::send_data(quiche_conn *quiche_con)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: to_hex_str
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int to_hex_str(char *dst, size_t dst_len, const uint8_t *src, size_t
      src_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - version
    argTypes:
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: QUICTypeUtil::is_supported_version
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICTypeUtil::is_supported_version(QUICVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamType>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: QUICTypeUtil::detect_stream_type
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICStreamType>
    linkageType: ''
    returnType: QUICStreamType
    signature: QUICStreamType QUICTypeUtil::detect_stream_type(QUICStreamId id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUICTypeUtil::detect_stream_type
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - id
    - context
    argTypes:
    - QUICStreamId
    - NetVConnectionContext_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: QUICTypeUtil::detect_stream_direction
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICTypeUtil::detect_stream_type
    linkageType: ''
    returnType: QUICStreamDirection
    signature: QUICStreamDirection QUICTypeUtil::detect_stream_direction(QUICStreamId
      id, NetVConnectionContext_t context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - QUICPacketType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: QUICTypeUtil::encryption_level
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: QUICEncryptionLevel
    signature: QUICEncryptionLevel QUICTypeUtil::encryption_level(QUICPacketType type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - level
    argTypes:
    - QUICEncryptionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: QUICTypeUtil::packet_type
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: QUICPacketType
    signature: QUICPacketType QUICTypeUtil::packet_type(QUICEncryptionLevel level)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - QUICPacketType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: QUICTypeUtil::key_phase
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICKeyPhase
    signature: QUICKeyPhase QUICTypeUtil::key_phase(QUICPacketType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - level
    argTypes:
    - QUICEncryptionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: QUICTypeUtil::pn_space
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICPacketNumberSpace
    signature: QUICPacketNumberSpace QUICTypeUtil::pn_space(QUICEncryptionLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: QUICTypeUtil::read_QUICConnectionId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICTypeUtil::read_QUICConnectionId(const uint8_t
      *buf, uint8_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: QUICTypeUtil::read_QUICPacketNumberLen
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int QUICTypeUtil::read_QUICPacketNumberLen(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: QUICTypeUtil::write_QUICPacketNumberLen
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICPacketNumberLen(int len, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - encoded_length
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: QUICTypeUtil::read_QUICPacketNumber
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: QUICPacketNumber
    signature: QUICPacketNumber QUICTypeUtil::read_QUICPacketNumber(const uint8_t
      *buf, int encoded_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICVersion>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:194,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: QUICTypeUtil::read_QUICVersion
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICVersion>
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: QUICVersion
    signature: QUICVersion QUICTypeUtil::read_QUICVersion(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamId>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:200,1
    - Dst: QUICIntUtil::read_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: QUICTypeUtil::read_QUICStreamId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::read_QUICVariableInt
    - static_cast<QUICStreamId>
    linkageType: ''
    returnType: QUICStreamId
    signature: QUICStreamId QUICTypeUtil::read_QUICStreamId(const uint8_t *buf, size_t
      buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICOffset>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:206,1
    - Dst: QUICIntUtil::read_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: QUICTypeUtil::read_QUICOffset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICOffset>
    - QUICIntUtil::read_QUICVariableInt
    linkageType: ''
    returnType: QUICOffset
    signature: QUICOffset QUICTypeUtil::read_QUICOffset(const uint8_t *buf, size_t
      buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: QUICTypeUtil::read_QUICTransErrorCode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QUICTypeUtil::read_QUICTransErrorCode(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICAppErrorCode>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:218,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: QUICTypeUtil::read_QUICAppErrorCode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::read_nbytes_as_uint
    - static_cast<QUICAppErrorCode>
    linkageType: ''
    returnType: QUICAppErrorCode
    signature: QUICAppErrorCode QUICTypeUtil::read_QUICAppErrorCode(const uint8_t
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::read_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: QUICTypeUtil::read_QUICMaxData
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::read_QUICVariableInt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICTypeUtil::read_QUICMaxData(const uint8_t *buf, size_t
      buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:230,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:230,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - connection_id
    - buf
    - len
    argTypes:
    - QUICConnectionId
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: QUICTypeUtil::write_QUICConnectionId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - QUICConnectionId::length
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICConnectionId(QUICConnectionId connection_id,
      uint8_t *buf, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:237,1
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:238,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - packet_number
    - n
    - buf
    - len
    argTypes:
    - QUICPacketNumber
    - uint8_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: QUICTypeUtil::write_QUICPacketNumber
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - QUICIntUtil::write_uint_as_nbytes
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICPacketNumber(QUICPacketNumber packet_number,
      uint8_t n, uint8_t *buf, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:244,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - version
    - buf
    - len
    argTypes:
    - QUICVersion
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: QUICTypeUtil::write_QUICVersion
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - QUICIntUtil::write_uint_as_nbytes
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICVersion(QUICVersion version, uint8_t *buf,
      size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream_id
    - buf
    - len
    argTypes:
    - QUICStreamId
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: QUICTypeUtil::write_QUICStreamId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICStreamId(QUICStreamId stream_id, uint8_t
      *buf, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - offset
    - buf
    - len
    argTypes:
    - QUICOffset
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: QUICTypeUtil::write_QUICOffset
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICOffset(QUICOffset offset, uint8_t *buf,
      size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:262,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - error_code
    - buf
    - len
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: QUICTypeUtil::write_QUICTransErrorCode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICTransErrorCode(uint64_t error_code, uint8_t
      *buf, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:268,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - error_code
    - buf
    - len
    argTypes:
    - QUICAppErrorCode
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: QUICTypeUtil::write_QUICAppErrorCode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICAppErrorCode(QUICAppErrorCode error_code,
      uint8_t *buf, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - max_data
    - buf
    - len
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: QUICTypeUtil::write_QUICMaxData
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICIntUtil::write_QUICVariableInt
    linkageType: ''
    returnType: void
    signature: void QUICTypeUtil::write_QUICMaxData(uint64_t max_data, uint8_t *buf,
      size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:282,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:283,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:283,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:284,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:284,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:285,1
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:288,1
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - conn_id
    - instance_id
    argTypes:
    - QUICConnectionId
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: QUICStatelessResetToken::QUICStatelessResetToken
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - CryptoContext::update
    - reinterpret_cast<void *>
    - QUICIntUtil::write_uint_as_nbytes
    - strlen
    - CryptoContext::CryptoContext
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: void QUICStatelessResetToken::QUICStatelessResetToken(const QUICConnectionId
      &conn_id, uint32_t instance_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:295,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:295,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:296,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:296,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:297,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:297,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:298,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: QUICStatelessResetToken::_hashcode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICStatelessResetToken::_hashcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:307,1
    - Dst: std::setw
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:307,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:308,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: QUICStatelessResetToken::hex
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string QUICStatelessResetToken::hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:321,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:321,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:322,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:322,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:325,1
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:328,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:331,1
    - Dst: HMAC
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:332,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:332,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:334,1
    - Dst: QUICIntUtil::write_uint_as_nbytes
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:337,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - src
    - cid
    - expire_time
    argTypes:
    - IpEndpoint
    - QUICConnectionId
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 342
    functionName: QUICResumptionToken::QUICResumptionToken
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICTypeUtil::write_QUICConnectionId
    - ink_assert
    - ats_ip_nptop
    - HMAC
    - EVP_sha1
    - reinterpret_cast<char *>
    - strlen
    - static_cast<uint8_t>
    - QUICIntUtil::write_uint_as_nbytes
    linkageType: ''
    returnType: void
    signature: void QUICResumptionToken::QUICResumptionToken(const IpEndpoint &src,
      QUICConnectionId cid, ink_hrtime expire_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICResumptionToken::cid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:347,1
    - Dst: QUICResumptionToken::expire_time
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:347,1
    - Dst: QUICResumptionToken::expire_time
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:348,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: QUICResumptionToken::is_valid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - QUICResumptionToken::expire_time
    - QUICResumptionToken::cid
    linkageType: ''
    returnType: bool
    signature: bool QUICResumptionToken::is_valid(const IpEndpoint &src) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: QUICResumptionToken::cid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICTypeUtil::read_QUICConnectionId
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICResumptionToken::cid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: QUICResumptionToken::expire_time
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime QUICResumptionToken::expire_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:371,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:371,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:372,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:372,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:375,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:377,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:379,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:381,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:384,1
    - Dst: HMAC
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:385,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:385,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:387,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:390,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:392,1
    - Dst: QUICConnectionId::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:394,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - src
    - original_dcid
    - scid
    argTypes:
    - IpEndpoint
    - QUICConnectionId
    - QUICConnectionId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 398
    functionName: QUICRetryToken::QUICRetryToken
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICConnectionId::length
    - QUICTypeUtil::write_QUICConnectionId
    - ats_ip_nptop
    - HMAC
    - EVP_sha1
    - reinterpret_cast<char *>
    - strlen
    - static_cast<uint8_t>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICRetryToken::QUICRetryToken(const IpEndpoint &src, QUICConnectionId
      original_dcid, QUICConnectionId scid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICRetryToken::QUICRetryToken
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:403,1
    - Dst: QUICRetryToken::original_dcid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:403,1
    - Dst: QUICRetryToken::scid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: QUICRetryToken::is_valid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICRetryToken::original_dcid
    - QUICRetryToken::QUICRetryToken
    - QUICRetryToken::scid
    linkageType: ''
    returnType: bool
    signature: bool QUICRetryToken::is_valid(const IpEndpoint &src) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: QUICRetryToken::original_dcid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 2
    functionsReached:
    - QUICTypeUtil::read_QUICConnectionId
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICRetryToken::original_dcid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: QUICRetryToken::scid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICTypeUtil::read_QUICConnectionId
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICRetryToken::scid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: QUICConnectionError::frame_type
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: QUICFrameType
    signature: QUICFrameType QUICConnectionError::frame_type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:445,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:450,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:453,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:457,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:462,1
    - Dst: ats_ip6_set
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:465,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:468,1
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 477
    functionName: QUICPreferredAddress::QUICPreferredAddress
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - ats_ip6_set
    - memcpy
    - QUICIntUtil::read_nbytes_as_uint
    - ats_ip4_set
    - QUICTypeUtil::read_QUICConnectionId
    linkageType: ''
    returnType: void
    signature: void QUICPreferredAddress::QUICPreferredAddress(const uint8_t *buf,
      uint16_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: QUICPreferredAddress::is_available
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICPreferredAddress::is_available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICPreferredAddress::_endpoint_ipv4::isValid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: QUICPreferredAddress::has_ipv4
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICPreferredAddress::_endpoint_ipv4::isValid
    linkageType: ''
    returnType: bool
    signature: bool QUICPreferredAddress::has_ipv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICPreferredAddress::_endpoint_ipv6::isValid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: QUICPreferredAddress::has_ipv6
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICPreferredAddress::_endpoint_ipv6::isValid
    linkageType: ''
    returnType: bool
    signature: bool QUICPreferredAddress::has_ipv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: QUICPreferredAddress::endpoint_ipv4
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: IpEndpoint QUICPreferredAddress::endpoint_ipv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: QUICPreferredAddress::endpoint_ipv6
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: IpEndpoint QUICPreferredAddress::endpoint_ipv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: QUICPreferredAddress::cid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICPreferredAddress::cid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: QUICPreferredAddress::token
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QUICStatelessResetToken
    signature: QUICStatelessResetToken QUICPreferredAddress::token() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUICPreferredAddress::_endpoint_ipv4::isValid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:527,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:529,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:529,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:533,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:533,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:536,1
    - Dst: QUICPreferredAddress::_endpoint_ipv6::isValid
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:540,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:542,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:542,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:546,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:546,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:549,1
    - Dst: QUICPreferredAddress::_cid::length
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:554,1
    - Dst: QUICTypeUtil::write_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:557,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:561,1
    - Dst: QUICPreferredAddress::_token::buf
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 565
    functionName: QUICPreferredAddress::store
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - ats_ip4_addr_cast
    - ats_ip6_addr_cast
    - QUICPreferredAddress::_token::buf
    - QUICTypeUtil::write_QUICConnectionId
    - QUICPreferredAddress::_cid::length
    - ats_ip_port_cast
    - QUICPreferredAddress::_endpoint_ipv4::isValid
    - QUICPreferredAddress::_endpoint_ipv6::isValid
    linkageType: ''
    returnType: void
    signature: void QUICPreferredAddress::store(uint8_t *buf, uint16_t &len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:573,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - protocol
    argTypes:
    - IpEndpoint
    - IpEndpoint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: QUICFiveTuple::QUICFiveTuple
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - IpEndpoint::network_order_port
    linkageType: ''
    returnType: void
    signature: void QUICFiveTuple::QUICFiveTuple(IpEndpoint src, IpEndpoint dst, int
      protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:583,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - src
    - dst
    - protocol
    argTypes:
    - IpEndpoint
    - IpEndpoint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: QUICFiveTuple::update
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - IpEndpoint::network_order_port
    linkageType: ''
    returnType: void
    signature: void QUICFiveTuple::update(IpEndpoint src, IpEndpoint dst, int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: QUICFiveTuple::source
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: IpEndpoint QUICFiveTuple::source() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: QUICFiveTuple::destination
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: IpEndpoint QUICFiveTuple::destination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: QUICFiveTuple::protocol
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int QUICFiveTuple::protocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - local_ep
    - remote_ep
    argTypes:
    - IpEndpoint
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: QUICPath::QUICPath
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICPath::QUICPath(IpEndpoint local_ep, IpEndpoint remote_ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: '&

      QUICPath::local_ep() const'
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      QUICPath::local_ep() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: '&

      QUICPath::remote_ep() const'
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      QUICPath::remote_ep() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConnectionId::QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: QUICConnectionId::ZERO
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 2
    functionsReached:
    - QUICConnectionId::QUICConnectionId
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId QUICConnectionId::ZERO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConnectionId::randomize
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: QUICConnectionId::QUICConnectionId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 3
    functionsReached:
    - QUICConnectionId::randomize
    linkageType: ''
    returnType: void
    signature: void QUICConnectionId::QUICConnectionId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:639,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:640,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:640,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: QUICConnectionId::QUICConnectionId
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 3
    functionsReached:
    - min
    - memcpy
    - ink_assert
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void QUICConnectionId::QUICConnectionId(const uint8_t *buf, uint8_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: QUICConnectionId::length
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConnectionId::length() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: QUICConnectionId::is_zero
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICConnectionId::is_zero() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rnd
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:664,1
    - Dst: rnd
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: QUICConnectionId::randomize
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 3
    functionsReached:
    - rnd
    linkageType: ''
    returnType: void
    signature: void QUICConnectionId::randomize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:677,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:677,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:678,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:678,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:679,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:679,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:680,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: QUICConnectionId::_hashcode
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICConnectionId::_hashcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:686,1
    - Dst: QUICIntUtil::read_nbytes_as_uint
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: QUICConnectionId::h32
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - QUICIntUtil::read_nbytes_as_uint
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConnectionId::h32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:695,1
    - Dst: std::setw
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:695,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:696,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 699
    functionName: QUICConnectionId::hex
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string QUICConnectionId::hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: QUICSentPacketInfo::FrameInfo::id() const
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICFrameId
    signature: QUICFrameId QUICSentPacketInfo::FrameInfo::id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: '*

      QUICSentPacketInfo::FrameInfo::generated_by() const'
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICFrameGenerator
    signature: 'QUICFrameGenerator *

      QUICSentPacketInfo::FrameInfo::generated_by() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: QUICInvariants::is_long_header
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::is_long_header(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - QUICVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: QUICInvariants::is_version_negotiation
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::is_version_negotiation(QUICVersion v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:731,1
    - Dst: QUICTypeUtil::read_QUICVersion
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - buf
    - buf_len
    argTypes:
    - QUICVersion
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 738
    functionName: QUICInvariants::version
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICTypeUtil::read_QUICVersion
    - QUICInvariants::is_long_header
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::version(QUICVersion &dst, const uint8_t *buf,
      uint64_t buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:743,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - buf
    - buf_len
    argTypes:
    - uint8_t
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 752
    functionName: QUICInvariants::dcil
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICInvariants::is_long_header
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::dcil(uint8_t &dst, const uint8_t *buf, uint64_t
      buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:757,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:757,1
    - Dst: QUICInvariants::dcil
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - buf
    - buf_len
    argTypes:
    - uint8_t
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 770
    functionName: QUICInvariants::scil
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - QUICInvariants::is_long_header
    - ink_assert
    - QUICInvariants::dcil
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::scil(uint8_t &dst, const uint8_t *buf, uint64_t
      buf_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:778,1
    - Dst: QUICInvariants::dcil
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:780,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:785,1
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - buf
    - buf_len
    argTypes:
    - QUICConnectionId
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 808
    functionName: QUICInvariants::dcid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICConnectionId::ZERO
    - QUICInvariants::is_long_header
    - QUICTypeUtil::read_QUICConnectionId
    - QUICInvariants::dcil
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::dcid(QUICConnectionId &dst, const uint8_t *buf,
      uint64_t buf_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:813,1
    - Dst: QUICInvariants::is_long_header
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:813,1
    - Dst: QUICInvariants::dcil
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:822,1
    - Dst: QUICInvariants::scil
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:829,1
    - Dst: QUICConnectionId::ZERO
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:835,1
    - Dst: QUICTypeUtil::read_QUICConnectionId
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - buf
    - buf_len
    argTypes:
    - QUICConnectionId
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 846
    functionName: QUICInvariants::scid
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 1
    functionsReached:
    - QUICTypeUtil::read_QUICConnectionId
    - QUICInvariants::is_long_header
    - QUICInvariants::dcil
    - QUICInvariants::scil
    - QUICConnectionId::ZERO
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool QUICInvariants::scid(QUICConnectionId &dst, const uint8_t *buf,
      uint64_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:856,1
    - Dst: std::setw
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:856,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:857,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: QUICBase::to_hex
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_hex(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:856,1
    - Dst: std::setw
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:856,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:857,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: QUICBase::to_hex
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICTypes.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_hex(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:42,1
    - Dst: TLS_method
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:42,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:44,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:45,1
    - Dst: SSL_CTX_clear_options
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:49,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:50,1
    - Dst: UINT32_C
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: quic_new_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 1
    functionsReached:
    - SSL_CTX_new
    - SSL_CTX_set_max_early_data
    - TLS_method
    - SSL_CTX_clear_options
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_max_proto_version
    - UINT32_C
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      quic_new_ssl_ctx()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:94,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:94,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:95,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:95,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:96,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:96,1
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:98,1
    - Dst: QUICConfigParams::_client_ssl_ctx::get
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: QUICConfigParams::~QUICConfigParams()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached:
    - ats_free_null
    - QUICConfigParams::_client_ssl_ctx::get
    - SSL_CTX_free
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void QUICConfigParams::~QUICConfigParams()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:104,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:105,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:106,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:107,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:108,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:109,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:111,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:114,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:115,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:117,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:118,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:120,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:121,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:125,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:126,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:130,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:131,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:132,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:133,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:136,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:138,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:139,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:142,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:144,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:145,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:146,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:148,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:150,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:152,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:154,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:155,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:156,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:157,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:158,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:159,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:160,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:161,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:162,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:163,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:164,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:165,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:166,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:167,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:168,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:169,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:170,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:171,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:172,1
    - Dst: quic_init_client_ssl_ctx
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 175
    functionName: QUICConfigParams::initialize
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - RecEstablishStaticConfigInt32
    - RecEstablishStaticConfigUInt32
    - ats_stringdup
    - quic_init_client_ssl_ctx
    - ats_ip_pton
    linkageType: ''
    returnType: void
    signature: void QUICConfigParams::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: QUICConfigParams::no_activity_timeout_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::no_activity_timeout_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: QUICConfigParams::no_activity_timeout_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::no_activity_timeout_out() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: QUICConfigParams::preferred_address_ipv4
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint *

      QUICConfigParams::preferred_address_ipv4() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: QUICConfigParams::preferred_address_ipv6
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint *

      QUICConfigParams::preferred_address_ipv6() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: QUICConfigParams::instance_id
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::instance_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: QUICConfigParams::connection_table_size
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int QUICConfigParams::connection_table_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: QUICConfigParams::stateless_retry
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::stateless_retry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: QUICConfigParams::vn_exercise_enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::vn_exercise_enabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: QUICConfigParams::cm_exercise_enabled
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::cm_exercise_enabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: QUICConfigParams::quantum_readiness_test_enabled_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::quantum_readiness_test_enabled_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: QUICConfigParams::quantum_readiness_test_enabled_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::quantum_readiness_test_enabled_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: QUICConfigParams::initial_max_data_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_data_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: QUICConfigParams::initial_max_data_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_data_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: QUICConfigParams::initial_max_stream_data_bidi_local_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_bidi_local_in()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: QUICConfigParams::initial_max_stream_data_bidi_local_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_bidi_local_out()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: QUICConfigParams::initial_max_stream_data_bidi_remote_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_bidi_remote_in()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: QUICConfigParams::initial_max_stream_data_bidi_remote_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_bidi_remote_out()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: QUICConfigParams::initial_max_stream_data_uni_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_uni_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: QUICConfigParams::initial_max_stream_data_uni_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::initial_max_stream_data_uni_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: QUICConfigParams::initial_max_streams_bidi_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICConfigParams::initial_max_streams_bidi_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: QUICConfigParams::initial_max_streams_bidi_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICConfigParams::initial_max_streams_bidi_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: QUICConfigParams::initial_max_streams_uni_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICConfigParams::initial_max_streams_uni_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: QUICConfigParams::initial_max_streams_uni_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t QUICConfigParams::initial_max_streams_uni_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: QUICConfigParams::ack_delay_exponent_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::ack_delay_exponent_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: QUICConfigParams::ack_delay_exponent_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::ack_delay_exponent_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: QUICConfigParams::max_ack_delay_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::max_ack_delay_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: QUICConfigParams::max_ack_delay_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::max_ack_delay_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: QUICConfigParams::active_cid_limit_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::active_cid_limit_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: QUICConfigParams::active_cid_limit_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::active_cid_limit_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: QUICConfigParams::disable_active_migration
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICConfigParams::disable_active_migration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: QUICConfigParams::get_max_recv_udp_payload_size_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::get_max_recv_udp_payload_size_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: QUICConfigParams::get_max_recv_udp_payload_size_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::get_max_recv_udp_payload_size_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: QUICConfigParams::get_max_send_udp_payload_size_in
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::get_max_send_udp_payload_size_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: QUICConfigParams::get_max_send_udp_payload_size_out
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t QUICConfigParams::get_max_send_udp_payload_size_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: QUICConfigParams::server_supported_groups
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICConfigParams::server_supported_groups() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: QUICConfigParams::client_supported_groups
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICConfigParams::client_supported_groups() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: QUICConfigParams::client_ssl_ctx
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_SSL_CTX
    signature: shared_SSL_CTX QUICConfigParams::client_ssl_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: QUICConfigParams::scid_len
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t QUICConfigParams::scid_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: QUICConfigParams::client_session_file
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICConfigParams::client_session_file() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: QUICConfigParams::get_qlog_file_base_name
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICConfigParams::get_qlog_file_base_name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: QUICConfigParams::disable_http_0_9
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool QUICConfigParams::disable_http_0_9() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: QUICConfigParams::get_cc_algorithm
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: quiche_cc_algorithm
    signature: quiche_cc_algorithm QUICConfigParams::get_cc_algorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConfig::reconfigure
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: QUICConfig::startup
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 1
    functionsReached:
    - QUICConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void QUICConfig::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConfigParams::QUICConfigParams
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:457,1
    - Dst: QUICConfigParams*::initialize
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:459,1
    - Dst: set
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:460,1
    - Dst: QUICConfigParams*::scid_len
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: QUICConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 1
    functionsReached:
    - QUICConfigParams*::scid_len
    - QUICConfigParams*::initialize
    - QUICConfigParams::QUICConfigParams
    - set
    linkageType: ''
    returnType: void
    signature: void QUICConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICConfigParams *>
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:468,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: QUICConfig::acquire
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<QUICConfigParams *>
    - get
    linkageType: ''
    returnType: QUICConfigParams
    signature: 'QUICConfigParams *

      QUICConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICConfig::release
      Src: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - QUICConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: QUICConfig::release
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConfig.cc
    functionUses: 1
    functionsReached:
    - QUICConfig::release
    linkageType: ''
    returnType: void
    signature: void QUICConfig::release(QUICConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: QUICConnectionTable::~QUICConnectionTable()
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICConnectionTable::~QUICConnectionTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_for_key
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:34,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:35,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:35,1
    - Dst: insert_entry
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cid
    - connection
    argTypes:
    - QUICConnectionId
    - QUICConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: QUICConnectionTable::insert
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc
    functionUses: 0
    functionsReached:
    - lock_for_key
    - insert_entry
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: QUICConnection
    signature: 'QUICConnection *

      QUICConnectionTable::insert(QUICConnectionId cid, QUICConnection *connection)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_for_key
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:44,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:45,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:45,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:46,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cid
    - connection
    argTypes:
    - QUICConnectionId
    - QUICConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: QUICConnectionTable::erase
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - remove_entry
    - this_ethread
    - lock_for_key
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QUICConnectionTable::erase(QUICConnectionId cid, QUICConnection
      *connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_for_key
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:55,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:56,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:56,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cid
    argTypes:
    - QUICConnectionId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: QUICConnectionTable::erase
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc
    functionUses: 0
    functionsReached:
    - lock_for_key
    - remove_entry
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: QUICConnection
    signature: 'QUICConnection *

      QUICConnectionTable::erase(QUICConnectionId cid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_for_key
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:63,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:64,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:64,1
    - Dst: lookup_entry
      Src: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cid
    argTypes:
    - QUICConnectionId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: QUICConnectionTable::lookup
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICConnectionTable.cc
    functionUses: 0
    functionsReached:
    - lock_for_key
    - lookup_entry
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: QUICConnection
    signature: 'QUICConnection *

      QUICConnectionTable::lookup(QUICConnectionId cid)'
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - QUICPacketType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: QUICDebugNames::packet_type
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::packet_type(QUICPacketType type)'
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 1
    argNames:
    - type
    argTypes:
    - QUICFrameType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 99
    functionName: QUICDebugNames::frame_type
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::frame_type(QUICFrameType type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cls
    argTypes:
    - QUICErrorClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: QUICDebugNames::error_class
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::error_class(QUICErrorClass cls)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:120,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:122,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:124,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:126,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:128,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:130,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:132,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:134,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:136,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:138,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:140,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:142,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:144,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: QUICDebugNames::error_code
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::error_code(uint16_t code)'
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: QUICDebugNames::quic_event
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::quic_event(int event)'
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICTransportParameterId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 223
    functionName: QUICDebugNames::transport_parameter_id
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::transport_parameter_id(QUICTransportParameterId id)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - QUICSendStreamState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: QUICDebugNames::stream_state
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::stream_state(const QUICSendStreamState state)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - QUICReceiveStreamState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: QUICDebugNames::stream_state
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::stream_state(const QUICReceiveStreamState state)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - QUICBidirectionalStreamState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 292
    functionName: QUICDebugNames::stream_state
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::stream_state(const QUICBidirectionalStreamState state)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - phase
    argTypes:
    - QUICKeyPhase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: QUICDebugNames::key_phase
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::key_phase(QUICKeyPhase phase)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - QUICEncryptionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: QUICDebugNames::encryption_level
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::encryption_level(QUICEncryptionLevel level)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pn_space
    argTypes:
    - QUICPacketNumberSpace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: QUICDebugNames::pn_space
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/QUICDebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      QUICDebugNames::pn_space(QUICPacketNumberSpace pn_space)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:42,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:43,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:43,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:44,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:45,1
    - Dst: enabled
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:45,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:46,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:48,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:49,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:50,1
    - Dst: QUICConfig::startup
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:52,1
    - Dst: QUIC::init
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:53,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:55,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:56,1
    - Dst: init_buffer_allocators
      Src: /src/trafficserver/src/iocore/net/quic/test/main.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/test/main.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - EThread*::set_specific
    - LibRecordsConfigInit
    - QUICConfig::startup
    - enabled
    - EThread::EThread
    - QUIC::init
    - init_buffer_allocators
    - diags
    - Diags::Diags
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:45,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:46,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:46,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:47,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:48,1
    - Dst: enabled
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:48,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:49,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:51,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:52,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:53,1
    - Dst: QUICConfig::startup
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:55,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:57,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:58,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:60,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/net/quic/test/event_processor_main.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - start
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - LibRecordsConfigInit
    - QUICConfig::startup
    - enabled
    - EThread::EThread
    - Thread*::set_specific
    - diags
    - Diags::Diags
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<in6_addr const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:43,1
    - Dst: static_cast<in_addr_t const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:45,1
    - Dst: IpAddr::invalidate
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ip
    - af
    - ptr
    argTypes:
    - IpAddr
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: ip_addr_set
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached:
    - IpAddr::invalidate
    - static_cast<in_addr_t const *>
    - static_cast<in6_addr const *>
    linkageType: ''
    returnType: void
    signature: "void ip_addr_set(IpAddr     &ip, ///< Target storage.\n            uint8_t
      \    af, ///< Address format.\n            void const *ptr ///< Raw address
      data\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<in6_addr const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:43,1
    - Dst: static_cast<in_addr_t const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:45,1
    - Dst: IpAddr::invalidate
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ip
    - af
    - ptr
    argTypes:
    - IpAddr
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: ip_addr_set
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached:
    - IpAddr::invalidate
    - static_cast<in_addr_t const *>
    - static_cast<in6_addr const *>
    linkageType: ''
    returnType: void
    signature: "void ip_addr_set(IpAddr     &ip, ///< Target storage.\n            uint8_t
      \    af, ///< Address format.\n            void const *ptr ///< Raw address
      data\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ip_addr_set
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - af
    - addr
    argTypes:
    - sa_family_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: HostDBInfo::assign
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached:
    - ip_addr_set
    linkageType: ''
    returnType: auto
    signature: auto HostDBInfo::assign(sa_family_t af, void const *addr) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: HostDBInfo::assign
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto HostDBInfo::assign(IpAddr const &addr) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - srv
    - name
    argTypes:
    - SRV*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: HostDBInfo::assign
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char const *>
    linkageType: ''
    returnType: auto
    signature: auto HostDBInfo::assign(SRV const *srv, char const *name) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: HostDBInfo::srvname
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDBInfo.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char const *>
    linkageType: ''
    returnType: char
    signature: 'char *

      HostDBInfo::srvname() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: latch
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void latch(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: wait
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 12
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void wait()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: count_down
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void count_down()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:88,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:92,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:93,1
    - Dst: mkdtemp
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:93,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:94,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:96,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:96,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:96,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:98,1
    - Dst: auto::string
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: temp_prefix
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - get_yaml_path
    - mkdtemp
    - auto::string
    - Dbg
    - snprintf
    - getenv
    - swoc::SWOC_VERSION_NS::file::create_directories
    - ink_assert
    - std::error_code::message
    linkageType: ''
    returnType: std::string
    signature: std::string temp_prefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:106,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:106,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:106,1
    - Dst: temp_prefix
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:107,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:109,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:110,1
    - Dst: enabled
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:110,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:111,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:113,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:113,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:114,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:114,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:115,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:116,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:116,1
    - Dst: ink_net_init
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:117,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:117,1
    - Dst: ink_hostdb_init
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:118,1
    - Dst: ink_dns_init
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:119,1
    - Dst: init
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:121,1
    - Dst: ink_number_of_processors
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:123,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:124,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:125,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:127,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:129,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:130,1
    - Dst: init_buffer_allocators
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 132
    functionName: init_ts
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - swoc::file::path::view
    - Diags::Diags
    - DiagsPtr::set
    - EThread*::set_specific
    - LibRecordsConfigInit
    - init_buffer_allocators
    - ink_event_system_init
    - ts::ModuleVersion::ModuleVersion
    - RecProcessInit
    - ink_net_init
    - ink_number_of_processors
    - ink_hostdb_init
    - diags
    - temp_prefix
    - start
    - Layout::create
    - BaseLogFile::BaseLogFile
    - ink_dns_init
    - enabled
    - EThread::EThread
    - init
    linkageType: ''
    returnType: void
    signature: void init_ts(std::string_view name, int debug_on = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:155,1
    - Dst: rd
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:158,1
    - Dst: std::shuffle
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:160,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:160,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:160,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:161,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hlist
    - id
    - l
    argTypes:
    - std::vector<std::string>
    - int
    - latch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: StartDNS
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - begin
    - rd
    - std::shuffle
    - new_ProxyMutex
    - end
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void StartDNS(const std::vector<std::string> &hlist, int id, latch
      &l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord*::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:170,1
    - Dst: data::ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: ip
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 19
    functionsReached:
    - HostDBRecord*::rr_info
    - data::ip::toString
    linkageType: ''
    returnType: std::string
    signature: std::string ip(HostDBRecord *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:177,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:178,1
    - Dst: HostDBRecord*::name
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:180,1
    - Dst: ip
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: handle_hostdb
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - push_back
    - HostDBRecord*::name
    - ip
    - failover_now
    linkageType: ''
    returnType: void
    signature: void handle_hostdb(HostDBRecord *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:190,1
    - Dst: hostname::c_str
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:190,1
    - Dst: ip::c_str
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:190,1
    - Dst: d::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: print_results
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - ip::c_str
    - hostname::c_str
    - d::count
    linkageType: ''
    returnType: void
    signature: void print_results()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: handle_hostdb
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:201,1
    - Dst: reinterpret_cast<HostDBRecord *>
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:204,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:206,1
    - Dst: count_down
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:207,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:210,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:212,1
    - Dst: static_cast<cb_process_result_pfn>
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:212,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - e
    - ep
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: start_dns
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - handle_hostdb
    - reinterpret_cast<HostDBRecord *>
    - getbyname_imm
    - count_down
    - end
    - Dbg
    - c_str
    - static_cast<cb_process_result_pfn>
    - failover_now
    linkageType: ''
    returnType: int
    signature: int start_dns(int e, void *ep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:227,1
    - Dst: std::getline
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:228,1
    - Dst: StartDNS::HostList::push_back
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:229,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:231,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:233,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: lines
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 0
    functionsReached:
    - StartDNS::HostList::push_back
    - std::ifstream::close
    - std::getline
    - printf
    - std::ifstream::is_open
    - std::string::c_str
    linkageType: ''
    returnType: StartDNS::HostList
    signature: StartDNS::HostList lines(const std::string &fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lines
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:244,1
    - Dst: init_ts
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:256,1
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:258,1
    - Dst: auto::end
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:259,1
    - Dst: auto::begin
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:259,1
    - Dst: active_group_threads
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:264,1
    - Dst: std::make_unique<StartDNS>
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:265,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:266,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:266,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:267,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:267,1
    - Dst: latch::wait
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:270,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:275,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:277,1
    - Dst: print_results
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:281,1
    - Dst: results::size
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:282,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:287,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:288,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:290,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:291,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:296,1
    - Dst: StartDNS::HostList::size
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:296,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:297,1
    - Dst: std::chrono::duration<float>::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:297,1
    - Dst: std::chrono::duration<float>::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:297,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:298,1
    - Dst: std::chrono::duration<float>::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:298,1
    - Dst: std::chrono::duration<float>::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:298,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:299,1
    - Dst: std::chrono::duration<float>::count
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:299,1
    - Dst: shutdown
      Src: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/benchmark_HostDB.cc
    functionUses: 3
    functionsReached:
    - latch::wait
    - init_ts
    - min
    - shutdown
    - auto::begin
    - max
    - active_group_threads
    - std::move
    - std::make_unique<StartDNS>
    - auto::end
    - print_results
    - std::vector::push_back
    - lines
    - StartDNS::HostList::size
    - printf
    - schedule_imm
    - auto::get
    - std::chrono::duration<float>::count
    - results::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ExampleStruct::name
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: "char *\n  name()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:49,1
    - Dst: ExampleStruct::ExampleStruct
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ExampleStruct::alloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - ExampleStruct::ExampleStruct
    - malloc
    linkageType: ''
    returnType: ExampleStruct
    signature: "ExampleStruct *\n  alloc(int size = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExampleStruct*::~ExampleStruct
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:55,1
    - Dst: Arena::free
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ExampleStruct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ExampleStruct::dealloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - ExampleStruct*::~ExampleStruct
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void dealloc(ExampleStruct *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:64,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:65,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ExampleStruct::free
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - printf
    - size
    - insert
    linkageType: ''
    returnType: void
    signature: void free() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:74,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:75,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:75,1
    - Dst: ExampleStruct::ExampleStruct
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: ExampleStruct::unmarshall
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - ExampleStruct::alloc
    - memcpy
    - ExampleStruct::ExampleStruct
    - static_cast<void *>
    linkageType: ''
    returnType: ExampleStruct
    signature: "ExampleStruct *\n  unmarshall(char *buf, unsigned int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:90,1
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:93,1
    - Dst: RefCountCache<ExampleStruct>*::put
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:94,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:98,1
    - Dst: ExampleStruct*::name
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:98,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:98,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:98,1
    - Dst: ExampleStruct*::name
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:100,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:100,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:105,1
    - Dst: RefCountCache<ExampleStruct>*::count
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cache
    - start
    - end
    argTypes:
    - RefCountCache<ExampleStruct>*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: fillCache
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ExampleStruct::alloc
    - std::string::size
    - RefCountCache<ExampleStruct>*::put
    - ExampleStruct*::name
    - printf
    - RefCountCache<ExampleStruct>*::count
    - static_cast<uint64_t>
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void fillCache(RefCountCache<ExampleStruct> *cache, int start, int
      end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<ExampleStruct>*::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:113,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:114,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - cache
    - start
    - end
    argTypes:
    - RefCountCache<ExampleStruct>*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: verifyCache
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - Ptr::get
    - printf
    - RefCountCache<ExampleStruct>*::get
    linkageType: ''
    returnType: int
    signature: int verifyCache(RefCountCache<ExampleStruct> *cache, int start, int
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RefCountCache<ExampleStruct>>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:136,1
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:139,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:140,1
    - Dst: auto::put
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:141,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:142,1
    - Dst: auto::erase
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:143,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:144,1
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:148,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:149,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:150,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:150,1
    - Dst: auto::put
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:151,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:151,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:152,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:153,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:153,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:157,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:157,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:158,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:159,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:159,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:161,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:161,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:162,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:163,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:163,1
    - Dst: auto::erase
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:166,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:167,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:168,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:168,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:170,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:171,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:171,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:172,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:173,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 176
    functionName: testRefcounting
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - ExampleStruct::alloc
    - static_cast<uint64_t>
    - auto::erase
    - std::make_unique<RefCountCache<ExampleStruct>>
    - ExampleStruct*::refcount
    - Ptr::get
    - printf
    - auto::put
    linkageType: ''
    returnType: int
    signature: int testRefcounting()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RefCountCache<ExampleStruct>>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:183,1
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:186,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:187,1
    - Dst: auto::put
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:188,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:189,1
    - Dst: auto::clear
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:190,1
    - Dst: ExampleStruct*::refcount
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: testclear
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 0
    functionsReached:
    - ExampleStruct::alloc
    - std::make_unique<RefCountCache<ExampleStruct>>
    - ExampleStruct*::refcount
    - auto::clear
    - auto::put
    linkageType: ''
    returnType: int
    signature: int testclear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:201,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:202,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:203,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:204,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:208,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:210,1
    - Dst: testRefcounting
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:211,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:212,1
    - Dst: std::make_unique<RefCountCache<ExampleStruct>>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:216,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:217,1
    - Dst: LoadRefCountCacheFromPath
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:219,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:220,1
    - Dst: verifyCache
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:224,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:224,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:225,1
    - Dst: auto::clear
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:228,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:229,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:230,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:233,1
    - Dst: fillCache
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:234,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:234,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:235,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:238,1
    - Dst: verifyCache
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:239,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:239,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:240,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:243,1
    - Dst: ExampleStruct::alloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:244,1
    - Dst: auto::put
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:245,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:245,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:248,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:248,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:249,1
    - Dst: verifyCache
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:251,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:251,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:252,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:255,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:255,1
    - Dst: auto::erase
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:258,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:260,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:261,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:262,1
    - Dst: verifyCache
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:265,1
    - Dst: auto::get
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:265,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 274
    functionName: test
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 6
    functionsReached:
    - Layout::create
    - auto::get
    - auto::count
    - RecProcessInit
    - init_diags
    - ExampleStruct::alloc
    - static_cast<uint64_t>
    - verifyCache
    - auto::clear
    - fillCache
    - auto::erase
    - std::make_unique<RefCountCache<ExampleStruct>>
    - LoadRefCountCacheFromPath
    - Ptr::get
    - printf
    - auto::put
    - ink_event_system_init
    - testRefcounting
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:279,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:282,1
    - Dst: ExampleStruct::dealloc
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:283,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: main
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_RefCountCache.cc
    functionUses: 3
    functionsReached:
    - test
    - printf
    - clear
    - ExampleStruct::dealloc
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: RefCountCacheItemMeta
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RefCountCacheItemMeta(uint64_t key, unsigned int size, ink_time_t
      expiry_time = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<RefCountObj>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: RefCountCacheHashEntry::RefCountCacheHashEntry
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - Ptr<RefCountObj>
    linkageType: ''
    returnType: void
    signature: void RefCountCacheHashEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:89,1
    - Dst: RefCountCacheItemMeta
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - i
    - key
    - size
    - expire_time
    argTypes:
    - RefCountObj*
    - uint64_t
    - unsigned int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: RefCountCacheHashEntry::set
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - make_ptr
    - RefCountCacheItemMeta
    linkageType: ''
    returnType: void
    signature: void set(RefCountObj *i, uint64_t key, unsigned int size, time_t expire_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v2
    argTypes:
    - RefCountCacheHashEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: operator<(const RefCountCacheHashEntry &v2) const
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const RefCountCacheHashEntry &v2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Ptr<C> *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:109,1
    - Dst: Ptr*::clear
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:110,1
    - Dst: RefCountCacheHashEntry*::~RefCountCacheHashEntry
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:112,1
    - Dst: RefCountCacheHashEntry::dealloc
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - RefCountCacheHashEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: RefCountCacheHashEntry::free
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - RefCountCacheHashEntry::dealloc
    - reinterpret_cast<Ptr<C> *>
    - Ptr*::clear
    - RefCountCacheHashEntry*::~RefCountCacheHashEntry
    linkageType: ''
    returnType: void
    signature: void free(RefCountCacheHashEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: "*&\n  next_ptr(value_type *value)"
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: "value_type *&\n  next_ptr(value_type *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: "*&\n  prev_ptr(value_type *value)"
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: "value_type *&\n  prev_ptr(value_type *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: hash_of
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash_of(key_type key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - value_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: key_of
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t key_of(value_type *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: equal
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(key_type lhs, key_type rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - part_num
    - max_size
    - max_items
    - rsb
    argTypes:
    - unsigned int
    - uint64_t
    - unsigned int
    - RefCountCacheBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: RefCountCachePartition<C>::RefCountCachePartition
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RefCountCachePartition<C>::RefCountCachePartition(unsigned int
      part_num, uint64_t max_size, unsigned int max_items,\n                                                  RefCountCacheBlock
      *rsb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:205,1
    - Dst: RefCountCachePartition<C>::item_map::find
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:206,1
    - Dst: RefCountCachePartition<C>::item_map::end
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:206,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:208,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:209,1
    - Dst: static_cast<C *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:209,1
    - Dst: auto::item::get
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:209,1
    - Dst: Ptr<C>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: RefCountCachePartition<C>::get
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - Ptr<C>
    - auto::item::get
    - make_ptr
    - RefCountCachePartition<C>::item_map::end
    - static_cast<C *>
    - RefCountCachePartition<C>::item_map::find
    linkageType: ''
    returnType: Ptr<C>
    signature: Ptr<C> RefCountCachePartition<C>::get(uint64_t key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:219,1
    - Dst: RefCountCachePartition<C>::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:222,1
    - Dst: RefCountCachePartition<C>::is_full
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:225,1
    - Dst: RefCountCachePartition<C>::make_space_for
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:225,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:226,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:227,1
    - Dst: RefCountCacheHashEntry::alloc
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:232,1
    - Dst: RefCountCacheHashEntry*::set
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:233,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:237,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:238,1
    - Dst: PriorityQueueEntry<RefCountCacheHashEntry *>::PriorityQueueEntry<RefCountCacheHashEntry
        *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:239,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:240,1
    - Dst: RefCountCachePartition<C>::item_map::insert
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:245,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:248,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:248,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - key
    - item
    - size
    - expire_time
    argTypes:
    - uint64_t
    - C*
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 250
    functionName: RefCountCachePartition<C>::put
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - RefCountCachePartition<C>::item_map::insert
    - PriorityQueueEntry<RefCountCacheHashEntry *>::PriorityQueueEntry<RefCountCacheHashEntry
      *>
    - RefCountCachePartition<C>::make_space_for
    - RefCountCacheHashEntry*::set
    - Dbg
    - push
    - alloc
    - static_cast<int64_t>
    - RefCountCachePartition<C>::is_full
    - RefCountCachePartition<C>::erase
    - ts::Metrics::Gauge::increment
    - RefCountCacheHashEntry::alloc
    linkageType: ''
    returnType: void
    signature: void RefCountCachePartition<C>::put(uint64_t key, C *item, int size,
      time_t expire_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCachePartition<C>::item_map::find
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:256,1
    - Dst: RefCountCachePartition<C>::item_map::end
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:256,1
    - Dst: RefCountCachePartition<C>::item_map::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:260,1
    - Dst: RefCountCachePartition<C>::dealloc_entry
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - key
    - expiry_time
    argTypes:
    - uint64_t
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: RefCountCachePartition<C>::erase
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCachePartition<C>::dealloc_entry
    - RefCountCachePartition<C>::item_map::find
    - RefCountCachePartition<C>::item_map::end
    - RefCountCachePartition<C>::item_map::erase
    linkageType: ''
    returnType: void
    signature: void RefCountCachePartition<C>::erase(uint64_t key, ink_time_t expiry_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:274,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:275,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:279,1
    - Dst: RefCountCachePartition<C>::expiry_queue::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:281,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:282,1
    - Dst: RefCountCacheHashEntry::free<C>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - hash_type::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: RefCountCachePartition<C>::dealloc_entry
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - free
    - Dbg
    - RefCountCachePartition<C>::expiry_queue::erase
    - RefCountCacheHashEntry::free<C>
    linkageType: ''
    returnType: void
    signature: void RefCountCachePartition<C>::dealloc_entry(hash_type::iterator ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCachePartition<C>::item_map::begin
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:296,1
    - Dst: RefCountCachePartition<C>::item_map::end
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:297,1
    - Dst: RefCountCachePartition<C>::item_map::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:300,1
    - Dst: RefCountCachePartition<C>::dealloc_entry
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: RefCountCachePartition<C>::clear
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - RefCountCachePartition<C>::dealloc_entry
    - RefCountCachePartition<C>::item_map::begin
    - RefCountCachePartition<C>::item_map::end
    - RefCountCachePartition<C>::item_map::erase
    linkageType: ''
    returnType: void
    signature: void RefCountCachePartition<C>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: RefCountCachePartition<C>::is_full
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool RefCountCachePartition<C>::is_full() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_time
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:320,1
    - Dst: RefCountCachePartition<C>::is_full
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:321,1
    - Dst: top
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:322,1
    - Dst: RefCountCachePartition<C>::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 336
    functionName: RefCountCachePartition<C>::make_space_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - top
    - ink_time
    - RefCountCachePartition<C>::erase
    - RefCountCachePartition<C>::is_full
    linkageType: ''
    returnType: bool
    signature: bool RefCountCachePartition<C>::make_space_for(unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: RefCountCachePartition<C>::count
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RefCountCachePartition<C>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCacheHashEntry::alloc
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:350,1
    - Dst: RefCountCacheHashEntry*::set
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:351,1
    - Dst: item::get
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:351,1
    - Dst: std::vector<RefCountCacheHashEntry *>::push_back
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<RefCountCacheHashEntry *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: RefCountCachePartition<C>::copy
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 2
    functionsReached:
    - RefCountCacheHashEntry*::set
    - std::vector<RefCountCacheHashEntry *>::push_back
    - item::get
    - RefCountCacheHashEntry::alloc
    linkageType: ''
    returnType: void
    signature: void RefCountCachePartition<C>::copy(std::vector<RefCountCacheHashEntry
      *> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: '&

      RefCountCachePartition<C>::get_map()'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::IntrusiveHashMap<RefCountCacheLinkage>
    signature: 'swoc::IntrusiveHashMap<RefCountCacheLinkage> &

      RefCountCachePartition<C>::get_map()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCacheHeader
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:427,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:433,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:433,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:434,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:434,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:435,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:435,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:436,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:436,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:437,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:437,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:438,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:438,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:439,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:439,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:440,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:440,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:441,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:441,1
    - Dst: RefCountCache<C>::partitions::reserve
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:444,1
    - Dst: RefCountCache<C>::partitions::push_back
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:446,1
    - Dst: std::make_unique<RefCountCachePartition<C>>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - num_partitions
    - size
    - items
    - object_version
    - metrics_prefix
    argTypes:
    - unsigned int
    - int
    - int
    - ts::VersionNumber
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 449
    functionName: RefCountCache<C>::RefCountCache
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - RefCountCacheHeader
    - RefCountCache<C>::partitions::push_back
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::createPtr
    - std::make_unique<RefCountCachePartition<C>>
    - c_str
    - RefCountCache<C>::partitions::reserve
    linkageType: ''
    returnType: void
    signature: "void RefCountCache<C>::RefCountCache(unsigned int num_partitions,
      int size, int items, ts::VersionNumber object_version,\n                                const
      std::string &metrics_prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: RefCountCache<C>::~RefCountCache()
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RefCountCache<C>::~RefCountCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<C>::partition_for_key
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:461,1
    - Dst: RefCountCache<C>::get
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: RefCountCache<C>::get
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCache<C>::get
    - RefCountCache<C>::partition_for_key
    linkageType: ''
    returnType: Ptr<C>
    signature: Ptr<C> RefCountCache<C>::get(uint64_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<C>::partition_for_key
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:468,1
    - Dst: RefCountCache<C>::put
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - item
    - size
    - expiry_time
    argTypes:
    - uint64_t
    - C*
    - int
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: RefCountCache<C>::put
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCache<C>::put
    - RefCountCache<C>::partition_for_key
    linkageType: ''
    returnType: void
    signature: void RefCountCache<C>::put(uint64_t key, C *item, int size, ink_time_t
      expiry_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: RefCountCache<C>::partition_for_key
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RefCountCache<C>::partition_for_key(uint64_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: '&

      RefCountCache<C>::get_header()'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RefCountCacheHeader
    signature: 'RefCountCacheHeader &

      RefCountCache<C>::get_header()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        RefCountCache<C>::partition_for_key'
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: '&

      RefCountCache<C>::lock_for_key(uint64_t key)'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached:
    - '&

      RefCountCache<C>::partition_for_key'
    linkageType: ''
    returnType: ts::shared_mutex
    signature: 'ts::shared_mutex &

      RefCountCache<C>::lock_for_key(uint64_t key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: '&

      RefCountCache<C>::get_partition(int pnum)'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RefCountCachePartition<C>
    signature: 'RefCountCachePartition<C> &

      RefCountCache<C>::get_partition(int pnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<C>::count
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: RefCountCache<C>::count
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCache<C>::count
    linkageType: ''
    returnType: size_t
    signature: size_t RefCountCache<C>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: RefCountCache<C>::partition_count
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RefCountCache<C>::partition_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: RefCountCache<C>::get_rsb
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RefCountCacheBlock
    signature: 'RefCountCacheBlock *

      RefCountCache<C>::get_rsb()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<C>::partition_for_key
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:529,1
    - Dst: RefCountCache<C>::erase
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: RefCountCache<C>::erase
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCache<C>::erase
    - RefCountCache<C>::partition_for_key
    linkageType: ''
    returnType: void
    signature: void RefCountCache<C>::erase(uint64_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCache<C>::clear
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: RefCountCache<C>::clear
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - RefCountCache<C>::clear
    linkageType: ''
    returnType: void
    signature: void RefCountCache<C>::clear()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:553,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:553,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:555,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:555,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:555,1
    - Dst: RefCountCacheHeader
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:560,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:561,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:561,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:563,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:564,1
    - Dst: RefCountCache<CacheEntryType>::get_header
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:567,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:568,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:569,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:569,1
    - Dst: RefCountCacheItemMeta
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:573,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:575,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:575,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:580,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:580,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:581,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:582,1
    - Dst: load_func
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:586,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:586,1
    - Dst: RefCountCache<CacheEntryType>::put
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:588,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - cache
    - filepath
    - (*load_func)(char *, unsigned int)
    argTypes:
    - RefCountCache<CacheEntryType>
    - std::string
    - CacheEntryType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 594
    functionName: LoadRefCountCacheFromPath
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_RefCountCache.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Warning
    - RefCountCacheHeader
    - RefCountCache<CacheEntryType>::put
    - read
    - close
    - load_func
    - RefCountCache<CacheEntryType>::get_header
    - reinterpret_cast<char *>
    - RefCountCacheItemMeta
    - strerror
    - open
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: "int LoadRefCountCacheFromPath(RefCountCache<CacheEntryType> &cache,
      const std::string &filepath,\n                          CacheEntryType *(*load_func)(char
      *, unsigned int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCacheHashEntry::alloc
      Src: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: RefCountCacheHashEntry::alloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc
    functionUses: 3
    functionsReached:
    - RefCountCacheHashEntry::alloc
    linkageType: ''
    returnType: RefCountCacheHashEntry
    signature: 'RefCountCacheHashEntry *

      RefCountCacheHashEntry::alloc()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RefCountCacheHashEntry::free
      Src: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - RefCountCacheHashEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: RefCountCacheHashEntry::dealloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc
    functionUses: 1
    functionsReached:
    - RefCountCacheHashEntry::free
    linkageType: ''
    returnType: void
    signature: void RefCountCacheHashEntry::dealloc(RefCountCacheHashEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_version
    argTypes:
    - ts::VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: RefCountCacheHeader::RefCountCacheHeader
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RefCountCacheHeader::RefCountCacheHeader(ts::VersionNumber object_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - RefCountCacheHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: RefCountCacheHeader::operator==(RefCountCacheHeader const &that)
      const
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RefCountCacheHeader::operator==(RefCountCacheHeader const &that)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - RefCountCacheHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: RefCountCacheHeader::compatible
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/RefCountCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RefCountCacheHeader::compatible(RefCountCacheHeader *that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: HostDBHash
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_host
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:196,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: "&\n  set_host(char const *name)"
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - set_host
    - strlen
    linkageType: ''
    returnType: self
    signature: "self &\n  set_host(char const *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: is_byname
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_byname() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: is_srv
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_srv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:214,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: is_reverse
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - is_srv
    - is_byname
    linkageType: ''
    returnType: bool
    signature: bool is_reverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_done
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:261,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:261,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - query_name
    - answer_ttl
    argTypes:
    - char*
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: lookup_done
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - std::move
    - strlen
    - lookup_done
    linkageType: ''
    returnType: Ptr<HostDBRecord>
    signature: Ptr<HostDBRecord> lookup_done(const char *query_name, ts_seconds answer_ttl,
      SRVHosts *s = nullptr, Ptr<HostDBRecord> record = Ptr<HostDBRecord>{})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Options
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:288,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:289,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: HostDBContinuation
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void HostDBContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: master_hash
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int master_hash(CryptoHash const &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        HostDBCache::refcountcache::partition_for_key'
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:303,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: '&

      HostDBCache::pending_dns_for_hash(const CryptoHash &hash)'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    - '&

      HostDBCache::refcountcache::partition_for_key'
    linkageType: ''
    returnType: Queue<HostDBContinuation>
    signature: 'Queue<HostDBContinuation> &

      HostDBCache::pending_dns_for_hash(const CryptoHash &hash)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refcountcache::partition_for_key
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:309,1
    - Dst: hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: HostDBContinuation::key_partition
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/P_HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - refcountcache::partition_for_key
    - hash::fold
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::key_partition()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:53,1
    - Dst: init_diags
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:54,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:55,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:57,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:58,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:60,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:70,1
    - Dst: std::ofstream::write
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:71,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:71,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:71,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - data
    argTypes:
    - swoc::file::path
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: spit
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc
    functionUses: 0
    functionsReached:
    - swoc::file::path::c_str
    - std::ofstream::write
    - std::string_view::size
    - std::string_view::data
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void spit(const swoc::file::path &p, std::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: HostDBHash::~HostDBHash()
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBHash::~HostDBHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:170,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:170,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:172,1
    - Dst: malloc
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:173,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:174,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:175,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:180,1
    - Dst: swoc::Scalar::value
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:180,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:180,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:181,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:185,1
    - Dst: auto::apply_offset
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:185,1
    - Dst: auto::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:190,1
    - Dst: std::remove_reference_t<decltype(info)>::remove_reference_t<decltype(info)>
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - query_name
    - rr_count
    - srv_name_size
    argTypes:
    - swoc::TextView
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 195
    functionName: HostDBRecord::alloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc
    functionUses: 0
    functionsReached:
    - memset
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - swoc::TextView::data
    - memcpy
    - std::remove_reference_t<decltype(info)>::remove_reference_t<decltype(info)>
    - self_type::self_type
    - static_cast<self_type *>
    - swoc::Scalar::value
    - auto::apply_offset
    - auto::rr_info
    - Dbg
    - swoc::TextView::size
    - malloc
    linkageType: ''
    returnType: HostDBRecord
    signature: 'HostDBRecord *

      HostDBRecord::alloc(swoc::TextView query_name, unsigned int rr_count, size_t
      srv_name_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::free
      Src: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: HostDBRecord::free
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/test_HostFile.cc
    functionUses: 1
    functionsReached:
    - HostDBRecord::free
    linkageType: ''
    returnType: void
    signature: void HostDBRecord::free()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:45,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:49,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:53,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:54,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:55,1
    - Dst: std::get<IPV6_IDX>
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:56,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:57,1
    - Dst: std::get<IPV4_IDX>
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:58,1
    - Dst: AddrHostMap::insert
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:61,1
    - Dst: std::pair
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - line
    - map
    - rmap
    argTypes:
    - swoc::TextView
    - HostAddrMap
    - AddrHostMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: ParseHostLine
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostFile.cc
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - std::get<IPV4_IDX>
    - IpAddr::isIp6
    - std::pair
    - swoc::TextView::ltrim_if
    - std::get<IPV6_IDX>
    - swoc::TextView::take_prefix_if
    - AddrHostMap::insert
    - IpAddr::load
    linkageType: ''
    returnType: void
    signature: void ParseHostLine(swoc::TextView line, HostAddrMap &map, AddrHostMap
      &rmap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:72,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:72,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:76,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HostDBHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: HostFile::lookup
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostFile.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: HostDBRecord::Handle
    signature: HostDBRecord::Handle HostFile::lookup(const HostDBHash &hash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg_bw
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:90,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:90,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:92,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:94,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:100,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:101,1
    - Dst: ParseHostLine
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:104,1
    - Dst: std::make_shared<HostFile>
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:107,1
    - Dst: HostDBRecord::alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:110,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:110,1
    - Dst: front
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:111,1
    - Dst: HostDBRecord::Handle::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:112,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:113,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:115,1
    - Dst: std::get<IPV4_IDX>
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:127,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:127,1
    - Dst: loader
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:128,1
    - Dst: auto::name_view
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:129,1
    - Dst: std::get<IPV6_IDX>
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:132,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:132,1
    - Dst: loader
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:133,1
    - Dst: auto::name_view
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:134,1
    - Dst: std::shared_ptr::forward::find
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:140,1
    - Dst: std::shared_ptr::forward::end
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:141,1
    - Dst: isIp4
      Src: /src/trafficserver/src/iocore/hostdb/HostFile.cc:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - path
    - interval
    argTypes:
    - swoc::file::path
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 153
    functionName: ParseHostFile
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostFile.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - swoc::file::path::view
    - std::shared_ptr::forward::find
    - isIp4
    - std::get<IPV6_IDX>
    - assign
    - size
    - Dbg_bw
    - swoc::SWOC_VERSION_NS::file::load
    - begin
    - HostDBRecord::Handle::rr_info
    - swoc::file::path::empty
    - auto::size
    - front
    - std::make_shared<HostFile>
    - std::shared_ptr::forward::end
    - loader
    - std::get<IPV4_IDX>
    - HostDBRecord::alloc
    - ParseHostLine
    - auto::name_view
    - auto::empty
    linkageType: ''
    returnType: std::shared_ptr<HostFile>
    signature: std::shared_ptr<HostFile> ParseHostFile(swoc::file::path const &path,
      ts_seconds interval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:84,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:85,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:86,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:87,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:90,1
    - Dst: ats_ip_addr32_cast
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: HOSTDB_CLIENT_IP_HASH
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - ats_ip4_addr_cast
    - ats_ip_addr32_cast
    - static_cast<unsigned int>
    - IpAddr::isIp6
    - IpAddr::family
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int HOSTDB_CLIENT_IP_HASH(sockaddr const *lhs, IpAddr const
      &rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:84,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:85,1
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:86,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:87,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:90,1
    - Dst: ats_ip_addr32_cast
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: HOSTDB_CLIENT_IP_HASH
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - ats_ip4_addr_cast
    - ats_ip_addr32_cast
    - static_cast<unsigned int>
    - IpAddr::isIp6
    - IpAddr::family
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int HOSTDB_CLIENT_IP_HASH(sockaddr const *lhs, IpAddr const
      &rhs)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - HostDBType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: name_of
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      name_of(HostDBType t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<in_addr_t *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:129,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:130,1
    - Dst: reinterpret_cast<in6_addr *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - af
    - ptr
    argTypes:
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: is_addr_valid
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<in6_addr *>
    - IN6_IS_ADDR_UNSPECIFIED
    - reinterpret_cast<in_addr_t *>
    linkageType: ''
    returnType: bool
    signature: "bool is_addr_valid(uint8_t af, ///< Address family (format of data)\n
      \             void   *ptr ///< Raw address data (not a sockaddr variant!)\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBContinuation*::timeout::cancel
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:137,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cont
    argTypes:
    - HostDBContinuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: hostdb_cont_free
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - free
    - HostDBContinuation*::timeout::cancel
    linkageType: ''
    returnType: void
    signature: void hostdb_cont_free(HostDBContinuation *cont)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mark
    - style
    argTypes:
    - HostDBMark
    - HostResStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: check_for_retry
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_for_retry(HostDBMark &mark, HostResStyle style)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mark
    argTypes:
    - HostDBMark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: string_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      string_for(HostDBMark mark)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:178,1
    - Dst: SplitDNSConfig::isSplitDNSEnabled
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:178,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:179,1
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:183,1
    - Dst: static_cast<DNSServer *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:186,1
    - Dst: getDNSRecord
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: '&

      HostDBHash::set_host(TextView name)'
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - getDNSRecord
    - load
    - static_cast<DNSServer *>
    - SplitDNSConfig::acquire
    - SplitDNSConfig::isSplitDNSEnabled
    - empty
    linkageType: ''
    returnType: HostDBHash
    signature: 'HostDBHash &

      HostDBHash::set_host(TextView name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:203,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:205,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:205,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:205,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:206,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:206,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:207,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:209,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:209,1
    - Dst: isIp6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:216,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:217,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:218,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:219,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:220,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 223
    functionName: HostDBHash::refresh
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - CryptoContext::update
    - reinterpret_cast<uint8_t *>
    - strlen
    - isIp6
    - static_cast<uint8_t>
    - data
    - size
    - CryptoContext::CryptoContext
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: void HostDBHash::refresh()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::release
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: HostDBHash::~HostDBHash()
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - SplitDNSConfig::release
    linkageType: ''
    returnType: void
    signature: void HostDBHash::~HostDBHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: HostDBCache::HostDBCache
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBCache::HostDBCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:237,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:237,1
    - Dst: pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:240,1
    - Dst: static_cast<HostDBContinuation *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: HostDBCache::is_pending_dns_for_hash
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    - static_cast<HostDBContinuation *>
    - refcountcache::lock_for_key
    - pending_dns_for_hash
    linkageType: ''
    returnType: bool
    signature: bool HostDBCache::is_pending_dns_for_hash(const CryptoHash &hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:254,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:254,1
    - Dst: pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:256,1
    - Dst: Queue::in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:257,1
    - Dst: Queue::remove
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - c
    argTypes:
    - CryptoHash
    - HostDBContinuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: HostDBCache::remove_from_pending_dns_for_hash
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    - refcountcache::lock_for_key
    - pending_dns_for_hash
    - Queue::remove
    - Queue::in
    linkageType: ''
    returnType: bool
    signature: bool HostDBCache::remove_from_pending_dns_for_hash(const CryptoHash
      &hash, HostDBContinuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: HostDBCache::acquire_host_file
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<HostFile>
    signature: std::shared_ptr<HostFile> HostDBCache::acquire_host_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: HostDBProcessor::cache
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostDBCache
    signature: 'HostDBCache *

      HostDBProcessor::cache()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:288,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frequency
    argTypes:
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: HostDBBackgroundTask::HostDBBackgroundTask
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void HostDBBackgroundTask::HostDBBackgroundTask(ts_seconds frequency)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:303,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:306,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:308,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:310,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:312,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:315,1
    - Dst: RefCountCache<HostDBRecord>::RefCountCache<HostDBRecord>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:319,1
    - Dst: Queue<HostDBContinuation, Continuation::Link_link>::Link_link>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:321,1
    - Dst: Queue<HostDBContinuation, Continuation::Link_link>::Link_link>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: HostDBCache::start
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - RecEstablishStaticConfigInt32
    - RefCountCache<HostDBRecord>::RefCountCache<HostDBRecord>
    - Fatal
    - RecGetRecordInt
    - Queue<HostDBContinuation, Continuation::Link_link>::Link_link>
    linkageType: ''
    returnType: int
    signature: int HostDBCache::start(int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBProcessor::start
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:334,1
    - Dst: HostDBProcessor::init
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: HostDBProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - HostDBProcessor::start
    - HostDBProcessor::init
    linkageType: ''
    returnType: int
    signature: int HostDBProcessor::start(int, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:347,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:348,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:349,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:350,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:351,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:352,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:353,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:354,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:355,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:356,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:357,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:358,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:363,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:364,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:366,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:369,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:379,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:381,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:382,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:383,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:384,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 387
    functionName: HostDBProcessor::init
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - ink_time_wall_seconds
    - RecRegisterConfigUpdateCb
    - schedule_every
    - HRTIME_SECONDS
    - RecEstablishStaticConfigInt32
    - new_ProxyMutex
    - RecEstablishStaticConfigUInt32
    - alloc
    - SET_CONTINUATION_HANDLER
    - RecGetRecordInt
    - failover_now
    linkageType: ''
    returnType: int
    signature: int HostDBProcessor::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_name::prefix
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:393,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:393,1
    - Dst: host_name::empty
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:394,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:396,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:398,1
    - Dst: host_name::assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:399,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:399,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:403,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - the_hash
    - opt
    argTypes:
    - HostDBHash
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 412
    functionName: HostDBContinuation::init
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - host_name::empty
    - memcpy
    - host_name::assign
    - host_name::prefix
    - ink_zero
    - new_ProxyMutex
    - host_name::size
    linkageType: ''
    returnType: void
    signature: void HostDBContinuation::init(HostDBHash const &the_hash, Options const
      &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBContinuation::remove_and_trigger_pending_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:418,1
    - Dst: refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: HostDBContinuation::refresh_hash
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - refresh
    - HostDBContinuation::remove_and_trigger_pending_dns
    linkageType: ''
    returnType: void
    signature: void HostDBContinuation::refresh_hash()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord*::is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:425,1
    - Dst: HostDBRecord*::is_failed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:425,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:426,1
    - Dst: HostDBRecord*::name
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:431,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:432,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:433,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:434,1
    - Dst: refcountcache::erase
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:435,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:438,1
    - Dst: HostDBRecord*::name
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:438,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cont
    - r
    argTypes:
    - Continuation*
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 444
    functionName: reply_to_cont
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - Warning
    - refcountcache::erase
    - HostDBRecord*::is_failed
    - Dbg
    - HostDBRecord*::name
    - HostDBRecord*::is_srv
    - Continuation*::handleEvent
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool reply_to_cont(Continuation *cont, HostDBRecord *r, bool is_srv
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: host_res_style_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ats_is_ip6
    linkageType: ''
    returnType: HostResStyle
    signature: HostResStyle host_res_style_for(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mark
    argTypes:
    - HostDBMark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: host_res_style_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostResStyle
    signature: HostResStyle host_res_style_for(HostDBMark mark)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - style
    argTypes:
    - HostResStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: db_mark_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostDBMark
    signature: HostDBMark db_mark_for(HostResStyle style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: db_mark_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ats_is_ip6
    linkageType: ''
    returnType: HostDBMark
    signature: HostDBMark db_mark_for(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: db_mark_for
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - IpAddr::isIp6
    linkageType: ''
    returnType: HostDBMark
    signature: HostDBMark db_mark_for(IpAddr const &ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HostDBHash::is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:487,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:488,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:488,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:488,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:490,1
    - Dst: HostDBRecord::alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:491,1
    - Dst: IpAddr::family
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:492,1
    - Dst: HostDBRecord::Handle::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:493,1
    - Dst: auto::assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HostDBHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: probe_ip
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - HostDBHash::is_byname
    - HostDBRecord::alloc
    - HostDBRecord::Handle::rr_info
    - auto::assign
    - Dbg
    - IpAddr::family
    - HostDBHash::host_name::size
    - IpAddr::load
    - HostDBHash::host_name::data
    linkageType: ''
    returnType: HostDBRecord::Handle
    signature: HostDBRecord::Handle probe_ip(HostDBHash const &hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquire_host_file
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:507,1
    - Dst: auto::lookup
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HostDBHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: probe_hostfile
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - acquire_host_file
    - auto::lookup
    linkageType: ''
    returnType: HostDBRecord::Handle
    signature: HostDBRecord::Handle probe_hostfile(HostDBHash const &hash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HostDBHash::hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:525,1
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:526,1
    - Dst: refcountcache::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:533,1
    - Dst: Ptr::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:535,1
    - Dst: probe_ip
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:536,1
    - Dst: probe_hostfile
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:538,1
    - Dst: Ptr::is_failed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:544,1
    - Dst: Ptr::is_ip_fail_timeout
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:544,1
    - Dst: Ptr::is_ip_timeout
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:547,1
    - Dst: Ptr::serve_stale_but_revalidate
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:547,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:548,1
    - Dst: Ptr::is_ip_configured_stale
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:554,1
    - Dst: Ptr::is_ip_timeout
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:555,1
    - Dst: Ptr::serve_stale_but_revalidate
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:555,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:556,1
    - Dst: is_pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:558,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:559,1
    - Dst: Ptr::ip_age
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:559,1
    - Dst: Ptr::ip_timestamp::time_since_epoch
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:560,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:564,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:565,1
    - Dst: Ptr::ip_age
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:565,1
    - Dst: Ptr::ip_timestamp::time_since_epoch
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:565,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:568,1
    - Dst: HostDBContinuation*::init
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:571,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:572,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:572,1
    - Dst: HostDBContinuation*::do_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - hash
    - ignore_timeout
    argTypes:
    - HostDBHash
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 576
    functionName: probe
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - Ptr::serve_stale_but_revalidate
    - Ptr::is_ip_timeout
    - Ptr::is_ip_configured_stale
    - alloc
    - this_ethread
    - Ptr::ip_age
    - ts::Metrics::Counter::increment
    - HostDBHash::hash::fold
    - HostDBContinuation*::do_dns
    - refcountcache::lock_for_key
    - Ptr::get
    - swoc::SWOC_VERSION_NS::bwprint
    - Ptr::is_ip_fail_timeout
    - is_pending_dns_for_hash
    - refcountcache::get
    - Dbg
    - Ptr::is_failed
    - SCOPED_MUTEX_LOCK
    - HostDBContinuation*::init
    - Ptr::ip_timestamp::time_since_epoch
    - probe_hostfile
    - probe_ip
    linkageType: ''
    returnType: HostDBRecord::Handle
    signature: HostDBRecord::Handle probe(HostDBHash const &hash, bool ignore_timeout)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:586,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:595,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:599,1
    - Dst: HostDBHash::ip::isValid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:603,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:607,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:608,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:612,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:619,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:620,1
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:624,1
    - Dst: HostDBHash::hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:624,1
    - Dst: probe
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:627,1
    - Dst: HostDBRecord::Handle::is_failed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:631,1
    - Dst: check_for_retry
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:632,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:637,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:637,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:637,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:638,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:638,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:638,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:640,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:640,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:640,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:642,1
    - Dst: HostDBHash::ip::isValid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:642,1
    - Dst: HostDBHash::ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:642,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:644,1
    - Dst: HostDBRecord::Handle::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:646,1
    - Dst: reply_to_cont
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:648,1
    - Dst: HostDBRecord::Handle::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:648,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:652,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:657,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:657,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:658,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:659,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:659,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:660,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:662,1
    - Dst: HostDBHash::host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:662,1
    - Dst: HostDBHash::host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:663,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:665,1
    - Dst: HostDBHash::ip::isValid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:666,1
    - Dst: HostDBHash::ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:666,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:672,1
    - Dst: HostDBContinuation*::init
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:678,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:679,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:682,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:684,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 4
    argNames:
    - cont
    - cb_process_result
    - hash
    - opt
    argTypes:
    - Continuation*
    - cb_process_result_pfn
    - HostDBHash
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 688
    functionName: HostDBProcessor::getby
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - probe
    - EThread*::schedule_in
    - reply_to_cont
    - alloc
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - HostDBHash::host_name::data
    - HostDBHash::ip::isValid
    - ts::Metrics::Counter::increment
    - is_locked
    - HostDBHash::hash::fold
    - refcountcache::lock_for_key
    - MUTEX_TRY_LOCK
    - EThread*::schedule_imm
    - HostDBHash::refresh
    - Dbg
    - HostDBHash::host_name::size
    - Continuation*::handleEvent
    - HostDBHash::ip::toString
    - check_for_retry
    - HostDBRecord::Handle::is_failed
    - HostDBContinuation*::init
    - HostDBRecord::Handle::get
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HostDBProcessor::getby(Continuation *cont, cb_process_result_pfn cb_process_result,
      HostDBHash &hash, Options const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:697,1
    - Dst: HostDBHash::set_host
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:700,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:700,1
    - Dst: db_mark_for
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:703,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:704,1
    - Dst: HostDBProcessor::getby
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - ahostname
    - len
    - opt
    argTypes:
    - Continuation*
    - char*
    - int
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 707
    functionName: HostDBProcessor::getbyname_re
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - db_mark_for
    - HostDBHash::refresh
    - strlen
    - HostDBProcessor::getby
    - ink_assert
    - HostDBHash::set_host
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HostDBProcessor::getbyname_re(Continuation *cont, const char *ahostname, int
      len, Options const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:714,1
    - Dst: HostDBHash::set_host
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:717,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:717,1
    - Dst: db_mark_for
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:720,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:721,1
    - Dst: HostDBProcessor::getby
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - ahostname
    - len
    - opt
    argTypes:
    - Continuation*
    - char*
    - int
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 724
    functionName: HostDBProcessor::getbynameport_re
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - db_mark_for
    - HostDBHash::refresh
    - strlen
    - HostDBProcessor::getby
    - ink_assert
    - HostDBHash::set_host
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HostDBProcessor::getbynameport_re(Continuation *cont, const char *ahostname,
      int len, Options const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:732,1
    - Dst: HostDBHash::ip::assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:738,1
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:739,1
    - Dst: db_mark_for
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:740,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:741,1
    - Dst: HostDBProcessor::getby
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - cont
    - aip
    argTypes:
    - Continuation*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: HostDBProcessor::getbyaddr_re
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - db_mark_for
    - HostDBHash::ip::assign
    - HostDBHash::refresh
    - ats_ip_port_host_order
    - HostDBProcessor::getby
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HostDBProcessor::getbyaddr_re(Continuation *cont, sockaddr const *aip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:751,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:751,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:754,1
    - Dst: HostDBHash::set_host
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:756,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:756,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:760,1
    - Dst: HostDBProcessor::getby
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - cont
    - process_srv_info
    - hostname
    - len
    - opt
    argTypes:
    - Continuation*
    - cb_process_result_pfn
    - char*
    - int
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 763
    functionName: HostDBProcessor::getSRVbyname_imm
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - HostDBHash::refresh
    - strlen
    - this_ethread
    - HostDBProcessor::getby
    - ink_assert
    - HostDBHash::set_host
    linkageType: ''
    returnType: Action
    signature: "Action *\nHostDBProcessor::getSRVbyname_imm(Continuation *cont, cb_process_result_pfn
      process_srv_info, const char *hostname, int len,\n                                  Options
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:771,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:771,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:774,1
    - Dst: HostDBHash::set_host
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:776,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:776,1
    - Dst: db_mark_for
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:781,1
    - Dst: HostDBHash::refresh
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:782,1
    - Dst: HostDBProcessor::getby
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - cont
    - process_hostdb_info
    - hostname
    - len
    - opt
    argTypes:
    - Continuation*
    - cb_process_result_pfn
    - char*
    - int
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 785
    functionName: HostDBProcessor::getbyname_imm
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - db_mark_for
    - HostDBHash::refresh
    - strlen
    - this_ethread
    - HostDBProcessor::getby
    - ink_assert
    - HostDBHash::set_host
    linkageType: ''
    returnType: Action
    signature: "Action *\nHostDBProcessor::getbyname_imm(Continuation *cont, cb_process_result_pfn
      process_hostdb_info, const char *hostname, int len,\n                               Options
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:790,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:790,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:793,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:795,1
    - Dst: HostDBContinuation*::init
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:801,1
    - Dst: HostDBHash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:801,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:803,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - cont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 808
    functionName: HostDBProcessor::iterate
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - EThread*::schedule_in
    - HostDBHash
    - HostDBContinuation*::init
    - alloc
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HostDBProcessor::iterate(Continuation *cont)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:817,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:818,1
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:819,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:820,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:820,1
    - Dst: host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:820,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:821,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:822,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:822,1
    - Dst: host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:822,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:825,1
    - Dst: ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:825,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:828,1
    - Dst: std::clamp
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:828,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:830,1
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:832,1
    - Dst: Ptr<HostDBRecord>::set_failed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:836,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:841,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:845,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:848,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:849,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:853,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:854,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:858,1
    - Dst: ts_seconds::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:858,1
    - Dst: std::clamp
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:862,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:862,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:862,1
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:864,1
    - Dst: Dbg_bw
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:865,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:866,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:867,1
    - Dst: SRVHosts*::hosts::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:867,1
    - Dst: SRVHosts*::hosts::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:867,1
    - Dst: Dbg_bw
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:871,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - query_name
    - answer_ttl
    - srv
    - record
    argTypes:
    - TextView
    - ts_seconds
    - SRVHosts*
    - Ptr<HostDBRecord>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 877
    functionName: HostDBContinuation::lookup_done
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - host_name::data
    - ts_seconds
    - Ptr<HostDBRecord>::set_failed
    - Dbg
    - Dbg_bw
    - SRVHosts*::hosts::size
    - is_srv
    - TextView::empty
    - std::clamp
    - host_name::size
    - ts_seconds::count
    - ip::toString
    - ink_assert
    - is_byname
    linkageType: ''
    returnType: Ptr<HostDBRecord>
    signature: Ptr<HostDBRecord> HostDBContinuation::lookup_done(TextView query_name,
      ts_seconds answer_ttl, SRVHosts *srv, Ptr<HostDBRecord> record)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:883,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:888,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:889,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:890,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:894,1
    - Dst: remove_from_pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:896,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:897,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:901,1
    - Dst: HostDBContinuation::probeEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 904
    functionName: HostDBContinuation::dnsPendingEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - schedule_in
    - remove_from_pending_dns_for_hash
    - hostdb_cont_free
    - cancel
    - MUTEX_TRY_LOCK
    - SET_HANDLER
    - continuation::handleEvent
    - HostDBContinuation::probeEvent
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::dnsPendingEvent(int event, Event *e)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:911,1
    - Dst: HostDBContinuation::remove_and_trigger_pending_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:924,1
    - Dst: pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:928,1
    - Dst: remove_from_pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:930,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:931,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:935,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:936,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:937,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:945,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:954,1
    - Dst: probe
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:956,1
    - Dst: HostEnt*::isNameError
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:958,1
    - Dst: refcountcache::erase
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:959,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:961,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:970,1
    - Dst: HostEnt*::srv_hosts::hosts::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:971,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:975,1
    - Dst: is_addr_valid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:977,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:990,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:990,1
    - Dst: host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:990,1
    - Dst: host_name::empty
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1000,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1000,1
    - Dst: HostDBRecord::alloc
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1001,1
    - Dst: hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1002,1
    - Dst: Ptr::serve_stale_but_revalidate
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1010,1
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1013,1
    - Dst: HostDBContinuation::lookup_done
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1014,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1015,1
    - Dst: HostDBContinuation::lookup_done
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1016,1
    - Dst: HostDBContinuation::lookup_done
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1020,1
    - Dst: HostDBContinuation::lookup_done
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1022,1
    - Dst: HostDBRecord::Handle::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1026,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1028,1
    - Dst: auto::rebind
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1029,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1031,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1031,1
    - Dst: sort
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1035,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1040,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1041,1
    - Dst: Ptr::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1044,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1045,1
    - Dst: srvname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1045,1
    - Dst: srvname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1045,1
    - Dst: migrate_from
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1046,1
    - Dst: Dbg_bw
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1052,1
    - Dst: srvname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1052,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1057,1
    - Dst: Ptr::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1059,1
    - Dst: migrate_from
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1061,1
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1071,1
    - Dst: hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1071,1
    - Dst: HostDBRecord::Handle::expiry_time
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1073,1
    - Dst: duration_cast<ts_seconds>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1074,1
    - Dst: refcountcache::put
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1075,1
    - Dst: HostDBRecord::Handle::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1075,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1077,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1077,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1077,1
    - Dst: check_for_retry
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1084,1
    - Dst: HostDBContinuation::refresh_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1085,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1086,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1087,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1096,1
    - Dst: std::unique_lock::is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1097,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1100,1
    - Dst: reply_to_cont
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1102,1
    - Dst: HostDBRecord::Handle::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1102,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1102,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1108,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1110,1
    - Dst: remove_from_pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1116,1
    - Dst: HostDBContinuation::remove_and_trigger_pending_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1119,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1122,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 142
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - HostEnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 1129
    functionName: HostDBContinuation::dnsEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - probe
    - EThread*::schedule_in
    - Ptr::serve_stale_but_revalidate
    - HostDBContinuation::lookup_done
    - auto::rebind
    - ts_seconds
    - memcpy
    - schedule_in
    - pending_dns_for_hash
    - is_addr_valid
    - reply_to_cont
    - TextView::size
    - HostDBContinuation::remove_and_trigger_pending_dns
    - cancel
    - SET_CONTINUATION_HANDLER
    - SET_HANDLER
    - assign
    - Dbg_bw
    - is_byname
    - host_name::empty
    - is_locked
    - refcountcache::erase
    - HostDBRecord::Handle::rr_info
    - refcountcache::lock_for_key
    - MUTEX_TRY_LOCK
    - host_name::size
    - std::unique_lock::is_locked
    - migrate_from
    - static_cast<int>
    - strcmp
    - Warning
    - host_name::data
    - TextView::data
    - ink_release_assert
    - hash::fold
    - HostDBContinuation::refresh_hash
    - remove_from_pending_dns_for_hash
    - Dbg
    - Ptr::rr_info
    - strlen
    - srvname
    - continuation::handleEvent
    - ink_assert
    - sort
    - HostDBRecord::Handle::expiry_time
    - HostDBRecord::alloc
    - duration_cast<ts_seconds>
    - check_for_retry
    - HostEnt*::srv_hosts::hosts::size
    - hostdb_cont_free
    - HostEnt*::isNameError
    - is_srv
    - refcountcache::put
    - HostDBRecord::Handle::get
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::dnsEvent(int event, HostEnt *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1134,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1135,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1136,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1138,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1139,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1140,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1141,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1146,1
    - Dst: refcountcache::partition_count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1151,1
    - Dst: refcountcache::get_partition
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1153,1
    - Dst: refcountcache::get_partition
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1156,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1158,1
    - Dst: item::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1158,1
    - Dst: auto*::is_failed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1159,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1160,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1160,1
    - Dst: refcountcache::partition_count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1166,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1168,1
    - Dst: refcountcache::partition_count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1169,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1173,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1175,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1180
    functionName: HostDBContinuation::iterateEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - static_cast<void *>
    - thread_holding::schedule_in
    - refcountcache::get_partition
    - item::get
    - refcountcache::partition_count
    - Dbg
    - auto*::is_failed
    - this_ethread
    - hostdb_cont_free
    - static_cast<HostDBRecord *>
    - MUTEX_TRY_LOCK
    - continuation::handleEvent
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::iterateEvent(int event, Event *e)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1188,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1189,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1192,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1196,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1200,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1201,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1202,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1207,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1212,1
    - Dst: ip::isValid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1214,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1216,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1218,1
    - Dst: probe
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1225,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1228,1
    - Dst: reply_to_cont
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1232,1
    - Dst: HostDBRecord::Handle::get
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1232,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1232,1
    - Dst: hostdb_cont_free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1238,1
    - Dst: HostDBContinuation::do_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1185
    functionDepth: 3
    functionLinenumber: 1185
    functionLinenumberEnd: 1246
    functionName: HostDBContinuation::probeEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - probe
    - EThread*::schedule_in
    - is_locked
    - ink_release_assert
    - ts::Metrics::Counter::increment
    - is_srv
    - reply_to_cont
    - HostDBContinuation::do_dns
    - this_ethread
    - hostdb_cont_free
    - cancel
    - MUTEX_TRY_LOCK
    - HostDBRecord::Handle::get
    - continuation::handleEvent
    - ip::isValid
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::probeEvent(int /* event ATS_UNUSED */, Event
      *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1251,1
    - Dst: hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1251,1
    - Dst: pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1253,1
    - Dst: HostDBContinuation::setThreadAffinity
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1254,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1254,1
    - Dst: Queue::in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1255,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1256,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1257,1
    - Dst: static_cast<HostDBContinuation *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1261,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1263,1
    - Dst: Queue::enqueue
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1264,1
    - Dst: Queue::enqueue
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1270
    functionName: HostDBContinuation::set_check_pending_dns
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - hash::fold
    - Queue::enqueue
    - refcountcache::lock_for_key
    - pending_dns_for_hash
    - HostDBContinuation::setThreadAffinity
    - Dbg
    - this_ethread
    - static_cast<HostDBContinuation *>
    - Queue::in
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::set_check_pending_dns()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1275,1
    - Dst: refcountcache::lock_for_key
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1277,1
    - Dst: hash::fold
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1277,1
    - Dst: pending_dns_for_hash
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1280,1
    - Dst: Queue::remove
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1281,1
    - Dst: static_cast<HostDBContinuation *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1284,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1286,1
    - Dst: Queue::remove
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1287,1
    - Dst: Queue::enqueue
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1289,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1295,1
    - Dst: Queue::dequeue
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1296,1
    - Dst: HostDBContinuation*::getThreadAffinity
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1298,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1299,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1299,1
    - Dst: HostDBContinuation*::handleEvent
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1301,1
    - Dst: HostDBContinuation*::timeout::cancel
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1304,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1309
    functionName: HostDBContinuation::remove_and_trigger_pending_dns
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 2
    functionsReached:
    - HostDBContinuation*::handleEvent
    - Queue::dequeue
    - hash::fold
    - Queue::enqueue
    - HostDBContinuation*::getThreadAffinity
    - refcountcache::lock_for_key
    - pending_dns_for_hash
    - SCOPED_MUTEX_LOCK
    - Queue::remove
    - HostDBContinuation*::timeout::cancel
    - Dbg
    - this_ethread
    - Queue::Queue
    - static_cast<HostDBContinuation *>
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: void HostDBContinuation::remove_and_trigger_pending_dns()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1317,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1320,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1321,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1321,1
    - Dst: HostDBContinuation::set_check_pending_dns
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1325,1
    - Dst: host_res_style_for
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1328,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1329,1
    - Dst: is_byname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1330,1
    - Dst: gethostbyname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1334,1
    - Dst: is_srv
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1335,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1336,1
    - Dst: host_name::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1336,1
    - Dst: host_name::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1336,1
    - Dst: getSRVbyname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1337,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1340,1
    - Dst: ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1340,1
    - Dst: gethostbyaddr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1341,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1346
    functionName: HostDBContinuation::do_dns
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - EThread*::schedule_in
    - is_srv
    - host_name::data
    - gethostbyaddr
    - gethostbyname
    - HRTIME_SECONDS
    - Dbg
    - getSRVbyname
    - is_byname
    - this_ethread
    - host_name::size
    - SET_HANDLER
    - HostDBContinuation::set_check_pending_dns
    - ip::toString
    - ink_assert
    - host_res_style_for
    linkageType: ''
    returnType: void
    signature: void HostDBContinuation::do_dns()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1358,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1361,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1365,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1369,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1370,1
    - Dst: string
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1370,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1371,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1372,1
    - Dst: view
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1372,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::FirstOf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1372,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1378,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1381,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1383,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1387,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1388,1
    - Dst: view
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1388,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1392,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1392,1
    - Dst: view
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1392,1
    - Dst: UpdateHostsFile
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1398
    functionName: HostDBContinuation::backgroundEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - string
    - load
    - view
    - swoc::SWOC_VERSION_NS::bwf::FirstOf
    - swoc::SWOC_VERSION_NS::file::status
    - UpdateHostsFile
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - Dbg
    - strcasecmp
    - RecGetRecordString
    - empty
    - swoc::SWOC_VERSION_NS::bwprint
    - count
    - failover_now
    linkageType: ''
    returnType: int
    signature: int HostDBContinuation::backgroundEvent(int /* event ATS_UNUSED */,
      Event * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1403,1
    - Dst: HostDBRecord::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1410,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1411,1
    - Dst: HostDBRecord::select_next_rr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1414,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1415,1
    - Dst: HostDBRecord::index_of
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1415,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1417,1
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1418,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1420,1
    - Dst: HostDBRecord::select_next_rr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1421,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1422,1
    - Dst: HostDBRecord::index_of
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1422,1
    - Dst: HostDBRecord::rr_idx
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1424,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1426,1
    - Dst: HostDBRecord::index_of
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1426,1
    - Dst: HOSTDB_CLIENT_IP_HASH
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1431,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1437,1
    - Dst: HostDBRecord::index_of
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1437,1
    - Dst: HostDBRecord::rr_idx
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1445,1
    - Dst: auto::select
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1446,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - now
    - fail_window
    - hash_addr
    argTypes:
    - ts_time
    - ts_seconds
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1457
    functionName: HostDBRecord::select_best_http
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - auto::count
    - ts_seconds
    - load
    - auto::select
    - HostDBRecord::select_next_rr
    - HOSTDB_CLIENT_IP_HASH
    - Dbg
    - HostDBRecord::index_of
    - HostDBRecord::rr_idx
    - HostDBRecord::rr_info
    - ink_assert
    - compare_exchange_strong
    linkageType: ''
    returnType: HostDBInfo
    signature: 'HostDBInfo *

      HostDBRecord::select_best_http(ts_time now, ts_seconds fail_window, sockaddr
      const *hash_addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HostDBRecord *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1477,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1479,1
    - Dst: auto*::name
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1479,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1485,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1485,1
    - Dst: static_cast<in_addr_t>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1485,1
    - Dst: randu
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1485,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1489,1
    - Dst: getbyaddr_re
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1491,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1499
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 2
    functionsReached:
    - getbyaddr_re
    - IpAddr
    - reinterpret_cast<HostDBRecord *>
    - static_cast<in_addr_t>
    - randu
    - rprintf
    - auto*::name
    - IpEndpoint::assign
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1501,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1503,1
    - Dst: seed
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1504,1
    - Dst: failover_now
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - atype
    - astatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1505
    functionName: HostDBTestReverse
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - seed
    - SET_HANDLER
    - new_ProxyMutex
    - failover_now
    linkageType: ''
    returnType: void
    signature: void HostDBTestReverse(RegressionTest *t, int atype, int *astatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1511,1
    - Dst: HostDBTestReverse::HostDBTestReverse
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - atype
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 3
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - HostDBTestReverse::HostDBTestReverse
    - schedule_imm
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HostDBTests)(RegressionTest *t, int atype, int
      *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1522,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1522,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1532,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1533,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1534,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1535,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1536,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1537,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1538,1
    - Dst: ts_host_res_global_init
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1541
    functionName: ink_hostdb_init
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - ts::ModuleVersion::check
    - ink_release_assert
    - ts::Metrics::Counter::createPtr
    - ts_host_res_global_init
    linkageType: ''
    returnType: void
    signature: void ink_hostdb_init(ts::ModuleVersion v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1553
    functionName: HostDBFileContinuation
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBFileContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBFileContinuation::~HostDBFileContinuation
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1566,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1568
    functionName: HostDBFileContinuation::destroy
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - free
    - HostDBFileContinuation::~HostDBFileContinuation
    linkageType: ''
    returnType: void
    signature: void HostDBFileContinuation::destroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1582,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1583,1
    - Dst: ParseHostFile
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1587,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - interval
    argTypes:
    - swoc::file::path
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1597
    functionName: UpdateHostsFile
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - std::move
    - Dbg
    - compare_exchange_strong
    - ParseHostFile
    linkageType: ''
    returnType: void
    signature: void UpdateHostsFile(swoc::file::path const &path, ts_seconds interval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1624,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1629,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1630,1
    - Dst: HostDBRecord*::name
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1630,1
    - Dst: HostDBRecord*::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1632,1
    - Dst: data::ip::toString
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1635,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1636,1
    - Dst: getbyname_re
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1645,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - event
    - r
    argTypes:
    - int
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1656
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 2
    functionsReached:
    - data::ip::toString
    - getbyname_re
    - rprintf
    - HostDBRecord*::name
    - HostDBRecord*::rr_info
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, HostDBRecord *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1659,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ahosts
    - ahostnames
    - t
    - atype
    - astatus
    argTypes:
    - int
    - char**
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1671
    functionName: HostDBRegressionContinuation
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void HostDBRegressionContinuation(int ahosts, const char **ahostnames,
      RegressionTest *t, int atype, int *astatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1683,1
    - Dst: HostDBRegressionContinuation::HostDBRegressionContinuation
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1683,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - atype
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1684
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - schedule_in
    - HostDBRegressionContinuation::HostDBRegressionContinuation
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HostDBProcessor)(RegressionTest *t, int atype,
      int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1692,1
    - Dst: free_void
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1693,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1695
    functionName: HostDBRecord::free
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - free_void
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void HostDBRecord::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1700,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1700,1
    - Dst: round_up
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1701,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1702,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1703,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1704,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1705,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1706,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1707,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1711,1
    - Dst: swoc::Scalar::value
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1711,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1711,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1712,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1716,1
    - Dst: auto::apply_offset
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1716,1
    - Dst: auto::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1721,1
    - Dst: std::remove_reference_t<decltype(info)>::remove_reference_t<decltype(info)>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - query_name
    - rr_count
    - srv_name_size
    argTypes:
    - TextView
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1697
    functionDepth: 3
    functionLinenumber: 1697
    functionLinenumberEnd: 1726
    functionName: HostDBRecord::alloc
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 3
    functionsReached:
    - memset
    - memcpy
    - ink_release_assert
    - TextView::data
    - std::remove_reference_t<decltype(info)>::remove_reference_t<decltype(info)>
    - self_type::self_type
    - static_cast<self_type *>
    - swoc::Scalar::value
    - auto::apply_offset
    - alloc_void
    - auto::rr_info
    - Dbg
    - TextView::size
    - round_up
    - iobuffer_size_to_index
    linkageType: ''
    returnType: HostDBRecord
    signature: 'HostDBRecord *

      HostDBRecord::alloc(TextView query_name, unsigned int rr_count, size_t srv_name_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<self_type *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1734,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1735,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1736,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1737,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1738,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1740,1
    - Dst: static_cast<std::byte *>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buff
    - size
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1742
    functionName: HostDBRecord::unmarshall
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ink_release_assert
    - self_type::self_type
    - reinterpret_cast<self_type *>
    - static_cast<self_type *>
    - alloc_void
    - static_cast<std::byte *>
    linkageType: ''
    returnType: HostDBRecord::self_type
    signature: 'HostDBRecord::self_type *

      HostDBRecord::unmarshall(char *buff, unsigned size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_seconds
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1755,1
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1755,1
    - Dst: Dbg_bw
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1756,1
    - Dst: HostDBRecord::name
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1756,1
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1763
    functionName: HostDBRecord::serve_stale_but_revalidate
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - HostDBRecord::ip_age
    - ts_seconds
    - Dbg_bw
    - HostDBRecord::name
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::serve_stale_but_revalidate() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1768,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1768,1
    - Dst: HostDBRecord::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1774,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1776,1
    - Dst: is_down
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1779,1
    - Dst: HostDBRecord::select_next_rr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1793,1
    - Dst: InkRand*::random
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1795,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1804,1
    - Dst: HostDBInfo*::srvname
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1804,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - target
    - rand
    - now
    - fail_window
    argTypes:
    - char*
    - InkRand*
    - ts_time
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1808
    functionName: HostDBRecord::select_best_srv
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - auto::count
    - InkRand*::random
    - is_down
    - static_cast<unsigned int>
    - ink_strlcpy
    - HostDBRecord::select_next_rr
    - HostDBInfo*::srvname
    - HostDBRecord::rr_info
    - ink_assert
    linkageType: ''
    returnType: HostDBInfo
    signature: 'HostDBInfo *

      HostDBRecord::select_best_srv(char *target, InkRand *rand, ts_time now, ts_seconds
      fail_window)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1813,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1814,1
    - Dst: HostDBRecord::next_rr
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1815,1
    - Dst: auto::select
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - now
    - fail_window
    argTypes:
    - ts_time
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1822
    functionName: HostDBRecord::select_next_rr
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 2
    functionsReached:
    - auto::select
    - auto::count
    - HostDBRecord::rr_info
    - HostDBRecord::next_rr
    linkageType: ''
    returnType: HostDBInfo
    signature: 'HostDBInfo *

      HostDBRecord::select_next_rr(ts_time now, ts_seconds fail_window)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_weak
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1834
    functionName: HostDBRecord::next_rr
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 1
    functionsReached:
    - compare_exchange_weak
    linkageType: ''
    returnType: unsigned
    signature: unsigned HostDBRecord::next_rr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1845
    functionName: HostDBRecord::find
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - HostDBRecord::rr_info
    linkageType: ''
    returnType: HostDBInfo
    signature: 'HostDBInfo *

      HostDBRecord::find(sockaddr const *addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1852,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1853,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1854,1
    - Dst: c_str
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1854,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1859
    functionName: ResolveInfo::resolve_immediate
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - assign
    - Dbg
    - c_str
    - IpAddr::load
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::resolve_immediate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - HostDBInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1872
    functionName: ResolveInfo::set_active
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::set_active(HostDBInfo *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ResolveInfo::record::rr_info
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1878,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1878,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1879,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1879,1
    - Dst: auto::count
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1880,1
    - Dst: is_alive
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1886
    functionName: ResolveInfo::select_next_rr
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - ResolveInfo::record::rr_info
    - auto::count
    - auto::data
    - is_alive
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::select_next_rr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isValid
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1891,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/hostdb/HostDB.cc:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ip_addr
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1897
    functionName: ResolveInfo::set_upstream_address
    functionSourceFile: /src/trafficserver/src/iocore/hostdb/HostDB.cc
    functionUses: 0
    functionsReached:
    - assign
    - IpAddr::isValid
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::set_upstream_address(IpAddr const &ip_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: OneWayMultiTunnel::OneWayMultiTunnel
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void OneWayMultiTunnel::OneWayMultiTunnel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:55,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:55,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:62,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:68,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:75,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:83,1
    - Dst: writer_for
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:85,1
    - Dst: VConnection*::do_io_read
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:89,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:91,1
    - Dst: vc_do_io_write
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 11
    argNames:
    - vcSource
    - vcTargets
    - n_vcTargets
    - aCont
    - size_estimate
    - nbytes
    - asingle_buffer
    - aclose_source
    - aclose_targets
    - aManipulate_fn
    - water_mark
    argTypes:
    - VConnection*
    - VConnection**
    - int
    - Continuation*
    - int
    - int64_t
    - bool
    - bool
    - bool
    - Transform_fn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 97
    functionName: OneWayMultiTunnel::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - make_ptr
    - new_ProxyMutex
    - vc_do_io_write
    - writer_for
    - VConnection*::do_io_read
    - buffer_size_to_index
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void OneWayMultiTunnel::init(VConnection *vcSource, VConnection **vcTargets,
      int n_vcTargets, Continuation *aCont, int size_estimate,\n                        int64_t
      nbytes, bool asingle_buffer, /* = true */\n                        bool         aclose_source,
      \         /* = false */\n                        bool         aclose_targets,
      \        /* = false */\n                        Transform_fn aManipulate_fn,
      int water_mark)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:103,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:103,1
    - Dst: VIO*::ntodo
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:114,1
    - Dst: writer_for
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:117,1
    - Dst: VIO*::buffer::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:117,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:121,1
    - Dst: VIO*::set_continuation
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:123,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - aCont
    - SourceVio
    - TargetVios
    - n_TargetVios
    - aclose_source
    - aclose_targets
    argTypes:
    - Continuation*
    - VIO*
    - VIO**
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: OneWayMultiTunnel::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 0
    functionsReached:
    - VIO*::set_continuation
    - make_ptr
    - set_continuation
    - VIO*::ntodo
    - new_ProxyMutex
    - writer_for
    - VIO*::buffer::writer
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: "void OneWayMultiTunnel::init(Continuation *aCont, VIO *SourceVio,
      VIO **TargetVios, int n_TargetVios, bool aclose_source,\n                        bool
      aclose_targets)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:141,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:146,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:147,1
    - Dst: transform
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:154,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:157,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:166,1
    - Dst: VIO*::ntodo
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:172,1
    - Dst: transform
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:176,1
    - Dst: buffer::reader
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:189,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:190,1
    - Dst: close_source_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:193,1
    - Dst: OneWayMultiTunnel::close_target_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:200,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:200,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:204,1
    - Dst: close_source_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:214,1
    - Dst: OneWayMultiTunnel::close_target_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:215,1
    - Dst: connection_closed
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:216,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:224,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 227
    functionName: OneWayMultiTunnel::startEvent
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 0
    functionsReached:
    - OneWayMultiTunnel::close_target_vio
    - reenable
    - buffer::reader
    - connection_closed
    - transform
    - VIO*::ntodo
    - close_source_vio
    - printf
    - static_cast<VIO *>
    - get_vc_event_name
    linkageType: ''
    returnType: int
    signature: int OneWayMultiTunnel::startEvent(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: last_connection
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:235,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:236,1
    - Dst: VIO*::buffer::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:236,1
    - Dst: VIO*::vc_server::do_io_close
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: OneWayMultiTunnel::close_target_vio
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 1
    functionsReached:
    - VIO*::buffer::writer
    - free_MIOBuffer
    - last_connection
    - VIO*::vc_server::do_io_close
    linkageType: ''
    returnType: void
    signature: void OneWayMultiTunnel::close_target_vio(int /* result ATS_UNUSED */,
      VIO *vio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:252,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: OneWayMultiTunnel::reenable_all
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayMultiTunnel.cc
    functionUses: 0
    functionsReached:
    - reenable
    linkageType: ''
    returnType: void
    signature: void OneWayMultiTunnel::reenable_all()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: compute_fnv1a
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t compute_fnv1a(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: Machine::instance
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 3
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: Machine
    signature: 'Machine *

      Machine::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:73,1
    - Dst: Machine::Machine
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - ip
    argTypes:
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Machine::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 0
    functionsReached:
    - Machine::Machine
    - ink_assert
    linkageType: ''
    returnType: Machine
    signature: 'Machine *

      Machine::init(char const *name, sockaddr const *ip)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bzero
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:81,1
    - Dst: bzero
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:82,1
    - Dst: bzero
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:83,1
    - Dst: initialize
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:89,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:90,1
    - Dst: getString
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:90,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:92,1
    - Dst: gethostname
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:97,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:98,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:99,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:99,1
    - Dst: Machine::insert_id
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:100,1
    - Dst: getifaddrs
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:105,1
    - Dst: socket
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:107,1
    - Dst: ioctl
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:118,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:125,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:125,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:125,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:126,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:155,1
    - Dst: ioctl
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:156,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:162,1
    - Dst: ats_is_ip_loopback
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:164,1
    - Dst: ats_is_ip_linklocal
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:166,1
    - Dst: ats_is_ip_private
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:168,1
    - Dst: ats_is_ip_multicast
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:170,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:179,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:179,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:180,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:181,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:182,1
    - Dst: Machine::insert_id
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:183,1
    - Dst: getnameinfo
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:184,1
    - Dst: ats_ip_size
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:184,1
    - Dst: Machine::insert_id
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:185,1
    - Dst: Machine::insert_id
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:187,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:187,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:188,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:190,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:193,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:195,1
    - Dst: freeifaddrs
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:203,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:208,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:210,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:214,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 2
    argNames:
    - the_hostname
    - addr
    argTypes:
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 216
    functionName: Machine::Machine
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 1
    functionsReached:
    - initialize
    - getifaddrs
    - ats_ip_copy
    - ats_ip_size
    - bzero
    - ats_is_ip_multicast
    - freeifaddrs
    - assign
    - strerror
    - size
    - socket
    - getString
    - gethostname
    - IpAddr
    - ink_strlcpy
    - ats_is_ip_linklocal
    - Machine::insert_id
    - ink_zero
    - ats_ip_ntop
    - ats_is_ip6
    - data
    - ats_is_ip
    - Warning
    - ink_release_assert
    - close
    - ats_is_ip_private
    - strlen
    - ats_is_ip_loopback
    - ats_is_ip4
    - getnameinfo
    - ioctl
    linkageType: ''
    returnType: void
    signature: void Machine::Machine(char const *the_hostname, sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: Machine::~Machine()
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Machine::~Machine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:249,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: Machine::is_self
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Machine::is_self(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Machine::is_self
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:255,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: Machine::is_self
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 1
    functionsReached:
    - Machine::is_self
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Machine::is_self(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Machine::is_self
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:261,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: Machine::is_self
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 2
    functionsReached:
    - Machine::is_self
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool Machine::is_self(char const *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:267,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ipaddr
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: Machine::is_self
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 2
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool Machine::is_self(IpAddr const &ipaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:273,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:273,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Machine::is_self
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 2
    functionsReached:
    - find
    - IpAddr
    - end
    linkageType: ''
    returnType: bool
    signature: bool Machine::is_self(struct sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: Machine::insert_id
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void Machine::insert_id(char const *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::toString
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:287,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:288,1
    - Dst: emplace
      Src: /src/trafficserver/src/iocore/utils/Machine.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ipaddr
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: Machine::insert_id
    functionSourceFile: /src/trafficserver/src/iocore/utils/Machine.cc
    functionUses: 1
    functionsReached:
    - IpAddr::toString
    - emplace
    linkageType: ''
    returnType: void
    signature: void Machine::insert_id(IpAddr const &ipaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:57,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:59,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:60,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:68,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:68,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:68,1
    - Dst: MIOBufferAccessor::reader
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:69,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - in_buf
    - out_buf
    argTypes:
    - MIOBufferAccessor
    - MIOBufferAccessor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: transfer_data
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - MIOBufferAccessor::writer
    - memcpy
    - ink_release_assert
    - MIOBufferAccessor::reader
    linkageType: ''
    returnType: void
    signature: void transfer_data(MIOBufferAccessor &in_buf, MIOBufferAccessor &out_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: OneWayTunnel::OneWayTunnel
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::OneWayTunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: OneWayTunnel::OneWayTunnel_alloc
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - alloc
    linkageType: ''
    returnType: OneWayTunnel
    signature: 'OneWayTunnel *

      OneWayTunnel::OneWayTunnel_alloc()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOWT
    argTypes:
    - OneWayTunnel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: OneWayTunnel::OneWayTunnel_free
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::OneWayTunnel_free(OneWayTunnel *pOWT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - east
    - west
    argTypes:
    - OneWayTunnel*
    - OneWayTunnel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: OneWayTunnel::SetupTwoWayTunnel
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::SetupTwoWayTunnel(OneWayTunnel *east, OneWayTunnel
      *west)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: OneWayTunnel::~OneWayTunnel()
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::~OneWayTunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:101,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:101,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - aCont
    - aManipulate_fn
    - aclose_source
    - aclose_target
    argTypes:
    - Continuation*
    - Transform_fn
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: OneWayTunnel::OneWayTunnel
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - Continuation*::mutex::get
    - ink_assert
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::OneWayTunnel(Continuation *aCont, Transform_fn aManipulate_fn,
      bool aclose_source, bool aclose_target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:120,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:120,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:130,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:135,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:140,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:143,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:148,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:153,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:153,1
    - Dst: VConnection*::do_io_read
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:154,1
    - Dst: VConnection*::do_io_write
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:155,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:155,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 11
    argNames:
    - vcSource
    - vcTarget
    - aCont
    - size_estimate
    - aMutex
    - nbytes
    - asingle_buffer
    - aclose_source
    - aclose_target
    - aManipulate_fn
    - water_mark
    argTypes:
    - VConnection*
    - VConnection*
    - Continuation*
    - int
    - ProxyMutex*
    - int64_t
    - bool
    - bool
    - bool
    - Transform_fn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 159
    functionName: OneWayTunnel::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - VConnection*::do_io_write
    - new_MIOBuffer
    - Continuation*::mutex::get
    - SCOPED_MUTEX_LOCK
    - ink_assert
    - new_ProxyMutex
    - Dbg
    - VConnection*::do_io_read
    - this_ethread
    - buffer_size_to_index
    - SET_HANDLER
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: void
    signature: "void OneWayTunnel::init(VConnection *vcSource, VConnection *vcTarget,
      Continuation *aCont, int size_estimate, ProxyMutex *aMutex,\n                   int64_t
      nbytes, bool asingle_buffer, bool aclose_source, bool aclose_target, Transform_fn
      aManipulate_fn,\n                   int water_mark)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:166,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:166,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:179,1
    - Dst: VIO*::set_continuation
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:181,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:182,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:182,1
    - Dst: VConnection*::do_io_write
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:185,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 7
    argNames:
    - vcSource
    - vcTarget
    - aCont
    - SourceVio
    - reader
    - aclose_source
    - aclose_target
    argTypes:
    - VConnection*
    - VConnection*
    - Continuation*
    - VIO*
    - IOBufferReader*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: OneWayTunnel::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - VIO*::set_continuation
    - VConnection*::do_io_write
    - SCOPED_MUTEX_LOCK
    - make_ptr
    - new_ProxyMutex
    - this_ethread
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void OneWayTunnel::init(VConnection *vcSource, VConnection *vcTarget,
      Continuation *aCont, VIO *SourceVio, IOBufferReader *reader,\n                   bool
      aclose_source, bool aclose_target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:192,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:192,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:203,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:205,1
    - Dst: VIO*::set_continuation
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:207,1
    - Dst: VIO*::set_continuation
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - aCont
    - SourceVio
    - TargetVio
    - aclose_source
    - aclose_target
    argTypes:
    - Continuation*
    - VIO*
    - VIO*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: OneWayTunnel::init
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - VIO*::set_continuation
    - make_ptr
    - new_ProxyMutex
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::init(Continuation *aCont, VIO *SourceVio, VIO *TargetVio,
      bool aclose_source, bool aclose_target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: manipulate_fn
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:217,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:218,1
    - Dst: MIOBufferAccessor::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:218,1
    - Dst: transfer_data
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - in_buf
    - out_buf
    argTypes:
    - MIOBufferAccessor
    - MIOBufferAccessor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: OneWayTunnel::transform
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - MIOBufferAccessor::writer
    - transfer_data
    - manipulate_fn
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::transform(MIOBufferAccessor &in_buf, MIOBufferAccessor
      &out_buf)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:235,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:240,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:253,1
    - Dst: OneWayTunnel::transform
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:260,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:261,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:267,1
    - Dst: VIO*::ntodo
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:273,1
    - Dst: OneWayTunnel::transform
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:277,1
    - Dst: buffer::reader
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:288,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:292,1
    - Dst: OneWayTunnel::close_source_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:294,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:300,1
    - Dst: OneWayTunnel::startEvent
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:312,1
    - Dst: OneWayTunnel::close_source_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:314,1
    - Dst: OneWayTunnel::close_target_vio
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:315,1
    - Dst: OneWayTunnel::connection_closed
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:316,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:320,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:325,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 328
    functionName: OneWayTunnel::startEvent
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 1
    functionsReached:
    - OneWayTunnel::close_target_vio
    - reenable
    - buffer::reader
    - OneWayTunnel::connection_closed
    - VIO*::ntodo
    - OneWayTunnel::transform
    - OneWayTunnel::close_source_vio
    - OneWayTunnel::startEvent
    - printf
    - static_cast<VIO *>
    - get_vc_event_name
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int OneWayTunnel::startEvent(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OneWayTunnel::last_connection
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:335,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:336,1
    - Dst: buffer::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:336,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:337,1
    - Dst: vc_server::do_io_close
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: OneWayTunnel::close_source_vio
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 1
    functionsReached:
    - vc_server::do_io_close
    - buffer::writer
    - OneWayTunnel::last_connection
    - free_MIOBuffer
    - buffer::clear
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::close_source_vio(int result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OneWayTunnel::last_connection
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:352,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:353,1
    - Dst: buffer::writer
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:353,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:354,1
    - Dst: vc_server::do_io_close
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - result
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: OneWayTunnel::close_target_vio
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 1
    functionsReached:
    - vc_server::do_io_close
    - buffer::writer
    - OneWayTunnel::last_connection
    - free_MIOBuffer
    - buffer::clear
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::close_target_vio(int result, VIO *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:376,1
    - Dst: OneWayTunnel::OneWayTunnel_free
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: OneWayTunnel::connection_closed
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 1
    functionsReached:
    - handleEvent
    - OneWayTunnel::OneWayTunnel_free
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::connection_closed(int result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:386,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: OneWayTunnel::reenable_all
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 0
    functionsReached:
    - reenable
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel::reenable_all()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: OneWayTunnel::last_connection
    functionSourceFile: /src/trafficserver/src/iocore/utils/OneWayTunnel.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool OneWayTunnel::last_connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: set_length
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_length(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheArray<T>::resize
      Src: /src/trafficserver/src/iocore/cache/P_CacheArray.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - val
    - initial_size
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: CacheArray<T>::CacheArray
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached:
    - CacheArray<T>::resize
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::CacheArray(const T *val, int initial_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: CacheArray<T>::~CacheArray()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::~CacheArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: CacheArray<T>::operator const T *() const
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::operator const T *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: CacheArray<T>::operator T *()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::operator T *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '&

      CacheArray<T>::operator[](int idx)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T &

      CacheArray<T>::operator[](int idx)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/trafficserver/src/iocore/cache/P_CacheArray.h:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: '&

      CacheArray<T>::operator()(int idx)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: T
    signature: 'T &

      CacheArray<T>::operator()(int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: CacheArray<T>::detach
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T *

      CacheArray<T>::detach()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: CacheArray<T>::length
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CacheArray<T>::length()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: CacheArray<T>::clear
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::clear()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/trafficserver/src/iocore/cache/P_CacheArray.h:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: CacheArray<T>::resize
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheArray.h
    functionUses: 1
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void CacheArray<T>::resize(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostLookup>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - typ
    argTypes:
    - char*
    - CacheType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CacheHostMatcher::CacheHostMatcher
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HostLookup>
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::CacheHostMatcher(const char *name, CacheType
      typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: CacheHostMatcher::~CacheHostMatcher()
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::~CacheHostMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:66,1
    - Dst: CacheHostMatcher::Print
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: CacheHostMatcher::Print
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - printf
    - CacheHostMatcher::Print
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheHostRecord *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:79,1
    - Dst: CacheHostRecord*::Print
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: CacheHostMatcher::PrintFunc
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - CacheHostRecord*::Print
    - static_cast<CacheHostRecord *>
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::PrintFunc(void *opaque_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:91,1
    - Dst: CacheHostMatcher::AllocateSpace
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:93,1
    - Dst: CacheHostRecord::CacheHostRecord
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: CacheHostMatcher::AllocateSpace
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - CacheHostRecord::CacheHostRecord
    - CacheHostMatcher::AllocateSpace
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::AllocateSpace(int num_entries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:119,1
    - Dst: MatchFirst
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:125,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:128,1
    - Dst: static_cast<CacheHostRecord *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:129,1
    - Dst: CacheHostRecord*::UpdateMatch
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:130,1
    - Dst: MatchNext
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - std::string_view
    - CacheHostResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: CacheHostMatcher::Match
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - static_cast<CacheHostRecord *>
    - MatchNext
    - std::string_view::empty
    - MatchFirst
    - CacheHostRecord*::UpdateMatch
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::Match(std::string_view rdata, CacheHostResult
      *result) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:151,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:152,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:155,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:160,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:161,1
    - Dst: CacheHostRecord*::Init
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:171,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:175,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:178,1
    - Dst: CacheHostMatcher::NewEntry
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: CacheHostMatcher::NewEntry
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - memset
    - static_cast<void *>
    - CacheHostRecord*::Init
    - Dbg
    - CacheHostMatcher::NewEntry
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheHostMatcher::NewEntry(matcher_line *line_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:192,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:198,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:199,1
    - Dst: CacheHostTable::BuildTable
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - typ
    argTypes:
    - Cache*
    - CacheType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: CacheHostTable::CacheHostTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - ats_scoped_str::ats_scoped_str
    - ink_release_assert
    - CacheHostTable::BuildTable
    linkageType: ''
    returnType: void
    signature: void CacheHostTable::CacheHostTable(Cache *c, CacheType typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: CacheHostTable::~CacheHostTable()
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostTable::~CacheHostTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:213,1
    - Dst: CacheHostTable::Print
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: CacheHostTable::Print
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - CacheHostTable::Print
    - printf
    linkageType: ''
    returnType: void
    signature: void CacheHostTable::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheHostTable::Match
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - std::string_view
    - CacheHostResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: CacheHostTable::Match
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - CacheHostTable::Match
    linkageType: ''
    returnType: void
    signature: void CacheHostTable::Match(std::string_view rdata, CacheHostResult
      *result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ReplaceablePtr<CacheHostTable> *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:234,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:235,1
    - Dst: CacheHostTableConfig::CacheHostTableConfig
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: CacheHostTable::config_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - schedule_imm
    - static_cast<ReplaceablePtr<CacheHostTable> *>
    - CacheHostTableConfig::CacheHostTableConfig
    linkageType: ''
    returnType: int
    signature: "int CacheHostTable::config_callback(const char * /* name ATS_UNUSED
      */, RecDataT /* data_type ATS_UNUSED */,\n                                RecData
      /* data ATS_UNUSED */, void *cookie)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:249,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:266,1
    - Dst: Init
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:270,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:271,1
    - Dst: Tokenizer::iterFirst
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:277,1
    - Dst: isspace
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:282,1
    - Dst: static_cast<matcher_line *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:287,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:287,1
    - Dst: parseConfigLine
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:288,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:288,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:291,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:292,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:306,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:310,1
    - Dst: Tokenizer::iterNext
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:319,1
    - Dst: Init
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:327,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:328,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:330,1
    - Dst: std::make_unique<CacheHostMatcher>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:335,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:336,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:345,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:347,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:350,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:356,1
    - Dst: Init
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:360,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:363,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:367,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:370,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:376,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:379,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:383,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:386,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:388,1
    - Dst: CacheHostTable::Print
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:389,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 2
    argNames:
    - config_file_path
    - file_buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 392
    functionName: CacheHostTable::BuildTableFromString
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - NewEntry
    - parseConfigLine
    - ats_free
    - std::make_unique<CacheHostMatcher>
    - isspace
    - strcasecmp
    - Warning
    - AllocateSpace
    - static_cast<matcher_line *>
    - Tokenizer::iterNext
    - Tokenizer::iterFirst
    - Note
    - Tokenizer::Initialize
    - ink_assert
    - CacheHostTable::Print
    - 'on'
    - const_cast<char *>
    - ats_malloc
    - Init
    linkageType: ''
    returnType: int
    signature: int CacheHostTable::BuildTableFromString(const char *config_file_path,
      char *file_buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:398,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:401,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:403,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:403,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:403,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:406,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:406,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:406,1
    - Dst: Init
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:407,1
    - Dst: CacheHostTable::BuildTableFromString
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:412,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - config_file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 413
    functionName: CacheHostTable::BuildTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - Warning
    - std::string::data
    - Error
    - std::error_code::value
    - CacheHostTable::BuildTableFromString
    - Init
    - strerror
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: int
    signature: int CacheHostTable::BuildTable(const char *config_file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:419,1
    - Dst: static_cast<CacheVol **>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:424,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:424,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:425,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:430,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:437,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:437,1
    - Dst: static_cast<StripeSM **>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:440,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:440,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:448,1
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - typ
    argTypes:
    - CacheType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 452
    functionName: CacheHostRecord::Init
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<int>
    - Warning
    - static_cast<StripeSM **>
    - build_vol_hash_table
    - Dbg
    - ats_malloc
    - static_cast<CacheVol **>
    - Queue::Queue
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheHostRecord::Init(CacheType typ)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:458,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:462,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:471,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:473,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:486,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:488,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:494,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:496,1
    - Dst: static_cast<CacheVol **>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:507,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:507,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:508,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:521,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:522,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:531,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:534,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:545,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:550,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:555,1
    - Dst: static_cast<StripeSM **>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:562,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:562,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:570,1
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:572,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 2
    argNames:
    - line_info
    - typ
    argTypes:
    - matcher_line*
    - CacheType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 574
    functionName: CacheHostRecord::Init
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - memset
    - Warning
    - ats_free
    - static_cast<StripeSM **>
    - build_vol_hash_table
    - static_cast<long>
    - ats_strdup
    - atoi
    - Queue::Queue
    - Dbg
    - static_cast<CacheVol **>
    - strcasecmp
    - RecGetRecordString
    - ats_malloc
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheHostRecord::Init(matcher_line *line_info, CacheType typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - CacheHostResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: CacheHostRecord::UpdateMatch
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostRecord::UpdateMatch(CacheHostResult *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: CacheHostRecord::Print
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostRecord::Print() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:590,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:592,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:593,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:595,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:598,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:601,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:603,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:603,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:603,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:603,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:606,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:606,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:606,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:606,1
    - Dst: ConfigVolumes::BuildListFromString
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:611,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:611,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 615
    functionName: ConfigVolumes::read_config_file
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - ats_scoped_str::ats_scoped_str
    - ink_release_assert
    - Warning
    - ats_scoped_str::get
    - std::string::data
    - Error
    - ConfigVolumes::BuildListFromString
    - std::error_code::value
    - Note
    - strerror
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void ConfigVolumes::read_config_file()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:630,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:634,1
    - Dst: Tokenizer::iterFirst
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:641,1
    - Dst: isspace
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:658,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:669,1
    - Dst: isspace
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:670,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:682,1
    - Dst: strchr
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:682,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:690,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:692,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:705,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:708,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:711,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:714,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:721,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:723,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:725,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:742,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:744,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:746,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:749,1
    - Dst: atoi
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:751,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:753,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:756,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:758,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:761,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:777,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:781,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:796,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:801,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:803,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:804,1
    - Dst: Tokenizer::iterNext
      Src: /src/trafficserver/src/iocore/cache/CacheHosting.cc:807,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 147
    argCount: 2
    argNames:
    - config_file_path
    - file_buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 811
    functionName: ConfigVolumes::BuildListFromString
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHosting.cc
    functionUses: 1
    functionsReached:
    - memset
    - static_cast<int>
    - Warning
    - ink_release_assert
    - ParseRules::is_digit
    - ConfigVol::ConfigVol
    - const_cast<char *>
    - isspace
    - enqueue
    - atoi
    - Dbg
    - strchr
    - strcasecmp
    - Tokenizer::iterNext
    - Tokenizer::iterFirst
    - Tokenizer::Initialize
    linkageType: ''
    returnType: void
    signature: void ConfigVolumes::BuildListFromString(char *config_file_path, char
      *file_buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheHTTPInfoVector*::get_handles
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:53,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:53,1
    - Dst: ts::VersionNumber
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:57,1
    - Dst: CacheHTTPInfoVector*::data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:59,1
    - Dst: m_alt::m_response_hdr::m_mime::recompute_accelerators_and_presence_bits
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:59,1
    - Dst: CacheHTTPInfoVector*::data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:60,1
    - Dst: m_alt::m_request_hdr::m_mime::recompute_accelerators_and_presence_bits
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - info
    - doc
    - block_ptr
    argTypes:
    - CacheHTTPInfoVector*
    - Doc*
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: CacheVC::load_http_info
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - ts::VersionNumber
    - m_alt::m_response_hdr::m_mime::recompute_accelerators_and_presence_bits
    - m_alt::m_request_hdr::m_mime::recompute_accelerators_and_presence_bits
    - CacheHTTPInfoVector*::get_handles
    - Doc*::hdr
    - CacheHTTPInfoVector*::data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CacheVC::load_http_info(CacheHTTPInfoVector *info, Doc *doc,
      RefCountObj *block_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:70,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:71,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:71,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:72,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:72,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:73,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:74,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:75,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: CacheVC::openReadFromWriterFailure
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - free_CacheVC
    - clear
    - continuation::handleEvent
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadFromWriterFailure(int event, Event *e)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:86,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:93,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:105,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:107,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:107,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:111,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:111,1
    - Dst: CacheVC*::alternate::valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:122,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:124,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:125,1
    - Dst: get_alternate_index
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:132,1
    - Dst: CacheVC*::alternate::valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:134,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:136,1
    - Dst: CacheVC*::alternate::valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:141,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:142,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:146,1
    - Dst: HttpTransactCache::SelectFromAlternates
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:157,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:164,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:165,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:165,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:171,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:173,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:173,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:178,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:178,1
    - Dst: earliest_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:179,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:179,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 182
    functionName: CacheVC::openReadChooseWriter
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - get
    - CacheVC*::alternate::valid
    - earliest_key::slice32
    - clear
    - insert
    - HttpTransactCache::SelectFromAlternates
    - get_alternate_index
    - DDbg
    - slice32
    - remove
    - count
    - static_cast<CacheVC *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadChooseWriter(int /* event ATS_UNUSED */, Event
      * /* e ATS_UNUSED */)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:196,1
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:199,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:201,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:201,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:204,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:206,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:207,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:208,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:210,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:212,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:214,1
    - Dst: CacheVC::openReadStartHead
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:215,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:217,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:217,1
    - Dst: CacheVC::openReadChooseWriter
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:220,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:222,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:223,1
    - Dst: CacheVC::openReadFromWriterFailure
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:224,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:224,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:226,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:227,1
    - Dst: CacheVC::openReadStartHead
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:228,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:230,1
    - Dst: VC_SCHED_WRITER_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:232,1
    - Dst: CacheVC::openReadFromWriterFailure
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:234,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:234,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:237,1
    - Dst: CacheVC::writer_done
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:240,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:241,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:242,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:242,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:246,1
    - Dst: CacheVC::openReadStartHead
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:247,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:254,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:257,1
    - Dst: CacheVC::openReadStartHead
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:258,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:261,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:265,1
    - Dst: CacheVC::openReadFromWriterFailure
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:266,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:266,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:268,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:268,1
    - Dst: VC_SCHED_WRITER_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:270,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:273,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:274,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:275,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:275,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:276,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:278,1
    - Dst: io::ok
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:280,1
    - Dst: CacheVC::openReadFromWriterFailure
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:281,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:281,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:284,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:284,1
    - Dst: alternate::valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:286,1
    - Dst: CacheVC::openReadFromWriterFailure
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:287,1
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:287,1
    - Dst: copy
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:289,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:290,1
    - Dst: object_key_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:291,1
    - Dst: object_size_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:296,1
    - Dst: object_size_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:298,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:302,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:303,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:303,1
    - Dst: object_size_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:305,1
    - Dst: first_buf::get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:307,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:311,1
    - Dst: first_buf::data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:311,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:312,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:312,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:312,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:313,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:314,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:314,1
    - Dst: dir_clean
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:319,1
    - Dst: dir_clean
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:320,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:321,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:322,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:323,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:325,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:330,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:331,1
    - Dst: CacheVC::openReadStartEarliest
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:332,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:335,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:335,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:341,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:342,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:343,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:345,1
    - Dst: CacheVC::openReadStartEarliest
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:346,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:355,1
    - Dst: dir_clean
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:357,1
    - Dst: dir_clean
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:358,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:359,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:359,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:359,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:360,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:361,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:362,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:363,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:364,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 150
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 365
    functionName: CacheVC::openReadFromWriter
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - VC_SCHED_WRITER_RETRY
    - insert
    - open_read
    - first_buf::data
    - free_CacheVC
    - CacheVC::cancel_trigger
    - CacheVC::openReadFromWriterFailure
    - SET_HANDLER
    - new_IOBufferBlock
    - CacheVC::openReadChooseWriter
    - ts::Metrics::Counter::increment
    - is_locked
    - Doc*::data_len
    - copy
    - MUTEX_RELEASE
    - reinterpret_cast<Doc *>
    - CacheVC::callcont
    - CACHE_TRY_LOCK
    - alternate::valid
    - reinterpret_cast<Event *>
    - DDbg
    - CacheVC::writer_done
    - object_size_set
    - object_size_get
    - first_buf::get
    - CacheVC::openReadStartEarliest
    - object_key_get
    - CacheVC::openReadStartHead
    - io::ok
    - ink_assert
    - Doc*::prefix_len
    - ink_get_hrtime
    - dir_clean
    - slice32
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadFromWriter(int event, Event *e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:370,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:376,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:380,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:381,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:381,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:382,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:383,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:385,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:385,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:386,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:390,1
    - Dst: iobufferblock_skip
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:392,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:392,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:395,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:396,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:398,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:399,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:401,1
    - Dst: iobufferblock_clone
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:403,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:403,1
    - Dst: iobufferblock_skip
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:404,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:404,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:405,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:407,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:408,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 412
    functionName: CacheVC::openReadFromWriterMain
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - get
    - Warning
    - ink_release_assert
    - DDbg
    - iobufferblock_skip
    - slice32
    - CacheVC::calluser
    - iobufferblock_clone
    - ntodo
    - get_writer
    - is_action_tag_set
    - CacheVC::cancel_trigger
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadFromWriterMain(int /* event ATS_UNUSED */, Event
      * /* e ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:417,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:418,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:422,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:424,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:425,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:426,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:428,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:429,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:429,1
    - Dst: force_evacuate_head
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:431,1
    - Dst: dir_pinned
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:431,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:432,1
    - Dst: force_evacuate_head
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:433,1
    - Dst: dir_pinned
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:433,1
    - Dst: force_evacuate_head
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:434,1
    - Dst: dir_pinned
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:434,1
    - Dst: close_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:437,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 439
    functionName: CacheVC::openReadClose
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - is_locked
    - set_io_not_in_progress
    - force_evacuate_head
    - close_read
    - dir_pinned
    - dir_valid
    - is_io_in_progress
    - this_ethread
    - VC_SCHED_LOCK_RETRY
    - CacheVC::cancel_trigger
    - free_CacheVC
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadClose(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:446,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:450,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:452,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:453,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:454,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:456,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:460,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:462,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:462,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:466,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:466,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:468,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:468,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:476,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:476,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:479,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:480,1
    - Dst: CacheVC::writer_done
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:486,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:488,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:489,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:489,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:490,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:490,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:495,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:495,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:499,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:499,1
    - Dst: VC_SCHED_WRITER_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:500,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:502,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:502,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:511,1
    - Dst: url_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:513,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:514,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:514,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:516,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:516,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:518,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:521,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:523,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:525,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:528,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:529,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:530,1
    - Dst: CacheVC::openReadMain
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:531,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 532
    functionName: CacheVC::openReadReadDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - VC_SCHED_WRITER_RETRY
    - directory::remove
    - dir_offset
    - url_get
    - dir_valid
    - valid
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - directory::probe
    - toHexStr
    - handleEvent
    - is_locked
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - data
    - CACHE_TRY_LOCK
    - Warning
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - CacheVC::openReadMain
    - CacheVC::writer_done
    - DDbg
    - CacheVC::calluser
    - Doc*::prefix_len
    - ok
    - slice32
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadReadDone(int event, Event *e)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:537,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:538,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:538,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:539,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:545,1
    - Dst: CacheVC::get_frag_table
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:547,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:548,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:550,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:550,1
    - Dst: Doc*::key::toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:551,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:560,1
    - Dst: get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:560,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:561,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:586,1
    - Dst: prev_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:590,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:594,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:596,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:597,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:603,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:605,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:609,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:611,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:613,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:614,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:629,1
    - Dst: url_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:630,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:635,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:638,1
    - Dst: Doc*::key::toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:640,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:640,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:645,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:646,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:648,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:649,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:650,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:651,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:654,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:661,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:661,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:664,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:667,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:668,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:670,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:672,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:675,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:676,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:678,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:683,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:683,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:689,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:691,1
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:699,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:700,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:701,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:702,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:703,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:705,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:706,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:707,1
    - Dst: CacheVC::writer_done
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:713,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:715,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:716,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:716,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:717,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:717,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:722,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:722,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:725,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:725,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:726,1
    - Dst: VC_SCHED_WRITER_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:727,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:729,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:730,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:732,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:732,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:733,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:735,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:738,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:740,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:742,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 743
    functionName: CacheVC::openReadMain
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 1
    functionsReached:
    - VC_SCHED_WRITER_RETRY
    - directory::remove
    - dir_offset
    - url_get
    - valid
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - new_IOBufferBlock
    - directory::probe
    - toHexStr
    - handleEvent
    - ts::Metrics::Counter::increment
    - is_locked
    - prev_CacheKey
    - Doc*::key::toHexStr
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - data
    - ntodo
    - static_cast<int>
    - CACHE_TRY_LOCK
    - Warning
    - CacheVC::do_read_call
    - ink_release_assert
    - CacheVC::writer_done
    - DDbg
    - CacheVC::calluser
    - CacheVC::get_frag_table
    - Dbg
    - is_action_tag_set
    - ink_assert
    - Doc*::prefix_len
    - get_frag_offset_count
    - static_cast<int64_t>
    - 'on'
    - slice32
    - DbgPrint
    - get_writer
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadMain(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:754,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:755,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:757,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:760,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:761,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:762,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:767,1
    - Dst: dir_agg_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:772,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:774,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:779,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:779,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:782,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:783,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:786,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:786,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:788,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:788,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:791,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:804,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:805,1
    - Dst: begin_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:806,1
    - Dst: within_hit_evacuate_window
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:807,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:808,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:809,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:809,1
    - Dst: offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:810,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:815,1
    - Dst: dir_lookaside_probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:816,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:818,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:827,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:828,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:828,1
    - Dst: CacheVC::load_http_info
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:829,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:830,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:830,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:831,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:833,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:837,1
    - Dst: marshal_length
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:842,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:853,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:867,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:868,1
    - Dst: single_doc_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:868,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:870,1
    - Dst: CacheVC::do_write_call
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:871,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:881,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:884,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:884,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:885,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:885,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:886,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:886,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:887,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:889,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:892,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:893,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:895,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:896,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 897
    functionName: CacheVC::openReadStartEarliest
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 1
    functionsReached:
    - directory::remove
    - dir_offset
    - reinterpret_cast<void *>
    - free_CacheVC
    - dir_valid
    - dir_lookaside_probe
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - offset_to_vol_offset
    - directory::probe
    - toHexStr
    - dir_set_tag
    - handleEvent
    - dir_assign
    - is_locked
    - ts::Metrics::Counter::increment
    - close_write
    - remove
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - CacheVC::callcont
    - data
    - count
    - CACHE_TRY_LOCK
    - VC_SCHED_LOCK_RETRY
    - Warning
    - ink_release_assert
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - marshal_length
    - static_cast<int>
    - DDbg
    - dir_agg_valid
    - is_action_tag_set
    - static_cast<uint64_t>
    - clear
    - ink_assert
    - Doc*::prefix_len
    - continuation::handleEvent
    - within_hit_evacuate_window
    - CacheVC::do_write_call
    - ok
    - single_doc_key::slice32
    - open_write
    - begin_read
    - CacheVC::load_http_info
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadStartEarliest(int /* event ATS_UNUSED */, Event
      * /* e ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:904,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:905,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:906,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:909,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:912,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:913,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:914,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:916,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:917,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:918,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:919,1
    - Dst: directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:926,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:928,1
    - Dst: HttpTransactCache::SelectFromAlternates
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:930,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:931,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:933,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:940,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:944,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:944,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:945,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:945,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:946,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:946,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:947,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:949,1
    - Dst: CacheVC::openReadStartHead
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:950,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 951
    functionName: CacheVC::openReadVecWrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - directory::overwrite
    - reinterpret_cast<void *>
    - free_CacheVC
    - SET_HANDLER
    - CacheVC::cancel_trigger
    - HttpTransactCache::SelectFromAlternates
    - ts::Metrics::Counter::increment
    - is_locked
    - CACHE_TRY_LOCK
    - static_cast<int>
    - directory::insert
    - set_io_not_in_progress
    - CacheVC::openWriteCloseDir
    - CacheVC::openReadStartHead
    - clear
    - continuation::handleEvent
    - ink_assert
    - ok
    - VC_SCHED_LOCK_RETRY
    - close_write
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadVecWrite(int /* event ATS_UNUSED */, Event * /*
      e ATS_UNUSED */)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:962,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:963,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:965,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:968,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:969,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:970,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:975,1
    - Dst: dir_agg_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:980,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:982,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:987,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:987,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:990,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:991,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:994,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:994,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:996,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:996,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:999,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1017,1
    - Dst: CacheVC::load_http_info
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1021,1
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1023,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1023,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1027,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1028,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1033,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1037,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1037,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1038,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1043,1
    - Dst: HttpTransactCache::SelectFromAlternates
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1049,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1057,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1058,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1060,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1060,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1061,1
    - Dst: copy_shallow
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1066,1
    - Dst: object_key_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1067,1
    - Dst: object_size_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1068,1
    - Dst: Doc*::single_fragment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1070,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1071,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1072,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1073,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1074,1
    - Dst: response_get
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1080,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1080,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1082,1
    - Dst: MIMEField*::value_get_int64
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1082,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1084,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1085,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1086,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1087,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1094,1
    - Dst: Doc*::single_fragment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1095,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1096,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1100,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1102,1
    - Dst: Doc*::key::toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1103,1
    - Dst: toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1103,1
    - Dst: get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1104,1
    - Dst: within_hit_evacuate_window
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1112,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1113,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1114,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1114,1
    - Dst: offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1115,1
    - Dst: begin_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1120,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1130,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1137,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1138,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1139,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1141,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1143,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1152,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1153,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1153,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1154,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1154,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1156,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1156,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1157,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1157,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1158,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1158,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1160,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1162,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1164,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1165,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1167,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1167,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1168,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1168,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1169,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1170,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1176,1
    - Dst: CacheVC::openReadStartEarliest
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1177,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 186
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 1178
    functionName: CacheVC::openReadStartHead
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<HTTPCacheAlt *>
    - directory::remove
    - open_read
    - begin_read
    - dir_offset
    - reinterpret_cast<void *>
    - free_CacheVC
    - dir_valid
    - CacheVC::cancel_trigger
    - Doc*::single_fragment
    - SET_HANDLER
    - Doc*::hdr
    - offset_to_vol_offset
    - toHexStr
    - HttpTransactCache::SelectFromAlternates
    - get
    - ts::Metrics::Counter::increment
    - is_locked
    - handleEvent
    - directory::probe
    - Doc*::key::toHexStr
    - MIMEField*::value_get_int64
    - CacheHTTPInfo*::valid
    - MUTEX_RELEASE
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - CacheVC::callcont
    - data
    - count
    - CACHE_TRY_LOCK
    - static_cast<int>
    - Warning
    - ink_release_assert
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - static_cast<std::string_view>
    - DDbg
    - object_size_get
    - CacheVC::openReadStartEarliest
    - object_key_get
    - dir_agg_valid
    - is_action_tag_set
    - static_cast<uint64_t>
    - Note
    - ink_assert
    - Doc*::prefix_len
    - get_frag_offset_count
    - continuation::handleEvent
    - within_hit_evacuate_window
    - 'on'
    - ok
    - slice32
    - DbgPrint
    - copy_shallow
    - VC_SCHED_LOCK_RETRY
    - CacheVC::load_http_info
    - response_get
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadStartHead(int event, Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1186,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1187,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1188,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1191,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheRead.cc:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1193
    functionName: CacheVC::openReadDirDelete
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheRead.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - directory::remove
    - CacheVC::calluser
    - MUTEX_TRY_LOCK
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::openReadDirDelete(int /* event ATS_UNUSED */, Event *
      /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegNewSyncStatSync
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:126,1
    - Dst: CacheProcessor::start_internal
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: CacheProcessor::start
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - RecRegNewSyncStatSync
    - CacheProcessor::start_internal
    linkageType: ''
    returnType: int
    signature: int CacheProcessor::start(int, size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:140,1
    - Dst: cache_bytes_used
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:146,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:148,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:153,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:155,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: CachePeriodicMetricsUpdate
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::store
    - ts::Metrics::Gauge::load
    - cache_bytes_used
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void CachePeriodicMetricsUpdate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:164,1
    - Dst: dirlen
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: cache_bytes_used
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - DISK_BAD
    - dirlen
    linkageType: ''
    returnType: int64_t
    signature: int64_t cache_bytes_used(int index)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:186,1
    - Dst: static_cast<char **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:189,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:189,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:190,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:191,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:191,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:192,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:193,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:193,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:194,1
    - Dst: static_cast<Span **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:195,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:195,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:196,1
    - Dst: ink_aio_set_err_callback
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:199,1
    - Dst: AIO_failure_handler::AIO_failure_handler
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:199,1
    - Dst: read_config_file
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:201,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:211,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:211,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:213,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:215,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:220,1
    - Dst: find
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:221,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:221,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:222,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:223,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:240,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:242,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:248,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:250,1
    - Dst: ftruncate
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:258,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:259,1
    - Dst: fstat
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:264,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:265,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:268,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:269,1
    - Dst: std::make_unique<CacheDisk>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:277,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:283,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:294,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:298,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:307,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:309,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:309,1
    - Dst: close
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:313,1
    - Dst: cb_after_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:325,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:328,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:329,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:331,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:334,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:334,1
    - Dst: cb_after_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:337,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:339,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:341,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:341,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:342,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:348,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:349,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:351,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:353,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 121
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 357
    functionName: CacheProcessor::start_internal
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - static_cast<Span **>
    - CacheProcessor::waitForCache
    - alloca
    - ink_aio_set_err_callback
    - static_cast<int *>
    - ink_strlcat
    - strerror
    - open
    - fprintf
    - read_config_file
    - ink_strlcpy
    - ROUND_TO_STORE_BLOCK
    - resize
    - static_cast<char **>
    - static_cast<char *>
    - empty
    - std::move
    - Warning
    - ink_release_assert
    - static_cast<unsigned int>
    - find
    - close
    - ats_strdup
    - end
    - Dbg
    - ftruncate
    - cb_after_init
    - Note
    - std::make_unique<CacheDisk>
    - static_cast<int64_t>
    - memset
    - fstat
    - AIO_failure_handler::AIO_failure_handler
    - ts::Metrics::Gauge::increment
    - Emergency
    linkageType: ''
    returnType: int
    signature: int CacheProcessor::start_internal(int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: CacheProcessor::stop
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheProcessor::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::dir_check
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: CacheProcessor::dir_check
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheProcessor::dir_check
    linkageType: ''
    returnType: int
    signature: int CacheProcessor::dir_check(bool /* afix ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::lookup
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cont
    - key
    - frag_type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: CacheProcessor::lookup
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheProcessor::lookup
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::lookup(Continuation *cont, const CacheKey *key, CacheFragType
      frag_type, std::string_view hostname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::open_read
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cont
    - key
    - frag_type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: CacheProcessor::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheProcessor::open_read
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::open_read(Continuation *cont, const CacheKey *key, CacheFragType
      frag_type, std::string_view hostname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::open_write
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - cont
    - key
    - frag_type
    - expected_size
    - options
    - pin_in_cache
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - int
    - int
    - time_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: CacheProcessor::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheProcessor::open_write
    linkageType: ''
    returnType: Action
    signature: "Action *\nCacheProcessor::open_write(Continuation *cont, CacheKey
      *key, CacheFragType frag_type, int expected_size ATS_UNUSED, int options,\n
      \                          time_t pin_in_cache, std::string_view hostname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:395,1
    - Dst: cache_hash
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:395,1
    - Dst: CacheProcessor::remove
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cont
    - key
    - frag_type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: CacheProcessor::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - cache_hash
    - CacheProcessor::remove
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::remove(Continuation *cont, const CacheKey *key, CacheFragType
      frag_type, std::string_view hostname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::scan
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - hostname
    - KB_per_second
    argTypes:
    - Continuation*
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: CacheProcessor::scan
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheProcessor::scan
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::scan(Continuation *cont, std::string_view hostname, int KB_per_second)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::lookup
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:408,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - key
    - frag_type
    argTypes:
    - Continuation*
    - HttpCacheKey*
    - CacheFragType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: CacheProcessor::lookup
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - CacheProcessor::lookup
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::lookup(Continuation *cont, const HttpCacheKey *key, CacheFragType
      frag_type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::open_read
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:416,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cont
    - key
    - request
    - params
    - type
    argTypes:
    - Continuation*
    - HttpCacheKey*
    - CacheHTTPHdr*
    - HttpConfigAccessor*
    - CacheFragType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: CacheProcessor::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::string_view::size_type>
    - CacheProcessor::open_read
    linkageType: ''
    returnType: Action
    signature: "Action *\nCacheProcessor::open_read(Continuation *cont, const HttpCacheKey
      *key, CacheHTTPHdr *request, const HttpConfigAccessor *params,\n                          CacheFragType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::open_write
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:424,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cont
    - key
    - old_info
    - pin_in_cache
    - type
    argTypes:
    - Continuation*
    - HttpCacheKey*
    - CacheHTTPInfo*
    - time_t
    - CacheFragType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionName: CacheProcessor::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::string_view::size_type>
    - CacheProcessor::open_write
    linkageType: ''
    returnType: Action
    signature: "Action *\nCacheProcessor::open_write(Continuation *cont, const HttpCacheKey
      *key, CacheHTTPInfo *old_info, time_t pin_in_cache,\n                           CacheFragType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::remove
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:434,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - key
    - frag_type
    argTypes:
    - Continuation*
    - HttpCacheKey*
    - CacheFragType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: CacheProcessor::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - CacheProcessor::remove
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: Action
    signature: 'Action *

      CacheProcessor::remove(Continuation *cont, const HttpCacheKey *key, CacheFragType
      frag_type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::has_online_storage
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:452,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:457,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:458,1
    - Dst: directory::entries
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:463,1
    - Dst: directory::entries_used
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:464,1
    - Dst: dirlen
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:465,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:469,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:470,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:471,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:475,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:476,1
    - Dst: rebuild_host_table
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:479,1
    - Dst: CacheProcessor::has_online_storage
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:482,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:484,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:495,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:501,1
    - Dst: persist_bad_disks
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - d
    - admin
    argTypes:
    - CacheDisk*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 506
    functionName: CacheProcessor::mark_storage_offline
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - rebuild_host_table
    - Warning
    - ts::Metrics::Gauge::decrement
    - insert
    - persist_bad_disks
    - directory::entries_used
    - SET_DISK_BAD
    - dirlen
    - CacheProcessor::has_online_storage
    - DISK_BAD
    - ts::Metrics::Gauge::increment
    - directory::entries
    linkageType: ''
    returnType: bool
    signature: "bool CacheProcessor::mark_storage_offline(CacheDisk *d, ///< Target
      disk\n                                     bool       admin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:512,1
    - Dst: ReplaceablePtr<CacheHostTable>::ScopedWriter::getHostMatcher
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:514,1
    - Dst: CacheHostMatcher*::getDataArray
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:515,1
    - Dst: CacheHostMatcher*::getNumElements
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:516,1
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - Cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 522
    functionName: rebuild_host_table
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - CacheHostMatcher*::getNumElements
    - build_vol_hash_table
    - ReplaceablePtr<CacheHostTable>::ScopedWriter::getHostMatcher
    - CacheHostMatcher*::getDataArray
    linkageType: ''
    returnType: void
    signature: void rebuild_host_table(Cache *cache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:528,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:528,1
    - Dst: static_cast<StripeSM **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:529,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:529,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:531,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:532,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:539,1
    - Dst: new_Freer
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:553,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:556,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:557,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:561,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:561,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:562,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:562,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:563,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:563,1
    - Dst: static_cast<unsigned short *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:564,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:564,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:566,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:566,1
    - Dst: hash_id::fold
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:584,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:585,1
    - Dst: static_cast<rtable_pair *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:592,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:592,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:595,1
    - Dst: next_rand
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:596,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:601,1
    - Dst: qsort
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:603,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:610,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:617,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:620,1
    - Dst: new_Freer
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:621,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:623,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:624,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:625,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:626,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:627,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:628,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:629,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 1
    argNames:
    - cp
    argTypes:
    - CacheHostRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 630
    functionName: build_vol_hash_table
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 3
    functionsReached:
    - memset
    - static_cast<int>
    - ats_free
    - next_rand
    - static_cast<StripeSM **>
    - static_cast<rtable_pair *>
    - static_cast<unsigned int>
    - static_cast<unsigned int *>
    - hash_id::fold
    - Dbg
    - ats_malloc
    - static_cast<unsigned short *>
    - DISK_BAD
    - new_Freer
    - ink_atomic_swap
    - ink_assert
    - qsort
    linkageType: ''
    returnType: void
    signature: void build_vol_hash_table(CacheHostRecord *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const rtable_pair *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:637,1
    - Dst: static_cast<const rtable_pair *>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - aa
    - bb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: cmprtable
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - static_cast<const rtable_pair *>
    linkageType: ''
    returnType: int
    signature: int cmprtable(const void *aa, const void *bb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:651,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:654,1
    - Dst: std::filesystem::path::parent_path
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:654,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:656,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:656,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:656,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:660,1
    - Dst: std::fstream::good
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:661,1
    - Dst: std::fstream::fail
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:664,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:665,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:665,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:670,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: persist_bad_disks
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - std::fstream::fail
    - std::filesystem::path::c_str
    - Error
    - std::filesystem::path::parent_path
    - Layout::get
    - std::fstream::good
    - swoc::SWOC_VERSION_NS::file::create_directories
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void persist_bad_disks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:679,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:679,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:679,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: CacheProcessor::find_by_path
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - get
    - strncmp
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: CacheDisk
    signature: 'CacheDisk *

      CacheProcessor::find_by_path(std::string_view path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:691,1
    - Dst: begin
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:691,1
    - Dst: end
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:691,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: CacheProcessor::has_online_storage
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - begin
    - DISK_BAD
    - std::any_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool CacheProcessor::has_online_storage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: CacheProcessor::IsCacheEnabled
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheInitState
    signature: CacheInitState CacheProcessor::IsCacheEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheEnabled
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:703,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - CacheFragType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: CacheProcessor::IsCacheReady
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - CacheProcessor::IsCacheEnabled
    linkageType: ''
    returnType: bool
    signature: bool CacheProcessor::IsCacheReady(CacheFragType type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:724,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:725,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:728,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:735,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:735,1
    - Dst: cb_after_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:740,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:742,1
    - Dst: CacheProcessor::waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:743,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:744,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:750,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:751,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:752,1
    - Dst: cplist_reconfigure
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:757,1
    - Dst: cplist_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:761,1
    - Dst: cplist_reconfigure
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:763,1
    - Dst: CacheProcessor::cacheInitialized
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:769,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:776,1
    - Dst: register_cache_stats
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:777,1
    - Dst: static_cast<StripeSM **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:781,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:781,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:782,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:785,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:786,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:788,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:790,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:791,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:793,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:794,1
    - Dst: CacheDisk*::sync
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:799,1
    - Dst: Cache::Cache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:803,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:805,1
    - Dst: Cache::Cache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:809,1
    - Dst: open
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:811,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 813
    functionName: CacheProcessor::diskInitialized
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 0
    functionsReached:
    - static_cast<StripeSM **>
    - CacheProcessor::waitForCache
    - snprintf
    - CacheDisk*::sync
    - open
    - get
    - cplist_init
    - cplist_reconfigure
    - std::move
    - static_cast<int>
    - Warning
    - Cache::Cache
    - ts::Metrics::Gauge::store
    - reset
    - CacheProcessor::cacheInitialized
    - cb_after_init
    - DISK_BAD
    - memset
    - ts::Metrics::Gauge::decrement
    - 'on'
    - DbgPrint
    - Emergency
    - ats_malloc
    - register_cache_stats
    linkageType: ''
    returnType: void
    signature: void CacheProcessor::diskInitialized()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CacheVol::CacheVol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:826,1
    - Dst: static_cast<DiskStripe **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:829,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:829,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:830,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:831,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:837,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:838,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:845,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:846,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:847,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:849,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:852,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:864,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:865,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:886,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:887,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:904,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:921,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:922,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:923,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:925,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:926,1
    - Dst: cplist_update
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:928,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:939,1
    - Dst: CacheVol::CacheVol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:949,1
    - Dst: static_cast<DiskStripe **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:950,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:950,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:951,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:952,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:953,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:958,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:966,1
    - Dst: std::iota
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:975,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:975,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:975,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:983,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1002,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1019,1
    - Dst: get_diskvol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1022,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1036,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1044,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 153
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 1047
    functionName: cplist_reconfigure
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - static_cast<off_t>
    - get_diskvol
    - enqueue
    - create_volume
    - static_cast<DiskStripe **>
    - cplist_update
    - std::vector::end
    - ats_free
    - std::vector::begin
    - delete_all_volumes
    - Warning
    - std::iota
    - ts::Metrics::Gauge::store
    - CacheVol::CacheVol
    - Dbg
    - Note
    - ink_assert
    - static_cast<int64_t>
    - memset
    - ats_malloc
    linkageType: ''
    returnType: int
    signature: int cplist_reconfigure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1054,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1055,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1058,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1062,1
    - Dst: static_cast<CacheType>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1062,1
    - Dst: CacheVol::CacheVol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1073,1
    - Dst: static_cast<CacheType>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1077,1
    - Dst: static_cast<DiskStripe **>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1078,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1078,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1079,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1086
    functionName: cplist_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - get
    - memset
    - CacheVol::CacheVol
    - enqueue
    - static_cast<DiskStripe **>
    - ats_malloc
    - static_cast<CacheType>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void cplist_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1093,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1093,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1094,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1094,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1095,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1095,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1096,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1096,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1097,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1097,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1098,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1098,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1099,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1099,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1100,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1100,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1101,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1101,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1102,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1102,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1103,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1103,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1104,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1104,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1105,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1105,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1106,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1106,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1107,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1107,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1108,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1108,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1109,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1109,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1110,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1111,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1111,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1112,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1112,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1113,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1113,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1116,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1117,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1118,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1121,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1122,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1123,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1124,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1125,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1126,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1127,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1128,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1129,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1130,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1131,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1132,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1133,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1134,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1135,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1136,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1137,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1138,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1139,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1140,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1141,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1142,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1143,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1144,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1145,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1146,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1147,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1148,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1149,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1150,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1151,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - rsb
    - prefix
    argTypes:
    - CacheStatsBlock*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1153
    functionName: register_cache_stats
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Gauge::createPtr
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void register_cache_stats(CacheStatsBlock *rsb, const std::string &prefix)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: disk::delete_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1181,1
    - Dst: disk::delete_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1200,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1205,1
    - Dst: CacheVol::CacheVol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1230,1
    - Dst: static_cast<decltype(new_cp->disk_stripes)>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1232,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1232,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1234,1
    - Dst: fillExclusiveDisks
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1238,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1239,1
    - Dst: fillExclusiveDisks
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1247,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1250
    functionName: cplist_update
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - memset
    - disk::delete_volume
    - static_cast<decltype(new_cp->disk_stripes)>
    - fillExclusiveDisks
    - CacheVol::CacheVol
    - remove
    - enqueue
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: void cplist_update()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillExclusiveDisks
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1263,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1264,1
    - Dst: int::int
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1268,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1269,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1281,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1283,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1286,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1290,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1303,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1304,1
    - Dst: get_diskvol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 4
    argNames:
    - volume_number
    - size_in_blocks
    - scheme
    - cp
    argTypes:
    - int
    - off_t
    - CacheType
    - CacheVol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1316
    functionName: create_volume
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - memset
    - Warning
    - int::int
    - fillExclusiveDisks
    - get_diskvol
    - Dbg
    - create_volume
    - RecGetRecordString
    - Note
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int create_volume(int volume_number, off_t size_in_blocks, CacheType
      scheme, CacheVol *cp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1324,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1335,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1345,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1346,1
    - Dst: create_volume
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1357,1
    - Dst: get_diskvol
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1360,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - cp
    argTypes:
    - CacheVol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1318
    functionDepth: 2
    functionLinenumber: 1318
    functionLinenumberEnd: 1374
    functionName: fillExclusiveDisks
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - get_diskvol
    - Dbg
    - create_volume
    - delete_all_volumes
    - Note
    linkageType: ''
    returnType: int
    signature: int fillExclusiveDisks(CacheVol *cp)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1380,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1385,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1396,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1399,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1400,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1424,1
    - Dst: load
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1425,1
    - Dst: new_RamCacheCLFUS
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1433,1
    - Dst: new_RamCacheLRU
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1436,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1445,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1450,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1452,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1452,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1454,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1458,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1462,1
    - Dst: StripeSM*::dirlen
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1478,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1480,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1482,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1482,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1483,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1485,1
    - Dst: StripeSM*::ram_cache::init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1488,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1490,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1492,1
    - Dst: StripeSM*::dirlen
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1496,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1498,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1499,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1501,1
    - Dst: StripeSM*::directory::entries
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1504,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1506,1
    - Dst: StripeSM*::directory::entries_used
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1508,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1509,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1515,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1523,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1528,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1529,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1530,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1531,1
    - Dst: dir_sync_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1534,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1538,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1545,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1548,1
    - Dst: cb_after_init
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1553,1
    - Dst: waitForCache
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1557,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/cache/CacheProcessor.cc:1558,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1560
    functionName: CacheProcessor::cacheInitialized
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheProcessor.cc
    functionUses: 1
    functionsReached:
    - load
    - static_cast<double>
    - StripeSM*::directory::entries
    - new_RamCacheCLFUS
    - Fatal
    - new_RamCacheLRU
    - StripeSM*::directory::entries_used
    - Warning
    - StripeSM*::dirlen
    - ts::Metrics::Gauge::store
    - Dbg
    - cb_after_init
    - Note
    - ink_assert
    - waitForCache
    - static_cast<int64_t>
    - Emergency
    - StripeSM*::ram_cache::init
    - ts::Metrics::Gauge::increment
    - dir_sync_init
    linkageType: ''
    returnType: void
    signature: void CacheProcessor::cacheInitialized()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:34,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:35,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:45,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:49,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - io
    argTypes:
    - AIOCallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: CacheDisk::incrErrors
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    - ts::Metrics::Gauge::decrement
    - Warning
    linkageType: ''
    returnType: void
    signature: void CacheDisk::incrErrors(const AIOCallback *io)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:60,1
    - Dst: static_cast<DiskStripe **>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:81,1
    - Dst: ats_calloc
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:81,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:82,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:84,1
    - Dst: static_cast<DiskHeader *>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:86,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:86,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:86,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:87,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:92,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:93,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:94,1
    - Dst: CacheDisk::openDone
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:95,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:97,1
    - Dst: CacheDisk::clearDisk
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:98,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:103,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:105,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 6
    argNames:
    - s
    - blocks
    - askip
    - ahw_sector_size
    - fildes
    - clear
    argTypes:
    - char*
    - off_t
    - off_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 110
    functionName: CacheDisk::open
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - memset
    - fprintf
    - static_cast<DiskHeader *>
    - ats_memalign
    - ROUND_TO_STORE_BLOCK
    - ats_calloc
    - ats_pagesize
    - ats_strdup
    - ink_aio_read
    - static_cast<DiskStripe **>
    - SET_DISK_BAD
    - CacheDisk::openDone
    - reinterpret_cast<char *>
    - SET_HANDLER
    - CacheDisk::clearDisk
    linkageType: ''
    returnType: int
    signature: int CacheDisk::open(char *s, off_t blocks, off_t askip, int ahw_sector_size,
      int fildes, bool clear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:115,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:116,1
    - Dst: dpb_queue::pop
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:118,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:122,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:123,1
    - Dst: dpb_queue::pop
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: CacheDisk::~CacheDisk()
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - dpb_queue::pop
    - ats_free
    - free
    linkageType: ''
    returnType: void
    signature: void CacheDisk::~CacheDisk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheDisk::delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:136,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: CacheDisk::clearDisk
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 1
    functionsReached:
    - CacheDisk::delete_all_volumes
    - ink_aio_write
    linkageType: ''
    returnType: int
    signature: int CacheDisk::clearDisk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:149,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:151,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:152,1
    - Dst: CacheDisk::incrErrors
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:153,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:154,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:158,1
    - Dst: CacheDisk::openDone
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: CacheDisk::clearDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - Warning
    - CacheDisk::incrErrors
    - ok
    - SET_DISK_BAD
    - CacheDisk::openDone
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheDisk::clearDone(int event, void * /* data ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:165,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:167,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:168,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:171,1
    - Dst: CacheDisk::incrErrors
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:173,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:174,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:175,1
    - Dst: CacheDisk::openDone
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:176,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:179,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:181,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:192,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:193,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:194,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:197,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:198,1
    - Dst: CacheDisk::clearDisk
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:199,1
    - Dst: CacheDisk::update_header
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:206,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:208,1
    - Dst: CacheDisk::openDone
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 162
    functionDepth: 6
    functionLinenumber: 162
    functionLinenumberEnd: 210
    functionName: CacheDisk::openStart
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - memset
    - Warning
    - fprintf
    - CacheDisk::update_header
    - CacheDisk::incrErrors
    - ok
    - SET_DISK_BAD
    - CacheDisk::openDone
    - SET_HANDLER
    - static_cast<uint64_t>
    - CacheDisk::clearDisk
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheDisk::openStart(int event, void * /* data ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:216,1
    - Dst: diskInitialized
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:217,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:220,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: CacheDisk::openDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 3
    functionsReached:
    - HRTIME_MSECONDS
    - SET_HANDLER
    - schedule_in
    - diskInitialized
    linkageType: ''
    returnType: int
    signature: int CacheDisk::openDone(int /* event ATS_UNUSED */, void * /* data
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: CacheDisk::sync
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - ink_aio_write
    linkageType: ''
    returnType: int
    signature: int CacheDisk::sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:239,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:241,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:242,1
    - Dst: CacheDisk::incrErrors
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:243,1
    - Dst: SET_DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: CacheDisk::syncDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - Warning
    - CacheDisk::incrErrors
    - ok
    - SET_DISK_BAD
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheDisk::syncDone(int event, void * /* data ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:273,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:289,1
    - Dst: dpb_queue::remove
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:296,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:301,1
    - Dst: DiskStripeBlockQueue::DiskStripeBlockQueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:308,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:310,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:321,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:328,1
    - Dst: DiskStripe::DiskStripe
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:335,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:339,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 3
    argNames:
    - number
    - size_in_blocks
    - scheme
    argTypes:
    - int
    - off_t
    - CacheType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 344
    functionName: CacheDisk::create_volume
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - static_cast<unsigned int>
    - dpb_queue::enqueue
    - DiskStripe::DiskStripe
    - DiskStripeBlockQueue::DiskStripeBlockQueue
    - dpb_queue::remove
    - static_cast<size_t>
    - ink_assert
    linkageType: ''
    returnType: DiskStripeBlock
    signature: 'DiskStripeBlock *

      CacheDisk::create_volume(int number, off_t size_in_blocks, CacheType scheme)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:355,1
    - Dst: dpb_queue::remove
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:361,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: CacheDisk::delete_volume
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached:
    - dpb_queue::enqueue
    - dpb_queue::remove
    - static_cast<unsigned int>
    linkageType: ''
    returnType: int
    signature: int CacheDisk::delete_volume(int number)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dpb_queue::pop
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:388,1
    - Dst: std::make_unique<DiskStripe>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:392,1
    - Dst: DiskStripeBlockQueue::DiskStripeBlockQueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:400,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:406,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:413,1
    - Dst: DiskStripe::DiskStripe
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:423,1
    - Dst: dpb_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:428,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 439
    functionName: CacheDisk::update_header
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 1
    functionsReached:
    - dpb_queue::pop
    - std::make_unique<DiskStripe>
    - dpb_queue::enqueue
    - DiskStripeBlockQueue::DiskStripeBlockQueue
    - DiskStripe::DiskStripe
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheDisk::update_header()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vol_number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: CacheDisk::get_diskvol
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DiskStripe
    signature: 'DiskStripe *

      CacheDisk::get_diskvol(int vol_number)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:458,1
    - Dst: CacheDisk::update_header
      Src: /src/trafficserver/src/iocore/cache/CacheDisk.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: CacheDisk::delete_all_volumes
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDisk.cc
    functionUses: 1
    functionsReached:
    - CacheDisk::update_header
    - static_cast<unsigned int>
    linkageType: ''
    returnType: int
    signature: int CacheDisk::delete_all_volumes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: force_link_CacheTest
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: force_link_CacheTestCaller
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - force_link_CacheTest
    linkageType: ''
    returnType: void
    signature: void force_link_CacheTestCaller()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:131,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:133,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - new_value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: validate_rww
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - Note
    - RecGetRecordFloat
    linkageType: ''
    returnType: int
    signature: int validate_rww(int new_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_rww
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: update_cache_config
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - validate_rww
    linkageType: ''
    returnType: int
    signature: "int update_cache_config(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData data,\n                    void * /* cookie
      ATS_UNUSED */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:174,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:176,1
    - Dst: Cache::open_done
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: Cache::vol_initialized
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - Cache::open_done
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void Cache::vol_initialized(bool result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AIOCallback *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:189,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:192,1
    - Dst: CacheDisk*::incrErrors
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:196,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:198,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:199,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:200,1
    - Dst: DISK_BAD_SIGNALLED
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:201,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:202,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:204,1
    - Dst: mark_storage_offline
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: AIO_failure_handler::handle_disk_failure
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - get
    - CacheDisk*::incrErrors
    - Warning
    - DISK_BAD_SIGNALLED
    - mark_storage_offline
    - static_cast<AIOCallback *>
    - snprintf
    - DISK_BAD
    linkageType: ''
    returnType: int
    signature: int AIO_failure_handler::handle_disk_failure(int /* event ATS_UNUSED
      */, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cacheInitialized
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:223,1
    - Dst: CacheHostTable::CacheHostTable
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:228,1
    - Dst: reset
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:229,1
    - Dst: CacheHostTable*::register_config_callback
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:230,1
    - Dst: waitForCache
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:241,1
    - Dst: Emergency
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:242,1
    - Dst: cacheInitialized
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: Cache::open_done
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 1
    functionsReached:
    - cacheInitialized
    - reset
    - CacheHostTable*::register_config_callback
    - CacheHostTable::CacheHostTable
    - Emergency
    - waitForCache
    linkageType: ''
    returnType: int
    signature: int Cache::open_done()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:261,1
    - Dst: static_cast<StripeSM **>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:266,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:266,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:269,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:274,1
    - Dst: init
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:279,1
    - Dst: Cache::open_done
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - clear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 293
    functionName: Cache::open
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<StripeSM **>
    - RecEstablishStaticConfigInt32
    - Dbg
    - Cache::open_done
    - ats_malloc
    - DISK_BAD
    - init
    - StripeSM::StripeSM
    linkageType: ''
    returnType: int
    signature: int Cache::open(bool clear, bool /* fix ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: Cache::close
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Cache::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:304,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:305,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:309,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:310,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:311,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:313,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:314,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:315,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - cont
    - key
    - type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: Cache::lookup
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Cache::key_to_stripe
    - new_CacheVC
    - Continuation*::handleEvent
    - SET_CONTINUATION_HANDLER
    - CacheProcessor::IsCacheReady
    - ts::Metrics::Gauge::increment
    - CacheVC*::handleEvent
    linkageType: ''
    returnType: Action
    signature: 'Action *

      Cache::lookup(Continuation *cont, const CacheKey *key, CacheFragType type, std::string_view
      hostname) const'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:332,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:333,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:333,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:336,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:338,1
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:340,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:344,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:345,1
    - Dst: StripeSM*::open_read
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:345,1
    - Dst: StripeSM*::directory::probe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:345,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:346,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:347,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:349,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:350,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:351,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:360,1
    - Dst: CONT_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:361,1
    - Dst: CacheVC*::do_read_call
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:369,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:379,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:379,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:380,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:380,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:381,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:381,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:384,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:385,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 4
    argNames:
    - cont
    - key
    - type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 394
    functionName: Cache::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - static_cast<int>
    - is_locked
    - ts::Metrics::Counter::increment
    - CONT_SCHED_LOCK_RETRY
    - CacheVC*::do_read_call
    - Continuation*::mutex::get
    - Cache::key_to_stripe
    - StripeSM*::open_read
    - reinterpret_cast<void *>
    - new_CacheVC
    - Continuation*::handleEvent
    - SET_CONTINUATION_HANDLER
    - CacheProcessor::IsCacheReady
    - ts::Metrics::Gauge::increment
    - StripeSM*::directory::probe
    - ink_assert
    - CacheVC*::handleEvent
    linkageType: ''
    returnType: Action
    signature: 'Action *

      Cache::open_read(Continuation *cont, const CacheKey *key, CacheFragType type,
      std::string_view hostname) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:401,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:402,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:402,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:406,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:409,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:410,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:410,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:412,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:413,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:415,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:416,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:427,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:428,1
    - Dst: CacheVC*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:428,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:428,1
    - Dst: CacheVC*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:428,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:435,1
    - Dst: CacheVC*::stripe::open_write_lock
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:437,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:439,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:440,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:441,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:441,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:442,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:446,1
    - Dst: CONT_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:447,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:451,1
    - Dst: CacheVC*::callcont
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:452,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:455,1
    - Dst: CacheVC*::openWriteOverwrite
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 6
    argNames:
    - cont
    - key
    - frag_type
    - options
    - apin_in_cache
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - int
    - time_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 462
    functionName: Cache::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - CONT_SCHED_LOCK_RETRY
    - CacheVC*::first_key::slice32
    - Cache::key_to_stripe
    - reinterpret_cast<void *>
    - free_CacheVC
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - CacheVC*::openWriteOverwrite
    - ts::Metrics::Counter::increment
    - CacheVC*::stripe::open_write_lock
    - rand_CacheKey
    - CacheProcessor::IsCacheReady
    - static_cast<int>
    - new_CacheVC
    - static_cast<uint32_t>
    - Continuation*::handleEvent
    - ink_assert
    - CacheVC*::key::slice32
    - CacheVC*::callcont
    - SCOPED_MUTEX_LOCK
    - DIR_MASK_TAG
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: Action
    signature: "Action *\nCache::open_write(Continuation *cont, const CacheKey *key,
      CacheFragType frag_type, int options, time_t apin_in_cache,\n                  std::string_view
      hostname) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:467,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:469,1
    - Dst: new_CacheRemoveCont
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:476,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:479,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:479,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:480,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:480,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:481,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:484,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:487,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:490,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:491,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:492,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:498,1
    - Dst: CacheVC*::removeEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - cont
    - key
    - type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 505
    functionName: Cache::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - static_cast<int>
    - is_locked
    - dir_clear
    - CacheVC*::removeEvent
    - new_CacheRemoveCont
    - Cache::key_to_stripe
    - new_CacheVC
    - Continuation*::handleEvent
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - CacheProcessor::IsCacheReady
    - ts::Metrics::Gauge::increment
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: 'Action *

      Cache::remove(Continuation *cont, const CacheKey *key, CacheFragType type, std::string_view
      hostname) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:510,1
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:511,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:512,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:516,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:520,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:521,1
    - Dst: BUFFER_SIZE_FOR_XMALLOC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:521,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:524,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:525,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:525,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - cont
    - hostname
    - KB_per_second
    argTypes:
    - Continuation*
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: Cache::scan
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - schedule_in
    - BUFFER_SIZE_FOR_XMALLOC
    - HRTIME_MSECONDS
    - Dbg
    - new_CacheVC
    - Continuation*::handleEvent
    - SET_CONTINUATION_HANDLER
    - CacheProcessor::IsCacheReady
    - new_IOBufferData
    linkageType: ''
    returnType: Action
    signature: 'Action *

      Cache::scan(Continuation *cont, std::string_view hostname, int KB_per_second)
      const'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:534,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:535,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:535,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:538,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:540,1
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:542,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:547,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:548,1
    - Dst: StripeSM*::open_read
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:548,1
    - Dst: StripeSM*::directory::probe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:548,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:549,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:553,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:554,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:555,1
    - Dst: CacheVC*::request::copy_shallow
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:556,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:561,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:562,1
    - Dst: CONT_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:563,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:575,1
    - Dst: CacheVC*::do_read_call
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:576,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:586,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:586,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:587,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:587,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:588,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:588,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:591,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:592,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:593,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:598,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 6
    argNames:
    - cont
    - key
    - request
    - params
    - type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheHTTPHdr*
    - HttpConfigAccessor*
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 602
    functionName: Cache::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - CONT_SCHED_LOCK_RETRY
    - Cache::key_to_stripe
    - reinterpret_cast<void *>
    - SET_CONTINUATION_HANDLER
    - StripeSM*::directory::probe
    - CacheVC*::handleEvent
    - ts::Metrics::Counter::increment
    - is_locked
    - CacheProcessor::IsCacheReady
    - CACHE_TRY_LOCK
    - static_cast<int>
    - CacheVC*::do_read_call
    - Continuation*::mutex::get
    - StripeSM*::open_read
    - CacheVC*::request::copy_shallow
    - new_CacheVC
    - Continuation*::handleEvent
    - ink_assert
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: Action
    signature: "Action *\nCache::open_read(Continuation *cont, const CacheKey *key,
      CacheHTTPHdr *request, const HttpConfigAccessor *params,\n                 CacheFragType
      type, std::string_view hostname) const"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:609,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:610,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:610,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:614,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:616,1
    - Dst: new_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:617,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:628,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:629,1
    - Dst: CacheVC*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:629,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:629,1
    - Dst: CacheVC*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:629,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:632,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:635,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:665,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:666,1
    - Dst: CacheHTTPInfo*::object_key_get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:667,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:668,1
    - Dst: CacheVC*::update_key::is_zero
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:668,1
    - Dst: CacheHTTPInfo*::object_size_get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:669,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:671,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:674,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:675,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:677,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:680,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:681,1
    - Dst: CacheVC*::stripe::open_write
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:682,1
    - Dst: CacheVC*::od::has_multiple_writers
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:688,1
    - Dst: CacheVC*::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:691,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:703,1
    - Dst: CacheVC*::do_read_call
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:704,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:715,1
    - Dst: CONT_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:716,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:721,1
    - Dst: CacheVC*::callcont
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:722,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:726,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:727,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:728,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:728,1
    - Dst: CacheVC*::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:730,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:733,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:737,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 6
    argNames:
    - cont
    - key
    - info
    - apin_in_cache
    - type
    - hostname
    argTypes:
    - Continuation*
    - CacheKey*
    - CacheHTTPInfo*
    - time_t
    - CacheFragType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 741
    functionName: Cache::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - CONT_SCHED_LOCK_RETRY
    - CacheVC*::first_key::slice32
    - Cache::key_to_stripe
    - reinterpret_cast<void *>
    - CacheVC*::stripe::open_write
    - CacheVC*::od::has_multiple_writers
    - free_CacheVC
    - CacheVC*::update_key::is_zero
    - SET_CONTINUATION_HANDLER
    - CacheVC*::handleEvent
    - ts::Metrics::Counter::increment
    - is_locked
    - CacheVC*::openWriteCloseDir
    - rand_CacheKey
    - CacheHTTPInfo*::object_key_get
    - CacheProcessor::IsCacheReady
    - static_cast<int>
    - CACHE_TRY_LOCK
    - DDbg
    - CacheVC*::do_read_call
    - CacheVC*::stripe::directory::probe
    - new_CacheVC
    - CacheHTTPInfo*::object_size_get
    - Continuation*::handleEvent
    - static_cast<uint32_t>
    - ink_assert
    - CacheVC*::key::slice32
    - CacheVC*::callcont
    - DIR_MASK_TAG
    - reinterpret_cast<uintptr_t>
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: Action
    signature: "Action *\nCache::open_write(Continuation *cont, const CacheKey *key,
      CacheHTTPInfo *info, time_t apin_in_cache, CacheFragType type,\n                  std::string_view
      hostname) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: CacheVConnection::CacheVConnection
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheVConnection::CacheVConnection()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:752,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:756,1
    - Dst: ReplaceablePtr<CacheHostTable>::ScopedReader::Match
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:758,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:762,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:764,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:764,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:764,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:765,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:765,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:772,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:774,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:774,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:774,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:775,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - key
    - hostname
    argTypes:
    - CacheKey*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 781
    functionName: Cache::key_to_stripe
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 6
    functionsReached:
    - ReplaceablePtr<CacheHostTable>::ScopedReader::Match
    - static_cast<int>
    - 'on'
    - std::string_view::length
    - std::string_view::empty
    - Dbg
    - std::string_view::data
    - snprintf
    - CacheKey*::slice32
    linkageType: ''
    returnType: StripeSM
    signature: 'StripeSM *

      Cache::key_to_stripe(const CacheKey *key, std::string_view hostname) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:787,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:787,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 794
    functionName: FragmentSizeUpdateCb
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Warning
    linkageType: ''
    returnType: int
    signature: "int FragmentSizeUpdateCb(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData data,\n                     void * /* cookie
      ATS_UNUSED */)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:799,1
    - Dst: ts::ModuleVersion::check
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:799,1
    - Dst: RecEstablishStaticConfigInt
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:801,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:802,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:805,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:806,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:807,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:808,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:810,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:811,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:813,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:814,1
    - Dst: RecEstablishStaticConfigInt
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:816,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:817,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:820,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:821,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:823,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:824,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:826,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:827,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:829,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:830,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:832,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:833,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:835,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:836,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:839,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:840,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:842,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:843,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:845,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:846,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:848,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:849,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:851,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:852,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:854,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:856,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:856,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:857,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:862,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:866,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:867,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:869,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:870,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:872,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:873,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:875,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:876,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:878,1
    - Dst: validate_rww
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:879,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:880,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:881,1
    - Dst: register_cache_stats
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:883,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:885,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:887,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:888,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:890,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:892,1
    - Dst: std::fstream::good
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:893,1
    - Dst: std::getline
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:894,1
    - Dst: std::fstream::fail
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:895,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:896,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:896,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:899,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:900,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:900,1
    - Dst: size
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:906,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:907,1
    - Dst: std::filesystem::path::c_str
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:908,1
    - Dst: read_config
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:911,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:912,1
    - Dst: Fatal
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:913,1
    - Dst: Result::message
      Src: /src/trafficserver/src/iocore/cache/Cache.cc:913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 79
    argCount: 1
    argNames:
    - v
    argTypes:
    - ts::ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 915
    functionName: ink_cache_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/Cache.cc
    functionUses: 0
    functionsReached:
    - insert
    - RecEstablishStaticConfigInt32
    - Fatal
    - RecGetRecordInt
    - size
    - read_config
    - RecRegisterConfigUpdateCb
    - std::fstream::fail
    - Result::message
    - std::string::empty
    - std::getline
    - std::move
    - ts::ModuleVersion::check
    - Warning
    - ink_release_assert
    - std::filesystem::path::c_str
    - Error
    - Dbg
    - Layout::get
    - RecEstablishStaticConfigInt
    - std::fstream::good
    - Result::failed
    - ink_assert
    - validate_rww
    - register_cache_stats
    linkageType: ''
    returnType: void
    signature: void ink_cache_init(ts::ModuleVersion v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: dir_offset_evac_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_offset_evac_bucket(_o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: dir_evac_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_evac_bucket(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _d
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: offset_evac_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset_evac_bucket(_d, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - PreservationTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: PreservationTable::PreservationTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreservationTable(PreservationTable const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - PreservationTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '&operator=(PreservationTable const &that)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreservationTable
    signature: PreservationTable &operator=(PreservationTable const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: PreservationTable::evac_bucket_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PreservationTable::evac_bucket_valid(off_t bucket) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.h:206,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: new_EvacuationBlock
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_ethread
    linkageType: ''
    returnType: EvacuationBlock
    signature: 'EvacuationBlock *

      new_EvacuationBlock()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.h:220,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.h:223,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.h:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - EvacuationBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: free_EvacuationBlock
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.h
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - free
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void free_EvacuationBlock(EvacuationBlock *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:46,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:53,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - p
    - len
    - ab
    - offset
    argTypes:
    - char*
    - int
    - IOBufferBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: iobufferblock_memcpy
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - IOBufferBlock*::next::get
    linkageType: ''
    returnType: char
    signature: 'char *

      iobufferblock_memcpy(char *p, int len, IOBufferBlock const *ab, int offset)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:46,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:53,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - p
    - len
    - ab
    - offset
    argTypes:
    - char*
    - int
    - IOBufferBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: iobufferblock_memcpy
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - IOBufferBlock*::next::get
    linkageType: ''
    returnType: char
    signature: 'char *

      iobufferblock_memcpy(char *p, int len, IOBufferBlock const *ab, int offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobufferblock_memcpy
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:67,1
    - Dst: Doc::data
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len
    - block
    - offset
    argTypes:
    - int
    - IOBufferBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Doc::set_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached:
    - Doc::data
    - iobufferblock_memcpy
    linkageType: ''
    returnType: void
    signature: void Doc::set_data(int const len, IOBufferBlock const *block, int const
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Doc::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:74,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Doc::calculate_checksum
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - Doc::hdr
    linkageType: ''
    returnType: void
    signature: void Doc::calculate_checksum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:83,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheDoc.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pin_in_cache
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Doc::pin
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Doc::pin(std::uint32_t const pin_in_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Doc::unpin
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDoc.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Doc::unpin()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:66,1
    - Dst: memchr
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - length
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: find_etag
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - memchr
    - static_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      find_etag(const char *raw_tag_field, int raw_tag_field_len, int *length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:84,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:93,1
    - Dst: HttpCompat::parse_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:96,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:107,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - comma_sep_tag_list
    - comma_sep_tag_list_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: do_strings_match_strongly
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpCompat::parse_comma_list
    - strncmp
    - StrList::StrList
    - find_etag
    linkageType: ''
    returnType: bool
    signature: "bool do_strings_match_strongly(const char *raw_tag_field, int raw_tag_field_len,
      const char *comma_sep_tag_list,\n                          int comma_sep_tag_list_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:124,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:130,1
    - Dst: HttpCompat::parse_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:133,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:143,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - comma_sep_tag_list
    - comma_sep_tag_list_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 149
    functionName: do_strings_match_weakly
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - StrList::StrList
    - find_etag
    - HttpCompat::parse_comma_list
    linkageType: ''
    returnType: bool
    signature: "bool do_strings_match_weakly(const char *raw_tag_field, int raw_tag_field_len,
      const char *comma_sep_tag_list,\n                        int comma_sep_tag_list_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: is_asterisk
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_asterisk(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: is_empty
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_empty(char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:66,1
    - Dst: memchr
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - length
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: find_etag
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 2
    functionsReached:
    - memchr
    - static_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      find_etag(const char *raw_tag_field, int raw_tag_field_len, int *length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:84,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:93,1
    - Dst: HttpCompat::parse_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:96,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:107,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - comma_sep_tag_list
    - comma_sep_tag_list_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: do_strings_match_strongly
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpCompat::parse_comma_list
    - strncmp
    - StrList::StrList
    - find_etag
    linkageType: ''
    returnType: bool
    signature: "bool do_strings_match_strongly(const char *raw_tag_field, int raw_tag_field_len,
      const char *comma_sep_tag_list,\n                          int comma_sep_tag_list_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:124,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:130,1
    - Dst: HttpCompat::parse_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:133,1
    - Dst: find_etag
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:143,1
    - Dst: strncmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - raw_tag_field
    - raw_tag_field_len
    - comma_sep_tag_list
    - comma_sep_tag_list_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 149
    functionName: do_strings_match_weakly
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - StrList::StrList
    - find_etag
    - HttpCompat::parse_comma_list
    linkageType: ''
    returnType: bool
    signature: "bool do_strings_match_weakly(const char *raw_tag_field, int raw_tag_field_len,
      const char *comma_sep_tag_list,\n                        int comma_sep_tag_list_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: is_asterisk
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_asterisk(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: is_empty
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_empty(char *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CacheHTTPInfoVector*::count
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:187,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:192,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:193,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:194,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:195,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:200,1
    - Dst: CacheHTTPInfoVector*::get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:206,1
    - Dst: CacheHTTPInfo*::request_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:207,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:208,1
    - Dst: CacheHTTPInfo*::object_key_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:210,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:211,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:211,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:212,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:212,1
    - Dst: HttpTransactCache::calculate_quality_of_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:214,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:218,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:218,1
    - Dst: HttpTransactCache::calculate_document_age
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:220,1
    - Dst: CacheHTTPInfo*::request_sent_time_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:220,1
    - Dst: CacheHTTPInfo*::response_received_time_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:220,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:221,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:227,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:230,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:231,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:240,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:243,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:250,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:253,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:264,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:265,1
    - Dst: fprintf
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:266,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 3
    argNames:
    - cache_vector
    - client_request
    - http_config_params
    argTypes:
    - CacheHTTPInfoVector*
    - HTTPHdr*
    - HttpConfigAccessor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 274
    functionName: HttpTransactCache::SelectFromAlternates
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 3
    functionsReached:
    - CacheHTTPInfo*::response_get
    - ink_hrtime_to_sec
    - CacheHTTPInfo*::response_received_time_get
    - CacheHTTPInfo*::request_get
    - fprintf
    - CacheHTTPInfoVector*::count
    - CacheHTTPInfo*::object_key_get
    - HTTPHdr*::get_date
    - CacheHTTPInfo*::request_sent_time_get
    - CacheHTTPInfoVector*::get
    - static_cast<time_t>
    - HTTPHdr*::valid
    - Dbg
    - HttpTransactCache::calculate_document_age
    - HttpTransactCache::calculate_quality_of_match
    - ink_assert
    - ink_get_hrtime
    - 'on'
    - HTTPHdr*::print
    linkageType: ''
    returnType: int
    signature: "int HttpTransactCache::SelectFromAlternates(CacheHTTPInfoVector *cache_vector,
      HTTPHdr *client_request,\n                                        const HttpConfigAccessor
      *http_config_params)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:303,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:304,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:323,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:329,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:329,1
    - Dst: HttpConfigAccessor*::get_ignore_accept_mismatch
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:332,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:336,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:336,1
    - Dst: HttpTransactCache::calculate_quality_of_accept_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:342,1
    - Dst: HttpConfigAccessor*::get_ignore_accept_charset_mismatch
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:348,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:352,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:352,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:353,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:353,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:357,1
    - Dst: HttpTransactCache::calculate_quality_of_accept_charset_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:360,1
    - Dst: HttpConfigAccessor*::get_ignore_accept_encoding_mismatch
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:366,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:370,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:370,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:371,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:371,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:372,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:372,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:376,1
    - Dst: HttpTransactCache::calculate_quality_of_accept_encoding_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:379,1
    - Dst: HttpConfigAccessor*::get_ignore_accept_language_mismatch
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:385,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:389,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:389,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:390,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:390,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:391,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:391,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:395,1
    - Dst: HttpTransactCache::calculate_quality_of_accept_language_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:398,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:408,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:409,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:410,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:413,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:414,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:416,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:417,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:418,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:420,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:421,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:422,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:424,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:425,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:434,1
    - Dst: HttpAltInfo::m_client_req::copy_shallow
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:436,1
    - Dst: HttpAltInfo::m_cached_req::copy_shallow
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:437,1
    - Dst: HttpAltInfo::m_cached_resp::copy_shallow
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:438,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:443,1
    - Dst: HttpAltInfo::m_client_req::clear
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:459,1
    - Dst: HttpAltInfo::m_cached_req::clear
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:460,1
    - Dst: HttpAltInfo::m_cached_resp::clear
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:461,1
    - Dst: HttpTransactCache::CalcVariability
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:467,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:473,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:474,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:476,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 113
    argCount: 4
    argNames:
    - http_config_param
    - client_request
    - obj_client_request
    - obj_origin_server_response
    argTypes:
    - HttpConfigAccessor*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 480
    functionName: HttpTransactCache::calculate_quality_of_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - HttpAltInfo::m_client_req::clear
    - HttpTransactCache::calculate_quality_of_accept_charset_match
    - HttpTransactCache::calculate_quality_of_accept_match
    - HttpConfigAccessor*::get_ignore_accept_mismatch
    - HttpAltInfo::m_client_req::copy_shallow
    - static_cast<float>
    - get
    - HttpTransactCache::CalcVariability
    - HttpTransactCache::calculate_quality_of_accept_language_match
    - APIHook*::invoke
    - HttpAltInfo::m_cached_resp::copy_shallow
    - HttpAltInfo::m_cached_resp::clear
    - HTTPHdr*::method_get_wksidx
    - HttpAltInfo::m_cached_req::clear
    - static_cast<std::string_view>
    - Dbg
    - HttpConfigAccessor*::get_ignore_accept_charset_mismatch
    - HttpConfigAccessor*::get_ignore_accept_language_mismatch
    - HttpTransactCache::calculate_quality_of_accept_encoding_match
    - HTTPHdr*::presence
    - HttpConfigAccessor*::get_ignore_accept_encoding_mismatch
    - HttpAltInfo::m_cached_req::copy_shallow
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: float
    signature: "float HttpTransactCache::calculate_quality_of_match(const HttpConfigAccessor
      *http_config_param, HTTPHdr *client_request,\n                                              HTTPHdr
      *obj_client_request, HTTPHdr *obj_origin_server_response)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:509,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:515,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:524,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:525,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:525,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:525,1
    - Dst: HttpCompat::parse_mime_type
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:532,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:535,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:535,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:539,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:547,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:548,1
    - Dst: HttpCompat::parse_mime_type
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:558,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:560,1
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:566,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:568,1
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:569,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:569,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:571,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:578,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:578,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:580,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - accept_field
    - content_field
    argTypes:
    - MIMEField*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 601
    functionName: HttpTransactCache::calculate_quality_of_accept_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::find_Q_param_in_strlist
    - MIMEField*::value_get_comma_list
    - auto::length
    - Dbg
    - HttpCompat::parse_semicolon_list
    - MIMEField*::value_get
    - strcasecmp
    - auto::data
    - StrList::StrList
    - HttpCompat::parse_mime_type
    - ink_assert
    - is_asterisk
    linkageType: ''
    returnType: float
    signature: float HttpTransactCache::calculate_quality_of_accept_match(MIMEField
      *accept_field, MIMEField *content_field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::get_age
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:618,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:636,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:638,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:639,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:640,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:641,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:644,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:644,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:649,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:656,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:657,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:658,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:659,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:660,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:661,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:662,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:663,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:664,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - request_time
    - response_time
    - base_response
    - base_response_date
    - now
    argTypes:
    - ink_time_t
    - ink_time_t
    - HTTPHdr*
    - ink_time_t
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 669
    functionName: HttpTransactCache::calculate_document_age
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - static_cast<time_t>
    - HTTPHdr*::get_age
    - max
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: ink_time_t
    signature: "ink_time_t HttpTransactCache::calculate_document_age(ink_time_t request_time,
      ink_time_t response_time, HTTPHdr *base_response,\n                                          ink_time_t
      base_response_date, ink_time_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:691,1
    - Dst: is_empty
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:691,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - charset1
    - charset2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: does_charset_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - is_empty
    - strcasecmp
    - is_asterisk
    linkageType: ''
    returnType: bool
    signature: bool does_charset_match(char *charset1, char *charset2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:699,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:710,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:711,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:712,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:712,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:713,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:714,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:720,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:723,1
    - Dst: HttpCompat::lookup_param_in_semicolon_string
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:724,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:724,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:724,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:725,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:729,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:738,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:741,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:753,1
    - Dst: does_charset_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:756,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:758,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:769,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - accept_field
    - content_field
    - cached_accept_field
    argTypes:
    - MIMEField*
    - MIMEField*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 773
    functionName: HttpTransactCache::calculate_quality_of_accept_charset_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::find_Q_param_in_strlist
    - MIMEField*::value_get_comma_list
    - auto::length
    - ink_strlcpy
    - const_cast<char *>
    - HttpCompat::lookup_param_in_semicolon_string
    - Dbg
    - does_charset_match
    - HttpCompat::parse_semicolon_list
    - MIMEField*::value_get
    - strcasecmp
    - auto::data
    - StrList::StrList
    - static_cast<float>
    linkageType: ''
    returnType: float
    signature: "float HttpTransactCache::calculate_quality_of_accept_charset_match(MIMEField
      *accept_field, MIMEField *content_field,\n                                                             MIMEField
      *cached_accept_field)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:811,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:811,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:817,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:817,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:817,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:817,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:818,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:818,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:819,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - enc1
    - enc2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 824
    functionName: does_encoding_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - strcasecmp
    - is_asterisk
    linkageType: ''
    returnType: bool
    signature: bool does_encoding_match(char *enc1, const char *enc2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:831,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:836,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:840,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:842,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:844,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:849,1
    - Dst: does_encoding_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - accept_field
    - encoding_identifier
    argTypes:
    - MIMEField*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 855
    functionName: HttpTransactCache::match_content_encoding
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - HttpCompat::find_Q_param_in_strlist
    - MIMEField*::value_get_comma_list
    - const_cast<char *>
    - does_encoding_match
    - HttpCompat::parse_semicolon_list
    - StrList::StrList
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactCache::match_content_encoding(MIMEField *accept_field,
      const char *encoding_identifier)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:863,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:870,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:874,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:880,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:882,1
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:887,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:889,1
    - Dst: does_encoding_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:891,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - c_raw
    - accept_field
    - wildcard_present
    - wildcard_q
    - q
    argTypes:
    - char*
    - MIMEField*
    - bool*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 903
    functionName: match_accept_content_encoding
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - HttpCompat::find_Q_param_in_strlist
    - MIMEField*::value_get_comma_list
    - const_cast<char *>
    - does_encoding_match
    - HttpCompat::parse_semicolon_list
    - StrList::StrList
    - is_asterisk
    linkageType: ''
    returnType: bool
    signature: bool match_accept_content_encoding(const char *c_raw, MIMEField *accept_field,
      bool *wildcard_present, float *wildcard_q, float *q)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:913,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:918,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:919,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:920,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:920,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:921,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:922,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:928,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:932,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:937,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:939,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:946,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:967,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:969,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:972,1
    - Dst: match_accept_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:980,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:982,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:982,1
    - Dst: match_accept_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1002,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1021,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1022,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1028,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 3
    argNames:
    - accept_field
    - content_field
    - cached_accept_field
    argTypes:
    - MIMEField*
    - MIMEField*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 1036
    functionName: HttpTransactCache::calculate_quality_of_accept_encoding_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::value_get_comma_list
    - strncasecmp
    - Dbg
    - match_accept_content_encoding
    - MIMEField*::value_get
    - HttpTransactCache::match_content_encoding
    - auto::data
    - StrList::StrList
    - static_cast<float>
    linkageType: ''
    returnType: float
    signature: "float HttpTransactCache::calculate_quality_of_accept_encoding_match(MIMEField
      *accept_field, MIMEField *content_field,\n                                                              MIMEField
      *cached_accept_field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1055,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - range1
    - range2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1066
    functionName: does_language_range_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: bool
    signature: bool does_language_range_match(const char *range1, const char *range2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1074,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1077,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1081,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1088,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1090,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1091,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1101,1
    - Dst: is_asterisk
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1107,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1109,1
    - Dst: does_language_range_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - c_raw
    - accept_field
    - wildcard_present
    - wildcard_q
    - q
    - a_range_length
    argTypes:
    - char*
    - MIMEField*
    - bool*
    - float*
    - float*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1119
    functionName: match_accept_content_language
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - HttpCompat::find_Q_param_in_strlist
    - MIMEField*::value_get_comma_list
    - const_cast<char *>
    - HttpCompat::parse_semicolon_list
    - does_language_range_match
    - StrList::StrList
    - ink_assert
    - is_asterisk
    linkageType: ''
    returnType: bool
    signature: "bool match_accept_content_language(const char *c_raw, MIMEField *accept_field,
      bool *wildcard_present, float *wildcard_q, float *q,\n                              int
      *a_range_length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1136,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1141,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1142,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1143,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1144,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1145,1
    - Dst: match_accept_content_language
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1157,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1160,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1167,1
    - Dst: match_accept_content_language
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - accept_field
    - content_field
    - cached_accept_field
    argTypes:
    - MIMEField*
    - MIMEField*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1189
    functionName: HttpTransactCache::calculate_quality_of_accept_language_match
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::value_get_comma_list
    - Dbg
    - MIMEField*::value_get
    - match_accept_content_language
    - auto::data
    - StrList::StrList
    - static_cast<float>
    linkageType: ''
    returnType: float
    signature: "float HttpTransactCache::calculate_quality_of_accept_language_match(MIMEField
      *accept_field, MIMEField *content_field,\n                                                              MIMEField
      *cached_accept_field)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1204,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1205,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1206,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1207,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1210,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1211,1
    - Dst: HTTPHdr*::value_get_comma_list
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1213,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1213,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1214,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1215,1
    - Dst: StrList::dump
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1216,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1231,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1233,1
    - Dst: HttpConfigAccessor*::get_global_user_agent_header
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1241,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1241,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1241,1
    - Dst: HttpConfigAccessor*::get_ignore_accept_encoding_mismatch
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1247,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1248,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1267,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1267,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1269,1
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1269,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1271,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1275,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1275,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1277,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1277,1
    - Dst: HttpCompat::do_vary_header_values_match
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1280,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - http_config_params
    - client_request
    - obj_client_request
    - obj_origin_server_response
    argTypes:
    - HttpConfigAccessor*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1289
    functionName: HttpTransactCache::CalcVariability
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::value_get_comma_list
    - static_cast<std::string_view>
    - 'on'
    - hdrtoken_string_to_wks
    - HTTPHdr*::presence
    - const_cast<char *>
    - static_cast<std::string_view::size_type>
    - DbgPrint
    - HttpCompat::do_vary_header_values_match
    - Dbg
    - HttpConfigAccessor*::get_ignore_accept_encoding_mismatch
    - strlen
    - HttpConfigAccessor*::get_global_user_agent_header
    - strcasecmp
    - StrList::dump
    - StrList::StrList
    - HTTPHdr*::field_find
    - ink_assert
    linkageType: ''
    returnType: Variability_t
    signature: "Variability_t HttpTransactCache::CalcVariability(const HttpConfigAccessor
      *http_config_params, HTTPHdr *client_request,\n                                   HTTPHdr
      *obj_client_request, HTTPHdr *obj_origin_server_response)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1318,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1318,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1319,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1319,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1320,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1320,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1322,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1324,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1328,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1329,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1329,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1329,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1330,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1330,1
    - Dst: do_strings_match_weakly
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1337,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1337,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1337,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1337,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1337,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1338,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1338,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1341,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1347,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1348,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1349,1
    - Dst: HTTPHdr*::get_if_modified_since
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1352,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1353,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1357,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1358,1
    - Dst: HTTPHdr*::get_if_modified_since
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1361,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1362,1
    - Dst: HTTPHdr*::get_if_modified_since
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1368,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1369,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1383,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1384,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1384,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1387,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1388,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1388,1
    - Dst: do_strings_match_strongly
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1391,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1391,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1391,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1391,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1391,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1392,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1392,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1393,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1400,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1402,1
    - Dst: HTTPHdr*::get_if_unmodified_since
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1405,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1408,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1418,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - request
    - response
    - response_received_time
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1419
    functionName: HttpTransactCache::match_response_to_request_conditionals
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr*::presence
    - std::string_view::length
    - do_strings_match_strongly
    - ink_assert
    - HTTPHdr*::get_if_modified_since
    - HTTPHdr*::get_if_unmodified_since
    - HTTPHdr*::get_last_modified
    - HTTPHdr*::status_get
    - HTTPHdr*::get_date
    - auto::data
    - do_strings_match_weakly
    - auto::empty
    - std::string_view::data
    - HTTPHdr*::value_get
    linkageType: ''
    returnType: HTTPStatus
    signature: HTTPStatus HttpTransactCache::match_response_to_request_conditionals(HTTPHdr
      *request, HTTPHdr *response, ink_time_t response_received_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1432,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1437,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1437,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1438,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1438,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1439,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1439,1
    - Dst: do_strings_match_strongly
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1441,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1441,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1441,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1441,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1441,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1442,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1442,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1448,1
    - Dst: HTTPHdr*::get_if_range_date
      Src: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc:1451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - request
    - response
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1429
    functionDepth: 2
    functionLinenumber: 1429
    functionLinenumberEnd: 1452
    functionName: HttpTransactCache::validate_ifrange_header_if_any
    functionSourceFile: /src/trafficserver/src/iocore/cache/HttpTransactCache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr*::presence
    - do_strings_match_strongly
    - HTTPHdr*::get_last_modified
    - HTTPHdr*::get_if_range_date
    - auto::data
    - auto::empty
    - HTTPHdr*::value_get
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactCache::validate_ifrange_header_if_any(HTTPHdr *request,
      HTTPHdr *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - RegressionTest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: CacheTestSM::CacheTestSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheTestSM::CacheTestSM(RegressionTest *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:44,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:44,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:44,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:45,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:45,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:45,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:46,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:46,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:46,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ao
    argTypes:
    - CacheTestSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: CacheTestSM::CacheTestSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - reinterpret_cast<const char *>
    - reinterpret_cast<char *>
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheTestSM::CacheTestSM(const CacheTestSM &ao)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:52,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:53,1
    - Dst: dealloc_reader
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:55,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: CacheTestSM::~CacheTestSM()
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    - dealloc_reader
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheTestSM::~CacheTestSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_io_read
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: CacheTestSM::open_read_callout
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - do_io_read
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::open_read_callout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_io_write
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: CacheTestSM::open_write_callout
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - do_io_write
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::open_write_callout()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: cancel_timeout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:82,1
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:84,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:88,1
    - Dst: make_request
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:92,1
    - Dst: cancel_timeout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:101,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:103,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:104,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:105,1
    - Dst: CacheTestSM::open_read_callout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:106,1
    - Dst: CacheTestSM::check_buffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:116,1
    - Dst: consume
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:119,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:119,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:120,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:120,1
    - Dst: CacheTestSM::check_buffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:124,1
    - Dst: cancel_timeout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:135,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:137,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:138,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:139,1
    - Dst: CacheTestSM::open_write_callout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:140,1
    - Dst: CacheTestSM::fill_buffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:150,1
    - Dst: reenable
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:151,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:188,1
    - Dst: cancel_timeout
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:194,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:198,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:201,1
    - Dst: dealloc_reader
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:205,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:209,1
    - Dst: CacheTestSM::check_result
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:213,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:215,1
    - Dst: CacheTestSM::complete
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:218,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 142
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 220
    functionName: CacheTestSM::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - alloc_reader
    - CacheTestSM::open_read_callout
    - CacheTestSM::complete
    - read_avail
    - CacheTestSM::check_result
    - CacheTestSM::open_write_callout
    - cancel
    - CacheTestSM::fill_buffer
    - free_MIOBuffer
    - consume
    - dealloc_reader
    - static_cast<CacheVConnection *>
    - do_io_close
    - reenable
    - CacheTestSM::check_buffer
    - static_cast<VIO *>
    - cancel_timeout
    - make_request
    - schedule_imm
    - ink_assert
    - new_empty_MIOBuffer
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::event_handler(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_avail
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:225,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:228,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:235,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:242,1
    - Dst: write
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:243,1
    - Dst: fill
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: CacheTestSM::fill_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 1
    functionsReached:
    - write
    - read_avail
    - reinterpret_cast<char *>
    - write_avail
    - fill
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void CacheTestSM::fill_buffer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:252,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:256,1
    - Dst: read_avail
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:257,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:268,1
    - Dst: read
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:269,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:270,1
    - Dst: consume
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 278
    functionName: CacheTestSM::check_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 1
    functionsReached:
    - read
    - swoc::SWOC_VERSION_NS::memcmp
    - read_avail
    - consume
    - reinterpret_cast<char *>
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::check_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: CacheTestSM::check_result
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::check_result(int event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestSM::check_result
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:289,1
    - Dst: done
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:290,1
    - Dst: done
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: CacheTestSM::complete
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 1
    functionsReached:
    - done
    - CacheTestSM::check_result
    linkageType: ''
    returnType: int
    signature: int CacheTestSM::complete(int event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:300,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:301,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:306,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:306,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:310,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:312,1
    - Dst: lookup
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:312,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:316,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:316,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:322,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:322,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:326,1
    - Dst: lookup
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:326,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:330,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:330,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:334,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:334,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:336,1
    - Dst: CACHE_SM
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:338,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:340,1
    - Dst: set_header
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:342,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 345
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - lookup
    - open_read
    - rprintf
    - CACHE_SM
    - rand_CacheKey
    - remove
    - IsCacheEnabled
    - set_header
    - do_io_write
    - open_write
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(cache)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: force_link_CacheTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void force_link_CacheTest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<StripeSM>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:457,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:457,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:458,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:459,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:460,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:460,1
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:466,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:472,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:474,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:475,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:475,1
    - Dst: build_vol_hash_table
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:476,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - t
    - level
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 504
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - get
    - build_vol_hash_table
    - std::make_unique<StripeSM>
    - rprintf
    - snprintf
    - CryptoContext
    - strlen
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(cache_disk_replacement_stability)(RegressionTest
      *t, int level, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:519,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:519,1
    - Dst: pow
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 530
    functionName: build_zipf
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - pow
    - static_cast<double *>
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: void build_zipf()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: get_zipf
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int get_zipf(double v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:556,1
    - Dst: key_to_stripe
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:557,1
    - Dst: RamCache*::init
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:560,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:564,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:564,1
    - Dst: IOBufferData*::alloc
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:567,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:568,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:568,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:569,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:570,1
    - Dst: RamCache*::put
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:571,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:571,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:577,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:578,1
    - Dst: RamCache*::get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:579,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:588,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:589,1
    - Dst: RamCache*::get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:590,1
    - Dst: build_zipf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:596,1
    - Dst: ts::Random::seed
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:597,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:598,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:598,1
    - Dst: get_zipf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:600,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:600,1
    - Dst: Ptr::clear
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:602,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:606,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:607,1
    - Dst: RamCache*::get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:609,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:610,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:610,1
    - Dst: IOBufferData*::alloc
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:611,1
    - Dst: Ptr::push_back
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:612,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:612,1
    - Dst: RamCache*::put
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:613,1
    - Dst: Ptr::back
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:613,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:619,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:620,1
    - Dst: Ptr::clear
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:622,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:626,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:627,1
    - Dst: RamCache*::get
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:629,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:630,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:630,1
    - Dst: IOBufferData*::alloc
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:631,1
    - Dst: Ptr::push_back
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:632,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:632,1
    - Dst: RamCache*::put
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:633,1
    - Dst: Ptr::back
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:633,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:633,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:639,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:640,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:642,1
    - Dst: RamCache*::size
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:642,1
    - Dst: abs
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:647,1
    - Dst: RamCache*::size
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:647,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:651,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:653,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 4
    argNames:
    - t
    - cache
    - name
    - cache_size
    argTypes:
    - RegressionTest*
    - RamCache*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 656
    functionName: test_RamCache
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - RamCache*::put
    - Ptr::clear
    - RamCache*::init
    - ts::Random::drandom
    - static_cast<double>
    - Ptr::push_back
    - RamCache*::size
    - static_cast<int *>
    - key_to_stripe
    - get
    - THREAD_ALLOC
    - ats_free
    - make_ptr
    - IOBufferData*::block_size
    - build_zipf
    - Ptr::back
    - RamCache*::get
    - std::vector::push_back
    - IOBufferData*::alloc
    - static_cast<uint64_t>
    - ts::Random::seed
    - rprintf
    - this_thread
    - get_zipf
    - ats_malloc
    - CacheKey::CacheKey
    - abs
    linkageType: ''
    returnType: bool
    signature: bool test_RamCache(RegressionTest *t, RamCache *cache, const char *name,
      int64_t cache_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:666,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:667,1
    - Dst: test_RamCache
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:674,1
    - Dst: new_RamCacheLRU
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:674,1
    - Dst: test_RamCache
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:674,1
    - Dst: new_RamCacheCLFUS
      Src: /src/trafficserver/src/iocore/cache/CacheTest.cc:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - t
    - level
    - pstatus
    argTypes:
    - RegressionTest*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheTest.cc
    functionUses: 0
    functionsReached:
    - test_RamCache
    - rprintf
    - new_RamCacheCLFUS
    - IsCacheEnabled
    - new_RamCacheLRU
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(ram_cache)(RegressionTest *t, int level, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: Doc::prefix_len
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDoc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::prefix_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: Doc::data_len
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDoc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::data_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Doc::data_len
      Src: /src/trafficserver/src/iocore/cache/P_CacheDoc.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: Doc::single_fragment
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDoc.h
    functionUses: 0
    functionsReached:
    - Doc::data_len
    linkageType: ''
    returnType: int
    signature: int Doc::single_fragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDoc.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Doc::hdr
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDoc.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::hdr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Doc::hdr
      Src: /src/trafficserver/src/iocore/cache/P_CacheDoc.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Doc::data
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDoc.h
    functionUses: 1
    functionsReached:
    - Doc::hdr
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: CacheHTTPInfoVector::CacheHTTPInfoVector
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::CacheHTTPInfoVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alternate::destroy
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:46,1
    - Dst: CacheHTTPInfoVector::clear
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: CacheHTTPInfoVector::~CacheHTTPInfoVector()
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - alternate::destroy
    - CacheHTTPInfoVector::clear
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::~CacheHTTPInfoVector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:62,1
    - Dst: copy_shallow
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - index
    argTypes:
    - CacheHTTPInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: CacheHTTPInfoVector::insert
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 1
    functionsReached:
    - data
    - copy_shallow
    linkageType: ''
    returnType: int
    signature: int CacheHTTPInfoVector::insert(CacheHTTPInfo *info, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:74,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:75,1
    - Dst: CacheHTTPInfo*::copy_shallow
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:77,1
    - Dst: alternate::destroy
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - idx
    - r
    argTypes:
    - int
    - CacheHTTPInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: CacheHTTPInfoVector::detach
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::copy_shallow
    - alternate::destroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::detach(int idx, CacheHTTPInfo *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alternate::destroy
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - idx
    - destroy
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: CacheHTTPInfoVector::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - alternate::destroy
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::remove(int idx, bool destroy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alternate::destroy
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:114,1
    - Dst: CacheHTTPInfoVector::clear
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:118,1
    - Dst: CacheHTTPInfoVector::clear
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - destroy
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: CacheHTTPInfoVector::clear
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 2
    functionsReached:
    - alternate::destroy
    - CacheHTTPInfoVector::clear
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::clear(bool destroy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alternate::valid
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:136,1
    - Dst: Arena::Arena
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:138,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:142,1
    - Dst: alternate::request_url_get
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:143,1
    - Dst: URL::string_get
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:144,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:146,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:147,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:153,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:154,1
    - Dst: alternate::id_get
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:154,1
    - Dst: CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:154,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:154,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - buffer
    - buf_size
    - temps
    argTypes:
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 161
    functionName: CacheHTTPInfoVector::print
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - alternate::valid
    - URL::URL
    - alternate::request_url_get
    - URL::string_get
    - snprintf
    - alternate::id_get
    - strlen
    - Arena::Arena
    - CacheKey
    - alternate::object_key_get
    linkageType: ''
    returnType: void
    signature: void CacheHTTPInfoVector::print(char *buffer, size_t buf_size, bool
      temps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alternate::marshal_length
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: CacheHTTPInfoVector::marshal_length
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 1
    functionsReached:
    - alternate::marshal_length
    linkageType: ''
    returnType: int
    signature: int CacheHTTPInfoVector::marshal_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:186,1
    - Dst: alternate::marshal
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:189,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:195,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:196,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: CacheHTTPInfoVector::marshal
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - ink_assert
    - alternate::marshal
    linkageType: ''
    returnType: int
    signature: int CacheHTTPInfoVector::marshal(char *buf, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:205,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:211,1
    - Dst: HTTPInfo::unmarshal
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:212,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:212,1
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:216,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:216,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:219,1
    - Dst: const_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:223,1
    - Dst: const_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - length
    - block_ptr
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: CacheHTTPInfoVector::unmarshal
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<HTTPCacheAlt *>
    - const_cast<char *>
    - HTTPInfo::unmarshal
    - data
    - const_cast<caddr_t>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheHTTPInfoVector::unmarshal(const char *buf, int length, RefCountObj
      *block_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:231,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:239,1
    - Dst: CacheHTTPInfo::get_handle
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:240,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:240,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:242,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:243,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:247,1
    - Dst: const_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:251,1
    - Dst: const_cast<caddr_t>
      Src: /src/trafficserver/src/iocore/cache/CacheHttp.cc:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - length
    - block_ptr
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: CacheHTTPInfoVector::get_handles
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheHttp.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - const_cast<char *>
    - CacheHTTPInfo::get_handle
    - static_cast<uint32_t>
    - data
    - const_cast<caddr_t>
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CacheHTTPInfoVector::get_handles(const char *buf, int length,
      RefCountObj *block_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: RamCacheLRU::size
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - data::block_size
    linkageType: ''
    returnType: int64_t
    signature: int64_t RamCacheLRU::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: forl_LL
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 1
    functionsReached:
    - data::block_size
    linkageType: ''
    returnType: void
    signature: void forl_LL(RamCacheLRUEntry, e, lru)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:100,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:100,1
    - Dst: RamCacheLRU::size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:100,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:103,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:104,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:105,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:105,1
    - Dst: static_cast<DList(RamCacheLRUEntry, hash_link) *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:105,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:105,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:106,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:106,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:110,1
    - Dst: RamCacheLRUEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:111,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:111,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:114,1
    - Dst: resize
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:121,1
    - Dst: assign
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: RamCacheLRU::resize_hashtable
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - ats_free
    - ink_release_assert
    - RamCacheLRU::size
    - static_cast<void *>
    - RamCacheLRUEntry*::key::slice32
    - DDbg
    - resize
    - DList
    - push
    - ats_malloc
    - pop
    - static_cast<DList(RamCacheLRUEntry, hash_link) *>
    - assign
    linkageType: ''
    returnType: void
    signature: void RamCacheLRU::resize_hashtable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:131,1
    - Dst: RamCacheLRU::resize_hashtable
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - abytes
    - astripe
    argTypes:
    - int64_t
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: RamCacheLRU::init
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - DDbg
    - RamCacheLRU::resize_hashtable
    linkageType: ''
    returnType: void
    signature: void RamCacheLRU::init(int64_t abytes, StripeSM *astripe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:144,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:148,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:149,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:151,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:151,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:152,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:153,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:159,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:159,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:160,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - key
    - ret_data
    - auxkey
    argTypes:
    - CryptoHash*
    - Ptr<IOBufferData>*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: RamCacheLRU::get
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - DDbg
    - enqueue
    - CryptoHash*::slice32
    - RamCacheLRU::remove
    linkageType: ''
    returnType: int
    signature: int RamCacheLRU::get(CryptoHash *key, Ptr<IOBufferData> *ret_data,
      uint64_t auxkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RamCacheLRUEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:170,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:171,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:172,1
    - Dst: RamCacheLRUEntry*::data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:173,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:174,1
    - Dst: RamCacheLRUEntry*::data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:174,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:175,1
    - Dst: RamCacheLRUEntry*::data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:175,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:177,1
    - Dst: RamCacheLRUEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:177,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:179,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - RamCacheLRUEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: RamCacheLRU::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 2
    functionsReached:
    - RamCacheLRUEntry*::key::slice32
    - RamCacheLRUEntry*::data::block_size
    - ts::Metrics::Gauge::decrement
    - DDbg
    - this_thread
    - THREAD_FREE
    - RamCacheLRU::remove
    linkageType: ''
    returnType: RamCacheLRUEntry
    signature: 'RamCacheLRUEntry *

      RamCacheLRU::remove(RamCacheLRUEntry *e)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:191,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:196,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:199,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:199,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:211,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:212,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:215,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:221,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:221,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:225,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:226,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:227,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:229,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:229,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:230,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:230,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:232,1
    - Dst: RamCacheLRU::remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:234,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:239,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:239,1
    - Dst: RamCacheLRU::resize_hashtable
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - key
    - data
    - len
    - auxkey
    argTypes:
    - CryptoHash*
    - IOBufferData*
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 245
    functionName: RamCacheLRU::put
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - RamCacheLRU::resize_hashtable
    - DDbg
    - enqueue
    - dequeue
    - push
    - this_ethread
    - CryptoHash*::slice32
    - ts::Metrics::Gauge::increment
    - RamCacheLRU::remove
    - IOBufferData*::block_size
    linkageType: ''
    returnType: int
    signature: int RamCacheLRU::put(CryptoHash *key, IOBufferData *data, [[maybe_unused]]
      uint32_t len, bool, uint64_t auxkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - key
    - old_auxkey
    - new_auxkey
    argTypes:
    - CryptoHash*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: RamCacheLRU::fixup
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    linkageType: ''
    returnType: int
    signature: int RamCacheLRU::fixup(const CryptoHash *key, uint64_t old_auxkey,
      uint64_t new_auxkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RamCacheLRU::RamCacheLRU
      Src: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: new_RamCacheLRU
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheLRU.cc
    functionUses: 2
    functionsReached:
    - RamCacheLRU::RamCacheLRU
    linkageType: ''
    returnType: RamCache
    signature: 'RamCache *

      new_RamCacheLRU()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dbg_ctl
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DDbg
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDbg(dbg_ctl, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: CACHE_TRY_LOCK
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: CACHE_TRY_LOCK
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: VC_LOCK_RETRY_EVENT
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VC_LOCK_RETRY_EVENT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: VC_SCHED_LOCK_RETRY
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VC_SCHED_LOCK_RETRY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: CONT_SCHED_LOCK_RETRY_RET
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONT_SCHED_LOCK_RETRY_RET(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: CONT_SCHED_LOCK_RETRY
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONT_SCHED_LOCK_RETRY(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: VC_SCHED_WRITER_RETRY
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VC_SCHED_WRITER_RETRY()
  - 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: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: PUSH_HANDLER
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_HANDLER(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: CacheRemoveCont
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheRemoveCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:152,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: AIO_failure_handler
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void AIO_failure_handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:161,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:165,1
    - Dst: CacheVC*::setThreadAffinity
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:167,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:169,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - cont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: new_CacheVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 7
    functionsReached:
    - THREAD_ALLOC
    - ink_get_hrtime
    - dir_clear
    - CacheVC*::setThreadAffinity
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: CacheVC
    signature: 'CacheVC *

      new_CacheVC(Continuation *cont)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:178,1
    - Dst: CacheVC*::mutex::get
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:179,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:183,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:184,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:186,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:187,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:190,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:190,1
    - Dst: CacheVC*::trigger::cancel
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:192,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:194,1
    - Dst: CacheVC*::is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:194,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:195,1
    - Dst: CacheVC*::io::mutex::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:197,1
    - Dst: CacheVC*::request::reset
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:200,1
    - Dst: CacheVC*::vector::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:201,1
    - Dst: CacheVC*::vio::buffer::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:202,1
    - Dst: CacheVC*::vio::mutex::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:203,1
    - Dst: CacheVC*::alternate::destroy
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:205,1
    - Dst: CacheVC*::alternate::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:207,1
    - Dst: CacheVC*::_action::mutex::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:210,1
    - Dst: CacheVC*::mutex::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:211,1
    - Dst: CacheVC*::buf::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:212,1
    - Dst: CacheVC*::first_buf::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:213,1
    - Dst: CacheVC*::blocks::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:214,1
    - Dst: CacheVC*::writer_buf::clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:215,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:218,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:220,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:220,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 225
    functionName: free_CacheVCCommon
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CacheVC*::request::reset
    - CacheVC*::buf::clear
    - CacheVC*::first_buf::clear
    - this_ethread
    - SET_CONTINUATION_HANDLER
    - CacheVC*::blocks::clear
    - ts::Metrics::Counter::increment
    - ats_free
    - CacheVC*::_action::mutex::clear
    - CacheVC*::vio::buffer::clear
    - CacheVC*::mutex::get
    - CacheVC*::is_io_in_progress
    - Dbg
    - CacheVC*::alternate::clear
    - CacheVC*::vio::mutex::clear
    - CacheVC*::mutex::clear
    - CacheVC*::trigger::cancel
    - ink_assert
    - CacheVC*::writer_buf::clear
    - memset
    - ts::Metrics::Gauge::decrement
    - CacheVC*::io::mutex::clear
    - CacheVC*::alternate::destroy
    - reinterpret_cast<char *>
    - CacheVC*::vector::clear
    linkageType: ''
    returnType: int
    signature: int free_CacheVCCommon(CacheVC *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_CacheVCCommon
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:230,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:231,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: free_CacheVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 8
    functionsReached:
    - THREAD_FREE
    - this_thread
    - free_CacheVCCommon
    linkageType: ''
    returnType: int
    signature: int free_CacheVC(CacheVC *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_CacheVCCommon
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:238,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:239,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheEvacuateDocVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: free_CacheEvacuateDocVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    - free_CacheVCCommon
    linkageType: ''
    returnType: int
    signature: int free_CacheEvacuateDocVC(CacheEvacuateDocVC *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:247,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:247,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:248,1
    - Dst: CacheVC::die
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: CacheVC::calluser
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 4
    functionsReached:
    - cont::handleEvent
    - CacheVC::die
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int CacheVC::calluser(int event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:261,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:261,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:262,1
    - Dst: CacheVC::die
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:265,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: CacheVC::callcont
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 3
    functionsReached:
    - handleEvent
    - CacheVC::die
    - ink_assert
    - this_ethread
    - continuation::handleEvent
    linkageType: ''
    returnType: int
    signature: int CacheVC::callcont(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:277,1
    - Dst: PUSH_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:278,1
    - Dst: CacheVC::handleRead
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - akey
    argTypes:
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: CacheVC::do_read_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 4
    functionsReached:
    - PUSH_HANDLER
    - dir_approx_size
    - CacheVC::handleRead
    linkageType: ''
    returnType: int
    signature: int CacheVC::do_read_call(CacheKey *akey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:285,1
    - Dst: CacheVC::handleWrite
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: CacheVC::do_write_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached:
    - CacheVC::handleWrite
    - PUSH_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::do_write_call()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_action
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: CacheVC::cancel_trigger
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 8
    functionsReached:
    - cancel_action
    linkageType: ''
    returnType: void
    signature: void CacheVC::cancel_trigger()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: object_key_set
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:303,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:305,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:306,1
    - Dst: CacheVC::openWriteClose
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:308,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:313,1
    - Dst: reinterpret_cast<ContinuationHandler>
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:314,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:316,1
    - Dst: CacheVC::openReadClose
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: CacheVC::die
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 2
    functionsReached:
    - object_key_set
    - CacheVC::openReadClose
    - CacheVC::openWriteClose
    - is_io_in_progress
    - SET_HANDLER
    - reinterpret_cast<ContinuationHandler>
    linkageType: ''
    returnType: int
    signature: int CacheVC::die()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:328,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:331,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:332,1
    - Dst: set_agg_write_in_progress
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:333,1
    - Dst: thread_holding::schedule_in_local
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:334,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:334,1
    - Dst: CacheVC::handleWrite
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:337,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 343
    functionName: CacheVC::handleWriteLock
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - CacheVC::handleWrite
    - is_locked
    - handleEvent
    - set_agg_write_in_progress
    - HRTIME_MSECONDS
    - thread_holding::schedule_in_local
    - CacheVC::cancel_trigger
    linkageType: ''
    returnType: int
    signature: int CacheVC::handleWriteLock(int /* event ATS_UNUSED */, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:348,1
    - Dst: CacheVC::handleWriteLock
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: CacheVC::do_write_lock
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CacheVC::handleWriteLock
    - PUSH_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::do_write_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:355,1
    - Dst: CacheVC::handleWriteLock
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: CacheVC::do_write_lock_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CacheVC::handleWriteLock
    - PUSH_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::do_write_lock_call()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: CacheVC::writer_done
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 3
    functionsReached:
    - open_read
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::writer_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:382,1
    - Dst: EThread*::generator::random
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:383,1
    - Dst: EThread*::generator::random
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - next_key
    argTypes:
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: rand_CacheKey
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 3
    functionsReached:
    - EThread*::generator::random
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void rand_CacheKey(CacheKey *next_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - next
    - key
    argTypes:
    - CacheKey*
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: next_CacheKey
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void next_CacheKey(CacheKey *next, const CacheKey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prev
    - key
    argTypes:
    - CacheKey*
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: prev_CacheKey
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prev_CacheKey(CacheKey *prev, const CacheKey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: next_rand
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int next_rand(unsigned int *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:419,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:421,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: new_CacheRemoveCont
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached:
    - SET_CONTINUATION_HANDLER
    - alloc
    - new_ProxyMutex
    linkageType: ''
    returnType: CacheRemoveCont
    signature: 'CacheRemoveCont *

      new_CacheRemoveCont()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache_rm
    argTypes:
    - CacheRemoveCont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: free_CacheRemoveCont
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_CacheRemoveCont(CacheRemoveCont *cache_rm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_CacheRemoveCont
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: CacheRemoveCont::event_handler
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - free_CacheRemoveCont
    linkageType: ''
    returnType: int
    signature: int CacheRemoveCont::event_handler(int /* event ATS_UNUSED */, void
      * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: Cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheURL*::hash_get
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - url
    argTypes:
    - CryptoHash*
    - CacheURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: Cache::generate_key
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CacheURL*::hash_get
    linkageType: ''
    returnType: void
    signature: void Cache::generate_key(CryptoHash *hash, CacheURL *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheURL*::host_get
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:500,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:501,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:502,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:502,1
    - Dst: CacheURL*::hash_get
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - url
    - ignore_query
    - generation
    argTypes:
    - HttpCacheKey*
    - CacheURL*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: Cache::generate_key
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CacheURL*::host_get
    - auto::length
    - CacheURL*::hash_get
    - auto::data
    linkageType: ''
    returnType: void
    signature: void Cache::generate_key(HttpCacheKey *key, CacheURL *url, bool ignore_query,
      cache_generation_t generation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheURL*::hash_get92
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - url
    argTypes:
    - CryptoHash*
    - CacheURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: Cache::generate_key92
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - CacheURL*::hash_get92
    linkageType: ''
    returnType: void
    signature: void Cache::generate_key92(CryptoHash *hash, CacheURL *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheURL*::host_get
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:515,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:516,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:517,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:517,1
    - Dst: CacheURL*::hash_get92
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - url
    - ignore_query
    - generation
    argTypes:
    - HttpCacheKey*
    - CacheURL*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: Cache::generate_key92
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CacheURL*::host_get
    - auto::length
    - CacheURL*::hash_get92
    - auto::data
    linkageType: ''
    returnType: void
    signature: void Cache::generate_key92(HttpCacheKey *key, CacheURL *url, bool ignore_query,
      cache_generation_t generation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:524,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/P_CacheInternal.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: cache_hash
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheInternal.h
    functionUses: 1
    functionsReached:
    - CryptoHash::fold
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cache_hash(const CryptoHash &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:49,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:51,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:52,1
    - Dst: static_cast<DLL<EvacuationBlock> *>
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:54,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:54,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:55,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: PreservationTable::PreservationTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - static_cast<void *>
    - max
    - ats_malloc
    - static_cast<DLL<EvacuationBlock> *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PreservationTable::PreservationTable(off_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: PreservationTable::~PreservationTable()
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void PreservationTable::~PreservationTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - PreservationTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: PreservationTable::PreservationTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreservationTable::PreservationTable(PreservationTable &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - that
    argTypes:
    - PreservationTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: '&

      PreservationTable::operator=(PreservationTable &&that)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreservationTable
    signature: 'PreservationTable &

      PreservationTable::operator=(PreservationTable &&that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:85,1
    - Dst: PreservationTable::evac_bucket_valid
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:86,1
    - Dst: PreservationTable::find
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Dir
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: PreservationTable::find
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 1
    functionsReached:
    - PreservationTable::evac_bucket_valid
    - dir_evac_bucket
    - PreservationTable::find
    linkageType: ''
    returnType: EvacuationBlock
    signature: 'EvacuationBlock *

      PreservationTable::find(Dir const &dir) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:96,1
    - Dst: PreservationTable::evac_bucket_valid
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:97,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:98,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:99,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:99,1
    - Dst: PreservationTable::find
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:104,1
    - Dst: new_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:112,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:114,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:114,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:114,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:115,1
    - Dst: EvacuationBlock*::evac_frags::key::clear
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - evac_dir
    - pinned
    argTypes:
    - Dir*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: PreservationTable::force_evacuate_head
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - DDbg
    - dir_phase
    - dir_evac_bucket
    - dir_offset
    - new_EvacuationBlock
    - push
    - EvacuationBlock*::evac_frags::key::clear
    - PreservationTable::evac_bucket_valid
    - PreservationTable::find
    linkageType: ''
    returnType: void
    signature: void PreservationTable::force_evacuate_head(Dir const *evac_dir, int
      pinned)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:126,1
    - Dst: PreservationTable::find
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:127,1
    - Dst: new_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:135,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dir
    - key
    argTypes:
    - Dir
    - CacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: PreservationTable::acquire
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - push
    - dir_evac_bucket
    - PreservationTable::find
    - new_EvacuationBlock
    linkageType: ''
    returnType: int
    signature: int PreservationTable::acquire(Dir const &dir, CacheKey const &key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:146,1
    - Dst: PreservationTable::find
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:147,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:149,1
    - Dst: free_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Dir
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: PreservationTable::release
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - free_EvacuationBlock
    - dir_evac_bucket
    - remove
    - PreservationTable::find
    linkageType: ''
    returnType: void
    signature: void PreservationTable::release(Dir const &dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PreservationTable::cleanup
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:158,1
    - Dst: PreservationTable::scan_for_pinned_documents
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: PreservationTable::periodic_scan
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 0
    functionsReached:
    - PreservationTable::cleanup
    - PreservationTable::scan_for_pinned_documents
    linkageType: ''
    returnType: void
    signature: void PreservationTable::periodic_scan(Stripe *stripe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Stripe*::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:172,1
    - Dst: Stripe*::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:174,1
    - Dst: Stripe*::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:175,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:177,1
    - Dst: Stripe*::directory::entries
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:178,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:180,1
    - Dst: dir_pinned
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:180,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:181,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:183,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:184,1
    - Dst: PreservationTable::force_evacuate_head
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 197
    functionName: PreservationTable::scan_for_pinned_documents
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 1
    functionsReached:
    - dir_is_empty
    - PreservationTable::force_evacuate_head
    - Stripe*::directory::entries
    - dir_head
    - DDbg
    - dir_phase
    - Stripe*::offset_to_vol_offset
    - dir_offset
    - dir_pinned
    linkageType: ''
    returnType: void
    signature: void PreservationTable::scan_for_pinned_documents(Stripe const *stripe)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:203,1
    - Dst: PreservationTable::remove_finished_blocks
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:215,1
    - Dst: PreservationTable::remove_finished_blocks
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: PreservationTable::cleanup
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 1
    functionsReached:
    - PreservationTable::remove_finished_blocks
    - dir_offset_evac_bucket
    linkageType: ''
    returnType: void
    signature: void PreservationTable::cleanup(Stripe const *stripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PreservationTable::evac_bucket_valid
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:233,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:235,1
    - Dst: Stripe*::vol_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:236,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:237,1
    - Dst: Stripe*::vol_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:238,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:240,1
    - Dst: EvacuationBlock*::evac_frags::key::slice32
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:240,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:240,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:242,1
    - Dst: free_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - stripe
    - bucket
    argTypes:
    - Stripe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: PreservationTable::remove_finished_blocks
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 1
    functionsReached:
    - EvacuationBlock*::evac_frags::key::slice32
    - DDbg
    - Stripe*::vol_offset
    - dir_phase
    - dir_offset
    - remove
    - free_EvacuationBlock
    - PreservationTable::evac_bucket_valid
    linkageType: ''
    returnType: void
    signature: void PreservationTable::remove_finished_blocks(Stripe const *stripe,
      int bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:254,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/PreservationTable.cc:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - bucket
    argTypes:
    - Dir
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: PreservationTable::find
    functionSourceFile: /src/trafficserver/src/iocore/cache/PreservationTable.cc
    functionUses: 4
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: EvacuationBlock
    signature: 'EvacuationBlock *

      PreservationTable::find(Dir const &dir, int bucket) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: is_ram_cache_hit
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool is_ram_cache_hit() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:68,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:68,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: get_header
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached:
    - data
    - reinterpret_cast<Doc *>
    - Doc*::hdr
    linkageType: ''
    returnType: int
    signature: int get_header(void **ptr, int *len) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: set_header
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_header(void *ptr, int len) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:89,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:89,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:90,1
    - Dst: Doc*::data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:91,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: get_single_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 0
    functionsReached:
    - data
    - reinterpret_cast<Doc *>
    - Doc*::data_len
    - Doc*::data
    linkageType: ''
    returnType: int
    signature: int get_single_data(void **ptr, int *len) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: get_volume_number
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_volume_number() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: get_disk_path
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_disk_path() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: is_compressed_in_ram
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool is_compressed_in_ram() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: is_io_in_progress
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_io_in_progress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: set_io_not_in_progress
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_io_not_in_progress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: set_agg_write_in_progress
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_agg_write_in_progress()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - astatus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: RegressionSM::set_status
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void RegressionSM::set_status(int astatus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:50,1
    - Dst: RegressionSM::set_status
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:53,1
    - Dst: RegressionSM::child_done
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - astatus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: RegressionSM::done
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM::set_status
    - RegressionSM::child_done
    - cancel
    linkageType: ''
    returnType: void
    signature: void RegressionSM::done(int astatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::run
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - apstatus
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: RegressionSM::run
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 1
    functionsReached:
    - RegressionSM::run
    linkageType: ''
    returnType: void
    signature: void RegressionSM::run(int *apstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::run
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aparent
    argTypes:
    - RegressionSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: RegressionSM::xrun
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM::run
    linkageType: ''
    returnType: void
    signature: void RegressionSM::xrun(RegressionSM *aparent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:81,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - apstatus
    - t
    argTypes:
    - int*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: RegressionSM::run_in
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - schedule_in
    linkageType: ''
    returnType: void
    signature: void RegressionSM::run_in(int *apstatus, ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:88,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:88,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:89,1
    - Dst: RegressionSM::set_status
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - astatus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: RegressionSM::child_done
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 1
    functionsReached:
    - RegressionSM::set_status
    - SCOPED_MUTEX_LOCK
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void RegressionSM::child_done(int astatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::done
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:98,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:103,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:103,1
    - Dst: RegressionSM::run
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: RegressionSM::regression_sm_waiting
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM::done
    - RegressionSM::run
    - static_cast<Event *>
    - schedule_in
    linkageType: ''
    returnType: int
    signature: int RegressionSM::regression_sm_waiting(int /* event ATS_UNUSED */,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::run
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: RegressionSM::regression_sm_start
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM::run
    linkageType: ''
    returnType: int
    signature: int RegressionSM::regression_sm_start(int /* event ATS_UNUSED */, void
      * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::RegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:120,1
    - Dst: va_start
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:122,1
    - Dst: RegressionSM*::children::push_back
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:128,1
    - Dst: va_arg
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:129,1
    - Dst: RegressionSM*::children::size
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:131,1
    - Dst: va_end
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - t
    - sm
    argTypes:
    - RegressionTest*
    - RegressionSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: r_sequential
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - RegressionSM::RegressionSM
    - RegressionSM*::children::size
    - RegressionSM*::children::push_back
    linkageType: ''
    returnType: RegressionSM
    signature: 'RegressionSM *

      r_sequential(RegressionTest *t, RegressionSM *sm, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::RegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:139,1
    - Dst: RegressionSM*::children::push_back
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - t
    - an
    - sm
    argTypes:
    - RegressionTest*
    - int
    - RegressionSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: r_sequential
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM*::children::push_back
    - RegressionSM::RegressionSM
    linkageType: ''
    returnType: RegressionSM
    signature: 'RegressionSM *

      r_sequential(RegressionTest *t, int an, RegressionSM *sm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::RegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:152,1
    - Dst: va_start
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:154,1
    - Dst: RegressionSM*::children::push_back
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:160,1
    - Dst: va_arg
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:161,1
    - Dst: RegressionSM*::children::size
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:163,1
    - Dst: va_end
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - t
    - sm
    argTypes:
    - RegressionTest*
    - RegressionSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: r_parallel
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - RegressionSM::RegressionSM
    - RegressionSM*::children::size
    - RegressionSM*::children::push_back
    linkageType: ''
    returnType: RegressionSM
    signature: 'RegressionSM *

      r_parallel(RegressionTest *t, RegressionSM *sm, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::RegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:171,1
    - Dst: RegressionSM*::children::push_back
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - t
    - an
    - sm
    argTypes:
    - RegressionTest*
    - int
    - RegressionSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: r_parallel
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - RegressionSM*::children::push_back
    - RegressionSM::RegressionSM
    linkageType: ''
    returnType: RegressionSM
    signature: 'RegressionSM *

      r_parallel(RegressionTest *t, int an, RegressionSM *sm)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:186,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:186,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:187,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:196,1
    - Dst: clone
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:196,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:198,1
    - Dst: RegressionSM*::xrun
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:204,1
    - Dst: RegressionSM::done
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:213,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:218,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 220
    functionName: RegressionSM::run
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 4
    functionsReached:
    - is_locked
    - static_cast<intptr_t>
    - schedule_in
    - MUTEX_TRY_LOCK
    - RegressionSM*::xrun
    - this_ethread
    - RegressionSM::done
    - SET_HANDLER
    - clone
    linkageType: ''
    returnType: void
    signature: void RegressionSM::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<RegressionSM *>
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:224,1
    - Dst: push_back
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:233,1
    - Dst: clone
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:233,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:242,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:243,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:244,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ao
    argTypes:
    - RegressionSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: RegressionSM::RegressionSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 4
    functionsReached:
    - const_cast<RegressionSM *>
    - new_ProxyMutex
    - push_back
    - clone
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void RegressionSM::RegressionSM(const RegressionSM &ao)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:253,1
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:254,1
    - Dst: done
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:255,1
    - Dst: done
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: run
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 13
    functionsReached:
    - time
    - rprintf
    - done
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - at
    argTypes:
    - RegressionTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: ReRegressionSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReRegressionSM(RegressionTest *at)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: clone
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 12
    functionsReached:
    - ReRegressionSM::ReRegressionSM
    linkageType: ''
    returnType: RegressionSM
    signature: "RegressionSM *\n  clone() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - ReRegressionSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: ReRegressionSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReRegressionSM(const ReRegressionSM &o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_sequential
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:271,1
    - Dst: r_parallel
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:272,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:272,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:272,1
    - Dst: r_sequential
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:273,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:273,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:273,1
    - Dst: r_parallel
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:273,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:273,1
    - Dst: r_sequential
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:274,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:274,1
    - Dst: r_parallel
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:275,1
    - Dst: r_sequential
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:275,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:275,1
    - Dst: r_parallel
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:275,1
    - Dst: ReRegressionSM::ReRegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:275,1
    - Dst: RegressionSM*::run
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.cc
    functionUses: 0
    functionsReached:
    - ReRegressionSM::ReRegressionSM
    - r_parallel
    - RegressionSM*::run
    - r_sequential
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(RegressionSM)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:53,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:53,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:54,1
    - Dst: CacheEvacuateDocVC::buf::data
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:54,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:55,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:55,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:56,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:56,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:56,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:56,1
    - Dst: CacheEvacuateDocVC::stripe::get_preserved_dirs
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:58,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:67,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:73,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:75,1
    - Dst: EvacuationKey*::earliest_key::fold
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:77,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:78,1
    - Dst: EvacuationKey*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:78,1
    - Dst: EvacuationKey*::earliest_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:78,1
    - Dst: dir_lookaside_probe
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:81,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:84,1
    - Dst: dir_lookaside_fixup
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:86,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:87,1
    - Dst: CacheEvacuateDocVC::stripe::directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:91,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:98,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:99,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:99,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:99,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:100,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:102,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:104,1
    - Dst: Doc*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:104,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:104,1
    - Dst: CacheEvacuateDocVC::stripe::open_read
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:105,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:107,1
    - Dst: Doc*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:107,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:108,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:108,1
    - Dst: CacheEvacuateDocVC::stripe::directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:111,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:112,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:112,1
    - Dst: CacheEvacuateDocVC::stripe::ram_cache::fixup
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:113,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:113,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:116,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:116,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:116,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:117,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:117,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:118,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:119,1
    - Dst: CacheEvacuateDocVC::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:122,1
    - Dst: dir_lookaside_insert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:123,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:125,1
    - Dst: do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:126,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:128,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 136
    functionName: CacheEvacuateDocVC::evacuateDocDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc
    functionUses: 0
    functionsReached:
    - dir_compare_tag
    - dir_offset
    - this_ethread
    - dir_lookaside_probe
    - SET_HANDLER
    - CacheEvacuateDocVC::stripe::directory::overwrite
    - handleEvent
    - Doc*::data_len
    - Doc*::key::slice32
    - EvacuationKey*::earliest_key::slice32
    - dir_phase
    - reinterpret_cast<Doc *>
    - Doc*::first_key::slice32
    - DDbg
    - do_read_call
    - CacheEvacuateDocVC::buf::data
    - dir_lookaside_insert
    - static_cast<uint64_t>
    - dir_lookaside_fixup
    - ink_assert
    - dir_head
    - CacheEvacuateDocVC::stripe::get_preserved_dirs
    - CacheEvacuateDocVC::stripe::ram_cache::fixup
    - EvacuationKey*::key::slice32
    - CacheEvacuateDocVC::stripe::open_read
    - slice32
    - CacheEvacuateDocVC::stripe::directory::probe
    - EvacuationKey*::earliest_key::fold
    - free_CacheEvacuateDocVC
    linkageType: ''
    returnType: int
    signature: int CacheEvacuateDocVC::evacuateDocDone(int /* event ATS_UNUSED */,
      Event * /* e ATS_UNUSED */)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:142,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:142,1
    - Dst: cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:143,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:144,1
    - Dst: CacheEvacuateDocVC::buf::data
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:144,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:146,1
    - Dst: CacheEvacuateDocVC::stripe::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:150,1
    - Dst: CacheEvacuateDocVC::load_http_info
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:160,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:161,1
    - Dst: get_alternate_index
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:164,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:168,1
    - Dst: CacheHTTPInfo*::object_size_get
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:170,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:170,1
    - Dst: CacheEvacuateDocVC::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:171,1
    - Dst: CacheKey::CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:174,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:175,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:180,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:180,1
    - Dst: CacheEvacuateDocVC::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:181,1
    - Dst: dir_lookaside_fixup
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:186,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:187,1
    - Dst: CacheEvacuateDocVC::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:191,1
    - Dst: do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:192,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:194,1
    - Dst: dir_lookaside_remove
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:199,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc:200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 201
    functionName: CacheEvacuateDocVC::evacuateReadHead
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.cc
    functionUses: 0
    functionsReached:
    - get_alternate_index
    - CacheEvacuateDocVC::first_key::slice32
    - this_ethread
    - CacheEvacuateDocVC::stripe::dir_valid
    - get
    - handleEvent
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - DDbg
    - do_read_call
    - CacheEvacuateDocVC::buf::data
    - Dbg
    - CacheHTTPInfo*::object_size_get
    - dir_lookaside_remove
    - Note
    - dir_lookaside_fixup
    - ink_assert
    - CacheEvacuateDocVC::load_http_info
    - cancel_trigger
    - ok
    - slice32
    - CacheEvacuateDocVC::stripe::directory::probe
    - free_CacheEvacuateDocVC
    - CacheKey::CacheKey
    linkageType: ''
    returnType: int
    signature: int CacheEvacuateDocVC::evacuateReadHead(int /* event ATS_UNUSED */,
      Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:49,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: PinnedDocTable
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 0
    functionsReached:
    - ink_zero
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void PinnedDocTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CacheTestHost
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheTestHost()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CacheTestHeader
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheTestHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:100,1
    - Dst: make_request_internal
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: make_request
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - make_request_internal
    linkageType: ''
    returnType: void
    signature: void make_request()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: cancel_timeout
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 1
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void cancel_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rprintf
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:120,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:121,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:121,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/P_CacheTest.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: run
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 14
    functionsReached:
    - schedule_imm
    - rprintf
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _t
    - ','
    - _sm
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: CACHE_SM
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheTest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_SM(_t, _sm, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: REQUEUE_HITS
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUEUE_HITS(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _h
    - ','
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CACHE_VALUE_HITS_SIZE
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_VALUE_HITS_SIZE(_h, _s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CACHE_VALUE
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_VALUE(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: RamCacheCLFUS::RamCacheCLFUS
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forl_LL
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:131,1
    - Dst: data::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: RamCacheCLFUS::size
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - forl_LL
    - data::block_size
    linkageType: ''
    returnType: int64_t
    signature: int64_t RamCacheCLFUS::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arc
    argTypes:
    - RamCacheCLFUS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: RamCacheCLFUSCompressor::RamCacheCLFUSCompressor
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUSCompressor(RamCacheCLFUS *arc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:157,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:162,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:166,1
    - Dst: compress_entries
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 174
    functionName: RamCacheCLFUSCompressor::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - compress_entries
    - Warning
    linkageType: ''
    returnType: int
    signature: int RamCacheCLFUSCompressor::mainEvent(int /* event ATS_UNUSED */,
      Event *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:186,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:187,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:188,1
    - Dst: DList
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:188,1
    - Dst: static_cast<DList(RamCacheCLFUSEntry, hash_link) *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:188,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:188,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:189,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:189,1
    - Dst: pop
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:193,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:194,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:194,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:197,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:201,1
    - Dst: static_cast<uint16_t *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:204,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:204,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: RamCacheCLFUS::_resize_hashtable
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - memset
    - ats_free
    - static_cast<void *>
    - DDbg
    - DList
    - push
    - ats_malloc
    - pop
    - RamCacheCLFUSEntry*::key::slice32
    - static_cast<uint16_t *>
    - static_cast<DList(RamCacheCLFUSEntry, hash_link) *>
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::_resize_hashtable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:212,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:215,1
    - Dst: RamCacheCLFUS::_resize_hashtable
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:219,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:221,1
    - Dst: RamCacheCLFUSCompressor::RamCacheCLFUSCompressor
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - abytes
    - astripe
    argTypes:
    - int64_t
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: RamCacheCLFUS::init
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - RamCacheCLFUSCompressor::RamCacheCLFUSCompressor
    - DDbg
    - schedule_every
    - RamCacheCLFUS::_resize_hashtable
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::init(int64_t abytes, StripeSM *astripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:242,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - RamCacheCLFUS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: check_accounting
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void check_accounting(RamCacheCLFUS *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:255,1
    - Dst: RamCacheCLFUS::_move_compressed
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:260,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:262,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:263,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:264,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:269,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:269,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:274,1
    - Dst: fastlz_decompress
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:275,1
    - Dst: RamCacheCLFUSEntry*::data::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:275,1
    - Dst: uncompress
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:284,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:284,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:284,1
    - Dst: RamCacheCLFUSEntry*::data::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:284,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:292,1
    - Dst: lzma_stream_buffer_decode
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:294,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:294,1
    - Dst: RamCacheCLFUSEntry*::data::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:294,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:295,1
    - Dst: new_xmalloc_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:303,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:306,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:306,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:308,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:309,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:311,1
    - Dst: RamCacheCLFUSEntry*::data::get
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:317,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:319,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:319,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:320,1
    - Dst: IOBufferData*::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:320,1
    - Dst: RamCacheCLFUSEntry*::data::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:320,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:324,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:325,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:326,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:326,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:329,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:330,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:331,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:331,1
    - Dst: assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:335,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:338,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:338,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:340,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:341,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:345,1
    - Dst: RamCacheCLFUS::_destroy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:346,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:347,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:347,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 3
    argNames:
    - key
    - ret_data
    - auxkey
    argTypes:
    - CryptoHash*
    - Ptr<IOBufferData>*
    - uint64_t
    assertStmts:
    - condition: (e != e->hash_link.next)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    constantsTouched: []
    func_position:
      end: 349
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 349
    functionName: RamCacheCLFUS::get
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - check_accounting
    - enqueue
    - RamCacheCLFUS::_move_compressed
    - RamCacheCLFUS::_destroy
    - CryptoHash*::slice32
    - reinterpret_cast<Bytef *>
    - ts::Metrics::Counter::increment
    - ats_free
    - remove
    - static_cast<char *>
    - uncompress
    - RamCacheCLFUSEntry*::data::get
    - iobuffer_size_to_index
    - assert
    - static_cast<int>
    - DDbg
    - reinterpret_cast<uint8_t *>
    - lzma_stream_buffer_decode
    - static_cast<size_t>
    - static_cast<int64_t>
    - fastlz_decompress
    - new_xmalloc_IOBufferData
    - IOBufferData*::data
    - IOBufferReader::memcpy
    - CACHE_VALUE
    - ats_malloc
    - RamCacheCLFUSEntry*::data::data
    - ts::Metrics::Gauge::increment
    - new_IOBufferData
    linkageType: ''
    returnType: int
    signature: int RamCacheCLFUS::get(CryptoHash *key, Ptr<IOBufferData> *ret_data,
      uint64_t auxkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:354,1
    - Dst: REQUEUE_HITS
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:360,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:361,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:368,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:375,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:376,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:377,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:377,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:378,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 379
    functionName: RamCacheCLFUS::_tick
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - DDbg
    - remove
    - enqueue
    - dequeue
    - this_thread
    - THREAD_FREE
    - RamCacheCLFUSEntry*::key::slice32
    - REQUEUE_HITS
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::_tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:385,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:385,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - RamCacheCLFUSEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: RamCacheCLFUS::_victimize
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - DDbg
    - RamCacheCLFUSEntry*::key::slice32
    - enqueue
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::_victimize(RamCacheCLFUSEntry *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - RamCacheCLFUSEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: RamCacheCLFUS::_move_compressed
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::_move_compressed(RamCacheCLFUSEntry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RamCacheCLFUS::_move_compressed
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:409,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:410,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:414,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:415,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:420,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:421,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:422,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:422,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:423,1
    - Dst: this_thread
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - RamCacheCLFUSEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 425
    functionName: RamCacheCLFUS::_destroy
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - DDbg
    - remove
    - RamCacheCLFUS::_move_compressed
    - this_thread
    - THREAD_FREE
    - RamCacheCLFUSEntry*::key::slice32
    linkageType: ''
    returnType: RamCacheCLFUSEntry
    signature: 'RamCacheCLFUSEntry *

      RamCacheCLFUS::_destroy(RamCacheCLFUSEntry *e)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:433,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:434,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:459,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:459,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:462,1
    - Dst: compressBound
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:462,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:474,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:475,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:475,1
    - Dst: fastlz_compress
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:484,1
    - Dst: Ptr::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:484,1
    - Dst: compress
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:490,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:490,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:490,1
    - Dst: Ptr::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:490,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:493,1
    - Dst: lzma_easy_buffer_encode
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:499,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:500,1
    - Dst: Ptr::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:500,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:500,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:504,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:509,1
    - Dst: CryptoHash::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:515,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:525,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:537,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:537,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:538,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:539,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:541,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:541,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:543,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:544,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:547,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:549,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:549,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:550,1
    - Dst: RamCacheCLFUSEntry*::data::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:550,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:551,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:551,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:553,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:554,1
    - Dst: new_xmalloc_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:558,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:560,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:564,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:567,1
    - Dst: RamCacheCLFUSEntry*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:567,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:575,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 132
    argCount: 2
    argNames:
    - thread
    - do_at_most
    argTypes:
    - EThread*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 577
    functionName: RamCacheCLFUS::compress_entries
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - check_accounting
    - static_cast<double>
    - reinterpret_cast<Bytef *>
    - ats_free
    - lzma_easy_buffer_encode
    - static_cast<char *>
    - Ptr::data
    - RamCacheCLFUSEntry*::key::slice32
    - MUTEX_UNTAKE_LOCK
    - static_cast<int>
    - DDbg
    - compress
    - reinterpret_cast<uint8_t *>
    - static_cast<uint32_t>
    - compressBound
    - ink_assert
    - static_cast<int64_t>
    - MUTEX_TAKE_LOCK
    - fastlz_compress
    - new_xmalloc_IOBufferData
    - ats_malloc
    - CryptoHash::slice32
    - RamCacheCLFUSEntry*::data::data
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void RamCacheCLFUS::compress_entries(EThread *thread, int do_at_most)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:598,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:600,1
    - Dst: RamCacheCLFUS::_destroy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:607,1
    - Dst: RamCacheCLFUS::_move_compressed
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:616,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:617,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:618,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:619,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:619,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:621,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:622,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:627,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:627,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:628,1
    - Dst: IOBufferData*::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:628,1
    - Dst: new_xmalloc_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:629,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:633,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:636,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:636,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:639,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:640,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:641,1
    - Dst: Que
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:646,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:655,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:656,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:660,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:660,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:665,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:671,1
    - Dst: RamCacheCLFUS::_requeue_victims
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:673,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:674,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:674,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:677,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:678,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:679,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:683,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:684,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:685,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:691,1
    - Dst: RamCacheCLFUS::_tick
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:692,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:696,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:696,1
    - Dst: CACHE_VALUE
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:697,1
    - Dst: RamCacheCLFUS::_requeue_victims
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:698,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:699,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:700,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:700,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:709,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:712,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:713,1
    - Dst: REQUEUE_HITS
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:714,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:715,1
    - Dst: RamCacheCLFUS::_victimize
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:717,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:723,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:723,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:727,1
    - Dst: RamCacheCLFUS::_resize_hashtable
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:730,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:733,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:738,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:738,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:739,1
    - Dst: IOBufferData*::data
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:739,1
    - Dst: new_xmalloc_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:740,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:745,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:746,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:749,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:751,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:752,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:752,1
    - Dst: RamCacheCLFUS::_requeue_victims
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:755,1
    - Dst: check_accounting
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:756,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:757,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:757,1
    - Dst: IOBufferData*::block_size
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:761,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:763,1
    - Dst: enqueue
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:765,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:767,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:767,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 169
    argCount: 5
    argNames:
    - key
    - data
    - len
    - copy
    - auxkey
    argTypes:
    - CryptoHash*
    - IOBufferData*
    - uint32_t
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 769
    functionName: RamCacheCLFUS::put
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - RamCacheCLFUS::_requeue_victims
    - check_accounting
    - enqueue
    - RamCacheCLFUS::_move_compressed
    - RamCacheCLFUS::_destroy
    - CryptoHash*::slice32
    - this_ethread
    - REQUEUE_HITS
    - THREAD_ALLOC
    - remove
    - static_cast<char *>
    - RamCacheCLFUS::_victimize
    - IOBufferData*::block_size
    - DDbg
    - RamCacheCLFUS::_resize_hashtable
    - static_cast<int64_t>
    - ts::Metrics::Gauge::decrement
    - IOBufferData*::data
    - new_xmalloc_IOBufferData
    - RamCacheCLFUS::_tick
    - dequeue
    - push
    - CACHE_VALUE
    - ats_malloc
    - Que
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: int
    signature: int RamCacheCLFUS::put(CryptoHash *key, IOBufferData *data, uint32_t
      len, bool copy, uint64_t auxkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - key
    - old_auxkey
    - new_auxkey
    argTypes:
    - CryptoHash*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: RamCacheCLFUS::fixup
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    linkageType: ''
    returnType: int
    signature: int RamCacheCLFUS::fixup(const CryptoHash *key, uint64_t old_auxkey,
      uint64_t new_auxkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RamCacheCLFUS::RamCacheCLFUS
      Src: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: new_RamCacheCLFUS
    functionSourceFile: /src/trafficserver/src/iocore/cache/RamCacheCLFUS.cc
    functionUses: 2
    functionsReached:
    - RamCacheCLFUS::RamCacheCLFUS
    linkageType: ''
    returnType: RamCache
    signature: 'RamCache *

      new_RamCacheCLFUS()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: OpenDir::OpenDir
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void OpenDir::OpenDir()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:80,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:80,1
    - Dst: CacheVC*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:81,1
    - Dst: OpenDirEntry*::writers::push
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:88,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:96,1
    - Dst: OpenDirEntry*::writers::push
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:98,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:106,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - cont
    - allow_if_writers
    - max_writers
    argTypes:
    - CacheVC*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 111
    functionName: OpenDir::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - dir_clear
    - OpenDirEntry*::writers::push
    - CacheVC*::first_key::slice32
    - push
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int OpenDir::open_write(CacheVC *cont, int allow_if_writers, int max_writers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:116,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:119,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:120,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:121,1
    - Dst: CacheVC*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:123,1
    - Dst: Queue::push
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:126,1
    - Dst: EThread*::schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:134,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: OpenDir::signal_readers
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - EThread*::schedule_in
    - is_locked
    - Queue::push
    - HRTIME_MSECONDS
    - dequeue
    - Queue::Queue
    - CacheVC*::handleEvent
    linkageType: ''
    returnType: int
    signature: int OpenDir::signal_readers(int /* event ATS_UNUSED */, Event * /*
      e ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:142,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:142,1
    - Dst: CacheVC*::od::writers::remove
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:143,1
    - Dst: CacheVC*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:146,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:148,1
    - Dst: append
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:149,1
    - Dst: OpenDir::signal_readers
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:150,1
    - Dst: CacheVC*::od::vector::clear
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:151,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: OpenDir::close_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - CacheVC*::od::writers::remove
    - CacheVC*::od::vector::clear
    - CacheVC*::first_key::slice32
    - remove
    - OpenDir::signal_readers
    - append
    - this_ethread
    - THREAD_FREE
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int OpenDir::close_write(CacheVC *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: OpenDir::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    linkageType: ''
    returnType: OpenDirEntry
    signature: 'OpenDirEntry *

      OpenDir::open_read(const CryptoHash *key) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:189,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:190,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:192,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - start_dir
    - seg
    argTypes:
    - Dir*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: dir_bucket_loop_check
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - next_dir
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int dir_bucket_loop_check(Dir *start_dir, Dir *seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Directory*::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:212,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:214,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:214,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:217,1
    - Dst: Directory*::free_entry
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:218,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - directory
    argTypes:
    - int
    - Directory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: dir_init_segment
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - memset
    - Directory*::get_segment
    - dir_bucket
    - static_cast<void *>
    - dir_bucket_row
    - Directory*::free_entry
    linkageType: ''
    returnType: void
    signature: void dir_init_segment(int s, Directory *directory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_bucket_loop_check
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:228,1
    - Dst: Directory*::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:228,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:229,1
    - Dst: dir_init_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - start_dir
    - s
    - directory
    argTypes:
    - Dir*
    - int
    - Directory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: dir_bucket_loop_fix
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - Directory*::get_segment
    - dir_init_segment
    - dir_bucket_loop_check
    - Warning
    linkageType: ''
    returnType: int
    signature: int dir_bucket_loop_fix(Dir *start_dir, int s, Directory *directory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:240,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:241,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:242,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: Directory::freelist_length
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_from_offset
    - dir_bucket_loop_fix
    - next_dir
    - Directory::get_segment
    linkageType: ''
    returnType: int
    signature: int Directory::freelist_length(int s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:257,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:259,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - b
    - s
    argTypes:
    - Dir*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: Directory::bucket_length
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_bucket_loop_fix
    - next_dir
    - Directory::get_segment
    linkageType: ''
    returnType: int
    signature: int Directory::bucket_length(Dir *b, int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:276,1
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:278,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:280,1
    - Dst: Directory::bucket_length
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:281,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:284,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:284,1
    - Dst: dir_bucket_loop_check
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: Directory::check
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_next
    - dir_bucket
    - dir_offset
    - Dbg
    - dir_bucket_loop_check
    - Directory::get_segment
    - Directory::bucket_length
    linkageType: ''
    returnType: int
    signature: int Directory::check()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Directory*::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:298,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:299,1
    - Dst: dir_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:299,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:301,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:301,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:303,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:305,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:305,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:307,1
    - Dst: dir_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - e
    - s
    - directory
    argTypes:
    - Dir*
    - int
    - Directory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: unlink_from_freelist
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - Directory*::get_segment
    - dir_next
    - dir_set_prev
    - dir_set_next
    - dir_from_offset
    - dir_prev
    linkageType: ''
    returnType: void
    signature: void unlink_from_freelist(Dir *e, int s, Directory *directory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Directory*::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:314,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:315,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:319,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:320,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:321,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:322,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:324,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:324,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:328,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:330,1
    - Dst: dir_delete_entry
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:331,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:334,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - e
    - p
    - s
    - directory
    argTypes:
    - Dir*
    - Dir*
    - int
    - Directory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 339
    functionName: dir_delete_entry
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 1
    functionsReached:
    - dir_assign
    - Directory*::get_segment
    - dir_next
    - dir_set_prev
    - dir_delete_entry
    - dir_set_next
    - dir_from_offset
    - dir_to_offset
    - next_dir
    - dir_clear
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      dir_delete_entry(Dir *e, Dir *p, int s, Directory *directory)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Stripe*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:345,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:353,1
    - Dst: Stripe*::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:357,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:357,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:358,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:359,1
    - Dst: Stripe*::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:359,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:360,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:360,1
    - Dst: Stripe*::directory::bucket_length
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:360,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:362,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:363,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:364,1
    - Dst: dir_delete_entry
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:366,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - b
    - s
    - stripe
    argTypes:
    - Dir*
    - int
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 372
    functionName: dir_clean_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - Stripe*::hash_text::get
    - ts::Metrics::Gauge::decrement
    - 'on'
    - dir_bucket_loop_fix
    - dir_tag
    - dir_delete_entry
    - Stripe*::directory::get_segment
    - dir_offset
    - Dbg
    - Stripe*::directory::bucket_length
    - Stripe*::dir_valid
    - next_dir
    linkageType: ''
    returnType: void
    signature: void dir_clean_bucket(Dir *b, int s, Stripe *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:377,1
    - Dst: dir_clean_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:379,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:379,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:380,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:380,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:380,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:380,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - stripe
    argTypes:
    - int
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: Directory::clean_segment
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_next
    - dir_bucket
    - dir_clean_bucket
    - dir_offset
    - Directory::get_segment
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Directory::clean_segment(int s, Stripe *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Directory::clean_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:388,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: Directory::cleanup
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - CHECK_DIR
    - Directory::clean_segment
    linkageType: ''
    returnType: void
    signature: void Directory::cleanup(Stripe *stripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Directory::entries
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:396,1
    - Dst: dir_index
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:397,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:398,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:398,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:398,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:398,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:399,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:400,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:401,1
    - Dst: Directory::cleanup
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - start
    - end
    - stripe
    argTypes:
    - off_t
    - off_t
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: Directory::clear_range
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_set_offset
    - ts::Metrics::Gauge::decrement
    - Directory::entries
    - Directory::cleanup
    - dir_offset
    - dir_index
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Directory::clear_range(off_t start, off_t end, Stripe *stripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:415,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - b
    - e
    - seg
    argTypes:
    - Dir*
    - Dir*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: check_bucket_not_contains
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - next_dir
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void check_bucket_not_contains(Dir *b, Dir *e, Dir *seg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM*::directory::clean_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:423,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:427,1
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:429,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:431,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:433,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:434,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:435,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:436,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:437,1
    - Dst: StripeSM*::directory::clean_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - stripe
    argTypes:
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 442
    functionName: freelist_clean
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_set_offset
    - Warning
    - dir_head
    - dir_bucket
    - ts::Metrics::Gauge::decrement
    - StripeSM*::directory::clean_segment
    - StripeSM*::directory::get_segment
    - dir_bucket_row
    linkageType: ''
    returnType: void
    signature: void freelist_clean(int s, StripeSM *stripe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:447,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:448,1
    - Dst: freelist_clean
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:450,1
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:453,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:455,1
    - Dst: dir_init_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:456,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:459,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - s
    - stripe
    argTypes:
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 464
    functionName: freelist_pop
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_next
    - dir_set_prev
    - freelist_clean
    - dir_offset
    - StripeSM*::directory::get_segment
    - dir_init_segment
    - dir_from_offset
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      freelist_pop(int s, StripeSM *stripe)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:469,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:471,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:472,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:474,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e
    - s
    argTypes:
    - Dir*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: Directory::free_entry
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_set_prev
    - dir_set_next
    - Directory::get_segment
    - dir_from_offset
    - dir_to_offset
    linkageType: ''
    returnType: void
    signature: void Directory::free_entry(Dir *e, int s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:482,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:482,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:483,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:484,1
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:485,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:487,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:489,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:489,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:493,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:494,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:496,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:497,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:497,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:509,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:510,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:511,1
    - Dst: StripeSM*::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:515,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:516,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:516,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:516,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:517,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:518,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:520,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:520,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:523,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:524,1
    - Dst: dir_delete_entry
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:525,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:529,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:529,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:529,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:533,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:537,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:538,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:539,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:543,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:543,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:543,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 4
    argNames:
    - key
    - stripe
    - result
    - last_collision
    argTypes:
    - CacheKey*
    - StripeSM*
    - Dir*
    - Dir**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 546
    functionName: Directory::probe
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - StripeSM*::dir_valid
    - ts::Metrics::Counter::increment
    - dir_assign
    - dir_bucket
    - ts::Metrics::Gauge::decrement
    - dir_bucket_loop_fix
    - DDbg
    - dir_delete_entry
    - dir_tag
    - dir_compare_tag
    - ink_assert
    - dir_offset
    - this_ethread
    - Directory::get_segment
    - next_dir
    - CacheKey*::slice32
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int Directory::probe(const CacheKey *key, StripeSM *stripe, Dir *result,
      Dir **last_collision)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:551,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:551,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:552,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:553,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:554,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:554,1
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:555,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:557,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:559,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:559,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:562,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:562,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:562,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:562,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:563,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:566,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:571,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:575,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:576,1
    - Dst: unlink_from_freelist
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:577,1
    - Dst: freelist_pop
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:582,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:597,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:600,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:601,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:601,1
    - Dst: dir_assign_data
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:603,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:604,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:604,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:605,1
    - Dst: StripeSM*::vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:605,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:606,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:606,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:607,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:607,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:607,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:608,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:610,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:611,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - key
    - stripe
    - to_part
    argTypes:
    - CacheKey*
    - StripeSM*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 614
    functionName: Directory::insert
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_set_next
    - dir_offset
    - this_ethread
    - dir_bucket_row
    - dir_set_tag
    - unlink_from_freelist
    - freelist_pop
    - Directory::get_segment
    - dir_assign_data
    - CacheKey*::slice32
    - dir_is_empty
    - dir_bucket
    - dir_approx_size
    - dir_tag
    - DDbg
    - StripeSM*::vol_offset
    - dir_to_offset
    - ink_assert
    - DIR_MASK_TAG
    - ts::Metrics::Gauge::increment
    - next_dir
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int Directory::insert(const CacheKey *key, StripeSM *stripe, Dir *to_part)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:619,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:619,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:620,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:621,1
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:622,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:624,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:625,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:625,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:631,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:633,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:633,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:633,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:634,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:638,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:643,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:649,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:649,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:649,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:652,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:661,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:662,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:663,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:667,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:668,1
    - Dst: unlink_from_freelist
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:669,1
    - Dst: freelist_pop
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:674,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:679,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:680,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:688,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:691,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:692,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:692,1
    - Dst: dir_assign_data
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:694,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:695,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:696,1
    - Dst: StripeSM*::vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:696,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:697,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:697,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:698,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:698,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 5
    argNames:
    - key
    - stripe
    - dir
    - overwrite
    - must_overwrite
    argTypes:
    - CacheKey*
    - StripeSM*
    - Dir*
    - Dir*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 702
    functionName: Directory::overwrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_set_next
    - dir_offset
    - this_ethread
    - dir_bucket_row
    - dir_set_tag
    - dir_bucket_loop_fix
    - unlink_from_freelist
    - freelist_pop
    - Directory::get_segment
    - dir_assign_data
    - CacheKey*::slice32
    - dir_is_empty
    - dir_bucket
    - dir_approx_size
    - static_cast<unsigned int>
    - dir_tag
    - DDbg
    - StripeSM*::vol_offset
    - ink_assert
    - dir_to_offset
    - DIR_MASK_TAG
    - ts::Metrics::Gauge::increment
    - next_dir
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int Directory::overwrite(const CacheKey *key, StripeSM *stripe, Dir
      *dir, Dir *overwrite, bool must_overwrite)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:707,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:707,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:708,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:709,1
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:710,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:715,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:717,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:718,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:723,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:723,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:727,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:727,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:727,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:728,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:729,1
    - Dst: dir_delete_entry
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:730,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:731,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:735,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - key
    - stripe
    - del
    argTypes:
    - CacheKey*
    - StripeSM*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 740
    functionName: Directory::remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_bucket
    - ts::Metrics::Gauge::decrement
    - dir_bucket_loop_fix
    - dir_delete_entry
    - dir_compare_tag
    - ink_assert
    - dir_offset
    - this_ethread
    - Directory::get_segment
    - next_dir
    - CacheKey*::slice32
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int Directory::remove(const CacheKey *key, StripeSM *stripe, Dir *del)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:747,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:747,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:748,1
    - Dst: StripeSM*::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:752,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:754,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:754,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:763,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - key
    - stripe
    - result
    - eblock
    argTypes:
    - CacheKey*
    - StripeSM*
    - Dir*
    - EvacuationBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 765
    functionName: dir_lookaside_probe
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 2
    functionsReached:
    - DDbg
    - this_ethread
    - StripeSM*::dir_valid
    - ink_assert
    - CacheKey*::slice32
    linkageType: ''
    returnType: int
    signature: int dir_lookaside_probe(const CacheKey *key, StripeSM *stripe, Dir
      *result, EvacuationBlock **eblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:771,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:771,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:771,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:771,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:772,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:773,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:773,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:774,1
    - Dst: new_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:775,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:779,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - eblock
    - stripe
    - to
    argTypes:
    - EvacuationBlock*
    - StripeSM*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 784
    functionName: dir_lookaside_insert
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 1
    functionsReached:
    - DDbg
    - dir_phase
    - dir_offset
    - new_EvacuationBlock
    - push
    - this_ethread
    - CacheKey*::slice32
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int dir_lookaside_insert(EvacuationBlock *eblock, StripeSM *stripe,
      Dir *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:789,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:789,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:790,1
    - Dst: StripeSM*::directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:794,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:795,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:795,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:795,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:796,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:796,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:797,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:797,1
    - Dst: StripeSM*::ram_cache::fixup
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:798,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:798,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:798,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:799,1
    - Dst: free_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:800,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:805,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:805,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - stripe
    argTypes:
    - CacheKey*
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 807
    functionName: dir_lookaside_fixup
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 2
    functionsReached:
    - StripeSM*::ram_cache::fixup
    - DDbg
    - dir_phase
    - dir_offset
    - remove
    - free_EvacuationBlock
    - this_ethread
    - static_cast<uint64_t>
    - StripeSM*::directory::overwrite
    - ink_assert
    - CacheKey*::slice32
    linkageType: ''
    returnType: int
    signature: int dir_lookaside_fixup(const CacheKey *key, StripeSM *stripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:812,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:812,1
    - Dst: StripeSM*::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:816,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:818,1
    - Dst: EvacuationBlock*::evac_frags::earliest_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:818,1
    - Dst: EvacuationBlock*::evac_frags::earliest_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:819,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:820,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:821,1
    - Dst: free_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 830
    functionName: dir_lookaside_cleanup
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - EvacuationBlock*::evac_frags::earliest_key::slice32
    - DDbg
    - remove
    - free_EvacuationBlock
    - this_ethread
    - free_CacheEvacuateDocVC
    - StripeSM*::dir_valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void dir_lookaside_cleanup(StripeSM *stripe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:835,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:835,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:836,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:840,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:840,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:840,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:841,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:841,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:842,1
    - Dst: free_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:843,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:848,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:848,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - key
    - stripe
    argTypes:
    - CacheKey*
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 850
    functionName: dir_lookaside_remove
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 1
    functionsReached:
    - DDbg
    - dir_phase
    - dir_offset
    - remove
    - free_EvacuationBlock
    - this_ethread
    - CacheKey*::slice32
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void dir_lookaside_remove(const CacheKey *key, StripeSM *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheSync::CacheSync
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:858,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:859,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: dir_sync_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 1
    functionsReached:
    - schedule_in
    - CacheSync::CacheSync
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void dir_sync_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:871,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - b
    - n
    - o
    argTypes:
    - int
    - char*
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 862
    functionDepth: 5
    functionLinenumber: 862
    functionLinenumberEnd: 872
    functionName: CacheSync::aio_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - ink_aio_write
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheSync::aio_write(int fd, char *b, int n, off_t o)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:880,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:883,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:884,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:889,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 900
    functionName: Directory::entries_used
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - dir_bucket
    - dir_bucket_loop_fix
    - dir_offset
    - Directory::get_segment
    - next_dir
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Directory::entries_used()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:911,1
    - Dst: reinterpret_cast<EThread *>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:912,1
    - Dst: shutdown
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:914,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 917
    functionName: sync_cache_dir_on_shutdown
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - shutdown
    - reinterpret_cast<EThread *>
    linkageType: ''
    returnType: void
    signature: void sync_cache_dir_on_shutdown()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cancel_action
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:923,1
    - Dst: ats_free_hugepage
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:932,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:934,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:940,1
    - Dst: Event*::ethread::schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:942,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:942,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:944,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:944,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:953,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:954,1
    - Dst: hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:954,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:958,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:959,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:960,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:960,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:964,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:965,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:966,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:966,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:971,1
    - Dst: StripeSM*::recompute_hit_evacuate_window
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:974,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:976,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:980,1
    - Dst: StripeSM*::dirlen
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:981,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:984,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:991,1
    - Dst: StripeSM*::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:991,1
    - Dst: StripeSM*::is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:994,1
    - Dst: StripeSM*::get_agg_buf_pos
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:994,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:995,1
    - Dst: StripeSM*::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:995,1
    - Dst: StripeSM*::is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:997,1
    - Dst: StripeSM*::aggWrite
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:998,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1002,1
    - Dst: StripeSM*::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1003,1
    - Dst: ats_free_hugepage
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1008,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1010,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1015,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1016,1
    - Dst: ats_alloc_hugepage
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1016,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1020,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1020,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1020,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1026,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1027,1
    - Dst: CacheSync::aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1035,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1037,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1040,1
    - Dst: CacheSync::aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1043,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1045,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1046,1
    - Dst: CacheSync::aio_write
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1048,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1052,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1053,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1054,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1054,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1055,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheDir.cc:1055,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 127
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 919
    functionDepth: 6
    functionLinenumber: 919
    functionLinenumberEnd: 1066
    functionName: CacheSync::mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheDir.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - memcpy
    - schedule_in
    - StripeSM*::hash_text::get
    - ats_memalign
    - ats_free_hugepage
    - StripeSM*::aggWrite
    - ts::Metrics::Counter::increment
    - ats_free
    - is_locked
    - ats_hugepage_enabled
    - ROUND_TO_STORE_BLOCK
    - ats_pagesize
    - static_cast<char *>
    - CACHE_TRY_LOCK
    - cancel_action
    - Warning
    - StripeSM*::dirlen
    - StripeSM*::get_agg_buf_pos
    - CacheSync::aio_write
    - Dbg
    - StripeSM*::recompute_hit_evacuate_window
    - Event*::ethread::schedule_in
    - DISK_BAD
    - ink_assert
    - ink_get_hrtime
    - ats_alloc_hugepage
    - hash_text::get
    - HRTIME_SECONDS
    - HRTIME_MSECONDS
    - ok
    - StripeSM*::is_io_in_progress
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int CacheSync::mainEvent(int event, Event *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: make_span_error
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: span_error_t
    signature: span_error_t make_span_error(int error)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - st_mode
    argTypes:
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: span_file_typename
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      span_file_typename(mode_t st_mode)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Span **>
      Src: /src/trafficserver/src/iocore/cache/Store.cc:85,1
    - Dst: alloca
      Src: /src/trafficserver/src/iocore/cache/Store.cc:85,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/Store.cc:86,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/cache/Store.cc:119,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/cache/Store.cc:119,1
    - Dst: strcmp
      Src: /src/trafficserver/src/iocore/cache/Store.cc:141,1
    - Dst: Span*::end
      Src: /src/trafficserver/src/iocore/cache/Store.cc:144,1
    - Dst: Span*::end
      Src: /src/trafficserver/src/iocore/cache/Store.cc:145,1
    - Dst: Span*::end
      Src: /src/trafficserver/src/iocore/cache/Store.cc:145,1
    - Dst: Span*::end
      Src: /src/trafficserver/src/iocore/cache/Store.cc:146,1
    - Dst: Span*::end
      Src: /src/trafficserver/src/iocore/cache/Store.cc:146,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 160
    functionName: Store::sort
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - static_cast<Span **>
    - alloca
    - Span*::end
    linkageType: ''
    returnType: void
    signature: void Store::sort()
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - serr
    argTypes:
    - span_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: Span::errorstr
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Span::errorstr(span_error_t serr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/cache/Store.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: Span::hash_base_string_set
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void Span::hash_base_string_set(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: Span::volume_number_set
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span::volume_number_set(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/Store.cc:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: Store::delete_all
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void Store::delete_all()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Store::delete_all
      Src: /src/trafficserver/src/iocore/cache/Store.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: Store::~Store()
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - Store::delete_all
    linkageType: ''
    returnType: void
    signature: void Store::~Store()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: Span::~Span()
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span::~Span()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_fd::ats_scoped_fd
      Src: /src/trafficserver/src/iocore/cache/Store.cc:229,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/Store.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:233,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/iocore/cache/Store.cc:234,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:236,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/cache/Store.cc:237,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/iocore/cache/Store.cc:237,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/Store.cc:237,1
    - Dst: ink_file_fd_readline
      Src: /src/trafficserver/src/iocore/cache/Store.cc:244,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/iocore/cache/Store.cc:249,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/cache/Store.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:262,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/iocore/cache/Store.cc:268,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/Store.cc:269,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/iocore/cache/Store.cc:271,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:273,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/cache/Store.cc:274,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/iocore/cache/Store.cc:276,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/iocore/cache/Store.cc:281,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/iocore/cache/Store.cc:284,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/iocore/cache/Store.cc:289,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/iocore/cache/Store.cc:289,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:291,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/iocore/cache/Store.cc:292,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/cache/Store.cc:297,1
    - Dst: Span::Span
      Src: /src/trafficserver/src/iocore/cache/Store.cc:299,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:300,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/cache/Store.cc:300,1
    - Dst: Span*::init
      Src: /src/trafficserver/src/iocore/cache/Store.cc:302,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/cache/Store.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:303,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/iocore/cache/Store.cc:303,1
    - Dst: Span*::hash_base_string_set
      Src: /src/trafficserver/src/iocore/cache/Store.cc:312,1
    - Dst: Span*::volume_number_set
      Src: /src/trafficserver/src/iocore/cache/Store.cc:315,1
    - Dst: extend
      Src: /src/trafficserver/src/iocore/cache/Store.cc:331,1
    - Dst: Store::sort
      Src: /src/trafficserver/src/iocore/cache/Store.cc:340,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/Store.cc:342,1
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/iocore/cache/Store.cc:344,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 345
    functionName: Store::read_config
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - ats_scoped_str::get
    - ParseRules::is_digit
    - Span*::init
    - DNSHandler::rr_failure
    - ink_atoi64
    - ats_scoped_fd::ats_scoped_fd
    - strerror
    - AIOFaultInjection::open
    - SimpleTokenizer::getNext
    - ink_atoi
    - std::string::c_str
    - strncasecmp
    - Error
    - Dbg
    - Span*::volume_number_set
    - Layout::get
    - Catch::clara::detail::BasicResult::ok
    - Note
    - Span*::hash_base_string_set
    - extend
    - ParseRules::is_space
    - ink_file_fd_readline
    - Store::sort
    - Span::Span
    linkageType: ''
    returnType: Result
    signature: Result Store::read_config()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Store.cc:353,1
    - Dst: Span*::pathname::get
      Src: /src/trafficserver/src/iocore/cache/Store.cc:353,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/Store.cc:353,1
    - Dst: ink_file_fd_writestring
      Src: /src/trafficserver/src/iocore/cache/Store.cc:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: Store::write_config_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - ink_file_fd_writestring
    - Span*::pathname::get
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int Store::write_config_data(int fd) const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: make_span_error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:372,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:373,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/Store.cc:373,1
    - Dst: fstat
      Src: /src/trafficserver/src/iocore/cache/Store.cc:377,1
    - Dst: make_span_error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:378,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:379,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/Store.cc:379,1
    - Dst: fstatvfs
      Src: /src/trafficserver/src/iocore/cache/Store.cc:383,1
    - Dst: make_span_error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:384,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:385,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/Store.cc:385,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/src/iocore/cache/Store.cc:391,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:393,1
    - Dst: span_file_typename
      Src: /src/trafficserver/src/iocore/cache/Store.cc:393,1
    - Dst: major
      Src: /src/trafficserver/src/iocore/cache/Store.cc:409,1
    - Dst: minor
      Src: /src/trafficserver/src/iocore/cache/Store.cc:409,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:410,1
    - Dst: span_file_typename
      Src: /src/trafficserver/src/iocore/cache/Store.cc:410,1
    - Dst: ink_file_get_geometry
      Src: /src/trafficserver/src/iocore/cache/Store.cc:416,1
    - Dst: make_span_error
      Src: /src/trafficserver/src/iocore/cache/Store.cc:417,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:420,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:422,1
    - Dst: strerror
      Src: /src/trafficserver/src/iocore/cache/Store.cc:422,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/Store.cc:438,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:439,1
    - Dst: span_file_typename
      Src: /src/trafficserver/src/iocore/cache/Store.cc:439,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/Store.cc:457,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/Store.cc:458,1
    - Dst: span_file_typename
      Src: /src/trafficserver/src/iocore/cache/Store.cc:458,1
    - Dst: Span::size
      Src: /src/trafficserver/src/iocore/cache/Store.cc:478,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/cache/Store.cc:479,1
    - Dst: Span::size
      Src: /src/trafficserver/src/iocore/cache/Store.cc:479,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/Store.cc:481,1
    - Dst: span_file_typename
      Src: /src/trafficserver/src/iocore/cache/Store.cc:482,1
    - Dst: Span::size
      Src: /src/trafficserver/src/iocore/cache/Store.cc:482,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/iocore/cache/Store.cc:488,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:490,1
    - Dst: Span::pathname::get
      Src: /src/trafficserver/src/iocore/cache/Store.cc:490,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Store.cc:491,1
    - Dst: Span::size
      Src: /src/trafficserver/src/iocore/cache/Store.cc:493,1
    - Dst: Span::errorstr
      Src: /src/trafficserver/src/iocore/cache/Store.cc:498,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 2
    argNames:
    - path
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 499
    functionName: Span::init
    functionSourceFile: /src/trafficserver/src/iocore/cache/Store.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - Warning
    - Span::pathname::get
    - Span::errorstr
    - fstat
    - ink_file_get_geometry
    - Note
    - minor
    - min
    - Span::size
    - fstatvfs
    - ats_strdup
    - span_file_typename
    - Dbg
    - static_cast<int64_t>
    - make_span_error
    - strerror
    - major
    linkageType: ''
    returnType: char
    signature: 'char *

      Span::init(const char *path, int64_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:57,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:61,1
    - Dst: CacheEvacuateDocVC*::setThreadAffinity
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:62,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:63,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:65,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - cont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: new_CacheEvacuateDocVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheEvacuateDocVC.h
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - ink_get_hrtime
    - dir_clear
    - CacheEvacuateDocVC*::setThreadAffinity
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: CacheEvacuateDocVC
    signature: 'CacheEvacuateDocVC *

      new_CacheEvacuateDocVC(Continuation *cont)'
  - 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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: UINT_WRAP_LTE
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT_WRAP_LTE(_x, _y)
  - 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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: UINT_WRAP_GTE
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT_WRAP_GTE(_x, _y)
  - 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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: UINT_WRAP_LT
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT_WRAP_LT(_x, _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:98,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:98,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:98,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: StripeInitInfo
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - memset
    - ats_pagesize
    - ats_memalign
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void StripeInitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutex::clear
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:106,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: ~StripeInitInfo()
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - free
    - mutex::clear
    linkageType: ''
    returnType: void
    signature: void ~StripeInitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:116,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - disk
    - blocks
    - dir_skip
    - avg_obj_size
    - fragment_size
    argTypes:
    - CacheDisk*
    - off_t
    - off_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: StripeSM::StripeSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void StripeSM::StripeSM(CacheDisk *disk, off_t blocks, off_t dir_skip,
      int avg_obj_size, int fragment_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:129,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:129,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:130,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:130,1
    - Dst: StripeSM::_preserved_dirs::acquire
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: StripeSM::begin_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - StripeSM::_preserved_dirs::acquire
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int StripeSM::begin_read(CacheVC *cont) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:142,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:142,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:143,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:144,1
    - Dst: StripeSM::_preserved_dirs::release
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: StripeSM::close_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - dir_is_empty
    - StripeSM::_preserved_dirs::release
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int StripeSM::close_read(CacheVC *cont) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:156,1
    - Dst: StripeSM::_clear_init
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:157,1
    - Dst: pwrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:159,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:160,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: StripeSM::clear_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - Warning
    - StripeSM::_clear_init
    - pwrite
    - StripeSM::hash_text::get
    - StripeSM::dirlen
    linkageType: ''
    returnType: int
    signature: int StripeSM::clear_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:170,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:170,1
    - Dst: StripeSM::recompute_hit_evacuate_window
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:173,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:177,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:177,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:178,1
    - Dst: StripeInitInfo::StripeInitInfo
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:181,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:182,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:183,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:187,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:187,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:188,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:191,1
    - Dst: countof
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:195,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:204,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - clear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: StripeSM::init
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - get
    - StripeSM::recompute_hit_evacuate_window
    - StripeInitInfo::StripeInitInfo
    - ROUND_TO_STORE_BLOCK
    - countof
    - StripeSM::clear_dir_aio
    - ink_assert
    - Dbg
    - ink_aio_read
    - strlen
    - CryptoContext
    - StripeSM::dirlen
    - Note
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int StripeSM::init(bool clear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:211,1
    - Dst: static_cast<AIOCallback *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:215,1
    - Dst: AIOCallback*::ok
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:216,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:217,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:217,1
    - Dst: incrErrors
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:218,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:225,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:227,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:227,1
    - Dst: StripeSM::set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:230,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:231,1
    - Dst: StripeSM::dir_init_done
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 236
    functionName: StripeSM::handle_dir_clear
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - get
    - Warning
    - ROUND_TO_STORE_BLOCK
    - StripeSM::dir_init_done
    - incrErrors
    - AIOCallback*::ok
    - static_cast<AIOCallback *>
    - SET_HANDLER
    - StripeSM::dirlen
    - ink_aio_write
    - StripeSM::set_io_not_in_progress
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::handle_dir_clear(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AIOCallback *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:241,1
    - Dst: AIOCallback*::ok
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:244,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:245,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:245,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:246,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:254,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:254,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:255,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:259,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:259,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:260,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:263,1
    - Dst: StripeSM::recover_data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: StripeSM::handle_dir_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - get
    - Warning
    - StripeSM::clear_dir_aio
    - AIOCallback*::ok
    - static_cast<AIOCallback *>
    - StripeSM::hash_text::get
    - StripeSM::recover_data
    - Note
    - CHECK_DIR
    linkageType: ''
    returnType: int
    signature: int StripeSM::handle_dir_read(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:276,1
    - Dst: StripeSM::_clear_init
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:277,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:279,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:288,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: StripeSM::clear_dir_aio
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 2
    functionsReached:
    - StripeSM::_clear_init
    - SET_HANDLER
    - StripeSM::dirlen
    - ink_aio_write
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::clear_dir_aio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:296,1
    - Dst: StripeSM::handle_recover_from_data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: StripeSM::recover_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - StripeSM::handle_recover_from_data
    linkageType: ''
    returnType: int
    signature: int StripeSM::recover_data()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:344,1
    - Dst: StripeSM::handle_recover_write_dir
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:345,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:356,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:356,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:356,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:358,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:358,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:362,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:363,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:363,1
    - Dst: incrErrors
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:364,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:374,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:376,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:378,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:380,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:380,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:383,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:388,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:392,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:397,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:406,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:415,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:417,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:455,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:490,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:499,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:507,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:507,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:517,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:517,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:523,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:524,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:525,1
    - Dst: StripeSM::handle_recover_write_dir
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:527,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:532,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:534,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:534,1
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:548,1
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:549,1
    - Dst: StripeSM::directory::clear_range
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:551,1
    - Dst: StripeSM::directory::clear_range
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:553,1
    - Dst: StripeSM::directory::clear_range
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:554,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:557,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:557,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:569,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:570,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:584,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:585,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:585,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:590,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:590,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:593,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 179
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 595
    functionName: StripeSM::handle_recover_from_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<off_t>
    - ats_memalign
    - SET_HANDLER
    - get
    - StripeSM::offset_to_vol_offset
    - ROUND_TO_STORE_BLOCK
    - ats_pagesize
    - static_cast<char *>
    - reinterpret_cast<Doc *>
    - incrErrors
    - StripeSM::dirlen
    - Warning
    - StripeSM::directory::clear_range
    - Dbg
    - StripeSM::handle_recover_write_dir
    - Note
    - ink_aio_write
    - ink_assert
    - free
    - 'on'
    - StripeSM::clear_dir_aio
    - ok
    - ink_aio_read
    - round_to_approx_size
    linkageType: ''
    returnType: int
    signature: int StripeSM::handle_recover_from_data(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:601,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:601,1
    - Dst: StripeSM::set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:605,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:607,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:607,1
    - Dst: StripeSM::_preserved_dirs::periodic_scan
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:608,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:609,1
    - Dst: StripeSM::dir_init_done
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: StripeSM::handle_recover_write_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - free
    - StripeSM::dir_init_done
    - static_cast<char *>
    - StripeSM::_preserved_dirs::periodic_scan
    - this_ethread
    - SET_HANDLER
    - StripeSM::set_io_not_in_progress
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::handle_recover_write_dir(int /* event ATS_UNUSED */,
      void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:616,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:617,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:618,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:619,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:620,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:620,1
    - Dst: CacheEvacuateDocVC*::earliest_key::clear
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:623,1
    - Dst: SET_CONTINUATION_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - nbytes
    - stripe
    argTypes:
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 626
    functionName: new_DocEvacuator
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CacheEvacuateDocVC*::earliest_key::clear
    - new_IOBufferData
    - SET_CONTINUATION_HANDLER
    - ts::Metrics::Gauge::increment
    - iobuffer_size_to_index
    - new_CacheEvacuateDocVC
    linkageType: ''
    returnType: CacheEvacuateDocVC
    signature: 'CacheEvacuateDocVC *

      new_DocEvacuator(int nbytes, StripeSM *stripe)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AIOCallback *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:635,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:637,1
    - Dst: static_cast<StripteHeaderFooter *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:638,1
    - Dst: AIOCallback*::ok
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:639,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:640,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:640,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:641,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:648,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:656,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:657,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:658,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:658,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:661,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:661,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:665,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:666,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:667,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:667,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:669,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:670,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:670,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:672,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:672,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:673,1
    - Dst: StripeSM::clear_dir_aio
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:675,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 628
    functionDepth: 6
    functionLinenumber: 628
    functionLinenumberEnd: 684
    functionName: StripeSM::handle_header_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - get
    - 'on'
    - StripeSM::clear_dir_aio
    - static_cast<StripteHeaderFooter *>
    - AIOCallback*::ok
    - ink_aio_read
    - static_cast<AIOCallback *>
    - StripeSM::hash_text::get
    - SET_HANDLER
    - StripeSM::dirlen
    - Note
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::handle_header_read(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:690,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:690,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:694,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:696,1
    - Dst: vol_initialized
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 700
    functionName: StripeSM::dir_init_done
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 2
    functionsReached:
    - vol_initialized
    - schedule_in
    - HRTIME_MSECONDS
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::dir_init_done(int /* event ATS_UNUSED */, void * /* data
      ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:710,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:714,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:715,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:716,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:716,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:719,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:722,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:723,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:723,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:725,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:727,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:727,1
    - Dst: StripeSM::_preserved_dirs::periodic_scan
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:728,1
    - Dst: StripeSM::_write_buffer::reset_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:730,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:735,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:737,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:740,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:741,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:742,1
    - Dst: StripeSM::_write_buffer::get_buffer
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:742,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:743,1
    - Dst: StripeSM::directory::remove
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:744,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:745,1
    - Dst: StripeSM::_write_buffer::reset_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:747,1
    - Dst: StripeSM::set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:749,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:752,1
    - Dst: UINT_WRAP_LTE
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:753,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:754,1
    - Dst: push
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:756,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:762,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:764,1
    - Dst: StripeSM::aggWrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 768
    functionName: StripeSM::aggWriteDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - schedule_in
    - StripeSM::cancel_trigger
    - StripeSM::aggWrite
    - this_ethread
    - get
    - handleEvent
    - is_locked
    - StripeSM::_preserved_dirs::periodic_scan
    - reinterpret_cast<Doc *>
    - StripeSM::set_io_not_in_progress
    - CACHE_TRY_LOCK
    - dir_set_offset
    - UINT_WRAP_LTE
    - DDbg
    - StripeSM::_write_buffer::get_buffer
    - StripeSM::_write_buffer::get_pending_writers
    - Dbg
    - StripeSM::directory::remove
    - schedule_imm
    - ink_assert
    - StripeSM::_write_buffer::reset_buffer_pos
    - HRTIME_MSECONDS
    - ok
    - dequeue
    - StripeSM::_write_buffer::get_buffer_pos
    - push
    - round_to_approx_size
    - dir_clear
    linkageType: ''
    returnType: int
    signature: int StripeSM::aggWriteDone(int event, Event *e)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:780,1
    - Dst: StripeSM::is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:780,1
    - Dst: Que
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:782,1
    - Dst: StripeSM::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:785,1
    - Dst: StripeSM::aggregate_pending_writes
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:788,1
    - Dst: StripeSM::_write_buffer::is_empty
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:791,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:792,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:797,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:798,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:799,1
    - Dst: StripeSM::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:800,1
    - Dst: StripeSM::_write_buffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:801,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:802,1
    - Dst: StripeSM::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:807,1
    - Dst: StripeSM::agg_wrap
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:808,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:814,1
    - Dst: StripeSM::evac_range
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:815,1
    - Dst: StripeSM::evac_range
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:819,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:826,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:826,1
    - Dst: StripeSM::_write_buffer::is_empty
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:832,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:833,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:834,1
    - Dst: StripeSM::_write_buffer::seek
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:835,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:836,1
    - Dst: StripeSM::_write_buffer::get_buffer
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:836,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:837,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:837,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:845,1
    - Dst: StripeSM::_write_buffer::get_buffer
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:849,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:850,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:858,1
    - Dst: ink_aio_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:859,1
    - Dst: dequeue
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:863,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:867,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 777
    functionDepth: 5
    functionLinenumber: 777
    functionLinenumberEnd: 871
    functionName: StripeSM::aggWrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<void *>
    - StripeSM::cancel_trigger
    - StripeSM::_write_buffer::add_bytes_pending_aggregation
    - SET_HANDLER
    - StripeSM::evac_range
    - StripeSM::get_pending_writers
    - StripeSM::_write_buffer::is_empty
    - reinterpret_cast<Doc *>
    - StripeSM::_write_buffer::seek
    - StripeSM::is_io_in_progress
    - StripeSM::_write_buffer::get_pending_writers
    - StripeSM::_write_buffer::get_buffer
    - StripeSM::aggregate_pending_writes
    - Note
    - schedule_imm
    - ink_aio_write
    - ink_assert
    - memset
    - dequeue
    - StripeSM::_write_buffer::get_buffer_pos
    - StripeSM::agg_wrap
    - Que
    - round_to_approx_size
    linkageType: ''
    returnType: int
    signature: int StripeSM::aggWrite(int event, void * /* e ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:876,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:876,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:879,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:880,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:881,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:884,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:884,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:885,1
    - Dst: auto*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:885,1
    - Dst: StripeSM::_agg_copy
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:886,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:887,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:888,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:889,1
    - Dst: UINT_WRAP_LT
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:892,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:893,1
    - Dst: StripeSM::sync::insert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:895,1
    - Dst: auto*::handleEvent
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:897,1
    - Dst: Queue<CacheVC, Continuation::Link_link>::enqueue
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - tocall
    argTypes:
    - Queue<CacheVC, Continuation::Link_link>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 903
    functionName: StripeSM::aggregate_pending_writes
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - StripeSM::_agg_copy
    - DDbg
    - StripeSM::_write_buffer::get_pending_writers
    - auto*::handleEvent
    - Queue<CacheVC, Continuation::Link_link>::enqueue
    - StripeSM::_write_buffer::get_buffer_pos
    - auto*::first_key::slice32
    - StripeSM::sync::insert
    - UINT_WRAP_LT
    - static_cast<CacheVC *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void StripeSM::aggregate_pending_writes(Queue<CacheVC, Continuation::Link_link>
      &tocall)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::_copy_evacuator_to_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:909,1
    - Dst: StripeSM::_copy_writer_to_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: StripeSM::_agg_copy
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - StripeSM::_copy_evacuator_to_aggregation
    - StripeSM::_copy_writer_to_aggregation
    linkageType: ''
    returnType: int
    signature: int StripeSM::_agg_copy(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:918,1
    - Dst: CacheVC*::buf::data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:918,1
    - Dst: StripeSM::round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:919,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:921,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:922,1
    - Dst: StripeSM::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:927,1
    - Dst: StripeSM::_write_buffer::add
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:928,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:931,1
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:931,1
    - Dst: dir_set_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 934
    functionName: StripeSM::_copy_evacuator_to_aggregation
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - dir_set_offset
    - ts::Metrics::Counter::increment
    - StripeSM::_write_buffer::add
    - StripeSM::offset_to_vol_offset
    - StripeSM::_write_buffer::get_buffer_pos
    - reinterpret_cast<Doc *>
    - dir_set_phase
    - StripeSM::round_to_approx_size
    - CacheVC*::buf::data
    linkageType: ''
    returnType: int
    signature: int StripeSM::_copy_evacuator_to_aggregation(CacheVC *vc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::get_agg_buf_pos
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:939,1
    - Dst: StripeSM::_write_buffer::emplace
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:941,1
    - Dst: StripeSM::round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:941,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:944,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:945,1
    - Dst: StripeSM::round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:945,1
    - Dst: dir_set_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:947,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:948,1
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:948,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:949,1
    - Dst: StripeSM::vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:949,1
    - Dst: dir_set_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:950,1
    - Dst: init_document
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:953,1
    - Dst: CacheVC*::get_pin_in_cache
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:956,1
    - Dst: dir_set_pinned
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:957,1
    - Dst: Doc*::pin
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:958,1
    - Dst: CacheVC*::get_pin_in_cache
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:958,1
    - Dst: dir_set_pinned
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:960,1
    - Dst: Doc*::unpin
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:961,1
    - Dst: update_document_key
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:964,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:967,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:968,1
    - Dst: CacheVC*::first_buf::data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:968,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:969,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:969,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:971,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:975,1
    - Dst: update_header_info
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:976,1
    - Dst: Doc*::single_fragment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:979,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:983,1
    - Dst: StripeSM::mutex::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:983,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:983,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:985,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:986,1
    - Dst: Doc*::set_data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:989,1
    - Dst: Doc*::set_data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:991,1
    - Dst: CacheVC*::blocks::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:991,1
    - Dst: Doc*::calculate_checksum
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:995,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:998,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1002,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 1006
    functionName: StripeSM::_copy_writer_to_aggregation
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - Doc*::pin
    - init_document
    - this_ethread
    - dir_set_phase
    - Doc*::single_fragment
    - new_IOBufferBlock
    - ts::Metrics::Counter::increment
    - Doc*::data_len
    - StripeSM::offset_to_vol_offset
    - dir_set_pinned
    - dir_set_approx_size
    - reinterpret_cast<Doc *>
    - StripeSM::vol_offset
    - StripeSM::_write_buffer::emplace
    - dir_set_offset
    - CacheVC*::blocks::get
    - Doc*::set_data
    - IOBufferBlock*::free
    - ink_assert
    - Doc*::unpin
    - StripeSM::get_agg_buf_pos
    - Doc*::calculate_checksum
    - update_document_key
    - CacheVC*::first_buf::data
    - CacheVC*::get_pin_in_cache
    - StripeSM::mutex::get
    - StripeSM::round_to_approx_size
    - update_header_info
    linkageType: ''
    returnType: int
    signature: int StripeSM::_copy_writer_to_aggregation(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - vc
    - doc
    - len
    argTypes:
    - CacheVC*
    - Doc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1021
    functionName: init_document
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_document(CacheVC const *vc, Doc *doc, int const len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1027,1
    - Dst: CacheVC*::earliest_key::is_zero
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1030,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1032,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1033,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1033,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1033,1
    - Dst: CacheVC*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1033,1
    - Dst: prev_CacheKey
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1035,1
    - Dst: dir_set_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1038,1
    - Dst: dir_set_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - vc
    - doc
    argTypes:
    - CacheVC*
    - Doc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1043
    functionName: update_document_key
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - prev_CacheKey
    - Doc*::data_len
    - Doc*::key::slice32
    - CacheVC*::first_key::slice32
    - CacheVC*::earliest_key::is_zero
    - rand_CacheKey
    - DIR_MASK_TAG
    - dir_set_head
    linkageType: ''
    returnType: void
    signature: void update_document_key(CacheVC *vc, Doc *doc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1049,1
    - Dst: CacheVC*::write_vector::count
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1049,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1051,1
    - Dst: CacheVC*::first_key::is_zero
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1051,1
    - Dst: CacheVC*::write_vector::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1052,1
    - Dst: CacheHTTPInfo*::object_size_set
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1053,1
    - Dst: CacheVC*::write_vector::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1058,1
    - Dst: CacheHTTPInfo*::object_size_set
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1059,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1061,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1061,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1062,1
    - Dst: CacheVC*::write_vector::marshal
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1062,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1062,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1064,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - vc
    - doc
    argTypes:
    - CacheVC*
    - Doc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1066
    functionName: update_header_info
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - CacheHTTPInfo*::object_size_set
    - CacheVC*::write_vector::marshal
    - CacheVC*::write_vector::count
    - CacheVC*::write_vector::get
    - CacheVC*::first_key::is_zero
    - Doc*::hdr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void update_header_info(CacheVC *vc, Doc *doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_lookaside_cleanup
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1076,1
    - Dst: StripeSM::directory::cleanup
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1077,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1080,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1081,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1082,1
    - Dst: StripeSM*::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1082,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1084,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1084,1
    - Dst: StripeSM::_preserved_dirs::periodic_scan
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1068
    functionDepth: 4
    functionLinenumber: 1068
    functionLinenumberEnd: 1086
    functionName: StripeSM::agg_wrap
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - StripeSM*::hash_text::get
    - dir_lookaside_cleanup
    - ink_assert
    - StripeSM::_preserved_dirs::periodic_scan
    - this_ethread
    - Note
    - StripeSM::directory::cleanup
    linkageType: ''
    returnType: void
    signature: void StripeSM::agg_wrap()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1091,1
    - Dst: StripeSM::offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1092,1
    - Dst: dir_offset_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1093,1
    - Dst: dir_offset_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1094,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1101,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1102,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1113,1
    - Dst: StripeSM::vol_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1114,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1115,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1115,1
    - Dst: new_DocEvacuator
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1118,1
    - Dst: buf::data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1121,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1124,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1124,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1124,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1125,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1126,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - low
    - high
    - evac_phase
    argTypes:
    - off_t
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1088
    functionDepth: 5
    functionLinenumber: 1088
    functionLinenumberEnd: 1131
    functionName: StripeSM::evac_range
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<off_t>
    - dir_approx_size
    - dir_offset_evac_bucket
    - StripeSM::offset_to_vol_offset
    - DDbg
    - dir_tag
    - dir_phase
    - dir_offset
    - buf::data
    - ink_aio_read
    - StripeSM::vol_offset
    - SET_HANDLER
    - new_DocEvacuator
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::evac_range(off_t low, off_t high, int evac_phase)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1136,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1140,1
    - Dst: StripeSM::is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1140,1
    - Dst: StripeSM::set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1141,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1142,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1142,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1143,1
    - Dst: buf::data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1143,1
    - Dst: CacheKey::CacheKey
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1144,1
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1146,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1148,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1148,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1149,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1150,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1153,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1153,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1154,1
    - Dst: StripeSM::evac_bucket_valid
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1156,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1160,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1160,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1169,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1169,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1173,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1174,1
    - Dst: EvacuationBlock*::evac_frags::key::fold
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1174,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1177,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1180,1
    - Dst: Doc*::first_key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1180,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1181,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1193,1
    - Dst: EvacuationBlock*::evac_frags::key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1193,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1194,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1194,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1209,1
    - Dst: EvacuationKey*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1209,1
    - Dst: EvacuationKey*::earliest_key::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1209,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1216,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1216,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1217,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1218,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1218,1
    - Dst: evacuate_fragments
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1219,1
    - Dst: StripeSM::evacuateWrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1221,1
    - Dst: free_CacheEvacuateDocVC
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1223,1
    - Dst: StripeSM::aggWrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1225,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1133
    functionDepth: 6
    functionLinenumber: 1133
    functionLinenumberEnd: 1226
    functionName: StripeSM::evacuateDocReadDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - StripeSM::cancel_trigger
    - dir_compare_tag
    - StripeSM::aggWrite
    - dir_offset
    - this_ethread
    - StripeSM::evac_bucket_valid
    - evacuate_fragments
    - StripeSM::evacuateWrite
    - Doc*::key::slice32
    - EvacuationKey*::earliest_key::slice32
    - next_CacheKey
    - reinterpret_cast<Doc *>
    - StripeSM::is_io_in_progress
    - StripeSM::set_io_not_in_progress
    - CacheKey::CacheKey
    - dir_tag
    - DDbg
    - Doc*::first_key::slice32
    - Dbg
    - static_cast<uint32_t>
    - ink_assert
    - EvacuationBlock*::evac_frags::key::slice32
    - ink_get_hrtime
    - dir_head
    - EvacuationKey*::key::slice32
    - dir_evac_bucket
    - buf::data
    - free_CacheEvacuateDocVC
    - EvacuationBlock*::evac_frags::key::fold
    linkageType: ''
    returnType: int
    signature: int StripeSM::evacuateDocReadDone(int event, Event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM*::directory::probe
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1233,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1236,1
    - Dst: StripeSM*::get_preserved_dirs
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1239,1
    - Dst: new_EvacuationBlock
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1241,1
    - Dst: StripeSM*::get_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1245,1
    - Dst: dir_evac_bucket
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1245,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1248,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1248,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1249,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1249,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1249,1
    - Dst: alloc
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1250,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1259,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1259,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1260,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1260,1
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - key
    - earliest_key
    - force
    - stripe
    argTypes:
    - CacheKey*
    - CacheKey*
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1263
    functionName: evacuate_fragments
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - dir_head
    - DDbg
    - dir_phase
    - StripeSM*::get_preserved_dirs
    - dir_evac_bucket
    - dir_offset
    - StripeSM*::get_evac_bucket
    - new_EvacuationBlock
    - alloc
    - StripeSM*::directory::probe
    - CacheKey*::slice32
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int evacuate_fragments(CacheKey *key, CacheKey *earliest_key, int force,
      StripeSM *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1270,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1270,1
    - Dst: CacheEvacuateDocVC*::buf::data
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1270,1
    - Dst: StripeSM::_write_buffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1271,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1273,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1273,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1275,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1278,1
    - Dst: StripeSM::_write_buffer::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1279,1
    - Dst: StripeSM::aggWrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - evacuator
    - event
    - e
    argTypes:
    - CacheEvacuateDocVC*
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1265
    functionDepth: 6
    functionLinenumber: 1265
    functionLinenumberEnd: 1281
    functionName: StripeSM::evacuateWrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - StripeSM::_write_buffer::add_bytes_pending_aggregation
    - StripeSM::_write_buffer::get_pending_writers
    - StripeSM::aggWrite
    - reinterpret_cast<Doc *>
    - CacheEvacuateDocVC*::buf::data
    - round_to_approx_size
    - static_cast<CacheVC *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int StripeSM::evacuateWrite(CacheEvacuateDocVC *evacuator, int event,
      Event *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1286,1
    - Dst: StripeSM::_write_buffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1287,1
    - Dst: StripeSM::_write_buffer::get_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1299,1
    - Dst: CacheVC*::mutex::thread_holding::generator::random
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1302,1
    - Dst: StripeSM::_write_buffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1306,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1308,1
    - Dst: StripeSM::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1310,1
    - Dst: StripeSM::get_pending_writers
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1317
    functionName: StripeSM::add_writer
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - CacheVC*::mutex::thread_holding::generator::random
    - StripeSM::_write_buffer::add_bytes_pending_aggregation
    - StripeSM::get_pending_writers
    - StripeSM::_write_buffer::get_bytes_pending_aggregation
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::add_writer(CacheVC *vc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1325,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1327,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1328,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1328,1
    - Dst: StripeSM::dirlen
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1331,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1332,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1334,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1334,1
    - Dst: StripeSM::recompute_hit_evacuate_window
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1337,1
    - Dst: StripeSM::_write_buffer::is_empty
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1342,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1343,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1343,1
    - Dst: StripeSM::flush_aggregate_write_buffer
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1344,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1351,1
    - Dst: CHECK_DIR
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1355,1
    - Dst: pwrite
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1358,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1359,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1360,1
    - Dst: StripeSM::hash_text::get
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - shutdown_thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1361
    functionName: StripeSM::shutdown
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - MUTEX_TAKE_LOCK
    - StripeSM::recompute_hit_evacuate_window
    - StripeSM::_write_buffer::is_empty
    - Dbg
    - pwrite
    - StripeSM::hash_text::get
    - CHECK_DIR
    - StripeSM::dirlen
    - DISK_BAD
    - StripeSM::flush_aggregate_write_buffer
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void StripeSM::shutdown(EThread *shutdown_thread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::_write_buffer::get_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1370,1
    - Dst: thread_holding::generator::random
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1372,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1377,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1378,1
    - Dst: StripeSM::open_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cont
    - allow_if_writers
    - max_writers
    argTypes:
    - CacheVC*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1387
    functionName: StripeSM::open_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - StripeSM::_write_buffer::get_bytes_pending_aggregation
    - ts::Metrics::Counter::increment
    - StripeSM::open_write
    - thread_holding::generator::random
    linkageType: ''
    returnType: int
    signature: int StripeSM::open_write(CacheVC *cont, int allow_if_writers, int max_writers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1393,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1394,1
    - Dst: StripeSM::open_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cont
    - allow_if_writers
    - max_writers
    argTypes:
    - CacheVC*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1398
    functionName: StripeSM::open_write_lock
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - StripeSM::open_write
    - is_locked
    linkageType: ''
    returnType: int
    signature: int StripeSM::open_write_lock(CacheVC *cont, int allow_if_writers,
      int max_writers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::close_write
      Src: /src/trafficserver/src/iocore/cache/StripeSM.cc:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: StripeSM::close_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 1
    functionsReached:
    - StripeSM::close_write
    linkageType: ''
    returnType: int
    signature: int StripeSM::close_write(CacheVC *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: StripeSM::recompute_hit_evacuate_window
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StripeSM::recompute_hit_evacuate_window()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:49,1
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc: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: compare_ushort
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned short const *>
    linkageType: ''
    returnType: int
    signature: int compare_ushort(void const *a, void const *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:56,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - part
    - whole
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: percent
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double percent(T part, U whole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:49,1
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc: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: compare_ushort
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned short const *>
    linkageType: ''
    returnType: int
    signature: int compare_ushort(void const *a, void const *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:56,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - part
    - whole
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: percent
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double percent(T part, U whole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:69,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:69,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:69,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: StripeInitInfo
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - memset
    - ats_pagesize
    - ats_memalign
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void StripeInitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutex::clear
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:77,1
    - Dst: free
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: ~StripeInitInfo()
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - free
    - mutex::clear
    linkageType: ''
    returnType: void
    signature: void ~StripeInitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:89,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:93,1
    - Dst: Stripe::_init_hash_text
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:95,1
    - Dst: Stripe::_init_data
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:96,1
    - Dst: Stripe::_init_directory
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:97,1
    - Dst: Stripe::dirlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:97,1
    - Dst: Stripe::headerlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - disk
    - blocks
    - dir_skip
    - avg_obj_size
    - fragment_size
    argTypes:
    - CacheDisk*
    - off_t
    - off_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: Stripe::Stripe
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - Stripe::dirlen
    - ROUND_TO_STORE_BLOCK
    - Stripe::_init_hash_text
    - Stripe::headerlen
    - Stripe::_init_data
    - Stripe::_init_directory
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Stripe::Stripe(CacheDisk *disk, off_t blocks, off_t dir_skip,
      int avg_obj_size, int fragment_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:104,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:107,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:107,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:108,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:109,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:110,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - disk
    - blocks
    - dir_skip
    argTypes:
    - CacheDisk*
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: Stripe::_init_hash_text
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - ink_strlcpy
    - static_cast<char *>
    - snprintf
    - ats_malloc
    - strlen
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Stripe::_init_hash_text(CacheDisk const *disk, off_t blocks, off_t
      dir_skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::_init_data_internal
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:117,1
    - Dst: Stripe::_init_data_internal
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:118,1
    - Dst: Stripe::_init_data_internal
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - store_block_size
    - avg_obj_size
    argTypes:
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: Stripe::_init_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - Stripe::_init_data_internal
    linkageType: ''
    returnType: void
    signature: void Stripe::_init_data(off_t store_block_size, int avg_obj_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::dirlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - avg_obj_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: Stripe::_init_data_internal
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - Stripe::dirlen
    linkageType: ''
    returnType: void
    signature: void Stripe::_init_data_internal(int avg_obj_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:146,1
    - Dst: static_cast<std::size_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:146,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:153,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:153,1
    - Dst: percent
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:154,1
    - Dst: ats_hugepage_enabled
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:155,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:156,1
    - Dst: ats_alloc_hugepage
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:156,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:159,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:159,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:159,1
    - Dst: reinterpret_cast<Dir *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:161,1
    - Dst: reinterpret_cast<StripteHeaderFooter *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:162,1
    - Dst: static_cast<std::size_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:163,1
    - Dst: reinterpret_cast<StripteHeaderFooter *>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - directory_size
    - header_size
    - footer_size
    argTypes:
    - std::size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: Stripe::_init_directory
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::size_t>
    - get
    - ink_release_assert
    - ats_alloc_hugepage
    - ats_memalign
    - ats_hugepage_enabled
    - ats_pagesize
    - static_cast<char *>
    - Dbg
    - reinterpret_cast<Dir *>
    - reinterpret_cast<StripteHeaderFooter *>
    - percent
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Stripe::_init_directory(std::size_t directory_size, int header_size,
      int footer_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:185,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:187,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:187,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:188,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:189,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:190,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:191,1
    - Dst: Stripe::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:194,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:203,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:204,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:207,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:214,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:215,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:219,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:219,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:224,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:226,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:228,1
    - Dst: Stripe::dir_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:233,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:236,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:237,1
    - Dst: dir_size
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:242,1
    - Dst: dir_big
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:242,1
    - Dst: qsort
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:250,1
    - Dst: min
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:260,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:261,1
    - Dst: freelist_length
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:263,1
    - Dst: max
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:269,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:272,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:274,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:277,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:278,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:280,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:282,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:284,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:287,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:287,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:288,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:288,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:289,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:290,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:291,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:291,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:292,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:293,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:294,1
    - Dst: ink_ctime_r
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:295,1
    - Dst: strlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:296,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:297,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:298,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:299,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:300,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:301,1
    - Dst: DIR_BLOCK_SIZE
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:303,1
    - Dst: DIR_BLOCK_SHIFT
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:309,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:310,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:313,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:315,1
    - Dst: printf
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:318,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 321
    functionName: Stripe::dir_check
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    - min
    - ink_ctime_r
    - Stripe::directory::get_segment
    - static_cast<float>
    - get
    - DIR_BLOCK_SHIFT
    - ink_zero
    - Stripe::dir_valid
    - max
    - dir_size
    - qsort
    - dir_bucket
    - dir_approx_size
    - dir_tag
    - DIR_BLOCK_SIZE
    - strlen
    - printf
    - static_cast<uint64_t>
    - ink_assert
    - memset
    - dir_head
    - dir_big
    - freelist_length
    - next_dir
    linkageType: ''
    returnType: int
    signature: int Stripe::dir_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::dirlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:326,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:327,1
    - Dst: Stripe::_init_dir
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:328,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - hw_sector_size
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 340
    functionName: Stripe::_clear_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - memset
    - Stripe::_init_dir
    - Stripe::dirlen
    - time
    linkageType: ''
    returnType: void
    signature: void Stripe::_clear_init(std::uint32_t hw_sector_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:349,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:352,1
    - Dst: Stripe::directory::free_entry
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:353,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: Stripe::_init_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 1
    functionsReached:
    - dir_bucket_row
    - Stripe::directory::free_entry
    - Stripe::directory::get_segment
    - dir_bucket
    linkageType: ''
    returnType: void
    signature: void Stripe::_init_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:363,1
    - Dst: Stripe::_write_buffer::flush
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:365,1
    - Dst: Stripe::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:369,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:370,1
    - Dst: Stripe::_write_buffer::reset_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: Stripe::flush_aggregate_write_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - Stripe::_write_buffer::get_buffer_pos
    - Stripe::_write_buffer::reset_buffer_pos
    - Stripe::_write_buffer::flush
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool Stripe::flush_aggregate_write_buffer(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::dir_agg_buf_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:380,1
    - Dst: Stripe::vol_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:384,1
    - Dst: Stripe::_write_buffer::copy_from
      Src: /src/trafficserver/src/iocore/cache/Stripe.cc:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - dir
    - nbytes
    argTypes:
    - char*
    - Dir
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: Stripe::copy_from_aggregate_write_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.cc
    functionUses: 0
    functionsReached:
    - Stripe::_write_buffer::copy_from
    - Stripe::dir_agg_buf_valid
    - Stripe::vol_offset
    linkageType: ''
    returnType: bool
    signature: bool Stripe::copy_from_aggregate_write_buffer(char *dest, Dir const
      &dir, size_t nbytes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DIR_MASK_TAG
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_MASK_TAG(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DIR_BLOCK_SHIFT
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SHIFT(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DIR_BLOCK_SIZE
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SIZE(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DIR_SIZE_WITH_BLOCK
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_SIZE_WITH_BLOCK(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CHECK_DIR
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_DIR(_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: CHECK_DIR
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_DIR(_d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: dir_index
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_index(_e, _i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: dir_assign
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_assign(_e, _x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: dir_assign_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_assign_data(_e, _x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: dir_is_empty
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_is_empty(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: dir_clear
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_clear(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: dir_clean
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_clean(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 9
    functionsReached:
    - dir_clear
    linkageType: ''
    returnType: void
    signature: void Dir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: dir_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_offset(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: dir_set_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_offset(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _e
    - ','
    - _w
    - ','
    - _b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: dir_bit
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_bit(_e, _w, _b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _e
    - ','
    - _w
    - ','
    - _b
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: dir_set_bit
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_bit(_e, _w, _b, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: dir_big
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_big(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: dir_set_big
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_big(_e, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: dir_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: dir_set_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_size(_e, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: dir_set_approx_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_approx_size(_e, _s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: dir_approx_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_approx_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: round_to_approx_dir_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: round_to_approx_dir_size(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: dir_tag
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_tag(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: dir_set_tag
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_tag(_e, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: dir_phase
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_phase(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: dir_set_phase
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_phase(_e, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: dir_head
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_head(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: dir_set_head
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_head(_e, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: dir_pinned
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_pinned(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: dir_set_pinned
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_pinned(_e, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: dir_next
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_next(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: dir_set_next
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_next(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: dir_prev
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_prev(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: dir_set_prev
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_prev(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: has_multiple_writers
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_multiple_writers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:252,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: CacheSync
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void CacheSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: Directory::entries
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Directory::entries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Dir *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:312,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: Directory::get_segment
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<char *>
    - reinterpret_cast<Dir *>
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      Directory::get_segment(int s) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _s
    - ','
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: dir_in_seg
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_in_seg(_s, _i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_tag
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:332,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:332,1
    - Dst: CacheKey*::slice32
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - Dir*
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: dir_compare_tag
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 4
    functionsReached:
    - DIR_MASK_TAG
    - CacheKey*::slice32
    - dir_tag
    linkageType: ''
    returnType: bool
    signature: bool dir_compare_tag(const Dir *e, const CacheKey *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:342,1
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - i
    - seg
    argTypes:
    - int64_t
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: dir_from_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      dir_from_offset(int64_t i, Dir *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_next
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:352,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - Dir*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: next_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 12
    functionsReached:
    - dir_from_offset
    - dir_next
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      next_dir(Dir *d, Dir *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:360,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:360,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:362,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:362,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - Dir*
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: dir_to_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const char *>
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t dir_to_offset(const Dir *d, const Dir *seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - seg
    argTypes:
    - int64_t
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: dir_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 11
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      dir_bucket(int64_t b, Dir *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/iocore/cache/P_CacheDir.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - Dir*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: dir_bucket_row
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDir.h
    functionUses: 5
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: Dir
    signature: 'Dir *

      dir_bucket_row(Dir *b, int64_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DISK_BAD
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISK_BAD(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: DISK_BAD_SIGNALLED
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISK_BAD_SIGNALLED(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SET_DISK_BAD
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DISK_BAD(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: SET_DISK_OKAY
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DISK_OKAY(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: DiskStripeBlockQueue
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiskStripeBlockQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/P_CacheDisk.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: CacheDisk
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheDisk.h
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void CacheDisk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stripe*::vol_offset_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:100,1
    - Dst: Stripe*::vol_relative_length
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - stripe
    - vol_map
    - offset
    argTypes:
    - Stripe*
    - char*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: next_in_map
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - Stripe*::vol_relative_length
    - Stripe*::vol_offset_to_offset
    linkageType: ''
    returnType: off_t
    signature: off_t next_in_map(Stripe *stripe, char *vol_map, off_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Stripe*::vol_offset_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:126,1
    - Dst: Stripe*::vol_relative_length
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:127,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:129,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:129,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:131,1
    - Dst: Stripe*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:136,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:138,1
    - Dst: dir_bucket_loop_fix
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:139,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:143,1
    - Dst: Stripe*::dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:143,1
    - Dst: Stripe*::dir_agg_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:143,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:143,1
    - Dst: Stripe*::vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:144,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - Stripe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: make_vol_map
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - memset
    - dir_head
    - dir_bucket
    - dir_bucket_loop_fix
    - Stripe*::vol_offset
    - Stripe*::directory::get_segment
    - dir_offset
    - static_cast<char *>
    - next_dir
    - Stripe*::vol_relative_length
    - Stripe*::dir_agg_valid
    - ats_malloc
    - Stripe*::dir_valid
    - Stripe*::vol_offset_to_offset
    linkageType: ''
    returnType: char
    signature: 'char *

      make_vol_map(Stripe *stripe)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:164,1
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:164,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:165,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: CacheVC::CacheVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<CacheVC *>
    - reinterpret_cast<void *>
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void CacheVC::CacheVC()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:171,1
    - Dst: set_writer
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:172,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:173,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:178,1
    - Dst: Continuation*::mutex::thread_holding::schedule_imm_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - c
    - nbytes
    - abuf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: CacheVC::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - set_writer
    - Continuation*::mutex::thread_holding::schedule_imm_local
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      CacheVC::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *abuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:189,1
    - Dst: set_writer
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:190,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:191,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:197,1
    - Dst: Continuation*::mutex::thread_holding::schedule_imm_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - c
    - nbytes
    - abuf
    - offset
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: CacheVC::do_io_pread
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - set_writer
    - Continuation*::mutex::thread_holding::schedule_imm_local
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      CacheVC::do_io_pread(Continuation *c, int64_t nbytes, MIOBuffer *abuf, int64_t
      offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:208,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:209,1
    - Dst: set_reader
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:210,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:211,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:216,1
    - Dst: Continuation*::mutex::thread_holding::schedule_imm_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - c
    - nbytes
    - abuf
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: CacheVC::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - set_reader
    - Continuation*::mutex::thread_holding::schedule_imm_local
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      CacheVC::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *abuf,
      bool owner)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:227,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:227,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:230,1
    - Dst: CacheVC::die
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - alerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: CacheVC::do_io_close
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - DDbg
    - CacheVC::die
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void CacheVC::do_io_close(int alerrno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:239,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:241,1
    - Dst: buffer::mbuf::max_read_avail
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:246,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:247,1
    - Dst: get_reader
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:249,1
    - Dst: VIO*::mutex::thread_holding::schedule_imm_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - avio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: CacheVC::reenable
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - buffer::mbuf::max_read_avail
    - DDbg
    - VIO*::mutex::thread_holding::schedule_imm_local
    - get_reader
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheVC::reenable(VIO *avio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:258,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:260,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:263,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:264,1
    - Dst: VIO*::mutex::thread_holding::schedule_imm_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - avio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: CacheVC::reenable_re
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - DDbg
    - VIO*::mutex::thread_holding::schedule_imm_local
    - is_io_in_progress
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheVC::reenable_re(VIO *avio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheHTTPInfo **>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:276,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - i
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: CacheVC::get_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - static_cast<CacheHTTPInfo **>
    - static_cast<int *>
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::get_data(int i, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: CacheVC::get_object_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CacheVC::get_object_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: CacheVC::set_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::set_data(int /* i ATS_UNUSED */, void * /* data */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: CacheVC::dead
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheVC::dead(int /* event ATS_UNUSED */, Event * /*e ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:320,1
    - Dst: unmarshal_func
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:323,1
    - Dst: Ptr<IOBufferData>::get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:323,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - doc
    - buf
    - okay
    argTypes:
    - Doc*
    - Ptr<IOBufferData>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 332
    functionName: unmarshal_helper
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - Ptr<IOBufferData>::get
    - unmarshal_func
    - Doc*::hdr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void unmarshal_helper(Doc *doc, Ptr<IOBufferData> &buf, int &okay)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:338,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:339,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:339,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:343,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:344,1
    - Dst: DISK_BAD
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:347,1
    - Dst: Error
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:349,1
    - Dst: hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:349,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:353,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:354,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:355,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:357,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:357,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:358,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:359,1
    - Dst: hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:361,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:367,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:367,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:368,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:369,1
    - Dst: ts::VersionNumber
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:371,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:374,1
    - Dst: hash_text::get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:375,1
    - Dst: slice64
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:375,1
    - Dst: slice64
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:375,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:379,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:381,1
    - Dst: Doc*::key::toHexStr
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:383,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:383,1
    - Dst: Doc*::prefix_len
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:383,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:387,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:395,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:395,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:398,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:400,1
    - Dst: unmarshal_helper
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:413,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:425,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:426,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:428,1
    - Dst: ram_cache::put
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:429,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:429,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:436,1
    - Dst: unmarshal_helper
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:442,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:448,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 77
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 449
    functionName: CacheVC::handleReadDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - ts::VersionNumber
    - dir_offset
    - dir_valid
    - this_ethread
    - CacheVC::cancel_trigger
    - Doc*::hdr
    - get
    - handleEvent
    - is_locked
    - Doc*::data_len
    - Doc*::key::toHexStr
    - reinterpret_cast<Doc *>
    - is_io_in_progress
    - MUTEX_TRY_LOCK
    - data
    - ram_cache::put
    - set_io_not_in_progress
    - Error
    - unmarshal_helper
    - Dbg
    - DISK_BAD
    - Note
    - ink_assert
    - Doc*::prefix_len
    - static_cast<int64_t>
    - 'on'
    - hash_text::get
    - ok
    - reinterpret_cast<char *>
    - slice64
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::handleReadDone(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:455,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:459,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:459,1
    - Dst: CacheVC::load_from_ram_cache
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:460,1
    - Dst: CacheVC::load_from_last_open_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:462,1
    - Dst: CacheVC::load_from_aggregation_buffer
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:464,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:466,1
    - Dst: vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:471,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:472,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:472,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:475,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:475,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:476,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:479,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:480,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:480,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:484,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:485,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:493,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:493,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 451
    functionDepth: 5
    functionLinenumber: 451
    functionLinenumberEnd: 504
    functionName: CacheVC::handleRead
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 1
    functionsReached:
    - static_cast<off_t>
    - ts::Metrics::Counter::increment
    - SET_HANDLER
    - CacheVC::load_from_aggregation_buffer
    - ink_aio_read
    - CacheVC::load_from_ram_cache
    - reinterpret_cast<Doc *>
    - iobuffer_size_to_index
    - this_ethread
    - CacheVC::load_from_last_open_read_call
    - CacheVC::cancel_trigger
    - data
    - new_IOBufferData
    - ink_assert
    - vol_offset
    linkageType: ''
    returnType: int
    signature: int CacheVC::handleRead(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:509,1
    - Dst: CacheVC::stripe::ram_cache::get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:510,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: CacheVC::load_from_ram_cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - CacheVC::stripe::ram_cache::get
    - dir_offset
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::load_from_ram_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: CacheVC::load_from_last_open_read_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 1
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::load_from_last_open_read_call()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::stripe::dir_agg_buf_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:528,1
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:532,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:532,1
    - Dst: CacheVC::buf::data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:533,1
    - Dst: CacheVC::stripe::copy_from_aggregate_write_buffer
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:534,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 538
    functionName: CacheVC::load_from_aggregation_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 1
    functionsReached:
    - CacheVC::stripe::dir_agg_buf_valid
    - CacheVC::stripe::copy_from_aggregate_write_buffer
    - iobuffer_size_to_index
    - CacheVC::buf::data
    - new_IOBufferData
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::load_from_aggregation_buffer()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:543,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:544,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:546,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:547,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:548,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:552,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:558,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:560,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:561,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:570,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:574,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:579,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:584,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:584,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:587,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:588,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:590,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:600,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:601,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:608,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:608,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:609,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:609,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:611,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:614,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:614,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:615,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:615,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:618,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:620,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 621
    functionName: CacheVC::removeEvent
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - directory::remove
    - open_read
    - reinterpret_cast<void *>
    - dir_valid
    - free_CacheVC
    - this_ethread
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - directory::probe
    - ts::Metrics::Counter::increment
    - is_locked
    - reinterpret_cast<Doc *>
    - MUTEX_TRY_LOCK
    - data
    - static_cast<int>
    - ink_release_assert
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - ink_assert
    - continuation::handleEvent
    - ok
    - open_write
    - VC_SCHED_LOCK_RETRY
    - close_write
    linkageType: ''
    returnType: int
    signature: int CacheVC::removeEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:626,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:628,1
    - Dst: empty
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:634,1
    - Dst: ReplaceablePtr<CacheHostTable>::ScopedReader::Match
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:636,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:658,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:659,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:659,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:662,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 664
    functionName: CacheVC::scanStripe
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - ReplaceablePtr<CacheHostTable>::ScopedReader::Match
    - schedule_in
    - HRTIME_MSECONDS
    - Dbg
    - free_CacheVC
    - continuation::handleEvent
    - empty
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::scanStripe(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:669,1
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:679,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:680,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:682,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:685,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:686,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:687,1
    - Dst: thread_holding::schedule_in_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:688,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:688,1
    - Dst: make_vol_map
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:694,1
    - Dst: next_in_map
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:695,1
    - Dst: vol_offset_to_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:695,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:696,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:700,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:703,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:707,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:708,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:712,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:712,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:719,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:722,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:722,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:722,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:723,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:725,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:725,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:726,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:732,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:742,1
    - Dst: dir_agg_valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:745,1
    - Dst: dir_head
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:745,1
    - Dst: vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:746,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:746,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:746,1
    - Dst: Doc*::data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:751,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:751,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:751,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:756,1
    - Dst: HTTPInfo::unmarshal
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:759,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:759,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:761,1
    - Dst: CacheVC::load_http_info
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:768,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:773,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:774,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:778,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:779,1
    - Dst: auto::length
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:779,1
    - Dst: memccpy
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:780,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:780,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:782,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:785,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:790,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:795,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:795,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:801,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:806,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:810,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:811,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:812,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:820,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:825,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:826,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:827,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:829,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:830,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:833,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:833,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:842,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:844,1
    - Dst: CacheVC::scanOpenWrite
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:845,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:851,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:855,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:855,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:855,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:856,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:858,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:858,1
    - Dst: memmove
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:860,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:860,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:860,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:863,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:866,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:866,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:867,1
    - Dst: next_in_map
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:868,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:869,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:871,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:877,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:878,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:878,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:884,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:884,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:888,1
    - Dst: ink_aio_read
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:888,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:889,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:894,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:895,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:897,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 202
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 666
    functionDepth: 5
    functionLinenumber: 666
    functionLinenumberEnd: 898
    functionName: CacheVC::scanObject
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - schedule_in
    - Doc*::data
    - insert
    - reinterpret_cast<void *>
    - memmove
    - free_CacheVC
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - Doc*::hdr
    - directory::probe
    - get
    - is_locked
    - make_vol_map
    - remove
    - static_cast<char *>
    - HTTPInfo::unmarshal
    - reinterpret_cast<Doc *>
    - auto::data
    - data
    - count
    - CACHE_TRY_LOCK
    - static_cast<int>
    - auto::length
    - set_io_not_in_progress
    - CacheVC::load_http_info
    - vol_offset_to_offset
    - Dbg
    - next_in_map
    - dir_agg_valid
    - clear
    - ink_assert
    - continuation::handleEvent
    - dir_head
    - memccpy
    - HRTIME_MSECONDS
    - ok
    - static_cast<std::string_view::size_type>
    - thread_holding::schedule_in_local
    - ink_aio_read
    - CacheVC::scanOpenWrite
    - reinterpret_cast<char *>
    - round_to_approx_size
    - vol_offset
    linkageType: ''
    returnType: int
    signature: int CacheVC::scanObject(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:903,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:904,1
    - Dst: destroy
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:905,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:906,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: CacheVC::scanRemoveDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - Dbg
    - destroy
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::scanRemoveDone(int /* event ATS_UNUSED */, Event * /*
      e ATS_UNUSED */)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:913,1
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:914,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:917,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:918,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:924,1
    - Dst: CacheVC::scanObject
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:925,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:930,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:931,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:932,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:933,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:936,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:937,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:939,1
    - Dst: thread_holding::schedule_in_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:940,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:944,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:946,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:948,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:948,1
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:951,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:954,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:957,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:957,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:958,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:958,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:958,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:962,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:964,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:965,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:965,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:971,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:972,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:973,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:974,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:975,1
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:977,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:978,1
    - Dst: marshal_length
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:988,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:990,1
    - Dst: CacheVC::do_write_call
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:991,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:994,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 910
    functionDepth: 6
    functionLinenumber: 910
    functionLinenumberEnd: 997
    functionName: CacheVC::scanOpenWrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 1
    functionsReached:
    - insert
    - CacheVC::scanObject
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - directory::probe
    - dir_set_tag
    - get
    - dir_assign
    - is_locked
    - handleEvent
    - Doc*::key::slice32
    - close_write
    - reinterpret_cast<Doc *>
    - data
    - count
    - CACHE_TRY_LOCK
    - marshal_length
    - Dbg
    - clear
    - ink_assert
    - continuation::handleEvent
    - memcmp
    - CacheVC::do_write_call
    - thread_holding::schedule_in_local
    - reinterpret_cast<char *>
    - open_write
    - VC_SCHED_LOCK_RETRY
    - round_to_approx_size
    linkageType: ''
    returnType: int
    signature: int CacheVC::scanOpenWrite(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1002,1
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1003,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1005,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1006,1
    - Dst: directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1008,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1010,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1012,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1012,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1013,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1014,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1015,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1016,1
    - Dst: thread_holding::schedule_in_local
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1018,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1021
    functionName: CacheVC::scanUpdateDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - handleEvent
    - is_locked
    - directory::overwrite
    - directory::insert
    - open_read
    - HRTIME_MSECONDS
    - thread_holding::schedule_in_local
    - Dbg
    - SET_HANDLER
    - CacheVC::cancel_trigger
    - close_write
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheVC::scanUpdateDone(int /* event ATS_UNUSED */, Event * /*
      e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1030,1
    - Dst: CacheHTTPInfo*::object_key_set
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1032,1
    - Dst: CacheHTTPInfo*::object_size_set
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1033,1
    - Dst: CacheHTTPInfo*::object_key_set
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1035,1
    - Dst: CacheHTTPInfo*::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1039,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1039,1
    - Dst: MIMEField*::value_get_int64
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1040,1
    - Dst: CacheHTTPInfo*::m_alt::m_response_hdr::status_get
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1040,1
    - Dst: CacheHTTPInfo*::object_size_set
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1044,1
    - Dst: copy_shallow
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1049,1
    - Dst: CacheHTTPInfo*::clear
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ainfo
    argTypes:
    - CacheHTTPInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1051
    functionName: CacheVC::set_http_info
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::object_size_set
    - CacheHTTPInfo*::m_alt::m_response_hdr::field_find
    - static_cast<std::string_view>
    - MIMEField*::value_get_int64
    - CacheHTTPInfo*::m_alt::m_response_hdr::status_get
    - CacheHTTPInfo*::object_key_set
    - copy_shallow
    - CacheHTTPInfo*::clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheVC::set_http_info(CacheHTTPInfo *ainfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ainfo
    argTypes:
    - CacheHTTPInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1057
    functionName: CacheVC::get_http_info
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheVC::get_http_info(CacheHTTPInfo **ainfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1062,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1062,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1063,1
    - Dst: CacheVC::get_frag_table
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1064
    functionName: CacheVC::get_frag_table
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 2
    functionsReached:
    - CacheVC::get_frag_table
    - ink_assert
    - valid
    linkageType: ''
    returnType: HTTPInfo::FragOffset
    signature: 'HTTPInfo::FragOffset *

      CacheVC::get_frag_table()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: CacheVC::is_pread_capable
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::is_pread_capable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1076,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheVC.cc:1080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - time_pin
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1085
    functionName: CacheVC::set_pin_in_cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool CacheVC::set_pin_in_cache(time_t time_pin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: CacheVC::get_pin_in_cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t CacheVC::get_pin_in_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:33,1
    - Dst: AggregateWriteBuffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - doc
    - approx_size
    argTypes:
    - Doc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: AggregateWriteBuffer::add
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - AggregateWriteBuffer::add_bytes_pending_aggregation
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer::add(Doc const *doc, int approx_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Doc::Doc
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:41,1
    - Dst: AggregateWriteBuffer::add_bytes_pending_aggregation
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - approx_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: AggregateWriteBuffer::emplace
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc
    functionUses: 0
    functionsReached:
    - Doc::Doc
    - AggregateWriteBuffer::add_bytes_pending_aggregation
    linkageType: ''
    returnType: Doc
    signature: 'Doc *

      AggregateWriteBuffer::emplace(int approx_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:50,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - write_pos
    argTypes:
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: AggregateWriteBuffer::flush
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc
    functionUses: 0
    functionsReached:
    - pwrite
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool AggregateWriteBuffer::flush(int fd, off_t write_pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:61,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:61,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - offset
    - nbytes
    argTypes:
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: AggregateWriteBuffer::copy_from
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<size_t>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer::copy_from(char *dest, int offset, size_t
      nbytes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: count
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHttp.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/iocore/cache/P_CacheHttp.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: reset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHttp.h
    functionUses: 44
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheHttp.h:77,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/P_CacheHttp.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: CacheHTTPInfoVector::get
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHttp.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: CacheHTTPInfo
    signature: 'CacheHTTPInfo *

      CacheHTTPInfoVector::get(int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:50,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:51,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: ~CacheHostRecord()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ~CacheHostRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CacheHostRecord
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: CacheHostResult
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHostResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: CacheHostMatcher::getNumElements
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNumElements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: CacheHostMatcher::getDataArray
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheHostRecord
    signature: "CacheHostRecord *\n  getDataArray() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: CacheHostMatcher::getHLookup
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: HostLookup
    signature: "HostLookup *\n  getHLookup() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ReplaceablePtr::ReplaceablePtr
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReplaceablePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~ReplaceablePtr()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReplaceablePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReplaceablePtr::reset
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: ReplaceablePtr::reset
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 1
    functionsReached:
    - ReplaceablePtr::reset
    linkageType: ''
    returnType: void
    signature: void reset(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReplaceablePtr<T>*::m::lock_shared
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - ReplaceablePtr<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ReplaceablePtr::ScopedReader::ScopedReader
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - ReplaceablePtr<T>*::m::lock_shared
    linkageType: ''
    returnType: void
    signature: void ScopedReader(ReplaceablePtr<T> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m::unlock_shared
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~ScopedReader()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - m::unlock_shared
    linkageType: ''
    returnType: void
    signature: void ~ScopedReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h::get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: "*\n    operator->()"
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - h::get
    linkageType: ''
    returnType: T
    signature: "T *\n    operator->()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h::get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ReplaceablePtr::ScopedReader::get
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - h::get
    linkageType: ''
    returnType: T
    signature: "T *\n    get()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ReplaceablePtr::ScopedReader::ScopedReader
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedReader(const ScopedReader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '&operator=(const ScopedReader &)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedReader
    signature: ScopedReader &operator=(const ScopedReader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReplaceablePtr<T>*::m::lock
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - ReplaceablePtr<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: ReplaceablePtr::ScopedWriter::ScopedWriter
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - ReplaceablePtr<T>*::m::lock
    linkageType: ''
    returnType: void
    signature: void ScopedWriter(ReplaceablePtr<T> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m::unlock
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ScopedWriter()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - m::unlock
    linkageType: ''
    returnType: void
    signature: void ~ScopedWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h::get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: "*\n    operator->()"
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - h::get
    linkageType: ''
    returnType: T
    signature: "T *\n    operator->()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h::get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: ReplaceablePtr::ScopedWriter::get
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - h::get
    linkageType: ''
    returnType: T
    signature: "T *\n    get()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: ReplaceablePtr::ScopedWriter::ScopedWriter
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedWriter(const ScopedWriter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '&operator=(const ScopedWriter &)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ScopedWriter
    signature: ScopedWriter &operator=(const ScopedWriter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: ReplaceablePtr::ReplaceablePtr
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReplaceablePtr(const ReplaceablePtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '&operator=(const ReplaceablePtr &)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReplaceablePtr
    signature: ReplaceablePtr &operator=(const ReplaceablePtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: CacheHostTable::getEntryCount
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getEntryCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: CacheHostTable::getHostMatcher
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CacheHostMatcher
    signature: "CacheHostMatcher *\n  getHostMatcher() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ReplaceablePtr<CacheHostTable>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: CacheHostTable::register_config_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: void
    signature: void register_config_callback(ReplaceablePtr<CacheHostTable> *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appt
    argTypes:
    - ReplaceablePtr<CacheHostTable>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: CacheHostTableConfig
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheHostTableConfig(ReplaceablePtr<CacheHostTable> *appt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: ~CacheHostTableConfig()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheHostTableConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:282,1
    - Dst: CacheHostTable::CacheHostTable
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 2
    functionsReached:
    - reset
    - CacheHostTable::CacheHostTable
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/trafficserver/src/iocore/cache/P_CacheHosting.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: clear_all
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_CacheHosting.h
    functionUses: 0
    functionsReached:
    - pop
    linkageType: ''
    returnType: void
    signature: void clear_all()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~RamCache()
    functionSourceFile: /src/trafficserver/src/iocore/cache/P_RamCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RamCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ROUND_TO_STORE_BLOCK
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_STORE_BLOCK(_x)
  - 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: ROUND_TO_CACHE_BLOCK
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_CACHE_BLOCK(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ROUND_TO_SECTOR
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_SECTOR(_p, _x)
  - 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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ROUND_TO
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO(_x, _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CacheVol
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheVol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_to_approx_dir_size
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:162,1
    - Dst: ROUND_TO_SECTOR
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: Stripe::round_to_approx_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached:
    - ROUND_TO_SECTOR
    - round_to_approx_dir_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Stripe::round_to_approx_size(uint32_t l) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: Stripe::headerlen
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - ROUND_TO_STORE_BLOCK
    linkageType: ''
    returnType: int
    signature: int Stripe::headerlen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::headerlen
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:175,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:176,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: Stripe::dirlen
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 3
    functionsReached:
    - ROUND_TO_STORE_BLOCK
    - Stripe::headerlen
    linkageType: ''
    returnType: size_t
    signature: size_t Stripe::dirlen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:186,1
    - Dst: Stripe::vol_in_phase_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:186,1
    - Dst: Stripe::vol_out_of_phase_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Stripe::dir_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - dir_phase
    - Stripe::vol_in_phase_valid
    - Stripe::vol_out_of_phase_valid
    linkageType: ''
    returnType: bool
    signature: bool Stripe::dir_valid(const Dir *dir) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:195,1
    - Dst: Stripe::vol_in_phase_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:195,1
    - Dst: Stripe::vol_out_of_phase_agg_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: Stripe::dir_agg_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached:
    - Stripe::vol_out_of_phase_agg_valid
    - dir_phase
    - Stripe::vol_in_phase_valid
    linkageType: ''
    returnType: bool
    signature: bool Stripe::dir_agg_valid(const Dir *dir) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_phase
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:201,1
    - Dst: Stripe::vol_in_phase_agg_buf_valid
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: Stripe::dir_agg_buf_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - Stripe::vol_in_phase_agg_buf_valid
    - dir_phase
    linkageType: ''
    returnType: bool
    signature: bool Stripe::dir_agg_buf_valid(const Dir *dir) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: Stripe::vol_out_of_phase_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int Stripe::vol_out_of_phase_valid(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Stripe::vol_out_of_phase_agg_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int Stripe::vol_out_of_phase_agg_valid(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: Stripe::vol_out_of_phase_write_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int Stripe::vol_out_of_phase_write_valid(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:225,1
    - Dst: Stripe::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: Stripe::vol_in_phase_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 2
    functionsReached:
    - Stripe::_write_buffer::get_buffer_pos
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int Stripe::vol_in_phase_valid(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::vol_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:232,1
    - Dst: Stripe::vol_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:233,1
    - Dst: Stripe::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: Stripe::vol_in_phase_agg_buf_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 1
    functionsReached:
    - Stripe::_write_buffer::get_buffer_pos
    - Stripe::vol_offset
    linkageType: ''
    returnType: int
    signature: int Stripe::vol_in_phase_agg_buf_valid(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:239,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: Stripe::vol_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 2
    functionsReached:
    - static_cast<off_t>
    - dir_offset
    linkageType: ''
    returnType: off_t
    signature: off_t Stripe::vol_offset(Dir const *e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Stripe::offset_to_vol_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t Stripe::offset_to_vol_offset(off_t pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: Stripe::vol_offset_to_offset
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t Stripe::vol_offset_to_offset(off_t pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start_offset
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: Stripe::vol_relative_length
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t Stripe::vol_relative_length(off_t start_offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stripe::_write_buffer::get_buffer_pos
      Src: /src/trafficserver/src/iocore/cache/Stripe.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: Stripe::get_agg_buf_pos
    functionSourceFile: /src/trafficserver/src/iocore/cache/Stripe.h
    functionUses: 0
    functionsReached:
    - Stripe::_write_buffer::get_buffer_pos
    linkageType: ''
    returnType: int
    signature: int Stripe::get_agg_buf_pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegressionSM::RegressionSM
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: clone
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.h
    functionUses: 12
    functionsReached:
    - RegressionSM::RegressionSM
    linkageType: ''
    returnType: RegressionSM
    signature: "RegressionSM *\n  clone()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/RegressionSM.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: RegressionSM
    functionSourceFile: /src/trafficserver/src/iocore/cache/RegressionSM.h
    functionUses: 7
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void RegressionSM(RegressionTest *at = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheHTTPInfoVector*::count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:53,1
    - Dst: CacheHTTPInfoVector*::get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:59,1
    - Dst: CacheHTTPInfo*::compare_object_key
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cache_vector
    - key
    argTypes:
    - CacheHTTPInfoVector*
    - CacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: get_alternate_index
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 2
    functionsReached:
    - CacheHTTPInfoVector*::get
    - CacheHTTPInfo*::compare_object_key
    - CacheHTTPInfoVector*::count
    linkageType: ''
    returnType: int
    signature: int get_alternate_index(CacheHTTPInfoVector *cache_vector, CacheKey
      key)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:76,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:78,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:82,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:83,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:84,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:87,1
    - Dst: get_alternate_index
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:91,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:92,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:95,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:97,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:99,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:100,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:105,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:106,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:107,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:114,1
    - Dst: get_alternate_index
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:115,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:126,1
    - Dst: CacheHTTPInfo*::request_get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:127,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:128,1
    - Dst: HTTPHdr*::mark_target_dirty
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:132,1
    - Dst: HTTPHdr*::url_printed_length
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:136,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:138,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:138,1
    - Dst: HTTPHdr*::url_print
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:142,1
    - Dst: ats_scoped_mem::get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:142,1
    - Dst: ats_scoped_mem::get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:143,1
    - Dst: Note
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:145,1
    - Dst: Status
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:147,1
    - Dst: ats_scoped_mem::get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:149,1
    - Dst: remove
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:153,1
    - Dst: get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:162,1
    - Dst: copy_frag_offsets_from
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:163,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:163,1
    - Dst: insert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:165,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:168,1
    - Dst: has_multiple_writers
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:168,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:169,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:169,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:170,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:170,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:170,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:183,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:186,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:187,1
    - Dst: Doc*::key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:187,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:188,1
    - Dst: marshal_length
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:191,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:194,1
    - Dst: CacheVC::do_write_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:195,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:198,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 201
    functionName: CacheVC::updateVector
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - insert
    - get_alternate_index
    - directory::remove
    - valid
    - SET_HANDLER
    - CacheVC::cancel_trigger
    - CacheHTTPInfo*::request_get
    - get
    - handleEvent
    - is_locked
    - Doc*::data_len
    - Doc*::key::slice32
    - remove
    - static_cast<char *>
    - reinterpret_cast<Doc *>
    - data
    - count
    - HTTPHdr*::mark_target_dirty
    - Status
    - CACHE_TRY_LOCK
    - HTTPHdr*::url_printed_length
    - marshal_length
    - HTTPHdr*::valid
    - CacheVC::openWriteCloseDir
    - Dbg
    - ats_scoped_mem::get
    - Note
    - ink_assert
    - static_cast<int64_t>
    - get_frag_offset_count
    - copy_frag_offsets_from
    - CacheVC::do_write_call
    - HTTPHdr*::url_print
    - slice32
    - has_multiple_writers
    - ats_malloc
    - VC_SCHED_LOCK_RETRY
    linkageType: ''
    returnType: int
    signature: int CacheVC::updateVector(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:242,1
    - Dst: set_agg_write_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:245,1
    - Dst: round_to_approx_size
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:251,1
    - Dst: add_writer
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:252,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:253,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:254,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:255,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:256,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:261,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:263,1
    - Dst: aggWrite
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: CacheVC::handleWrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 2
    functionsReached:
    - handleEvent
    - ts::Metrics::Counter::increment
    - aggWrite
    - add_writer
    - set_agg_write_in_progress
    - is_io_in_progress
    - round_to_approx_size
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheVC::handleWrite(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:272,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:274,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:275,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:276,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:277,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:277,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:278,1
    - Dst: close_write
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:280,1
    - Dst: directory::remove
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:282,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:288,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:288,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:292,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:293,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:293,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:295,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:295,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:295,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:306,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:308,1
    - Dst: std::clamp
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:308,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:309,1
    - Dst: std::clamp
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:309,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:313,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:313,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:314,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:314,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:317,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 318
    functionName: CacheVC::openWriteCloseDir
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 2
    functionsReached:
    - directory::remove
    - reinterpret_cast<void *>
    - free_CacheVC
    - this_ethread
    - SET_HANDLER
    - CacheVC::cancel_trigger
    - ts::Metrics::Counter::increment
    - is_locked
    - is_io_in_progress
    - std::clamp
    - CACHE_TRY_LOCK
    - cont::handleEvent
    - DDbg
    - Dbg
    - ink_assert
    - 'on'
    - slice32
    - DIR_MASK_TAG
    - VC_SCHED_LOCK_RETRY
    - close_write
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteCloseDir(int /* event ATS_UNUSED */, Event *
      /* e ATS_UNUSED */)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:324,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:325,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:329,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:330,1
    - Dst: VC_LOCK_RETRY_EVENT
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:331,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:334,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:337,1
    - Dst: dir_is_empty
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:339,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:340,1
    - Dst: directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:343,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:346,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:347,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:359,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:360,1
    - Dst: single_doc_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:360,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 366
    functionName: CacheVC::openWriteCloseHeadDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - dir_is_empty
    - is_locked
    - directory::insert
    - directory::overwrite
    - set_io_not_in_progress
    - dir_assign
    - VC_LOCK_RETRY_EVENT
    - ok
    - CacheVC::openWriteCloseDir
    - single_doc_key::slice32
    - dir_valid
    - is_io_in_progress
    - ink_assert
    - dir_set_tag
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteCloseHeadDone(int event, Event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:371,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:373,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:374,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:374,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:376,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:384,1
    - Dst: CacheVC::updateVector
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:385,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:388,1
    - Dst: CacheVC::do_write_lock
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 391
    functionName: CacheVC::openWriteCloseHead
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - CacheVC::updateVector
    - ok
    - CacheVC::openWriteCloseDir
    - CacheVC::do_write_lock
    - SET_HANDLER
    - CacheVC::cancel_trigger
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteCloseHead(int event, Event *e)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:397,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:400,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:401,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:404,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:405,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:408,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:408,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:409,1
    - Dst: VC_LOCK_RETRY_EVENT
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:410,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:413,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:418,1
    - Dst: push_frag_offset
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:419,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:424,1
    - Dst: iobufferblock_skip
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:425,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:425,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:426,1
    - Dst: CacheVC::do_write_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:432,1
    - Dst: CacheVC::openWriteCloseHead
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:438,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 442
    functionName: CacheVC::openWriteCloseDataDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - iobufferblock_skip
    - push_frag_offset
    - valid
    - this_ethread
    - CacheVC::cancel_trigger
    - get
    - handleEvent
    - is_locked
    - next_CacheKey
    - is_io_in_progress
    - CACHE_TRY_LOCK
    - directory::insert
    - set_io_not_in_progress
    - CacheVC::openWriteCloseDir
    - ink_assert
    - VC_LOCK_RETRY_EVENT
    - CacheVC::do_write_call
    - ok
    - CacheVC::openWriteCloseHead
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteCloseDataDone(int event, Event *e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:447,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:448,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:452,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:453,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:454,1
    - Dst: CacheVC::updateVector
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:460,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:465,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:468,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:469,1
    - Dst: CacheVC::do_write_lock_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:474,1
    - Dst: CacheVC::openWriteCloseHead
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:476,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:479,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 481
    functionName: CacheVC::openWriteClose
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - CacheVC::updateVector
    - set_io_not_in_progress
    - CacheVC::do_write_lock_call
    - ok
    - CacheVC::openWriteCloseDir
    - is_io_in_progress
    - CacheVC::cancel_trigger
    - CacheVC::openWriteCloseHead
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteClose(int event, Event *e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:486,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:488,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:489,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:493,1
    - Dst: CacheVC::die
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:496,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:498,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:499,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:502,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:503,1
    - Dst: VC_LOCK_RETRY_EVENT
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:504,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:509,1
    - Dst: valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:514,1
    - Dst: push_frag_offset
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:515,1
    - Dst: directory::insert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:520,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:521,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:521,1
    - Dst: slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:521,1
    - Dst: iobufferblock_skip
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:522,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:522,1
    - Dst: next_CacheKey
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:523,1
    - Dst: CacheVC::die
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:526,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:528,1
    - Dst: CacheVC::openWriteMain
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 530
    functionName: CacheVC::openWriteWriteDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - iobufferblock_skip
    - push_frag_offset
    - valid
    - CacheVC::openWriteMain
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - get
    - is_locked
    - next_CacheKey
    - is_io_in_progress
    - CACHE_TRY_LOCK
    - directory::insert
    - set_io_not_in_progress
    - DDbg
    - CacheVC::die
    - CacheVC::calluser
    - ink_assert
    - VC_LOCK_RETRY_EVENT
    - ok
    - slice32
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteWriteDone(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - target_frag_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: target_fragment_size
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: int
    signature: int target_fragment_size(int target_frag_size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:544,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:546,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:546,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:548,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:549,1
    - Dst: get_writer
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:552,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:556,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:558,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:561,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:562,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:566,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:566,1
    - Dst: get_reader
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:567,1
    - Dst: target_fragment_size
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:570,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:576,1
    - Dst: get_reader
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:581,1
    - Dst: get_reader
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:582,1
    - Dst: get_reader
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:585,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:589,1
    - Dst: CacheVC::calluser
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:599,1
    - Dst: ntodo
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:603,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:612,1
    - Dst: CacheVC::openWriteClose
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:613,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:615,1
    - Dst: CacheVC::do_write_lock_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:616,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 541
    functionDepth: 6
    functionLinenumber: 541
    functionLinenumberEnd: 617
    functionName: CacheVC::openWriteMain
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - target_fragment_size
    - CacheVC::do_write_lock_call
    - SET_HANDLER
    - CacheVC::openWriteClose
    - CacheVC::calluser
    - get_reader
    - is_io_in_progress
    - get_writer
    - static_cast<int64_t>
    - CacheVC::cancel_trigger
    - static_cast<uint64_t>
    - ink_assert
    - ntodo
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteMain(int /* event ATS_UNUSED */, Event * /* e
      ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:623,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:630,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:632,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:634,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:637,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:637,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:646,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:646,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:647,1
    - Dst: VC_LOCK_RETRY_EVENT
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:648,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:650,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:652,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:659,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:660,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:662,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 663
    functionName: CacheVC::openWriteOverwrite
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - CACHE_TRY_LOCK
    - handleEvent
    - is_locked
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - VC_LOCK_RETRY_EVENT
    - ok
    - CacheVC::openWriteCloseDir
    - reinterpret_cast<Doc *>
    - CacheVC::callcont
    - this_ethread
    - CacheVC::cancel_trigger
    - data
    - directory::probe
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteOverwrite(int event, Event *e)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:671,1
    - Dst: is_io_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:672,1
    - Dst: set_io_not_in_progress
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:676,1
    - Dst: CACHE_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:679,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:680,1
    - Dst: VC_LOCK_RETRY_EVENT
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:681,1
    - Dst: has_multiple_writers
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:684,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:689,1
    - Dst: data
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:689,1
    - Dst: ok
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:690,1
    - Dst: dir_valid
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:700,1
    - Dst: DDbg
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:701,1
    - Dst: offset_to_vol_offset
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:702,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:702,1
    - Dst: CacheVC::load_http_info
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:710,1
    - Dst: object
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:710,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:714,1
    - Dst: count
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:714,1
    - Dst: Doc*::single_fragment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:717,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:721,1
    - Dst: dir_set_tag
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:722,1
    - Dst: single_doc_key::slice32
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:722,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:729,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:731,1
    - Dst: has_multiple_writers
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:734,1
    - Dst: MUTEX_RELEASE
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:735,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:736,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:737,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:741,1
    - Dst: CacheVC::do_read_call
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:743,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:759,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:760,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:763,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:764,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:765,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:765,1
    - Dst: CacheVC::openWriteCloseDir
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:769,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:771,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:774,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 775
    functionName: CacheVC::openWriteStartDone
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    - object
    - reinterpret_cast<void *>
    - dir_valid
    - free_CacheVC
    - Doc*::single_fragment
    - CacheVC::cancel_trigger
    - SET_HANDLER
    - offset_to_vol_offset
    - directory::probe
    - dir_set_tag
    - handleEvent
    - dir_assign
    - is_locked
    - ts::Metrics::Counter::increment
    - MUTEX_RELEASE
    - reinterpret_cast<Doc *>
    - CacheVC::callcont
    - is_io_in_progress
    - data
    - count
    - CACHE_TRY_LOCK
    - CacheVC::do_read_call
    - set_io_not_in_progress
    - DDbg
    - CacheVC::openWriteCloseDir
    - ink_assert
    - continuation::handleEvent
    - VC_LOCK_RETRY_EVENT
    - ok
    - single_doc_key::slice32
    - has_multiple_writers
    - reinterpret_cast<uintptr_t>
    - open_write
    - CacheVC::load_http_info
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteStartDone(int event, Event *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheVC::cancel_trigger
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:782,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:784,1
    - Dst: open_write_lock
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:786,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:787,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:788,1
    - Dst: free_CacheVC
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:789,1
    - Dst: continuation::handleEvent
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:790,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:790,1
    - Dst: VC_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:794,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:797,1
    - Dst: CacheVC::openWriteOverwrite
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:798,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:801,1
    - Dst: CacheVC::callcont
      Src: /src/trafficserver/src/iocore/cache/CacheWrite.cc:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 804
    functionName: CacheVC::openWriteStartBegin
    functionSourceFile: /src/trafficserver/src/iocore/cache/CacheWrite.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - CacheVC::openWriteOverwrite
    - SET_HANDLER
    - reinterpret_cast<void *>
    - free_CacheVC
    - CacheVC::callcont
    - VC_SCHED_LOCK_RETRY
    - CacheVC::cancel_trigger
    - continuation::handleEvent
    - open_write_lock
    linkageType: ''
    returnType: int
    signature: int CacheVC::openWriteStartBegin(int /* event ATS_UNUSED */, Event
      * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::_preserved_dirs::evac_bucket_valid
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: StripeSM::evac_bucket_valid
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 1
    functionsReached:
    - StripeSM::_preserved_dirs::evac_bucket_valid
    linkageType: ''
    returnType: bool
    signature: bool evac_bucket_valid(off_t bucket) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: StripeSM::get_evac_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL<EvacuationBlock>
    signature: DLL<EvacuationBlock> get_evac_bucket(off_t bucket) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::_preserved_dirs::force_evacuate_head
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evac_dir
    - pinned
    argTypes:
    - Dir*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: StripeSM::force_evacuate_head
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 0
    functionsReached:
    - StripeSM::_preserved_dirs::force_evacuate_head
    linkageType: ''
    returnType: void
    signature: void force_evacuate_head(Dir const *evac_dir, int pinned)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: "&\n  get_preserved_dirs()"
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreservationTable
    signature: "PreservationTable &\n  get_preserved_dirs()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_action
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: StripeSM::cancel_trigger
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 3
    functionsReached:
    - cancel_action
    linkageType: ''
    returnType: void
    signature: void StripeSM::cancel_trigger()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::open_read
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: StripeSM::open_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 1
    functionsReached:
    - StripeSM::open_read
    linkageType: ''
    returnType: OpenDirEntry
    signature: 'OpenDirEntry *

      StripeSM::open_read(const CryptoHash *key) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: StripeSM::is_io_in_progress
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int StripeSM::is_io_in_progress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: StripeSM::set_io_not_in_progress
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StripeSM::set_io_not_in_progress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        StripeSM::_write_buffer::get_pending_writers'
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: '&

      StripeSM::get_pending_writers()'
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 0
    functionsReached:
    - '&

      StripeSM::_write_buffer::get_pending_writers'
    linkageType: ''
    returnType: Queue<CacheVC, Continuation::Link_link>
    signature: 'Queue<CacheVC, Continuation::Link_link> &

      StripeSM::get_pending_writers()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/iocore/cache/StripeSM.h:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - xdir
    argTypes:
    - Dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: StripeSM::within_hit_evacuate_window
    functionSourceFile: /src/trafficserver/src/iocore/cache/StripeSM.h
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int StripeSM::within_hit_evacuate_window(Dir const *xdir) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:45,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:45,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:45,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: AggregateWriteBuffer::AggregateWriteBuffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached:
    - memset
    - ats_pagesize
    - ats_memalign
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~AggregateWriteBuffer()
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ~AggregateWriteBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: AggregateWriteBuffer::AggregateWriteBuffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer(AggregateWriteBuffer const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '&operator=(AggregateWriteBuffer const &)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateWriteBuffer
    signature: AggregateWriteBuffer &operator=(AggregateWriteBuffer const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - AggregateWriteBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: AggregateWriteBuffer::AggregateWriteBuffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer(AggregateWriteBuffer &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - AggregateWriteBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(AggregateWriteBuffer &&other)'
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateWriteBuffer
    signature: AggregateWriteBuffer &operator=(AggregateWriteBuffer &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: '&

      AggregateWriteBuffer::get_pending_writers()'
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Queue<CacheVC, Continuation::Link_link>
    signature: 'Queue<CacheVC, Continuation::Link_link> &

      AggregateWriteBuffer::get_pending_writers()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: AggregateWriteBuffer::get_buffer
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      AggregateWriteBuffer::get_buffer()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: AggregateWriteBuffer::get_buffer_pos
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AggregateWriteBuffer::get_buffer_pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: AggregateWriteBuffer::seek
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer::seek(int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregateWriteBuffer::seek
      Src: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: AggregateWriteBuffer::reset_buffer_pos
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached:
    - AggregateWriteBuffer::seek
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer::reset_buffer_pos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: AggregateWriteBuffer::get_bytes_pending_aggregation
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AggregateWriteBuffer::get_bytes_pending_aggregation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: AggregateWriteBuffer::add_bytes_pending_aggregation
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateWriteBuffer::add_bytes_pending_aggregation(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: AggregateWriteBuffer::is_empty
    functionSourceFile: /src/trafficserver/src/iocore/cache/AggregateWriteBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AggregateWriteBuffer::is_empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:39,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:48,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:58,1
    - Dst: CacheAltReadAgain::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:59,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:62,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:65,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheAltReadAgain::validate_content_type
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:77,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:78,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:79,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:79,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:80,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:81,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:91,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:92,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:94,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:95,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:97,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:98,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:100,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:101,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: CacheAltTest_L_to_S::CacheAltTest_L_to_S
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheAltTest_L_to_S(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:115,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: CacheAltTest_L_to_S::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:125,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:128,1
    - Dst: CacheAltTest_L_to_S::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:131,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:133,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:136,1
    - Dst: CacheAltTest_L_to_S::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:137,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:140,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:143,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: CacheAltTest_L_to_S::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - CacheAltTest_L_to_S::validate_content_type
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheAltTest_L_to_S::_wt::close
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:156,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:157,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:158,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:158,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:159,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:160,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: CacheAltTest_L_to_S::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:172,1
    - Dst: CacheAltTest_L_to_S::CacheAltTest_L_to_S
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:173,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:174,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:175,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:177,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:178,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:179,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltTest_L_to_S::CacheAltTest_L_to_S
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: TestContChain::TestContChain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void TestContChain::TestContChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:30,1
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:31,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - size
    - url
    - expect_fail
    argTypes:
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: CacheTestHandler::CacheTestHandler
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheTestHandler::CacheTestHandler(size_t size, const char *url,
      bool expect_fail)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:41,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:44,1
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:47,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:51,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:52,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:53,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:56,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:57,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:60,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:69,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:75,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: CacheTestHandler::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void CacheTestHandler::handle_cache_event(int event, CacheTestBase
      *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: CacheTestHandler::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.cc
    functionUses: 0
    functionsReached:
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int CacheTestHandler::start_test(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:50,1
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:53,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:54,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: CacheRWWTest::CacheRWWTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - REQUIRE
    - CacheWriteTest::CacheWriteTest
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheRWWTest(size_t size, const char *url = DEFAULT_URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ~CacheRWWTest() override
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheRWWTest() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheRWWTest::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: CacheRWWTest::close_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - CacheRWWTest::_wt::close
    linkageType: ''
    returnType: void
    signature: void close_write(int error = -1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheRWWTest::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: CacheRWWTest::close_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - CacheRWWTest::_rt::close
    linkageType: ''
    returnType: void
    signature: void close_read(int error = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:108,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: CacheRWWTest::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int CacheRWWTest::start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:118,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:123,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:129,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:136,1
    - Dst: CacheRWWTest::_rt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:141,1
    - Dst: CacheRWWTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:144,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:147,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:148,1
    - Dst: CacheRWWTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:149,1
    - Dst: CacheRWWTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: CacheRWWTest::process_write_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheRWWTest::_rt::reenable
    - CacheRWWTest::close_read
    - CacheTestBase*::reenable
    - CacheRWWTest::close_write
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void CacheRWWTest::process_write_event(int event, CacheTestBase *base)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:165,1
    - Dst: CacheRWWTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:170,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:174,1
    - Dst: CacheRWWTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:175,1
    - Dst: CacheRWWTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:176,1
    - Dst: CacheRWWTest::_wt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: CacheRWWTest::process_read_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheRWWTest::close_read
    - Dbg
    - CacheRWWTest::close_write
    - CacheRWWTest::_wt::reenable
    linkageType: ''
    returnType: void
    signature: void CacheRWWTest::process_read_event(int event, CacheTestBase *base)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:188,1
    - Dst: CacheRWWTest::process_write_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:195,1
    - Dst: CacheRWWTest::process_read_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:204,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:207,1
    - Dst: CacheRWWTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:208,1
    - Dst: CacheRWWTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 218
    functionName: CacheRWWTest::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - CacheRWWTest::process_write_event
    - REQUIRE
    - CacheRWWTest::close_read
    - CacheRWWTest::process_read_event
    - CacheRWWTest::close_write
    linkageType: ''
    returnType: void
    signature: void CacheRWWTest::handle_cache_event(int event, CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: CacheRWWErrorTest::CacheRWWErrorTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheRWWErrorTest(size_t size, const char *url = DEFAULT_URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:233,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:234,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:240,1
    - Dst: CacheRWWErrorTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:244,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:250,1
    - Dst: CacheRWWErrorTest::_rt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:255,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:259,1
    - Dst: CacheRWWErrorTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:260,1
    - Dst: CacheRWWErrorTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:261,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 268
    functionName: CacheRWWErrorTest::process_write_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheTestBase*::reenable
    - Dbg
    - CacheRWWErrorTest::close_write
    - this_ethread
    - CacheRWWErrorTest::_rt::reenable
    - CacheTestBase*::do_io_write
    - CacheRWWErrorTest::close_read
    linkageType: ''
    returnType: void
    signature: void process_write_event(int event, CacheTestBase *base) override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:277,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:280,1
    - Dst: CacheRWWErrorTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:281,1
    - Dst: CacheRWWErrorTest::_wt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:287,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:292,1
    - Dst: CacheRWWErrorTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:293,1
    - Dst: CacheRWWErrorTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:294,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:299,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:299,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:301,1
    - Dst: CacheRWWErrorTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:303,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:306,1
    - Dst: CacheRWWErrorTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:307,1
    - Dst: CacheRWWErrorTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 311
    functionName: CacheRWWErrorTest::process_read_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheRWWErrorTest::close_write
    - CacheRWWErrorTest::_wt::reenable
    - CacheRWWErrorTest::close_read
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void process_read_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: CacheRWWEOSTest::CacheRWWEOSTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheRWWEOSTest(size_t size, const char *url = DEFAULT_URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:327,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:331,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:332,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:338,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:345,1
    - Dst: CacheRWWEOSTest::_rt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:350,1
    - Dst: CacheRWWEOSTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:354,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 361
    functionName: CacheRWWEOSTest::process_write_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - CacheRWWEOSTest::close_write
    - CacheRWWEOSTest::_rt::reenable
    - REQUIRE
    - CacheTestBase*::reenable
    - Dbg
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void process_write_event(int event, CacheTestBase *base) override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:370,1
    - Dst: CacheRWWEOSTest::_wt::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:376,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:381,1
    - Dst: CacheRWWEOSTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:382,1
    - Dst: CacheRWWEOSTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:383,1
    - Dst: CacheRWWEOSTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:386,1
    - Dst: CacheRWWEOSTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:387,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:390,1
    - Dst: CacheRWWEOSTest::close_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:391,1
    - Dst: CacheRWWEOSTest::close_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: CacheRWWEOSTest::process_read_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - CacheRWWEOSTest::close_read
    - CacheRWWEOSTest::close_write
    - CacheRWWEOSTest::_wt::reenable
    - REQUIRE
    - CacheTestBase*::do_io_read
    linkageType: ''
    returnType: void
    signature: void process_read_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: CacheRWWCacheInit::CacheRWWCacheInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheRWWCacheInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheRWWTest::CacheRWWTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:408,1
    - Dst: CacheRWWErrorTest::CacheRWWErrorTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:409,1
    - Dst: CacheRWWEOSTest::CacheRWWEOSTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:410,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:411,1
    - Dst: CacheRWWTest*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:413,1
    - Dst: CacheRWWTest*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:414,1
    - Dst: CacheRWWTest*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:415,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: CacheRWWCacheInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_RWW.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheRWWTest*::add
    - this_ethread
    - CacheRWWErrorTest::CacheRWWErrorTest
    - CacheRWWEOSTest::CacheRWWEOSTest
    - CacheRWWTest::CacheRWWTest
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: CacheCommInit::CacheCommInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheCommInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:47,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:49,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:50,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:51,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:52,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:53,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: CacheCommInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Init_Failure.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - REQUIRE
    - CacheTestHandler::CacheTestHandler
    - CacheTestHandler*::add
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int event, void *e) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:43,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:47,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:49,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:50,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: CacheAltReadAgain2::CacheAltReadAgain2
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain2(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:60,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: CacheAltReadAgain2::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:70,1
    - Dst: CacheAltReadAgain2::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:71,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:74,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:77,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: CacheAltReadAgain2::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - CacheAltReadAgain2::validate_content_type
    - CacheTestBase*::do_io_read
    - REQUIRE
    - CacheTestBase*::reenable
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:89,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:90,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:91,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:91,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:92,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:93,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: CacheAltReadAgain2::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:103,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:112,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheAltReadAgain::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:122,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheAltReadAgain::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase * /* base ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:134,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:135,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:136,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:136,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:137,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:138,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:148,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:149,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:151,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:152,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:154,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:155,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:157,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:158,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: test_Alternate_S_to_L_remove_S::test_Alternate_S_to_L_remove_S
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void test_Alternate_S_to_L_remove_S(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:172,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: test_Alternate_S_to_L_remove_S::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:182,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:185,1
    - Dst: test_Alternate_S_to_L_remove_S::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:188,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:192,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:192,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:195,1
    - Dst: test_Alternate_S_to_L_remove_S::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:196,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:199,1
    - Dst: test_Alternate_S_to_L_remove_S::delete_earliest_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:202,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:203,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: test_Alternate_S_to_L_remove_S::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - test_Alternate_S_to_L_remove_S::_wt::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - HRTIME_SECONDS
    - test_Alternate_S_to_L_remove_S::delete_earliest_dir
    - test_Alternate_S_to_L_remove_S::validate_content_type
    - CacheTestBase*::reenable
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:215,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:216,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:217,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:217,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:218,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:219,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: test_Alternate_S_to_L_remove_S::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:228,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:229,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:230,1
    - Dst: CacheVC*::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:230,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:231,1
    - Dst: CacheVC*::stripe::directory::remove
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: test_Alternate_S_to_L_remove_S::delete_earliest_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CacheVC*::stripe::directory::probe
    - SCOPED_MUTEX_LOCK
    - CacheVC*::stripe::directory::remove
    - alternate::object_key_get
    linkageType: ''
    returnType: void
    signature: void delete_earliest_dir(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:242,1
    - Dst: test_Alternate_S_to_L_remove_S::test_Alternate_S_to_L_remove_S
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:243,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:244,1
    - Dst: CacheAltReadAgain2::CacheAltReadAgain2
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:245,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:246,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:248,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:249,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:250,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:251,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_S.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - test_Alternate_S_to_L_remove_S::test_Alternate_S_to_L_remove_S
    - CacheTestHandler::CacheTestHandler
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltReadAgain2::CacheAltReadAgain2
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:43,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: CacheAltReadAgain2::CacheAltReadAgain2
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain2(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:53,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: CacheAltReadAgain2::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:63,1
    - Dst: CacheAltReadAgain2::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:64,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:67,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:70,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: CacheAltReadAgain2::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - CacheAltReadAgain2::validate_content_type
    - CacheTestBase*::do_io_read
    - REQUIRE
    - CacheTestBase*::reenable
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:82,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:83,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:84,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:84,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:85,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:86,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: CacheAltReadAgain2::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:96,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:100,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:102,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:103,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 2
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:113,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheAltReadAgain::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:124,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheAltReadAgain::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase * /* base ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:136,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:137,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:138,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:138,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:139,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:140,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:150,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:151,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:153,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:154,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:156,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:157,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:159,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:160,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: CacheAltTest_S_to_L_remove_L::CacheAltTest_S_to_L_remove_L
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheAltTest_S_to_L_remove_L(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:174,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: CacheAltTest_S_to_L_remove_L::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:184,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:187,1
    - Dst: CacheAltTest_S_to_L_remove_L::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:190,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:194,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:194,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:197,1
    - Dst: CacheAltTest_S_to_L_remove_L::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:198,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:201,1
    - Dst: CacheAltTest_S_to_L_remove_L::delete_earliest_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:204,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:205,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: CacheAltTest_S_to_L_remove_L::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - HRTIME_SECONDS
    - CacheTestBase*::reenable
    - CacheAltTest_S_to_L_remove_L::validate_content_type
    - this_ethread
    - CacheAltTest_S_to_L_remove_L::_wt::close
    - CacheTestBase*::do_io_write
    - CacheAltTest_S_to_L_remove_L::delete_earliest_dir
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:217,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:218,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:219,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:219,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:220,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:221,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: CacheAltTest_S_to_L_remove_L::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:230,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:231,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:232,1
    - Dst: CacheVC*::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:232,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:233,1
    - Dst: CacheVC*::stripe::directory::remove
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: CacheAltTest_S_to_L_remove_L::delete_earliest_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CacheVC*::stripe::directory::probe
    - SCOPED_MUTEX_LOCK
    - CacheVC*::stripe::directory::remove
    - alternate::object_key_get
    linkageType: ''
    returnType: void
    signature: void delete_earliest_dir(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:244,1
    - Dst: CacheAltTest_S_to_L_remove_L::CacheAltTest_S_to_L_remove_L
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:245,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:246,1
    - Dst: CacheAltReadAgain2::CacheAltReadAgain2
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:247,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:248,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:250,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:251,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:252,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:253,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L_remove_L.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheAltTest_S_to_L_remove_L::CacheAltTest_S_to_L_remove_L
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltReadAgain2::CacheAltReadAgain2
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:42,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:46,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:48,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:49,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: CacheAltReadAgain2::CacheAltReadAgain2
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 2
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain2(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:59,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: CacheAltReadAgain2::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:69,1
    - Dst: CacheAltReadAgain2::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:70,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:73,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:76,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: CacheAltReadAgain2::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - CacheAltReadAgain2::validate_content_type
    - CacheTestBase*::do_io_read
    - REQUIRE
    - CacheTestBase*::reenable
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:88,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:89,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:90,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:90,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:91,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:92,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: CacheAltReadAgain2::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 3
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:102,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 3
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:111,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheAltReadAgain::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:121,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheAltReadAgain::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase * /* base ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:133,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:134,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:135,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:135,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:136,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:137,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:147,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:148,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:150,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:151,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:153,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:154,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:156,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:157,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: CacheAltTest_L_to_S_remove_L::CacheAltTest_L_to_S_remove_L
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheAltTest_L_to_S_remove_L(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:171,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: CacheAltTest_L_to_S_remove_L::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:181,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:184,1
    - Dst: CacheAltTest_L_to_S_remove_L::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:187,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:189,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:192,1
    - Dst: CacheAltTest_L_to_S_remove_L::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:193,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:196,1
    - Dst: CacheAltTest_L_to_S_remove_L::delete_earliest_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:199,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:200,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: CacheAltTest_L_to_S_remove_L::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - CacheAltTest_L_to_S_remove_L::delete_earliest_dir
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheAltTest_L_to_S_remove_L::_wt::close
    - CacheAltTest_L_to_S_remove_L::validate_content_type
    - CacheTestBase*::reenable
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:212,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:213,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:214,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:214,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:215,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:216,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: CacheAltTest_L_to_S_remove_L::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:225,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:226,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:227,1
    - Dst: CacheVC*::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:227,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:228,1
    - Dst: CacheVC*::stripe::directory::remove
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: CacheAltTest_L_to_S_remove_L::delete_earliest_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CacheVC*::stripe::directory::probe
    - SCOPED_MUTEX_LOCK
    - CacheVC*::stripe::directory::remove
    - alternate::object_key_get
    linkageType: ''
    returnType: void
    signature: void delete_earliest_dir(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:239,1
    - Dst: CacheAltTest_L_to_S_remove_L::CacheAltTest_L_to_S_remove_L
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:240,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:241,1
    - Dst: CacheAltReadAgain2::CacheAltReadAgain2
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:242,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:243,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:245,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:246,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:247,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:248,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_L.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheAltTest_L_to_S_remove_L::CacheAltTest_L_to_S_remove_L
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltReadAgain2::CacheAltReadAgain2
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:63,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: CacheInit::CacheInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void CacheInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:69,1
    - Dst: CacheInit::cache_init_success_callback
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: CacheInit::start_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - Dbg
    - CacheInit::cache_init_success_callback
    linkageType: ''
    returnType: int
    signature: int start_event(int event, void *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheProcessor::IsCacheReady
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:80,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:81,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:83,1
    - Dst: CacheInit::handleEvent
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:84,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:88,1
    - Dst: TEST_DONE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: CacheInit::init_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - CHECK
    - TEST_DONE
    - this_ethread
    - CacheProcessor::IsCacheReady
    - CacheInit::handleEvent
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int init_event(int event, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~CacheInit()
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:104,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_handler
    argTypes:
    - CacheTestHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CacheTestBase::CacheTestBase
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void CacheTestBase(CacheTestHandler *test_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase::start_test
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: CacheTestBase::init_handler
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - CacheTestBase::start_test
    linkageType: ''
    returnType: int
    signature: int init_handler(int event, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase::test_handler::handle_cache_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: CacheTestBase::process_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - CacheTestBase::test_handler::handle_cache_event
    linkageType: ''
    returnType: void
    signature: void process_event(int event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase::vio::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: CacheTestBase::reenable
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - CacheTestBase::vio::reenable
    linkageType: ''
    returnType: void
    signature: void reenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: CacheTestBase::terminal_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int terminal_event(int /* event ATS_UNUSED */, void * /* e ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase::vc::do_io_close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:144,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:149,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: CacheTestBase::close
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - CacheTestBase::vc::do_io_close
    - SET_HANDLER
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void close(int error = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: CacheTestBase::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void do_io_read(size_t /* size  ATS_UNUSED */ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: CacheTestBase::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void do_io_write(size_t /* size  ATS_UNUSED */ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:179,1
    - Dst: CacheWriteTest::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:181,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - size
    - cont
    argTypes:
    - size_t
    - CacheTestHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: CacheWriteTest::CacheWriteTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 6
    functionsReached:
    - CacheWriteTest::info::create
    - new_MIOBuffer
    - build_hdrs
    linkageType: ''
    returnType: void
    signature: void CacheWriteTest(size_t size, CacheTestHandler *cont, const char
      *url = "http://www.scw00.com/")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:188,1
    - Dst: destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:191,1
    - Dst: destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: ~CacheWriteTest() override
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~CacheWriteTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: MockHttpConfigAccessor::get_ignore_accept_mismatch
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: MockHttpConfigAccessor::get_ignore_accept_charset_mismatch
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_charset_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: MockHttpConfigAccessor::get_ignore_accept_encoding_mismatch
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_encoding_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: MockHttpConfigAccessor::get_ignore_accept_language_mismatch
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_language_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: MockHttpConfigAccessor::get_global_user_agent_header
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_global_user_agent_header() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:245,1
    - Dst: CacheReadTest::_read_buffer::alloc_reader
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:246,1
    - Dst: CacheReadTest::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:248,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - cont
    argTypes:
    - size_t
    - CacheTestHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: CacheReadTest::CacheReadTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 13
    functionsReached:
    - CacheReadTest::info::create
    - new_MIOBuffer
    - build_hdrs
    - CacheReadTest::_read_buffer::alloc_reader
    linkageType: ''
    returnType: void
    signature: void CacheReadTest(size_t size, CacheTestHandler *cont, const char
      *url = "http://www.scw00.com/")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:255,1
    - Dst: destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: ~CacheReadTest() override
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.h
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~CacheReadTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:37,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: CacheUpdateReadAgain::CacheUpdateReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheUpdateReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:46,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: CacheUpdateReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:56,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:57,1
    - Dst: CacheTestBase*::vc::alternate::get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:57,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:60,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:63,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: CacheUpdateReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheTestBase*::vc::alternate::get_frag_offset_count
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:78,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:79,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - read_size
    - write_size
    - url
    argTypes:
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: CacheUpdate_L_to_S::CacheUpdate_L_to_S
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheUpdate_L_to_S(size_t read_size, size_t write_size, const
      char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:90,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: CacheUpdate_L_to_S::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheWriteTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:98,1
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:101,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:104,1
    - Dst: CacheUpdate_L_to_S::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:107,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:112,1
    - Dst: CacheWriteTest*::old_info::copy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:113,1
    - Dst: static_cast<HTTPInfo *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:113,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:116,1
    - Dst: CacheUpdate_L_to_S::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:119,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:121,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: CacheUpdate_L_to_S::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - static_cast<HTTPInfo *>
    - CacheUpdate_L_to_S::_wt::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheWriteTest*::old_info::copy
    - CacheTestBase*::reenable
    - static_cast<CacheWriteTest *>
    - this_ethread
    - CacheTestBase*::do_io_write
    - CacheUpdate_L_to_S::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: CacheUpdateInit::CacheUpdateInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheUpdateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:137,1
    - Dst: CacheUpdate_L_to_S::CacheUpdate_L_to_S
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:138,1
    - Dst: CacheUpdateReadAgain::CacheUpdateReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:139,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:140,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:142,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:143,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:144,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: CacheUpdateInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_L_to_S.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheUpdateReadAgain::CacheUpdateReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheUpdate_L_to_S::CacheUpdate_L_to_S
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:87,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:87,1
    - Dst: static_cast<DiskStripe **>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:89,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:89,1
    - Dst: static_cast<DiskHeader *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:91,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - disk
    argTypes:
    - CacheDisk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: init_disk
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc
    functionUses: 0
    functionsReached:
    - static_cast<DiskStripe **>
    - static_cast<DiskHeader *>
    - ats_malloc
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void init_disk(CacheDisk &disk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tmpfile
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:108,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:109,1
    - Dst: fileno
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:110,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - StripeSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: attach_tmpfile_to_stripe
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - fileno
    - std::tmpfile
    linkageType: ''
    returnType: std::FILE
    signature: 'std::FILE *

      attach_tmpfile_to_stripe(StripeSM &stripe)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:122,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:123,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:124,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:125,1
    - Dst: attach_tmpfile_to_stripe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - stripe
    - header
    - cache_vol
    argTypes:
    - StripeSM
    - StripteHeaderFooter
    - CacheVol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: init_stripe_for_writing
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Stripe.cc
    functionUses: 0
    functionsReached:
    - attach_tmpfile_to_stripe
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: std::FILE
    signature: 'std::FILE *

      init_stripe_for_writing(StripeSM &stripe, StripteHeaderFooter &header, CacheVol
      &cache_vol)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: TEST_DONE
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_DONE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_test
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~TestContChain()
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 0
    functionsReached:
    - next_test
    linkageType: ''
    returnType: void
    signature: void ~TestContChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - TestContChain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: add
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(TestContChain *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: next_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 1
    functionsReached:
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool next_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: CacheTestHandler::CacheTestHandler
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheTestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: TerminalTest::TerminalTest
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 7
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void TerminalTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_DONE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ~TerminalTest()
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 0
    functionsReached:
    - TEST_DONE
    linkageType: ''
    returnType: void
    signature: void ~TerminalTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: TerminalTest::terminal_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int terminal_event(int /* event ATS_UNUSED */, void * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: TerminalTest::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/CacheTestHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int /* event ATS_UNUSED */, CacheTestBase *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:37,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: CacheUpdateReadAgain::CacheUpdateReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheUpdateReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:46,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: CacheUpdateReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:56,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:57,1
    - Dst: CacheTestBase*::vc::alternate::get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:57,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:62,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:65,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: CacheUpdateReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheTestBase*::vc::alternate::get_frag_offset_count
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:80,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:81,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - read_size
    - write_size
    - url
    argTypes:
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: CacheUpdate_S_to_L::CacheUpdate_S_to_L
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheUpdate_S_to_L(size_t read_size, size_t write_size, const
      char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:92,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: CacheUpdate_S_to_L::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheWriteTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:100,1
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:103,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:106,1
    - Dst: CacheUpdate_S_to_L::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:109,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:114,1
    - Dst: CacheWriteTest*::old_info::copy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:115,1
    - Dst: static_cast<HTTPInfo *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:115,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:118,1
    - Dst: CacheUpdate_S_to_L::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:121,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:123,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 129
    functionName: CacheUpdate_S_to_L::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - static_cast<HTTPInfo *>
    - CacheUpdate_S_to_L::_rt::close
    - CacheUpdate_S_to_L::_wt::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheWriteTest*::old_info::copy
    - CacheTestBase*::reenable
    - static_cast<CacheWriteTest *>
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: CacheUpdateInit::CacheUpdateInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheUpdateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:139,1
    - Dst: CacheUpdate_S_to_L::CacheUpdate_S_to_L
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:140,1
    - Dst: CacheUpdateReadAgain::CacheUpdateReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:141,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:142,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:144,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:145,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:146,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: CacheUpdateInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_S_to_L.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheUpdateReadAgain::CacheUpdateReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheUpdate_S_to_L::CacheUpdate_S_to_L
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:54,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:58,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:59,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:60,1
    - Dst: mkdtemp
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:60,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:63,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:63,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:63,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:65,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:69,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:69,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:69,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:72,1
    - Dst: auto::string
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: temp_prefix
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 1
    functionsReached:
    - auto::c_str
    - get_yaml_path
    - mkdtemp
    - auto::string
    - Dbg
    - snprintf
    - getenv
    - swoc::SWOC_VERSION_NS::file::create_directories
    - ink_assert
    - std::error_code::message
    linkageType: ''
    returnType: std::string
    signature: std::string temp_prefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:83,1
    - Dst: swoc::SWOC_VERSION_NS::file::copy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:84,1
    - Dst: swoc::SWOC_VERSION_NS::file::copy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: populate_cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::copy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void populate_cache(const swoc::file::path &prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test_done
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - TSSystemState::shut_down_event_system
    linkageType: ''
    returnType: void
    signature: void test_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: IOUringLoopTailHandler::waitForActivity
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - IOUringContext::local_context
    linkageType: ''
    returnType: int
    signature: int waitForActivity(ink_hrtime timeout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: IOUringLoopTailHandler::signalActivity
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void signalActivity() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~IOUringLoopTailHandler() override
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOUringLoopTailHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:128,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:129,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:129,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:130,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:131,1
    - Dst: enabled
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:131,1
    - Dst: diags
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:132,1
    - Dst: mime_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:134,1
    - Dst: temp_prefix
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:135,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:136,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:136,1
    - Dst: populate_cache
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:138,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:140,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:141,1
    - Dst: ink_net_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:142,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:142,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:143,1
    - Dst: init_global_http_hooks
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:145,1
    - Dst: init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:147,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:148,1
    - Dst: ink_aio_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:150,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:152,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:153,1
    - Dst: init_buffer_allocators
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:154,1
    - Dst: EThread*::set_tail_handler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:157,1
    - Dst: std::string
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:160,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:161,1
    - Dst: std::move
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 162
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - ink_aio_init
    - swoc::file::path::view
    - std::string
    - Diags::Diags
    - DiagsPtr::set
    - EThread*::set_specific
    - LibRecordsConfigInit
    - mime_init
    - init_buffer_allocators
    - std::move
    - ts::ModuleVersion::ModuleVersion
    - RecProcessInit
    - ink_net_init
    - Layout::get
    - diags
    - init_global_http_hooks
    - temp_prefix
    - ink_assert
    - start
    - Layout::create
    - BaseLogFile::BaseLogFile
    - EThread*::set_tail_handler
    - populate_cache
    - enabled
    - EThread::EThread
    - init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_cache_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:169,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:169,1
    - Dst: start
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: init_cache
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - start
    - ink_cache_init
    - ts::ModuleVersion::ModuleVersion
    linkageType: ''
    returnType: void
    signature: void init_cache(size_t /* size ATS_UNUSED */, const char * /* name
      ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:176,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:177,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:184,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:186,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:187,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:188,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:189,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:190,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:192,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:193,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:196,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:202,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:204,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:212,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:213,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:214,1
    - Dst: snprintf
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:215,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:217,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:218,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:222,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:227,1
    - Dst: HTTPInfo::request_set
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:229,1
    - Dst: HTTPInfo::response_set
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:230,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:232,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - info
    - url
    - content_type
    argTypes:
    - HTTPInfo
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 234
    functionName: build_hdrs
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 9
    functionsReached:
    - memset
    - HTTPInfo::response_set
    - HTTPHdr::parse_req
    - http_parser_init
    - REQUIRE
    - HTTPHdr::parse_resp
    - ink_assert
    - HTTPHdr::destroy
    - snprintf
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    - HTTPInfo::request_set
    linkageType: ''
    returnType: void
    signature: void build_hdrs(HTTPInfo &info, const char *url, const char *content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cache::generate_key
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:240,1
    - Dst: HTTPInfo::request_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - HTTPInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: generate_key
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 1
    functionsReached:
    - HTTPInfo::request_get
    - Cache::generate_key
    linkageType: ''
    returnType: HttpCacheKey
    signature: HttpCacheKey generate_key(HTTPInfo &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:247,1
    - Dst: CacheWriteTest::_write_buffer::write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: CacheWriteTest::fill_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - min
    - CacheWriteTest::_write_buffer::write
    linkageType: ''
    returnType: void
    signature: void CacheWriteTest::fill_data()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:258,1
    - Dst: CacheWriteTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:261,1
    - Dst: CacheWriteTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:264,1
    - Dst: CacheWriteTest::fill_data
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:265,1
    - Dst: CacheWriteTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:268,1
    - Dst: CacheWriteTest::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:271,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: CacheWriteTest::write_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - CacheWriteTest::fill_data
    - CacheWriteTest::close
    - CacheWriteTest::process_event
    - static_cast<CacheVC *>
    linkageType: ''
    returnType: int
    signature: int CacheWriteTest::write_event(int event, void *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheWriteTest::vc::set_http_info
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:284,1
    - Dst: CacheWriteTest::vc::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:285,1
    - Dst: CacheWriteTest::_write_buffer::alloc_reader
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: CacheWriteTest::do_io_write
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - CacheWriteTest::vc::set_http_info
    - CacheWriteTest::vc::do_io_write
    - CacheWriteTest::_write_buffer::alloc_reader
    linkageType: ''
    returnType: void
    signature: void CacheWriteTest::do_io_write(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:291,1
    - Dst: generate_key
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:294,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:297,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:301,1
    - Dst: open_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: CacheWriteTest::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - generate_key
    - Dbg
    - HTTPInfo*::valid
    - open_write
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheWriteTest::start_test(int /* event ATS_UNUSED */, void * /*
      e ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheVC *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:311,1
    - Dst: CacheReadTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:314,1
    - Dst: CacheReadTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:317,1
    - Dst: CacheReadTest::_reader::block_read_avail
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:320,1
    - Dst: CacheReadTest::_reader::block_read_view
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:321,1
    - Dst: memcmp
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:322,1
    - Dst: auto::data
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:322,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:322,1
    - Dst: CacheReadTest::_reader::consume
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:323,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:323,1
    - Dst: auto::size
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:324,1
    - Dst: CacheReadTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:325,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:327,1
    - Dst: CacheReadTest::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:328,1
    - Dst: TEST_DONE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:329,1
    - Dst: CacheReadTest::process_event
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:338,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:341,1
    - Dst: CacheReadTest::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 346
    functionName: CacheReadTest::read_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - CacheReadTest::close
    - CHECK
    - TEST_DONE
    - auto::size
    - CacheReadTest::_reader::block_read_avail
    - CacheReadTest::_reader::consume
    - auto::data
    - CacheReadTest::_reader::block_read_view
    - CacheReadTest::process_event
    - static_cast<CacheVC *>
    linkageType: ''
    returnType: int
    signature: int CacheReadTest::read_event(int event, void *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::vc::get_http_info
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:354,1
    - Dst: CacheReadTest::vc::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: CacheReadTest::do_io_read
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - CacheReadTest::vc::get_http_info
    - CacheReadTest::vc::do_io_read
    linkageType: ''
    returnType: void
    signature: void CacheReadTest::do_io_read(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:361,1
    - Dst: generate_key
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:363,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:365,1
    - Dst: open_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:366,1
    - Dst: static_cast<CacheHTTPHdr *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:366,1
    - Dst: CacheReadTest::info::request_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/main.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: CacheReadTest::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - CacheReadTest::info::request_get
    - static_cast<CacheHTTPHdr *>
    - open_read
    - generate_key
    - Dbg
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int CacheReadTest::start_test(int /* event ATS_UNUSED */, void * /*
      e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:42,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: CacheAltReadAgain2::CacheAltReadAgain2
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 3
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain2(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:52,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: CacheAltReadAgain2::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:62,1
    - Dst: CacheAltReadAgain2::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:63,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:66,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:69,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: CacheAltReadAgain2::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - CacheAltReadAgain2::validate_content_type
    - CacheTestBase*::do_io_read
    - REQUIRE
    - CacheTestBase*::reenable
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:81,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:82,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:83,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:83,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:84,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:85,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: CacheAltReadAgain2::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 4
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:95,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:99,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:101,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:102,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 4
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:112,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CacheAltReadAgain::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:122,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CacheAltReadAgain::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase * /* base ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:134,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:135,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:136,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:136,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:137,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:138,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:148,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:149,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:151,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:152,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:154,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:155,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:157,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:158,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: CacheAltTest_L_to_S_remove_S::CacheAltTest_L_to_S_remove_S
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheAltTest_L_to_S_remove_S(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:172,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CacheAltTest_L_to_S_remove_S::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:182,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:185,1
    - Dst: CacheAltTest_L_to_S_remove_S::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:188,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:190,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:193,1
    - Dst: CacheAltTest_L_to_S_remove_S::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:194,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:197,1
    - Dst: CacheAltTest_L_to_S_remove_S::delete_earliest_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:200,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:201,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 208
    functionName: CacheAltTest_L_to_S_remove_S::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - CacheAltTest_L_to_S_remove_S::delete_earliest_dir
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheAltTest_L_to_S_remove_S::validate_content_type
    - CacheAltTest_L_to_S_remove_S::_wt::close
    - CacheTestBase*::reenable
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:213,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:214,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:215,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:215,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:216,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:217,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: CacheAltTest_L_to_S_remove_S::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:226,1
    - Dst: alternate::object_key_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:227,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:228,1
    - Dst: CacheVC*::stripe::directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:228,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:229,1
    - Dst: CacheVC*::stripe::directory::remove
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vc
    argTypes:
    - CacheVC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: CacheAltTest_L_to_S_remove_S::delete_earliest_dir
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CacheVC*::stripe::directory::probe
    - SCOPED_MUTEX_LOCK
    - CacheVC*::stripe::directory::remove
    - alternate::object_key_get
    linkageType: ''
    returnType: void
    signature: void delete_earliest_dir(CacheVC *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:240,1
    - Dst: CacheAltTest_L_to_S_remove_S::CacheAltTest_L_to_S_remove_S
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:241,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:242,1
    - Dst: CacheAltReadAgain2::CacheAltReadAgain2
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:243,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:244,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:246,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:247,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:248,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:249,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_L_to_S_remove_S.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheAltTest_L_to_S_remove_S::CacheAltTest_L_to_S_remove_S
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltReadAgain2::CacheAltReadAgain2
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CacheCommInit::CacheCommInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheCommInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:39,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:40,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:41,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:42,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:43,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: CacheCommInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache.cc
    functionUses: 0
    functionsReached:
    - CacheTestHandler*::add
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: CacheCommInit::CacheCommInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheCommInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:47,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:48,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:49,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:51,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:52,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:53,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: CacheCommInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Disk_Failure.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - REQUIRE
    - CacheTestHandler::CacheTestHandler
    - CacheTestHandler*::add
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int event, void *e) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferData
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:45,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:45,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:46,1
    - Dst: FakeVC::blocks::set
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:47,1
    - Dst: FakeVC::buf::get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:47,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: FakeVC::FakeVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - FakeVC::buf::get
    - FakeVC::blocks::set
    - iobuffer_size_to_index
    - SET_HANDLER
    - new_IOBufferBlock
    - new_IOBufferData
    linkageType: ''
    returnType: void
    signature: void FakeVC()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FakeVC::blocks::reset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:54,1
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:58,1
    - Dst: FakeVC::buf::data
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:58,1
    - Dst: FakeVC::blocks::fill
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - source
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: FakeVC::set_test_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - memcpy
    - FakeVC::buf::data
    - FakeVC::blocks::reset
    - FakeVC::blocks::fill
    linkageType: ''
    returnType: void
    signature: void set_test_data(char const *source, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - agg_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: FakeVC::set_agg_len
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_agg_len(int agg_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: FakeVC::set_header_len
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_header_len(int header_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - write_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: FakeVC::set_write_len
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: void
    signature: void set_write_len(int write_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - readers
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: FakeVC::set_readers
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_readers(int readers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: FakeVC::mark_as_evacuator
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_evacuator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: FakeVC::handle_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_call(int /* event ATS_UNUSED */, void * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stripe
    argTypes:
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: WaitingVC::WaitingVC
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void WaitingVC(StripeSM *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitingVC::_notifier::lock
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:113,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:120,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:120,1
    - Dst: WaitingVC::_notifier::wait
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:122,1
    - Dst: WaitingVC::_notifier::unlock
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: WaitingVC::wait_for_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - WaitingVC::_notifier::unlock
    - WaitingVC::_notifier::wait
    - HRTIME_MSECONDS
    - IOUringContext::local_context
    - WaitingVC::_notifier::lock
    linkageType: ''
    returnType: void
    signature: void wait_for_callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitingVC::_notifier::signal
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: WaitingVC::handle_call
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_doubles.h
    functionUses: 0
    functionsReached:
    - WaitingVC::_notifier::signal
    linkageType: ''
    returnType: int
    signature: int handle_call(int /* event ATS_UNUSED */, void * /* e ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CacheCommInit::CacheCommInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheCommInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:39,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:40,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:41,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:42,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:43,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: CacheCommInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Cache.cc
    functionUses: 0
    functionsReached:
    - CacheTestHandler*::add
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: TSHttpConnectWithPluginId
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TSVConn
    signature: TSVConn TSHttpConnectWithPluginId(sockaddr const * /* addr ATS_UNUSED
      */, const char * /* tag ATS_UNUSED */, int64_t /* id ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: TSIOBufferReaderStart
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: TSIOBufferBlock
    signature: TSIOBufferBlock TSIOBufferReaderStart(TSIOBufferReader /* readerp ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: TSIOBufferBlockNext
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: TSIOBufferBlock
    signature: TSIOBufferBlock TSIOBufferBlockNext(TSIOBufferBlock /* blockp ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: TSIOBufferBlockReadStart
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nTSIOBufferBlockReadStart(TSIOBufferBlock /* blockp ATS_UNUSED
      */, TSIOBufferReader /* readerp ATS_UNUSED */,\n                         int64_t
      * /* avail ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: TSIOBufferReaderConsume
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSIOBufferReaderConsume(TSIOBufferReader /* readerp ATS_UNUSED
      */, int64_t /* nbytes ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: FetchSM::is_initialized
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::is_initialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: FetchSM::ext_launch
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_launch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: FetchSM::ext_destroy
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: FetchSM::ext_read_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FetchSM::ext_read_data(char *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: FetchSM::ext_add_header
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_add_header(char const *, int, char const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: FetchSM::ext_write_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_write_data(void const *, unsigned long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: FetchSM::ext_get_user_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      FetchSM::ext_get_user_data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: FetchSM::ext_set_user_data
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_set_user_data(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: FetchSM::ext_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_init(Continuation *, char const *, char const *,
      char const *, sockaddr const *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:39,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: CacheAltReadAgain::CacheAltReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 5
    functionsReached:
    - SET_HANDLER
    - CacheReadTest::CacheReadTest
    linkageType: ''
    returnType: void
    signature: void CacheAltReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:48,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: CacheAltReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:58,1
    - Dst: CacheAltReadAgain::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:59,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:62,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:65,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: CacheAltReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheAltReadAgain::validate_content_type
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:77,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:78,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:79,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:79,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:80,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:81,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: CacheAltReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:91,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:92,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:94,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:95,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:97,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:98,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:100,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:101,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: CacheAltTest_L_to_S::CacheAltTest_L_to_S
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 1
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheAltTest_L_to_S(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:115,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: CacheAltTest_L_to_S::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:125,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:128,1
    - Dst: CacheAltTest_L_to_S::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:131,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:133,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:136,1
    - Dst: CacheAltTest_L_to_S::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:137,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:142,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:145,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: CacheAltTest_L_to_S::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached:
    - CacheAltTest_L_to_S::validate_content_type
    - CacheTestBase*::close
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheAltTest_L_to_S::_wt::close
    - this_ethread
    - CacheTestBase*::do_io_write
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:158,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:159,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:160,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:160,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:161,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:162,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: CacheAltTest_L_to_S::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: CacheAltInit::CacheAltInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheAltInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:174,1
    - Dst: CacheAltTest_L_to_S::CacheAltTest_L_to_S
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:175,1
    - Dst: CacheAltReadAgain::CacheAltReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:176,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:177,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:179,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:180,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:181,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: CacheAltInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Alternate_S_to_L.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheAltReadAgain::CacheAltReadAgain
    - CacheTestHandler*::add
    - this_ethread
    - CacheAltTest_L_to_S::CacheAltTest_L_to_S
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: regress_rand_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void regress_rand_init(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:51,1
    - Dst: next_rand
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: regress_rand_CacheKey
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached:
    - next_rand
    - reinterpret_cast<unsigned int *>
    linkageType: ''
    returnType: void
    signature: void regress_rand_CacheKey(CacheKey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: StripeSM*::directory::bucket_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:62,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:64,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:65,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:67,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:68,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - s
    - stripe
    argTypes:
    - Dir*
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: dir_corrupt_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - StripeSM*::directory::bucket_length
    - ts::Random::drandom
    - dir_set_next
    - StripeSM*::directory::get_segment
    - next_dir
    - dir_to_offset
    linkageType: ''
    returnType: void
    signature: void dir_corrupt_bucket(Dir *b, int s, StripeSM *stripe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: regress_rand_init
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void regress_rand_init(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned int *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:51,1
    - Dst: next_rand
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: regress_rand_CacheKey
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached:
    - next_rand
    - reinterpret_cast<unsigned int *>
    linkageType: ''
    returnType: void
    signature: void regress_rand_CacheKey(CacheKey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: StripeSM*::directory::bucket_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:60,1
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:62,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:64,1
    - Dst: next_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:65,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:67,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:68,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - s
    - stripe
    argTypes:
    - Dir*
    - int
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: dir_corrupt_bucket
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - StripeSM*::directory::bucket_length
    - ts::Random::drandom
    - dir_set_next
    - StripeSM*::directory::get_segment
    - next_dir
    - dir_to_offset
    linkageType: ''
    returnType: void
    signature: void dir_corrupt_bucket(Dir *b, int s, StripeSM *stripe)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:81,1
    - Dst: CacheProcessor::IsCacheEnabled
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:81,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:82,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:85,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:86,1
    - Dst: is_locked
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:87,1
    - Dst: CONT_SCHED_LOCK_RETRY
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:88,1
    - Dst: StripeSM*::clear_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:92,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:96,1
    - Dst: dir_set_phase
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:97,1
    - Dst: dir_set_head
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:98,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:99,1
    - Dst: CacheKey::CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:103,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:104,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:106,1
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:107,1
    - Dst: StripeSM*::directory::freelist_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:111,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:114,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:119,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:119,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:124,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:124,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:124,1
    - Dst: StripeSM*::directory::clean_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:127,1
    - Dst: StripeSM*::directory::freelist_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:128,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:129,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:129,1
    - Dst: regress_rand_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:132,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:133,1
    - Dst: regress_rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:135,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:136,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:138,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:142,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:142,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:142,1
    - Dst: regress_rand_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:144,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:145,1
    - Dst: regress_rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:148,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:149,1
    - Dst: StripeSM*::directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:149,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:155,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:155,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:155,1
    - Dst: StripeSM*::directory::entries
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:158,1
    - Dst: regress_rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:159,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:160,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:164,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:167,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:171,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:172,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:173,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:174,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:174,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:174,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:175,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:177,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:179,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:180,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:181,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:182,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:182,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:182,1
    - Dst: directory::probe
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:185,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:188,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:189,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:190,1
    - Dst: CacheKey::CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:191,1
    - Dst: dir_set_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:194,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:195,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:196,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:198,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:199,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:199,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:199,1
    - Dst: directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:200,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:202,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:203,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:204,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:206,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:207,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:207,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:207,1
    - Dst: directory::overwrite
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:208,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:210,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:211,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:212,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:214,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:214,1
    - Dst: directory::freelist_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:215,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:217,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:218,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:219,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:221,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:221,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:221,1
    - Dst: directory::bucket_length
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:222,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:222,1
    - Dst: directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:222,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:223,1
    - Dst: directory::check
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:223,1
    - Dst: rand_CacheKey
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:226,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:227,1
    - Dst: CacheKey::slice32
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:228,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:230,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:231,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:232,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:233,1
    - Dst: StripeSM*::directory::insert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:234,1
    - Dst: dir_corrupt_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:235,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:235,1
    - Dst: StripeSM*::directory::get_segment
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:235,1
    - Dst: CHECK
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:236,1
    - Dst: StripeSM*::directory::check
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:236,1
    - Dst: StripeSM*::clear_dir
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:239,1
    - Dst: test_done
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 246
    functionName: CacheDirTest::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc
    functionUses: 0
    functionsReached:
    - directory::freelist_length
    - directory::overwrite
    - CONT_SCHED_LOCK_RETRY
    - static_cast<void *>
    - REQUIRE
    - StripeSM*::directory::entries
    - StripeSM*::directory::clean_segment
    - StripeSM*::directory::get_segment
    - this_ethread
    - dir_set_phase
    - dir_set_head
    - StripeSM*::directory::probe
    - dir_bucket_row
    - directory::probe
    - is_locked
    - CHECK
    - directory::check
    - rand_CacheKey
    - directory::get_segment
    - MUTEX_TRY_LOCK
    - dir_from_offset
    - regress_rand_CacheKey
    - StripeSM*::clear_dir
    - regress_rand_init
    - test_done
    - dir_set_offset
    - static_cast<int>
    - dir_bucket
    - static_cast<unsigned int>
    - StripeSM*::directory::check
    - Dbg
    - StripeSM*::directory::insert
    - directory::bucket_length
    - static_cast<uint64_t>
    - CacheProcessor::IsCacheEnabled
    - memset
    - ink_get_hrtime
    - CacheKey::slice32
    - dir_corrupt_bucket
    - StripeSM*::directory::freelist_length
    - CacheKey::CacheKey
    - dir_clear
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:39,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:42,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:43,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:44,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: CacheUpdateReadAgain::CacheUpdateReadAgain
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 2
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CacheUpdateReadAgain(size_t size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:54,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: CacheUpdateReadAgain::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:64,1
    - Dst: CacheUpdateReadAgain::validate_content_type
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:65,1
    - Dst: CacheUpdateReadAgain::check_fragment_table
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:66,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:69,1
    - Dst: CacheTestBase*::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:72,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: CacheUpdateReadAgain::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - CacheTestBase*::close
    - CacheUpdateReadAgain::check_fragment_table
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheTestBase*::reenable
    - CacheUpdateReadAgain::validate_content_type
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<CacheReadTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:84,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:85,1
    - Dst: auto::read_http_info::m_alt::m_response_hdr::field_find
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:86,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:86,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:87,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:88,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: CacheUpdateReadAgain::validate_content_type
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - dynamic_cast<CacheReadTest *>
    - REQUIRE
    - auto::read_http_info::m_alt::m_response_hdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: void
    signature: void validate_content_type(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:95,1
    - Dst: CacheTestBase*::vc::alternate::get_frag_table
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:95,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:96,1
    - Dst: CacheTestBase*::vc::alternate::get_frag_offset_count
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: CacheUpdateReadAgain::check_fragment_table
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CacheTestBase*::vc::alternate::get_frag_offset_count
    - CacheTestBase*::vc::alternate::get_frag_table
    linkageType: ''
    returnType: void
    signature: void check_fragment_table(CacheTestBase *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheReadTest::CacheReadTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:105,1
    - Dst: CacheWriteTest::CacheWriteTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:106,1
    - Dst: auto::info::destroy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:108,1
    - Dst: auto::info::create
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:109,1
    - Dst: build_hdrs
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:110,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - read_size
    - url
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: CacheUpdateHeader::CacheUpdateHeader
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - build_hdrs
    - auto::info::create
    - CacheReadTest::CacheReadTest
    - auto::info::destroy
    - SET_HANDLER
    - CacheWriteTest::CacheWriteTest
    linkageType: ''
    returnType: void
    signature: void CacheUpdateHeader(size_t read_size, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:124,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: CacheUpdateHeader::start_test
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int start_test(int event, void * /* e ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CacheWriteTest *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:132,1
    - Dst: CacheTestBase*::do_io_write
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:135,1
    - Dst: CacheUpdateHeader::_wt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:137,1
    - Dst: CacheTestBase*::do_io_read
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:142,1
    - Dst: CacheWriteTest*::old_info::copy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:143,1
    - Dst: static_cast<HTTPInfo *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:143,1
    - Dst: CacheTestBase*::reenable
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:146,1
    - Dst: CacheUpdateHeader::_rt::close
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:149,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:151,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - event
    - base
    argTypes:
    - int
    - CacheTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: CacheUpdateHeader::handle_cache_event
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - CacheUpdateHeader::_wt::close
    - static_cast<HTTPInfo *>
    - REQUIRE
    - CacheTestBase*::do_io_read
    - CacheWriteTest*::old_info::copy
    - CacheTestBase*::reenable
    - static_cast<CacheWriteTest *>
    - this_ethread
    - CacheTestBase*::do_io_write
    - CacheUpdateHeader::_rt::close
    linkageType: ''
    returnType: void
    signature: void handle_cache_event(int event, CacheTestBase *base) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: CacheUpdateInit::CacheUpdateInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheUpdateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:167,1
    - Dst: CacheUpdateHeader::CacheUpdateHeader
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:168,1
    - Dst: CacheUpdateReadAgain::CacheUpdateReadAgain
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:169,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:170,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:172,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:173,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:174,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: CacheUpdateInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Update_header.cc
    functionUses: 0
    functionsReached:
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - CacheUpdateReadAgain::CacheUpdateReadAgain
    - CacheTestHandler*::add
    - CacheUpdateHeader::CacheUpdateHeader
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - 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: ROUND_TO_VOL_SIZE
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_VOL_SIZE(_x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: clear_all
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:76,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:80,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:83,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:91,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:102,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:107,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:128,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:130,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:137,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:141,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:155,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:166,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:173,1
    - Dst: InkRand*::random
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:186,1
    - Dst: ROUND_TO_VOL_SIZE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:189,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:191,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:194,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:206,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:206,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 217
    functionName: create_config
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - get
    - Warning
    - InkRand*::random
    - ROUND_TO_VOL_SIZE
    - ConfigVol::ConfigVol
    - clear_all
    - cp_queue::enqueue
    - Dbg
    - delete_all_volumes
    - this_ethread
    - static_cast<size_t>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int create_config(int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ClearConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:223,1
    - Dst: ClearCacheVolList
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:224,1
    - Dst: cplist_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:227,1
    - Dst: cplist_reconfigure
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:229,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:230,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:235,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:248,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:249,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:250,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:260,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:266,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:274,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:284,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:287,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:289,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:292,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 300
    functionName: execute_and_verify
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<int>
    - cplist_init
    - Warning
    - 'on'
    - REQUIRE
    - ClearCacheVolList
    - Dbg
    - ClearConfigVol
    - cplist_reconfigure
    linkageType: ''
    returnType: void
    signature: void execute_and_verify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConfigVolumes*::cp_queue::dequeue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:307,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - configp
    argTypes:
    - ConfigVolumes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: ClearConfigVol
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 1
    functionsReached:
    - ConfigVolumes*::cp_queue::dequeue
    - Warning
    linkageType: ''
    returnType: int
    signature: int ClearConfigVol(ConfigVolumes *configp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<CacheVol>*::dequeue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:325,1
    - Dst: disk::delete_volume
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:327,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:330,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:331,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cpl
    - len
    argTypes:
    - Queue<CacheVol>*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: ClearCacheVolList
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 1
    functionsReached:
    - ats_free
    - Queue<CacheVol>*::dequeue
    - Warning
    - disk::delete_volume
    linkageType: ''
    returnType: int
    signature: int ClearCacheVolList(Queue<CacheVol> *cpl, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:348,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:350,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:350,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:351,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: save_state
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void save_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: restore_state
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void restore_state()
  - 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: ROUND_TO_VOL_SIZE
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_VOL_SIZE(_x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: clear_all
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:76,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:80,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:83,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:91,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:102,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:107,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:128,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:130,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:137,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:141,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:155,1
    - Dst: delete_all_volumes
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:166,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:173,1
    - Dst: InkRand*::random
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:186,1
    - Dst: ROUND_TO_VOL_SIZE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:189,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:191,1
    - Dst: ConfigVol::ConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:194,1
    - Dst: cp_queue::enqueue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:206,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:206,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 217
    functionName: create_config
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - get
    - Warning
    - InkRand*::random
    - ROUND_TO_VOL_SIZE
    - ConfigVol::ConfigVol
    - clear_all
    - cp_queue::enqueue
    - Dbg
    - delete_all_volumes
    - this_ethread
    - static_cast<size_t>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int create_config(int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ClearConfigVol
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:223,1
    - Dst: ClearCacheVolList
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:224,1
    - Dst: cplist_init
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:227,1
    - Dst: cplist_reconfigure
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:229,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:230,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:235,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:248,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:249,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:250,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:260,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:266,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:274,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:284,1
    - Dst: get
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:287,1
    - Dst: 'on'
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:289,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:292,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 300
    functionName: execute_and_verify
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<int>
    - cplist_init
    - Warning
    - 'on'
    - REQUIRE
    - ClearCacheVolList
    - Dbg
    - ClearConfigVol
    - cplist_reconfigure
    linkageType: ''
    returnType: void
    signature: void execute_and_verify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConfigVolumes*::cp_queue::dequeue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:307,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - configp
    argTypes:
    - ConfigVolumes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: ClearConfigVol
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 2
    functionsReached:
    - ConfigVolumes*::cp_queue::dequeue
    - Warning
    linkageType: ''
    returnType: int
    signature: int ClearConfigVol(ConfigVolumes *configp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<CacheVol>*::dequeue
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:325,1
    - Dst: disk::delete_volume
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:327,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:330,1
    - Dst: ats_free
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:331,1
    - Dst: Warning
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cpl
    - len
    argTypes:
    - Queue<CacheVol>*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: ClearCacheVolList
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 2
    functionsReached:
    - ats_free
    - Queue<CacheVol>*::dequeue
    - Warning
    - disk::delete_volume
    linkageType: ''
    returnType: int
    signature: int ClearCacheVolList(Queue<CacheVol> *cpl, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:348,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:350,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:350,1
    - Dst: memset
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:351,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: save_state
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void save_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: restore_state
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void restore_state()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ClearCacheVolList
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:372,1
    - Dst: save_state
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:374,1
    - Dst: srand48
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:375,1
    - Dst: time
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:375,1
    - Dst: Dbg
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:378,1
    - Dst: create_config
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:380,1
    - Dst: execute_and_verify
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:381,1
    - Dst: restore_state
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:384,1
    - Dst: test_done
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 391
    functionName: CacheVolTest::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_CacheVol.cc
    functionUses: 0
    functionsReached:
    - srand48
    - execute_and_verify
    - ClearCacheVolList
    - restore_state
    - Dbg
    - test_done
    - time
    - create_config
    - save_state
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int /* event ATS_UNUSED */, void *
      /* e ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: CacheCommInit::CacheCommInit
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheCommInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:43,1
    - Dst: CacheTestHandler::CacheTestHandler
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:44,1
    - Dst: TerminalTest::TerminalTest
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:45,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:46,1
    - Dst: CacheTestHandler*::add
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:47,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: CacheCommInit::cache_init_success_callback
    functionSourceFile: /src/trafficserver/src/iocore/cache/unit_tests/test_Populated_Cache_Disk_Failure.cc
    functionUses: 0
    functionsReached:
    - CacheTestHandler*::add
    - TerminalTest::TerminalTest
    - CacheTestHandler::CacheTestHandler
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int cache_init_success_callback(int event, void *e) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:41,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:42,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - configName
    - defaultName
    - isRequired
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: registerFile
    functionSourceFile: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc
    functionUses: 0
    functionsReached:
    - ats_as_c_str
    - RecGetRecordStringAlloc
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void registerFile(const char *configName, const char *defaultName,
      bool isRequired)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:62,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:65,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:66,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:67,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:68,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:69,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:70,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:71,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:72,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:73,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:74,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:75,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:76,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:77,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:78,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:79,1
    - Dst: registerFile
      Src: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: initializeRegistry
    functionSourceFile: /src/trafficserver/src/mgmt/config/AddConfigFilesHere.cc
    functionUses: 0
    functionsReached:
    - registerFile
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void initializeRegistry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: TS_ARCHIVE_STAT_MTIME
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_ARCHIVE_STAT_MTIME(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: TS_ARCHIVE_STAT_MTIME
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_ARCHIVE_STAT_MTIME(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: TS_ARCHIVE_STAT_MTIME
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_ARCHIVE_STAT_MTIME(t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:53,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:53,1
    - Dst: RecReadYamlConfigFile
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:57,1
    - Dst: RecConfigWarnIfUnregistered
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:58,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:60,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:62,1
    - Dst: RecGetRecordType
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:64,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:64,1
    - Dst: RecSetSyncRequired
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:65,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:65,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:67,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - fileName
    - configName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: process_config_update
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - RecSetSyncRequired
    - std::string::empty
    - RecGetRecordType
    - Dbg
    - RecReadYamlConfigFile
    - RecConfigWarnIfUnregistered
    - swoc::Errata::note
    - std::string::c_str
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata process_config_update(std::string const &fileName, std::string
      const &configName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:52,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:53,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:53,1
    - Dst: RecReadYamlConfigFile
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:57,1
    - Dst: RecConfigWarnIfUnregistered
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:58,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:60,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:62,1
    - Dst: RecGetRecordType
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:64,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:64,1
    - Dst: RecSetSyncRequired
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:65,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:65,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:67,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - fileName
    - configName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: process_config_update
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - RecSetSyncRequired
    - std::string::empty
    - RecGetRecordType
    - Dbg
    - RecReadYamlConfigFile
    - RecConfigWarnIfUnregistered
    - swoc::Errata::note
    - std::string::c_str
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata process_config_update(std::string const &fileName, std::string
      const &configName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:87,1
    - Dst: FileManager::registerCallback
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:88,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:91,1
    - Dst: FileManager::get_files_registry_rpc_endpoint
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: FileManager::FileManager
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - rpc::add_method_handler
    - FileManager::registerCallback
    - ink_mutex_init
    - FileManager::get_files_registry_rpc_endpoint
    linkageType: ''
    returnType: void
    signature: void FileManager::FileManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: FileManager::~FileManager()
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void FileManager::~FileManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:125,1
    - Dst: FileManager::addFileHelper
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:126,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - fileName
    - configName
    - root_access_needed
    - isRequired
    - parentConfig
    argTypes:
    - char*
    - char*
    - bool
    - bool
    - ConfigManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: FileManager::addFile
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - FileManager::addFileHelper
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: "void FileManager::addFile(const char *fileName, const char *configName,
      bool root_access_needed, bool isRequired,\n                     ConfigManager
      *parentConfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:135,1
    - Dst: std::make_unique<ConfigManager>
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:136,1
    - Dst: emplace
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:137,1
    - Dst: auto::getFileName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:137,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - fileName
    - configName
    - root_access_needed
    - isRequired
    - parentConfig
    argTypes:
    - char*
    - char*
    - bool
    - bool
    - ConfigManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: FileManager::addFileHelper
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 1
    functionsReached:
    - auto::getFileName
    - std::make_unique<ConfigManager>
    - emplace
    - std::move
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void FileManager::addFileHelper(const char *fileName, const char *configName,
      bool root_access_needed, bool isRequired,\n                           ConfigManager
      *parentConfig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: call
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:148,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:148,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fileName
    - configName
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: FileManager::fileChanged
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - swoc::Errata::note
    - std::string::c_str
    - call
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata FileManager::fileChanged(std::string const &fileName,
      std::string const &configName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cblist
    argTypes:
    - ConfigUpdateCbTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: FileManager::registerConfigPluginCallbacks
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileManager::registerConfigPluginCallbacks(ConfigUpdateCbTable
      *cblist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:168,1
    - Dst: invoke
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: FileManager::invokeConfigPluginCallbacks
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - invoke
    linkageType: ''
    returnType: void
    signature: void FileManager::invokeConfigPluginCallbacks()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:191,1
    - Dst: second::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:193,1
    - Dst: ConfigManager*::checkForUserUpdate
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:196,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:197,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:197,1
    - Dst: FileManager::fileChanged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:198,1
    - Dst: ConfigManager*::getFileName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:198,1
    - Dst: ConfigManager*::getConfigName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:198,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:199,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:202,1
    - Dst: ConfigManager*::isChildManaged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:203,1
    - Dst: std::find
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:204,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:204,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:204,1
    - Dst: ConfigManager*::getParentConfig
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:204,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:205,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:206,1
    - Dst: ConfigManager*::getParentConfig
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:206,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:213,1
    - Dst: isChildManaged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:215,1
    - Dst: second::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:220,1
    - Dst: ConfigManager*::getParentConfig
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:221,1
    - Dst: std::find
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:222,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:222,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:222,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:223,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:228,1
    - Dst: erase
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:230,1
    - Dst: getFileName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:230,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:232,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:234,1
    - Dst: std::find
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:236,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:236,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:236,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:236,1
    - Dst: FileManager::fileChanged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:237,1
    - Dst: getFileName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:237,1
    - Dst: getConfigName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:237,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:238,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:244,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:245,1
    - Dst: auto::value
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:247,1
    - Dst: FileManager::fileChanged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:248,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:250,1
    - Dst: FileManager::fileChanged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:254,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:256,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 260
    functionName: FileManager::rereadConfig
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ConfigManager*::getFileName
    - getFileName
    - FileManager::fileChanged
    - RecGetRecordInt
    - std::vector::end
    - getConfigName
    - std::vector::begin
    - auto::has_value
    - erase
    - std::vector::size
    - ConfigManager*::isChildManaged
    - second::get
    - std::vector::push_back
    - Dbg
    - ink_mutex_release
    - auto::value
    - ConfigManager*::getConfigName
    - first::c_str
    - isChildManaged
    - ConfigManager*::checkForUserUpdate
    - ConfigManager*::getParentConfig
    - swoc::Errata::note
    - ink_mutex_acquire
    - std::find
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata FileManager::rereadConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:268,1
    - Dst: second::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:270,1
    - Dst: ConfigManager*::checkForUserUpdate
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:271,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: FileManager::isConfigStale
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - second::get
    - ConfigManager*::checkForUserUpdate
    - ink_mutex_release
    linkageType: ''
    returnType: bool
    signature: bool FileManager::isConfigStale()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:288,1
    - Dst: find
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:289,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:290,1
    - Dst: auto::second::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:291,1
    - Dst: FileManager::addFileHelper
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:292,1
    - Dst: ConfigManager*::rootAccessNeeded
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:292,1
    - Dst: ConfigManager*::getIsRequired
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:292,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: FileManager::configFileChild
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ConfigManager*::getIsRequired
    - find
    - end
    - Dbg
    - ink_mutex_release
    - FileManager::addFileHelper
    - ink_mutex_acquire
    - ConfigManager*::rootAccessNeeded
    - auto::second::get
    linkageType: ''
    returnType: void
    signature: void FileManager::configFileChild(const char *parent, const char *child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:306,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:309,1
    - Dst: ConfigManager*::getFileName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:309,1
    - Dst: ConfigManager*::getConfigName
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:310,1
    - Dst: ConfigManager*::isChildManaged
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:311,1
    - Dst: ConfigManager*::getParentConfig
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:311,1
    - Dst: ConfigManager*::rootAccessNeeded
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:312,1
    - Dst: ConfigManager*::getIsRequired
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:313,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:314,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: FileManager::get_files_registry_rpc_endpoint
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 1
    functionsReached:
    - ConfigManager*::getConfigName
    - YAML::Node::Node
    - ConfigManager*::getFileName
    - ConfigManager*::isChildManaged
    - second::get
    - Layout::get
    - ConfigManager*::getParentConfig
    - YAML::Node::push_back
    - ConfigManager*::rootAccessNeeded
    - ConfigManager*::getIsRequired
    linkageType: ''
    returnType: auto
    signature: "auto FileManager::get_files_registry_rpc_endpoint(std::string_view
      const & /* id ATS_UNUSED */,\n                                             YAML::Node
      const & /* params ATS_UNUSED */) -> swoc::Rv<YAML::Node>"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:332,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:336,1
    - Dst: std::string
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:340,1
    - Dst: std::string
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:341,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:343,1
    - Dst: statFile
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:346,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:347,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:347,1
    - Dst: strerror
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:347,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:350,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:350,1
    - Dst: strerror
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:350,1
    - Dst: TS_ARCHIVE_STAT_MTIME
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - fileName_
    - configName_
    - root_access_needed_
    - isRequired_
    - parentConfig_
    argTypes:
    - char*
    - char*
    - bool
    - bool
    - ConfigManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 355
    functionName: "FileManager::ConfigManager::ConfigManager(const char *fileName_,
      const char *configName_, bool root_access_needed_,\n                                          bool
      isRequired_, ConfigManager *parentConfig_)"
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - statFile
    - TS_ARCHIVE_STAT_MTIME
    - std::string
    - Dbg
    - c_str
    - ink_mutex_init
    - strerror
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void FileManager::ConfigManager::ConfigManager(const char *fileName_,
      const char *configName_, bool root_access_needed_,\n                                          bool
      isRequired_, ConfigManager *parentConfig_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:368,1
    - Dst: elevating_stat
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:370,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:370,1
    - Dst: stat
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:370,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: FileManager::ConfigManager::statFile(struct stat *buf)
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - stat
    - elevating_stat
    - Layout::get
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int FileManager::ConfigManager::statFile(struct stat *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:385,1
    - Dst: FileManager::ConfigManager::checkForUserUpdate(FileManager::statFile
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:387,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:388,1
    - Dst: TS_ARCHIVE_STAT_MTIME
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:392,1
    - Dst: TS_ARCHIVE_STAT_MTIME
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:394,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/mgmt/config/FileManager.cc:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - how
    argTypes:
    - FileManager::RollBackCheckType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: FileManager::ConfigManager::checkForUserUpdate(FileManager::RollBackCheckType
      how)
    functionSourceFile: /src/trafficserver/src/mgmt/config/FileManager.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - TS_ARCHIVE_STAT_MTIME
    - ink_mutex_release
    - FileManager::ConfigManager::checkForUserUpdate(FileManager::statFile
    linkageType: ''
    returnType: bool
    signature: bool FileManager::ConfigManager::checkForUserUpdate(FileManager::RollBackCheckType
      how)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::get_auth
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:68,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:68,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:69,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - options
    argTypes:
    - Context
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: rpc::check_for_blockers
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_pair
    - auto::is_ok
    - Context::get_auth
    linkageType: ''
    returnType: std::pair<swoc::Errata, error::RPCErrorCode>
    signature: std::pair<swoc::Errata, error::RPCErrorCode> check_for_blockers(Context
      const &ctx, TSRPCHandlerOptions const &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_service_descriptor_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: JsonRPCManager::Dispatcher::Dispatcher()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - register_service_descriptor_handler
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::Dispatcher()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::add_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:82,1
    - Dst: show_registered_handlers
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:85,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:88,1
    - Dst: JsonRPCManager::Dispatcher::add_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:91,1
    - Dst: get_service_descriptor
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:94,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: JsonRPCManager::Dispatcher::register_service_descriptor_handler()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - Warning
    - get_service_descriptor
    - JsonRPCManager::Dispatcher::add_handler
    - show_registered_handlers
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::register_service_descriptor_handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:105,1
    - Dst: check_for_blockers
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: auto::get_options
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:117,1
    - Dst: specs::RPCRequestInfo::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:121,1
    - Dst: invoke_notification_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:122,1
    - Dst: invoke_method_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - request
    argTypes:
    - Context
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: JsonRPCManager::Dispatcher::dispatch(Context const &ctx, specs::RPCRequestInfo
      const &request) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - check_for_blockers
    - is_ok
    - invoke_method_handler
    - invoke_notification_handler
    - specs::RPCRequestInfo::is_notification
    - auto::get_options
    - std::move
    - find_handler
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::dispatch(Context
      const &ctx, specs::RPCRequestInfo const &request) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:136,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:138,1
    - Dst: specs::RPCRequestInfo::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: InternalHandlers::const_iterator::second::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: specs::RPCRequestInfo::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: InternalHandlers::const_iterator::second::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - request
    - ec
    argTypes:
    - specs::RPCRequestInfo
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: '&

      JsonRPCManager::Dispatcher::find_handler(specs::RPCRequestInfo const &request,
      std::error_code &ec) const'
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - find
    - specs::RPCRequestInfo::is_method
    - end
    - specs::RPCRequestInfo::is_notification
    - InternalHandlers::const_iterator::second::is_method
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::InternalHandler
    signature: 'JsonRPCManager::Dispatcher::InternalHandler &

      JsonRPCManager::Dispatcher::find_handler(specs::RPCRequestInfo const &request,
      std::error_code &ec) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::InternalHandler::invoke
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:158,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:160,1
    - Dst: auto::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:161,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:164,1
    - Dst: auto::errata
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:167,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - handler
    - request
    argTypes:
    - JsonRPCManager::Dispatcher::InternalHandler
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: "JsonRPCManager::Dispatcher::invoke_method_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                  specs::RPCRequestInfo
      const                       &request) const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - JsonRPCManager::Dispatcher::InternalHandler::invoke
    - auto::errata
    - what
    - auto::is_ok
    - auto::result
    - Dbg
    - std::move
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: "JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::invoke_method_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                  specs::RPCRequestInfo
      const                       &request) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::InternalHandler::invoke
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:181,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handler
    - notification
    argTypes:
    - JsonRPCManager::Dispatcher::InternalHandler
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: "JsonRPCManager::Dispatcher::invoke_notification_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                        specs::RPCRequestInfo
      const                       &notification) const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - what
    - Dbg
    - JsonRPCManager::Dispatcher::InternalHandler::invoke
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: "JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::invoke_notification_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                        specs::RPCRequestInfo
      const                       &notification) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: std::begin
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:193,1
    - Dst: erase
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: JsonRPCManager::Dispatcher::remove_handler(std::string_view name)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - end
    - erase
    - std::find_if
    - std::begin
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::remove_handler(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::JsonRPCManager::remove_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: rpc::JsonRPCManager::remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 1
    functionsReached:
    - rpc::JsonRPCManager::remove_handler
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::remove_handler(std::string_view name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:210,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:210,1
    - Dst: ChunkDecoder::decode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:215,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:222,1
    - Dst: specs::RPCRequest::is_batch
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:225,1
    - Dst: specs::RPCRequest::get_messages
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:226,1
    - Dst: dispatch
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:233,1
    - Dst: specs::RPCResponse::add_message
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:238,1
    - Dst: specs::RPCResponse::add_message
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:246,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:246,1
    - Dst: specs::RPCResponse::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:253,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:254,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:255,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:255,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - request
    argTypes:
    - Context
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 266
    functionName: rpc::JsonRPCManager::handle_call
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode
    - specs::RPCRequest::is_batch
    - ChunkDecoder::decode
    - dispatch
    - Dbg
    - specs::RPCRequest::get_messages
    - specs::RPCResponse::add_message
    - c_str
    - specs::RPCResponse::is_notification
    - std::move
    - std::string::c_str
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> JsonRPCManager::handle_call(Context const
      &ctx, std::string const &request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:273,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:278,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:283,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:289,1
    - Dst: wait
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:291,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - request
    argTypes:
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 298
    functionName: JsonRPCManager::Dispatcher::InternalHandler::invoke(specs::RPCRequestInfo
      const &request) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - wait
    - cb
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::InternalHandler::invoke(specs::RPCRequestInfo
      const &request) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InternalHandler::VariantTypeIndexId>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:303,1
    - Dst: index
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: JsonRPCManager::Dispatcher::InternalHandler::is_method() const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<InternalHandler::VariantTypeIndexId>
    - index
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::InternalHandler::is_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:321,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:322,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: JsonRPCManager::Dispatcher::show_registered_handlers(std::string_view
      const &, const YAML::Node &)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - push_back
    - is_method
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::show_registered_handlers(std::string_view
      const &, const YAML::Node &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:332,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:336,1
    - Dst: is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:338,1
    - Dst: get_reg_info
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:340,1
    - Dst: auto::provider::size
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:342,1
    - Dst: get_options
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:348,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:351,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: JsonRPCManager::Dispatcher::get_service_descriptor(std::string_view
      const &, const YAML::Node &)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - get_reg_info
    - YAML::Node::Node
    - auto::provider::size
    - is_method
    - get_options
    - push_back
    - std::move
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::get_service_descriptor(std::string_view
      const &, const YAML::Node &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::get_auth
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:68,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:68,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:69,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - options
    argTypes:
    - Context
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: rpc::check_for_blockers
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_pair
    - auto::is_ok
    - Context::get_auth
    linkageType: ''
    returnType: std::pair<swoc::Errata, error::RPCErrorCode>
    signature: std::pair<swoc::Errata, error::RPCErrorCode> check_for_blockers(Context
      const &ctx, TSRPCHandlerOptions const &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_service_descriptor_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: JsonRPCManager::Dispatcher::Dispatcher()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - register_service_descriptor_handler
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::Dispatcher()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::add_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:82,1
    - Dst: show_registered_handlers
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:85,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:88,1
    - Dst: JsonRPCManager::Dispatcher::add_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:91,1
    - Dst: get_service_descriptor
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:94,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: JsonRPCManager::Dispatcher::register_service_descriptor_handler()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - Warning
    - get_service_descriptor
    - JsonRPCManager::Dispatcher::add_handler
    - show_registered_handlers
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::register_service_descriptor_handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:105,1
    - Dst: check_for_blockers
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: auto::get_options
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:114,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:117,1
    - Dst: specs::RPCRequestInfo::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:121,1
    - Dst: invoke_notification_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:122,1
    - Dst: invoke_method_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - request
    argTypes:
    - Context
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: JsonRPCManager::Dispatcher::dispatch(Context const &ctx, specs::RPCRequestInfo
      const &request) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - check_for_blockers
    - is_ok
    - invoke_method_handler
    - invoke_notification_handler
    - specs::RPCRequestInfo::is_notification
    - auto::get_options
    - std::move
    - find_handler
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::dispatch(Context
      const &ctx, specs::RPCRequestInfo const &request) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:136,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:138,1
    - Dst: specs::RPCRequestInfo::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: InternalHandlers::const_iterator::second::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: specs::RPCRequestInfo::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    - Dst: InternalHandlers::const_iterator::second::is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - request
    - ec
    argTypes:
    - specs::RPCRequestInfo
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: '&

      JsonRPCManager::Dispatcher::find_handler(specs::RPCRequestInfo const &request,
      std::error_code &ec) const'
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - find
    - specs::RPCRequestInfo::is_method
    - end
    - specs::RPCRequestInfo::is_notification
    - InternalHandlers::const_iterator::second::is_method
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::InternalHandler
    signature: 'JsonRPCManager::Dispatcher::InternalHandler &

      JsonRPCManager::Dispatcher::find_handler(specs::RPCRequestInfo const &request,
      std::error_code &ec) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::InternalHandler::invoke
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:158,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:160,1
    - Dst: auto::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:161,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:164,1
    - Dst: auto::errata
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:167,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - handler
    - request
    argTypes:
    - JsonRPCManager::Dispatcher::InternalHandler
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: "JsonRPCManager::Dispatcher::invoke_method_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                  specs::RPCRequestInfo
      const                       &request) const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - JsonRPCManager::Dispatcher::InternalHandler::invoke
    - auto::errata
    - what
    - auto::is_ok
    - auto::result
    - Dbg
    - std::move
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: "JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::invoke_method_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                  specs::RPCRequestInfo
      const                       &request) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonRPCManager::Dispatcher::InternalHandler::invoke
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:181,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handler
    - notification
    argTypes:
    - JsonRPCManager::Dispatcher::InternalHandler
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: "JsonRPCManager::Dispatcher::invoke_notification_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                        specs::RPCRequestInfo
      const                       &notification) const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - what
    - Dbg
    - JsonRPCManager::Dispatcher::InternalHandler::invoke
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::response_type
    signature: "JsonRPCManager::Dispatcher::response_type JsonRPCManager::Dispatcher::invoke_notification_handler(JsonRPCManager::Dispatcher::InternalHandler
      const &handler,\n                                                        specs::RPCRequestInfo
      const                       &notification) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: std::begin
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:192,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:193,1
    - Dst: erase
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: JsonRPCManager::Dispatcher::remove_handler(std::string_view name)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - end
    - erase
    - std::find_if
    - std::begin
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::remove_handler(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::JsonRPCManager::remove_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: rpc::JsonRPCManager::remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 2
    functionsReached:
    - rpc::JsonRPCManager::remove_handler
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::remove_handler(std::string_view name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:210,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:210,1
    - Dst: ChunkDecoder::decode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:215,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:222,1
    - Dst: specs::RPCRequest::is_batch
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:225,1
    - Dst: specs::RPCRequest::get_messages
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:226,1
    - Dst: dispatch
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:233,1
    - Dst: specs::RPCResponse::add_message
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:238,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:238,1
    - Dst: specs::RPCResponse::add_message
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:246,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:246,1
    - Dst: specs::RPCResponse::is_notification
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:253,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:254,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:255,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:255,1
    - Dst: ats_base64_encode
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - request
    argTypes:
    - Context
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 266
    functionName: rpc::JsonRPCManager::handle_call
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode
    - specs::RPCRequest::is_batch
    - ChunkDecoder::decode
    - dispatch
    - Dbg
    - specs::RPCRequest::get_messages
    - specs::RPCResponse::add_message
    - c_str
    - specs::RPCResponse::is_notification
    - std::move
    - std::string::c_str
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> JsonRPCManager::handle_call(Context const
      &ctx, std::string const &request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:273,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:278,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:283,1
    - Dst: cb
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:289,1
    - Dst: wait
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:291,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - request
    argTypes:
    - specs::RPCRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 298
    functionName: JsonRPCManager::Dispatcher::InternalHandler::invoke(specs::RPCRequestInfo
      const &request) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - wait
    - cb
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::InternalHandler::invoke(specs::RPCRequestInfo
      const &request) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InternalHandler::VariantTypeIndexId>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:303,1
    - Dst: index
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: JsonRPCManager::Dispatcher::InternalHandler::is_method() const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<InternalHandler::VariantTypeIndexId>
    - index
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::InternalHandler::is_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:321,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:322,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: JsonRPCManager::Dispatcher::show_registered_handlers(std::string_view
      const &, const YAML::Node &)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - push_back
    - is_method
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::show_registered_handlers(std::string_view
      const &, const YAML::Node &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:332,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:336,1
    - Dst: is_method
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:338,1
    - Dst: get_reg_info
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:340,1
    - Dst: auto::provider::size
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:342,1
    - Dst: get_options
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:348,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:351,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: JsonRPCManager::Dispatcher::get_service_descriptor(std::string_view
      const &, const YAML::Node &)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/JsonRPCManager.cc
    functionUses: 0
    functionsReached:
    - get_reg_info
    - YAML::Node::Node
    - auto::provider::size
    - is_method
    - get_options
    - push_back
    - std::move
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> JsonRPCManager::Dispatcher::get_service_descriptor(std::string_view
      const &, const YAML::Node &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/Context.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Context::Auth::is_blocked(TSRPCHandlerOptions const &options) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/Context.cc
    functionUses: 0
    functionsReached:
    - check
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Context::Auth::is_blocked(TSRPCHandlerOptions const &options)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/Context.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Context::Auth::is_blocked(TSRPCHandlerOptions const &options) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/Context.cc
    functionUses: 0
    functionsReached:
    - check
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Context::Auth::is_blocked(TSRPCHandlerOptions const &options)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: RPCErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCErrorCategory::name() const noexcept'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RPCErrorCode>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:44,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 80
    functionName: RPCErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached:
    - static_cast<RPCErrorCode>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string RPCErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: RPCErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCErrorCategory::name() const noexcept'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RPCErrorCode>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:44,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 80
    functionName: RPCErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached:
    - static_cast<RPCErrorCode>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string RPCErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::error::RPCErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: rpc::error::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::error::RPCErrorCode e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::error::RPCErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: rpc::error::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/error/RPCError.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::error::RPCErrorCode e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: JsonRpcUnitTest
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRpcUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 4
    functionsReached:
    - remove_handler
    linkageType: ''
    returnType: bool
    signature: bool remove_handler(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_notification_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:44,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: add_notification_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 3
    functionsReached:
    - std::forward<Func>
    - add_notification_handler
    linkageType: ''
    returnType: bool
    signature: bool add_notification_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_method_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:50,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: add_method_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 3
    functionsReached:
    - std::forward<Func>
    - add_method_handler
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_call
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jsonString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: handle_call
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 3
    functionsReached:
    - handle_call
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> handle_call(std::string const &jsonString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:71,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:72,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:74,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: test_callback_ok_or_error
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached:
    - swoc::Rv::result
    - YAML::Node::Node
    - swoc::Rv::errata
    - YAML::Node::as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> test_callback_ok_or_error(std::string_view const
      & /* id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: test_nofitication
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_nofitication(YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: JsonRpcUnitTest
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRpcUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 5
    functionsReached:
    - remove_handler
    linkageType: ''
    returnType: bool
    signature: bool remove_handler(std::string const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_notification_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:44,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: add_notification_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 4
    functionsReached:
    - std::forward<Func>
    - add_notification_handler
    linkageType: ''
    returnType: bool
    signature: bool add_notification_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_method_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:50,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: add_method_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 4
    functionsReached:
    - std::forward<Func>
    - add_method_handler
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_call
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jsonString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: handle_call
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 4
    functionsReached:
    - handle_call
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> handle_call(std::string const &jsonString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:71,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:72,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:74,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: test_callback_ok_or_error
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached:
    - swoc::Rv::result
    - YAML::Node::Node
    - swoc::Rv::errata
    - YAML::Node::as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> test_callback_ok_or_error(std::string_view const
      & /* id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: test_nofitication
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_nofitication(YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: TestMemberFunctionCall
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestMemberFunctionCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonRpcUnitTest::add_method_handler
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:337,1
    - Dst: test
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rpc
    argTypes:
    - JsonRpcUnitTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: register_member_function_as_callback
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached:
    - test
    - JsonRpcUnitTest::add_method_handler
    linkageType: ''
    returnType: bool
    signature: bool register_member_function_as_callback(JsonRpcUnitTest &rpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: test
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 10
    functionsReached:
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> test(std::string_view const & /* id ATS_UNUSED
      */, const YAML::Node & /* req ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:389,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:390,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:391,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:393,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:394,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:397,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:398,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:400,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:400,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - numbers
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: subtract
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached:
    - auto::as
    - YAML::Node::end
    - YAML::Node::begin
    - swoc::Rv::result
    - as
    - YAML::Node::Type
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> subtract(std::string_view const & /* id ATS_UNUSED
      */, YAML::Node const &numbers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:413,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: sum
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 1
    functionsReached:
    - swoc::Rv::result
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> sum(std::string_view const & /* id ATS_UNUSED
      */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:423,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: get_data
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 12
    functionsReached:
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_data(std::string_view const & /* id ATS_UNUSED
      */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: update
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: foobar
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foobar(YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: notify_hello
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/jsonrpc/unit_tests/test_basic_protocol.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void notify_hello(YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:57,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, SetRecordCmdInfo &info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:57,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, SetRecordCmdInfo &info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::stof
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:78,1
    - Dst: RecSetRecordFloat
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:89,1
    - Dst: RecSetRecordInt
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: RecSetRecordString
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: rpc::handlers::config::set_data_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - SetRecordCmdInfo::name::c_str
    - SetRecordCmdInfo::value::c_str
    - RecSetRecordString
    - std::stoi
    - const_cast<char *>
    - std::stof
    - RecSetRecordFloat
    - RecSetRecordInt
    linkageType: ''
    returnType: bool
    signature: bool set_data_type(SetRecordCmdInfo const &info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::stof
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:78,1
    - Dst: RecSetRecordFloat
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:89,1
    - Dst: RecSetRecordInt
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: RecSetRecordString
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: rpc::handlers::config::set_data_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - SetRecordCmdInfo::name::c_str
    - SetRecordCmdInfo::value::c_str
    - RecSetRecordString
    - std::stoi
    - const_cast<char *>
    - std::stof
    - RecSetRecordFloat
    - RecSetRecordInt
    linkageType: ''
    returnType: bool
    signature: bool set_data_type(SetRecordCmdInfo const &info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:119,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:121,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:128,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:129,1
    - Dst: static_cast<LookupContext *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:131,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:132,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:145,1
    - Dst: RecordValidityCheck
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:153,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:153,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:154,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:164,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:167,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:170,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:176,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:178,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:179,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 187
    functionName: rpc::handlers::config::set_config_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - SetRecordCmdInfo::name::c_str
    - static_cast<LookupContext *>
    - SetRecordCmdInfo::value::c_str
    - YAML::Node::Node
    - RecLookupRecord
    - swoc::Rv::errata
    - rpc::handlers::config::set_data_type
    - swoc::Rv::result
    - REC_TYPE_IS_CONFIG
    - RecordValidityCheck
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> set_config_records(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:192,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:193,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:194,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:196,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:198,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:198,1
    - Dst: swoc::Rv::note
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:199,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:202,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:204,1
    - Dst: time
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:204,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: rpc::handlers::config::reload_config
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    - Dbg
    - ts::Metrics::lookup
    - swoc::Rv::note
    - time
    - auto::empty
    - store
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> reload_config(std::string_view const & /* id ATS_UNUSED
      */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::stof
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:78,1
    - Dst: RecSetRecordFloat
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:89,1
    - Dst: RecSetRecordInt
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: RecSetRecordString
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: rpc::handlers::config::set_data_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 1
    functionsReached:
    - SetRecordCmdInfo::name::c_str
    - SetRecordCmdInfo::value::c_str
    - RecSetRecordString
    - std::stoi
    - const_cast<char *>
    - std::stof
    - RecSetRecordFloat
    - RecSetRecordInt
    linkageType: ''
    returnType: bool
    signature: bool set_data_type(SetRecordCmdInfo const &info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::stof
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:78,1
    - Dst: RecSetRecordFloat
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:83,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:89,1
    - Dst: RecSetRecordInt
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:94,1
    - Dst: RecSetRecordString
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SetRecordCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: rpc::handlers::config::set_data_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 1
    functionsReached:
    - SetRecordCmdInfo::name::c_str
    - SetRecordCmdInfo::value::c_str
    - RecSetRecordString
    - std::stoi
    - const_cast<char *>
    - std::stof
    - RecSetRecordFloat
    - RecSetRecordInt
    linkageType: ''
    returnType: bool
    signature: bool set_data_type(SetRecordCmdInfo const &info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:119,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:121,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:128,1
    - Dst: SetRecordCmdInfo::name::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:129,1
    - Dst: static_cast<LookupContext *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:131,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:132,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:145,1
    - Dst: RecordValidityCheck
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:153,1
    - Dst: SetRecordCmdInfo::value::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:153,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:154,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:164,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:167,1
    - Dst: rpc::handlers::config::set_data_type
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:170,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:176,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:178,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:179,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 187
    functionName: rpc::handlers::config::set_config_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - SetRecordCmdInfo::name::c_str
    - static_cast<LookupContext *>
    - SetRecordCmdInfo::value::c_str
    - YAML::Node::Node
    - RecLookupRecord
    - swoc::Rv::errata
    - rpc::handlers::config::set_data_type
    - swoc::Rv::result
    - REC_TYPE_IS_CONFIG
    - RecordValidityCheck
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> set_config_records(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:192,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:193,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:194,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:196,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:198,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:198,1
    - Dst: swoc::Rv::note
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:199,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:202,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:204,1
    - Dst: time
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:204,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: rpc::handlers::config::reload_config
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/config/Configuration.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    - Dbg
    - ts::Metrics::lookup
    - swoc::Rv::note
    - time
    - auto::empty
    - store
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> reload_config(std::string_view const & /* id ATS_UNUSED
      */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: RPCHandlerLogicErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCHandlerLogicErrorCategory::name() const noexcept'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::handlers::errors::Codes>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:41,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: RPCHandlerLogicErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - static_cast<rpc::handlers::errors::Codes>
    linkageType: ''
    returnType: std::string
    signature: std::string RPCHandlerLogicErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: RPCHandlerLogicErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCHandlerLogicErrorCategory::name() const noexcept'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::handlers::errors::Codes>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:41,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: RPCHandlerLogicErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - static_cast<rpc::handlers::errors::Codes>
    linkageType: ''
    returnType: std::string
    signature: std::string RPCHandlerLogicErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::handlers::errors::Codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: rpc::handlers::errors::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::handlers::errors::Codes e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::handlers::errors::Codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: rpc::handlers::errors::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/ErrorUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::handlers::errors::Codes e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: RPCRecordErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCRecordErrorCategory::name() const noexcept'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::handlers::errors::RecordError>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:47,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: RPCRecordErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - static_cast<rpc::handlers::errors::RecordError>
    linkageType: ''
    returnType: std::string
    signature: std::string RPCRecordErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: RPCRecordErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      RPCRecordErrorCategory::name() const noexcept'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::handlers::errors::RecordError>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:47,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: RPCRecordErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - static_cast<rpc::handlers::errors::RecordError>
    linkageType: ''
    returnType: std::string
    signature: std::string RPCRecordErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::handlers::errors::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: rpc::handlers::errors::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::handlers::errors::RecordError
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::handlers::errors::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: rpc::handlers::errors::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::handlers::errors::RecordError
      e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:99,1
    - Dst: auto::checkCb
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:106,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:119,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - std::string
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: rpc::handlers::records::utils::get_record_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - auto::checkCb
    - static_cast<Context *>
    - std::string::c_str
    - RecLookupRecord
    linkageType: ''
    returnType: void
    signature: void get_record_impl(std::string const &name, Context &ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:138,1
    - Dst: auto::checkCb
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:144,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:149,1
    - Dst: auto::yaml::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:159,1
    - Dst: RecLookupMatchingRecords
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:170,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - regex
    - recType
    - ctx
    argTypes:
    - std::string
    - unsigned
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 181
    functionName: rpc::handlers::records::utils::get_record_regex_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - auto::checkCb
    - static_cast<Context *>
    - YAML::Node::Node
    - RecLookupMatchingRecords
    - auto::yaml::push_back
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void get_record_regex_impl(std::string const &regex, unsigned recType,
      Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:187,1
    - Dst: rpc::handlers::records::utils::get_record_regex_impl
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - recType
    argTypes:
    - std::string
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: rpc::handlers::records::utils::get_yaml_record_regex
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    - rpc::handlers::records::utils::get_record_regex_impl
    linkageType: ''
    returnType: std::tuple<YAML::Node, std::error_code>
    signature: std::tuple<YAML::Node, std::error_code> get_yaml_record_regex(std::string
      const &name, unsigned recType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:198,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:201,1
    - Dst: rpc::handlers::records::utils::get_record_impl
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - check
    argTypes:
    - std::string
    - ValidateRecType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: rpc::handlers::records::utils::get_yaml_record
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    - std::move
    - rpc::handlers::records::utils::get_record_impl
    linkageType: ''
    returnType: std::tuple<YAML::Node, std::error_code>
    signature: std::tuple<YAML::Node, std::error_code> get_yaml_record(std::string
      const &name, ValidateRecType check)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:99,1
    - Dst: auto::checkCb
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:106,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:119,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - std::string
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: rpc::handlers::records::utils::get_record_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 1
    functionsReached:
    - auto::checkCb
    - static_cast<Context *>
    - std::string::c_str
    - RecLookupRecord
    linkageType: ''
    returnType: void
    signature: void get_record_impl(std::string const &name, Context &ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:138,1
    - Dst: auto::checkCb
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:144,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:149,1
    - Dst: auto::yaml::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:159,1
    - Dst: RecLookupMatchingRecords
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:170,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - regex
    - recType
    - ctx
    argTypes:
    - std::string
    - unsigned
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 181
    functionName: rpc::handlers::records::utils::get_record_regex_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 1
    functionsReached:
    - auto::checkCb
    - static_cast<Context *>
    - YAML::Node::Node
    - RecLookupMatchingRecords
    - auto::yaml::push_back
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void get_record_regex_impl(std::string const &regex, unsigned recType,
      Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:187,1
    - Dst: rpc::handlers::records::utils::get_record_regex_impl
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - recType
    argTypes:
    - std::string
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: rpc::handlers::records::utils::get_yaml_record_regex
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    - rpc::handlers::records::utils::get_record_regex_impl
    linkageType: ''
    returnType: std::tuple<YAML::Node, std::error_code>
    signature: std::tuple<YAML::Node, std::error_code> get_yaml_record_regex(std::string
      const &name, unsigned recType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:198,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:201,1
    - Dst: rpc::handlers::records::utils::get_record_impl
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - check
    argTypes:
    - std::string
    - ValidateRecType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: rpc::handlers::records::utils::get_yaml_record
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/RecordsUtils.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    - std::move
    - rpc::handlers::records::utils::get_record_impl
    linkageType: ''
    returnType: std::tuple<YAML::Node, std::error_code>
    signature: std::tuple<YAML::Node, std::error_code> get_yaml_record(std::string
      const &name, ValidateRecType check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecPersistT &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:88,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:89,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:90,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:91,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - configMeta
    argTypes:
    - RecConfigMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecConfigMeta &configMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statMeta
    argTypes:
    - RecStatMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecStatMeta &statMeta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:123,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:129,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:135,1
    - Dst: find
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:138,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - record
    argTypes:
    - RecRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 176
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - REC_TYPE_IS_STAT
    - end
    - REC_TYPE_IS_CONFIG
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecRecord &record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecPersistT &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:88,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:89,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:90,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:91,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - configMeta
    argTypes:
    - RecConfigMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecConfigMeta &configMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statMeta
    argTypes:
    - RecStatMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecStatMeta &statMeta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:123,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:129,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:131,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:135,1
    - Dst: find
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:138,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - record
    argTypes:
    - RecRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 176
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/common/convert.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - REC_TYPE_IS_STAT
    - end
    - REC_TYPE_IS_CONFIG
    linkageType: ''
    returnType: Node
    signature: Node encode(const RecRecord &record)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:47,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - msg
    argTypes:
    - Node
    - PluginMsgInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc
    functionUses: 0
    functionsReached:
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, PluginMsgInfo &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:47,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - msg
    argTypes:
    - Node
    - PluginMsgInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc
    functionUses: 0
    functionsReached:
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, PluginMsgInfo &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc::handlers::errors::make_errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:65,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:71,1
    - Dst: PluginMsgInfo::tag::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:74,1
    - Dst: PluginMsgInfo::data::data
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:75,1
    - Dst: PluginMsgInfo::data::size
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:76,1
    - Dst: get
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:78,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:82,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:86,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:86,1
    - Dst: rpc::handlers::errors::make_errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:87,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: rpc::handlers::plugins::plugin_send_basic_msg
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc
    functionUses: 0
    functionsReached:
    - get
    - PluginMsgInfo::tag::c_str
    - rpc::handlers::errors::make_errata
    - what
    - PluginMsgInfo::data::data
    - YAML::Node::as
    - APIHook*::next
    - Dbg
    - APIHook*::invoke
    - PluginMsgInfo::data::size
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> plugin_send_basic_msg(std::string_view const &
      /* id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc::handlers::errors::make_errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:65,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:71,1
    - Dst: PluginMsgInfo::tag::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:74,1
    - Dst: PluginMsgInfo::data::data
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:75,1
    - Dst: PluginMsgInfo::data::size
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:76,1
    - Dst: get
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:78,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:82,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:86,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:86,1
    - Dst: rpc::handlers::errors::make_errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:87,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: rpc::handlers::plugins::plugin_send_basic_msg
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/plugins/Plugins.cc
    functionUses: 0
    functionsReached:
    - get
    - PluginMsgInfo::tag::c_str
    - rpc::handlers::errors::make_errata
    - what
    - PluginMsgInfo::data::data
    - YAML::Node::as
    - APIHook*::next
    - Dbg
    - APIHook*::invoke
    - PluginMsgInfo::data::size
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> plugin_send_basic_msg(std::string_view const &
      /* id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TFLags>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: operator|(const TFLags rhs, const TFLags lhs)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - static_cast<TFLags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: TFLags
    signature: TFLags operator|(const TFLags rhs, const TFLags lhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      operator|=(TFLags &rhs, TFLags lhs)'
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TFLags
    signature: 'TFLags &

      operator|=(TFLags &rhs, TFLags lhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TFLags>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: operator&(TFLags rhs, TFLags lhs)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - static_cast<TFLags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: TFLags
    signature: TFLags operator&(TFLags rhs, TFLags lhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TFLags>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: operator|(const TFLags rhs, const TFLags lhs)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - static_cast<TFLags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: TFLags
    signature: TFLags operator|(const TFLags rhs, const TFLags lhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      operator|=(TFLags &rhs, TFLags lhs)'
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TFLags
    signature: 'TFLags &

      operator|=(TFLags &rhs, TFLags lhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TFLags>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - TFLags
    - TFLags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: operator&(TFLags rhs, TFLags lhs)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - static_cast<TFLags>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: TFLags
    signature: TFLags operator&(TFLags rhs, TFLags lhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:82,1
    - Dst: rpc::handlers::utils::is_true_flag
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - rpc::handlers::server::DrainInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - rpc::handlers::utils::is_true_flag
    - Node::IsMap
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, rpc::handlers::server::DrainInfo &rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:98,1
    - Dst: auto::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:102,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:103,1
    - Dst: YAML::std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - rpc::handlers::server::ConnectionTrackingInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::std::runtime_error
    - auto::IsNull
    - auto::as
    - Node::IsMap
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, rpc::handlers::server::ConnectionTrackingInfo
      &rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:82,1
    - Dst: rpc::handlers::utils::is_true_flag
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - rpc::handlers::server::DrainInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - rpc::handlers::utils::is_true_flag
    - Node::IsMap
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, rpc::handlers::server::DrainInfo &rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:98,1
    - Dst: auto::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:102,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:103,1
    - Dst: YAML::std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - rpc::handlers::server::ConnectionTrackingInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::std::runtime_error
    - auto::IsNull
    - auto::as
    - Node::IsMap
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, rpc::handlers::server::ConnectionTrackingInfo
      &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:126,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:127,1
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: rpc::handlers::server::is_server_draining
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - load
    - ts::Metrics::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool is_server_draining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:135,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:136,1
    - Dst: TSSystemState::drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:138,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:139,1
    - Dst: TSSystemState::is_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - drain
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: rpc::handlers::server::set_server_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - TSSystemState::is_draining
    - TSSystemState::drain
    - RegexContext::get_instance
    - ts::Metrics::lookup
    - store
    linkageType: ''
    returnType: void
    signature: void set_server_drain(bool drain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:147,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:149,1
    - Dst: rpc::handlers::server::is_server_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:153,1
    - Dst: rpc::handlers::server::set_server_drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:154,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:156,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:159,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:159,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:160,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: rpc::handlers::server::server_start_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - what
    - swoc::Rv::errata
    - rpc::handlers::server::is_server_draining
    - YAML::Node::as
    - Dbg
    - rpc::handlers::server::set_server_drain
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_start_drain(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc::handlers::server::is_server_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:169,1
    - Dst: rpc::handlers::server::set_server_drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:170,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: rpc::handlers::server::server_stop_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - rpc::handlers::server::set_server_drain
    - swoc::Rv::errata
    - rpc::handlers::server::is_server_draining
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_stop_drain(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_cache_dir_on_shutdown
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: rpc::handlers::server::server_shutdown
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - sync_cache_dir_on_shutdown
    linkageType: ''
    returnType: void
    signature: void server_shutdown(YAML::Node const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:191,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:192,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:192,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:193,1
    - Dst: TSSystemState::is_ssl_handshaking_stopped
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:193,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:194,1
    - Dst: TSSystemState::is_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:194,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:195,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:195,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:197,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:200,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: rpc::handlers::server::get_server_status
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - what
    - TSSystemState::is_draining
    - TSSystemState::is_event_system_shut_down
    - swoc::Rv::errata
    - bts
    - TSSystemState::is_initializing
    - swoc::Rv::result
    - TSSystemState::is_ssl_handshaking_stopped
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_server_status(std::string_view const & /*
      params ATS_UNUSED */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:213,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:214,1
    - Dst: ConnectionTracker::outbound_to_json_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:218,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:219,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:219,1
    - Dst: ConnectionTracker::inbound_to_json_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:223,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:224,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:224,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:228,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 233
    functionName: rpc::handlers::server::get_connection_tracker_info
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - what
    - ConnectionTracker::outbound_to_json_string
    - ConnectionTracker::inbound_to_json_string
    - swoc::Rv::errata
    - YAML::Node::as
    - YAML::Load
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_connection_tracker_info(std::string_view const
      & /* params ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:126,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:127,1
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: rpc::handlers::server::is_server_draining
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 2
    functionsReached:
    - load
    - ts::Metrics::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool is_server_draining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:135,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:136,1
    - Dst: TSSystemState::drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:138,1
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:139,1
    - Dst: TSSystemState::is_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - drain
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: rpc::handlers::server::set_server_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 2
    functionsReached:
    - TSSystemState::is_draining
    - TSSystemState::drain
    - RegexContext::get_instance
    - ts::Metrics::lookup
    - store
    linkageType: ''
    returnType: void
    signature: void set_server_drain(bool drain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:147,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:149,1
    - Dst: rpc::handlers::server::is_server_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:153,1
    - Dst: rpc::handlers::server::set_server_drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:154,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:156,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:159,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:159,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:160,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: rpc::handlers::server::server_start_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - what
    - swoc::Rv::errata
    - rpc::handlers::server::is_server_draining
    - YAML::Node::as
    - Dbg
    - rpc::handlers::server::set_server_drain
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_start_drain(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc::handlers::server::is_server_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:169,1
    - Dst: rpc::handlers::server::set_server_drain
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:170,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: rpc::handlers::server::server_stop_drain
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - rpc::handlers::server::set_server_drain
    - swoc::Rv::errata
    - rpc::handlers::server::is_server_draining
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_stop_drain(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_cache_dir_on_shutdown
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: rpc::handlers::server::server_shutdown
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - sync_cache_dir_on_shutdown
    linkageType: ''
    returnType: void
    signature: void server_shutdown(YAML::Node const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:191,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:192,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:192,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:193,1
    - Dst: TSSystemState::is_ssl_handshaking_stopped
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:193,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:194,1
    - Dst: TSSystemState::is_draining
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:194,1
    - Dst: bts
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:195,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:195,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:197,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:200,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: rpc::handlers::server::get_server_status
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - what
    - TSSystemState::is_draining
    - TSSystemState::is_event_system_shut_down
    - swoc::Rv::errata
    - bts
    - TSSystemState::is_initializing
    - swoc::Rv::result
    - TSSystemState::is_ssl_handshaking_stopped
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_server_status(std::string_view const & /*
      params ATS_UNUSED */, YAML::Node const & /* params ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:213,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:214,1
    - Dst: ConnectionTracker::outbound_to_json_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:218,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:219,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:219,1
    - Dst: ConnectionTracker::inbound_to_json_string
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:223,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:224,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:224,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:228,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 233
    functionName: rpc::handlers::server::get_connection_tracker_info
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/server/Server.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - what
    - ConnectionTracker::outbound_to_json_string
    - ConnectionTracker::inbound_to_json_string
    - swoc::Rv::errata
    - YAML::Node::as
    - YAML::Load
    - swoc::Rv::result
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_connection_tracker_info(std::string_view const
      & /* params ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: is_regex_req
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_regex_req() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ErrorInfo
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrorInfo(int _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:63,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ErrorInfo
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - std::error_code::value
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void ErrorInfo(std::error_code ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: is_regex_req
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_regex_req() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ErrorInfo
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrorInfo(int _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:63,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ErrorInfo
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - std::error_code::value
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void ErrorInfo(std::error_code ec)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:96,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:97,1
    - Dst: RequestRecordElement::recTypes::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:107,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:119,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - RequestRecordElement::recTypes::push_back
    - as
    - auto::as
    - auto::IsSequence
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, RequestRecordElement &info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ErrorInfo::message::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:136,1
    - Dst: ErrorInfo::recordName::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - errorInfo
    argTypes:
    - ErrorInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - ErrorInfo::message::empty
    - ErrorInfo::recordName::empty
    linkageType: ''
    returnType: Node
    signature: Node encode(ErrorInfo const &errorInfo)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:96,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:97,1
    - Dst: RequestRecordElement::recTypes::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:107,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:119,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - RequestRecordElement::recTypes::push_back
    - as
    - auto::as
    - auto::IsSequence
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, RequestRecordElement &info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ErrorInfo::message::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:136,1
    - Dst: ErrorInfo::recordName::empty
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - errorInfo
    argTypes:
    - ErrorInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - ErrorInfo::message::empty
    - ErrorInfo::recordName::empty
    linkageType: ''
    returnType: Node
    signature: Node encode(ErrorInfo const &errorInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<int>::size
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:154,1
    - Dst: std::begin
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:155,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: bitwise
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - end
    - std::vector<int>::size
    - std::begin
    linkageType: ''
    returnType: unsigned
    signature: unsigned bitwise(std::vector<int> const &values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitwise
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:173,1
    - Dst: rpc::handlers::records::utils::get_yaml_record
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: find_record_by_name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - bitwise
    - rpc::handlers::records::utils::get_yaml_record
    linkageType: ''
    returnType: auto
    signature: auto find_record_by_name(RequestRecordElement const &element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitwise
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:187,1
    - Dst: rpc::handlers::records::utils::get_yaml_record_regex
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: find_records_by_regex
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - rpc::handlers::records::utils::get_yaml_record_regex
    - bitwise
    linkageType: ''
    returnType: auto
    signature: auto find_records_by_regex(RequestRecordElement const &element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RequestRecordElement::is_regex_req
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:195,1
    - Dst: find_records_by_regex
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:196,1
    - Dst: find_record_by_name
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: find_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - find_record_by_name
    - RequestRecordElement::is_regex_req
    - find_records_by_regex
    linkageType: ''
    returnType: auto
    signature: auto find_records(RequestRecordElement const &element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<int>::size
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:154,1
    - Dst: std::begin
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:155,1
    - Dst: end
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: bitwise
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 2
    functionsReached:
    - end
    - std::vector<int>::size
    - std::begin
    linkageType: ''
    returnType: unsigned
    signature: unsigned bitwise(std::vector<int> const &values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitwise
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:173,1
    - Dst: rpc::handlers::records::utils::get_yaml_record
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: find_record_by_name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 1
    functionsReached:
    - bitwise
    - rpc::handlers::records::utils::get_yaml_record
    linkageType: ''
    returnType: auto
    signature: auto find_record_by_name(RequestRecordElement const &element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitwise
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:187,1
    - Dst: rpc::handlers::records::utils::get_yaml_record_regex
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: find_records_by_regex
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 1
    functionsReached:
    - rpc::handlers::records::utils::get_yaml_record_regex
    - bitwise
    linkageType: ''
    returnType: auto
    signature: auto find_records_by_regex(RequestRecordElement const &element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RequestRecordElement::is_regex_req
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:195,1
    - Dst: find_records_by_regex
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:196,1
    - Dst: find_record_by_name
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - element
    argTypes:
    - RequestRecordElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: find_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - find_record_by_name
    - RequestRecordElement::is_regex_req
    - find_records_by_regex
    linkageType: ''
    returnType: auto
    signature: auto find_records(RequestRecordElement const &element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:216,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:218,1
    - Dst: find_records
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:222,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:228,1
    - Dst: IsSequence
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:234,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:236,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:236,1
    - Dst: IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:238,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:239,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:239,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 248
    functionName: rpc::handlers::records::lookup_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - IsMap
    - push_back
    - IsSequence
    - std::move
    - YAML::Node::push_back
    - find_records
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> lookup_records(std::string_view const & /* id
      ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:216,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:218,1
    - Dst: find_records
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:222,1
    - Dst: push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:228,1
    - Dst: IsSequence
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:234,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:236,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:236,1
    - Dst: IsMap
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:238,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:239,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:239,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 248
    functionName: rpc::handlers::records::lookup_records
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/records/Records.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - IsMap
    - push_back
    - IsSequence
    - std::move
    - YAML::Node::push_back
    - find_records
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> lookup_records(std::string_view const & /* id
      ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cdisk
    argTypes:
    - CacheDisk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(CacheDisk const &cdisk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cdisk
    argTypes:
    - CacheDisk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(CacheDisk const &cdisk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:72,1
    - Dst: find_by_path
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:76,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:76,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:78,1
    - Dst: mark_storage_offline
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:79,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:82,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:82,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: rpc::handlers::storage::set_storage_offline
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - find_by_path
    - swoc::Rv::errata
    - as
    - mark_storage_offline
    - Dbg
    - std::move
    - swoc::Rv::result
    - std::string::c_str
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> set_storage_offline(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:98,1
    - Dst: find_by_path
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:99,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:102,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: rpc::handlers::storage::get_storage_status
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached:
    - swoc::Rv::errata
    - swoc::Rv::result
    - find_by_path
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_storage_status(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:72,1
    - Dst: find_by_path
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:76,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:76,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:78,1
    - Dst: mark_storage_offline
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:79,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:82,1
    - Dst: std::move
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:82,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: rpc::handlers::storage::set_storage_offline
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - find_by_path
    - swoc::Rv::errata
    - as
    - mark_storage_offline
    - Dbg
    - std::move
    - swoc::Rv::result
    - std::string::c_str
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> set_storage_offline(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:98,1
    - Dst: find_by_path
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:99,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:102,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: rpc::handlers::storage::get_storage_status
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/handlers/storage/Storage.cc
    functionUses: 0
    functionsReached:
    - swoc::Rv::errata
    - swoc::Rv::result
    - find_by_path
    - as
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> get_storage_status(std::string_view const & /*
      id ATS_UNUSED */, YAML::Node const &params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:43,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:45,1
    - Dst: Note
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:52,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:56,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: rpc::config::RPCConfig::load
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached:
    - what
    - Warning
    - Note
    - auto::as
    linkageType: ''
    returnType: void
    signature: void RPCConfig::load(YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: rpc::config::RPCConfig::get_comm_config_params
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node RPCConfig::get_comm_config_params() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: rpc::config::RPCConfig::get_comm_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RPCConfig::CommType
    signature: RPCConfig::CommType RPCConfig::get_comm_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: rpc::config::RPCConfig::is_enabled
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RPCConfig::is_enabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:82,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: strerror
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:90,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:92,1
    - Dst: rpc::config::RPCConfig::load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:96,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: rpc::config::RPCConfig::load_from_file
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached:
    - Warning
    - swoc::SWOC_VERSION_NS::file::load
    - YAML::Node::Node
    - what
    - rpc::config::RPCConfig::load
    - std::error_code::value
    - YAML::Load
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void RPCConfig::load_from_file(std::string const &filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:43,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:45,1
    - Dst: Note
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:52,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:56,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: rpc::config::RPCConfig::load
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 1
    functionsReached:
    - what
    - Warning
    - Note
    - auto::as
    linkageType: ''
    returnType: void
    signature: void RPCConfig::load(YAML::Node const &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: rpc::config::RPCConfig::get_comm_config_params
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node RPCConfig::get_comm_config_params() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: rpc::config::RPCConfig::get_comm_type
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RPCConfig::CommType
    signature: RPCConfig::CommType RPCConfig::get_comm_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: rpc::config::RPCConfig::is_enabled
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RPCConfig::is_enabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:82,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: strerror
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:85,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:90,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:92,1
    - Dst: rpc::config::RPCConfig::load
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:96,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: rpc::config::RPCConfig::load_from_file
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/config/JsonRPCConfig.cc
    functionUses: 0
    functionsReached:
    - Warning
    - swoc::SWOC_VERSION_NS::file::load
    - YAML::Node::Node
    - what
    - rpc::config::RPCConfig::load
    - std::error_code::value
    - YAML::Load
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void RPCConfig::load_from_file(std::string const &filePath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: config::RPCConfig::get_comm_type
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:31,1
    - Dst: std::make_unique<comm::IPCSocketServer>
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:33,1
    - Dst: configure
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:34,1
    - Dst: config::RPCConfig::get_comm_config_params
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:34,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:35,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:39,1
    - Dst: init
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:43,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:44,1
    - Dst: auto::message
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - conf
    argTypes:
    - config::RPCConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: rpc::RPCServer::RPCServer
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - auto::message
    - std::runtime_error
    - config::RPCConfig::get_comm_config_params
    - std::make_unique<comm::IPCSocketServer>
    - config::RPCConfig::get_comm_type
    - Dbg
    - configure
    - init
    linkageType: ''
    returnType: void
    signature: void RPCServer::RPCServer(config::RPCConfig const &conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: rpc::RPCServer::selected_comm_name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view RPCServer::selected_comm_name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop_thread
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: RPCServer::~RPCServer()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - stop_thread
    linkageType: ''
    returnType: void
    signature: void RPCServer::~RPCServer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _init
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:64,1
    - Dst: _socketImpl::run
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: rpc::RPCServer::run_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - _socketImpl::run
    - _init
    linkageType: ''
    returnType: void
    signature: 'void * /* static */

      RPCServer::run_thread(void *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:74,1
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:74,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb_init
    - cb_destroy
    argTypes:
    - std::function<TSThread()>
    - std::function<void(TSThread)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: rpc::RPCServer::start_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - ink_thread_create
    - Dbg
    - name
    linkageType: ''
    returnType: void
    signature: void RPCServer::start_thread(std::function<TSThread()> const &cb_init,
      std::function<void(TSThread)> const &cb_destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:84,1
    - Dst: ink_thread_join
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:86,1
    - Dst: ink_thread_null
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:88,1
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: rpc::RPCServer::stop_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - stop
    - ink_thread_null
    - Dbg
    - name
    - ink_thread_join
    linkageType: ''
    returnType: void
    signature: void RPCServer::stop_thread()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: config::RPCConfig::get_comm_type
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:31,1
    - Dst: std::make_unique<comm::IPCSocketServer>
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:33,1
    - Dst: configure
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:34,1
    - Dst: config::RPCConfig::get_comm_config_params
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:34,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:35,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:39,1
    - Dst: init
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:43,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:44,1
    - Dst: auto::message
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - conf
    argTypes:
    - config::RPCConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: rpc::RPCServer::RPCServer
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - auto::message
    - std::runtime_error
    - config::RPCConfig::get_comm_config_params
    - std::make_unique<comm::IPCSocketServer>
    - config::RPCConfig::get_comm_type
    - Dbg
    - configure
    - init
    linkageType: ''
    returnType: void
    signature: void RPCServer::RPCServer(config::RPCConfig const &conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: rpc::RPCServer::selected_comm_name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view RPCServer::selected_comm_name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop_thread
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: RPCServer::~RPCServer()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - stop_thread
    linkageType: ''
    returnType: void
    signature: void RPCServer::~RPCServer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _init
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:64,1
    - Dst: _socketImpl::run
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: rpc::RPCServer::run_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - _socketImpl::run
    - _init
    linkageType: ''
    returnType: void
    signature: 'void * /* static */

      RPCServer::run_thread(void *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:74,1
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:74,1
    - Dst: ink_thread_create
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cb_init
    - cb_destroy
    argTypes:
    - std::function<TSThread()>
    - std::function<void(TSThread)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: rpc::RPCServer::start_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - ink_thread_create
    - Dbg
    - name
    linkageType: ''
    returnType: void
    signature: void RPCServer::start_thread(std::function<TSThread()> const &cb_init,
      std::function<void(TSThread)> const &cb_destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:84,1
    - Dst: ink_thread_join
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:86,1
    - Dst: ink_thread_null
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:88,1
    - Dst: name
      Src: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: rpc::RPCServer::stop_thread
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/RPCServer.cc
    functionUses: 0
    functionsReached:
    - stop
    - ink_thread_null
    - Dbg
    - name
    - ink_thread_join
    linkageType: ''
    returnType: void
    signature: void RPCServer::stop_thread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:64,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:64,1
    - Dst: check_poll_return
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - check_poll_return
    - timeout
    - fd
    argTypes:
    - Func
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: poll_on_socket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - std::chrono::milliseconds::count
    - check_poll_return
    - poll
    linkageType: ''
    returnType: bool
    signature: bool poll_on_socket(Func &&check_poll_return, std::chrono::milliseconds
      timeout, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: has_peereid
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_peereid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpeereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:94,1
    - Dst: getpeerucred
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:98,1
    - Dst: ucred_geteuid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:102,1
    - Dst: ucred_getegid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:103,1
    - Dst: ucred_free
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:104,1
    - Dst: getsockopt
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - euid
    - egid
    argTypes:
    - int
    - uid_t*
    - gid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: get_peereid
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - getpeereid
    - ucred_geteuid
    - ucred_getegid
    - ucred_free
    - getsockopt
    - getpeerucred
    linkageType: ''
    returnType: int
    signature: int get_peereid(int fd, uid_t *euid, gid_t *egid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:64,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:64,1
    - Dst: check_poll_return
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - check_poll_return
    - timeout
    - fd
    argTypes:
    - Func
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: poll_on_socket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - std::chrono::milliseconds::count
    - check_poll_return
    - poll
    linkageType: ''
    returnType: bool
    signature: bool poll_on_socket(Func &&check_poll_return, std::chrono::milliseconds
      timeout, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: has_peereid
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_peereid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpeereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:94,1
    - Dst: getpeerucred
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:98,1
    - Dst: ucred_geteuid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:102,1
    - Dst: ucred_getegid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:103,1
    - Dst: ucred_free
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:104,1
    - Dst: getsockopt
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - euid
    - egid
    argTypes:
    - int
    - uid_t*
    - gid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: get_peereid
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - getpeereid
    - ucred_geteuid
    - ucred_getegid
    - ucred_free
    - getsockopt
    - getpeerucred
    linkageType: ''
    returnType: int
    signature: int get_peereid(int fd, uid_t *euid, gid_t *egid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: rpc::comm::IPCSocketServer::configure
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::as
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::configure(YAML::Node const &params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sockPathName::empty
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:144,1
    - Dst: sockPathName::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:145,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:146,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:146,1
    - Dst: rpc::comm::IPCSocketServer::create_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:155,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:155,1
    - Dst: std::strncpy
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:157,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:157,1
    - Dst: rpc::comm::IPCSocketServer::bind
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:159,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:160,1
    - Dst: rpc::comm::IPCSocketServer::listen
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:164,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: rpc::comm::IPCSocketServer::init
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - sockPathName::size
    - sockPathName::empty
    - std::make_error_code
    - rpc::comm::IPCSocketServer::bind
    - rpc::comm::IPCSocketServer::create_socket
    - Dbg
    - sockPathName::c_str
    - std::strncpy
    - rpc::comm::IPCSocketServer::close
    - rpc::comm::IPCSocketServer::listen
    - static_cast<std::errc>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code IPCSocketServer::init()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:176,1
    - Dst: poll_on_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: rpc::comm::IPCSocketServer::poll_for_new_client
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - poll_on_socket
    - load
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::poll_for_new_client(std::chrono::milliseconds
      timeout) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:202,1
    - Dst: rpc::comm::IPCSocketServer::poll_for_new_client
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:206,1
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:207,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:208,1
    - Dst: rpc::comm::IPCSocketServer::accept
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:214,1
    - Dst: Client::read_all
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:218,1
    - Dst: Buffer::str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:219,1
    - Dst: rpc::Context::get_auth
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:222,1
    - Dst: rpc::comm::IPCSocketServer::late_check_peer_credentials
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:223,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:225,1
    - Dst: Client::write
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:227,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:228,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:232,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:235,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:235,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 240
    functionName: rpc::comm::IPCSocketServer::run
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - rpc::Context::get_auth
    - Warning
    - Client::write
    - load
    - Client::read_all
    - rpc::comm::IPCSocketServer::late_check_peer_credentials
    - RegexContext::get_instance
    - Dbg
    - rpc::comm::IPCSocketServer::accept
    - store
    - c_str
    - rpc::comm::IPCSocketServer::close
    - rpc::comm::IPCSocketServer::poll_for_new_client
    - Buffer::str
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:245,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: rpc::comm::IPCSocketServer::stop
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - rpc::comm::IPCSocketServer::close
    - store
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:255,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:258,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: rpc::comm::IPCSocketServer::create_socket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::errc>
    - std::make_error_code
    - socket
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::create_socket(std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLNextProtocolAccept::accept
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:268,1
    - Dst: check_for_transient_errors
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:272,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:273,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: rpc::comm::IPCSocketServer::accept
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - std::make_error_code
    - SSLNextProtocolAccept::accept
    - static_cast<std::errc>
    - check_for_transient_errors
    linkageType: ''
    returnType: int
    signature: int IPCSocketServer::accept(std::error_code &ec) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:289,1
    - Dst: lockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:289,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:291,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:291,1
    - Dst: flock
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:295,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:298,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:298,1
    - Dst: unlink
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:304,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:304,1
    - Dst: UnixSocket::bind
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:306,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:308,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:308,1
    - Dst: has_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:316,1
    - Dst: chmod
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:320,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:320,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:321,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 324
    functionName: rpc::comm::IPCSocketServer::bind
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - has_peereid
    - std::make_error_code
    - unlink
    - chmod
    - UnixSocket::bind
    - sockPathName::c_str
    - flock
    - lockPathName::c_str
    - open
    - static_cast<std::errc>
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::bind(std::error_code &ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Server::listen
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:329,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:330,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: rpc::comm::IPCSocketServer::listen
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::errc>
    - std::make_error_code
    - Server::listen
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::listen(std::error_code &ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:339,1
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: rpc::comm::IPCSocketServer::close
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 3
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - max_req_size
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: IPCSocketServer::Client::Client(int fd, size_t max_req_size)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::Client(int fd, size_t max_req_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPCSocketServer::Client::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: IPCSocketServer::Client::~Client()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - IPCSocketServer::Client::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::~Client()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poll_on_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: IPCSocketServer::Client::poll_for_data(std::chrono::milliseconds
      timeout) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - poll_on_socket
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::Client::poll_for_data(std::chrono::milliseconds
      timeout) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: IPCSocketServer::Client::close()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    - Dst: swoc::MemSpan<char>::data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - swoc::MemSpan<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: IPCSocketServer::Client::read(swoc::MemSpan<char> span) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - swoc::MemSpan<char>::data
    - swoc::MemSpan<char>::size
    - IOBufferReader::read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t IPCSocketServer::Client::read(swoc::MemSpan<char> span) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: Buffer::writable_data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: Buffer::available
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: check_for_transient_errors
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:402,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:405,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:411,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:411,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:413,1
    - Dst: Buffer::save
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:415,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:416,1
    - Dst: IPCSocketServer::Client::poll_for_data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:418,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - bw
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 429
    functionName: IPCSocketServer::Client::read_all(Buffer &bw) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - read
    - Buffer::writable_data
    - Buffer::available
    - Buffer::stored
    - IPCSocketServer::Client::poll_for_data
    - Buffer::save
    - swoc::SWOC_VERSION_NS::bwprint
    - check_for_transient_errors
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> IPCSocketServer::Client::read_all(Buffer
      &bw) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:435,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ec
    argTypes:
    - std::string
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: IPCSocketServer::Client::write(std::string const &data, std::error_code
      &ec) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - std::make_error_code
    - MIOBuffer::write
    - std::string::size
    - std::string::c_str
    - static_cast<std::errc>
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::write(std::string const &data, std::error_code
      &ec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:441,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:442,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: IPCSocketServer::Config::Config()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - Layout::relative_to
    - RecConfigReadRuntimeDir
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Config::Config()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: std::generic_category
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: has_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:454,1
    - Dst: get_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:457,1
    - Dst: swoc::Errata::assign
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:458,1
    - Dst: ecode
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:458,1
    - Dst: geteuid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:460,1
    - Dst: swoc::Errata::assign
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:461,1
    - Dst: ecode
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - peedFd
    - options
    - errata
    argTypes:
    - int
    - TSRPCHandlerOptions
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: rpc::comm::IPCSocketServer::late_check_peer_credentials
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - has_peereid
    - std::generic_category
    - geteuid
    - get_peereid
    - ecode
    - static_cast<unsigned>
    - std::error_code
    - swoc::Errata::assign
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::late_check_peer_credentials(int peedFd, TSRPCHandlerOptions
      const &options, swoc::Errata &errata) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: rpc::comm::IPCSocketServer::configure
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::as
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::configure(YAML::Node const &params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sockPathName::empty
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:144,1
    - Dst: sockPathName::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:145,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:146,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:146,1
    - Dst: rpc::comm::IPCSocketServer::create_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:155,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:155,1
    - Dst: std::strncpy
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:157,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:157,1
    - Dst: rpc::comm::IPCSocketServer::bind
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:159,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:160,1
    - Dst: rpc::comm::IPCSocketServer::listen
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:164,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: rpc::comm::IPCSocketServer::init
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - sockPathName::size
    - sockPathName::empty
    - std::make_error_code
    - rpc::comm::IPCSocketServer::bind
    - rpc::comm::IPCSocketServer::create_socket
    - Dbg
    - sockPathName::c_str
    - std::strncpy
    - rpc::comm::IPCSocketServer::close
    - rpc::comm::IPCSocketServer::listen
    - static_cast<std::errc>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code IPCSocketServer::init()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:176,1
    - Dst: poll_on_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: rpc::comm::IPCSocketServer::poll_for_new_client
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 1
    functionsReached:
    - poll_on_socket
    - load
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::poll_for_new_client(std::chrono::milliseconds
      timeout) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:202,1
    - Dst: rpc::comm::IPCSocketServer::poll_for_new_client
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:206,1
    - Dst: load
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:207,1
    - Dst: Warning
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:208,1
    - Dst: rpc::comm::IPCSocketServer::accept
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:214,1
    - Dst: Client::read_all
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:218,1
    - Dst: Buffer::str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:219,1
    - Dst: rpc::Context::get_auth
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:222,1
    - Dst: rpc::comm::IPCSocketServer::late_check_peer_credentials
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:223,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:225,1
    - Dst: Client::write
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:227,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:228,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:232,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:235,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:235,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 240
    functionName: rpc::comm::IPCSocketServer::run
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - rpc::Context::get_auth
    - Warning
    - Client::write
    - load
    - Client::read_all
    - rpc::comm::IPCSocketServer::late_check_peer_credentials
    - RegexContext::get_instance
    - Dbg
    - rpc::comm::IPCSocketServer::accept
    - store
    - c_str
    - rpc::comm::IPCSocketServer::close
    - rpc::comm::IPCSocketServer::poll_for_new_client
    - Buffer::str
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:245,1
    - Dst: rpc::comm::IPCSocketServer::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: rpc::comm::IPCSocketServer::stop
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - rpc::comm::IPCSocketServer::close
    - store
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:255,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:258,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: rpc::comm::IPCSocketServer::create_socket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::errc>
    - std::make_error_code
    - socket
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::create_socket(std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLNextProtocolAccept::accept
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:268,1
    - Dst: check_for_transient_errors
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:272,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:273,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: rpc::comm::IPCSocketServer::accept
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 2
    functionsReached:
    - std::make_error_code
    - SSLNextProtocolAccept::accept
    - static_cast<std::errc>
    - check_for_transient_errors
    linkageType: ''
    returnType: int
    signature: int IPCSocketServer::accept(std::error_code &ec) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:289,1
    - Dst: lockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:289,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:291,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:291,1
    - Dst: flock
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:295,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:298,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:298,1
    - Dst: unlink
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:304,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:304,1
    - Dst: UnixSocket::bind
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:306,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:308,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:308,1
    - Dst: has_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:316,1
    - Dst: chmod
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:320,1
    - Dst: sockPathName::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:320,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:321,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 324
    functionName: rpc::comm::IPCSocketServer::bind
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 2
    functionsReached:
    - has_peereid
    - std::make_error_code
    - unlink
    - chmod
    - UnixSocket::bind
    - sockPathName::c_str
    - flock
    - lockPathName::c_str
    - open
    - static_cast<std::errc>
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::bind(std::error_code &ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Server::listen
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:329,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:330,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: rpc::comm::IPCSocketServer::listen
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 2
    functionsReached:
    - static_cast<std::errc>
    - std::make_error_code
    - Server::listen
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::listen(std::error_code &ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:339,1
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: rpc::comm::IPCSocketServer::close
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 6
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fd
    - max_req_size
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: IPCSocketServer::Client::Client(int fd, size_t max_req_size)
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::Client(int fd, size_t max_req_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPCSocketServer::Client::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: IPCSocketServer::Client::~Client()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - IPCSocketServer::Client::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::~Client()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poll_on_socket
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: IPCSocketServer::Client::poll_for_data(std::chrono::milliseconds
      timeout) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - poll_on_socket
    linkageType: ''
    returnType: bool
    signature: bool IPCSocketServer::Client::poll_for_data(std::chrono::milliseconds
      timeout) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: IPCSocketServer::Client::close()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    - Dst: swoc::MemSpan<char>::data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - span
    argTypes:
    - swoc::MemSpan<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: IPCSocketServer::Client::read(swoc::MemSpan<char> span) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - swoc::MemSpan<char>::data
    - swoc::MemSpan<char>::size
    - IOBufferReader::read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t IPCSocketServer::Client::read(swoc::MemSpan<char> span) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: Buffer::writable_data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: Buffer::available
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:400,1
    - Dst: check_for_transient_errors
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:402,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:405,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:411,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:411,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:413,1
    - Dst: Buffer::save
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:415,1
    - Dst: Buffer::stored
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:416,1
    - Dst: IPCSocketServer::Client::poll_for_data
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:418,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - bw
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 429
    functionName: IPCSocketServer::Client::read_all(Buffer &bw) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - read
    - Buffer::writable_data
    - Buffer::available
    - Buffer::stored
    - IPCSocketServer::Client::poll_for_data
    - Buffer::save
    - swoc::SWOC_VERSION_NS::bwprint
    - check_for_transient_errors
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> IPCSocketServer::Client::read_all(Buffer
      &bw) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:434,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:435,1
    - Dst: static_cast<std::errc>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ec
    argTypes:
    - std::string
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: IPCSocketServer::Client::write(std::string const &data, std::error_code
      &ec) const
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - std::make_error_code
    - MIOBuffer::write
    - std::string::size
    - std::string::c_str
    - static_cast<std::errc>
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Client::write(std::string const &data, std::error_code
      &ec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:441,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:442,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: IPCSocketServer::Config::Config()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - Layout::relative_to
    - RecConfigReadRuntimeDir
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::Config::Config()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: std::generic_category
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:451,1
    - Dst: has_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:454,1
    - Dst: get_peereid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:457,1
    - Dst: swoc::Errata::assign
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:458,1
    - Dst: ecode
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:458,1
    - Dst: geteuid
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:460,1
    - Dst: swoc::Errata::assign
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:461,1
    - Dst: ecode
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - peedFd
    - options
    - errata
    argTypes:
    - int
    - TSRPCHandlerOptions
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: rpc::comm::IPCSocketServer::late_check_peer_credentials
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 2
    functionsReached:
    - has_peereid
    - std::generic_category
    - geteuid
    - get_peereid
    - ecode
    - static_cast<unsigned>
    - std::error_code
    - swoc::Errata::assign
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer::late_check_peer_credentials(int peedFd, TSRPCHandlerOptions
      const &options, swoc::Errata &errata) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:481,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:484,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:488,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:491,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:494,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 500
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - auto::as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, config &rhs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:481,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:484,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:488,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:491,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:494,1
    - Dst: auto::as
      Src: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 500
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 0
    functionsReached:
    - auto::as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, config &rhs)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: check_for_transient_errors
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_for_transient_errors()
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: check_for_transient_errors
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/IPCSocketServer.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_for_transient_errors()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: CommInternalErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      CommInternalErrorCategory::name() const noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::comm::InternalError>
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:38,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: CommInternalErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<rpc::comm::InternalError>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string CommInternalErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: CommInternalErrorCategory::name
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      CommInternalErrorCategory::name() const noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<rpc::comm::InternalError>
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:38,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: CommInternalErrorCategory::message
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<rpc::comm::InternalError>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string CommInternalErrorCategory::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::comm::InternalError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: rpc::comm::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::comm::InternalError e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - rpc::comm::InternalError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: rpc::comm::make_error_code
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/CommBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_error_code(rpc::comm::InternalError e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: DEFINE_JSONRPC_PROTO_FUNCTION
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_JSONRPC_PROTO_FUNCTION(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::test_remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool test_remove_handler(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:65,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: rpc::add_method_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::test_remove_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool test_remove_handler(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:65,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - call
    argTypes:
    - std::string
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: rpc::add_method_handler
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(const std::string &name, Func &&call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:88,1
    - Dst: init_diags
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:89,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:90,1
    - Dst: signal
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:92,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:94,1
    - Dst: start
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:95,1
    - Dst: std::make_unique<EThread>
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:98,1
    - Dst: set_specific
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:99,1
    - Dst: rpc::config::RPCConfig::RPCConfig
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:101,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:105,1
    - Dst: rpc::config::RPCConfig::load
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:106,1
    - Dst: rpc::RPCServer::RPCServer
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:108,1
    - Dst: start_thread
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:112,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - std::make_unique<EThread>
    - init_diags
    - start_thread
    - rpc::config::RPCConfig::load
    - what
    - set_specific
    - rpc::RPCServer::RPCServer
    - Dbg
    - signal
    - YAML::Load
    - rpc::config::RPCConfig::RPCConfig
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: testRunEnded
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testRunEnded(Catch::TestRunStats const & /* testRunStats ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: RPCServerTestListener::~RPCServerTestListener()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCServerTestListener::~RPCServerTestListener()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc::config::RPCConfig::RPCConfig
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:135,1
    - Dst: rpc::config::RPCConfig::load
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:136,1
    - Dst: rpc::RPCServer::RPCServer
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:143,1
    - Dst: start_thread
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:146,1
    - Dst: what
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: restart_json_rpc_server
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - start_thread
    - rpc::config::RPCConfig::load
    - what
    - rpc::RPCServer::RPCServer
    - Dbg
    - rpc::config::RPCConfig::RPCConfig
    linkageType: ''
    returnType: void
    signature: void restart_json_rpc_server(YAML::Node n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:155,1
    - Dst: INFO
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:158,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:159,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:159,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:160,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:161,1
    - Dst: INFO
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: DEFINE_JSONRPC_PROTO_FUNCTION
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - ink_time_wall_seconds
    - as
    - swoc::Rv::result
    - INFO
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: void DEFINE_JSONRPC_PROTO_FUNCTION(some_foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: ScopedLocalSocket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedLocalSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::disconnect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: ~ScopedLocalSocket()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - shared::rpc::disconnect
    linkageType: ''
    returnType: void
    signature: void ~ScopedLocalSocket()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:181,1
    - Dst: shared::rpc::IPCSocketClient::_safe_write
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: size
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:184,1
    - Dst: std ::strerror
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:184,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:189,1
    - Dst: shared::rpc::disconnect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: send_in_chunks
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - chunk
    - std ::strerror
    - Dbg
    - c_str
    - shared::rpc::IPCSocketClient::_safe_write
    - shared::rpc::disconnect
    - size
    linkageType: ''
    returnType: void
    signature: void send_in_chunks(std::string_view data, int disconnect_after_chunk_n
      = -1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::read_all
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: read
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 404
    functionsReached:
    - shared::rpc::IPCSocketClient::read_all
    linkageType: ''
    returnType: std::string
    signature: std::string read()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: query
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 8
    functionsReached:
    - connect
    linkageType: ''
    returnType: std::string
    signature: std::string query(std::string_view msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:226,1
    - Dst: std::distance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:238,1
    - Dst: std::advance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: chunk_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - std::distance
    - std::advance
    linkageType: ''
    returnType: std::array<std::string, N>
    signature: std::array<std::string, N> chunk_impl(Iter from, Iter to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_impl
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: chunk
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 1
    functionsReached:
    - chunk_impl
    - std::string_view::end
    - std::string_view::begin
    linkageType: ''
    returnType: auto
    signature: auto chunk(std::string_view v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScopedLocalSocket::query
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:263,1
    - Dst: std::promise<std::string>::set_value
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - std::string
    - std::promise<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: send_request
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 9
    functionsReached:
    - ScopedLocalSocket::query
    - std::promise<std::string>::set_value
    linkageType: ''
    returnType: void
    signature: void send_request(std::string json, std::promise<std::string> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: ScopedLocalSocket
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedLocalSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::disconnect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: ~ScopedLocalSocket()
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - shared::rpc::disconnect
    linkageType: ''
    returnType: void
    signature: void ~ScopedLocalSocket()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:181,1
    - Dst: shared::rpc::IPCSocketClient::_safe_write
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: c_str
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: size
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:183,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:184,1
    - Dst: std ::strerror
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:184,1
    - Dst: Dbg
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:189,1
    - Dst: shared::rpc::disconnect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: send_in_chunks
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - chunk
    - std ::strerror
    - Dbg
    - c_str
    - shared::rpc::IPCSocketClient::_safe_write
    - shared::rpc::disconnect
    - size
    linkageType: ''
    returnType: void
    signature: void send_in_chunks(std::string_view data, int disconnect_after_chunk_n
      = -1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::IPCSocketClient::read_all
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: read
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 404
    functionsReached:
    - shared::rpc::IPCSocketClient::read_all
    linkageType: ''
    returnType: std::string
    signature: std::string read()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: query
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 9
    functionsReached:
    - connect
    linkageType: ''
    returnType: std::string
    signature: std::string query(std::string_view msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:226,1
    - Dst: std::distance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:238,1
    - Dst: std::advance
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: chunk_impl
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 1
    functionsReached:
    - std::distance
    - std::advance
    linkageType: ''
    returnType: std::array<std::string, N>
    signature: std::array<std::string, N> chunk_impl(Iter from, Iter to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_impl
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: chunk
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 2
    functionsReached:
    - chunk_impl
    - std::string_view::end
    - std::string_view::begin
    linkageType: ''
    returnType: auto
    signature: auto chunk(std::string_view v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScopedLocalSocket::query
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:263,1
    - Dst: std::promise<std::string>::set_value
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - json
    - p
    argTypes:
    - std::string
    - std::promise<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: send_request
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 9
    functionsReached:
    - ScopedLocalSocket::query
    - std::promise<std::string>::set_value
    linkageType: ''
    returnType: void
    signature: void send_request(std::string json, std::promise<std::string> p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:311,1
    - Dst: std::generate_n
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:314,1
    - Dst: std::string::begin
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - std::string::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: random_string
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::generate_n
    - rand
    linkageType: ''
    returnType: std::string
    signature: std::string random_string(std::string::size_type length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:321,1
    - Dst: as
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: DEFINE_JSONRPC_PROTO_FUNCTION
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached:
    - swoc::Rv::result
    - as
    linkageType: ''
    returnType: void
    signature: void DEFINE_JSONRPC_PROTO_FUNCTION(do_nothing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::comm::IPCSocketServer::configure
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: configure
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 15
    functionsReached:
    - rpc::comm::IPCSocketServer::configure
    linkageType: ''
    returnType: bool
    signature: bool configure(YAML::Node const &params) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: run
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::comm::IPCSocketServer::init
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: init
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 135
    functionsReached:
    - rpc::comm::IPCSocketServer::init
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code init() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: stop
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: "&\n  name() const override"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: "&\n  get_conf() const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: trp::IPCSocketServer::Config
    signature: "trp::IPCSocketServer::Config &\n  get_conf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::comm::IPCSocketServer::configure
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: configure
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 16
    functionsReached:
    - rpc::comm::IPCSocketServer::configure
    linkageType: ''
    returnType: bool
    signature: bool configure(YAML::Node const &params) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: run
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::comm::IPCSocketServer::init
      Src: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: init
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 136
    functionsReached:
    - rpc::comm::IPCSocketServer::init
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code init() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: stop
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: "&\n  name() const override"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: "&\n  get_conf() const"
    functionSourceFile: /src/trafficserver/src/mgmt/rpc/server/unit_tests/test_rpcserver.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: trp::IPCSocketServer::Config
    signature: "trp::IPCSocketServer::Config &\n  get_conf() const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/cripts/Geo.cc:36,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/cripts/Geo.cc:37,1
    - Dst: MMDB_lookup_sockaddr
      Src: /src/trafficserver/src/cripts/Geo.cc:42,1
    - Dst: MMDB_get_entry_data_list
      Src: /src/trafficserver/src/cripts/Geo.cc:53,1
    - Dst: Error
      Src: /src/trafficserver/src/cripts/Geo.cc:71,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/src/cripts/Geo.cc:78,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Geo.cc:82,1
    - Dst: MMDB_free_entry_data_list
      Src: /src/trafficserver/src/cripts/Geo.cc:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - addr
    - q
    argTypes:
    - sockaddr*
    - Qualifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: get_geo_string
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached:
    - MMDB_get_value
    - ink_release_assert
    - MMDB_get_entry_data_list
    - MMDB_lookup_sockaddr
    - Error
    - MMDB_free_entry_data_list
    - DebugInterface::generate_format_string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string get_geo_string(const sockaddr *addr, Qualifiers q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_geo_string
      Src: /src/trafficserver/src/cripts/Geo.cc:94,1
    - Dst: detail::ConnBase::Geo::_owner::socket
      Src: /src/trafficserver/src/cripts/Geo.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: detail::ConnBase::Geo::ASN() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached:
    - get_geo_string
    - detail::ConnBase::Geo::_owner::socket
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::ASN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Geo.cc:100,1
    - Dst: get_geo_string
      Src: /src/trafficserver/src/cripts/Geo.cc:101,1
    - Dst: detail::ConnBase::Geo::_owner::socket
      Src: /src/trafficserver/src/cripts/Geo.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: detail::ConnBase::Geo::ASNName() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached:
    - get_geo_string
    - cripts::string::string
    - detail::ConnBase::Geo::_owner::socket
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::ASNName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Geo.cc:109,1
    - Dst: get_geo_string
      Src: /src/trafficserver/src/cripts/Geo.cc:110,1
    - Dst: detail::ConnBase::Geo::_owner::socket
      Src: /src/trafficserver/src/cripts/Geo.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: detail::ConnBase::Geo::Country() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached:
    - get_geo_string
    - cripts::string::string
    - detail::ConnBase::Geo::_owner::socket
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::Country() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Geo.cc:118,1
    - Dst: get_geo_string
      Src: /src/trafficserver/src/cripts/Geo.cc:119,1
    - Dst: detail::ConnBase::Geo::_owner::socket
      Src: /src/trafficserver/src/cripts/Geo.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: detail::ConnBase::Geo::CountryCode() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached:
    - get_geo_string
    - cripts::string::string
    - detail::ConnBase::Geo::_owner::socket
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::CountryCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: detail::ConnBase::Geo::ASN() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::ASN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: detail::ConnBase::Geo::ASNName() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::ASNName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: detail::ConnBase::Geo::Country() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::Country() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: detail::ConnBase::Geo::CountryCode() const
    functionSourceFile: /src/trafficserver/src/cripts/Geo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string detail::ConnBase::Geo::CountryCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::srand
      Src: /src/trafficserver/src/cripts/Lulu.cc:39,1
    - Dst: std::time
      Src: /src/trafficserver/src/cripts/Lulu.cc:39,1
    - Dst: getpid
      Src: /src/trafficserver/src/cripts/Lulu.cc:39,1
    - Dst: MMDB_s::MMDB_s
      Src: /src/trafficserver/src/cripts/Lulu.cc:42,1
    - Dst: MMDB_open
      Src: /src/trafficserver/src/cripts/Lulu.cc:44,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Lulu.cc:44,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Lulu.cc:46,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Lulu.cc:46,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/src/cripts/Lulu.cc:46,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/cripts/Lulu.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: global_initialization
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - MMDB_s::MMDB_s
    - TSError
    - MMDB_open
    - std::srand
    - std::time
    - c_str
    - MMDB_strerror
    - Tokenizer::Initialize
    - getpid
    linkageType: ''
    returnType: void
    signature: void global_initialization()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/trafficserver/src/cripts/Lulu.cc:61,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/cripts/Lulu.cc:61,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/cripts/Lulu.cc:61,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/cripts/Lulu.cc:61,1
    - Dst: std::errc
      Src: /src/trafficserver/src/cripts/Lulu.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: integer_helper
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - std::errc
    - std::string_view::size
    - std::from_chars
    - std::string_view::data
    linkageType: ''
    returnType: integer
    signature: integer integer_helper(std::string_view sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Random::random
      Src: /src/trafficserver/src/cripts/Lulu.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: cripts::Random
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - ts::Random::random
    linkageType: ''
    returnType: int
    signature: int cripts::Random(int max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/src/cripts/Lulu.cc:86,1
    - Dst: T::find_first_of
      Src: /src/trafficserver/src/cripts/Lulu.cc:87,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/cripts/Lulu.cc:90,1
    - Dst: T::substr
      Src: /src/trafficserver/src/cripts/Lulu.cc:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - input
    - delim
    argTypes:
    - T
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: cripts::details::Splitter
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - T::substr
    - T::find_first_of
    - std::vector::emplace_back
    - T::size
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Splitter(T input, char delim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/src/cripts/Lulu.cc:86,1
    - Dst: T::find_first_of
      Src: /src/trafficserver/src/cripts/Lulu.cc:87,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/cripts/Lulu.cc:90,1
    - Dst: T::substr
      Src: /src/trafficserver/src/cripts/Lulu.cc:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - input
    - delim
    argTypes:
    - T
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: cripts::details::Splitter
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - T::substr
    - T::find_first_of
    - std::vector::emplace_back
    - T::size
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Splitter(T input, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/src/cripts/Lulu.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: cripts::Hex
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string cripts::Hex(const cripts::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/src/cripts/Lulu.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: cripts::Hex
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string cripts::Hex(cripts::string_view sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::unhex
      Src: /src/trafficserver/src/cripts/Lulu.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: cripts::UnHex
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - ts::unhex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string cripts::UnHex(const cripts::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::unhex
      Src: /src/trafficserver/src/cripts/Lulu.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: cripts::UnHex
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - ts::unhex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string cripts::UnHex(cripts::string_view sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/cripts/Lulu.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: cripts::string::operator integer() const
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: void
    signature: void cripts::string::operator integer() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Lulu.cc:135,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Lulu.cc:139,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Lulu.cc:143,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Lulu.cc:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: cripts::string::operator bool() const
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - empty
    - size
    linkageType: ''
    returnType: void
    signature: void cripts::string::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::Splitter<cripts::string_view>
      Src: /src/trafficserver/src/cripts/Lulu.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: cripts::string::split(char delim) const &
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - details::Splitter<cripts::string_view>
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> cripts::string::split(char delim)
      const &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::Splitter<cripts::string_view>
      Src: /src/trafficserver/src/cripts/Lulu.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - delim
    argTypes:
    - cripts::string_view
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: cripts::Splitter
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - details::Splitter<cripts::string_view>
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> cripts::Splitter(cripts::string_view
      input, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlGet
      Src: /src/trafficserver/src/cripts/Lulu.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: cripts::Control::Base::_get(cripts::Context *context) const
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlGet
    linkageType: ''
    returnType: bool
    signature: bool cripts::Control::Base::_get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/cripts/Lulu.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: cripts::Control::Base::_set(cripts::Context *context, bool value)
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void cripts::Control::Base::_set(cripts::Context *context, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/src/cripts/Lulu.cc:181,1
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/src/cripts/Lulu.cc:182,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Lulu.cc:184,1
    - Dst: strlen
      Src: /src/trafficserver/src/cripts/Lulu.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: cripts::Versions::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Lulu.cc
    functionUses: 0
    functionsReached:
    - strlen
    - length
    - TSTrafficServerVersionGet
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view cripts::Versions::GetSV()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Error::Failed
      Src: /src/trafficserver/src/cripts/Error.cc:28,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/src/cripts/Error.cc:29,1
    - Dst: _getter
      Src: /src/trafficserver/src/cripts/Error.cc:29,1
    - Dst: cripts::Error::Redirected
      Src: /src/trafficserver/src/cripts/Error.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cripts::Error::Execute
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Error::Failed
    - _getter
    - cripts::Error::Redirected
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: void
    signature: void Error::Execute(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::Fail
      Src: /src/trafficserver/src/cripts/Error.cc:43,1
    - Dst: cripts::Context*::state::error::_reason::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - cripts::Context*
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: Error::Reason::_set(cripts::Context *context, const cripts::string_view
      msg)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::Fail
    - cripts::Context*::state::error::_reason::_setter
    linkageType: ''
    returnType: void
    signature: void Error::Reason::_set(cripts::Context *context, const cripts::string_view
      msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::Fail
      Src: /src/trafficserver/src/cripts/Error.cc:51,1
    - Dst: cripts::Context*::state::error::_status::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:52,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Error.cc:54,1
    - Dst: cripts::Context*::state::error::_reason::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:55,1
    - Dst: cripts::Context*::state::error::Redirected
      Src: /src/trafficserver/src/cripts/Error.cc:58,1
    - Dst: cripts::Context*::state::error::Redirect
      Src: /src/trafficserver/src/cripts/Error.cc:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - context
    - status
    - msg
    argTypes:
    - cripts::Context*
    - TSHttpStatus
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Error::Status::_set(cripts::Context *context, TSHttpStatus status,
      const cripts::string_view msg)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::Redirect
    - cripts::Context*::state::error::_reason::_setter
    - cripts::Context*::state::error::Redirected
    - cripts::string_view::size
    - cripts::Context*::state::error::Fail
    - cripts::Context*::state::error::_status::_setter
    linkageType: ''
    returnType: void
    signature: void Error::Status::_set(cripts::Context *context, TSHttpStatus status,
      const cripts::string_view msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::_status::_getter
      Src: /src/trafficserver/src/cripts/Error.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Error::Status::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::_status::_getter
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus Error::Status::_get(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Error::Failed
      Src: /src/trafficserver/src/cripts/Error.cc:28,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/src/cripts/Error.cc:29,1
    - Dst: _getter
      Src: /src/trafficserver/src/cripts/Error.cc:29,1
    - Dst: cripts::Error::Redirected
      Src: /src/trafficserver/src/cripts/Error.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cripts::Error::Execute
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Error::Failed
    - _getter
    - cripts::Error::Redirected
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: void
    signature: void Error::Execute(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::Fail
      Src: /src/trafficserver/src/cripts/Error.cc:43,1
    - Dst: cripts::Context*::state::error::_reason::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - cripts::Context*
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: Error::Reason::_set(cripts::Context *context, const cripts::string_view
      msg)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::Fail
    - cripts::Context*::state::error::_reason::_setter
    linkageType: ''
    returnType: void
    signature: void Error::Reason::_set(cripts::Context *context, const cripts::string_view
      msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::Fail
      Src: /src/trafficserver/src/cripts/Error.cc:51,1
    - Dst: cripts::Context*::state::error::_status::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:52,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Error.cc:54,1
    - Dst: cripts::Context*::state::error::_reason::_setter
      Src: /src/trafficserver/src/cripts/Error.cc:55,1
    - Dst: cripts::Context*::state::error::Redirected
      Src: /src/trafficserver/src/cripts/Error.cc:58,1
    - Dst: cripts::Context*::state::error::Redirect
      Src: /src/trafficserver/src/cripts/Error.cc:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - context
    - status
    - msg
    argTypes:
    - cripts::Context*
    - TSHttpStatus
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Error::Status::_set(cripts::Context *context, TSHttpStatus status,
      const cripts::string_view msg)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::Redirect
    - cripts::Context*::state::error::_reason::_setter
    - cripts::Context*::state::error::Redirected
    - cripts::string_view::size
    - cripts::Context*::state::error::Fail
    - cripts::Context*::state::error::_status::_setter
    linkageType: ''
    returnType: void
    signature: void Error::Status::_set(cripts::Context *context, TSHttpStatus status,
      const cripts::string_view msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Context*::state::error::_status::_getter
      Src: /src/trafficserver/src/cripts/Error.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Error::Status::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/Error.cc
    functionUses: 0
    functionsReached:
    - cripts::Context*::state::error::_status::_getter
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus Error::Status::_get(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/cripts/Files.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - File::Path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: cripts::File::Status
    functionSourceFile: /src/trafficserver/src/cripts/Files.cc
    functionUses: 0
    functionsReached:
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: std::filesystem::file_status
    signature: std::filesystem::file_status File::Status(const File::Path &path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/cripts/Files.cc:37,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/cripts/Files.cc:38,1
    - Dst: '&

        File::Path::string'
      Src: /src/trafficserver/src/cripts/Files.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '&

      File::Path::Rebase()'
    functionSourceFile: /src/trafficserver/src/cripts/Files.cc
    functionUses: 0
    functionsReached:
    - '&

      File::Path::string'
    - RecConfigReadConfigDir
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: File::Path
    signature: 'File::Path &

      File::Path::Rebase()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/cripts/Files.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - File::Path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: cripts::File::Status
    functionSourceFile: /src/trafficserver/src/cripts/Files.cc
    functionUses: 0
    functionsReached:
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: std::filesystem::file_status
    signature: std::filesystem::file_status File::Status(const File::Path &path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/cripts/Files.cc:37,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/cripts/Files.cc:38,1
    - Dst: '&

        File::Path::string'
      Src: /src/trafficserver/src/cripts/Files.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '&

      File::Path::Rebase()'
    functionSourceFile: /src/trafficserver/src/cripts/Files.cc
    functionUses: 0
    functionsReached:
    - '&

      File::Path::string'
    - RecConfigReadConfigDir
    - Recv_from_vconn::_status
    linkageType: ''
    returnType: File::Path
    signature: 'File::Path &

      File::Path::Rebase()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setRuntimeDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Plugin::Remap::Initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadPluginDir
    - RecConfigReadRuntimeDir
    - setRuntimeDir
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::Initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Plugin::Options::size
      Src: /src/trafficserver/src/cripts/Plugins.cc:42,1
    - Dst: const::const
      Src: /src/trafficserver/src/cripts/Plugins.cc:43,1
    - Dst: cripts::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:47,1
    - Dst: cripts::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:48,1
    - Dst: Plugin::Options::size
      Src: /src/trafficserver/src/cripts/Plugins.cc:50,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:51,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/cripts/Plugins.cc:60,1
    - Dst: getRemapPlugin
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: const_cast<char **>
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - tag
    - plugin
    - from_url
    - to_url
    - options
    argTypes:
    - std::string
    - std::string
    - cripts::string
    - cripts::string
    - Plugin::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: "Plugin::Remap::Create(const std::string &tag, const std::string
      &plugin, const cripts::string &from_url,\n                      const cripts::string
      &to_url, const Plugin::Options &options)"
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - const::const
    - isPluginDynamicReloadEnabled
    - Plugin::Options::size
    - TSError
    - const_cast<char **>
    - cripts::string::c_str
    - c_str
    - getRemapPlugin
    - RecGetRecordInt
    - std::string::c_str
    linkageType: ''
    returnType: Plugin::Remap
    signature: "Plugin::Remap Plugin::Remap::Create(const std::string &tag, const
      std::string &plugin, const cripts::string &from_url,\n                      const
      cripts::string &to_url, const Plugin::Options &options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: done
      Src: /src/trafficserver/src/cripts/Plugins.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Plugin::Remap::Cleanup()
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - done
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::Cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doRemap
      Src: /src/trafficserver/src/cripts/Plugins.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: Plugin::Remap::_runRemap(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - doRemap
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::_runRemap(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setRuntimeDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/cripts/Plugins.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Plugin::Remap::Initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadPluginDir
    - RecConfigReadRuntimeDir
    - setRuntimeDir
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::Initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Plugin::Options::size
      Src: /src/trafficserver/src/cripts/Plugins.cc:42,1
    - Dst: const::const
      Src: /src/trafficserver/src/cripts/Plugins.cc:43,1
    - Dst: cripts::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:47,1
    - Dst: cripts::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:48,1
    - Dst: Plugin::Options::size
      Src: /src/trafficserver/src/cripts/Plugins.cc:50,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:51,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/cripts/Plugins.cc:60,1
    - Dst: getRemapPlugin
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: const_cast<char **>
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/cripts/Plugins.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/cripts/Plugins.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - tag
    - plugin
    - from_url
    - to_url
    - options
    argTypes:
    - std::string
    - std::string
    - cripts::string
    - cripts::string
    - Plugin::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: "Plugin::Remap::Create(const std::string &tag, const std::string
      &plugin, const cripts::string &from_url,\n                      const cripts::string
      &to_url, const Plugin::Options &options)"
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - const::const
    - isPluginDynamicReloadEnabled
    - Plugin::Options::size
    - TSError
    - const_cast<char **>
    - cripts::string::c_str
    - c_str
    - getRemapPlugin
    - RecGetRecordInt
    - std::string::c_str
    linkageType: ''
    returnType: Plugin::Remap
    signature: "Plugin::Remap Plugin::Remap::Create(const std::string &tag, const
      std::string &plugin, const cripts::string &from_url,\n                      const
      cripts::string &to_url, const Plugin::Options &options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: done
      Src: /src/trafficserver/src/cripts/Plugins.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Plugin::Remap::Cleanup()
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - done
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::Cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doRemap
      Src: /src/trafficserver/src/cripts/Plugins.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: Plugin::Remap::_runRemap(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/Plugins.cc
    functionUses: 0
    functionsReached:
    - doRemap
    linkageType: ''
    returnType: void
    signature: void Plugin::Remap::_runRemap(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:33,1
    - Dst: FD
      Src: /src/trafficserver/src/cripts/Connections.cc:39,1
    - Dst: setsockopt
      Src: /src/trafficserver/src/cripts/Connections.cc:40,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Connections.cc:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: detail::ConnBase::Pacing::operator=(uint32_t val)
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - setsockopt
    - _ensure_initialized
    - FD
    - TSError
    linkageType: ''
    returnType: void
    signature: void detail::ConnBase::Pacing::operator=(uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:54,1
    - Dst: FD
      Src: /src/trafficserver/src/cripts/Connections.cc:56,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:58,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/src/cripts/Connections.cc:59,1
    - Dst: getsockopt
      Src: /src/trafficserver/src/cripts/Connections.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: detail::ConnBase::TcpInfo::initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSHttpTxnIsInternal
    - TSAssert
    - FD
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void detail::ConnBase::TcpInfo::initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:74,1
    - Dst: initialize
      Src: /src/trafficserver/src/cripts/Connections.cc:75,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Connections.cc:83,1
    - Dst: format
      Src: /src/trafficserver/src/cripts/Connections.cc:83,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Connections.cc:85,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Connections.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: detail::ConnBase::TcpInfo::Log()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - initialize
    - _ensure_initialized
    - format
    - fmt::format
    - DebugInterface::generate_format_string
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view detail::ConnBase::TcpInfo::Log()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: detail::ConnBase::ClientCert()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    linkageType: ''
    returnType: cripts::Certs::Client
    signature: cripts::Certs::Client detail::ConnBase::ClientCert()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: detail::ConnBase::ServerCert()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    linkageType: ''
    returnType: cripts::Certs::Server
    signature: cripts::Certs::Server detail::ConnBase::ServerCert()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:113,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:114,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:115,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Connections.cc:117,1
    - Dst: strlen
      Src: /src/trafficserver/src/cripts/Connections.cc:118,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:120,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:123,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:132,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Connections.cc:137,1
    - Dst: strlen
      Src: /src/trafficserver/src/cripts/Connections.cc:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: cripts::IP::GetSV
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - inet_ntop
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - strlen
    - htonl
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view IP::GetSV(unsigned ipv4_cidr, unsigned ipv6_cidr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:149,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:150,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:151,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:154,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:157,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:160,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:167,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: cripts::IP::Hasher
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - reinterpret_cast<uint64_t const *>
    - htonl
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IP::Hasher(unsigned ipv4_cidr, unsigned ipv6_cidr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:179,1
    - Dst: cripts::Time::Local::Now
      Src: /src/trafficserver/src/cripts/Connections.cc:183,1
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:185,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:186,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:187,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:191,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:194,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:197,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:203,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:204,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:205,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/cripts/Connections.cc:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - rate
    - seed
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - double
    - uint32_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 219
    functionName: cripts::IP::Sample
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<uint16_t const *>
    - cripts::Time::Local::Now
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - htonl
    - CAssert
    - static_cast<uint16_t>
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: bool
    signature: bool IP::Sample(double rate, uint32_t seed, unsigned ipv4_cidr, unsigned
      ipv6_cidr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: '&

      Client::Connection::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Connection
    signature: 'Client::Connection &

      Client::Connection::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:231,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:232,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/src/cripts/Connections.cc:234,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/src/cripts/Connections.cc:235,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Connections.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: Client::Connection::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientVConnGet
    - TSAssert
    - TSHttpTxnClientAddrGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Client::Connection::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:244,1
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/src/cripts/Connections.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Client::Connection::FD() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnClientFdGet
    linkageType: ''
    returnType: int
    signature: int Client::Connection::FD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:253,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/src/cripts/Connections.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: Client::Connection::Count() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    - TSAssert
    linkageType: ''
    returnType: int
    signature: int Client::Connection::Count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: '&

      Server::Connection::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Connection
    signature: 'Server::Connection &

      Server::Connection::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:267,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/src/cripts/Connections.cc:269,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/src/cripts/Connections.cc:270,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Connections.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: Server::Connection::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnServerAddrGet
    - TSHttpSsnServerVConnGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Server::Connection::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:279,1
    - Dst: TSHttpTxnServerFdGet
      Src: /src/trafficserver/src/cripts/Connections.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: Server::Connection::FD() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerFdGet
    - TSAssert
    linkageType: ''
    returnType: int
    signature: int Server::Connection::FD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:288,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/src/cripts/Connections.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: Server::Connection::Count() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: int
    signature: int Server::Connection::Count() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:113,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:114,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:115,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Connections.cc:117,1
    - Dst: strlen
      Src: /src/trafficserver/src/cripts/Connections.cc:118,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:120,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:123,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:132,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Connections.cc:137,1
    - Dst: strlen
      Src: /src/trafficserver/src/cripts/Connections.cc:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: cripts::IP::GetSV
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - inet_ntop
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - strlen
    - htonl
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view IP::GetSV(unsigned ipv4_cidr, unsigned ipv6_cidr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:149,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:150,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:151,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:154,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:157,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:160,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:167,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: cripts::IP::Hasher
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - reinterpret_cast<uint64_t const *>
    - htonl
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IP::Hasher(unsigned ipv4_cidr, unsigned ipv6_cidr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:179,1
    - Dst: cripts::Time::Local::Now
      Src: /src/trafficserver/src/cripts/Connections.cc:183,1
    - Dst: is_ip4
      Src: /src/trafficserver/src/cripts/Connections.cc:185,1
    - Dst: cripts::IP::_addr::_ip4::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:186,1
    - Dst: htonl
      Src: /src/trafficserver/src/cripts/Connections.cc:187,1
    - Dst: is_ip6
      Src: /src/trafficserver/src/cripts/Connections.cc:191,1
    - Dst: cripts::IP::_addr::_ip6::network_order
      Src: /src/trafficserver/src/cripts/Connections.cc:194,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Connections.cc:197,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:203,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:204,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:205,1
    - Dst: reinterpret_cast<uint16_t const *>
      Src: /src/trafficserver/src/cripts/Connections.cc:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/cripts/Connections.cc:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - rate
    - seed
    - ipv4_cidr
    - ipv6_cidr
    argTypes:
    - double
    - uint32_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 219
    functionName: cripts::IP::Sample
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - memset
    - reinterpret_cast<uint16_t const *>
    - cripts::Time::Local::Now
    - is_ip6
    - cripts::IP::_addr::_ip6::network_order
    - is_ip4
    - htonl
    - CAssert
    - static_cast<uint16_t>
    - cripts::IP::_addr::_ip4::network_order
    linkageType: ''
    returnType: bool
    signature: bool IP::Sample(double rate, uint32_t seed, unsigned ipv4_cidr, unsigned
      ipv6_cidr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: '&

      Client::Connection::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Connection
    signature: 'Client::Connection &

      Client::Connection::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:231,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:232,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/src/cripts/Connections.cc:234,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/src/cripts/Connections.cc:235,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Connections.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: Client::Connection::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientVConnGet
    - TSAssert
    - TSHttpTxnClientAddrGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Client::Connection::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:244,1
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/src/cripts/Connections.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Client::Connection::FD() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnClientFdGet
    linkageType: ''
    returnType: int
    signature: int Client::Connection::FD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:253,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/src/cripts/Connections.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: Client::Connection::Count() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    - TSAssert
    linkageType: ''
    returnType: int
    signature: int Client::Connection::Count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Connections.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: '&

      Server::Connection::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Connection
    signature: 'Server::Connection &

      Server::Connection::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:267,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/src/cripts/Connections.cc:269,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/src/cripts/Connections.cc:270,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Connections.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: Server::Connection::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnServerAddrGet
    - TSHttpSsnServerVConnGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Server::Connection::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:279,1
    - Dst: TSHttpTxnServerFdGet
      Src: /src/trafficserver/src/cripts/Connections.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: Server::Connection::FD() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerFdGet
    - TSAssert
    linkageType: ''
    returnType: int
    signature: int Server::Connection::FD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Connections.cc:288,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/src/cripts/Connections.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: Server::Connection::Count() const
    functionSourceFile: /src/trafficserver/src/cripts/Connections.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: int
    signature: int Server::Connection::Count() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Instance.cc:34,1
    - Dst: auto::trim
      Src: /src/trafficserver/src/cripts/Instance.cc:36,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/cripts/Instance.cc:46,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/cripts/Instance.cc:47,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/cripts/Instance.cc:54,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Instance.cc:54,1
    - Dst: set
      Src: /src/trafficserver/src/cripts/Instance.cc:57,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Instance.cc:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - argc
    - argv
    - filename
    - remap
    argTypes:
    - int
    - char*[]
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: cripts::Instance::_initialize
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 4
    functionsReached:
    - find_last_of
    - set
    - auto::trim
    - substr
    - c_str
    - DebugInterface::generate_format_string
    - std::string_view
    linkageType: ''
    returnType: void
    signature: void Instance::_initialize(int argc, const char *argv[], const char
      *filename, bool remap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Instance.cc:63,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Instance.cc:63,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/cripts/Instance.cc:67,1
    - Dst: auto::Valid
      Src: /src/trafficserver/src/cripts/Instance.cc:69,1
    - Dst: emplace
      Src: /src/trafficserver/src/cripts/Instance.cc:70,1
    - Dst: std::move
      Src: /src/trafficserver/src/cripts/Instance.cc:70,1
    - Dst: cripts::Instance::Fail
      Src: /src/trafficserver/src/cripts/Instance.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - plugin
    - options
    argTypes:
    - cripts::string
    - cripts::string
    - Plugin::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: cripts::Instance::AddPlugin
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - std::move
    - auto::Valid
    - TSMBufferCreate
    - cripts::Instance::Fail
    linkageType: ''
    returnType: bool
    signature: bool Instance::AddPlugin(const cripts::string &tag, const cripts::string
      &plugin, const Plugin::Options &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Instance.cc:82,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Instance.cc:84,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Instance.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tag
    argTypes:
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: cripts::Instance::DeletePlugin
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: bool
    signature: bool Instance::DeletePlugin(const cripts::string &tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Instance.cc:97,1
    - Dst: cripts::Bundle::Base*::Name
      Src: /src/trafficserver/src/cripts/Instance.cc:97,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Instance.cc:98,1
    - Dst: cripts::Bundle::Base*::Name
      Src: /src/trafficserver/src/cripts/Instance.cc:98,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Instance.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - cripts::Bundle::Base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: cripts::Instance::AddBundle
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - Name
    - push_back
    - cripts::Bundle::Base*::Name
    linkageType: ''
    returnType: void
    signature: void Instance::AddBundle(cripts::Bundle::Base *bundle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Instance.cc:34,1
    - Dst: auto::trim
      Src: /src/trafficserver/src/cripts/Instance.cc:36,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/cripts/Instance.cc:46,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/cripts/Instance.cc:47,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/cripts/Instance.cc:54,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Instance.cc:54,1
    - Dst: set
      Src: /src/trafficserver/src/cripts/Instance.cc:57,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Instance.cc:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - argc
    - argv
    - filename
    - remap
    argTypes:
    - int
    - char*[]
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: cripts::Instance::_initialize
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 4
    functionsReached:
    - find_last_of
    - set
    - auto::trim
    - substr
    - c_str
    - DebugInterface::generate_format_string
    - std::string_view
    linkageType: ''
    returnType: void
    signature: void Instance::_initialize(int argc, const char *argv[], const char
      *filename, bool remap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Instance.cc:63,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Instance.cc:63,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/cripts/Instance.cc:67,1
    - Dst: auto::Valid
      Src: /src/trafficserver/src/cripts/Instance.cc:69,1
    - Dst: emplace
      Src: /src/trafficserver/src/cripts/Instance.cc:70,1
    - Dst: std::move
      Src: /src/trafficserver/src/cripts/Instance.cc:70,1
    - Dst: cripts::Instance::Fail
      Src: /src/trafficserver/src/cripts/Instance.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - plugin
    - options
    argTypes:
    - cripts::string
    - cripts::string
    - Plugin::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: cripts::Instance::AddPlugin
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - find
    - emplace
    - end
    - std::move
    - auto::Valid
    - TSMBufferCreate
    - cripts::Instance::Fail
    linkageType: ''
    returnType: bool
    signature: bool Instance::AddPlugin(const cripts::string &tag, const cripts::string
      &plugin, const Plugin::Options &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Instance.cc:82,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Instance.cc:84,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Instance.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tag
    argTypes:
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: cripts::Instance::DeletePlugin
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: bool
    signature: bool Instance::DeletePlugin(const cripts::string &tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Instance.cc:97,1
    - Dst: cripts::Bundle::Base*::Name
      Src: /src/trafficserver/src/cripts/Instance.cc:97,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Instance.cc:98,1
    - Dst: cripts::Bundle::Base*::Name
      Src: /src/trafficserver/src/cripts/Instance.cc:98,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Instance.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - cripts::Bundle::Base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: cripts::Instance::AddBundle
    functionSourceFile: /src/trafficserver/src/cripts/Instance.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - Name
    - push_back
    - cripts::Bundle::Base*::Name
    linkageType: ''
    returnType: void
    signature: void Instance::AddBundle(cripts::Bundle::Base *bundle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CFatal
    - cripts::string_view::size
    - TSHttpTxnConfigFind
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Records::Records(const cripts::string_view name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:44,1
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/cripts/Configs.cc:50,1
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/src/cripts/Configs.cc:57,1
    - Dst: cripts::Records::GetSV
      Src: /src/trafficserver/src/cripts/Configs.cc:62,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: cripts::Records::_get
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigFloatGet
    - cripts::Records::GetSV
    - CFatal
    - TSAssert
    - TSHttpTxnConfigIntGet
    linkageType: ''
    returnType: Records::ValueType
    signature: Records::ValueType Records::_get(const cripts::Context *context) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:75,1
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/src/cripts/Configs.cc:82,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: cripts::Records::GetSV
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 1
    functionsReached:
    - CFatal
    - TSHttpTxnConfigStringGet
    - TSAssert
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Records::GetSV(const cripts::Context *context)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:97,1
    - Dst: std::get<TSMgmtInt>
      Src: /src/trafficserver/src/cripts/Configs.cc:101,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/cripts/Configs.cc:103,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:104,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:104,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:107,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:107,1
    - Dst: std::get<TSMgmtFloat>
      Src: /src/trafficserver/src/cripts/Configs.cc:110,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/src/cripts/Configs.cc:112,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:113,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:113,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:116,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:116,1
    - Dst: std::get<std::string>
      Src: /src/trafficserver/src/cripts/Configs.cc:119,1
    - Dst: cripts::Records::SetSV
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: cripts::Records::_set
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::get<TSMgmtInt>
    - CFatal
    - auto::size
    - TSAssert
    - TSHttpTxnConfigIntSet
    - std::get<TSMgmtFloat>
    - c_str
    - TSHttpTxnConfigFloatSet
    - std::get<std::string>
    - CDebug
    - auto::data
    - cripts::Records::SetSV
    linkageType: ''
    returnType: bool
    signature: bool Records::_set(const cripts::Context *context, const ValueType
      &value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:134,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:139,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:139,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:142,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:142,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: cripts::Records::SetSV
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 1
    functionsReached:
    - TSError
    - CFatal
    - TSHttpTxnConfigStringSet
    - TSAssert
    - cripts::string_view::size
    - c_str
    - CDebug
    - cripts::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool Records::SetSV(const cripts::Context *context, const cripts::string_view
      value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:156,1
    - Dst: Records*::Loaded
      Src: /src/trafficserver/src/cripts/Configs.cc:156,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Configs.cc:157,1
    - Dst: Records*::Name
      Src: /src/trafficserver/src/cripts/Configs.cc:157,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:159,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Configs.cc:159,1
    - Dst: Records*::Name
      Src: /src/trafficserver/src/cripts/Configs.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rec
    argTypes:
    - Records*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: cripts::Records::Add
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - Records*::Name
    - find
    - Records*::Loaded
    - end
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Records::Add(const Records *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Configs.cc:166,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Configs.cc:168,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:169,1
    - Dst: auto::second::Loaded
      Src: /src/trafficserver/src/cripts/Configs.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: cripts::Records::Lookup
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - find
    - CAssert
    - auto::second::Loaded
    - end
    linkageType: ''
    returnType: Records
    signature: 'Records *

      Records::Lookup(const cripts::string_view name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:32,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CFatal
    - cripts::string_view::size
    - TSHttpTxnConfigFind
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Records::Records(const cripts::string_view name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:44,1
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/cripts/Configs.cc:50,1
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/src/cripts/Configs.cc:57,1
    - Dst: cripts::Records::GetSV
      Src: /src/trafficserver/src/cripts/Configs.cc:62,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: cripts::Records::_get
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigFloatGet
    - cripts::Records::GetSV
    - CFatal
    - TSAssert
    - TSHttpTxnConfigIntGet
    linkageType: ''
    returnType: Records::ValueType
    signature: Records::ValueType Records::_get(const cripts::Context *context) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:75,1
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/src/cripts/Configs.cc:82,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: cripts::Records::GetSV
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 2
    functionsReached:
    - CFatal
    - TSHttpTxnConfigStringGet
    - TSAssert
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Records::GetSV(const cripts::Context *context)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:97,1
    - Dst: std::get<TSMgmtInt>
      Src: /src/trafficserver/src/cripts/Configs.cc:101,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/cripts/Configs.cc:103,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:104,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:104,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:107,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:107,1
    - Dst: std::get<TSMgmtFloat>
      Src: /src/trafficserver/src/cripts/Configs.cc:110,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/src/cripts/Configs.cc:112,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:113,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:113,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:116,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:116,1
    - Dst: std::get<std::string>
      Src: /src/trafficserver/src/cripts/Configs.cc:119,1
    - Dst: cripts::Records::SetSV
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Configs.cc:121,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: cripts::Records::_set
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::get<TSMgmtInt>
    - CFatal
    - auto::size
    - TSAssert
    - TSHttpTxnConfigIntSet
    - std::get<TSMgmtFloat>
    - c_str
    - TSHttpTxnConfigFloatSet
    - std::get<std::string>
    - CDebug
    - auto::data
    - cripts::Records::SetSV
    linkageType: ''
    returnType: bool
    signature: bool Records::_set(const cripts::Context *context, const ValueType
      &value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:134,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Configs.cc:138,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Configs.cc:139,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:139,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Configs.cc:142,1
    - Dst: c_str
      Src: /src/trafficserver/src/cripts/Configs.cc:142,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Configs.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: cripts::Records::SetSV
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 2
    functionsReached:
    - TSError
    - CFatal
    - TSHttpTxnConfigStringSet
    - TSAssert
    - cripts::string_view::size
    - c_str
    - CDebug
    - cripts::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool Records::SetSV(const cripts::Context *context, const cripts::string_view
      value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:156,1
    - Dst: Records*::Loaded
      Src: /src/trafficserver/src/cripts/Configs.cc:156,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Configs.cc:157,1
    - Dst: Records*::Name
      Src: /src/trafficserver/src/cripts/Configs.cc:157,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:159,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Configs.cc:159,1
    - Dst: Records*::Name
      Src: /src/trafficserver/src/cripts/Configs.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rec
    argTypes:
    - Records*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: cripts::Records::Add
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - Records*::Name
    - find
    - Records*::Loaded
    - end
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Records::Add(const Records *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/cripts/Configs.cc:166,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Configs.cc:168,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Configs.cc:169,1
    - Dst: auto::second::Loaded
      Src: /src/trafficserver/src/cripts/Configs.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: cripts::Records::Lookup
    functionSourceFile: /src/trafficserver/src/cripts/Configs.cc
    functionUses: 0
    functionsReached:
    - find
    - CAssert
    - auto::second::Loaded
    - end
    linkageType: ''
    returnType: Records
    signature: 'Records *

      Records::Lookup(const cripts::string_view name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/trafficserver/src/cripts/Matcher.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Matcher::PCRE::~PCRE()
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void Matcher::PCRE::~PCRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Result *>
      Src: /src/trafficserver/src/cripts/Matcher.cc:37,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Matcher.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - context
    argTypes:
    - PCRE2_SIZE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: '*

      Matcher::PCRE::Result::malloc(PCRE2_SIZE size, void *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - CAssert
    - static_cast<Result *>
    linkageType: ''
    returnType: void
    signature: 'void *

      Matcher::PCRE::Result::malloc(PCRE2_SIZE size, void *context)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: pcre2_get_error_message
      Src: /src/trafficserver/src/cripts/Matcher.cc:57,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: pcre2_jit_compile
      Src: /src/trafficserver/src/cripts/Matcher.cc:61,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Matcher.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - regex
    - options
    - jit
    argTypes:
    - cripts::string_view
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Matcher::PCRE::Add(cripts::string_view regex, uint32_t options,
      bool jit)
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_get_error_message
    - static_cast<int>
    - emplace_back
    - CFatal
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_jit_compile
    - cripts::string_view::length
    - pcre2_compile
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Matcher::PCRE::Add(cripts::string_view regex, uint32_t options,
      bool jit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/src/cripts/Matcher.cc:74,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/cripts/Matcher.cc:74,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/trafficserver/src/cripts/Matcher.cc:78,1
    - Dst: pcre2_match
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/src/cripts/Matcher.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - subject
    - offset
    - options
    argTypes:
    - cripts::string_view
    - PCRE2_SIZE
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Matcher::PCRE::Contains(cripts::string_view subject, PCRE2_SIZE
      offset, uint32_t options)
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_pointer
    - pcre2_match_data_create_from_pattern
    - static_cast<void *>
    - pcre2_general_context_create
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_match
    - cripts::string_view::length
    - cripts::string_view::data
    linkageType: ''
    returnType: Matcher::PCRE::Result
    signature: Matcher::PCRE::Result Matcher::PCRE::Contains(cripts::string_view subject,
      PCRE2_SIZE offset, uint32_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/trafficserver/src/cripts/Matcher.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Matcher::PCRE::~PCRE()
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void Matcher::PCRE::~PCRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Result *>
      Src: /src/trafficserver/src/cripts/Matcher.cc:37,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Matcher.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - context
    argTypes:
    - PCRE2_SIZE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: '*

      Matcher::PCRE::Result::malloc(PCRE2_SIZE size, void *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - CAssert
    - static_cast<Result *>
    linkageType: ''
    returnType: void
    signature: 'void *

      Matcher::PCRE::Result::malloc(PCRE2_SIZE size, void *context)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:52,1
    - Dst: pcre2_get_error_message
      Src: /src/trafficserver/src/cripts/Matcher.cc:57,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:58,1
    - Dst: pcre2_jit_compile
      Src: /src/trafficserver/src/cripts/Matcher.cc:61,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:62,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Matcher.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - regex
    - options
    - jit
    argTypes:
    - cripts::string_view
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Matcher::PCRE::Add(cripts::string_view regex, uint32_t options,
      bool jit)
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_get_error_message
    - static_cast<int>
    - emplace_back
    - CFatal
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_jit_compile
    - cripts::string_view::length
    - pcre2_compile
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Matcher::PCRE::Add(cripts::string_view regex, uint32_t options,
      bool jit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/src/cripts/Matcher.cc:74,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/cripts/Matcher.cc:74,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/trafficserver/src/cripts/Matcher.cc:78,1
    - Dst: pcre2_match
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: cripts::string_view::length
      Src: /src/trafficserver/src/cripts/Matcher.cc:79,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/src/cripts/Matcher.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - subject
    - offset
    - options
    argTypes:
    - cripts::string_view
    - PCRE2_SIZE
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Matcher::PCRE::Contains(cripts::string_view subject, PCRE2_SIZE
      offset, uint32_t options)
    functionSourceFile: /src/trafficserver/src/cripts/Matcher.cc
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_pointer
    - pcre2_match_data_create_from_pattern
    - static_cast<void *>
    - pcre2_general_context_create
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_match
    - cripts::string_view::length
    - cripts::string_view::data
    linkageType: ''
    returnType: Matcher::PCRE::Result
    signature: Matcher::PCRE::Result Matcher::PCRE::Contains(cripts::string_view subject,
      PCRE2_SIZE offset, uint32_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Splitter
      Src: /src/trafficserver/src/cripts/Urls.cc:29,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Url::Component::Split(const char delim)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - GetSV
    - cripts::Splitter
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> Url::Component::Split(const char delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:35,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:39,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/cripts/Urls.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: Url::Scheme::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - empty
    - _ensure_initialized
    - swoc::SWOC_VERSION_NS::std::string_view
    - TSUrlSchemeGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Scheme::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:50,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:50,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:51,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: Url::Scheme::operator=(cripts::string_view scheme)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - TSUrlSchemeSet
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Scheme
    signature: Url::Scheme Url::Scheme::operator=(cripts::string_view scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:63,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:67,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/cripts/Urls.cc:68,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: Url::Host::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - empty
    - _ensure_initialized
    - TSUrlHostGet
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Host::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:79,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:80,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:80,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - host
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: Url::Host::operator=(cripts::string_view host)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Host
    signature: Url::Host Url::Host::operator=(cripts::string_view host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:91,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/cripts/Urls.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Url::Port::operator integer()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSUrlPortGet
    linkageType: ''
    returnType: void
    signature: void Url::Port::operator integer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:102,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:103,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:103,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/src/cripts/Urls.cc:104,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: Url::Port::operator=(int port)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - TSUrlPortSet
    - CAssert
    - ReadOnly
    linkageType: ''
    returnType: Url::Port
    signature: Url::Port Url::Port::operator=(int port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:114,1
    - Dst: copy
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: std::ostream_iterator<cripts::string_view>
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: reserve
      Src: /src/trafficserver/src/cripts/Urls.cc:118,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:119,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/cripts/Urls.cc:119,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:120,1
    - Dst: pop_back
      Src: /src/trafficserver/src/cripts/Urls.cc:121,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:125,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:129,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/cripts/Urls.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Url::Path::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - TSUrlPathGet
    - _ensure_initialized
    - copy
    - pop_back
    - swoc::SWOC_VERSION_NS::std::string_view
    - end
    - std::ostream_iterator<cripts::string_view>
    - reserve
    - std::ostringstream::str
    - empty
    - std::string_view
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Path::GetSV()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:144,1
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:145,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:146,1
    - Dst: Url::Path::String::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ix
    argTypes:
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Url::Path::operator[](Segments::size_type ix)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - size
    - _parser
    - Url::Path::String::_initialize
    linkageType: ''
    returnType: Url::Path::String
    signature: Url::Path::String Url::Path::operator[](Segments::size_type ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:156,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:157,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:157,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: Url::Path::operator=(cripts::string_view path)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - TSUrlPathSet
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Path
    signature: Url::Path Url::Path::operator=(cripts::string_view path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:169,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:171,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:172,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - add
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: Url::Path::operator+=(cripts::string_view add)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - GetSV
    - cripts::string::assign
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::Path::operator+=(cripts::string_view add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:183,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:184,1
    - Dst: _owner::ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:184,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:185,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: '&

      Url::Path::String::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - cripts::string_view::size
    - _owner::ReadOnly
    - CAssert
    - size
    linkageType: ''
    returnType: Url::Path::String
    signature: 'Url::Path::String &

      Url::Path::String::operator=(const cripts::string_view str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:196,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: Url::Path::Reset()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::Reset
    - clear
    linkageType: ''
    returnType: void
    signature: void Url::Path::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:207,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Url::Path::Push(cripts::string_view val)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - push_back
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Path::Push(cripts::string_view val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:215,1
    - Dst: insert
      Src: /src/trafficserver/src/cripts/Urls.cc:217,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ix
    - val
    argTypes:
    - Segments::size_type
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: Url::Path::Insert(Segments::size_type ix, cripts::string_view val)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - _parser
    - insert
    linkageType: ''
    returnType: void
    signature: void Url::Path::Insert(Segments::size_type ix, cripts::string_view
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:223,1
    - Dst: Split
      Src: /src/trafficserver/src/cripts/Urls.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: Url::Path::_parser()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Split
    - size
    linkageType: ''
    returnType: void
    signature: void Url::Path::_parser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:231,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:232,1
    - Dst: _owner::ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:232,1
    - Dst: _hashed::find
      Src: /src/trafficserver/src/cripts/Urls.cc:233,1
    - Dst: _hashed::end
      Src: /src/trafficserver/src/cripts/Urls.cc:235,1
    - Dst: _ordered::push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: '&

      Url::Query::Parameter::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - _hashed::end
    - _hashed::find
    - _owner::ReadOnly
    - _ordered::push_back
    - CAssert
    linkageType: ''
    returnType: Url::Query::Parameter
    signature: 'Url::Query::Parameter &

      Url::Query::Parameter::operator=(const cripts::string_view str)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:249,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:250,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:251,1
    - Dst: reserve
      Src: /src/trafficserver/src/cripts/Urls.cc:252,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:256,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:258,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:262,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:264,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/src/cripts/Urls.cc:281,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 288
    functionName: Url::Query::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - auto::second::size
    - find
    - swoc::SWOC_VERSION_NS::std::string_view
    - end
    - reserve
    - size
    - clear
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Query::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:293,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:294,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:294,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - query
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: Url::Query::operator=(cripts::string_view query)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - CAssert
    - ReadOnly
    - TSUrlHttpQuerySet
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Query
    signature: Url::Query Url::Query::operator=(cripts::string_view query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:306,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:308,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:309,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - add
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: Url::Query::operator+=(cripts::string_view add)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - GetSV
    - cripts::string::assign
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::Query::operator+=(cripts::string_view add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:321,1
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:322,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:325,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:327,1
    - Dst: Parameter::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:328,1
    - Dst: Parameter::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: Url::Query::operator[](cripts::string_view param)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - find
    - end
    - Parameter::_initialize
    - _parser
    linkageType: ''
    returnType: Url::Query::Parameter
    signature: Url::Query::Parameter Url::Query::operator[](cripts::string_view param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:340,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:342,1
    - Dst: std::find
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:345,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:346,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:347,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:349,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:349,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Urls.cc:350,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:351,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:353,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: Url::Query::Erase(cripts::string_view param)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - Reset
    - erase
    - auto::second::size
    - find
    - auto::size
    - end
    - CAssert
    - size
    - std::find
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Query::Erase(cripts::string_view param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:365,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:367,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:367,1
    - Dst: std::initializer_list<cripts::string_view>::end
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::find
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::initializer_list<cripts::string_view>::begin
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::initializer_list<cripts::string_view>::end
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:369,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:371,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:371,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:372,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Urls.cc:373,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:374,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:375,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:381,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:382,1
    - Dst: Erase
      Src: /src/trafficserver/src/cripts/Urls.cc:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - list
    - keep
    argTypes:
    - std::initializer_list<cripts::string_view>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: Url::Query::Erase(std::initializer_list<cripts::string_view> list,
      bool keep)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::initializer_list<cripts::string_view>::begin
    - Reset
    - erase
    - auto::second::size
    - find
    - auto::size
    - Erase
    - end
    - std::initializer_list<cripts::string_view>::end
    - CAssert
    - size
    - std::find
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Query::Erase(std::initializer_list<cripts::string_view> list,
      bool keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:394,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:396,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: Url::Query::Reset()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::Reset
    - clear
    linkageType: ''
    returnType: void
    signature: void Url::Query::Reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:406,1
    - Dst: Split
      Src: /src/trafficserver/src/cripts/Urls.cc:407,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/cripts/Urls.cc:408,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Urls.cc:409,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Urls.cc:413,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: Url::Query::_parser()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Split
    - find_first_of
    - push_back
    - substr
    - size
    linkageType: ''
    returnType: void
    signature: void Url::Query::_parser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:425,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:427,1
    - Dst: cripts::Url::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:428,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/cripts/Urls.cc:430,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:433,1
    - Dst: TSfree
      Src: /src/trafficserver/src/cripts/Urls.cc:434,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/cripts/Urls.cc:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: cripts::Url::String
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - static_cast<void *>
    - cripts::string::string
    - cripts::Url::_ensure_initialized
    - CAssert
    - cripts::string::assign
    - TSUrlStringGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: '&

      Pristine::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Pristine::URL
    signature: 'Pristine::URL &

      Pristine::URL::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:452,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:453,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:454,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: Pristine::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnPristineUrlGet
    - state::error::Fail
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Pristine::URL::_initialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:467,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:469,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:471,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:472,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:474,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:475,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: Client::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - state::error::Fail
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - TSHttpHdrUrlGet
    - Client::Request::MLoc
    linkageType: ''
    returnType: void
    signature: void Client::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: '&

      Client::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::URL
    signature: 'Client::URL &

      Client::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:492,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:493,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: Client::URL::_update()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - Flush
    linkageType: ''
    returnType: bool
    signature: bool Client::URL::_update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: Remap::From::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Remap::From::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: '&

      Remap::From::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Remap::From::URL
    signature: 'Remap::From::URL &

      Remap::From::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: Remap::To::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Remap::To::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: '&

      Remap::To::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Remap::To::URL
    signature: 'Remap::To::URL &

      Remap::To::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: '&

      Cache::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Cache::URL
    signature: 'Cache::URL &

      Cache::URL::_get(cripts::Context *context)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:543,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/cripts/Urls.cc:551,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:551,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:552,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:553,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:553,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:554,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:558,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:563,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::URL::UrlP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:566,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:573,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:574,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 576
    functionName: Cache::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlGet
    - state::error::Fail
    - TSAssert
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - TSUrlClone
    - Client::URL::UrlP
    - Client::Request::MLoc
    - TSUrlCreate
    linkageType: ''
    returnType: void
    signature: void Cache::URL::_initialize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:583,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:584,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:587,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:588,1
    - Dst: TSHttpTxnCacheLookupUrlSet
      Src: /src/trafficserver/src/cripts/Urls.cc:590,1
    - Dst: p_instance::DebugOn
      Src: /src/trafficserver/src/cripts/Urls.cc:591,1
    - Dst: p_instance::debug
      Src: /src/trafficserver/src/cripts/Urls.cc:592,1
    - Dst: String
      Src: /src/trafficserver/src/cripts/Urls.cc:592,1
    - Dst: p_instance::DebugOn
      Src: /src/trafficserver/src/cripts/Urls.cc:596,1
    - Dst: p_instance::debug
      Src: /src/trafficserver/src/cripts/Urls.cc:597,1
    - Dst: String
      Src: /src/trafficserver/src/cripts/Urls.cc:597,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 605
    functionName: Cache::URL::_update()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - p_instance::DebugOn
    - _ensure_initialized
    - TSHttpTxnCacheLookupUrlSet
    - String
    - state::error::Fail
    - TSAssert
    - Flush
    - p_instance::debug
    linkageType: ''
    returnType: bool
    signature: bool Cache::URL::_update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: '&

      Parent::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Parent::URL
    signature: 'Parent::URL &

      Parent::URL::_get(cripts::Context *context)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:619,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/cripts/Urls.cc:621,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:621,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:622,1
    - Dst: TSHttpTxnParentSelectionUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:623,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:623,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:624,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:628,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:633,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:634,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 636
    functionName: Parent::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - state::error::Fail
    - TSHttpTxnParentSelectionUrlGet
    - TSAssert
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - Client::Request::MLoc
    - TSUrlCreate
    linkageType: ''
    returnType: void
    signature: void Parent::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Splitter
      Src: /src/trafficserver/src/cripts/Urls.cc:29,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Url::Component::Split(const char delim)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - GetSV
    - cripts::Splitter
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> Url::Component::Split(const char delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:35,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:39,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/cripts/Urls.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: Url::Scheme::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - empty
    - _ensure_initialized
    - swoc::SWOC_VERSION_NS::std::string_view
    - TSUrlSchemeGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Scheme::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:50,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:50,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:51,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:52,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: Url::Scheme::operator=(cripts::string_view scheme)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - TSUrlSchemeSet
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Scheme
    signature: Url::Scheme Url::Scheme::operator=(cripts::string_view scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:63,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:67,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/cripts/Urls.cc:68,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: Url::Host::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - empty
    - _ensure_initialized
    - TSUrlHostGet
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Host::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:79,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:80,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:80,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:81,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - host
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: Url::Host::operator=(cripts::string_view host)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Host
    signature: Url::Host Url::Host::operator=(cripts::string_view host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:91,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/cripts/Urls.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Url::Port::operator integer()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSUrlPortGet
    linkageType: ''
    returnType: void
    signature: void Url::Port::operator integer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:102,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:103,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:103,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/src/cripts/Urls.cc:104,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: Url::Port::operator=(int port)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - TSUrlPortSet
    - CAssert
    - ReadOnly
    linkageType: ''
    returnType: Url::Port
    signature: Url::Port Url::Port::operator=(int port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:114,1
    - Dst: copy
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: std::ostream_iterator<cripts::string_view>
      Src: /src/trafficserver/src/cripts/Urls.cc:117,1
    - Dst: reserve
      Src: /src/trafficserver/src/cripts/Urls.cc:118,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:119,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/cripts/Urls.cc:119,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:120,1
    - Dst: pop_back
      Src: /src/trafficserver/src/cripts/Urls.cc:121,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Urls.cc:125,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:129,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/cripts/Urls.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Url::Path::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - TSUrlPathGet
    - _ensure_initialized
    - copy
    - pop_back
    - swoc::SWOC_VERSION_NS::std::string_view
    - end
    - std::ostream_iterator<cripts::string_view>
    - reserve
    - std::ostringstream::str
    - empty
    - std::string_view
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Path::GetSV()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:144,1
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:145,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:146,1
    - Dst: Url::Path::String::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ix
    argTypes:
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Url::Path::operator[](Segments::size_type ix)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - size
    - _parser
    - Url::Path::String::_initialize
    linkageType: ''
    returnType: Url::Path::String
    signature: Url::Path::String Url::Path::operator[](Segments::size_type ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:156,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:157,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:157,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:158,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: Url::Path::operator=(cripts::string_view path)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - TSUrlPathSet
    - CAssert
    - ReadOnly
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Path
    signature: Url::Path Url::Path::operator=(cripts::string_view path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:169,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:171,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:172,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - add
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: Url::Path::operator+=(cripts::string_view add)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - GetSV
    - cripts::string::assign
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::Path::operator+=(cripts::string_view add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:183,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:184,1
    - Dst: _owner::ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:184,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:185,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: '&

      Url::Path::String::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - cripts::string_view::size
    - _owner::ReadOnly
    - CAssert
    - size
    linkageType: ''
    returnType: Url::Path::String
    signature: 'Url::Path::String &

      Url::Path::String::operator=(const cripts::string_view str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:196,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: Url::Path::Reset()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::Reset
    - clear
    linkageType: ''
    returnType: void
    signature: void Url::Path::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:207,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Url::Path::Push(cripts::string_view val)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - push_back
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Path::Push(cripts::string_view val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:215,1
    - Dst: insert
      Src: /src/trafficserver/src/cripts/Urls.cc:217,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ix
    - val
    argTypes:
    - Segments::size_type
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: Url::Path::Insert(Segments::size_type ix, cripts::string_view val)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - _parser
    - insert
    linkageType: ''
    returnType: void
    signature: void Url::Path::Insert(Segments::size_type ix, cripts::string_view
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:223,1
    - Dst: Split
      Src: /src/trafficserver/src/cripts/Urls.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: Url::Path::_parser()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Split
    - size
    linkageType: ''
    returnType: void
    signature: void Url::Path::_parser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:231,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:232,1
    - Dst: _owner::ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:232,1
    - Dst: _hashed::find
      Src: /src/trafficserver/src/cripts/Urls.cc:233,1
    - Dst: _hashed::end
      Src: /src/trafficserver/src/cripts/Urls.cc:235,1
    - Dst: _ordered::push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: '&

      Url::Query::Parameter::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - _hashed::end
    - _hashed::find
    - _owner::ReadOnly
    - _ordered::push_back
    - CAssert
    linkageType: ''
    returnType: Url::Query::Parameter
    signature: 'Url::Query::Parameter &

      Url::Query::Parameter::operator=(const cripts::string_view str)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:249,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:250,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:251,1
    - Dst: reserve
      Src: /src/trafficserver/src/cripts/Urls.cc:252,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:256,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:258,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:262,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:264,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/src/cripts/Urls.cc:281,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Urls.cc:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 288
    functionName: Url::Query::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - auto::second::size
    - find
    - swoc::SWOC_VERSION_NS::std::string_view
    - end
    - reserve
    - size
    - clear
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Url::Query::GetSV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:293,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:294,1
    - Dst: ReadOnly
      Src: /src/trafficserver/src/cripts/Urls.cc:294,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:295,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - query
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: Url::Query::operator=(cripts::string_view query)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Reset
    - _ensure_initialized
    - cripts::string_view::size
    - CAssert
    - ReadOnly
    - TSUrlHttpQuerySet
    - cripts::string_view::data
    linkageType: ''
    returnType: Url::Query
    signature: Url::Query Url::Query::operator=(cripts::string_view query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:306,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Urls.cc:308,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:309,1
    - Dst: GetSV
      Src: /src/trafficserver/src/cripts/Urls.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - add
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: Url::Query::operator+=(cripts::string_view add)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - GetSV
    - cripts::string::assign
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::Query::operator+=(cripts::string_view add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:321,1
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:322,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:325,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:327,1
    - Dst: Parameter::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:328,1
    - Dst: Parameter::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: Url::Query::operator[](cripts::string_view param)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - find
    - end
    - Parameter::_initialize
    - _parser
    linkageType: ''
    returnType: Url::Query::Parameter
    signature: Url::Query::Parameter Url::Query::operator[](cripts::string_view param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:340,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:342,1
    - Dst: std::find
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:343,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:345,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:346,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:347,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:349,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:349,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Urls.cc:350,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:351,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:353,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: Url::Query::Erase(cripts::string_view param)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - Reset
    - erase
    - auto::second::size
    - find
    - auto::size
    - end
    - CAssert
    - size
    - std::find
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Query::Erase(cripts::string_view param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/src/cripts/Urls.cc:365,1
    - Dst: begin
      Src: /src/trafficserver/src/cripts/Urls.cc:367,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:367,1
    - Dst: std::initializer_list<cripts::string_view>::end
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::find
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::initializer_list<cripts::string_view>::begin
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: std::initializer_list<cripts::string_view>::end
      Src: /src/trafficserver/src/cripts/Urls.cc:368,1
    - Dst: find
      Src: /src/trafficserver/src/cripts/Urls.cc:369,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:371,1
    - Dst: end
      Src: /src/trafficserver/src/cripts/Urls.cc:371,1
    - Dst: auto::second::size
      Src: /src/trafficserver/src/cripts/Urls.cc:372,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Urls.cc:373,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:374,1
    - Dst: erase
      Src: /src/trafficserver/src/cripts/Urls.cc:375,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:381,1
    - Dst: Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:382,1
    - Dst: Erase
      Src: /src/trafficserver/src/cripts/Urls.cc:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - list
    - keep
    argTypes:
    - std::initializer_list<cripts::string_view>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: Url::Query::Erase(std::initializer_list<cripts::string_view> list,
      bool keep)
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::initializer_list<cripts::string_view>::begin
    - Reset
    - erase
    - auto::second::size
    - find
    - auto::size
    - Erase
    - end
    - std::initializer_list<cripts::string_view>::end
    - CAssert
    - size
    - std::find
    - _parser
    linkageType: ''
    returnType: void
    signature: void Url::Query::Erase(std::initializer_list<cripts::string_view> list,
      bool keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::Reset
      Src: /src/trafficserver/src/cripts/Urls.cc:394,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:396,1
    - Dst: clear
      Src: /src/trafficserver/src/cripts/Urls.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: Url::Query::Reset()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::Reset
    - clear
    linkageType: ''
    returnType: void
    signature: void Url::Query::Reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Urls.cc:406,1
    - Dst: Split
      Src: /src/trafficserver/src/cripts/Urls.cc:407,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/cripts/Urls.cc:408,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Urls.cc:409,1
    - Dst: substr
      Src: /src/trafficserver/src/cripts/Urls.cc:413,1
    - Dst: push_back
      Src: /src/trafficserver/src/cripts/Urls.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: Url::Query::_parser()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - Split
    - find_first_of
    - push_back
    - substr
    - size
    linkageType: ''
    returnType: void
    signature: void Url::Query::_parser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Urls.cc:425,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:427,1
    - Dst: cripts::Url::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:428,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/cripts/Urls.cc:430,1
    - Dst: cripts::string::assign
      Src: /src/trafficserver/src/cripts/Urls.cc:433,1
    - Dst: TSfree
      Src: /src/trafficserver/src/cripts/Urls.cc:434,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/cripts/Urls.cc:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: cripts::Url::String
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - static_cast<void *>
    - cripts::string::string
    - cripts::Url::_ensure_initialized
    - CAssert
    - cripts::string::assign
    - TSUrlStringGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Url::String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: '&

      Pristine::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Pristine::URL
    signature: 'Pristine::URL &

      Pristine::URL::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:452,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:453,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:454,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: Pristine::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSHttpTxnPristineUrlGet
    - state::error::Fail
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Pristine::URL::_initialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:467,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:469,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:471,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:472,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:474,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:475,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: Client::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - state::error::Fail
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - TSHttpHdrUrlGet
    - Client::Request::MLoc
    linkageType: ''
    returnType: void
    signature: void Client::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: '&

      Client::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::URL
    signature: 'Client::URL &

      Client::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:492,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:493,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: Client::URL::_update()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - Flush
    linkageType: ''
    returnType: bool
    signature: bool Client::URL::_update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: Remap::From::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Remap::From::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: '&

      Remap::From::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Remap::From::URL
    signature: 'Remap::From::URL &

      Remap::From::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: Remap::To::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Remap::To::URL::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: '&

      Remap::To::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Remap::To::URL
    signature: 'Remap::To::URL &

      Remap::To::URL::_get(cripts::Context *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: '&

      Cache::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Cache::URL
    signature: 'Cache::URL &

      Cache::URL::_get(cripts::Context *context)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:543,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/cripts/Urls.cc:551,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:551,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:552,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:553,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:553,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:554,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:558,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:563,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: Client::URL::UrlP
      Src: /src/trafficserver/src/cripts/Urls.cc:565,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:566,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:573,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:574,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 576
    functionName: Cache::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlGet
    - state::error::Fail
    - TSAssert
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - TSUrlClone
    - Client::URL::UrlP
    - Client::Request::MLoc
    - TSUrlCreate
    linkageType: ''
    returnType: void
    signature: void Cache::URL::_initialize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:583,1
    - Dst: Flush
      Src: /src/trafficserver/src/cripts/Urls.cc:584,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:587,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:588,1
    - Dst: TSHttpTxnCacheLookupUrlSet
      Src: /src/trafficserver/src/cripts/Urls.cc:590,1
    - Dst: p_instance::DebugOn
      Src: /src/trafficserver/src/cripts/Urls.cc:591,1
    - Dst: p_instance::debug
      Src: /src/trafficserver/src/cripts/Urls.cc:592,1
    - Dst: String
      Src: /src/trafficserver/src/cripts/Urls.cc:592,1
    - Dst: p_instance::DebugOn
      Src: /src/trafficserver/src/cripts/Urls.cc:596,1
    - Dst: p_instance::debug
      Src: /src/trafficserver/src/cripts/Urls.cc:597,1
    - Dst: String
      Src: /src/trafficserver/src/cripts/Urls.cc:597,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 605
    functionName: Cache::URL::_update()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - p_instance::DebugOn
    - _ensure_initialized
    - TSHttpTxnCacheLookupUrlSet
    - String
    - state::error::Fail
    - TSAssert
    - Flush
    - p_instance::debug
    linkageType: ''
    returnType: bool
    signature: bool Cache::URL::_update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Urls.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: '&

      Parent::URL::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Parent::URL
    signature: 'Parent::URL &

      Parent::URL::_get(cripts::Context *context)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Urls.cc:619,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/cripts/Urls.cc:621,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:621,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Urls.cc:622,1
    - Dst: TSHttpTxnParentSelectionUrlGet
      Src: /src/trafficserver/src/cripts/Urls.cc:623,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:623,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:624,1
    - Dst: state::error::Fail
      Src: /src/trafficserver/src/cripts/Urls.cc:628,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Urls.cc:633,1
    - Dst: Client::Request::BufP
      Src: /src/trafficserver/src/cripts/Urls.cc:634,1
    - Dst: Client::Request::MLoc
      Src: /src/trafficserver/src/cripts/Urls.cc:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 636
    functionName: Parent::URL::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Urls.cc
    functionUses: 0
    functionsReached:
    - state::error::Fail
    - TSHttpTxnParentSelectionUrlGet
    - TSAssert
    - txn_error_get
    - Client::Request::BufP
    - cripts::Instance::_initialize
    - Client::Request::MLoc
    - TSUrlCreate
    linkageType: ''
    returnType: void
    signature: void Parent::URL::_initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/UUID.cc:28,1
    - Dst: TSClientRequestUuidGet
      Src: /src/trafficserver/src/cripts/UUID.cc:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: UUID::Unique::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/UUID.cc
    functionUses: 0
    functionsReached:
    - TSClientRequestUuidGet
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string UUID::Unique::_get(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/src/cripts/UUID.cc:40,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/cripts/UUID.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: UUID::Request::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/UUID.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIdGet
    - std::to_string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string UUID::Request::_get(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/UUID.cc:28,1
    - Dst: TSClientRequestUuidGet
      Src: /src/trafficserver/src/cripts/UUID.cc:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: UUID::Unique::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/UUID.cc
    functionUses: 0
    functionsReached:
    - TSClientRequestUuidGet
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string UUID::Unique::_get(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/src/cripts/UUID.cc:40,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/cripts/UUID.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: UUID::Request::_get(cripts::Context *context)
    functionSourceFile: /src/trafficserver/src/cripts/UUID.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIdGet
    - std::to_string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string UUID::Request::_get(cripts::Context *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: response::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:38,1
    - Dst: response::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:39,1
    - Dst: response::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:41,1
    - Dst: response::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:42,1
    - Dst: request::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:44,1
    - Dst: request::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:45,1
    - Dst: request::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:47,1
    - Dst: request::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:48,1
    - Dst: pristine::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:52,1
    - Dst: pristine::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:53,1
    - Dst: cache::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:55,1
    - Dst: cache::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:56,1
    - Dst: parent::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:58,1
    - Dst: parent::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: cripts::Context::reset
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - parent::Initialized
    - pristine::Reset
    - cache::Initialized
    - request::Reset
    - request::Initialized
    - response::Initialized
    - cache::Reset
    - response::Reset
    - parent::Reset
    - pristine::Initialized
    linkageType: ''
    returnType: void
    signature: void Context::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/cripts/Context.cc:66,1
    - Dst: this_thread
      Src: /src/trafficserver/src/cripts/Context.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn_ptr
    - ssn_ptr
    - rri_ptr
    - inst
    argTypes:
    - TSHttpTxn
    - TSHttpSsn
    - TSRemapRequestInfo*
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: cripts::Context::Factory
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::Factory(TSHttpTxn txn_ptr, TSHttpSsn ssn_ptr, TSRemapRequestInfo *rri_ptr,
      cripts::Instance &inst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/cripts/Context.cc:72,1
    - Dst: this_thread
      Src: /src/trafficserver/src/cripts/Context.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: cripts::Context::Release
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    linkageType: ''
    returnType: void
    signature: void Context::Release()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: response::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:38,1
    - Dst: response::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:39,1
    - Dst: response::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:41,1
    - Dst: response::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:42,1
    - Dst: request::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:44,1
    - Dst: request::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:45,1
    - Dst: request::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:47,1
    - Dst: request::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:48,1
    - Dst: pristine::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:52,1
    - Dst: pristine::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:53,1
    - Dst: cache::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:55,1
    - Dst: cache::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:56,1
    - Dst: parent::Initialized
      Src: /src/trafficserver/src/cripts/Context.cc:58,1
    - Dst: parent::Reset
      Src: /src/trafficserver/src/cripts/Context.cc:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: cripts::Context::reset
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - parent::Initialized
    - pristine::Reset
    - cache::Initialized
    - request::Reset
    - request::Initialized
    - response::Initialized
    - cache::Reset
    - response::Reset
    - parent::Reset
    - pristine::Initialized
    linkageType: ''
    returnType: void
    signature: void Context::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/cripts/Context.cc:66,1
    - Dst: this_thread
      Src: /src/trafficserver/src/cripts/Context.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn_ptr
    - ssn_ptr
    - rri_ptr
    - inst
    argTypes:
    - TSHttpTxn
    - TSHttpSsn
    - TSRemapRequestInfo*
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: cripts::Context::Factory
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - this_thread
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::Factory(TSHttpTxn txn_ptr, TSHttpSsn ssn_ptr, TSRemapRequestInfo *rri_ptr,
      cripts::Instance &inst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/cripts/Context.cc:72,1
    - Dst: this_thread
      Src: /src/trafficserver/src/cripts/Context.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: cripts::Context::Release
    functionSourceFile: /src/trafficserver/src/cripts/Context.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - this_thread
    linkageType: ''
    returnType: void
    signature: void Context::Release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:38,1
    - Dst: PEM_write_bio_X509
      Src: /src/trafficserver/src/cripts/Certs.cc:39,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:39,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:42,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:42,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:43,1
    - Dst: memchr
      Src: /src/trafficserver/src/cripts/Certs.cc:43,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: CertBase::Certificate::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - _update_value
    - static_cast<char *>
    - BIO_get_mem_data
    - QUICTransportParameters::_load
    - PEM_write_bio_X509
    - memchr
    linkageType: ''
    returnType: void
    signature: void CertBase::Certificate::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_signature
      Src: /src/trafficserver/src/cripts/Certs.cc:56,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:57,1
    - Dst: QUICTransportParameters::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:60,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: CertBase::Signature::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<unsigned char>
    - X509_get0_signature
    - _update_value
    - reinterpret_cast<const char *>
    - BIO_printf
    - QUICTransportParameters::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::Signature::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/trafficserver/src/cripts/Certs.cc:71,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:71,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:73,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:73,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:75,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/cripts/Certs.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: CertBase::X509Value::_update_value() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - BIO_get_mem_data
    - BIO_pending
    - static_cast<size_t>
    - processDurationString
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_update_value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:84,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:87,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/src/cripts/Certs.cc:88,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:88,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:89,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - (*getter)(const X509 *)
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: CertBase::X509Value::_load_name(X509_NAME *(*getter)(const X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - processDurationString
    - _update_value
    - getter
    - detail::CertBase::X509Value::_load
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_name(X509_NAME *(*getter)(const X509
      *)) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:101,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:103,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/trafficserver/src/cripts/Certs.cc:104,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:104,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - (*getter)(X509 *)
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: CertBase::X509Value::_load_integer(ASN1_INTEGER *(*getter)(X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - X509Value::_update_value
    - i2a_ASN1_INTEGER
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_integer(ASN1_INTEGER *(*getter)(X509
      *)) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:113,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:115,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:116,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:116,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: CertBase::X509Value::_load_long(long (*getter)(const X509 *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - X509Value::_update_value
    - BIO_printf
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_long(long (*getter)(const X509 *))
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:125,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:128,1
    - Dst: ASN1_TIME_print
      Src: /src/trafficserver/src/cripts/Certs.cc:129,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:129,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:130,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - (*getter)(const X509 *)
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: CertBase::X509Value::_load_time(ASN1_TIME *(*getter)(const X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - processDurationString
    - X509Value::_update_value
    - ASN1_TIME_print
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_time(ASN1_TIME *(*getter)(const X509
      *)) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/cripts/Certs.cc:147,1
    - Dst: BIO_write
      Src: /src/trafficserver/src/cripts/Certs.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - _bio
    argTypes:
    - ASN1_IA5STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: detail::_write_asn1_string
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - reinterpret_cast<const char *>
    - BIO_write
    linkageType: ''
    returnType: void
    signature: void _write_asn1_string(const ASN1_IA5STRING *str, BIO *_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Certs.cc:159,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - _bio
    argTypes:
    - ASN1_OCTET_STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: detail::_write_ip_address
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void _write_ip_address(const ASN1_OCTET_STRING *ip, BIO *_bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/cripts/Certs.cc:147,1
    - Dst: BIO_write
      Src: /src/trafficserver/src/cripts/Certs.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - _bio
    argTypes:
    - ASN1_IA5STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: detail::_write_asn1_string
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - reinterpret_cast<const char *>
    - BIO_write
    linkageType: ''
    returnType: void
    signature: void _write_asn1_string(const ASN1_IA5STRING *str, BIO *_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Certs.cc:159,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - _bio
    argTypes:
    - ASN1_OCTET_STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: detail::_write_ip_address
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void _write_ip_address(const ASN1_OCTET_STRING *ip, BIO *_bio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: static_cast<STACK_OF(GENERAL_NAME) *>
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: BIO_new
      Src: /src/trafficserver/src/cripts/Certs.cc:190,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/src/cripts/Certs.cc:190,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/src/cripts/Certs.cc:193,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/src/cripts/Certs.cc:194,1
    - Dst: static_cast<cripts::Certs::SAN>
      Src: /src/trafficserver/src/cripts/Certs.cc:196,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Certs.cc:197,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Certs.cc:197,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Certs.cc:198,1
    - Dst: BIO_reset
      Src: /src/trafficserver/src/cripts/Certs.cc:200,1
    - Dst: fn
      Src: /src/trafficserver/src/cripts/Certs.cc:201,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:204,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Certs.cc:207,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/cripts/Certs.cc:207,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/cripts/Certs.cc:211,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/trafficserver/src/cripts/Certs.cc:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: CertBase::SAN::SANBase::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - emplace_back
    - size
    - STACK_OF
    - BIO_free
    - sk_GENERAL_NAME_value
    - X509_get_ext_d2i
    - BIO_get_mem_data
    - BIO_s_mem
    - sk_GENERAL_NAME_num
    - static_cast<cripts::Certs::SAN>
    - BIO_reset
    - fn
    - static_cast<size_t>
    - CAssert
    - BIO_new
    - sk_GENERAL_NAME_pop_free
    - static_cast<STACK_OF(GENERAL_NAME) *>
    linkageType: ''
    returnType: void
    signature: void CertBase::SAN::SANBase::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Certs.cc:219,1
    - Dst: ensureLoaded
      Src: /src/trafficserver/src/cripts/Certs.cc:221,1
    - Dst: cripts::string::empty
      Src: /src/trafficserver/src/cripts/Certs.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: CertBase::SAN::SANBase::Join(const char *delim) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - cripts::string::empty
    - cripts::string::string
    - ensureLoaded
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string CertBase::SAN::SANBase::Join(const char *delim) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::begin
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::end
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::end
      Src: /src/trafficserver/src/cripts/Certs.cc:241,1
    - Dst: std::distance
      Src: /src/trafficserver/src/cripts/Certs.cc:242,1
    - Dst: _sans::begin
      Src: /src/trafficserver/src/cripts/Certs.cc:242,1
    - Dst: Data
      Src: /src/trafficserver/src/cripts/Certs.cc:243,1
    - Dst: _update_current
      Src: /src/trafficserver/src/cripts/Certs.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: CertBase::SAN::Iterator::_advance()
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - std::distance
    - Size
    - _update_current
    - _sans::end
    - Data
    - std::find_if
    - _sans::begin
    linkageType: ''
    returnType: void
    signature: void CertBase::SAN::Iterator::_advance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:253,1
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:257,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: sanType
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/cripts/Certs.cc:267,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: CertBase::SAN::operator[](size_t index) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - sanType
    - Size
    - processDurationString
    - std::make_tuple
    linkageType: ''
    returnType: CertBase::SAN::Iterator::value_type
    signature: CertBase::SAN::Iterator::value_type CertBase::SAN::operator[](size_t
      index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransportParameters::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:38,1
    - Dst: PEM_write_bio_X509
      Src: /src/trafficserver/src/cripts/Certs.cc:39,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:39,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:42,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:42,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:43,1
    - Dst: memchr
      Src: /src/trafficserver/src/cripts/Certs.cc:43,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: CertBase::Certificate::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - _update_value
    - static_cast<char *>
    - BIO_get_mem_data
    - QUICTransportParameters::_load
    - PEM_write_bio_X509
    - memchr
    linkageType: ''
    returnType: void
    signature: void CertBase::Certificate::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_signature
      Src: /src/trafficserver/src/cripts/Certs.cc:56,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:57,1
    - Dst: QUICTransportParameters::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:60,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/cripts/Certs.cc:62,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: CertBase::Signature::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<unsigned char>
    - X509_get0_signature
    - _update_value
    - reinterpret_cast<const char *>
    - BIO_printf
    - QUICTransportParameters::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::Signature::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/trafficserver/src/cripts/Certs.cc:71,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:71,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:73,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:73,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:75,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/cripts/Certs.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: CertBase::X509Value::_update_value() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - BIO_get_mem_data
    - BIO_pending
    - static_cast<size_t>
    - processDurationString
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_update_value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:84,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:87,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/src/cripts/Certs.cc:88,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:88,1
    - Dst: _update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:89,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - (*getter)(const X509 *)
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: CertBase::X509Value::_load_name(X509_NAME *(*getter)(const X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - processDurationString
    - _update_value
    - getter
    - detail::CertBase::X509Value::_load
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_name(X509_NAME *(*getter)(const X509
      *)) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:101,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:103,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/trafficserver/src/cripts/Certs.cc:104,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:104,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - (*getter)(X509 *)
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: CertBase::X509Value::_load_integer(ASN1_INTEGER *(*getter)(X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - X509Value::_update_value
    - i2a_ASN1_INTEGER
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_integer(ASN1_INTEGER *(*getter)(X509
      *)) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:113,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:115,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:116,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:116,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: CertBase::X509Value::_load_long(long (*getter)(const X509 *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - X509Value::_update_value
    - BIO_printf
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_long(long (*getter)(const X509 *))
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getter
      Src: /src/trafficserver/src/cripts/Certs.cc:125,1
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/src/cripts/Certs.cc:128,1
    - Dst: ASN1_TIME_print
      Src: /src/trafficserver/src/cripts/Certs.cc:129,1
    - Dst: get
      Src: /src/trafficserver/src/cripts/Certs.cc:129,1
    - Dst: X509Value::_update_value
      Src: /src/trafficserver/src/cripts/Certs.cc:130,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - (*getter)(const X509 *)
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: CertBase::X509Value::_load_time(ASN1_TIME *(*getter)(const X509
      *)) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - get
    - processDurationString
    - X509Value::_update_value
    - ASN1_TIME_print
    - getter
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: void
    signature: void CertBase::X509Value::_load_time(ASN1_TIME *(*getter)(const X509
      *)) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/cripts/Certs.cc:147,1
    - Dst: BIO_write
      Src: /src/trafficserver/src/cripts/Certs.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - _bio
    argTypes:
    - ASN1_IA5STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: detail::_write_asn1_string
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - reinterpret_cast<const char *>
    - BIO_write
    linkageType: ''
    returnType: void
    signature: void _write_asn1_string(const ASN1_IA5STRING *str, BIO *_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Certs.cc:159,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - _bio
    argTypes:
    - ASN1_OCTET_STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: detail::_write_ip_address
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void _write_ip_address(const ASN1_OCTET_STRING *ip, BIO *_bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/src/cripts/Certs.cc:146,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/src/cripts/Certs.cc:147,1
    - Dst: BIO_write
      Src: /src/trafficserver/src/cripts/Certs.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - _bio
    argTypes:
    - ASN1_IA5STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: detail::_write_asn1_string
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - reinterpret_cast<const char *>
    - BIO_write
    linkageType: ''
    returnType: void
    signature: void _write_asn1_string(const ASN1_IA5STRING *str, BIO *_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/trafficserver/src/cripts/Certs.cc:159,1
    - Dst: BIO_printf
      Src: /src/trafficserver/src/cripts/Certs.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - _bio
    argTypes:
    - ASN1_OCTET_STRING*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: detail::_write_ip_address
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void _write_ip_address(const ASN1_OCTET_STRING *ip, BIO *_bio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: static_cast<STACK_OF(GENERAL_NAME) *>
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/src/cripts/Certs.cc:184,1
    - Dst: BIO_new
      Src: /src/trafficserver/src/cripts/Certs.cc:190,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/src/cripts/Certs.cc:190,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/src/cripts/Certs.cc:193,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/src/cripts/Certs.cc:194,1
    - Dst: static_cast<cripts::Certs::SAN>
      Src: /src/trafficserver/src/cripts/Certs.cc:196,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Certs.cc:197,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Certs.cc:197,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Certs.cc:198,1
    - Dst: BIO_reset
      Src: /src/trafficserver/src/cripts/Certs.cc:200,1
    - Dst: fn
      Src: /src/trafficserver/src/cripts/Certs.cc:201,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/src/cripts/Certs.cc:204,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Certs.cc:207,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/cripts/Certs.cc:207,1
    - Dst: BIO_free
      Src: /src/trafficserver/src/cripts/Certs.cc:211,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/trafficserver/src/cripts/Certs.cc:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: CertBase::SAN::SANBase::_load() const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - emplace_back
    - size
    - STACK_OF
    - BIO_free
    - sk_GENERAL_NAME_value
    - X509_get_ext_d2i
    - BIO_get_mem_data
    - BIO_s_mem
    - sk_GENERAL_NAME_num
    - static_cast<cripts::Certs::SAN>
    - BIO_reset
    - fn
    - static_cast<size_t>
    - CAssert
    - BIO_new
    - sk_GENERAL_NAME_pop_free
    - static_cast<STACK_OF(GENERAL_NAME) *>
    linkageType: ''
    returnType: void
    signature: void CertBase::SAN::SANBase::_load() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Certs.cc:219,1
    - Dst: ensureLoaded
      Src: /src/trafficserver/src/cripts/Certs.cc:221,1
    - Dst: cripts::string::empty
      Src: /src/trafficserver/src/cripts/Certs.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: CertBase::SAN::SANBase::Join(const char *delim) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - cripts::string::empty
    - cripts::string::string
    - ensureLoaded
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string CertBase::SAN::SANBase::Join(const char *delim) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::begin
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::end
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:239,1
    - Dst: _sans::end
      Src: /src/trafficserver/src/cripts/Certs.cc:241,1
    - Dst: std::distance
      Src: /src/trafficserver/src/cripts/Certs.cc:242,1
    - Dst: _sans::begin
      Src: /src/trafficserver/src/cripts/Certs.cc:242,1
    - Dst: Data
      Src: /src/trafficserver/src/cripts/Certs.cc:243,1
    - Dst: _update_current
      Src: /src/trafficserver/src/cripts/Certs.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: CertBase::SAN::Iterator::_advance()
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - std::distance
    - Size
    - _update_current
    - _sans::end
    - Data
    - std::find_if
    - _sans::begin
    linkageType: ''
    returnType: void
    signature: void CertBase::SAN::Iterator::_advance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:253,1
    - Dst: Size
      Src: /src/trafficserver/src/cripts/Certs.cc:257,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: sanType
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:261,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/cripts/Certs.cc:267,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/cripts/Certs.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: CertBase::SAN::operator[](size_t index) const
    functionSourceFile: /src/trafficserver/src/cripts/Certs.cc
    functionUses: 0
    functionsReached:
    - sanType
    - Size
    - processDurationString
    - std::make_tuple
    linkageType: ''
    returnType: CertBase::SAN::Iterator::value_type
    signature: CertBase::SAN::Iterator::value_type CertBase::SAN::operator[](size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ENCODED_LEN
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODED_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DECODED_LEN
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODED_LEN(len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:34,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: ENCODED_LEN
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: Crypto::Base64::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - cripts::string_view::size
    - ENCODED_LEN
    - TSBase64Encode
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Base64::Encode(cripts::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:50,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: DECODED_LEN
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: Crypto::Base64::Decode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - DECODED_LEN
    - cripts::string_view::size
    - TSBase64Decode
    - cripts::string::data
    - reinterpret_cast<unsigned char *>
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Base64::Decode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:89,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:92,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: Crypto::Escape::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - cripts::string_view::size
    - TSStringPercentEncode
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Escape::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:102,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:105,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:105,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: Crypto::Escape::Decode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - TSStringPercentDecode
    - cripts::string::string
    - cripts::string_view::size
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Escape::Decode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:118,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Crypto::SHA256::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - SHA256_Final
    - cripts::string_view::size
    - SHA256_Init
    - SHA256_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::SHA256
    signature: Crypto::SHA256 Crypto::SHA256::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:131,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: SHA512_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: Crypto::SHA512::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - cripts::string_view::size
    - SHA512_Final
    - SHA512_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::SHA512
    signature: Crypto::SHA512 Crypto::SHA512::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:144,1
    - Dst: MD5_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: MD5_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: Crypto::MD5::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - MD5_Final
    - MD5_Init
    - cripts::string_view::size
    - MD5_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::MD5
    signature: Crypto::MD5 Crypto::MD5::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:157,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:158,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Crypto.cc:161,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/trafficserver/src/cripts/Crypto.cc:162,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/trafficserver/src/cripts/Crypto.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: Crypto::detail::Cipher::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - TSAssert
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_key_length
    - EVP_EncryptInit_ex
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Crypto::detail::Cipher::_initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/src/cripts/Crypto.cc:172,1
    - Dst: resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:175,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:175,1
    - Dst: EVP_EncryptUpdate
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: Crypto::detail::Cipher::Encrypt(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - resize
    - EVP_EncryptUpdate
    - cripts::string_view::size
    - reinterpret_cast<unsigned char *>
    - data
    - _initialize
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Crypto::detail::Cipher::Encrypt(cripts::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/src/cripts/Crypto.cc:187,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: Crypto::detail::Cipher::Finalize()
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - resize
    - EVP_EncryptFinal_ex
    - reinterpret_cast<unsigned char *>
    - data
    - _initialize
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Crypto::detail::Cipher::Finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Crypto::AES256::Encrypt
      Src: /src/trafficserver/src/cripts/Crypto.cc:202,1
    - Dst: Crypto::AES256::Finalize
      Src: /src/trafficserver/src/cripts/Crypto.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: Crypto::AES256::Encrypt(cripts::string_view str, const unsigned
      char *key)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - Crypto::AES256::Encrypt
    - Crypto::AES256::Finalize
    linkageType: ''
    returnType: Crypto::AES256
    signature: Crypto::AES256 Crypto::AES256::Encrypt(cripts::string_view str, const
      unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::HMAC
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: Crypto::HMAC::SHA256::Encrypt(cripts::string_view str, const cripts::string
      &key)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::size
    - cripts::string_view::size
    - cripts::string::data
    - reinterpret_cast<const unsigned char *>
    - EVP_sha256
    - ::HMAC
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::HMAC::SHA256
    signature: Crypto::HMAC::SHA256 Crypto::HMAC::SHA256::Encrypt(cripts::string_view
      str, const cripts::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:34,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: ENCODED_LEN
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:37,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:38,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: Crypto::Base64::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - cripts::string_view::size
    - ENCODED_LEN
    - TSBase64Encode
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Base64::Encode(cripts::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:50,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: DECODED_LEN
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:53,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:55,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: Crypto::Base64::Decode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - DECODED_LEN
    - cripts::string_view::size
    - TSBase64Decode
    - cripts::string::data
    - reinterpret_cast<unsigned char *>
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Base64::Decode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:89,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:92,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:93,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: Crypto::Escape::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - cripts::string::string
    - cripts::string_view::size
    - TSStringPercentEncode
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Escape::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/src/cripts/Crypto.cc:102,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:105,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:105,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::capacity
      Src: /src/trafficserver/src/cripts/Crypto.cc:106,1
    - Dst: cripts::string::resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: Crypto::Escape::Decode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::resize
    - TSStringPercentDecode
    - cripts::string::string
    - cripts::string_view::size
    - cripts::string::data
    - cripts::string::capacity
    - cripts::string_view::data
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Crypto::Escape::Decode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:118,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:119,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Crypto::SHA256::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - SHA256_Final
    - cripts::string_view::size
    - SHA256_Init
    - SHA256_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::SHA256
    signature: Crypto::SHA256 Crypto::SHA256::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:131,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:132,1
    - Dst: SHA512_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: Crypto::SHA512::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - cripts::string_view::size
    - SHA512_Final
    - SHA512_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::SHA512
    signature: Crypto::SHA512 Crypto::SHA512::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/trafficserver/src/cripts/Crypto.cc:144,1
    - Dst: MD5_Update
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:145,1
    - Dst: MD5_Final
      Src: /src/trafficserver/src/cripts/Crypto.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: Crypto::MD5::Encode(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - MD5_Final
    - MD5_Init
    - cripts::string_view::size
    - MD5_Update
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::MD5
    signature: Crypto::MD5 Crypto::MD5::Encode(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:157,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:158,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/trafficserver/src/cripts/Crypto.cc:159,1
    - Dst: memset
      Src: /src/trafficserver/src/cripts/Crypto.cc:161,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/trafficserver/src/cripts/Crypto.cc:162,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/trafficserver/src/cripts/Crypto.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: Crypto::detail::Cipher::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - TSAssert
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_key_length
    - EVP_EncryptInit_ex
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Crypto::detail::Cipher::_initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/src/cripts/Crypto.cc:172,1
    - Dst: resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:175,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:175,1
    - Dst: EVP_EncryptUpdate
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:176,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: Crypto::detail::Cipher::Encrypt(cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - resize
    - EVP_EncryptUpdate
    - cripts::string_view::size
    - reinterpret_cast<unsigned char *>
    - data
    - _initialize
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Crypto::detail::Cipher::Encrypt(cripts::string_view str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/src/cripts/Crypto.cc:187,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Crypto.cc:190,1
    - Dst: resize
      Src: /src/trafficserver/src/cripts/Crypto.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: Crypto::detail::Cipher::Finalize()
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - resize
    - EVP_EncryptFinal_ex
    - reinterpret_cast<unsigned char *>
    - data
    - _initialize
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Crypto::detail::Cipher::Finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Crypto::AES256::Encrypt
      Src: /src/trafficserver/src/cripts/Crypto.cc:202,1
    - Dst: Crypto::AES256::Finalize
      Src: /src/trafficserver/src/cripts/Crypto.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: Crypto::AES256::Encrypt(cripts::string_view str, const unsigned
      char *key)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - Crypto::AES256::Encrypt
    - Crypto::AES256::Finalize
    linkageType: ''
    returnType: Crypto::AES256
    signature: Crypto::AES256 Crypto::AES256::Encrypt(cripts::string_view str, const
      unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::HMAC
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Crypto.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: Crypto::HMAC::SHA256::Encrypt(cripts::string_view str, const cripts::string
      &key)
    functionSourceFile: /src/trafficserver/src/cripts/Crypto.cc
    functionUses: 0
    functionsReached:
    - cripts::string::size
    - cripts::string_view::size
    - cripts::string::data
    - reinterpret_cast<const unsigned char *>
    - EVP_sha256
    - ::HMAC
    - cripts::string_view::data
    linkageType: ''
    returnType: Crypto::HMAC::SHA256
    signature: Crypto::HMAC::SHA256 Crypto::HMAC::SHA256::Encrypt(cripts::string_view
      str, const cripts::string &key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:48,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/cripts/Headers.cc:49,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/src/cripts/Headers.cc:55,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/src/cripts/Headers.cc:58,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: '&

      Header::Status::operator=(int status)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - static_cast<TSHttpStatus>
    - TSHttpHdrStatusSet
    - TSHttpTxnStatusSet
    - _state::context::p_instance::debug
    linkageType: ''
    returnType: Header::Status
    signature: 'Header::Status &

      Header::Status::operator=(int status)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:70,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/cripts/Headers.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: Header::Status::operator integer()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - _ensure_initialized
    linkageType: ''
    returnType: void
    signature: void Header::Status::operator integer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:79,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reason
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: '&

      Header::Reason::operator=(cripts::string_view reason)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHttpHdrReasonSet
    - cripts::string_view::size
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::Reason
    signature: 'Header::Reason &

      Header::Reason::operator=(cripts::string_view reason)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:91,1
    - Dst: memcpy
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:93,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/src/cripts/Headers.cc:94,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - body
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: '&

      Header::Body::operator=(cripts::string_view body)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - _ensure_initialized
    - static_cast<char *>
    - cripts::string_view::size
    - TSmalloc
    - TSHttpTxnErrorBodySet
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::Body
    signature: 'Header::Body &

      Header::Body::operator=(cripts::string_view body)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:102,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:103,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/cripts/Headers.cc:105,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Headers.cc:107,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/src/cripts/Headers.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: Header::Method::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - static_cast<cripts::string_view::size_type>
    - TSHttpHdrMethodGet
    - swoc::SWOC_VERSION_NS::std::string_view
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::Method::GetSV()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:124,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:125,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:126,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/src/cripts/Headers.cc:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: Header::CacheStatus::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    - _ensure_initialized
    - TSAssert
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::CacheStatus::GetSV()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:140,1
    - Dst: cripts::string_view::empty
      Src: /src/trafficserver/src/cripts/Headers.cc:142,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:146,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:148,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:150,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:159,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:163,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:166,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:168,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:173,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:175,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: '&

      Header::String::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHandleMLocRelease
    - cripts::string_view::data
    - cripts::string_view::size
    - cripts::string_view::empty
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator=(const cripts::string_view str)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:193,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:200,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/src/cripts/Headers.cc:204,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:205,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:208,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:210,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:215,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/src/cripts/Headers.cc:218,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - val
    argTypes:
    - integer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 224
    functionName: '&

      Header::String::operator=(integer val)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueInt64Set
    - TSMimeHdrFieldNextDup
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - _state::context::p_instance::debug
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator=(integer val)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:229,1
    - Dst: cripts::string_view::empty
      Src: /src/trafficserver/src/cripts/Headers.cc:231,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:233,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:237,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: '&

      Header::String::operator+=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHandleMLocRelease
    - cripts::string_view::size
    - cripts::string_view::empty
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator+=(const cripts::string_view str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:254,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:255,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/cripts/Headers.cc:262,1
    - Dst: Header::String::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:264,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Headers.cc:264,1
    - Dst: Header::String::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: Header::operator[](const cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - _ensure_initialized
    - TSMimeHdrFieldValueStringGet
    - TSAssert
    - swoc::SWOC_VERSION_NS::std::string_view
    - cripts::string_view::size
    - Header::String::_initialize
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::String
    signature: Header::String Header::operator[](const cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: '&

      Client::Request::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Request
    signature: 'Client::Request &

      Client::Request::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:282,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/cripts/Headers.cc:284,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:285,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: Client::Request::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - error::Fail
    - TSAssert
    - TSHttpTxnClientReqGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Client::Request::_initialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:294,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:297,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/cripts/Headers.cc:303,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/cripts/Headers.cc:307,1
    - Dst: cripts::Header::Iterator::end
      Src: /src/trafficserver/src/cripts/Headers.cc:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: cripts::Header::begin
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - cripts::Header::Iterator::end
    - TSHandleMLocRelease
    - TSMimeHdrFieldGet
    - cripts::Header::_ensure_initialized
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: Header::Iterator
    signature: Header::Iterator Header::begin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:320,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/cripts/Headers.cc:321,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:323,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/cripts/Headers.cc:328,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/src/cripts/Headers.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: cripts::Header::iterate
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - static_cast<cripts::string_view::size_type>
    - TSHandleMLocRelease
    - TSMimeHdrFieldNext
    - cripts::Header::_ensure_initialized
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::iterate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: '&

      Client::Response::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Response
    signature: 'Client::Response &

      Client::Response::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:346,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:347,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:348,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:350,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/src/cripts/Headers.cc:352,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:353,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: Client::Response::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    - TSAssert
    - cripts::Instance::_initialize
    - error::Fail
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Client::Response::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: '&

      Server::Request::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Request
    signature: 'Server::Request &

      Server::Request::_get(cripts::Context *context)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:369,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:370,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:371,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:372,1
    - Dst: Initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:374,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:375,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/src/cripts/Headers.cc:376,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:377,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: Server::Request::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - cripts::Instance::_initialize
    - TSHttpTxnServerReqGet
    - Initialized
    - error::Fail
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Server::Request::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: '&

      Server::Response::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Response
    signature: 'Server::Response &

      Server::Response::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:394,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:395,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:396,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:397,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:399,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/src/cripts/Headers.cc:401,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:402,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: Server::Response::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - cripts::Instance::_initialize
    - TSHttpTxnServerRespGet
    - CAssert
    - error::Fail
    linkageType: ''
    returnType: void
    signature: void Server::Response::_initialize()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:48,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/cripts/Headers.cc:49,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/src/cripts/Headers.cc:55,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/src/cripts/Headers.cc:58,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: '&

      Header::Status::operator=(int status)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - static_cast<TSHttpStatus>
    - TSHttpHdrStatusSet
    - TSHttpTxnStatusSet
    - _state::context::p_instance::debug
    linkageType: ''
    returnType: Header::Status
    signature: 'Header::Status &

      Header::Status::operator=(int status)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:70,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/cripts/Headers.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: Header::Status::operator integer()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - _ensure_initialized
    linkageType: ''
    returnType: void
    signature: void Header::Status::operator integer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:79,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:80,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reason
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: '&

      Header::Reason::operator=(cripts::string_view reason)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHttpHdrReasonSet
    - cripts::string_view::size
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::Reason
    signature: 'Header::Reason &

      Header::Reason::operator=(cripts::string_view reason)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:89,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:91,1
    - Dst: memcpy
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:92,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:93,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/src/cripts/Headers.cc:94,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - body
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: '&

      Header::Body::operator=(cripts::string_view body)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - _ensure_initialized
    - static_cast<char *>
    - cripts::string_view::size
    - TSmalloc
    - TSHttpTxnErrorBodySet
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::Body
    signature: 'Header::Body &

      Header::Body::operator=(cripts::string_view body)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:102,1
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:103,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/cripts/Headers.cc:105,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Headers.cc:107,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/src/cripts/Headers.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: Header::Method::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - static_cast<cripts::string_view::size_type>
    - TSHttpHdrMethodGet
    - swoc::SWOC_VERSION_NS::std::string_view
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::Method::GetSV()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:124,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:125,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:126,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/src/cripts/Headers.cc:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: Header::CacheStatus::GetSV()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    - _ensure_initialized
    - TSAssert
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::CacheStatus::GetSV()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:140,1
    - Dst: cripts::string_view::empty
      Src: /src/trafficserver/src/cripts/Headers.cc:142,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:146,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:148,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:150,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:159,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:162,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:163,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:166,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:168,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:173,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:175,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:177,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:178,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: '&

      Header::String::operator=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHandleMLocRelease
    - cripts::string_view::data
    - cripts::string_view::size
    - cripts::string_view::empty
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator=(const cripts::string_view str)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:193,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/src/cripts/Headers.cc:200,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/src/cripts/Headers.cc:204,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:205,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/cripts/Headers.cc:208,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:210,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:215,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:217,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/src/cripts/Headers.cc:218,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - val
    argTypes:
    - integer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 224
    functionName: '&

      Header::String::operator=(integer val)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueInt64Set
    - TSMimeHdrFieldNextDup
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - _state::context::p_instance::debug
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator=(integer val)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:229,1
    - Dst: cripts::string_view::empty
      Src: /src/trafficserver/src/cripts/Headers.cc:231,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:233,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: data
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: size
      Src: /src/trafficserver/src/cripts/Headers.cc:235,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:236,1
    - Dst: _state::context::p_instance::debug
      Src: /src/trafficserver/src/cripts/Headers.cc:237,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/cripts/Headers.cc:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: '&

      Header::String::operator+=(const cripts::string_view str)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _state::context::p_instance::debug
    - _ensure_initialized
    - TSHandleMLocRelease
    - cripts::string_view::size
    - cripts::string_view::empty
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::String
    signature: 'Header::String &

      Header::String::operator+=(const cripts::string_view str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:254,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:255,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Headers.cc:257,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/cripts/Headers.cc:262,1
    - Dst: Header::String::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:264,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/src/cripts/Headers.cc:264,1
    - Dst: Header::String::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: Header::operator[](const cripts::string_view str)
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - _ensure_initialized
    - TSMimeHdrFieldValueStringGet
    - TSAssert
    - swoc::SWOC_VERSION_NS::std::string_view
    - cripts::string_view::size
    - Header::String::_initialize
    - cripts::string_view::data
    linkageType: ''
    returnType: Header::String
    signature: Header::String Header::operator[](const cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: '&

      Client::Request::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Request
    signature: 'Client::Request &

      Client::Request::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:282,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/cripts/Headers.cc:284,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:285,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: Client::Request::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - error::Fail
    - TSAssert
    - TSHttpTxnClientReqGet
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Client::Request::_initialize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:294,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:297,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/cripts/Headers.cc:303,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/cripts/Headers.cc:307,1
    - Dst: cripts::Header::Iterator::end
      Src: /src/trafficserver/src/cripts/Headers.cc:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: cripts::Header::begin
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - cripts::Header::Iterator::end
    - TSHandleMLocRelease
    - TSMimeHdrFieldGet
    - cripts::Header::_ensure_initialized
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: Header::Iterator
    signature: Header::Iterator Header::begin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:320,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/src/cripts/Headers.cc:321,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/cripts/Headers.cc:323,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/cripts/Headers.cc:328,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/src/cripts/Headers.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: cripts::Header::iterate
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - static_cast<cripts::string_view::size_type>
    - TSHandleMLocRelease
    - TSMimeHdrFieldNext
    - cripts::Header::_ensure_initialized
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Header::iterate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: '&

      Client::Response::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Client::Response
    signature: 'Client::Response &

      Client::Response::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:346,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:347,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:348,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:350,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/src/cripts/Headers.cc:352,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:353,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: Client::Response::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    - TSAssert
    - cripts::Instance::_initialize
    - error::Fail
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Client::Response::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: '&

      Server::Request::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Request
    signature: 'Server::Request &

      Server::Request::_get(cripts::Context *context)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:369,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:370,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:371,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:372,1
    - Dst: Initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:374,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:375,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/src/cripts/Headers.cc:376,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:377,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: Server::Request::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - cripts::Instance::_initialize
    - TSHttpTxnServerReqGet
    - Initialized
    - error::Fail
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Server::Request::_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/src/cripts/Headers.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: '&

      Server::Response::_get(cripts::Context *context)'
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    linkageType: ''
    returnType: Server::Response
    signature: 'Server::Response &

      Server::Response::_get(cripts::Context *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:394,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:395,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:396,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:397,1
    - Dst: TSAssert
      Src: /src/trafficserver/src/cripts/Headers.cc:399,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/src/cripts/Headers.cc:401,1
    - Dst: error::Fail
      Src: /src/trafficserver/src/cripts/Headers.cc:402,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/src/cripts/Headers.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: Server::Response::_initialize()
    functionSourceFile: /src/trafficserver/src/cripts/Headers.cc
    functionUses: 0
    functionsReached:
    - TSAssert
    - cripts::Instance::_initialize
    - TSHttpTxnServerRespGet
    - CAssert
    - error::Fail
    linkageType: ''
    returnType: void
    signature: void Server::Response::_initialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:23,1
    - Dst: integer
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:24,1
    - Dst: AsString
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: do_create_instance
    functionSourceFile: /src/trafficserver/src/cripts/tests/query_test.cc
    functionUses: 0
    functionsReached:
    - AsString
    - size
    - integer
    linkageType: ''
    returnType: void
    signature: void do_create_instance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:32,1
    - Dst: AsInteger
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:34,1
    - Dst: borrow::query::Erase
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:36,1
    - Dst: borrow::query::Erase
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:39,1
    - Dst: borrow::query::Keep
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:42,1
    - Dst: borrow::query::Flush
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:48,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/tests/query_test.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: do_remap
    functionSourceFile: /src/trafficserver/src/cripts/tests/query_test.cc
    functionUses: 0
    functionsReached:
    - get
    - borrow::query::Flush
    - borrow::query::Keep
    - borrow::query::Erase
    - CDebug
    - AsInteger
    linkageType: ''
    returnType: void
    signature: void do_remap()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:33,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:33,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:39,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:39,1
    - Dst: Type
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:45,1
    - Dst: std::holds_alternative<TSMgmtInt>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:47,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: std::holds_alternative<TSMgmtFloat>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:53,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: std::holds_alternative<std::string>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:59,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - errors
    argTypes:
    - std::vector<cripts::Bundle::Error>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: cripts::Bundle::Common::Validate
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::string>
    - std::vector<cripts::Bundle::Error>::emplace_back
    - Type
    - std::holds_alternative<TSMgmtFloat>
    - std::holds_alternative<TSMgmtInt>
    - Name
    linkageType: ''
    returnType: bool
    signature: bool Common::Validate(std::vector<cripts::Bundle::Error> &errors) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:87,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:90,1
    - Dst: std::unordered_map::end
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:92,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:96,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:98,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - destination
    - value
    argTypes:
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 105
    functionName: '&

      Common::via_header(const cripts::string_view &destination, const cripts::string_view
      &value)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - std::unordered_map::find
    - NeedCallback
    - std::unordered_map::end
    - cripts::string_view::starts_with
    linkageType: ''
    returnType: Common::self_type
    signature: 'Common::self_type &

      Common::via_header(const cripts::string_view &destination, const cripts::string_view
      &value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Lookup
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:110,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:113,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:114,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - cripts::string_view
    - cripts::Records::ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: '&

      Common::set_config(const cripts::string_view name, const cripts::Records::ValueType
      &value)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - NeedCallback
    - emplace_back
    - CFatal
    - cripts::string_view::size
    - cripts::Records::Lookup
    - cripts::string_view::data
    linkageType: ''
    returnType: Common
    signature: 'Common &

      Common::set_config(const cripts::string_view name, const cripts::Records::ValueType
      &value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_config
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - configs
    argTypes:
    - std::vector<std::pair<const cripts::string_view, const cripts::Records::ValueType>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: '&

      Common::set_config(const std::vector<std::pair<const cripts::string_view, const
      cripts::Records::ValueType>> &configs)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - set_config
    linkageType: ''
    returnType: Common
    signature: 'Common &

      Common::set_config(const std::vector<std::pair<const cripts::string_view, const
      cripts::Records::ValueType>> &configs)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:137,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:139,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:145,1
    - Dst: config::http::insert_response_via_str::Set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:146,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:149,1
    - Dst: config::http::insert_request_via_str::Set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:150,1
    - Dst: _set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: cripts::Bundle::Common::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - _set
    - testsForEffectiveUrlStringGet
    - config::http::insert_request_via_str::Set
    - config::http::insert_response_via_str::Set
    - CDebug
    linkageType: ''
    returnType: void
    signature: void Common::doRemap(cripts::Context *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:33,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:33,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:39,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:39,1
    - Dst: Type
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:45,1
    - Dst: std::holds_alternative<TSMgmtInt>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:47,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:48,1
    - Dst: std::holds_alternative<TSMgmtFloat>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:53,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:54,1
    - Dst: std::holds_alternative<std::string>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:59,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:60,1
    - Dst: std::vector<cripts::Bundle::Error>::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    - Dst: Name
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:66,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - errors
    argTypes:
    - std::vector<cripts::Bundle::Error>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: cripts::Bundle::Common::Validate
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::string>
    - std::vector<cripts::Bundle::Error>::emplace_back
    - Type
    - std::holds_alternative<TSMgmtFloat>
    - std::holds_alternative<TSMgmtInt>
    - Name
    linkageType: ''
    returnType: bool
    signature: bool Common::Validate(std::vector<cripts::Bundle::Error> &errors) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:87,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:90,1
    - Dst: std::unordered_map::end
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:92,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:96,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:98,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - destination
    - value
    argTypes:
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 105
    functionName: '&

      Common::via_header(const cripts::string_view &destination, const cripts::string_view
      &value)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - std::unordered_map::find
    - NeedCallback
    - std::unordered_map::end
    - cripts::string_view::starts_with
    linkageType: ''
    returnType: Common::self_type
    signature: 'Common::self_type &

      Common::via_header(const cripts::string_view &destination, const cripts::string_view
      &value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Lookup
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:110,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:113,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:114,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - cripts::string_view
    - cripts::Records::ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: '&

      Common::set_config(const cripts::string_view name, const cripts::Records::ValueType
      &value)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - NeedCallback
    - emplace_back
    - CFatal
    - cripts::string_view::size
    - cripts::Records::Lookup
    - cripts::string_view::data
    linkageType: ''
    returnType: Common
    signature: 'Common &

      Common::set_config(const cripts::string_view name, const cripts::Records::ValueType
      &value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_config
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - configs
    argTypes:
    - std::vector<std::pair<const cripts::string_view, const cripts::Records::ValueType>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: '&

      Common::set_config(const std::vector<std::pair<const cripts::string_view, const
      cripts::Records::ValueType>> &configs)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - set_config
    linkageType: ''
    returnType: Common
    signature: 'Common &

      Common::set_config(const std::vector<std::pair<const cripts::string_view, const
      cripts::Records::ValueType>> &configs)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:137,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:139,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:145,1
    - Dst: config::http::insert_response_via_str::Set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:146,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:149,1
    - Dst: config::http::insert_request_via_str::Set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:150,1
    - Dst: _set
      Src: /src/trafficserver/src/cripts/Bundles/Common.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: cripts::Bundle::Common::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Common.cc
    functionUses: 0
    functionsReached:
    - _set
    - testsForEffectiveUrlStringGet
    - config::http::insert_request_via_str::Set
    - config::http::insert_response_via_str::Set
    - CDebug
    linkageType: ''
    returnType: void
    signature: void Common::doRemap(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:84,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:85,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:88,1
    - Dst: debug
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:90,1
    - Dst: cripts::Metrics::Counter::Create
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - label
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: '&

      LogsMetrics::propstats(const cripts::string_view &label)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - NeedCallback
    - debug
    - length
    - cripts::Metrics::Counter::Create
    - fmt::format
    linkageType: ''
    returnType: LogsMetrics::self_type
    signature: 'LogsMetrics::self_type &

      LogsMetrics::propstats(const cripts::string_view &label)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:101,1
    - Dst: borrow::Initialized
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:105,1
    - Dst: logging::Get
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:110,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:111,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:113,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:113,1
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:117,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:118,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:118,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:119,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:120,1
    - Dst: TSHttpTxnClientRespHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:120,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:121,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:122,1
    - Dst: TSHttpTxnServerReqHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:122,1
    - Dst: TSHttpTxnServerReqBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:123,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:124,1
    - Dst: TSHttpTxnServerRespHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:124,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:125,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:128,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:130,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:132,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:134,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:136,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:138,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:140,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:142,1
    - Dst: Aborted
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:145,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:146,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 151
    functionName: cripts::Bundle::LogsMetrics::doTxnClose
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - Increment
    - TSHttpTxnClientReqHdrBytesGet
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - length
    - logging::Get
    - borrow::Initialized
    - TSHttpTxnClientRespBodyBytesGet
    - TSHttpTxnServerReqHdrBytesGet
    - TSHttpTxnServerRespBodyBytesGet
    - TSHttpTxnClientReqBodyBytesGet
    - Aborted
    - fmt::format
    - TSHttpTxnServerReqBodyBytesGet
    - TSHttpTxnServerRespHdrBytesGet
    - TSHttpTxnClientRespHdrBytesGet
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doTxnClose(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:156,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:157,1
    - Dst: logging::Get
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:165,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:166,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: cripts::Bundle::LogsMetrics::doSendResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - logging::Get
    - fmt::format
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doSendResponse(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LookupStatus
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:173,1
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:176,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: cripts::Bundle::LogsMetrics::doCacheLookup
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - Increment
    - length
    - LookupStatus
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doCacheLookup(cripts::Context *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Random
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:190,1
    - Dst: logging::Set
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:191,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:194,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:199,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:200,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:201,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: cripts::Bundle::LogsMetrics::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - cripts::Random
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - logging::Set
    - CDebug
    - fmt::format
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doRemap(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:84,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:85,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:88,1
    - Dst: debug
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:90,1
    - Dst: cripts::Metrics::Counter::Create
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - label
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: '&

      LogsMetrics::propstats(const cripts::string_view &label)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - NeedCallback
    - debug
    - length
    - cripts::Metrics::Counter::Create
    - fmt::format
    linkageType: ''
    returnType: LogsMetrics::self_type
    signature: 'LogsMetrics::self_type &

      LogsMetrics::propstats(const cripts::string_view &label)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:101,1
    - Dst: borrow::Initialized
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:105,1
    - Dst: logging::Get
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:110,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:111,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:113,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:113,1
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:117,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:118,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:118,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:119,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:120,1
    - Dst: TSHttpTxnClientRespHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:120,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:121,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:122,1
    - Dst: TSHttpTxnServerReqHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:122,1
    - Dst: TSHttpTxnServerReqBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:123,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:124,1
    - Dst: TSHttpTxnServerRespHdrBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:124,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:125,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:128,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:130,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:132,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:134,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:136,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:138,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:140,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:142,1
    - Dst: Aborted
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:145,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:146,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 151
    functionName: cripts::Bundle::LogsMetrics::doTxnClose
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - Increment
    - TSHttpTxnClientReqHdrBytesGet
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - length
    - logging::Get
    - borrow::Initialized
    - TSHttpTxnClientRespBodyBytesGet
    - TSHttpTxnServerReqHdrBytesGet
    - TSHttpTxnServerRespBodyBytesGet
    - TSHttpTxnClientReqBodyBytesGet
    - Aborted
    - fmt::format
    - TSHttpTxnServerReqBodyBytesGet
    - TSHttpTxnServerRespHdrBytesGet
    - TSHttpTxnClientRespHdrBytesGet
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doTxnClose(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:156,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:157,1
    - Dst: logging::Get
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:165,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:166,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: cripts::Bundle::LogsMetrics::doSendResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - logging::Get
    - fmt::format
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doSendResponse(cripts::Context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LookupStatus
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:173,1
    - Dst: length
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:176,1
    - Dst: Increment
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: cripts::Bundle::LogsMetrics::doCacheLookup
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - Increment
    - length
    - LookupStatus
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doCacheLookup(cripts::Context *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Random
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:190,1
    - Dst: logging::Set
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:191,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:194,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:199,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:200,1
    - Dst: fmt::format
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:201,1
    - Dst: borrow::tcpinfo::Log
      Src: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: cripts::Bundle::LogsMetrics::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/LogsMetrics.cc
    functionUses: 0
    functionsReached:
    - cripts::Random
    - testsForEffectiveUrlStringGet
    - borrow::tcpinfo::Log
    - logging::Set
    - CDebug
    - fmt::format
    linkageType: ''
    returnType: void
    signature: void LogsMetrics::doRemap(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: detail::ID::ID
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ID(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ID() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ID() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:57,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - id
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: detail::ID::ID
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void ID::ID(const cripts::string_view &id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:66,1
    - Dst: cripts::UUID::Process::_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:69,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: detail::ID::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    - cripts::UUID::Process::_get
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view ID::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: detail::IP::IP
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ~IP() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IP() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:115,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: detail::IP::IP
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void IP::IP(const cripts::string_view &type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:124,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:125,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:128,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:129,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:132,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:133,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:136,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: detail::IP::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - auto::string
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view IP::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: detail::CIDR::CIDR
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CIDR(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~CIDR() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CIDR() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string_view::split_prefix_at
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:170,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:172,1
    - Dst: std::from_chars
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: std::errc
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:176,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:177,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:177,1
    - Dst: std::from_chars
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: std::errc
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:181,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:182,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cidr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: detail::CIDR::CIDR
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - std::from_chars
    - CFatal
    - auto::size
    - cripts::string_view::split_prefix_at
    - cripts::string_view::size
    - auto::data
    - std::errc
    - CAssert
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void CIDR::CIDR(cripts::string_view &cidr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:189,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: detail::CIDR::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - auto::string
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view CIDR::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: URL
    signature: URL operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const cripts::string_view &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ~URL() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~URL() override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::host::GetSV
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:229,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:237,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:237,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - url
    argTypes:
    - cripts::Url
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: detail::URL::_getComponent
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - DebugInterface::generate_format_string
    - cripts::Url::host::GetSV
    - std::to_string
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view URL::_getComponent(cripts::Url &url)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - utype
    - comp
    argTypes:
    - Type
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    linkageType: ''
    returnType: void
    signature: void URL::URL(Type utype, const cripts::string_view &comp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:287,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:289,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:293,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:295,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:299,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:301,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:305,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:307,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:311,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:313,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:317,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:319,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: detail::URL::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - testsForEffectiveUrlStringGet
    - detail::URL::_getComponent
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view URL::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: detail::ID::ID
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ID(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~ID() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ID() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:57,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - id
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: detail::ID::ID
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void ID::ID(const cripts::string_view &id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:66,1
    - Dst: cripts::UUID::Process::_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:69,1
    - Dst: txn_error_get
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: detail::ID::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - txn_error_get
    - cripts::UUID::Process::_get
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view ID::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: detail::IP::IP
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ~IP() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IP() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:115,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: detail::IP::IP
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void IP::IP(const cripts::string_view &type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:124,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:125,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:128,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:129,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:132,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:133,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:136,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: detail::IP::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - auto::string
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view IP::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: detail::CIDR::CIDR
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CIDR(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~CIDR() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CIDR() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string_view::split_prefix_at
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:170,1
    - Dst: CAssert
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:172,1
    - Dst: std::from_chars
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: auto::size
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:174,1
    - Dst: std::errc
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:176,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:177,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:177,1
    - Dst: std::from_chars
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:180,1
    - Dst: std::errc
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:181,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:182,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cidr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: detail::CIDR::CIDR
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - std::from_chars
    - CFatal
    - auto::size
    - cripts::string_view::split_prefix_at
    - cripts::string_view::size
    - auto::data
    - std::errc
    - CAssert
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void CIDR::CIDR(cripts::string_view &cidr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:189,1
    - Dst: auto::string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: detail::CIDR::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - auto::string
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view CIDR::value(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: URL
    signature: URL operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const cripts::string_view &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ~URL() override
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~URL() override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::host::GetSV
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:229,1
    - Dst: DebugInterface::generate_format_string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:237,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:237,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - url
    argTypes:
    - cripts::Url
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: detail::URL::_getComponent
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 1
    functionsReached:
    - CFatal
    - DebugInterface::generate_format_string
    - cripts::Url::host::GetSV
    - std::to_string
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view URL::_getComponent(cripts::Url &url)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - utype
    - comp
    argTypes:
    - Type
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: detail::URL::URL
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    linkageType: ''
    returnType: void
    signature: void URL::URL(Type utype, const cripts::string_view &comp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:287,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:289,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:293,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:295,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:299,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:301,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:305,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:307,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:311,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:313,1
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:317,1
    - Dst: detail::URL::_getComponent
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:319,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: detail::URL::value
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - CFatal
    - testsForEffectiveUrlStringGet
    - detail::URL::_getComponent
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view URL::value(cripts::Context *context)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string_view::trim_if
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:337,1
    - Dst: std::isspace
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:337,1
    - Dst: cripts::string_view::starts_with
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:339,1
    - Dst: cripts::string_view::ends_with
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:339,1
    - Dst: cripts::string_view::remove_prefix_at
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:340,1
    - Dst: cripts::string_view::remove_suffix_at
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:341,1
    - Dst: cripts::string_view::take_prefix_at
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:343,1
    - Dst: detail::ID::ID
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:346,1
    - Dst: detail::IP::IP
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:348,1
    - Dst: detail::CIDR::CIDR
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:350,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:352,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:354,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:356,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:358,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:360,1
    - Dst: detail::URL::URL
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:362,1
    - Dst: TSError
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:365,1
    - Dst: auto::data
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:365,1
    - Dst: detail::HRWBridge::HRWBridge
      Src: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc:369,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - source
    argTypes:
    - cripts::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 370
    functionName: '*

      cripts::Bundle::Headers::BridgeFactory(const cripts::string &source)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/HRWBridge.cc
    functionUses: 0
    functionsReached:
    - cripts::string_view::remove_suffix_at
    - detail::ID::ID
    - TSError
    - cripts::string_view::trim_if
    - cripts::string_view::take_prefix_at
    - detail::HRWBridge::HRWBridge
    - detail::CIDR::CIDR
    - detail::URL::URL
    - std::isspace
    - cripts::string_view::ends_with
    - auto::data
    - detail::IP::IP
    - cripts::string_view::remove_prefix_at
    - cripts::string_view::starts_with
    linkageType: ''
    returnType: detail::HRWBridge
    signature: 'detail::HRWBridge *

      cripts::Bundle::Headers::BridgeFactory(const cripts::string &source)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config::http::cache::http::Set
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:31,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: cripts::Bundle::Caching::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Caching.cc
    functionUses: 0
    functionsReached:
    - config::http::cache::http::Set
    - CDebug
    linkageType: ''
    returnType: void
    signature: void Caching::doRemap(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:39,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:42,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: cripts::Bundle::Caching::doReadResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Caching.cc
    functionUses: 0
    functionsReached:
    - empty
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: void
    signature: void Caching::doReadResponse(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config::http::cache::http::Set
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:31,1
    - Dst: CDebug
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: cripts::Bundle::Caching::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Caching.cc
    functionUses: 0
    functionsReached:
    - config::http::cache::http::Set
    - CDebug
    linkageType: ''
    returnType: void
    signature: void Caching::doRemap(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:39,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:42,1
    - Dst: empty
      Src: /src/trafficserver/src/cripts/Bundles/Caching.cc:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: cripts::Bundle::Caching::doReadResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Caching.cc
    functionUses: 0
    functionsReached:
    - empty
    - testsForEffectiveUrlStringGet
    linkageType: ''
    returnType: void
    signature: void Caching::doReadResponse(cripts::Context *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - target
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: header_target
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderTargets
    signature: HeaderTargets header_target(const cripts::string_view &target)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - target
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: header_target
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderTargets
    signature: HeaderTargets header_target(const cripts::string_view &target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: header_target
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:58,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:61,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:65,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:69,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:73,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:76,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - target
    - headers
    argTypes:
    - cripts::string_view
    - HeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: '&

      Headers::rm_headers(const cripts::string_view target, const HeaderList &headers)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - rm_headers::insert
    - NeedCallback
    - CFatal
    - header_target
    - HeaderList::begin
    - rm_headers::end
    - HeaderList::end
    - cripts::string_view::data
    linkageType: ''
    returnType: Headers::self_type
    signature: 'Headers::self_type &

      Headers::rm_headers(const cripts::string_view target, const HeaderList &headers)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: header_target
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:87,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:90,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:94,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:98,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:102,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:105,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:105,1
    - Dst: detail::HeadersType::HeaderValueList*::reserve
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:108,1
    - Dst: HeaderValueList::size
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:108,1
    - Dst: detail::HeadersType::HeaderValueList*::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:110,1
    - Dst: Headers::BridgeFactory
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - target
    - headers
    argTypes:
    - cripts::string_view
    - HeaderValueList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 114
    functionName: '&

      Headers::set_headers(const cripts::string_view target, const HeaderValueList
      &headers)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - NeedCallback
    - HeaderValueList::size
    - CFatal
    - header_target
    - detail::HeadersType::HeaderValueList*::reserve
    - detail::HeadersType::HeaderValueList*::emplace_back
    - Headers::BridgeFactory
    - cripts::string_view::data
    linkageType: ''
    returnType: Headers::self_type
    signature: 'Headers::self_type &

      Headers::set_headers(const cripts::string_view target, const HeaderValueList
      &headers)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:119,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: cripts::Bundle::Headers::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doRemap(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:133,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Headers::doSendResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doSendResponse(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:147,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: cripts::Bundle::Headers::doSendRequest
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doSendRequest(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:161,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: cripts::Bundle::Headers::doReadResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doReadResponse(cripts::Context *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: header_target
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:58,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:60,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:61,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:64,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:65,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:68,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:69,1
    - Dst: rm_headers::insert
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: rm_headers::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: HeaderList::begin
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: HeaderList::end
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:72,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:73,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:76,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - target
    - headers
    argTypes:
    - cripts::string_view
    - HeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: '&

      Headers::rm_headers(const cripts::string_view target, const HeaderList &headers)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - rm_headers::insert
    - NeedCallback
    - CFatal
    - header_target
    - HeaderList::begin
    - rm_headers::end
    - HeaderList::end
    - cripts::string_view::data
    linkageType: ''
    returnType: Headers::self_type
    signature: 'Headers::self_type &

      Headers::rm_headers(const cripts::string_view target, const HeaderList &headers)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: header_target
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:87,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:90,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:94,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:98,1
    - Dst: NeedCallback
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:102,1
    - Dst: CFatal
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:105,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:105,1
    - Dst: detail::HeadersType::HeaderValueList*::reserve
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:108,1
    - Dst: HeaderValueList::size
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:108,1
    - Dst: detail::HeadersType::HeaderValueList*::emplace_back
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:110,1
    - Dst: Headers::BridgeFactory
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - target
    - headers
    argTypes:
    - cripts::string_view
    - HeaderValueList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 114
    functionName: '&

      Headers::set_headers(const cripts::string_view target, const HeaderValueList
      &headers)'
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - NeedCallback
    - HeaderValueList::size
    - CFatal
    - header_target
    - detail::HeadersType::HeaderValueList*::reserve
    - detail::HeadersType::HeaderValueList*::emplace_back
    - Headers::BridgeFactory
    - cripts::string_view::data
    linkageType: ''
    returnType: Headers::self_type
    signature: 'Headers::self_type &

      Headers::set_headers(const cripts::string_view target, const HeaderValueList
      &headers)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:119,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: cripts::Bundle::Headers::doRemap
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doRemap(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:133,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Headers::doSendResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doSendResponse(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:147,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: cripts::Bundle::Headers::doSendRequest
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doSendRequest(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testsForEffectiveUrlStringGet
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:161,1
    - Dst: second::value
      Src: /src/trafficserver/src/cripts/Bundles/Headers.cc:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: cripts::Bundle::Headers::doReadResponse
    functionSourceFile: /src/trafficserver/src/cripts/Bundles/Headers.cc
    functionUses: 0
    functionsReached:
    - testsForEffectiveUrlStringGet
    - second::value
    linkageType: ''
    returnType: void
    signature: void Headers::doReadResponse(cripts::Context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - UrlStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: operator<(const UrlStats &rhs) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const UrlStats &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator()(const char *s1, const char *s2) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char *s1, const char *s2) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32FNV1a::ATSHash32FNV1a
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:332,1
    - Dst: ATSHash32FNV1a::update
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:335,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:335,1
    - Dst: ATSHash32FNV1a::final
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:338,1
    - Dst: ATSHash32FNV1a::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: operator()(const char *s) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - ATSHash32FNV1a::get
    - ATSHash32FNV1a::ATSHash32FNV1a
    - strlen
    - ATSHash32FNV1a::final
    - ATSHash32FNV1a::update
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()(const char *s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::rehash
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container
    - size
    argTypes:
    - T
    - N
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: rehash
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - T::rehash
    linkageType: ''
    returnType: void
    signature: void rehash(T &container, N size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::_init
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:365,1
    - Dst: UrlLru::_reset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:366,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: UrlLru::UrlLru
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - begin
    - UrlLru::_reset
    - UrlLru::_init
    linkageType: ''
    returnType: void
    signature: void UrlLru(int size = 1000000, int show_urls = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::_init
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:377,1
    - Dst: UrlLru::_reset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:378,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: UrlLru::resize
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - begin
    - UrlLru::_reset
    - UrlLru::_init
    linkageType: ''
    returnType: void
    signature: void resize(int size = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:385,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:391,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:392,1
    - Dst: UrlLru::_dump_url
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:393,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:396,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:396,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:398,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: UrlLru::dump
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - sort
    - begin
    - static_cast<int>
    - ink_time_wall_seconds
    - UrlLru::_dump_url
    - size
    linkageType: ''
    returnType: void
    signature: void dump(int as_object = 0)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:405,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:407,1
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:425,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:458,1
    - Dst: splice
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:461,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:461,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:464,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:465,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:470,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:471,1
    - Dst: erase
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:472,1
    - Dst: UrlLru::_dump_url
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:475,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:480,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:480,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:482,1
    - Dst: UrlStats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:482,1
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:502,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:537,1
    - Dst: splice
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:542,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:542,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 5
    argNames:
    - url
    - bytes
    - time
    - result
    - http_code
    argTypes:
    - char*
    - int64_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 545
    functionName: UrlLru::add_stat
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - begin
    - ats_free
    - update_elapsed
    - erase
    - insert
    - splice
    - find
    - const_cast<char *>
    - UrlLru::_dump_url
    - ats_strdup
    - end
    - UrlStats
    - static_cast<SquidLogCode>
    linkageType: ''
    returnType: void
    signature: void add_stat(const char *url, int64_t bytes, int time, int result,
      int http_code, int as_object = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::resize
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:552,1
    - Dst: rehash
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: UrlLru::_init
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 2
    functionsReached:
    - rehash
    - UrlLru::resize
    linkageType: ''
    returnType: void
    signature: void _init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:560,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:560,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:562,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:562,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: UrlLru::_reset
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 2
    functionsReached:
    - begin
    - memset
    - ats_free
    - const_cast<char *>
    - end
    linkageType: ''
    returnType: void
    signature: void _reset(bool free = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:583,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:583,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:584,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - u
    - as_object
    argTypes:
    - LruStack::iterator
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 591
    functionName: UrlLru::_dump_url
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 2
    functionsReached:
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void _dump_url(LruStack::iterator &u, int as_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 636
    functionName: CommandLineArgs
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommandLineArgs()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: strstr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:678,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:684,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:688,1
    - Dst: unescapifyStr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:689,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:691,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:692,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:695,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:696,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:697,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:698,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:699,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:700,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:701,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:702,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:703,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:704,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:705,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:706,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:707,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:708,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:709,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:710,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 720
    functionName: CommandLineArgs::parse_arguments
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - unescapifyStr
    - ink_strlcpy
    - strtol
    - strstr
    - strtok_r
    - strchr
    - getenv
    - process_args
    - countof
    - strncmp
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void CommandLineArgs::parse_arguments(const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:734,1
    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: ExitStatus
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ExitStatus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - ExitLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: set
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 309
    functionsReached:
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void set(ExitLevel l, const char *n = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: append
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 14
    functionsReached:
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void append(const char *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:755,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: append
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 14
    functionsReached:
    - std::string::c_str
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void append(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - stats
    argTypes:
    - OriginStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 815
    functionName: init_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_elapsed(OriginStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - counter
    - size
    argTypes:
    - StatsCounter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: update_counter
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_counter(StatsCounter &counter, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:849,1
    - Dst: sqrt
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - stat
    - elapsed
    - counter
    argTypes:
    - ElapsedStats
    - int
    - StatsCounter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 869
    functionName: update_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - sqrt
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void update_elapsed(ElapsedStats &stat, const int elapsed, const StatsCounter
      &counter)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:876,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:878,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:879,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:880,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:881,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:884,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:885,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:886,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:887,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:890,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:891,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:892,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:893,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:896,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:897,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:898,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:899,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:902,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:903,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:904,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:905,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:908,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:909,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:910,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:911,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:914,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:915,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:916,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:917,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:920,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:921,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:922,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:923,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:930,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:931,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:932,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:933,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:938,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:939,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:940,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:941,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:944,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:945,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:948,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:949,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:952,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:953,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:956,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:957,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:960,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:961,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:965,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:966,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:968,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:969,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 97
    argCount: 4
    argNames:
    - stat
    - result
    - elapsed
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 973
    functionName: update_results_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - update_counter
    - update_elapsed
    - static_cast<SquidLogCode>
    linkageType: ''
    returnType: void
    signature: void update_results_elapsed(OriginStats *stat, int result, int elapsed,
      int size)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:982,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:987,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:990,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:993,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:996,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:999,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1002,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1005,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1010,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1013,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1016,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1019,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1022,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1025,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1028,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1033,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1036,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1039,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1042,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1045,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1048,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1051,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1054,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1057,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1060,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1063,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1066,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1069,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1072,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1075,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1078,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1081,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1084,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1089,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1092,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1095,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1098,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1101,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1104,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1111,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1113,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1115,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1117,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1119,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 136
    argCount: 3
    argNames:
    - stat
    - code
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1121
    functionName: update_codes
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_codes(OriginStats *stat, int code, int size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1131,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1135,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1139,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1143,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1147,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1151,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1155,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1159,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1163,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1167,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - stat
    - method
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1174
    functionName: update_methods
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_methods(OriginStats *stat, int method, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1182,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1184,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1186,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - stat
    - scheme
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1190
    functionName: update_schemes
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_schemes(OriginStats *stat, int scheme, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1198,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stat
    - ipv6
    - size
    argTypes:
    - OriginStats*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: update_protocols
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_protocols(OriginStats *stat, bool ipv6, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1216,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1217,1
    - Dst: static_cast<OriginStats *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1218,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1218,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1219,1
    - Dst: init_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1220,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1231
    functionName: find_or_create_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - memset
    - init_elapsed
    - find
    - ats_strdup
    - end
    - static_cast<OriginStats *>
    - ats_malloc
    - empty
    linkageType: ''
    returnType: OriginStats
    signature: 'OriginStats *

      find_or_create_stats(const char *key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_results_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1239,1
    - Dst: update_codes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1240,1
    - Dst: update_methods
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1241,1
    - Dst: update_schemes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1242,1
    - Dst: update_protocols
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1243,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1244,1
    - Dst: update_results_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1246,1
    - Dst: update_codes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1247,1
    - Dst: update_methods
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1248,1
    - Dst: update_schemes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1249,1
    - Dst: update_protocols
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1250,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 9
    argNames:
    - o_stats
    - method
    - scheme
    - http_code
    - size
    - result
    - hier
    - elapsed
    - ipv6
    argTypes:
    - OriginStats*
    - HTTPMethod
    - URLScheme
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1235
    functionDepth: 3
    functionLinenumber: 1235
    functionLinenumberEnd: 1253
    functionName: update_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - update_codes
    - update_methods
    - update_protocols
    - update_counter
    - update_schemes
    - update_results_elapsed
    linkageType: ''
    returnType: void
    signature: "void update_stats(OriginStats *o_stats, const HTTPMethod method, URLScheme
      scheme, int http_code, int size, int result,\n             [[maybe_unused]]
      int hier, int elapsed, bool ipv6)"
  - BBCount: 119
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::LogFieldList
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1281,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1282,1
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1284,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1284,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1289,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1292,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1293,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1296,1
    - Dst: LogBufferIterator::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1301,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1304,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1315,1
    - Dst: reinterpret_cast<LogFieldIp *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1327,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1336,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1373,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1376,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1380,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1384,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1388,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1391,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1392,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1394,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1396,1
    - Dst: isupper
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1403,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1411,1
    - Dst: add_stat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1419,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1425,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1430,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1434,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1436,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1442,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1447,1
    - Dst: find_or_create_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1452,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1459,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1461,1
    - Dst: update_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1463,1
    - Dst: find_or_create_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1472,1
    - Dst: update_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1474,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1478,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1480,1
    - Dst: static_cast<SquidHierarchyCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1487,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1489,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1491,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1495,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1497,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1501,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1503,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1507,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1509,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1513,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1515,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1519,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1520,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1521,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1523,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1526,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1528,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1539,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1541,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1547,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1548,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1550,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1553,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1556,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1558,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1563,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1565,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1570,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1572,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1577,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1579,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1584,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1586,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1590,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1591,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1593,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1597,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1599,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1601,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1603,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1607,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1609,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1614,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1616,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1621,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1623,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1628,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1630,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1635,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1637,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1641,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1642,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1644,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1648,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1650,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1652,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1654,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1657,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1659,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1664,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1666,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1671,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1673,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1677,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1679,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1681,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1683,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1685,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1687,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1690,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1691,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1693,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1698,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1700,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1702,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1704,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1706,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1708,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1711,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1712,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1714,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1718,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1720,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1721,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1723,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1725,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1725,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1726,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1728,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1730,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1730,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1731,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1733,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1736,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1738,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1743,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1745,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1748,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1749,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1751,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1754,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 463
    argCount: 1
    argNames:
    - buf_header
    argTypes:
    - LogBufferHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1257
    functionDepth: 4
    functionLinenumber: 1257
    functionLinenumberEnd: 1769
    functionName: parse_log_buff
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - update_counter
    - add_stat
    - strchr
    - find_or_create_stats
    - LogFieldList*::first
    - reinterpret_cast<LogFieldIp *>
    - static_cast<SquidHierarchyCode>
    - strncmp
    - LogFormat::parse_symbol_string
    - strcmp
    - update_stats
    - LogBufferHeader*::fmt_fieldlist
    - LogAccess::round_strlen
    - strlen
    - LogFieldList*::next
    - LogFieldList::LogFieldList
    - ink_assert
    - static_cast<int64_t>
    - INK_ALIGN_DEFAULT
    - LogField*::symbol
    - LogBufferIterator::next
    - reinterpret_cast<int *>
    - isupper
    linkageType: ''
    returnType: int
    signature: int parse_log_buff(LogBufferHeader *buf_header, bool summary = false,
      bool aggregate_per_userid = false)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1779,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1781,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1791,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1793,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1794,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1800,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1815,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1822,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1827,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1834,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1836,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1843,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1849,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1857,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1859,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1868,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1873,1
    - Dst: usleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1876,1
    - Dst: parse_log_buff
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1882,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1883,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1887,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 3
    argNames:
    - in_fd
    - offset
    - max_age
    argTypes:
    - int
    - off_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1773
    functionDepth: 5
    functionLinenumber: 1773
    functionLinenumberEnd: 1892
    functionName: process_file
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - lseek
    - read
    - Dbg
    - parse_log_buff
    - usleep
    linkageType: ''
    returnType: int
    signature: int process_file(int in_fd, off_t offset, unsigned max_age)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1902,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stat
    argTypes:
    - OriginStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1903
    functionName: use_origin
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int use_origin(const OriginStats *stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1911
    functionName: format_center
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - std::setw
    - std::setfill
    - strlen
    linkageType: ''
    returnType: void
    signature: void format_center(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: pow
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: log10
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: std::stringstream::fill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1921,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1924,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1927,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1927,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1934
    functionName: format_int
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - std::setw
    - static_cast<double>
    - std::stringstream::fill
    - log10
    - pow
    - std::stringstream::str
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void format_int(int64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1939,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1940,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1940,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1941,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1941,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1943
    functionName: format_elapsed_header
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: void
    signature: void format_elapsed_header()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1953,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1953,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1954,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1954,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1958,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1959,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1960,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1961,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1962,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - desc
    - stat
    - json
    - concise
    argTypes:
    - char*
    - ElapsedStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1945
    functionDepth: 2
    functionLinenumber: 1945
    functionLinenumberEnd: 1968
    functionName: format_elapsed_line
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - format_int
    - std::setw
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void format_elapsed_line(const char *desc, const ElapsedStats &stat,
      bool json, bool concise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1973,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1974,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1974,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1975,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1975,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1977
    functionName: format_detail_header
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: void
    signature: void format_detail_header(const char *desc, [[maybe_unused]] bool concise
      = false)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: log10
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1990,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1990,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1996,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1996,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2001,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2003,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2004,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2006,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2006,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: pow
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2012,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - desc
    - stat
    - total
    - json
    - concise
    argTypes:
    - char*
    - StatsCounter
    - StatsCounter
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 2015
    functionName: format_line
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - static_cast<double>
    - log10
    - snprintf
    - pow
    - format_int
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void format_line(const char *desc, const StatsCounter &stat, const
      StatsCounter &total, bool json, bool concise)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OriginPair
    - OriginPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2023
    functionName: operator<(const OriginPair &a, const OriginPair &b)
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const OriginPair &a, const OriginPair &b)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2030,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2033,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2034,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2035,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2036,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2037,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2038,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2039,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2045,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2046,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2047,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2048,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2049,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2055,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2056,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2058,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2059,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2060,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2061,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2062,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2066,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2070,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2073,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2075,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2076,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2077,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2078,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2079,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2080,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2081,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2082,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2088,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2089,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2090,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2091,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2092,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2093,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2094,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2095,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2101,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2102,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2103,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2104,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2105,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2106,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2107,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2108,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2109,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2110,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2111,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2112,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2113,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2114,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2115,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2116,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2117,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2118,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2119,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2125,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2126,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2127,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2128,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2129,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2130,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2131,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2137,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2143,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2146,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2147,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2148,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2149,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2150,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2151,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2152,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2158,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2161,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2162,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2163,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2164,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2165,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2166,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2167,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2168,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2169,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2170,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2171,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2177,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2180,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2181,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2182,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2183,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2189,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2192,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2193,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2199,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2202,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2203,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2204,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2205,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2206,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2207,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2208,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2214,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2215,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2216,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2217,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2218,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2219,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2225,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2226,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2227,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2228,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2234,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2236,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2238,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2240,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2241,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2243,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2245,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2247,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2254,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2255,1
    - Dst: format_elapsed_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2261,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2264,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2265,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2266,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2267,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2268,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2269,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2270,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2272,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2273,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2274,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2275,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2276,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2282,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 196
    argCount: 3
    argNames:
    - stat
    - json
    - concise
    argTypes:
    - OriginStats*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2284
    functionName: print_detail_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_time_wall_seconds
    - std::setfill
    - format_elapsed_line
    - std::setw
    - format_elapsed_header
    - format_line
    - format_detail_header
    linkageType: ''
    returnType: void
    signature: void print_detail_stats(const OriginStats *stat, bool json, bool concise)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2297,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2303,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2317,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2321,1
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2326,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2328,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2328,1
    - Dst: use_origin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2329,1
    - Dst: vector::push_back
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2330,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2337,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2338,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2339,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2340,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2341,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2345,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2345,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2346,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2347,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2348,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2349,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2350,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2351,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2352,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2361,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2365,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2368,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2369,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2376,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2376,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2385,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2388,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2389,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2398,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 1
    argNames:
    - status
    argTypes:
    - ExitStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2288
    functionDepth: 4
    functionLinenumber: 2288
    functionLinenumberEnd: 2399
    functionName: my_exit
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 2
    functionsReached:
    - begin
    - sort
    - vector::end
    - format_center
    - std::setfill
    - dump
    - std::setw
    - vector::push_back
    - my_exit
    - end
    - use_origin
    - vector::begin
    - format_int
    - empty
    - print_detail_stats
    linkageType: ''
    returnType: void
    signature: void my_exit(const ExitStatus &status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2406,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2410,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2411,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2411,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2415,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2418,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2424,1
    - Dst: posix_fadvise
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2428,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - status
    argTypes:
    - ExitStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2433
    functionName: open_main_log
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - sleep
    - std::string::append
    - posix_fadvise
    - ExitStatus::append
    - Layout::get
    - open
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int open_main_log(ExitStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - UrlStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: operator<(const UrlStats &rhs) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const UrlStats &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator()(const char *s1, const char *s2) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char *s1, const char *s2) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32FNV1a::ATSHash32FNV1a
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:332,1
    - Dst: ATSHash32FNV1a::update
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:335,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:335,1
    - Dst: ATSHash32FNV1a::final
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:338,1
    - Dst: ATSHash32FNV1a::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: operator()(const char *s) const
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - ATSHash32FNV1a::get
    - ATSHash32FNV1a::ATSHash32FNV1a
    - strlen
    - ATSHash32FNV1a::final
    - ATSHash32FNV1a::update
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()(const char *s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::rehash
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container
    - size
    argTypes:
    - T
    - N
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: rehash
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 3
    functionsReached:
    - T::rehash
    linkageType: ''
    returnType: void
    signature: void rehash(T &container, N size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::_init
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:365,1
    - Dst: UrlLru::_reset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:366,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: UrlLru::UrlLru
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - begin
    - UrlLru::_reset
    - UrlLru::_init
    linkageType: ''
    returnType: void
    signature: void UrlLru(int size = 1000000, int show_urls = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::_init
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:377,1
    - Dst: UrlLru::_reset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:378,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: UrlLru::resize
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - begin
    - UrlLru::_reset
    - UrlLru::_init
    linkageType: ''
    returnType: void
    signature: void resize(int size = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:385,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:391,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:392,1
    - Dst: UrlLru::_dump_url
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:393,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:396,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:396,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:398,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: UrlLru::dump
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - sort
    - begin
    - static_cast<int>
    - ink_time_wall_seconds
    - UrlLru::_dump_url
    - size
    linkageType: ''
    returnType: void
    signature: void dump(int as_object = 0)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:405,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:407,1
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:425,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:458,1
    - Dst: splice
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:461,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:461,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:464,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:465,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:470,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:471,1
    - Dst: erase
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:472,1
    - Dst: UrlLru::_dump_url
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:475,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:480,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:480,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:482,1
    - Dst: UrlStats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:482,1
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:502,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:537,1
    - Dst: splice
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:542,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:542,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 5
    argNames:
    - url
    - bytes
    - time
    - result
    - http_code
    argTypes:
    - char*
    - int64_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 545
    functionName: UrlLru::add_stat
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - begin
    - ats_free
    - update_elapsed
    - erase
    - insert
    - splice
    - find
    - const_cast<char *>
    - UrlLru::_dump_url
    - ats_strdup
    - end
    - UrlStats
    - static_cast<SquidLogCode>
    linkageType: ''
    returnType: void
    signature: void add_stat(const char *url, int64_t bytes, int time, int result,
      int http_code, int as_object = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlLru::resize
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:552,1
    - Dst: rehash
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: UrlLru::_init
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 4
    functionsReached:
    - rehash
    - UrlLru::resize
    linkageType: ''
    returnType: void
    signature: void _init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:560,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:560,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:562,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:562,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: UrlLru::_reset
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 4
    functionsReached:
    - begin
    - memset
    - ats_free
    - const_cast<char *>
    - end
    linkageType: ''
    returnType: void
    signature: void _reset(bool free = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:583,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:583,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:584,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - u
    - as_object
    argTypes:
    - LruStack::iterator
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 591
    functionName: UrlLru::_dump_url
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 4
    functionsReached:
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void _dump_url(LruStack::iterator &u, int as_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 636
    functionName: CommandLineArgs
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommandLineArgs()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:675,1
    - Dst: strstr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:678,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:684,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:688,1
    - Dst: unescapifyStr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:689,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:691,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:692,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:695,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:696,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:697,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:698,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:699,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:700,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:701,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:702,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:703,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:704,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:705,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:706,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:707,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:708,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:709,1
    - Dst: strtol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:710,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 720
    functionName: CommandLineArgs::parse_arguments
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - unescapifyStr
    - ink_strlcpy
    - strtol
    - strstr
    - strtok_r
    - strchr
    - getenv
    - process_args
    - countof
    - strncmp
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void CommandLineArgs::parse_arguments(const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:734,1
    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: ExitStatus
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ExitStatus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - ExitLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: set
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 314
    functionsReached:
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void set(ExitLevel l, const char *n = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: append
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 15
    functionsReached:
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void append(const char *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:755,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: append
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 15
    functionsReached:
    - std::string::c_str
    - ink_strlcat
    linkageType: ''
    returnType: void
    signature: void append(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - stats
    argTypes:
    - OriginStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 815
    functionName: init_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_elapsed(OriginStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - counter
    - size
    argTypes:
    - StatsCounter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: update_counter
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_counter(StatsCounter &counter, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:849,1
    - Dst: sqrt
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - stat
    - elapsed
    - counter
    argTypes:
    - ElapsedStats
    - int
    - StatsCounter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 869
    functionName: update_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 3
    functionsReached:
    - sqrt
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void update_elapsed(ElapsedStats &stat, const int elapsed, const StatsCounter
      &counter)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SquidLogCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:876,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:878,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:879,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:880,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:881,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:884,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:885,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:886,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:887,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:890,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:891,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:892,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:893,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:896,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:897,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:898,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:899,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:902,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:903,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:904,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:905,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:908,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:909,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:910,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:911,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:914,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:915,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:916,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:917,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:920,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:921,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:922,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:923,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:930,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:931,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:932,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:933,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:938,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:939,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:940,1
    - Dst: update_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:941,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:944,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:945,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:948,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:949,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:952,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:953,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:956,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:957,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:960,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:961,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:965,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:966,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:968,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:969,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 97
    argCount: 4
    argNames:
    - stat
    - result
    - elapsed
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 973
    functionName: update_results_elapsed
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - update_counter
    - update_elapsed
    - static_cast<SquidLogCode>
    linkageType: ''
    returnType: void
    signature: void update_results_elapsed(OriginStats *stat, int result, int elapsed,
      int size)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:982,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:987,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:990,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:993,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:996,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:999,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1002,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1005,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1010,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1013,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1016,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1019,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1022,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1025,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1028,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1033,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1036,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1039,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1042,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1045,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1048,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1051,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1054,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1057,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1060,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1063,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1066,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1069,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1072,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1075,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1078,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1081,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1084,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1089,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1092,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1095,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1098,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1101,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1104,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1111,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1113,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1115,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1117,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1119,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 136
    argCount: 3
    argNames:
    - stat
    - code
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1121
    functionName: update_codes
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_codes(OriginStats *stat, int code, int size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1131,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1135,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1139,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1143,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1147,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1151,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1155,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1159,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1163,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1167,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - stat
    - method
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1174
    functionName: update_methods
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_methods(OriginStats *stat, int method, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1182,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1184,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1186,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - stat
    - scheme
    - size
    argTypes:
    - OriginStats*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1190
    functionName: update_schemes
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_schemes(OriginStats *stat, int scheme, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1198,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stat
    - ipv6
    - size
    argTypes:
    - OriginStats*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: update_protocols
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - update_counter
    linkageType: ''
    returnType: void
    signature: void update_protocols(OriginStats *stat, bool ipv6, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1215,1
    - Dst: find
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1216,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1217,1
    - Dst: static_cast<OriginStats *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1218,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1218,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1219,1
    - Dst: init_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1220,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1231
    functionName: find_or_create_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - memset
    - init_elapsed
    - find
    - ats_strdup
    - end
    - static_cast<OriginStats *>
    - ats_malloc
    - empty
    linkageType: ''
    returnType: OriginStats
    signature: 'OriginStats *

      find_or_create_stats(const char *key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_results_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1239,1
    - Dst: update_codes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1240,1
    - Dst: update_methods
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1241,1
    - Dst: update_schemes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1242,1
    - Dst: update_protocols
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1243,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1244,1
    - Dst: update_results_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1246,1
    - Dst: update_codes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1247,1
    - Dst: update_methods
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1248,1
    - Dst: update_schemes
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1249,1
    - Dst: update_protocols
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1250,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 9
    argNames:
    - o_stats
    - method
    - scheme
    - http_code
    - size
    - result
    - hier
    - elapsed
    - ipv6
    argTypes:
    - OriginStats*
    - HTTPMethod
    - URLScheme
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1235
    functionDepth: 3
    functionLinenumber: 1235
    functionLinenumberEnd: 1253
    functionName: update_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - update_codes
    - update_methods
    - update_protocols
    - update_counter
    - update_schemes
    - update_results_elapsed
    linkageType: ''
    returnType: void
    signature: "void update_stats(OriginStats *o_stats, const HTTPMethod method, URLScheme
      scheme, int http_code, int size, int result,\n             [[maybe_unused]]
      int hier, int elapsed, bool ipv6)"
  - BBCount: 119
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::LogFieldList
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1281,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1282,1
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1284,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1284,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1289,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1292,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1293,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1296,1
    - Dst: LogBufferIterator::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1301,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1304,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1315,1
    - Dst: reinterpret_cast<LogFieldIp *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1327,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1336,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1373,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1376,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1380,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1384,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1388,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1391,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1392,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1394,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1396,1
    - Dst: isupper
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1403,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1411,1
    - Dst: add_stat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1419,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1425,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1430,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1434,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1436,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1442,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1447,1
    - Dst: find_or_create_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1452,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1459,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1461,1
    - Dst: update_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1463,1
    - Dst: find_or_create_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1472,1
    - Dst: update_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1474,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1478,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1480,1
    - Dst: static_cast<SquidHierarchyCode>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1487,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1489,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1491,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1495,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1497,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1501,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1503,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1507,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1509,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1513,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1515,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1519,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1520,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1521,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1523,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1526,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1528,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1539,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1541,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1547,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1548,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1550,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1553,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1556,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1558,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1563,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1565,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1570,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1572,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1577,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1579,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1584,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1586,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1590,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1591,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1593,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1597,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1599,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1601,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1603,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1607,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1609,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1614,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1616,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1621,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1623,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1628,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1630,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1635,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1637,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1641,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1642,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1644,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1648,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1650,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1652,1
    - Dst: reinterpret_cast<int *>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1654,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1657,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1659,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1664,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1666,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1671,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1673,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1677,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1679,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1681,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1683,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1685,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1687,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1690,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1691,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1693,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1698,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1700,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1702,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1704,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1706,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1708,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1711,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1712,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1714,1
    - Dst: strncmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1718,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1720,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1721,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1723,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1725,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1725,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1726,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1728,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1730,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1730,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1731,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1733,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1736,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1738,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1743,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1745,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1748,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1749,1
    - Dst: update_counter
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1751,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1754,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 463
    argCount: 1
    argNames:
    - buf_header
    argTypes:
    - LogBufferHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1257
    functionDepth: 4
    functionLinenumber: 1257
    functionLinenumberEnd: 1769
    functionName: parse_log_buff
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - LogAccess::strlen
    - update_counter
    - add_stat
    - strchr
    - find_or_create_stats
    - LogFieldList*::first
    - reinterpret_cast<LogFieldIp *>
    - static_cast<SquidHierarchyCode>
    - strncmp
    - LogFormat::parse_symbol_string
    - strcmp
    - update_stats
    - LogBufferHeader*::fmt_fieldlist
    - LogAccess::round_strlen
    - strlen
    - LogFieldList*::next
    - LogFieldList::LogFieldList
    - ink_assert
    - static_cast<int64_t>
    - INK_ALIGN_DEFAULT
    - LogField*::symbol
    - LogBufferIterator::next
    - reinterpret_cast<int *>
    - isupper
    linkageType: ''
    returnType: int
    signature: int parse_log_buff(LogBufferHeader *buf_header, bool summary = false,
      bool aggregate_per_userid = false)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1779,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1781,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1791,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1793,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1794,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1800,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1815,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1822,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1827,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1834,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1836,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1843,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1849,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1857,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1859,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1868,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1873,1
    - Dst: usleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1876,1
    - Dst: parse_log_buff
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1882,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1883,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1887,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 3
    argNames:
    - in_fd
    - offset
    - max_age
    argTypes:
    - int
    - off_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1773
    functionDepth: 5
    functionLinenumber: 1773
    functionLinenumberEnd: 1892
    functionName: process_file
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - lseek
    - read
    - Dbg
    - parse_log_buff
    - usleep
    linkageType: ''
    returnType: int
    signature: int process_file(int in_fd, off_t offset, unsigned max_age)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1902,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stat
    argTypes:
    - OriginStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1903
    functionName: use_origin
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int use_origin(const OriginStats *stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1911
    functionName: format_center
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - std::setw
    - std::setfill
    - strlen
    linkageType: ''
    returnType: void
    signature: void format_center(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: pow
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: log10
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1917,1
    - Dst: std::stringstream::fill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1921,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1924,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1927,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1927,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1934
    functionName: format_int
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - std::setw
    - static_cast<double>
    - std::stringstream::fill
    - log10
    - pow
    - std::stringstream::str
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void format_int(int64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1939,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1940,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1940,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1941,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1941,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1943
    functionName: format_elapsed_header
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: void
    signature: void format_elapsed_header()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1953,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1953,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1954,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1954,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1958,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1959,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1960,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1961,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1962,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1964,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - desc
    - stat
    - json
    - concise
    argTypes:
    - char*
    - ElapsedStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1945
    functionDepth: 2
    functionLinenumber: 1945
    functionLinenumberEnd: 1968
    functionName: format_elapsed_line
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - format_int
    - std::setw
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void format_elapsed_line(const char *desc, const ElapsedStats &stat,
      bool json, bool concise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1973,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1974,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1974,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1975,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1975,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1977
    functionName: format_detail_header
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: void
    signature: void format_detail_header(const char *desc, [[maybe_unused]] bool concise
      = false)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: log10
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1984,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1990,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1990,1
    - Dst: std::setiosflags
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1996,1
    - Dst: std::setprecision
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:1996,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2001,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2003,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2004,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2006,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2006,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: pow
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2009,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2012,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - desc
    - stat
    - total
    - json
    - concise
    argTypes:
    - char*
    - StatsCounter
    - StatsCounter
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 2015
    functionName: format_line
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::setw
    - static_cast<double>
    - log10
    - snprintf
    - pow
    - format_int
    - std::setprecision
    - std::setiosflags
    linkageType: ''
    returnType: void
    signature: void format_line(const char *desc, const StatsCounter &stat, const
      StatsCounter &total, bool json, bool concise)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OriginPair
    - OriginPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2023
    functionName: operator<(const OriginPair &a, const OriginPair &b)
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const OriginPair &a, const OriginPair &b)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2030,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2033,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2034,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2035,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2036,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2037,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2038,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2039,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2045,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2046,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2047,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2048,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2049,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2055,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2056,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2058,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2059,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2060,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2061,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2062,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2065,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2066,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2070,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2073,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2075,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2076,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2077,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2078,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2079,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2080,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2081,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2082,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2088,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2089,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2090,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2091,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2092,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2093,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2094,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2095,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2101,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2102,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2103,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2104,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2105,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2106,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2107,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2108,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2109,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2110,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2111,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2112,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2113,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2114,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2115,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2116,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2117,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2118,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2119,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2125,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2126,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2127,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2128,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2129,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2130,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2131,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2137,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2143,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2146,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2147,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2148,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2149,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2150,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2151,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2152,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2158,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2161,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2162,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2163,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2164,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2165,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2166,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2167,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2168,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2169,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2170,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2171,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2177,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2180,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2181,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2182,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2183,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2189,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2192,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2193,1
    - Dst: format_detail_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2199,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2202,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2203,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2204,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2205,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2206,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2207,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2208,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2214,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2215,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2216,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2217,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2218,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2219,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2225,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2226,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2227,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2228,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2234,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2236,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2238,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2240,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2241,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2243,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2245,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2247,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2254,1
    - Dst: format_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2255,1
    - Dst: format_elapsed_header
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2261,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2264,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2265,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2266,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2267,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2268,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2269,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2270,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2272,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2273,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2274,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2275,1
    - Dst: format_elapsed_line
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2276,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2280,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2282,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 196
    argCount: 3
    argNames:
    - stat
    - json
    - concise
    argTypes:
    - OriginStats*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2284
    functionName: print_detail_stats
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ink_time_wall_seconds
    - std::setfill
    - format_elapsed_line
    - std::setw
    - format_elapsed_header
    - format_line
    - format_detail_header
    linkageType: ''
    returnType: void
    signature: void print_detail_stats(const OriginStats *stat, bool json, bool concise)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2297,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2303,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2317,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2321,1
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2326,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2328,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2328,1
    - Dst: use_origin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2329,1
    - Dst: vector::push_back
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2330,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2333,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2337,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2338,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2339,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2340,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2341,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2342,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2345,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2345,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2346,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2347,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2348,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2349,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2350,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2351,1
    - Dst: format_int
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2352,1
    - Dst: std::setw
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: std::setfill
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2355,1
    - Dst: empty
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2361,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2365,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2368,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2369,1
    - Dst: vector::begin
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2376,1
    - Dst: vector::end
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2376,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2385,1
    - Dst: format_center
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2388,1
    - Dst: print_detail_stats
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2389,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2398,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 1
    argNames:
    - status
    argTypes:
    - ExitStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2288
    functionDepth: 4
    functionLinenumber: 2288
    functionLinenumberEnd: 2399
    functionName: my_exit
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 3
    functionsReached:
    - begin
    - sort
    - vector::end
    - format_center
    - std::setfill
    - dump
    - std::setw
    - vector::push_back
    - my_exit
    - end
    - use_origin
    - vector::begin
    - format_int
    - empty
    - print_detail_stats
    linkageType: ''
    returnType: void
    signature: void my_exit(const ExitStatus &status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2406,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2410,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2411,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2411,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2415,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2418,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2424,1
    - Dst: posix_fadvise
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2428,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - status
    argTypes:
    - ExitStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2433
    functionName: open_main_log
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 0
    functionsReached:
    - sleep
    - std::string::append
    - posix_fadvise
    - ExitStatus::append
    - Layout::get
    - open
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int open_main_log(ExitStatus &status)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2449,1
    - Dst: runroot_handler
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2451,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2453,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2455,1
    - Dst: init_elapsed
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2456,1
    - Dst: OriginSet::OriginSet
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2458,1
    - Dst: parse_arguments
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2462,1
    - Dst: gettimeofday
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2468,1
    - Dst: init_log_standalone_basic
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2475,1
    - Dst: Log::init
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2476,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2483,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2484,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2485,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2492,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2493,1
    - Dst: usage
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2495,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2495,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2496,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2499,1
    - Dst: getline
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2503,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2504,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2506,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2508,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2514,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2514,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2516,1
    - Dst: UrlLru::UrlLru
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2531,1
    - Dst: chdir
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2542,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2542,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2542,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2543,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2544,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2544,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2545,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2548,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2551,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2554,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2555,1
    - Dst: getpwuid
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2558,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2558,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2561,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2562,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2564,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2565,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2569,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2569,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2570,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2571,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2572,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2578,1
    - Dst: static_cast<off_t>
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2579,1
    - Dst: fcntl
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2581,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2585,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2588,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2589,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2595,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2596,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2600,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2604,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2607,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2608,1
    - Dst: open_main_log
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2619,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2620,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2621,1
    - Dst: fstat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2625,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2626,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2627,1
    - Dst: opendir
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2645,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2645,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2645,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2647,1
    - Dst: readdir
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2649,1
    - Dst: stat
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2651,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2652,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2653,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2655,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2658,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2659,1
    - Dst: process_file
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2663,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2664,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2665,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2667,1
    - Dst: process_file
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2682,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2683,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2688,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2690,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2696,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2697,1
    - Dst: write
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2699,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2700,1
    - Dst: fcntl
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2705,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2706,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2708,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2709,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2711,1
    - Dst: open_main_log
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2711,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2713,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2714,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2715,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2719,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2720,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2721,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2723,1
    - Dst: process_file
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2726,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2727,1
    - Dst: ExitStatus::set
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2728,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2729,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2730,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2732,1
    - Dst: ExitStatus::append
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2737,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logstats/logstats.cc:2739,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 214
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2439
    functionDepth: 9
    functionLinenumber: 2439
    functionLinenumberEnd: 2740
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_logstats/logstats.cc
    functionUses: 3
    functionsReached:
    - init_elapsed
    - UrlLru::UrlLru
    - static_cast<off_t>
    - insert
    - std::string::substr
    - stat
    - open_main_log
    - gettimeofday
    - AppVersionInfo::setup_version
    - fcntl
    - OriginSet::OriginSet
    - open
    - lseek
    - init_log_standalone_basic
    - process_file
    - std::string::append
    - strtok_r
    - Log::init
    - std::string::length
    - countof
    - usage
    - std::string::c_str
    - write
    - getline
    - read
    - readdir
    - close
    - my_exit
    - std::ifstream::open
    - std::string::find_first_of
    - parse_arguments
    - Layout::get
    - getpwuid
    - chdir
    - std::ifstream::is_open
    - memset
    - Layout::create
    - std::string::find_first_not_of
    - geteuid
    - sleep
    - ExitStatus::set
    - fstat
    - runroot_handler
    - ExitStatus::append
    - c_str
    - opendir
    - ats_stringdup
    - std::ifstream::eof
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:90,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: get_inode_num
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 0
    functionsReached:
    - perror
    - stat
    linkageType: ''
    returnType: ino_t
    signature: ino_t get_inode_num(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_inode_num
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:110,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:111,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:113,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - input_file
    - old_inode_num
    argTypes:
    - char*
    - ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: follow_rotate
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 0
    functionsReached:
    - strerror
    - get_inode_num
    - fprintf
    - open
    linkageType: ''
    returnType: int
    signature: int follow_rotate(const char *input_file, ino_t old_inode_num)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:132,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:133,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:142,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:150,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:157,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:163,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:171,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:179,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:185,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:188,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:198,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:207,1
    - Dst: LogFile::write_ascii_logbuffer
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - in_fd
    - out_fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 213
    functionName: process_file
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 1
    functionsReached:
    - memset
    - fprintf
    - LogBufferHeader*::fmt_fieldlist
    - read
    - Dbg
    - LogFile::write_ascii_logbuffer
    linkageType: ''
    returnType: int
    signature: int process_file(int in_fd, int out_fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:221,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:223,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:224,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:228,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:237,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:240,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - output_file_p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 246
    functionName: open_output_file
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 0
    functionsReached:
    - perror
    - fprintf
    - access
    - open
    linkageType: ''
    returnType: int
    signature: int open_output_file(char *output_file_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:90,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: get_inode_num
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 1
    functionsReached:
    - perror
    - stat
    linkageType: ''
    returnType: ino_t
    signature: ino_t get_inode_num(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_inode_num
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:110,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:111,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:113,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - input_file
    - old_inode_num
    argTypes:
    - char*
    - ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: follow_rotate
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 0
    functionsReached:
    - strerror
    - get_inode_num
    - fprintf
    - open
    linkageType: ''
    returnType: int
    signature: int follow_rotate(const char *input_file, ino_t old_inode_num)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:132,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:133,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:142,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:150,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:157,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:163,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:171,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:179,1
    - Dst: read
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:185,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:188,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:198,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:207,1
    - Dst: LogFile::write_ascii_logbuffer
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - in_fd
    - out_fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 213
    functionName: process_file
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 1
    functionsReached:
    - memset
    - fprintf
    - LogBufferHeader*::fmt_fieldlist
    - read
    - Dbg
    - LogFile::write_ascii_logbuffer
    linkageType: ''
    returnType: int
    signature: int process_file(int in_fd, int out_fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:221,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:223,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:224,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:228,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:237,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:240,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - output_file_p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 246
    functionName: open_output_file
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 0
    functionsReached:
    - perror
    - fprintf
    - access
    - open
    linkageType: ''
    returnType: int
    signature: int open_output_file(char *output_file_p)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:265,1
    - Dst: runroot_handler
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:267,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:269,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:273,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:273,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:278,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:279,1
    - Dst: init_log_standalone_basic
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:283,1
    - Dst: Log::init
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:285,1
    - Dst: open_output_file
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:291,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:294,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:304,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:305,1
    - Dst: open
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:308,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:310,1
    - Dst: perror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:311,1
    - Dst: posix_fadvise
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:319,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:320,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:320,1
    - Dst: posix_fadvise
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:325,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:326,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:326,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:332,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:335,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:338,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:340,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:341,1
    - Dst: open_output_file
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:344,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:345,1
    - Dst: lseek
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:353,1
    - Dst: get_inode_num
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:356,1
    - Dst: process_file
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:358,1
    - Dst: usleep
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:365,1
    - Dst: access
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:368,1
    - Dst: follow_rotate
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:371,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:377,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:378,1
    - Dst: get_inode_num
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:382,1
    - Dst: posix_fadvise
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:391,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:392,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:392,1
    - Dst: process_file
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:401,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_logcat/logcat.cc:407,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 254
    functionDepth: 9
    functionLinenumber: 254
    functionLinenumberEnd: 408
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_logcat/logcat.cc
    functionUses: 3
    functionsReached:
    - memcpy
    - get_inode_num
    - open_output_file
    - process_args
    - AppVersionInfo::setup_version
    - strerror
    - open
    - follow_rotate
    - fprintf
    - ats_free
    - lseek
    - init_log_standalone_basic
    - process_file
    - Log::init
    - countof
    - strcmp
    - close
    - my_exit
    - Dbg
    - strlen
    - usleep
    - Layout::create
    - perror
    - runroot_handler
    - posix_fadvise
    - ats_malloc
    - access
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:30,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:32,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:32,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:34,1
    - Dst: Continuation*::_run
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: atscppapi::Continuation::_generalEventFunc
    functionSourceFile: /src/trafficserver/src/tscpp/api/Continuation.cc
    functionUses: 0
    functionsReached:
    - static_cast<Continuation *>
    - TSReleaseAssert
    - TSContDataGet
    - Continuation*::_run
    linkageType: ''
    returnType: int
    signature: int Continuation::_generalEventFunc(TSCont cont, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:30,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:32,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:32,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:34,1
    - Dst: Continuation*::_run
      Src: /src/trafficserver/src/tscpp/api/Continuation.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: atscppapi::Continuation::_generalEventFunc
    functionSourceFile: /src/trafficserver/src/tscpp/api/Continuation.cc
    functionUses: 0
    functionsReached:
    - static_cast<Continuation *>
    - TSReleaseAssert
    - TSContDataGet
    - Continuation*::_run
    linkageType: ''
    returnType: int
    signature: int Continuation::_generalEventFunc(TSCont cont, TSEvent event, void
      *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:53,1
    - Dst: inflateInit2
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:55,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - TransformationPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: GzipInflateTransformationState
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached:
    - memset
    - LOG_ERROR
    - inflateInit2
    linkageType: ''
    returnType: void
    signature: void GzipInflateTransformationState(TransformationPlugin::Type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:66,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ~GzipInflateTransformationState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void ~GzipInflateTransformationState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GzipInflateTransformationState>
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - type
    argTypes:
    - Transaction
    - TransformationPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: GzipInflateTransformation::GzipInflateTransformation
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<GzipInflateTransformationState>
    linkageType: ''
    returnType: void
    signature: void GzipInflateTransformation::GzipInflateTransformation(Transaction
      &transaction, TransformationPlugin::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: GzipInflateTransformation::~GzipInflateTransformation()
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GzipInflateTransformation::~GzipInflateTransformation()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:85,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:90,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:96,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:100,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:100,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:100,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:101,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:105,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:110,1
    - Dst: inflate
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:114,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:117,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:122,1
    - Dst: produce
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:124,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 128
    functionName: GzipInflateTransformation::consume
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached:
    - inflate
    - LOG_ERROR
    - const_cast<char *>
    - std::string_view::length
    - produce
    - std::string_view::size
    - LOG_DEBUG
    - reinterpret_cast<unsigned char *>
    - std::string_view
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void GzipInflateTransformation::consume(std::string_view data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setOutputComplete
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:133,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: GzipInflateTransformation::handleInputComplete
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipInflateTransformation.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - setOutputComplete
    linkageType: ''
    returnType: void
    signature: void GzipInflateTransformation::handleInputComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::utils::internal::resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 1
    functionsReached:
    - atscppapi::utils::internal::resetTransactionHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction, TSEvent /* event
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - ats_txn_handle
    argTypes:
    - Transaction
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: cleanupTransaction
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    linkageType: ''
    returnType: void
    signature: void cleanupTransaction(Transaction &transaction, TSHttpTxn ats_txn_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransactionPlugin *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:63,1
    - Dst: utils::internal::getTransactionPluginMutex
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:64,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:66,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:69,1
    - Dst: std::shared_ptr::lock
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:70,1
    - Dst: std::shared_ptr::unlock
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - plugin
    - ats_txn_handle
    argTypes:
    - Plugin*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: cleanupTransactionPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::lock
    - LOG_ERROR
    - static_cast<TransactionPlugin *>
    - utils::internal::getTransactionPluginMutex
    - LOG_DEBUG
    - std::shared_ptr::unlock
    linkageType: ''
    returnType: void
    signature: void cleanupTransactionPlugin(Plugin *plugin, TSHttpTxn ats_txn_handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:79,1
    - Dst: utils::internal::getTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:80,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:81,1
    - Dst: atscppapi::utils::internal::setTransactionEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:84,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:97,1
    - Dst: resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:100,1
    - Dst: utils::internal::getTransactionPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:101,1
    - Dst: cleanupTransactionPlugin
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:103,1
    - Dst: cleanupTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:105,1
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:108,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: handleTransactionEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - cleanupTransactionPlugin
    - utils::internal::getTransactionPlugins
    - atscppapi::utils::internal::setTransactionEvent
    - cleanupTransaction
    - utils::internal::getTransaction
    - Transaction::getAtsHandle
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - resetTransactionHandles
    - TSHttpTxnReenable
    - assert
    linkageType: ''
    returnType: int
    signature: int handleTransactionEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:119,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:119,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:122,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:123,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:124,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:125,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:126,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:127,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: setupTransactionManagement
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookAdd
    - TSAssert
    - TSContCreate
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void setupTransactionManagement()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::getTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:133,1
    - Dst: Plugin*::handleReadRequestHeadersPreRemap
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:136,1
    - Dst: Plugin*::handleReadRequestHeadersPostRemap
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:139,1
    - Dst: Plugin*::handleSendRequestHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:142,1
    - Dst: Plugin*::handleReadResponseHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:145,1
    - Dst: Plugin*::handleSendResponseHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:148,1
    - Dst: Plugin*::handleOsDns
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:151,1
    - Dst: Plugin*::handleReadRequestHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:154,1
    - Dst: Plugin*::handleReadCacheHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:157,1
    - Dst: Plugin*::handleReadCacheLookupComplete
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:160,1
    - Dst: Plugin*::handleTxnClose
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:164,1
    - Dst: cleanupTransactionPlugin
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:165,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:167,1
    - Dst: cleanupTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - plugin
    - ats_txn_handle
    - event
    argTypes:
    - Plugin*
    - TSHttpTxn
    - TSEvent
    assertStmts:
    - condition: (false)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 175
    functionName: invokePluginForEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - cleanupTransactionPlugin
    - assert
    - Plugin*::handleReadCacheHeaders
    - Plugin*::handleTxnClose
    - LOG_ERROR
    - cleanupTransaction
    - Plugin*::handleReadCacheLookupComplete
    - utils::internal::getTransaction
    - Plugin*::handleOsDns
    - Plugin*::handleReadRequestHeadersPostRemap
    - Plugin*::handleSendResponseHeaders
    - Plugin*::handleReadResponseHeaders
    - Plugin*::handleReadRequestHeadersPreRemap
    - Plugin*::handleReadRequestHeaders
    - Plugin*::handleSendRequestHeaders
    linkageType: ''
    returnType: void
    signature: void invokePluginForEvent(Plugin *plugin, TSHttpTxn ats_txn_handle,
      TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::utils::internal::resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 3
    functionsReached:
    - atscppapi::utils::internal::resetTransactionHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction, TSEvent /* event
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - ats_txn_handle
    argTypes:
    - Transaction
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: cleanupTransaction
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 2
    functionsReached:
    - TSUserArgSet
    linkageType: ''
    returnType: void
    signature: void cleanupTransaction(Transaction &transaction, TSHttpTxn ats_txn_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransactionPlugin *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:63,1
    - Dst: utils::internal::getTransactionPluginMutex
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:64,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:66,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:69,1
    - Dst: std::shared_ptr::lock
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:70,1
    - Dst: std::shared_ptr::unlock
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - plugin
    - ats_txn_handle
    argTypes:
    - Plugin*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: cleanupTransactionPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr::lock
    - LOG_ERROR
    - static_cast<TransactionPlugin *>
    - utils::internal::getTransactionPluginMutex
    - LOG_DEBUG
    - std::shared_ptr::unlock
    linkageType: ''
    returnType: void
    signature: void cleanupTransactionPlugin(Plugin *plugin, TSHttpTxn ats_txn_handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:79,1
    - Dst: utils::internal::getTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:80,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:81,1
    - Dst: atscppapi::utils::internal::setTransactionEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:84,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:90,1
    - Dst: resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:97,1
    - Dst: resetTransactionHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:100,1
    - Dst: utils::internal::getTransactionPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:101,1
    - Dst: cleanupTransactionPlugin
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:103,1
    - Dst: cleanupTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:105,1
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:108,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: handleTransactionEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - cleanupTransactionPlugin
    - utils::internal::getTransactionPlugins
    - atscppapi::utils::internal::setTransactionEvent
    - cleanupTransaction
    - utils::internal::getTransaction
    - Transaction::getAtsHandle
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - resetTransactionHandles
    - TSHttpTxnReenable
    - assert
    linkageType: ''
    returnType: int
    signature: int handleTransactionEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:119,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:119,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:122,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:123,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:124,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:125,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:126,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:127,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: setupTransactionManagement
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookAdd
    - TSAssert
    - TSContCreate
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void setupTransactionManagement()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::getTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:133,1
    - Dst: Plugin*::handleReadRequestHeadersPreRemap
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:136,1
    - Dst: Plugin*::handleReadRequestHeadersPostRemap
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:139,1
    - Dst: Plugin*::handleSendRequestHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:142,1
    - Dst: Plugin*::handleReadResponseHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:145,1
    - Dst: Plugin*::handleSendResponseHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:148,1
    - Dst: Plugin*::handleOsDns
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:151,1
    - Dst: Plugin*::handleReadRequestHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:154,1
    - Dst: Plugin*::handleReadCacheHeaders
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:157,1
    - Dst: Plugin*::handleReadCacheLookupComplete
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:160,1
    - Dst: Plugin*::handleTxnClose
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:164,1
    - Dst: cleanupTransactionPlugin
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:165,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:167,1
    - Dst: cleanupTransaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - plugin
    - ats_txn_handle
    - event
    argTypes:
    - Plugin*
    - TSHttpTxn
    - TSEvent
    assertStmts:
    - condition: (false)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 175
    functionName: invokePluginForEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - cleanupTransactionPlugin
    - assert
    - Plugin*::handleReadCacheHeaders
    - Plugin*::handleTxnClose
    - LOG_ERROR
    - cleanupTransaction
    - Plugin*::handleReadCacheLookupComplete
    - utils::internal::getTransaction
    - Plugin*::handleOsDns
    - Plugin*::handleReadRequestHeadersPostRemap
    - Plugin*::handleSendResponseHeaders
    - Plugin*::handleReadResponseHeaders
    - Plugin*::handleReadRequestHeadersPreRemap
    - Plugin*::handleReadRequestHeaders
    - Plugin*::handleSendRequestHeaders
    linkageType: ''
    returnType: void
    signature: void invokePluginForEvent(Plugin *plugin, TSHttpTxn ats_txn_handle,
      TSEvent event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Transaction *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:182,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:182,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:184,1
    - Dst: Transaction::Transaction
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:184,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:185,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ats_txn_handle
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: '&

      utils::internal::getTransaction(TSHttpTxn ats_txn_handle)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSUserArgSet
    - Transaction::Transaction
    - static_cast<Transaction *>
    - LOG_DEBUG
    - TSUserArgGet
    linkageType: ''
    returnType: Transaction
    signature: 'Transaction &

      utils::internal::getTransaction(TSHttpTxn ats_txn_handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionPlugin::getMutex
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction_plugin
    - txnp
    argTypes:
    - TransactionPlugin
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: utils::internal::getTransactionPluginMutex(TransactionPlugin &transaction_plugin,
      TSHttpTxn txnp)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TransactionPlugin::getMutex
    linkageType: ''
    returnType: std::shared_ptr<Mutex>
    signature: std::shared_ptr<Mutex> utils::internal::getTransactionPluginMutex(TransactionPlugin
      &transaction_plugin, TSHttpTxn txnp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:224,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - hooktype
    argTypes:
    - Plugin::HookType
    assertStmts:
    - condition: (false)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: utils::internal::convertInternalHookToTsHook(Plugin::HookType hooktype)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpHookID>
    - assert
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID utils::internal::convertInternalHookToTsHook(Plugin::HookType
      hooktype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:243,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - TransformationPlugin::Type
    assertStmts:
    - condition: (false)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: utils::internal::convertInternalTransformationTypeToTsHook(TransformationPlugin::Type
      type)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpHookID>
    - assert
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID utils::internal::convertInternalTransformationTypeToTsHook(TransformationPlugin::Type
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionPlugin*::getMutex
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:252,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:253,1
    - Dst: static_cast<Plugin *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - ats_txn_handle
    - event
    argTypes:
    - TransactionPlugin*
    - TSHttpTxn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: utils::internal::invokePluginForEvent(TransactionPlugin *plugin,
      TSHttpTxn ats_txn_handle, TSEvent event)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - invokePluginForEvent
    - static_cast<Plugin *>
    - TransactionPlugin*::getMutex
    linkageType: ''
    returnType: void
    signature: void utils::internal::invokePluginForEvent(TransactionPlugin *plugin,
      TSHttpTxn ats_txn_handle, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:259,1
    - Dst: static_cast<Plugin *>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - ats_txn_handle
    - event
    argTypes:
    - GlobalPlugin*
    - TSHttpTxn
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: utils::internal::invokePluginForEvent(GlobalPlugin *plugin, TSHttpTxn
      ats_txn_handle, TSEvent event)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - invokePluginForEvent
    - static_cast<Plugin *>
    linkageType: ''
    returnType: void
    signature: void utils::internal::invokePluginForEvent(GlobalPlugin *plugin, TSHttpTxn
      ats_txn_handle, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:268,1
    - Dst: TSHttpAltInfoClientReqGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:270,1
    - Dst: TSHttpAltInfoCachedReqGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:273,1
    - Dst: TSHttpAltInfoCachedRespGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:276,1
    - Dst: Response::Response
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:277,1
    - Dst: Response::init
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:278,1
    - Dst: GlobalPlugin*::handleSelectAlt
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - plugin
    - altinfo_handle
    - event
    argTypes:
    - GlobalPlugin*
    - TSHttpAltInfo
    - TSEvent
    assertStmts:
    - condition: (event == TS_EVENT_HTTP_SELECT_ALT)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/src/tscpp/api/utils_internal.cc
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: utils::internal::invokePluginForEvent(GlobalPlugin *plugin, TSHttpAltInfo
      altinfo_handle, [[maybe_unused]] TSEvent event)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - Response::Response
    - Response::init
    - TSHttpAltInfoCachedReqGet
    - GlobalPlugin*::handleSelectAlt
    - TSHttpAltInfoCachedRespGet
    - TSHttpAltInfoClientReqGet
    - assert
    linkageType: ''
    returnType: void
    signature: void utils::internal::invokePluginForEvent(GlobalPlugin *plugin, TSHttpAltInfo
      altinfo_handle, [[maybe_unused]] TSEvent event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:287,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:292,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:296,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:298,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:299,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:301,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:304,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: utils::internal::consumeFromTSIOBufferReader(TSIOBufferReader reader)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - std::string::reserve
    - TSIOBufferReaderConsume
    - LOG_ERROR
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string utils::internal::consumeFromTSIOBufferReader(TSIOBufferReader
      reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:315,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:317,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:317,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:320,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:320,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:323,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:323,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:326,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - hdr_buf
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: utils::internal::getHttpVersion(TSMBuffer hdr_buf, TSMLoc hdr_loc)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrVersionGet
    - LOG_ERROR
    - TS_HTTP_MAJOR
    - TS_HTTP_MINOR
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion utils::internal::getHttpVersion(TSMBuffer hdr_buf, TSMLoc
      hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/trafficserver/src/tscpp/api/utils_internal.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: utils::internal::initTransactionManagement()
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.cc
    functionUses: 0
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: void
    signature: void utils::internal::initTransactionManagement()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:53,1
    - Dst: deflateInit2
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:54,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - TransformationPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: GzipDeflateTransformationState
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached:
    - memset
    - deflateInit2
    - LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void GzipDeflateTransformationState(TransformationPlugin::Type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ~GzipDeflateTransformationState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached:
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ~GzipDeflateTransformationState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GzipDeflateTransformationState>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - type
    argTypes:
    - Transaction
    - TransformationPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: GzipDeflateTransformation::GzipDeflateTransformation
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<GzipDeflateTransformationState>
    linkageType: ''
    returnType: void
    signature: void GzipDeflateTransformation::GzipDeflateTransformation(Transaction
      &transaction, TransformationPlugin::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: GzipDeflateTransformation::~GzipDeflateTransformation()
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GzipDeflateTransformation::~GzipDeflateTransformation()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:82,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:87,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:93,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:93,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:93,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:94,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:98,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:98,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:102,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:102,1
    - Dst: deflate
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:108,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:110,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:110,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:118,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:118,1
    - Dst: produce
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:120,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:120,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:120,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:120,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 128
    functionName: GzipDeflateTransformation::consume
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - const_cast<char *>
    - std::string_view::length
    - produce
    - deflate
    - std::string_view::size
    - LOG_DEBUG
    - reinterpret_cast<char *>
    - reinterpret_cast<unsigned char *>
    - static_cast<size_t>
    - std::string_view
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void GzipDeflateTransformation::consume(std::string_view data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:141,1
    - Dst: deflate
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:146,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:152,1
    - Dst: produce
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:154,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:154,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:154,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:154,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:156,1
    - Dst: setOutputComplete
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:160,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 165
    functionName: GzipDeflateTransformation::handleInputComplete
    functionSourceFile: /src/trafficserver/src/tscpp/api/GzipDeflateTransformation.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - produce
    - deflate
    - reinterpret_cast<char *>
    - LOG_DEBUG
    - setOutputComplete
    - static_cast<size_t>
    - std::string_view
    linkageType: ''
    returnType: void
    signature: void GzipDeflateTransformation::handleInputComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: LOG_DEBUG
    functionSourceFile: /src/trafficserver/src/tscpp/api/logging_internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_DEBUG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: LOG_ERROR
    functionSourceFile: /src/trafficserver/src/tscpp/api/logging_internal.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_ERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutex::Mutex
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ats_txn_handle
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TransactionPluginState
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - Mutex::Mutex
    linkageType: ''
    returnType: void
    signature: void TransactionPluginState(TSHttpTxn ats_txn_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:50,1
    - Dst: static_cast<TransactionPlugin *>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:51,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:51,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:52,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: handleTransactionPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<TransactionPlugin *>
    - LOG_DEBUG
    - invokePluginForEvent
    - static_cast<TSHttpTxn>
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int handleTransactionPluginEvents(TSCont cont, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:50,1
    - Dst: static_cast<TransactionPlugin *>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:51,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:51,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:52,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: handleTransactionPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<TransactionPlugin *>
    - LOG_DEBUG
    - invokePluginForEvent
    - static_cast<TSHttpTxn>
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int handleTransactionPluginEvents(TSCont cont, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TransactionPluginState>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:61,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:61,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:61,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:63,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:64,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:64,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: TransactionPlugin::TransactionPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSContDataSet
    - Transaction::getAtsHandle
    - LOG_DEBUG
    - TSContCreate
    - static_cast<TSHttpTxn>
    - std::make_unique<TransactionPluginState>
    linkageType: ''
    returnType: void
    signature: void TransactionPlugin::TransactionPlugin(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: TransactionPlugin::getMutex
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Mutex>
    signature: std::shared_ptr<Mutex> TransactionPlugin::getMutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: TransactionPlugin::getMutex
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Mutex>
    signature: std::shared_ptr<Mutex> TransactionPlugin::getMutex(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsWebsocket
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: TransactionPlugin::isWebsocket
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsWebsocket
    linkageType: ''
    returnType: bool
    signature: bool TransactionPlugin::isWebsocket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:88,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: TransactionPlugin::~TransactionPlugin()
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void TransactionPlugin::~TransactionPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:95,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:96,1
    - Dst: atscppapi::utils::internal::convertInternalHookToTsHook
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:97,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hook_type
    argTypes:
    - Plugin::HookType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: TransactionPlugin::registerHook
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransactionPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - atscppapi::utils::internal::convertInternalHookToTsHook
    - LOG_DEBUG
    - c_str
    linkageType: ''
    returnType: void
    signature: void TransactionPlugin::registerHook(Plugin::HookType hook_type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapPlugin *>
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:33,1
    - Dst: utils::internal::getTransaction
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:34,1
    - Dst: RemapPlugin*::remapTransaction
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:35,1
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts:
    - condition: (!"Unhandled result")
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/src/tscpp/api/RemapPlugin.cc
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/tscpp/api/RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - utils::internal::getTransaction
    - RemapPlugin*::remapTransaction
    - assert
    - static_cast<RemapPlugin *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapPlugin *>
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/src/tscpp/api/RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<RemapPlugin *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/tscpp/api/RemapPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::initTransactionManagement
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:68,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/RemapPlugin.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance_handle
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: RemapPlugin::RemapPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - utils::internal::initTransactionManagement
    linkageType: ''
    returnType: void
    signature: void RemapPlugin::RemapPlugin(void **instance_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ClientRequestState
    functionSourceFile: /src/trafficserver/src/tscpp/api/ClientRequest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientRequestState(TSHttpTxn txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientRequestState>
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:44,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ats_txn_handle
    - hdr_buf
    - hdr_loc
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: atscppapi::ClientRequest::ClientRequest(void *ats_txn_handle, void
      *hdr_buf, void *hdr_loc)
    functionSourceFile: /src/trafficserver/src/tscpp/api/ClientRequest.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpTxn>
    - std::make_unique<ClientRequestState>
    linkageType: ''
    returnType: void
    signature: void atscppapi::ClientRequest::ClientRequest(void *ats_txn_handle,
      void *hdr_buf, void *hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:51,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: atscppapi::ClientRequest::~ClientRequest()
    functionSourceFile: /src/trafficserver/src/tscpp/api/ClientRequest.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void atscppapi::ClientRequest::~ClientRequest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:61,1
    - Dst: pristine_url_::init
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:64,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:65,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:67,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/ClientRequest.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: '&

      atscppapi::ClientRequest::getPristineUrl() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/ClientRequest.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - LOG_DEBUG
    - TSHttpTxnPristineUrlGet
    - pristine_url_::init
    linkageType: ''
    returnType: Url
    signature: 'Url &

      atscppapi::ClientRequest::getPristineUrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - txn
    - client_request_hdr_buf
    - client_request_hdr_loc
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: TransactionState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionState(TSHttpTxn txn, TSMBuffer client_request_hdr_buf,
      TSMLoc client_request_hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:87,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:90,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:92,1
    - Dst: std::make_unique<TransactionState>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:95,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - raw_txn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: Transaction::Transaction
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 1
    functionsReached:
    - LOG_ERROR
    - std::make_unique<TransactionState>
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: void
    signature: void Transaction::Transaction(void *raw_txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: Transaction::~Transaction()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void Transaction::~Transaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Transaction::setEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Transaction::setEvent(TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:114,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Transaction::configIntSet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSMgmtInt>
    - TSHttpTxnConfigIntSet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configIntSet(TSOverridableConfigKey conf, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:119,1
    - Dst: reinterpret_cast<TSMgmtInt *>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Transaction::configIntGet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigIntGet
    - reinterpret_cast<TSMgmtInt *>
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configIntGet(TSOverridableConfigKey conf, int *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:125,1
    - Dst: static_cast<TSMgmtFloat>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: Transaction::configFloatSet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSMgmtFloat>
    - TSHttpTxnConfigFloatSet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configFloatSet(TSOverridableConfigKey conf, float
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Transaction::configFloatGet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigFloatGet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configFloatGet(TSOverridableConfigKey conf, float
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:137,1
    - Dst: const_cast<TSMgmtString>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:137,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:137,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Transaction::configStringSet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - TSHttpTxnConfigStringSet
    - const_cast<TSMgmtString>
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configStringSet(TSOverridableConfigKey conf, std::string
      const &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:145,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:147,1
    - Dst: std::string::clear
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - value
    argTypes:
    - TSOverridableConfigKey
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: Transaction::configStringGet
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::clear
    - TSHttpTxnConfigStringGet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configStringGet(TSOverridableConfigKey conf, std::string
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:157,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:157,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - conf
    - type
    argTypes:
    - std::string
    - TSOverridableConfigKey*
    - TSRecordDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Transaction::configFind
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - TSHttpTxnConfigFind
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool Transaction::configFind(std::string const &name, TSOverridableConfigKey
      *conf, TSRecordDataType *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:163,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: Transaction::resume
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSEvent>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: void
    signature: void Transaction::resume()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:169,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:170,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: Transaction::error
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSEvent>
    - LOG_DEBUG
    - TSHttpTxnReenable
    linkageType: ''
    returnType: void
    signature: void Transaction::error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::setErrorBody
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:176,1
    - Dst: Transaction::error
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: Transaction::error
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 1
    functionsReached:
    - Transaction::error
    - Transaction::setErrorBody
    linkageType: ''
    returnType: void
    signature: void Transaction::error(const std::string &page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:183,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:183,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:184,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:184,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:184,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:185,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:185,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:185,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:186,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - page
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Transaction::setErrorBody
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - std::string::data
    - static_cast<char *>
    - LOG_DEBUG
    - TSmalloc
    - std::string::length
    - TSHttpTxnErrorBodySet
    linkageType: ''
    returnType: void
    signature: void Transaction::setErrorBody(const std::string &page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:192,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:192,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:193,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:193,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:193,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:194,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:194,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:194,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:195,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:195,1
    - Dst: TSstrdup
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:195,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - page
    - mimetype
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: Transaction::setErrorBody
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - TSstrdup
    - std::string::data
    - static_cast<char *>
    - LOG_DEBUG
    - TSmalloc
    - std::string::length
    - TSHttpTxnErrorBodySet
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Transaction::setErrorBody(const std::string &page, const std::string
      &mimetype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:201,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:202,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - HttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: Transaction::setStatusCode
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - TSHttpTxnStatusSet
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void Transaction::setStatusCode(HttpStatus code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: Transaction::isInternalRequest
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    linkageType: ''
    returnType: bool
    signature: bool Transaction::isInternalRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Transaction::getAtsHandle
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 3
    functionsReached:
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: 'void *

      Transaction::getAtsHandle() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: '&

      Transaction::getPlugins() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<atscppapi::TransactionPlugin *>
    signature: 'std::list<atscppapi::TransactionPlugin *> &

      Transaction::getPlugins() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:226,1
    - Dst: plugins_::push_back
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - TransactionPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Transaction::addPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - plugins_::push_back
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void Transaction::addPlugin(TransactionPlugin *plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: context_values_::find
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:234,1
    - Dst: context_values_::end
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: Transaction::getContextValue
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - context_values_::end
    - context_values_::find
    linkageType: ''
    returnType: std::shared_ptr<Transaction::ContextValue>
    signature: std::shared_ptr<Transaction::ContextValue> Transaction::getContextValue(const
      std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::shared_ptr<Transaction::ContextValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Transaction::setContextValue
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Transaction::setContextValue(const std::string &key, std::shared_ptr<Transaction::ContextValue>
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: '&

      Transaction::getClientRequest()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientRequest
    signature: 'ClientRequest &

      Transaction::getClientRequest()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:260,1
    - Dst: string::assign
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:262,1
    - Dst: TSfree
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: Transaction::getEffectiveUrl
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnEffectiveUrlStringGet
    - TSfree
    - string::assign
    linkageType: ''
    returnType: string
    signature: string Transaction::getEffectiveUrl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:275,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:275,1
    - Dst: string::length
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache_url
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: Transaction::setCacheUrl
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - string::length
    - TSCacheUrlSet
    - string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Transaction::setCacheUrl(const string &cache_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: Transaction::setSkipRemapping
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void Transaction::setSkipRemapping(int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: Transaction::getIncomingAddress
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Transaction::getIncomingAddress() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: Transaction::getClientAddress
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Transaction::getClientAddress() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnNextHopAddrGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: Transaction::getNextHopAddress
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnNextHopAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Transaction::getNextHopAddress() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: Transaction::getServerAddress
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Transaction::getServerAddress() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerAddrSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockaddress
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: Transaction::setServerAddress
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerAddrSet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::setServerAddress(const sockaddr *sockaddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientIncomingPortSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: Transaction::setIncomingPort
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientIncomingPortSet
    linkageType: ''
    returnType: bool
    signature: bool Transaction::setIncomingPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:331,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: Transaction::getServerResponseBodySize
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerRespBodyBytesGet
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Transaction::getServerResponseBodySize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:337,1
    - Dst: TSHttpTxnServerRespHdrBytesGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: Transaction::getServerResponseHeaderSize
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - TSHttpTxnServerRespHdrBytesGet
    linkageType: ''
    returnType: size_t
    signature: size_t Transaction::getServerResponseHeaderSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:343,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Transaction::getClientResponseBodySize
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - TSHttpTxnClientRespBodyBytesGet
    linkageType: ''
    returnType: size_t
    signature: size_t Transaction::getClientResponseBodySize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:349,1
    - Dst: TSHttpTxnClientRespHdrBytesGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: Transaction::getClientResponseHeaderSize
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - TSHttpTxnClientRespHdrBytesGet
    linkageType: ''
    returnType: size_t
    signature: size_t Transaction::getClientResponseHeaderSize()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnDNSTimeoutSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:357,1
    - Dst: TSHttpTxnConnectTimeoutSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:360,1
    - Dst: TSHttpTxnNoActivityTimeoutSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:363,1
    - Dst: TSHttpTxnActiveTimeoutSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - type
    - time_ms
    argTypes:
    - Transaction::TimeoutType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 371
    functionName: Transaction::setTimeout
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConnectTimeoutSet
    - TSHttpTxnNoActivityTimeoutSet
    - TSHttpTxnDNSTimeoutSet
    - TSHttpTxnActiveTimeoutSet
    linkageType: ''
    returnType: void
    signature: void Transaction::setTimeout(Transaction::TimeoutType type, int time_ms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 394
    functionName: Transaction::getCacheStatus
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    linkageType: ''
    returnType: Transaction::CacheStatus
    signature: Transaction::CacheStatus Transaction::getCacheStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:400,1
    - Dst: TSmalloc
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:400,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:400,1
    - Dst: memcpy
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:401,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:401,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:401,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:402,1
    - Dst: TSHttpTxnRedirectUrlSet
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:403,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: Transaction::redirectTo
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnRedirectUrlSet
    - memcpy
    - std::string::size
    - static_cast<char *>
    - TSmalloc
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Transaction::redirectTo(std::string const &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - getter
    argTypes:
    - GetterFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: initializeHandles::initializeHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initializeHandles(GetterFunction getter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter_
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:428,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - txn
    - hdr_buf
    - hdr_loc
    - handles_name
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: operator()(TSHttpTxn txn, TSMBuffer &hdr_buf, TSMLoc &hdr_loc, const
      char *handles_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - getter_
    linkageType: ''
    returnType: bool
    signature: bool operator()(TSHttpTxn txn, TSMBuffer &hdr_buf, TSMLoc &hdr_loc,
      const char *handles_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - getter
    argTypes:
    - GetterFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: initializeHandles::initializeHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initializeHandles(GetterFunction getter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getter_
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:428,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - txn
    - hdr_buf
    - hdr_loc
    - handles_name
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: operator()(TSHttpTxn txn, TSMBuffer &hdr_buf, TSMLoc &hdr_loc, const
      char *handles_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - getter_
    linkageType: ''
    returnType: bool
    signature: bool operator()(TSHttpTxn txn, TSMBuffer &hdr_buf, TSMLoc &hdr_loc,
      const char *handles_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeServerRequestHandles
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:447,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:449,1
    - Dst: server_request_::init
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: '&

      Transaction::getServerRequest()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - server_request_::init
    - initializeServerRequestHandles
    - LOG_DEBUG
    linkageType: ''
    returnType: Request
    signature: 'Request &

      Transaction::getServerRequest()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeServerResponseHandles
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:460,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:462,1
    - Dst: server_response_::init
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: '&

      Transaction::getServerResponse()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - initializeServerResponseHandles
    - server_response_::init
    linkageType: ''
    returnType: Response
    signature: 'Response &

      Transaction::getServerResponse()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeClientResponseHandles
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:473,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:475,1
    - Dst: client_response_::init
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 479
    functionName: '&

      Transaction::getClientResponse()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - client_response_::init
    - initializeClientResponseHandles
    - LOG_DEBUG
    linkageType: ''
    returnType: Response
    signature: 'Response &

      Transaction::getClientResponse()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cached_request_::reset
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:488,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:489,1
    - Dst: initializeCachedRequestHandles
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:492,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:494,1
    - Dst: cached_request_::init
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 499
    functionName: '&

      Transaction::getCachedRequest()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - cached_request_::reset
    - initializeCachedRequestHandles
    - cached_request_::init
    linkageType: ''
    returnType: Request
    signature: 'Request &

      Transaction::getCachedRequest()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initializeCachedResponseHandles
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:506,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:508,1
    - Dst: cached_response_::init
      Src: /src/trafficserver/src/tscpp/api/Transaction.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: '&

      Transaction::getCachedResponse()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - cached_response_::init
    - initializeCachedResponseHandles
    linkageType: ''
    returnType: Response
    signature: 'Response &

      Transaction::getCachedResponse()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 529
    functionName: Transaction::resetHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Transaction::resetHandles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: LoggerState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LoggerState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~LoggerState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LoggerState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LoggerState>
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Logger::Logger
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<LoggerState>
    linkageType: ''
    returnType: void
    signature: void Logger::Logger()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectDestroy
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Logger::~Logger()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectDestroy
    linkageType: ''
    returnType: void
    signature: void Logger::~Logger()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:93,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:93,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:94,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:114,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:114,1
    - Dst: TSTextLogObjectRollingEnabledSet
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:117,1
    - Dst: TSTextLogObjectRollingIntervalSecSet
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:118,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:119,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:119,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:122,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 6
    argNames:
    - file
    - add_timestamp
    - rename_file
    - level
    - rolling_enabled
    - rolling_interval_seconds
    argTypes:
    - string
    - bool
    - bool
    - LogLevel
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 126
    functionName: Logger::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSTextLogObjectRollingIntervalSecSet
    - TSTextLogObjectCreate
    - LOG_DEBUG
    - string::c_str
    - TSTextLogObjectRollingEnabledSet
    - filename_::c_str
    linkageType: ''
    returnType: bool
    signature: "bool Logger::init(const string &file, bool add_timestamp, bool rename_file,
      LogLevel level, bool rolling_enabled,\n             int rolling_interval_seconds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:133,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - level
    argTypes:
    - Logger::LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: Logger::setLogLevel
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - filename_::c_str
    linkageType: ''
    returnType: void
    signature: void Logger::setLogLevel(Logger::LogLevel level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: Logger::getLogLevel
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    linkageType: ''
    returnType: Logger::LogLevel
    signature: Logger::LogLevel Logger::getLogLevel() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectRollingIntervalSecSet
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:151,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:152,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:152,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: Logger::setRollingIntervalSeconds
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSTextLogObjectRollingIntervalSecSet
    - LOG_DEBUG
    - filename_::c_str
    linkageType: ''
    returnType: void
    signature: void Logger::setRollingIntervalSeconds(int seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: Logger::getRollingIntervalSeconds
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    linkageType: ''
    returnType: int
    signature: int Logger::getRollingIntervalSeconds() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectRollingEnabledSet
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:172,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:173,1
    - Dst: filename_::c_str
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:173,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Logger::setRollingEnabled
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - LOG_DEBUG
    - TSTextLogObjectRollingEnabledSet
    - filename_::c_str
    linkageType: ''
    returnType: void
    signature: void Logger::setRollingEnabled(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: Logger::isRollingEnabled
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Logger::isRollingEnabled() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectFlush
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:192,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: Logger::flush
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSTextLogObjectFlush
    linkageType: ''
    returnType: void
    signature: void Logger::flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: TS_TEXT_LOG_OBJECT_WRITE
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_TEXT_LOG_OBJECT_WRITE(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: TS_TEXT_LOG_OBJECT_WRITE
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_TEXT_LOG_OBJECT_WRITE(level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_TEXT_LOG_OBJECT_WRITE
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: Logger::logDebug
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - TS_TEXT_LOG_OBJECT_WRITE
    linkageType: ''
    returnType: void
    signature: void Logger::logDebug(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_TEXT_LOG_OBJECT_WRITE
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: Logger::logInfo
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - TS_TEXT_LOG_OBJECT_WRITE
    linkageType: ''
    returnType: void
    signature: void Logger::logInfo(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_TEXT_LOG_OBJECT_WRITE
      Src: /src/trafficserver/src/tscpp/api/Logger.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: Logger::logError
    functionSourceFile: /src/trafficserver/src/tscpp/api/Logger.cc
    functionUses: 0
    functionsReached:
    - TS_TEXT_LOG_OBJECT_WRITE
    linkageType: ''
    returnType: void
    signature: void Logger::logError(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Continuation::Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont(Continuation::Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Continuation::Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont(Continuation::Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:79,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:92,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - transaction
    - transformation_plugin
    - type
    - txn
    argTypes:
    - atscppapi::Transaction
    - TransformationPlugin
    - TransformationPlugin::Type
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: atscppapi::TransformationPluginState
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: "void TransformationPluginState(atscppapi::Transaction &transaction,
      TransformationPlugin &transformation_plugin,\n                            TransformationPlugin::Type
      type, TSHttpTxn txn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:99,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: ~TransformationPluginState() override
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~TransformationPluginState() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Continuation::Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont(Continuation::Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Continuation::Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: atscppapi::detail::ResumeAfterPauseCont::ResumeAfterPauseCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResumeAfterPauseCont(Continuation::Mutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:79,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:92,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - transaction
    - transformation_plugin
    - type
    - txn
    argTypes:
    - atscppapi::Transaction
    - TransformationPlugin
    - TransformationPlugin::Type
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: atscppapi::TransformationPluginState
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: "void TransformationPluginState(atscppapi::Transaction &transaction,
      TransformationPlugin &transformation_plugin,\n                            TransformationPlugin::Type
      type, TSHttpTxn txn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:99,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: ~TransformationPluginState() override
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~TransformationPluginState() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:121,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:122,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:122,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: cleanupTransformation
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void *>
    - TSContDestroy
    - LOG_DEBUG
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void cleanupTransformation(TSCont contp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:131,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:134,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:139,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:146,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:146,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:147,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:152,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:159,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:160,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:163,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:163,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:167,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:167,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:170,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:170,1
    - Dst: utils::internal::consumeFromTSIOBufferReader
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:172,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:173,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:173,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:176,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:177,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:180,1
    - Dst: TransformationPluginState*::transformation_plugin_::consume
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:181,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:186,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:188,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:189,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:193,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:197,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:197,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:201,1
    - Dst: TransformationPluginState*::transformation_plugin_::handleInputComplete
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:206,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:208,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:209,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:209,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:214,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:215,1
    - Dst: TransformationPluginState*::transformation_plugin_::handleInputComplete
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:219,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:221,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:222,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:222,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - contp
    - state
    argTypes:
    - TSCont
    - TransformationPluginState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 230
    functionName: handleTransformationPluginRead
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    - TSVIOReenable
    - static_cast<TSEvent>
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - utils::internal::consumeFromTSIOBufferReader
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - LOG_ERROR
    - TSIOBufferDestroy
    - LOG_DEBUG
    - std::string::length
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TransformationPluginState*::transformation_plugin_::consume
    - TransformationPluginState*::transformation_plugin_::handleInputComplete
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int handleTransformationPluginRead(TSCont contp, TransformationPluginState
      *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransformationPluginState *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:235,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:235,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:236,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:239,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:241,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:247,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:248,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:250,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:257,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:258,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:259,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:262,1
    - Dst: handleTransformationPluginRead
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: handleTransformationPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - static_cast<TransformationPluginState *>
    - LOG_ERROR
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSVConnShutdown
    - TSContCall
    - LOG_DEBUG
    - handleTransformationPluginRead
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int handleTransformationPluginEvents(TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:121,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:122,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:122,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: cleanupTransformation
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void *>
    - TSContDestroy
    - LOG_DEBUG
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void cleanupTransformation(TSCont contp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:131,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:134,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:139,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:146,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:146,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:147,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:152,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:159,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:160,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:163,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:163,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:167,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:167,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:170,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:170,1
    - Dst: utils::internal::consumeFromTSIOBufferReader
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:172,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:173,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:173,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:176,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:177,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:180,1
    - Dst: TransformationPluginState*::transformation_plugin_::consume
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:181,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:186,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:188,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:189,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:193,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:197,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:197,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:201,1
    - Dst: TransformationPluginState*::transformation_plugin_::handleInputComplete
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:206,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:208,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:209,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:209,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:214,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:215,1
    - Dst: TransformationPluginState*::transformation_plugin_::handleInputComplete
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:219,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:221,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:222,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:222,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - contp
    - state
    argTypes:
    - TSCont
    - TransformationPluginState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 230
    functionName: handleTransformationPluginRead
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderFree
    - TSVIOReenable
    - static_cast<TSEvent>
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - utils::internal::consumeFromTSIOBufferReader
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - LOG_ERROR
    - TSIOBufferDestroy
    - LOG_DEBUG
    - std::string::length
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TransformationPluginState*::transformation_plugin_::consume
    - TransformationPluginState*::transformation_plugin_::handleInputComplete
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int handleTransformationPluginRead(TSCont contp, TransformationPluginState
      *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransformationPluginState *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:235,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:235,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:236,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:239,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:241,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:247,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:248,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:250,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:257,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:258,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:259,1
    - Dst: TSContCall
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:262,1
    - Dst: handleTransformationPluginRead
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: handleTransformationPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - static_cast<TransformationPluginState *>
    - LOG_ERROR
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSVConnShutdown
    - TSContCall
    - LOG_DEBUG
    - handleTransformationPluginRead
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int handleTransformationPluginEvents(TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TransformationPluginState>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:277,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:277,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:277,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:278,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:279,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:279,1
    - Dst: get
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:279,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:280,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:282,1
    - Dst: utils::internal::convertInternalTransformationTypeToTsHook
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - transaction
    - type
    argTypes:
    - Transaction
    - TransformationPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: TransformationPlugin::TransformationPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<void *>
    - std::make_unique<TransformationPluginState>
    - TSHttpTxnHookAdd
    - TSContDataSet
    - TSTransformCreate
    - Transaction::getAtsHandle
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - utils::internal::convertInternalTransformationTypeToTsHook
    linkageType: ''
    returnType: void
    signature: void TransformationPlugin::TransformationPlugin(Transaction &transaction,
      TransformationPlugin::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:287,1
    - Dst: cleanupTransformation
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: TransformationPlugin::~TransformationPlugin()
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - cleanupTransformation
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void TransformationPlugin::~TransformationPlugin()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:295,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:298,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:302,1
    - Dst: static_cast<ResumeAfterPauseCont *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:302,1
    - Dst: get
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:302,1
    - Dst: static_cast<ResumeAfterPauseCont *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:303,1
    - Dst: get
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:303,1
    - Dst: ResumeAfterPauseCont
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:304,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:304,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: TransformationPlugin::pause
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - get
    - LOG_ERROR
    - ResumeAfterPauseCont
    - reinterpret_cast<TSCont>
    - TSContMutexGet
    - static_cast<bool>
    - static_cast<ResumeAfterPauseCont *>
    linkageType: ''
    returnType: void
    signature: void TransformationPlugin::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: TransformationPlugin::isPaused
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TransformationPlugin::isPaused() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:318,1
    - Dst: static_cast<ResumeAfterPauseCont *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:325,1
    - Dst: get
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: '&

      TransformationPlugin::resumeCont()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - get
    - TSReleaseAssert
    - static_cast<ResumeAfterPauseCont *>
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation &

      TransformationPlugin::resumeCont()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransformationPluginState *>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:331,1
    - Dst: handleTransformationPluginRead
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: ResumeAfterPauseCont::_run
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - handleTransformationPluginRead
    - static_cast<TransformationPluginState *>
    linkageType: ''
    returnType: int
    signature: int ResumeAfterPauseCont::_run(TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:341,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:341,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:342,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:342,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:348,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:349,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:353,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:355,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:361,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:368,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:368,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:370,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:375,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:379,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:380,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:384,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:386,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 392
    functionName: TransformationPlugin::doProduce
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - LOG_ERROR
    - TSTransformOutputVConnGet
    - std::string_view::length
    - TSIOBufferWrite
    - TSVIOReenable
    - TSVConnWrite
    - LOG_DEBUG
    - static_cast<size_t>
    - std::string_view::data
    - static_cast<int64_t>
    linkageType: ''
    returnType: size_t
    signature: size_t TransformationPlugin::doProduce(std::string_view data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: request_xform_output_::append
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:398,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:398,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:398,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:399,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:401,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:405,1
    - Dst: TransformationPlugin::doProduce
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: TransformationPlugin::produce
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - request_xform_output_::append
    - std::string_view::length
    - LOG_DEBUG
    - std::string_view::size
    - std::string_view::data
    - TransformationPlugin::doProduce
    linkageType: ''
    returnType: size_t
    signature: size_t TransformationPlugin::produce(std::string_view data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TransformationPlugin::doProduce
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:423,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:426,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:427,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:431,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:436,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:436,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:439,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:440,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:442,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:452,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:454,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:455,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:457,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 466
    functionName: TransformationPlugin::setOutputComplete
    functionSourceFile: /src/trafficserver/src/tscpp/api/TransformationPlugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVIONBytesSet
    - TSVIONDoneSet
    - LOG_ERROR
    - TSTransformOutputVConnGet
    - TSVIOReenable
    - TSVConnWrite
    - LOG_DEBUG
    - TransformationPlugin::doProduce
    linkageType: ''
    returnType: size_t
    signature: size_t TransformationPlugin::setOutputComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: IoHandle
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IoHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: ~IoHandle()
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IoHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterceptPlugin*::getMutex
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:91,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cont
    - plugin
    argTypes:
    - TSCont
    - InterceptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: State
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - InterceptPlugin*::getMutex
    linkageType: ''
    returnType: void
    signature: void State(TSCont cont, InterceptPlugin *plugin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:97,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:99,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ~State()
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~State()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:115,1
    - Dst: State::State
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:116,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:117,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:118,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:118,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:120,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - transaction
    - type
    argTypes:
    - Transaction
    - InterceptPlugin::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: InterceptPlugin::InterceptPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerIntercept
    - TSContDataSet
    - TSHttpTxnIntercept
    - Transaction::getAtsHandle
    - TSContCreate
    - static_cast<TSHttpTxn>
    - State::State
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void InterceptPlugin::InterceptPlugin(Transaction &transaction, InterceptPlugin::Type
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:129,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: InterceptPlugin::~InterceptPlugin()
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void InterceptPlugin::~InterceptPlugin()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getMutex
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:140,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:142,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:146,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:147,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:148,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:150,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:152,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:155,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: InterceptPlugin::produce
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSIOBufferCreate
    - TSIOBufferWrite
    - TSVIOReenable
    - TSVConnWrite
    - getMutex
    - LOG_DEBUG
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: bool
    signature: bool InterceptPlugin::produce(const void *data, int data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMutex
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:164,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:166,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:170,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:173,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:174,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: InterceptPlugin::setOutputComplete
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - LOG_ERROR
    - TSVIOReenable
    - getMutex
    - LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool InterceptPlugin::setOutputComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: '&

      InterceptPlugin::getRequestHeaders()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Headers
    signature: 'Headers &

      InterceptPlugin::getRequestHeaders()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:190,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: InterceptPlugin::getSslConnection
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: TSSslConnection
    signature: TSSslConnection InterceptPlugin::getSslConnection()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:200,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:202,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:211,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:213,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:217,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:218,1
    - Dst: request_headers_::value
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:219,1
    - Dst: string::empty
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:220,1
    - Dst: string::data
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:221,1
    - Dst: strtol
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:223,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:225,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:228,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:228,1
    - Dst: request_headers_::value
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:231,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:234,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:236,1
    - Dst: consume
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:241,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:241,1
    - Dst: consume
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:247,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:247,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:250,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:253,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:254,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:257,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:257,1
    - Dst: isWebsocket
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:259,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:260,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:265,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:267,1
    - Dst: handleInputComplete
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:270,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:272,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 276
    functionName: InterceptPlugin::doRead
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderStart
    - handleInputComplete
    - TSVIOReenable
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - LOG_ERROR
    - TSIOBufferBlockReadStart
    - consume
    - LOG_DEBUG
    - string::c_str
    - string::empty
    - isWebsocket
    - TSIOBufferReaderAvail
    - TSHttpHdrParseReq
    - strtol
    - string
    - TSIOBufferBlockNext
    - TSVIONDoneSet
    - string::data
    - request_headers_::value
    linkageType: ''
    returnType: bool
    signature: bool InterceptPlugin::doRead()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:281,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:282,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:286,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:287,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:288,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:289,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:290,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:293,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:294,1
    - Dst: request_headers_::reset
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:295,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:296,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:300,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:304,1
    - Dst: InterceptPlugin::doRead
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:305,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:309,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:318,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:320,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:322,1
    - Dst: destroyCont
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:323,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - abstract_event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 329
    functionName: InterceptPlugin::handleEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - InterceptPlugin::doRead
    - request_headers_::reset
    - TSIOBufferCreate
    - LOG_ERROR
    - static_cast<TSVConn>
    - TSHttpHdrTypeSet
    - TSHttpHdrCreate
    - static_cast<TSEvent>
    - LOG_DEBUG
    - TSVConnRead
    - destroyCont
    - TSIOBufferReaderAlloc
    - TSMBufferCreate
    linkageType: ''
    returnType: void
    signature: void InterceptPlugin::handleEvent(int abstract_event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutex::try_lock
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: TryLockGuard::TryLockGuard
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - Mutex::try_lock
    linkageType: ''
    returnType: void
    signature: void TryLockGuard(Mutex &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: TryLockGuard::isLocked
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLocked() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: ~TryLockGuard()
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void ~TryLockGuard()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InterceptPlugin::State *>
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:363,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:363,1
    - Dst: TryLockGuard::isLocked
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:369,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:370,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:375,1
    - Dst: atscppapi::utils::internal::dispatchInterceptEvent
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:389,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:391,1
    - Dst: destroyCont
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:392,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - cont
    - pristine_event
    - pristine_edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 397
    functionName: handleEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TryLockGuard::isLocked
    - LOG_ERROR
    - TSContDataSet
    - atscppapi::utils::internal::dispatchInterceptEvent
    - LOG_DEBUG
    - TSContDataGet
    - destroyCont
    - TSContScheduleOnPool
    - static_cast<InterceptPlugin::State *>
    linkageType: ''
    returnType: int
    signature: int handleEvents(TSCont cont, TSEvent pristine_event, void *pristine_edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:403,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:404,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:410,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - InterceptPlugin::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: destroyCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 2
    functionsReached:
    - TSVConnClose
    - TSVConnShutdown
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void destroyCont(InterceptPlugin::State *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutex::try_lock
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: TryLockGuard::TryLockGuard
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - Mutex::try_lock
    linkageType: ''
    returnType: void
    signature: void TryLockGuard(Mutex &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: TryLockGuard::isLocked
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLocked() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: ~TryLockGuard()
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void ~TryLockGuard()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InterceptPlugin::State *>
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:363,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:363,1
    - Dst: TryLockGuard::isLocked
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:369,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:370,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:375,1
    - Dst: atscppapi::utils::internal::dispatchInterceptEvent
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:389,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:391,1
    - Dst: destroyCont
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:392,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - cont
    - pristine_event
    - pristine_edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 397
    functionName: handleEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 0
    functionsReached:
    - TryLockGuard::isLocked
    - LOG_ERROR
    - TSContDataSet
    - atscppapi::utils::internal::dispatchInterceptEvent
    - LOG_DEBUG
    - TSContDataGet
    - destroyCont
    - TSContScheduleOnPool
    - static_cast<InterceptPlugin::State *>
    linkageType: ''
    returnType: int
    signature: int handleEvents(TSCont cont, TSEvent pristine_event, void *pristine_edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:403,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:404,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:410,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - InterceptPlugin::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: destroyCont
    functionSourceFile: /src/trafficserver/src/tscpp/api/InterceptPlugin.cc
    functionUses: 3
    functionsReached:
    - TSVConnClose
    - TSVConnShutdown
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void destroyCont(InterceptPlugin::State *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hdr_buf
    - url_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: UrlState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlState(TSMBuffer hdr_buf, TSMLoc url_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<UrlState>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:41,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:41,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Url::Url
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSMLoc>
    - static_cast<TSMBuffer>
    - std::make_unique<UrlState>
    linkageType: ''
    returnType: void
    signature: void Url::Url()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<UrlState>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:46,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:46,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr_buf
    - url_loc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Url::Url
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSMLoc>
    - static_cast<TSMBuffer>
    - std::make_unique<UrlState>
    linkageType: ''
    returnType: void
    signature: void Url::Url(void *hdr_buf, void *url_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:52,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hdr_buf
    - url_loc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Url::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSMBuffer>
    - static_cast<TSMLoc>
    linkageType: ''
    returnType: void
    signature: void Url::init(void *hdr_buf, void *url_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Url::~Url()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Url::~Url()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Url::isInitialized
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Url::isInitialized() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:67,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:69,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Url.cc:71,1
    - Dst: TSfree
      Src: /src/trafficserver/src/tscpp/api/Url.cc:72,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:73,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:73,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: Url::getUrlString
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - std::string::c_str
    - LOG_ERROR
    - std::string::assign
    - LOG_DEBUG
    - Url::isInitialized
    - TSUrlStringGet
    linkageType: ''
    returnType: std::string
    signature: std::string Url::getUrlString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:86,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:88,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Url.cc:90,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:92,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: Url::getPath
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - Url::isInitialized
    - std::string::assign
    - LOG_DEBUG
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string Url::getPath() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:101,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:103,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Url.cc:105,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:107,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: Url::getQuery
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - Url::isInitialized
    - std::string::assign
    - LOG_DEBUG
    - std::string::c_str
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: std::string
    signature: std::string Url::getQuery() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:116,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:118,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Url.cc:120,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:122,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Url::getScheme
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - Url::isInitialized
    - std::string::assign
    - LOG_DEBUG
    - TSUrlSchemeGet
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string Url::getScheme() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:131,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:133,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/tscpp/api/Url.cc:135,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:137,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: Url::getHost
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - Url::isInitialized
    - std::string::assign
    - LOG_DEBUG
    - TSUrlHostGet
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string Url::getHost() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:146,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/tscpp/api/Url.cc:147,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:147,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: Url::getPort
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - TSUrlPortGet
    - static_cast<uint16_t>
    - Url::isInitialized
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Url::getPort() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:156,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:157,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:161,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:161,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Url.cc:161,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:162,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:162,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: Url::setPath
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - Url::isInitialized
    - TSUrlPathSet
    - LOG_DEBUG
    - std::string::length
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Url::setPath(const std::string &path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:171,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:172,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:176,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:176,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Url.cc:176,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:177,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:177,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - query
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: Url::setQuery
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - std::string::c_str
    - Url::isInitialized
    - LOG_DEBUG
    - std::string::length
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: void
    signature: void Url::setQuery(const std::string &query)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:186,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:187,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:191,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:191,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Url.cc:191,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:192,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:192,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: Url::setScheme
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - Url::isInitialized
    - LOG_DEBUG
    - std::string::length
    - TSUrlSchemeSet
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Url::setScheme(const std::string &scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:201,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:202,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:206,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:206,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Url.cc:206,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:207,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Url.cc:207,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - host
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: Url::setHost
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - LOG_ERROR
    - Url::isInitialized
    - LOG_DEBUG
    - std::string::length
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Url::setHost(const std::string &host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::isInitialized
      Src: /src/trafficserver/src/tscpp/api/Url.cc:216,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:217,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/src/tscpp/api/Url.cc:221,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Url.cc:222,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Url.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: Url::setPort
    functionSourceFile: /src/trafficserver/src/tscpp/api/Url.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - LOG_DEBUG
    - TSUrlPortSet
    - Url::isInitialized
    linkageType: ''
    returnType: void
    signature: void Url::setPort(const uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: atscppapi::ResponseState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResponseState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: atscppapi::ResponseState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResponseState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ResponseState>
      Src: /src/trafficserver/src/tscpp/api/Response.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Response::Response
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<ResponseState>
    linkageType: ''
    returnType: void
    signature: void Response::Response()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::reset
      Src: /src/trafficserver/src/tscpp/api/Response.cc:51,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Response.cc:55,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Response.cc:56,1
    - Dst: headers_::reset
      Src: /src/trafficserver/src/tscpp/api/Response.cc:57,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hdr_buf
    - hdr_loc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: Response::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 1
    functionsReached:
    - static_cast<TSMBuffer>
    - LOG_DEBUG
    - static_cast<TSMLoc>
    - Response::reset
    - headers_::reset
    linkageType: ''
    returnType: void
    signature: void Response::init(void *hdr_buf, void *hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: headers_::reset
      Src: /src/trafficserver/src/tscpp/api/Response.cc:66,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: Response::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 1
    functionsReached:
    - LOG_DEBUG
    - headers_::reset
    linkageType: ''
    returnType: void
    signature: void Response::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::getHttpVersion
      Src: /src/trafficserver/src/tscpp/api/Response.cc:75,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:76,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Response.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: Response::getVersion
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - c_str
    - utils::internal::getHttpVersion
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion Response::getVersion() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpStatus>
      Src: /src/trafficserver/src/tscpp/api/Response.cc:87,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/tscpp/api/Response.cc:87,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: Response::getStatusCode
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - LOG_DEBUG
    - static_cast<HttpStatus>
    linkageType: ''
    returnType: HttpStatus
    signature: HttpStatus Response::getStatusCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/src/tscpp/api/Response.cc:98,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/src/tscpp/api/Response.cc:98,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - HttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: Response::setStatusCode
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - static_cast<TSHttpStatus>
    - TSHttpHdrStatusSet
    linkageType: ''
    returnType: void
    signature: void Response::setStatusCode(HttpStatus code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/src/tscpp/api/Response.cc:109,1
    - Dst: string::assign
      Src: /src/trafficserver/src/tscpp/api/Response.cc:111,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:112,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Response.cc:112,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Response.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: Response::getReasonPhrase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - LOG_DEBUG
    - string::c_str
    - string::assign
    - TSHttpHdrReasonGet
    linkageType: ''
    returnType: string
    signature: string Response::getReasonPhrase() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/src/tscpp/api/Response.cc:126,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Response.cc:126,1
    - Dst: string::length
      Src: /src/trafficserver/src/tscpp/api/Response.cc:126,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Response.cc:127,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Response.cc:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - phrase
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: Response::setReasonPhrase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached:
    - string::length
    - LOG_DEBUG
    - string::c_str
    - TSHttpHdrReasonSet
    linkageType: ''
    returnType: void
    signature: void Response::setReasonPhrase(const string &phrase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: '&

      Response::getHeaders() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Headers
    signature: 'Headers &

      Response::getHeaders() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Response::~Response()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response::~Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - global_plugin
    - ignore_internal_transactions
    argTypes:
    - GlobalPlugin*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: GlobalPluginState
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GlobalPluginState(GlobalPlugin *global_plugin, bool ignore_internal_transactions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GlobalPluginState *>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:51,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:51,1
    - Dst: static_cast<TSHttpAltInfo>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:54,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:55,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:59,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:60,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:61,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:62,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:64,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: handleGlobalPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpAltInfo>
    - TSHttpTxnIsInternal
    - invokePluginForEvent
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - static_cast<GlobalPluginState *>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handleGlobalPluginEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GlobalPluginState *>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:51,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:51,1
    - Dst: static_cast<TSHttpAltInfo>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:54,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:55,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:59,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:60,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:61,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:62,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:64,1
    - Dst: invokePluginForEvent
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: handleGlobalPluginEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpAltInfo>
    - TSHttpTxnIsInternal
    - invokePluginForEvent
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - static_cast<GlobalPluginState *>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handleGlobalPluginEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::initTransactionManagement
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:74,1
    - Dst: std::make_unique<GlobalPluginState>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:75,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:77,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:78,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:78,1
    - Dst: get
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ignore_internal_transactions
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: GlobalPlugin::GlobalPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<void *>
    - utils::internal::initTransactionManagement
    - TSContDataSet
    - TSContCreate
    - std::make_unique<GlobalPluginState>
    linkageType: ''
    returnType: void
    signature: void GlobalPlugin::GlobalPlugin(bool ignore_internal_transactions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: GlobalPlugin::~GlobalPlugin()
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void GlobalPlugin::~GlobalPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:89,1
    - Dst: utils::internal::convertInternalHookToTsHook
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:90,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:91,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:92,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hook_type
    argTypes:
    - Plugin::HookType
    assertStmts:
    - condition: (hook_type != Plugin::HOOK_TXN_CLOSE)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: GlobalPlugin::registerHook
    functionSourceFile: /src/trafficserver/src/tscpp/api/GlobalPlugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookAdd
    - utils::internal::convertInternalHookToTsHook
    - LOG_DEBUG
    - c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void GlobalPlugin::registerHook(Plugin::HookType hook_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::state_::get
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - async_http_fetch
    argTypes:
    - AsyncHttpFetch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: atscppapi::utils::internal::getAsyncHttpFetchState
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::state_::get
    linkageType: ''
    returnType: AsyncHttpFetchState
    signature: "AsyncHttpFetchState *\n    getAsyncHttpFetchState(AsyncHttpFetch &async_http_fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::setEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - event
    argTypes:
    - Transaction
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: atscppapi::utils::internal::setTransactionEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::setEvent
    linkageType: ''
    returnType: void
    signature: void setTransactionEvent(Transaction &transaction, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resetHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: atscppapi::utils::internal::resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::resetHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::init
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - response
    - hdr_buf
    - hdr_loc
    argTypes:
    - Response
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::utils::internal::initResponse
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Response::init
    linkageType: ''
    returnType: void
    signature: void initResponse(Response &response, TSMBuffer hdr_buf, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: "&\n    getTransactionPlugins(const Transaction &transaction)"
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Transaction::getPlugins
    linkageType: ''
    returnType: std::list<TransactionPlugin *>
    signature: "std::list<TransactionPlugin *> &\n    getTransactionPlugins(const
      Transaction &transaction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterceptPlugin*::handleEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - InterceptPlugin*
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: atscppapi::utils::internal::dispatchInterceptEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - InterceptPlugin*::handleEvent
    linkageType: ''
    returnType: void
    signature: void dispatchInterceptEvent(InterceptPlugin *plugin, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - AsyncHttpFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::utils::internal::deleteAsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deleteAsyncHttpFetch(AsyncHttpFetch *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::state_::get
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - async_http_fetch
    argTypes:
    - AsyncHttpFetch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: atscppapi::utils::internal::getAsyncHttpFetchState
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::state_::get
    linkageType: ''
    returnType: AsyncHttpFetchState
    signature: "AsyncHttpFetchState *\n    getAsyncHttpFetchState(AsyncHttpFetch &async_http_fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::setEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - event
    argTypes:
    - Transaction
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: atscppapi::utils::internal::setTransactionEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::setEvent
    linkageType: ''
    returnType: void
    signature: void setTransactionEvent(Transaction &transaction, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resetHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: atscppapi::utils::internal::resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::resetHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::init
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - response
    - hdr_buf
    - hdr_loc
    argTypes:
    - Response
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::utils::internal::initResponse
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Response::init
    linkageType: ''
    returnType: void
    signature: void initResponse(Response &response, TSMBuffer hdr_buf, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: "&\n    getTransactionPlugins(const Transaction &transaction)"
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Transaction::getPlugins
    linkageType: ''
    returnType: std::list<TransactionPlugin *>
    signature: "std::list<TransactionPlugin *> &\n    getTransactionPlugins(const
      Transaction &transaction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterceptPlugin*::handleEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - InterceptPlugin*
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: atscppapi::utils::internal::dispatchInterceptEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - InterceptPlugin*::handleEvent
    linkageType: ''
    returnType: void
    signature: void dispatchInterceptEvent(InterceptPlugin *plugin, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - AsyncHttpFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::utils::internal::deleteAsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deleteAsyncHttpFetch(AsyncHttpFetch *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::state_::get
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - async_http_fetch
    argTypes:
    - AsyncHttpFetch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: atscppapi::utils::internal::getAsyncHttpFetchState
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::state_::get
    linkageType: ''
    returnType: AsyncHttpFetchState
    signature: "AsyncHttpFetchState *\n    getAsyncHttpFetchState(AsyncHttpFetch &async_http_fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::setEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - event
    argTypes:
    - Transaction
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: atscppapi::utils::internal::setTransactionEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::setEvent
    linkageType: ''
    returnType: void
    signature: void setTransactionEvent(Transaction &transaction, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resetHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: atscppapi::utils::internal::resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::resetHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::init
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - response
    - hdr_buf
    - hdr_loc
    argTypes:
    - Response
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::utils::internal::initResponse
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Response::init
    linkageType: ''
    returnType: void
    signature: void initResponse(Response &response, TSMBuffer hdr_buf, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: "&\n    getTransactionPlugins(const Transaction &transaction)"
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Transaction::getPlugins
    linkageType: ''
    returnType: std::list<TransactionPlugin *>
    signature: "std::list<TransactionPlugin *> &\n    getTransactionPlugins(const
      Transaction &transaction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterceptPlugin*::handleEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - InterceptPlugin*
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: atscppapi::utils::internal::dispatchInterceptEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - InterceptPlugin*::handleEvent
    linkageType: ''
    returnType: void
    signature: void dispatchInterceptEvent(InterceptPlugin *plugin, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - AsyncHttpFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::utils::internal::deleteAsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deleteAsyncHttpFetch(AsyncHttpFetch *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::state_::get
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - async_http_fetch
    argTypes:
    - AsyncHttpFetch
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: atscppapi::utils::internal::getAsyncHttpFetchState
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::state_::get
    linkageType: ''
    returnType: AsyncHttpFetchState
    signature: "AsyncHttpFetchState *\n    getAsyncHttpFetchState(AsyncHttpFetch &async_http_fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::setEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - transaction
    - event
    argTypes:
    - Transaction
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: atscppapi::utils::internal::setTransactionEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::setEvent
    linkageType: ''
    returnType: void
    signature: void setTransactionEvent(Transaction &transaction, TSEvent event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resetHandles
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: atscppapi::utils::internal::resetTransactionHandles
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - Transaction::resetHandles
    linkageType: ''
    returnType: void
    signature: void resetTransactionHandles(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::init
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - response
    - hdr_buf
    - hdr_loc
    argTypes:
    - Response
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::utils::internal::initResponse
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Response::init
    linkageType: ''
    returnType: void
    signature: void initResponse(Response &response, TSMBuffer hdr_buf, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getPlugins
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: "&\n    getTransactionPlugins(const Transaction &transaction)"
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached:
    - Transaction::getPlugins
    linkageType: ''
    returnType: std::list<TransactionPlugin *>
    signature: "std::list<TransactionPlugin *> &\n    getTransactionPlugins(const
      Transaction &transaction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterceptPlugin*::handleEvent
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils_internal.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plugin
    - event
    - edata
    argTypes:
    - InterceptPlugin*
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: atscppapi::utils::internal::dispatchInterceptEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - InterceptPlugin*::handleEvent
    linkageType: ''
    returnType: void
    signature: void dispatchInterceptEvent(InterceptPlugin *plugin, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - AsyncHttpFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::utils::internal::deleteAsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deleteAsyncHttpFetch(AsyncHttpFetch *fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/src/tscpp/api/Plugin.cc:40,1
    - Dst: TSError
      Src: /src/trafficserver/src/tscpp/api/Plugin.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - name
    - vendor
    - email
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: atscppapi::RegisterGlobalPlugin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Plugin.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSPluginRegister
    linkageType: ''
    returnType: bool
    signature: bool atscppapi::RegisterGlobalPlugin(const char *name, const char *vendor,
      const char *email)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils.cc:33,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/utils.cc:34,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/tscpp/api/utils.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/utils.cc:42,1
    - Dst: inet_ntop
      Src: /src/trafficserver/src/tscpp/api/utils.cc:44,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/utils.cc:45,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils.cc:47,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils.cc:47,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/utils.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - sockaddress
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: atscppapi::utils::getIpString(const sockaddr *sockaddress)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - inet_ntop
    - std::string
    - static_cast<int>
    linkageType: ''
    returnType: std::string
    signature: std::string atscppapi::utils::getIpString(const sockaddr *sockaddress)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils.cc:56,1
    - Dst: ntohs
      Src: /src/trafficserver/src/tscpp/api/utils.cc:61,1
    - Dst: ntohs
      Src: /src/trafficserver/src/tscpp/api/utils.cc:63,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils.cc:65,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/utils.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sockaddress
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: atscppapi::utils::getPort(const sockaddr *sockaddress)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - ntohs
    - static_cast<int>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t atscppapi::utils::getPort(const sockaddr *sockaddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/utils.cc:74,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/utils.cc:75,1
    - Dst: getIpString
      Src: /src/trafficserver/src/tscpp/api/utils.cc:79,1
    - Dst: getPort
      Src: /src/trafficserver/src/tscpp/api/utils.cc:81,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscpp/api/utils.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sockaddress
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: atscppapi::utils::getIpPortString(const sockaddr *sockaddress)
    functionSourceFile: /src/trafficserver/src/tscpp/api/utils.cc
    functionUses: 0
    functionsReached:
    - getIpString
    - LOG_ERROR
    - std::string
    - std::ostringstream::str
    - getPort
    linkageType: ''
    returnType: std::string
    signature: std::string atscppapi::utils::getIpPortString(const sockaddr *sockaddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CaseInsensitiveStringComparator::compare
      Src: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: CaseInsensitiveStringComparator::operator()(const string &lhs, const
      string &rhs) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc
    functionUses: 0
    functionsReached:
    - CaseInsensitiveStringComparator::compare
    linkageType: ''
    returnType: bool
    signature: bool CaseInsensitiveStringComparator::operator()(const string &lhs,
      const string &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc:42,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc:42,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: CaseInsensitiveStringComparator::compare
    functionSourceFile: /src/trafficserver/src/tscpp/api/CaseInsensitiveStringComparator.cc
    functionUses: 1
    functionsReached:
    - string::c_str
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int CaseInsensitiveStringComparator::compare(const string &lhs, const
      string &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: Stat::Stat
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stat::Stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Stat::~Stat()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stat::~Stat()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:46,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:46,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:47,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:47,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:53,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:53,1
    - Dst: static_cast<TSStatSync>
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:54,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:56,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:56,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:58,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:58,1
    - Dst: Stat::set
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - name
    - type
    - persistent
    argTypes:
    - string
    - Stat::SyncType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: Stat::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - LOG_ERROR
    - TSStatFindName
    - static_cast<TSStatSync>
    - LOG_DEBUG
    - string::c_str
    - Stat::set
    linkageType: ''
    returnType: bool
    signature: bool Stat::init(const string &name, Stat::SyncType type, bool persistent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntSet
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: Stat::set
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 1
    functionsReached:
    - TSStatIntSet
    linkageType: ''
    returnType: void
    signature: void Stat::set(int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntGet
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: Stat::get
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached:
    - TSStatIntGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t Stat::get() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: Stat::increment
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void Stat::increment(int64_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntDecrement
      Src: /src/trafficserver/src/tscpp/api/Stat.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: Stat::decrement
    functionSourceFile: /src/trafficserver/src/tscpp/api/Stat.cc
    functionUses: 0
    functionsReached:
    - TSStatIntDecrement
    linkageType: ''
    returnType: void
    signature: void Stat::decrement(int64_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - type
    - period_in_ms
    - initial_period_in_ms
    - thread_pool
    - timer
    argTypes:
    - AsyncTimer::Type
    - int
    - int
    - TSThreadPool
    - AsyncTimer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: AsyncTimerState
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncTimerState(AsyncTimer::Type type, int period_in_ms, int initial_period_in_ms,
      TSThreadPool thread_pool, AsyncTimer *timer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AsyncTimerState *>
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:53,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:55,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:58,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:59,1
    - Dst: AsyncTimerState*::dispatch_controller_::dispatch
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:62,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: handleTimerEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - static_cast<AsyncTimerState *>
    - AsyncTimerState*::dispatch_controller_::dispatch
    - LOG_DEBUG
    - TSContDataGet
    - TSContScheduleEveryOnPool
    linkageType: ''
    returnType: int
    signature: int handleTimerEvent(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AsyncTimerState *>
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:53,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:55,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:58,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:59,1
    - Dst: AsyncTimerState*::dispatch_controller_::dispatch
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:62,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: handleTimerEvent
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - static_cast<AsyncTimerState *>
    - AsyncTimerState*::dispatch_controller_::dispatch
    - LOG_DEBUG
    - TSContDataGet
    - TSContScheduleEveryOnPool
    linkageType: ''
    returnType: int
    signature: int handleTimerEvent(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncTimerState::AsyncTimerState
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:72,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:73,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:73,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:74,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - type
    - period_in_ms
    - initial_period_in_ms
    - thread_pool
    argTypes:
    - Type
    - int
    - int
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: AsyncTimer::AsyncTimer
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSContDataSet
    - AsyncTimerState::AsyncTimerState
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void AsyncTimer::AsyncTimer(Type type, int period_in_ms, int initial_period_in_ms,
      TSThreadPool thread_pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDispatchController
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:80,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:90,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:91,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:93,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: AsyncTimer::run
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - TSContScheduleOnPool
    - TSContScheduleEveryOnPool
    - getDispatchController
    linkageType: ''
    returnType: void
    signature: void AsyncTimer::run()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:105,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:109,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:110,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:113,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:114,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:117,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:118,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:122,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:124,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: AsyncTimer::cancel
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - TSContDestroy
    - LOG_DEBUG
    - TSMutexUnlock
    - TSContMutexGet
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void AsyncTimer::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncTimer::cancel
      Src: /src/trafficserver/src/tscpp/api/AsyncTimer.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: AsyncTimer::~AsyncTimer()
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncTimer.cc
    functionUses: 0
    functionsReached:
    - AsyncTimer::cancel
    linkageType: ''
    returnType: void
    signature: void AsyncTimer::~AsyncTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: RequestState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RequestState>
      Src: /src/trafficserver/src/tscpp/api/Request.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Request::Request
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<RequestState>
    linkageType: ''
    returnType: void
    signature: void Request::Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RequestState>
      Src: /src/trafficserver/src/tscpp/api/Request.cc:54,1
    - Dst: Request::init
      Src: /src/trafficserver/src/tscpp/api/Request.cc:55,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Request.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hdr_buf
    - hdr_loc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Request::Request
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - std::make_unique<RequestState>
    - Request::init
    linkageType: ''
    returnType: void
    signature: void Request::Request(void *hdr_buf, void *hdr_loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RequestState>
      Src: /src/trafficserver/src/tscpp/api/Request.cc:61,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/Request.cc:65,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/src/tscpp/api/Request.cc:66,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Request.cc:67,1
    - Dst: string::size
      Src: /src/trafficserver/src/tscpp/api/Request.cc:68,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/src/tscpp/api/Request.cc:69,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Request.cc:70,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/Request.cc:70,1
    - Dst: url_::init
      Src: /src/trafficserver/src/tscpp/api/Request.cc:72,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Request.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - url_str
    - method
    - version
    argTypes:
    - string
    - HttpMethod
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: Request::Request
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - url_::init
    - std::make_unique<RequestState>
    - string::c_str
    - TSMBufferCreate
    - TSUrlParse
    - TSUrlCreate
    - string::size
    linkageType: ''
    returnType: void
    signature: void Request::Request(const string &url_str, HttpMethod method, HttpVersion
      version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Request::reset
      Src: /src/trafficserver/src/tscpp/api/Request.cc:83,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Request.cc:87,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Request.cc:88,1
    - Dst: headers_::reset
      Src: /src/trafficserver/src/tscpp/api/Request.cc:89,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/src/tscpp/api/Request.cc:91,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Request.cc:93,1
    - Dst: url_::init
      Src: /src/trafficserver/src/tscpp/api/Request.cc:95,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Request.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - hdr_buf
    - hdr_loc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: Request::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 1
    functionsReached:
    - LOG_ERROR
    - static_cast<TSMBuffer>
    - LOG_DEBUG
    - static_cast<TSMLoc>
    - TSHttpHdrUrlGet
    - Request::reset
    - headers_::reset
    - url_::init
    linkageType: ''
    returnType: void
    signature: void Request::init(void *hdr_buf, void *hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: headers_::reset
      Src: /src/trafficserver/src/tscpp/api/Request.cc:105,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Request.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: Request::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 1
    functionsReached:
    - LOG_DEBUG
    - headers_::reset
    linkageType: ''
    returnType: void
    signature: void Request::reset()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/src/tscpp/api/Request.cc:115,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Request.cc:138,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Request.cc:138,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/Request.cc:141,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 147
    functionName: Request::getMethod
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - LOG_DEBUG
    - c_str
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: HttpMethod
    signature: HttpMethod Request::getMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: '&

      Request::getUrl()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Url
    signature: 'Url &

      Request::getUrl()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::internal::getHttpVersion
      Src: /src/trafficserver/src/tscpp/api/Request.cc:159,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/Request.cc:160,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Request.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: Request::getVersion
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - c_str
    - utils::internal::getHttpVersion
    linkageType: ''
    returnType: atscppapi::HttpVersion
    signature: atscppapi::HttpVersion Request::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: '&

      Request::getHeaders() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: atscppapi::Headers
    signature: 'atscppapi::Headers &

      Request::getHeaders() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Request::getUrl
      Src: /src/trafficserver/src/tscpp/api/Request.cc:178,1
    - Dst: Url::getHost
      Src: /src/trafficserver/src/tscpp/api/Request.cc:181,1
    - Dst: Url::setHost
      Src: /src/trafficserver/src/tscpp/api/Request.cc:182,1
    - Dst: Request::getHeaders
      Src: /src/trafficserver/src/tscpp/api/Request.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - host
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: Request::setHost
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - Url::setHost
    - Request::getHeaders
    - Request::getUrl
    - Url::getHost
    linkageType: ''
    returnType: void
    signature: void Request::setHost(std::string const &host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/Request.cc:197,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/Request.cc:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: Request::~Request()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Request.cc
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void Request::~Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: atscppapi::HeaderFieldName::HeaderFieldName
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::HeaderFieldName(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: HeaderFieldName::operator std::string()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::operator std::string()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: HeaderFieldName::operator const char *()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::operator const char *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: atscppapi::HeaderFieldName::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderFieldName::str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderFieldName::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: atscppapi::HeaderFieldName::length
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::HeaderFieldName::length
    linkageType: ''
    returnType: HeaderFieldName::size_type
    signature: HeaderFieldName::size_type HeaderFieldName::length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderFieldName::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: atscppapi::HeaderFieldName::c_str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::HeaderFieldName::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      HeaderFieldName::c_str()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:79,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: HeaderFieldName::operator==(const char *field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - c_str
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator==(const char *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: HeaderFieldName::operator==(const std::string &field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator==(const std::string &field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: HeaderFieldName::operator!=(const char *field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator!=(const char *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: HeaderFieldName::operator!=(const std::string &field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator!=(const std::string &field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: atscppapi::HeaderFieldValueIteratorState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldValueIteratorState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    - index
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: atscppapi::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc field_loc, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldValueIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:121,1
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    - index
    argTypes:
    - void*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: atscppapi::header_field_value_iterator::header_field_value_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - reset
    - static_cast<TSMBuffer>
    - static_cast<TSMLoc>
    - std::make_unique<HeaderFieldValueIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::header_field_value_iterator(void
      *bufp, void *hdr_loc, void *field_loc, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldValueIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:127,1
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: atscppapi::header_field_value_iterator::header_field_value_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::make_unique<HeaderFieldValueIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::header_field_value_iterator(const
      header_field_value_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: header_field_value_iterator::~header_field_value_iterator()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::~header_field_value_iterator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:138,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:140,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: header_field_value_iterator::operator*()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueStringGet
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string header_field_value_iterator::operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: '&

      header_field_value_iterator::operator++()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_value_iterator
    signature: 'header_field_value_iterator &

      header_field_value_iterator::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: header_field_value_iterator::operator++(int)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator header_field_value_iterator::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: header_field_value_iterator::operator==(const header_field_value_iterator
      &rhs) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_value_iterator::operator==(const header_field_value_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: header_field_value_iterator::operator!=(const header_field_value_iterator
      &rhs) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_value_iterator::operator!=(const header_field_value_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: atscppapi::MLocContainer
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLocContainer(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc field_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: ~MLocContainer()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~MLocContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLocContainer::MLocContainer
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: atscppapi::HeaderFieldIteratorState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - MLocContainer::MLocContainer
    linkageType: ''
    returnType: void
    signature: void HeaderFieldIteratorState(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc
      field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: HeaderField::~HeaderField()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::~HeaderField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: atscppapi::HeaderField::size
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValuesCount
    linkageType: ''
    returnType: HeaderField::size_type
    signature: HeaderField::size_type HeaderField::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: atscppapi::HeaderField::begin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_value_iterator
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator HeaderField::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:220,1
    - Dst: atscppapi::HeaderField::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: atscppapi::HeaderField::end
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_value_iterator
    - atscppapi::HeaderField::size
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator HeaderField::end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:228,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:231,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: atscppapi::HeaderField::name
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameGet
    - std::string
    linkageType: ''
    returnType: HeaderFieldName
    signature: HeaderFieldName HeaderField::name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:240,1
    - Dst: atscppapi::HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:240,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:241,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:242,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - join
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - atscppapi::HeaderField::begin
    - std::string::append
    - atscppapi::HeaderField::end
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const char *join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:252,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::HeaderField::values
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const std::string &join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:258,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::HeaderField::values
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const char join)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:264,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:265,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:266,1
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:269,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:271,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:271,1
    - Dst: atscppapi::Headers::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:272,1
    - Dst: atscppapi::Headers::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:275,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - key
    - index
    argTypes:
    - std::string
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: atscppapi::Headers::value
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_iterator::nextDup
    - string
    - atscppapi::Headers::end
    - atscppapi::Headers::find
    - atscppapi::Headers::size
    - atscppapi::Headers::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::value(const std::string &key, size_type index
      /* = 0 */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:283,1
    - Dst: atscppapi::HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: atscppapi::HeaderField::empty
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::HeaderField::begin
    - atscppapi::HeaderField::end
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: atscppapi::HeaderField::clear
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValuesClear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueDelete
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: atscppapi::HeaderField::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueDelete
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::erase(const header_field_value_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: atscppapi::HeaderField::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::HeaderField::append
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::append(const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 5
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: atscppapi::HeaderField::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::append(const char *value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:316,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:317,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: atscppapi::HeaderField::setName
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameSet
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::setName(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:323,1
    - Dst: name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: HeaderField::operator==(const char *field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - name
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator==(const char *field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: HeaderField::operator==(const std::string &field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator==(const std::string &field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: HeaderField::operator!=(const char *field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator!=(const char *field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: HeaderField::operator!=(const std::string &field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator!=(const std::string &field_name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:347,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - field_value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: HeaderField::operator=(const std::string &field_value)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - append
    - clear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator=(const std::string &field_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:357,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - field_value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: HeaderField::operator=(const char *field_value)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - append
    - clear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator=(const char *field_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: HeaderField::operator[](const int index)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_value_iterator
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::operator[](const int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: atscppapi::HeaderField::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::str()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:382,1
    - Dst: HeaderField::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:383,1
    - Dst: HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:384,1
    - Dst: HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - os
    - obj
    argTypes:
    - std::ostream
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: '&

      operator<<(std::ostream &os, HeaderField &obj)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField::name
    - HeaderField::size
    - HeaderField::begin
    - HeaderField::end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, HeaderField &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hdr_buf
    - hdr_loc
    - field_loc
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: atscppapi::header_field_iterator::header_field_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    - static_cast<TSMLoc>
    - static_cast<TSMBuffer>
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::header_field_iterator(void *hdr_buf, void
      *hdr_loc, void *field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: atscppapi::header_field_iterator::header_field_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::header_field_iterator(const header_field_iterator
      &it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: '&

      header_field_iterator::operator=(const header_field_iterator &rhs)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::operator=(const header_field_iterator &rhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: header_field_iterator::~header_field_iterator()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::~header_field_iterator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextField
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:422,1
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - std::unique_ptr<HeaderFieldIteratorState>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: atscppapi::advanceIterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    - getNextField
    linkageType: ''
    returnType: std::unique_ptr<HeaderFieldIteratorState>
    signature: std::unique_ptr<HeaderFieldIteratorState> advanceIterator(std::unique_ptr<HeaderFieldIteratorState>
      state, TSMLoc (*getNextField)(TSMBuffer, TSMLoc, TSMLoc))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advanceIterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: '&

      header_field_iterator::operator++()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::move
    - advanceIterator
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: header_field_iterator::operator++(int)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator header_field_iterator::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advanceIterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:446,1
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: '&

      header_field_iterator::nextDup()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::move
    - advanceIterator
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::nextDup()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: header_field_iterator::operator==(const header_field_iterator &rhs)
      const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_iterator::operator==(const header_field_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: header_field_iterator::operator!=(const header_field_iterator &rhs)
      const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_iterator::operator!=(const header_field_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: header_field_iterator::operator*()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField header_field_iterator::operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:479,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: atscppapi::HeadersState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HeadersState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:487,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: atscppapi::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void reset(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: ~HeadersState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::reset
    linkageType: ''
    returnType: void
    signature: void ~HeadersState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeadersState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: atscppapi::Headers::Headers
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeadersState>
    linkageType: ''
    returnType: void
    signature: void Headers::Headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeadersState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:504,1
    - Dst: atscppapi::Headers::reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bufp
    - mloc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: atscppapi::Headers::Headers
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::reset
    - std::make_unique<HeadersState>
    linkageType: ''
    returnType: void
    signature: void Headers::Headers(void *bufp, void *mloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufp
    - mloc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: atscppapi::Headers::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::Headers::reset
    - static_cast<TSMBuffer>
    - static_cast<TSMLoc>
    linkageType: ''
    returnType: void
    signature: void Headers::reset(void *bufp, void *mloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: Headers::~Headers()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Headers::~Headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: atscppapi::Headers::isInitialized
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Headers::isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:525,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: atscppapi::Headers::empty
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::begin
    - atscppapi::Headers::end
    linkageType: ''
    returnType: bool
    signature: bool Headers::empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: atscppapi::Headers::size
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrLengthGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: atscppapi::Headers::lengthBytes
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrLengthGet
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::lengthBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:543,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 4
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: atscppapi::Headers::begin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldGet
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: atscppapi::Headers::end
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsClear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: atscppapi::Headers::clear
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldsClear
    linkageType: ''
    returnType: bool
    signature: bool Headers::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldDestroy
    linkageType: ''
    returnType: bool
    signature: bool Headers::erase(const header_field_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - std::string::length
    - std::string::c_str
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::erase(const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:574,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:576,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:578,1
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::Headers::find
    - header_field_iterator::nextDup
    - atscppapi::Headers::end
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::erase(const char *key, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:589,1
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:590,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:590,1
    - Dst: name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:591,1
    - Dst: HeaderFieldName::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    - Dst: ::strncasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    - Dst: HeaderFieldName::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: atscppapi::Headers::count
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::end
    - name
    - strlen
    - HeaderFieldName::length
    - atscppapi::Headers::begin
    - ::strncasecmp
    - HeaderFieldName::c_str
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::count(const char *key, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::count
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: atscppapi::Headers::count
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::Headers::count
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::count(const std::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:610,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:611,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:613,1
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 617
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - header_field_iterator::nextDup
    - atscppapi::Headers::end
    - std::string::size
    - atscppapi::Headers::find
    - atscppapi::Headers::values
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const char *join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:622,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::Headers::values
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const std::string
      &join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 3
    functionsReached:
    - atscppapi::Headers::values
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const char join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: atscppapi::Headers::find
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - atscppapi::Headers::find
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::find(const std::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:640,1
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:642,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: atscppapi::Headers::find
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - TSMimeHdrFieldFind
    - atscppapi::Headers::end
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::find(const char *key, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:653,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:655,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:657,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 661
    functionName: atscppapi::Headers::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_iterator
    - atscppapi::Headers::end
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - std::string::length
    - std::string::c_str
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: Headers::iterator
    signature: Headers::iterator Headers::append(const std::string &key, const std::string
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:666,1
    - Dst: atscppapi::Headers::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 6
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: atscppapi::Headers::set
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::append
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::iterator
    signature: Headers::iterator Headers::set(const std::string &key, const std::string
      &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:674,1
    - Dst: end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:675,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 680
    functionName: Headers::operator[](const std::string &key)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - find
    - append
    - end
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField Headers::operator[](const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: atscppapi::Headers::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:696,1
    - Dst: HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: atscppapi::Headers::wireStr
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField::name
    - HeaderField::values
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::wireStr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:707,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - os
    - obj
    argTypes:
    - std::ostream
    - atscppapi::Headers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 5
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: '&

      operator<<(std::ostream &os, atscppapi::Headers &obj)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::begin
    - atscppapi::Headers::end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, atscppapi::Headers &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: atscppapi::HeaderFieldName::HeaderFieldName
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::HeaderFieldName(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: HeaderFieldName::operator std::string()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::operator std::string()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: HeaderFieldName::operator const char *()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void HeaderFieldName::operator const char *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: atscppapi::HeaderFieldName::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderFieldName::str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderFieldName::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: atscppapi::HeaderFieldName::length
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::HeaderFieldName::length
    linkageType: ''
    returnType: HeaderFieldName::size_type
    signature: HeaderFieldName::size_type HeaderFieldName::length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderFieldName::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: atscppapi::HeaderFieldName::c_str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::HeaderFieldName::c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      HeaderFieldName::c_str()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:79,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: HeaderFieldName::operator==(const char *field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - c_str
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator==(const char *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: HeaderFieldName::operator==(const std::string &field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator==(const std::string &field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: HeaderFieldName::operator!=(const char *field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator!=(const char *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: HeaderFieldName::operator!=(const std::string &field_name)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderFieldName::operator!=(const std::string &field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: atscppapi::HeaderFieldValueIteratorState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderFieldValueIteratorState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    - index
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: atscppapi::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc field_loc, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldValueIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:121,1
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    - index
    argTypes:
    - void*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: atscppapi::header_field_value_iterator::header_field_value_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - reset
    - static_cast<TSMBuffer>
    - static_cast<TSMLoc>
    - std::make_unique<HeaderFieldValueIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::header_field_value_iterator(void
      *bufp, void *hdr_loc, void *field_loc, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldValueIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:127,1
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: atscppapi::header_field_value_iterator::header_field_value_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::make_unique<HeaderFieldValueIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::header_field_value_iterator(const
      header_field_value_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: header_field_value_iterator::~header_field_value_iterator()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void header_field_value_iterator::~header_field_value_iterator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:138,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:140,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: header_field_value_iterator::operator*()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueStringGet
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string header_field_value_iterator::operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: '&

      header_field_value_iterator::operator++()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_value_iterator
    signature: 'header_field_value_iterator &

      header_field_value_iterator::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: header_field_value_iterator::operator++(int)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator header_field_value_iterator::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: header_field_value_iterator::operator==(const header_field_value_iterator
      &rhs) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_value_iterator::operator==(const header_field_value_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: header_field_value_iterator::operator!=(const header_field_value_iterator
      &rhs) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_value_iterator::operator!=(const header_field_value_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: atscppapi::MLocContainer
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLocContainer(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc field_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: ~MLocContainer()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~MLocContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLocContainer::MLocContainer
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: atscppapi::HeaderFieldIteratorState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - MLocContainer::MLocContainer
    linkageType: ''
    returnType: void
    signature: void HeaderFieldIteratorState(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc
      field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: HeaderField::~HeaderField()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::~HeaderField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: atscppapi::HeaderField::size
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldValuesCount
    linkageType: ''
    returnType: HeaderField::size_type
    signature: HeaderField::size_type HeaderField::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: atscppapi::HeaderField::begin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - header_field_value_iterator
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator HeaderField::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:220,1
    - Dst: atscppapi::HeaderField::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: atscppapi::HeaderField::end
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - header_field_value_iterator
    - atscppapi::HeaderField::size
    linkageType: ''
    returnType: header_field_value_iterator
    signature: header_field_value_iterator HeaderField::end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:228,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:231,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: atscppapi::HeaderField::name
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameGet
    - std::string
    linkageType: ''
    returnType: HeaderFieldName
    signature: HeaderFieldName HeaderField::name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:240,1
    - Dst: atscppapi::HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:240,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:241,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:242,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - join
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - std::string::size
    - atscppapi::HeaderField::begin
    - std::string::append
    - atscppapi::HeaderField::end
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const char *join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:252,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 3
    functionsReached:
    - atscppapi::HeaderField::values
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const std::string &join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:258,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - join
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: atscppapi::HeaderField::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - atscppapi::HeaderField::values
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::values(const char join)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:264,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:265,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:266,1
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:269,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:271,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:271,1
    - Dst: atscppapi::Headers::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:272,1
    - Dst: atscppapi::Headers::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:275,1
    - Dst: string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - key
    - index
    argTypes:
    - std::string
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: atscppapi::Headers::value
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_iterator::nextDup
    - string
    - atscppapi::Headers::end
    - atscppapi::Headers::find
    - atscppapi::Headers::size
    - atscppapi::Headers::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::value(const std::string &key, size_type index
      /* = 0 */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:283,1
    - Dst: atscppapi::HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: atscppapi::HeaderField::empty
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::HeaderField::begin
    - atscppapi::HeaderField::end
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: atscppapi::HeaderField::clear
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValuesClear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueDelete
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_value_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: atscppapi::HeaderField::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueDelete
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::erase(const header_field_value_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::HeaderField::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: atscppapi::HeaderField::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::HeaderField::append
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::append(const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 5
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: atscppapi::HeaderField::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::append(const char *value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:316,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:317,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: atscppapi::HeaderField::setName
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameSet
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::setName(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:323,1
    - Dst: name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: HeaderField::operator==(const char *field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - name
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator==(const char *field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: HeaderField::operator==(const std::string &field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator==(const std::string &field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: HeaderField::operator!=(const char *field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator!=(const char *field_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: HeaderField::operator!=(const std::string &field_name) const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator!=(const std::string &field_name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:347,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - field_value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: HeaderField::operator=(const std::string &field_value)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - append
    - clear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator=(const std::string &field_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:357,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - field_value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: HeaderField::operator=(const char *field_value)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - append
    - clear
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::operator=(const char *field_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_value_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: HeaderField::operator[](const int index)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - header_field_value_iterator
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::operator[](const int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: atscppapi::HeaderField::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::str()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:382,1
    - Dst: HeaderField::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:383,1
    - Dst: HeaderField::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:384,1
    - Dst: HeaderField::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - os
    - obj
    argTypes:
    - std::ostream
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: '&

      operator<<(std::ostream &os, HeaderField &obj)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField::name
    - HeaderField::size
    - HeaderField::begin
    - HeaderField::end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, HeaderField &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:394,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hdr_buf
    - hdr_loc
    - field_loc
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: atscppapi::header_field_iterator::header_field_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    - static_cast<TSMLoc>
    - static_cast<TSMBuffer>
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::header_field_iterator(void *hdr_buf, void
      *hdr_loc, void *field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: atscppapi::header_field_iterator::header_field_iterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::header_field_iterator(const header_field_iterator
      &it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: '&

      header_field_iterator::operator=(const header_field_iterator &rhs)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::operator=(const header_field_iterator &rhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: header_field_iterator::~header_field_iterator()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void header_field_iterator::~header_field_iterator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextField
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:422,1
    - Dst: std::make_unique<HeaderFieldIteratorState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - std::unique_ptr<HeaderFieldIteratorState>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: atscppapi::advanceIterator
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeaderFieldIteratorState>
    - getNextField
    linkageType: ''
    returnType: std::unique_ptr<HeaderFieldIteratorState>
    signature: std::unique_ptr<HeaderFieldIteratorState> advanceIterator(std::unique_ptr<HeaderFieldIteratorState>
      state, TSMLoc (*getNextField)(TSMBuffer, TSMLoc, TSMLoc))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advanceIterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: '&

      header_field_iterator::operator++()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::move
    - advanceIterator
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: header_field_iterator::operator++(int)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator header_field_iterator::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advanceIterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:446,1
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: '&

      header_field_iterator::nextDup()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::move
    - advanceIterator
    linkageType: ''
    returnType: header_field_iterator
    signature: 'header_field_iterator &

      header_field_iterator::nextDup()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: header_field_iterator::operator==(const header_field_iterator &rhs)
      const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_iterator::operator==(const header_field_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: header_field_iterator::operator!=(const header_field_iterator &rhs)
      const
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_field_iterator::operator!=(const header_field_iterator
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: header_field_iterator::operator*()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField header_field_iterator::operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:479,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: atscppapi::HeadersState
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HeadersState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:487,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: atscppapi::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void reset(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: ~HeadersState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~HeadersState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeadersState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: atscppapi::Headers::Headers
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HeadersState>
    linkageType: ''
    returnType: void
    signature: void Headers::Headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HeadersState>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:504,1
    - Dst: atscppapi::Headers::reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bufp
    - mloc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: atscppapi::Headers::Headers
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::reset
    - std::make_unique<HeadersState>
    linkageType: ''
    returnType: void
    signature: void Headers::Headers(void *bufp, void *mloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::reset
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    - Dst: static_cast<TSMBuffer>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    - Dst: static_cast<TSMLoc>
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufp
    - mloc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: atscppapi::Headers::reset
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - atscppapi::Headers::reset
    - static_cast<TSMBuffer>
    - static_cast<TSMLoc>
    linkageType: ''
    returnType: void
    signature: void Headers::reset(void *bufp, void *mloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: Headers::~Headers()
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Headers::~Headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: atscppapi::Headers::isInitialized
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Headers::isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:525,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: atscppapi::Headers::empty
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::begin
    - atscppapi::Headers::end
    linkageType: ''
    returnType: bool
    signature: bool Headers::empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: atscppapi::Headers::size
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrLengthGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: atscppapi::Headers::lengthBytes
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrLengthGet
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::lengthBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:543,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 4
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: atscppapi::Headers::begin
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 6
    functionsReached:
    - TSMimeHdrFieldGet
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: atscppapi::Headers::end
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 10
    functionsReached:
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsClear
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: atscppapi::Headers::clear
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldsClear
    linkageType: ''
    returnType: bool
    signature: bool Headers::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldDestroy
    linkageType: ''
    returnType: bool
    signature: bool Headers::erase(const header_field_iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - std::string::length
    - std::string::c_str
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::erase(const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:574,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:576,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:578,1
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: atscppapi::Headers::erase
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 5
    functionsReached:
    - atscppapi::Headers::find
    - header_field_iterator::nextDup
    - atscppapi::Headers::end
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::erase(const char *key, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:589,1
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:590,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:590,1
    - Dst: name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:591,1
    - Dst: HeaderFieldName::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    - Dst: ::strncasecmp
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    - Dst: HeaderFieldName::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: atscppapi::Headers::count
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - atscppapi::Headers::end
    - name
    - strlen
    - HeaderFieldName::length
    - atscppapi::Headers::begin
    - ::strncasecmp
    - HeaderFieldName::c_str
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::count(const char *key, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::count
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: atscppapi::Headers::count
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 2
    functionsReached:
    - atscppapi::Headers::count
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: Headers::size_type
    signature: Headers::size_type Headers::count(const std::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:609,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:610,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:611,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:613,1
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 617
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 4
    functionsReached:
    - header_field_iterator::nextDup
    - atscppapi::Headers::end
    - std::string::size
    - atscppapi::Headers::find
    - atscppapi::Headers::values
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const char *join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:622,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 5
    functionsReached:
    - atscppapi::Headers::values
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const std::string
      &join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - join
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: atscppapi::Headers::values
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 6
    functionsReached:
    - atscppapi::Headers::values
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::values(const std::string &key, const char join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: atscppapi::Headers::find
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 8
    functionsReached:
    - atscppapi::Headers::find
    - std::string::c_str
    - std::string::length
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::find(const std::string &key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:640,1
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:642,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: atscppapi::Headers::find
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 8
    functionsReached:
    - TSMimeHdrFieldFind
    - atscppapi::Headers::end
    - header_field_iterator
    linkageType: ''
    returnType: header_field_iterator
    signature: header_field_iterator Headers::find(const char *key, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:653,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:654,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:655,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:656,1
    - Dst: header_field_iterator
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:657,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 661
    functionName: atscppapi::Headers::append
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 1
    functionsReached:
    - header_field_iterator
    - atscppapi::Headers::end
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - std::string::length
    - std::string::c_str
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: Headers::iterator
    signature: Headers::iterator Headers::append(const std::string &key, const std::string
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::erase
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:666,1
    - Dst: atscppapi::Headers::append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 6
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: atscppapi::Headers::set
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::append
    - atscppapi::Headers::erase
    linkageType: ''
    returnType: Headers::iterator
    signature: Headers::iterator Headers::set(const std::string &key, const std::string
      &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:674,1
    - Dst: end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:675,1
    - Dst: append
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 680
    functionName: Headers::operator[](const std::string &key)
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - find
    - append
    - end
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField Headers::operator[](const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: atscppapi::Headers::str
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::name
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:696,1
    - Dst: HeaderField::values
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: atscppapi::Headers::wireStr
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - HeaderField::name
    - HeaderField::values
    linkageType: ''
    returnType: std::string
    signature: std::string Headers::wireStr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::Headers::begin
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:707,1
    - Dst: atscppapi::Headers::end
      Src: /src/trafficserver/src/tscpp/api/Headers.cc:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - os
    - obj
    argTypes:
    - std::ostream
    - atscppapi::Headers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 5
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: '&

      operator<<(std::ostream &os, atscppapi::Headers &obj)'
    functionSourceFile: /src/trafficserver/src/tscpp/api/Headers.cc
    functionUses: 0
    functionsReached:
    - atscppapi::Headers::begin
    - atscppapi::Headers::end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, atscppapi::Headers &obj)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:58,1
    - Dst: reset
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:67,1
    - Dst: Request::Request
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - url_str
    - http_method
    - request_body
    - streaming_flag
    argTypes:
    - string
    - HttpMethod
    - string
    - AsyncHttpFetch::StreamingFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: AsyncHttpFetchState
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::move
    - Request::Request
    linkageType: ''
    returnType: void
    signature: "void AsyncHttpFetchState(const string &url_str, HttpMethod http_method,
      string request_body,\n                      AsyncHttpFetch::StreamingFlag streaming_flag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:78,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:81,1
    - Dst: TSFetchDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: ~AsyncHttpFetchState()
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSFetchDestroy
    linkageType: ''
    returnType: void
    signature: void ~AsyncHttpFetchState()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:97,1
    - Dst: static_cast<AsyncHttpFetch *>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:98,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:98,1
    - Dst: atscppapi::utils::internal::getAsyncHttpFetchState
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:99,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:102,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:103,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:105,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:108,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:109,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:110,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:111,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:112,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:113,1
    - Dst: atscppapi::utils::internal::initResponse
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:116,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:117,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:119,1
    - Dst: AsyncHttpFetchState*::request_::getUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:119,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:121,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:123,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:125,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:126,1
    - Dst: static_cast<AsyncHttpFetch::Result>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:128,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:131,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:132,1
    - Dst: atscppapi::utils::internal::initResponse
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:133,1
    - Dst: TSFetchRespHdrMBufGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:133,1
    - Dst: TSFetchRespHdrMLocGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:134,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:135,1
    - Dst: TSFetchReadData
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:139,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:140,1
    - Dst: AsyncHttpFetchState*::dispatch_controller_::dispatch
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:144,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:145,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:149,1
    - Dst: atscppapi::utils::internal::deleteAsyncHttpFetch
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:150,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 154
    functionName: handleFetchEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - TSFetchRespHdrMLocGet
    - TSContDestroy
    - TSHttpParserDestroy
    - TSFetchRespHdrMBufGet
    - TSHttpHdrParseResp
    - static_cast<TSEvent>
    - TSContDataGet
    - AsyncHttpFetchState*::request_::getUrl
    - TSHttpHdrStatusGet
    - static_cast<AsyncHttpFetch *>
    - LOG_ERROR
    - TSHttpHdrTypeSet
    - static_cast<AsyncHttpFetch::Result>
    - LOG_DEBUG
    - static_cast<int>
    - atscppapi::utils::internal::getAsyncHttpFetchState
    - atscppapi::utils::internal::deleteAsyncHttpFetch
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSFetchRespGet
    - TSHttpHdrCreate
    - static_cast<TSHttpTxn>
    - AsyncHttpFetchState*::dispatch_controller_::dispatch
    - TSFetchReadData
    - atscppapi::utils::internal::initResponse
    linkageType: ''
    returnType: int
    signature: int handleFetchEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:97,1
    - Dst: static_cast<AsyncHttpFetch *>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:98,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:98,1
    - Dst: atscppapi::utils::internal::getAsyncHttpFetchState
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:99,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:102,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:103,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:105,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:108,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:109,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:110,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:111,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:112,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:113,1
    - Dst: atscppapi::utils::internal::initResponse
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:116,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:117,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:119,1
    - Dst: AsyncHttpFetchState*::request_::getUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:119,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:121,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:123,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:125,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:126,1
    - Dst: static_cast<AsyncHttpFetch::Result>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:128,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:131,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:132,1
    - Dst: atscppapi::utils::internal::initResponse
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:133,1
    - Dst: TSFetchRespHdrMBufGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:133,1
    - Dst: TSFetchRespHdrMLocGet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:134,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:135,1
    - Dst: TSFetchReadData
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:139,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:140,1
    - Dst: AsyncHttpFetchState*::dispatch_controller_::dispatch
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:144,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:145,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:149,1
    - Dst: atscppapi::utils::internal::deleteAsyncHttpFetch
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:150,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 154
    functionName: handleFetchEvents
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - TSFetchRespHdrMLocGet
    - TSContDestroy
    - TSHttpParserDestroy
    - TSFetchRespHdrMBufGet
    - TSHttpHdrParseResp
    - static_cast<TSEvent>
    - TSContDataGet
    - AsyncHttpFetchState*::request_::getUrl
    - TSHttpHdrStatusGet
    - static_cast<AsyncHttpFetch *>
    - LOG_ERROR
    - TSHttpHdrTypeSet
    - static_cast<AsyncHttpFetch::Result>
    - LOG_DEBUG
    - static_cast<int>
    - atscppapi::utils::internal::getAsyncHttpFetchState
    - atscppapi::utils::internal::deleteAsyncHttpFetch
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSFetchRespGet
    - TSHttpHdrCreate
    - static_cast<TSHttpTxn>
    - AsyncHttpFetchState*::dispatch_controller_::dispatch
    - TSFetchReadData
    - atscppapi::utils::internal::initResponse
    linkageType: ''
    returnType: int
    signature: int handleFetchEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::init
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url_str
    - request_body
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: AsyncHttpFetch::AsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::init
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::AsyncHttpFetch(const string &url_str, const string
      &request_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::init
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url_str
    - http_method
    argTypes:
    - string
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: AsyncHttpFetch::AsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::init
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::AsyncHttpFetch(const string &url_str, HttpMethod
      http_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::init
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url_str
    - streaming_flag
    - request_body
    argTypes:
    - string
    - StreamingFlag
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: AsyncHttpFetch::AsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::init
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::AsyncHttpFetch(const string &url_str, StreamingFlag
      streaming_flag, const string &request_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncHttpFetch::init
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url_str
    - streaming_flag
    - http_method
    argTypes:
    - string
    - StreamingFlag
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: AsyncHttpFetch::AsyncHttpFetch
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - AsyncHttpFetch::init
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::AsyncHttpFetch(const string &url_str, StreamingFlag
      streaming_flag, HttpMethod http_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:180,1
    - Dst: std::make_unique<AsyncHttpFetchState>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - url_str
    - http_method
    - request_body
    - streaming_flag
    argTypes:
    - string
    - HttpMethod
    - string
    - StreamingFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: AsyncHttpFetch::init
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 4
    functionsReached:
    - std::make_unique<AsyncHttpFetchState>
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::init(const string &url_str, HttpMethod http_method,
      const string &request_body, StreamingFlag streaming_flag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDispatchController
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:187,1
    - Dst: TSContCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:189,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:189,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:190,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:190,1
    - Dst: request_::getHeaders
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:197,1
    - Dst: Headers::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:198,1
    - Dst: Headers::erase
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:200,1
    - Dst: Headers::erase
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:201,1
    - Dst: request_body_::empty
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:203,1
    - Dst: snprintf
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:205,1
    - Dst: request_body_::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:205,1
    - Dst: Headers::set
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:206,1
    - Dst: request_::getMethod
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:215,1
    - Dst: request_::getUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:217,1
    - Dst: request_::getVersion
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:219,1
    - Dst: Headers::wireStr
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:221,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:225,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:225,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:226,1
    - Dst: string::c_str
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:226,1
    - Dst: string::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:226,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:226,1
    - Dst: TSFetchCreate
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:230,1
    - Dst: request_::getMethod
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:230,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:230,1
    - Dst: request_::getUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:231,1
    - Dst: request_::getVersion
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:231,1
    - Dst: c_str
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:231,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:232,1
    - Dst: name
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:235,1
    - Dst: values
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:236,1
    - Dst: TSFetchHeaderAdd
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:237,1
    - Dst: HeaderFieldName::c_str
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:237,1
    - Dst: HeaderFieldName::length
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:237,1
    - Dst: string::data
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:237,1
    - Dst: string::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:237,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:239,1
    - Dst: TSFetchLaunch
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:240,1
    - Dst: request_body_::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:241,1
    - Dst: TSFetchWriteData
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:242,1
    - Dst: request_body_::data
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:242,1
    - Dst: request_body_::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:242,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:243,1
    - Dst: request_body_::size
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 246
    functionName: AsyncHttpFetch::run
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - request_body_::size
    - static_cast<void *>
    - values
    - TSFetchLaunch
    - Headers::erase
    - TSFetchCreate
    - snprintf
    - request_::getHeaders
    - request_::getMethod
    - Headers::wireStr
    - request_body_::data
    - Headers::size
    - TSFetchHeaderAdd
    - TSFetchWriteData
    - reinterpret_cast<struct sockaddr const *>
    - LOG_DEBUG
    - string::c_str
    - TSFetchUrl
    - string::size
    - TSContCreate
    - name
    - request_::getUrl
    - TSMutexCreate
    - getDispatchController
    - request_::getVersion
    - TSContDataSet
    - request_body_::empty
    - string::data
    - Headers::set
    - c_str
    - HeaderFieldName::length
    - HeaderFieldName::c_str
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: request_::getHeaders
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '&

      AsyncHttpFetch::getRequestHeaders()'
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - request_::getHeaders
    linkageType: ''
    returnType: Headers
    signature: 'Headers &

      AsyncHttpFetch::getRequestHeaders()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: AsyncHttpFetch::getResult
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AsyncHttpFetch::Result
    signature: AsyncHttpFetch::Result AsyncHttpFetch::getResult() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: request_::getUrl
      Src: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      AsyncHttpFetch::getRequestUrl() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached:
    - request_::getUrl
    linkageType: ''
    returnType: Url
    signature: 'Url &

      AsyncHttpFetch::getRequestUrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: '&

      AsyncHttpFetch::getRequestBody() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: 'string &

      AsyncHttpFetch::getRequestBody() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '&

      AsyncHttpFetch::getResponse() const'
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: 'Response &

      AsyncHttpFetch::getResponse() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - body
    - body_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: AsyncHttpFetch::getResponseBody
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::getResponseBody(const void *&body, size_t &body_size)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: AsyncHttpFetch::~AsyncHttpFetch()
    functionSourceFile: /src/trafficserver/src/tscpp/api/AsyncHttpFetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncHttpFetch::~AsyncHttpFetch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:51,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: append_slash
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void append_slash(std::string &path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:59,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: remove_slash
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - std::string::pop_back
    linkageType: ''
    returnType: void
    signature: void remove_slash(std::string &path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: append_slash
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:68,1
    - Dst: is_directory
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:70,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:76,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:78,1
    - Dst: mkdir
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:80,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:80,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:84,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:85,1
    - Dst: mkdir
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:88,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: create_directory
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::string::substr
    - mkdir
    - append_slash
    - is_directory
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const std::string &dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rm_func
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:110,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:111,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - path
    - s
    - flag
    - f
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: remove_function
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - ink_notice
    - rm_func
    - strerror
    linkageType: ''
    returnType: int
    signature: int remove_function(const char *path, [[maybe_unused]] const struct
      stat *s, int flag, [[maybe_unused]] struct FTW *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:124,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:125,1
    - Dst: remove_directory
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:130,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - path
    - s
    - flag
    - f
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: remove_inside_function
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - remove_directory
    - remove
    - ink_error
    linkageType: ''
    returnType: int
    signature: int remove_inside_function(const char *path, [[maybe_unused]] const
      struct stat *s, int flag, [[maybe_unused]] struct FTW *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove_slash
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:144,1
    - Dst: nftw
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:145,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: remove_directory
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 1
    functionsReached:
    - remove_slash
    - nftw
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool remove_directory(const std::string &dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove_slash
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:157,1
    - Dst: nftw
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:159,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: remove_inside_directory
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - remove_slash
    - nftw
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool remove_inside_directory(const std::string &dir)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:176,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:176,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:182,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - dir
    - dst_path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: filter_ts_directories
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool filter_ts_directories(const std::string &dir, const std::string
      &dst_path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:195,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:195,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:195,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:195,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:202,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:202,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:203,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:203,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:209,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:209,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - dir
    - dst_path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: filter_ts_files
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::string::substr
    - find
    - std::string::find_last_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool filter_ts_files(const std::string &dir, const std::string &dst_path)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: create_directory
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:223,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:224,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:224,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:228,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:228,1
    - Dst: filter_ts_directories
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:234,1
    - Dst: create_directory
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:238,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:239,1
    - Dst: filter_ts_files
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:244,1
    - Dst: exists
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:248,1
    - Dst: remove
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:249,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:249,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:250,1
    - Dst: symlink
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:256,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:256,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:257,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:257,1
    - Dst: link
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:262,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:262,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:263,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:263,1
    - Dst: std::ifstream::rdbuf
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:272,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:273,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:273,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:274,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:274,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - src_path
    - sb
    - flag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 278
    functionName: ts_copy_function
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - create_directory
    - link
    - std::ifstream::rdbuf
    - symlink
    - chmod
    - std::string::substr
    - std::string::c_str
    - filter_ts_directories
    - ink_warning
    - strerror
    - remove
    - ink_error
    - ink_fatal
    - c_str
    - filter_ts_files
    - size
    - exists
    linkageType: ''
    returnType: int
    signature: int ts_copy_function(const char *src_path, const struct stat *sb, int
      flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove_slash
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:288,1
    - Dst: append_slash
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:289,1
    - Dst: ftw
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:291,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_layout/file_system.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - src
    - dst
    - dir
    - style
    argTypes:
    - std::string
    - std::string
    - std::string
    - CopyStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: copy_directory
    functionSourceFile: /src/trafficserver/src/traffic_layout/file_system.cc
    functionUses: 0
    functionsReached:
    - append_slash
    - remove_slash
    - ftw
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool copy_directory(const std::string &src, const std::string &dst,
      const std::string &dir, CopyStyle style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:66,1
    - Dst: exists
      Src: /src/trafficserver/src/traffic_layout/engine.cc:67,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:68,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:68,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: check_path
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - exists
    - ink_warning
    - Layout::relative_to
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string check_path(const std::string &path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/trafficserver/src/traffic_layout/engine.cc:80,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/traffic_layout/engine.cc:81,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:85,1
    - Dst: exists
      Src: /src/trafficserver/src/traffic_layout/engine.cc:88,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:88,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:91,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/traffic_layout/engine.cc:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: check_parent_path
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - std::string::substr
    - std::string::find_last_of
    - std::string::empty
    - std::string::pop_back
    - Layout::relative_to
    - exists
    linkageType: ''
    returnType: std::string
    signature: std::string check_parent_path(const std::string &path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/trafficserver/src/traffic_layout/engine.cc:102,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:103,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:103,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:110,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:116,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:122,1
    - Dst: check_path
      Src: /src/trafficserver/src/traffic_layout/engine.cc:125,1
    - Dst: check_path
      Src: /src/trafficserver/src/traffic_layout/engine.cc:127,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:127,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:129,1
    - Dst: check_parent_path
      Src: /src/trafficserver/src/traffic_layout/engine.cc:135,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:136,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:142,1
    - Dst: realpath
      Src: /src/trafficserver/src/traffic_layout/engine.cc:142,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:142,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:145,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/src/traffic_layout/engine.cc:145,1
    - Dst: check_parent_path
      Src: /src/trafficserver/src/traffic_layout/engine.cc:146,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - path
    - run_flag
    - command
    argTypes:
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 153
    functionName: path_handler
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - check_parent_path
    - std::string::substr
    - realpath
    - ink_warning
    - std::string::find_last_of
    - std::string::empty
    - getcwd
    - Layout::relative_to
    - strerror
    - check_path
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string path_handler(const std::string &path, bool run_flag, const
      std::string &command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/traffic_layout/engine.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: check_directory_empty
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: int
    signature: int check_directory_empty(const char *path, const struct stat * /*
      s ATS_UNUSED */, int /* flag ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:165,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:167,1
    - Dst: produce_features
      Src: /src/trafficserver/src/traffic_layout/engine.cc:168,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:169,1
    - Dst: produce_versions
      Src: /src/trafficserver/src/traffic_layout/engine.cc:170,1
    - Dst: produce_layout
      Src: /src/trafficserver/src/traffic_layout/engine.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: LayoutEngine::info
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - get
    - produce_layout
    - produce_features
    - produce_versions
    linkageType: ''
    returnType: void
    signature: void LayoutEngine::info()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: path_handler
      Src: /src/trafficserver/src/traffic_layout/engine.cc:180,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:180,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:181,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:182,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:186,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:187,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:188,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/engine.cc:189,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:190,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:197,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:198,1
    - Dst: transform
      Src: /src/trafficserver/src/traffic_layout/engine.cc:199,1
    - Dst: std::string::begin
      Src: /src/trafficserver/src/traffic_layout/engine.cc:199,1
    - Dst: std::string::end
      Src: /src/trafficserver/src/traffic_layout/engine.cc:199,1
    - Dst: std::string::begin
      Src: /src/trafficserver/src/traffic_layout/engine.cc:199,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:207,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:207,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:212,1
    - Dst: exists
      Src: /src/trafficserver/src/traffic_layout/engine.cc:215,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:215,1
    - Dst: check_parent_path
      Src: /src/trafficserver/src/traffic_layout/engine.cc:221,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:222,1
    - Dst: is_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:230,1
    - Dst: ftw
      Src: /src/trafficserver/src/traffic_layout/engine.cc:232,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:232,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:245,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:273,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/src/traffic_layout/engine.cc:275,1
    - Dst: first::as
      Src: /src/trafficserver/src/traffic_layout/engine.cc:277,1
    - Dst: RunrootMapType::find
      Src: /src/trafficserver/src/traffic_layout/engine.cc:278,1
    - Dst: RunrootMapType::end
      Src: /src/trafficserver/src/traffic_layout/engine.cc:279,1
    - Dst: second::as
      Src: /src/trafficserver/src/traffic_layout/engine.cc:280,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:283,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:283,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:283,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:288,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:288,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_layout/engine.cc:288,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/traffic_layout/engine.cc:289,1
    - Dst: second::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:301,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:307,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:308,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:310,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:312,1
    - Dst: copy_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:317,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:318,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:318,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:318,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/traffic_layout/engine.cc:319,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:319,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:319,1
    - Dst: create_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:321,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:322,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:322,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:322,1
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/src/traffic_layout/engine.cc:336,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:346,1
    - Dst: std::ofstream::bad
      Src: /src/trafficserver/src/traffic_layout/engine.cc:347,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:348,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:350,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 176
    functionDepth: 7
    functionLinenumber: 176
    functionLinenumberEnd: 352
    functionName: LayoutEngine::create_runroot
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - second::as
    - RunrootMapType::end
    - YAML::Emitter::c_str
    - YAML::LoadFile
    - YAML::Emitter::Emitter
    - strerror
    - exists
    - get
    - create_directory
    - what
    - ftw
    - std::string::empty
    - copy_directory
    - path_handler
    - std::string::c_str
    - RunrootMapType::find
    - first::as
    - second::substr
    - ink_error
    - std::string::begin
    - std::string::end
    - Layout::get
    - is_directory
    - Layout::relative_to
    - std::string::find
    - check_parent_path
    - std::string::size
    - ink_warning
    - first::c_str
    - ink_notice
    - std::ofstream::bad
    - transform
    linkageType: ''
    returnType: void
    signature: void LayoutEngine::create_runroot()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: path_handler
      Src: /src/trafficserver/src/traffic_layout/engine.cc:358,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:358,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:360,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:361,1
    - Dst: append_slash
      Src: /src/trafficserver/src/traffic_layout/engine.cc:367,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:369,1
    - Dst: remove_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:372,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:373,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:373,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:373,1
    - Dst: runroot_map
      Src: /src/trafficserver/src/traffic_layout/engine.cc:377,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:377,1
    - Dst: RunrootMapType::erase
      Src: /src/trafficserver/src/traffic_layout/engine.cc:378,1
    - Dst: RunrootMapType::erase
      Src: /src/trafficserver/src/traffic_layout/engine.cc:379,1
    - Dst: getcwd
      Src: /src/trafficserver/src/traffic_layout/engine.cc:383,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:384,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:384,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:390,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:390,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:390,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:390,1
    - Dst: append_slash
      Src: /src/trafficserver/src/traffic_layout/engine.cc:391,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:393,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/traffic_layout/engine.cc:393,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:393,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_layout/engine.cc:393,1
    - Dst: remove_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:397,1
    - Dst: remove_inside_directory
      Src: /src/trafficserver/src/traffic_layout/engine.cc:400,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:404,1
    - Dst: remove
      Src: /src/trafficserver/src/traffic_layout/engine.cc:405,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:405,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/traffic_layout/engine.cc:406,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:406,1
    - Dst: append_slash
      Src: /src/trafficserver/src/traffic_layout/engine.cc:409,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/engine.cc:410,1
    - Dst: remove
      Src: /src/trafficserver/src/traffic_layout/engine.cc:412,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:412,1
    - Dst: ink_notice
      Src: /src/trafficserver/src/traffic_layout/engine.cc:413,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:413,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 355
    functionDepth: 7
    functionLinenumber: 355
    functionLinenumberEnd: 417
    functionName: LayoutEngine::remove_runroot
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - strerror
    - get
    - std::string::empty
    - getcwd
    - remove
    - RunrootMapType::erase
    - remove_directory
    - path_handler
    - std::string::c_str
    - runroot_map
    - ink_error
    - append_slash
    - Layout::relative_to
    - remove_inside_directory
    - std::string::find
    - ink_warning
    - std::string::size
    - ink_notice
    linkageType: ''
    returnType: void
    signature: void LayoutEngine::remove_runroot()
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: filter_ts_files
      Src: /src/trafficserver/src/traffic_layout/engine.cc:425,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:429,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:429,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:439,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:440,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:440,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:453,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:454,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:454,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:467,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:468,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:468,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:482,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:483,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:483,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:496,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:497,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:497,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/engine.cc:512,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_layout/engine.cc:512,1
    - Dst: chmod
      Src: /src/trafficserver/src/traffic_layout/engine.cc:517,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:518,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:518,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 3
    argNames:
    - path
    - s
    - flag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 530
    functionName: permission_handler
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - chmod
    - ink_warning
    - filter_ts_files
    - strerror
    linkageType: ''
    returnType: int
    signature: int permission_handler(const char *path, const struct stat *s, int
      flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_layout/engine.cc:538,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:539,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 551
    functionName: check_directory_permission
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - stat
    - strerror
    - ink_warning
    linkageType: ''
    returnType: bool
    signature: bool check_directory_permission(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getgrouplist
      Src: /src/trafficserver/src/traffic_layout/engine.cc:566,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - user
    - group_id
    - path_gid
    argTypes:
    - char*
    - gid_type
    - gid_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 576
    functionName: from_group
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - getgrouplist
    - ink_warning
    linkageType: ''
    returnType: bool
    signature: bool from_group(const char *user, gid_type group_id, gid_type path_gid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_layout/engine.cc:592,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:592,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/traffic_layout/engine.cc:593,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:593,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_layout/engine.cc:593,1
    - Dst: from_group
      Src: /src/trafficserver/src/traffic_layout/engine.cc:605,1
    - Dst: check_directory_permission
      Src: /src/trafficserver/src/traffic_layout/engine.cc:620,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:620,1
    - Dst: ftw
      Src: /src/trafficserver/src/traffic_layout/engine.cc:626,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - permission_map
    - pwd
    argTypes:
    - PermissionMapType
    - struct passwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 635
    functionName: set_permission
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - stat
    - ink_warning
    - ftw
    - from_group
    - strerror
    - check_directory_permission
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void set_permission(PermissionMapType &permission_map, const struct
      passwd *pwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftw
      Src: /src/trafficserver/src/traffic_layout/engine.cc:646,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:646,1
    - Dst: set_permission
      Src: /src/trafficserver/src/traffic_layout/engine.cc:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - permission_map
    - pwd
    argTypes:
    - PermissionMapType
    - struct passwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: fix_runroot
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - ftw
    - set_permission
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void fix_runroot(PermissionMapType &permission_map, const struct passwd
      *pwd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:656,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_layout/engine.cc:656,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:657,1
    - Dst: path_handler
      Src: /src/trafficserver/src/traffic_layout/engine.cc:663,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:663,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:666,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:667,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_layout/engine.cc:669,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_layout/engine.cc:670,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/traffic_layout/engine.cc:671,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_layout/engine.cc:672,1
    - Dst: getpwuid
      Src: /src/trafficserver/src/traffic_layout/engine.cc:680,1
    - Dst: atoi
      Src: /src/trafficserver/src/traffic_layout/engine.cc:680,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:682,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:682,1
    - Dst: getpwnam
      Src: /src/trafficserver/src/traffic_layout/engine.cc:690,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:690,1
    - Dst: ink_error
      Src: /src/trafficserver/src/traffic_layout/engine.cc:692,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_layout/engine.cc:692,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/traffic_layout/engine.cc:698,1
    - Dst: runroot_map_default
      Src: /src/trafficserver/src/traffic_layout/engine.cc:699,1
    - Dst: runroot_map
      Src: /src/trafficserver/src/traffic_layout/engine.cc:701,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_layout/engine.cc:701,1
    - Dst: set_permission
      Src: /src/trafficserver/src/traffic_layout/engine.cc:711,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_layout/engine.cc:713,1
    - Dst: fix_runroot
      Src: /src/trafficserver/src/traffic_layout/engine.cc:714,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 652
    functionDepth: 7
    functionLinenumber: 652
    functionLinenumberEnd: 727
    functionName: LayoutEngine::verify_runroot
    functionSourceFile: /src/trafficserver/src/traffic_layout/engine.cc
    functionUses: 0
    functionsReached:
    - get
    - getuid
    - set_permission
    - auto::value
    - RecProcessInit
    - fix_runroot
    - getpwnam
    - runroot_map
    - LibRecordsConfigInit
    - std::string::empty
    - ink_error
    - atoi
    - runroot_map_default
    - path_handler
    - getpwuid
    - RecGetRecordString
    - Layout::relative_to
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void LayoutEngine::verify_runroot()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:62,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:62,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:62,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:62,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:64,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:64,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:64,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - json
    argTypes:
    - std::string_view
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: print_feature
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - printf
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void print_feature(std::string_view name, int value, bool json, bool
      last = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:72,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - json
    argTypes:
    - std::string_view
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: print_feature
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - printf
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void print_feature(std::string_view name, std::string_view value, bool
      json, bool last = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:83,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:85,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:86,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:87,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:88,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:90,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:92,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:95,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:97,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:100,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:102,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:104,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:105,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:106,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:107,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:108,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:109,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:110,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:111,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:112,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:113,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:114,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:115,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:116,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:117,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:118,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:119,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:120,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:121,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:122,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:123,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:124,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:125,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:126,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:127,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:128,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:129,1
    - Dst: print_feature
      Src: /src/trafficserver/src/traffic_layout/info.cc:130,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - json
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: produce_features
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 1
    functionsReached:
    - printf
    - print_feature
    linkageType: ''
    returnType: void
    signature: void produce_features(bool json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:140,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/traffic_layout/info.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - json
    argTypes:
    - std::string_view
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: print_var
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - printf
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void print_var(std::string_view const &name, std::string_view const
      &value, bool json, bool last = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_layout/info.cc:150,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_layout/info.cc:151,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:154,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:156,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_layout/info.cc:156,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:157,1
    - Dst: RecConfigReadBinDir
      Src: /src/trafficserver/src/traffic_layout/info.cc:157,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:158,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/traffic_layout/info.cc:158,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:159,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_layout/info.cc:159,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:160,1
    - Dst: RecConfigReadLogDir
      Src: /src/trafficserver/src/traffic_layout/info.cc:160,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:161,1
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/traffic_layout/info.cc:161,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:162,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/traffic_layout/info.cc:162,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:163,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_layout/info.cc:163,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:164,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_layout/info.cc:164,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:166,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:166,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:167,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:167,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:168,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:168,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:169,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:169,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:170,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:170,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:171,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:171,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:172,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:172,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:173,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_layout/info.cc:173,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - json
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: produce_layout
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadPluginDir
    - RecConfigReadConfigPath
    - RecProcessInit
    - RecConfigReadConfigDir
    - RecConfigReadBinDir
    - LibRecordsConfigInit
    - RecConfigReadRuntimeDir
    - Layout::get
    - print_var
    - printf
    - RecConfigReadLogDir
    linkageType: ''
    returnType: void
    signature: void produce_layout(bool json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:186,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:189,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:189,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:190,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:190,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:191,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:191,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:192,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:192,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:195,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:195,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:196,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:196,1
    - Dst: hwloc_get_api_version
      Src: /src/trafficserver/src/traffic_layout/info.cc:196,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:198,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:201,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:201,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:202,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:202,1
    - Dst: lzma_version_string
      Src: /src/trafficserver/src/traffic_layout/info.cc:202,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:204,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:207,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:207,1
    - Dst: BrotliEncoderVersion
      Src: /src/trafficserver/src/traffic_layout/info.cc:207,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:209,1
    - Dst: print_var
      Src: /src/trafficserver/src/traffic_layout/info.cc:213,1
    - Dst: LBW
      Src: /src/trafficserver/src/traffic_layout/info.cc:213,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_layout/info.cc:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - json
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: produce_versions
    functionSourceFile: /src/trafficserver/src/traffic_layout/info.cc
    functionUses: 1
    functionsReached:
    - LBW
    - lzma_version_string
    - print_var
    - hwloc_get_api_version
    - printf
    - BrotliEncoderVersion
    linkageType: ''
    returnType: void
    signature: void produce_versions(bool json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LayoutEngine::_argv::push_back
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:37,1
    - Dst: LayoutEngine::parser::add_global_usage
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:40,1
    - Dst: LayoutEngine::parser::add_option
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:43,1
    - Dst: LayoutEngine::parser::add_command
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:48,1
    - Dst: LayoutEngine::info
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:48,1
    - Dst: LayoutEngine::parser::add_command
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:54,1
    - Dst: LayoutEngine::create_runroot
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:54,1
    - Dst: LayoutEngine::parser::add_command
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:61,1
    - Dst: LayoutEngine::remove_runroot
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:61,1
    - Dst: LayoutEngine::parser::add_command
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:65,1
    - Dst: LayoutEngine::verify_runroot
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:65,1
    - Dst: LayoutEngine::parser::parse
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:70,1
    - Dst: LayoutEngine::arguments::get
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:72,1
    - Dst: argparser_runroot_handler
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:73,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:73,1
    - Dst: LayoutEngine::arguments::get
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:73,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:74,1
    - Dst: LayoutEngine::arguments::invoke
      Src: /src/trafficserver/src/traffic_layout/traffic_layout.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 30
    functionDepth: 9
    functionLinenumber: 30
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_layout/traffic_layout.cc
    functionUses: 3
    functionsReached:
    - LayoutEngine::arguments::invoke
    - LayoutEngine::parser::add_option
    - LayoutEngine::parser::add_global_usage
    - auto::value
    - Layout::create
    - LayoutEngine::parser::parse
    - LayoutEngine::arguments::get
    - LayoutEngine::remove_runroot
    - argparser_runroot_handler
    - LayoutEngine::parser::add_command
    - LayoutEngine::_argv::push_back
    - LayoutEngine::info
    - LayoutEngine::create_runroot
    - LayoutEngine::verify_runroot
    linkageType: ''
    returnType: int
    signature: int main([[maybe_unused]] int argc, const char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.h:48,1
    - Dst: std::make_unique<url_matcher>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - path
    argTypes:
    - StripeSM*
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ct::CacheScan::CacheScan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached:
    - std::make_unique<url_matcher>
    - swoc::file::path::empty
    linkageType: ''
    returnType: void
    signature: void CacheScan(StripeSM *str, swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ct::CacheScan::CacheScan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheScan(StripeSM *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~CacheScan()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheScan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.h:48,1
    - Dst: std::make_unique<url_matcher>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - path
    argTypes:
    - StripeSM*
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ct::CacheScan::CacheScan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached:
    - std::make_unique<url_matcher>
    - swoc::file::path::empty
    linkageType: ''
    returnType: void
    signature: void CacheScan(StripeSM *str, swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StripeSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ct::CacheScan::CacheScan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheScan(StripeSM *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~CacheScan()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CacheScan()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:44,1
    - Dst: ct::CacheScan::stripe::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:46,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:47,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:48,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:51,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:54,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:56,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ct::CacheScan::stripe::stripe_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:60,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:61,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:63,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:65,1
    - Dst: ct::CacheScan::get_alternates
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:66,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:66,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:68,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:69,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - search
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: ct::CacheScan::Scan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ct::CacheScan::stripe::stripe_offset
    - dir_bucket
    - dir_approx_size
    - ats_memalign
    - pread
    - ct::CacheScan::get_alternates
    - ats_pagesize
    - dir_offset
    - static_cast<char *>
    - Doc*::hdr
    - next_dir
    - reinterpret_cast<Doc *>
    - std::bitset::reset
    - strerror
    - ct::CacheScan::stripe::dir_segment
    - dir_to_offset
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::Scan(bool search)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:84,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:85,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:87,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:89,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - HTTPHdrImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 0
    functionsReached:
    - HDR_UNMARSHAL_STR
    - Errata::note
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(HTTPHdrImpl *obj, intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:101,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - MIMEHdrImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 1
    functionsReached:
    - ct::CacheScan::unmarshal
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(MIMEHdrImpl *obj, intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:110,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:111,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:112,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:113,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:114,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:115,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:116,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:117,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:118,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - URLImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 1
    functionsReached:
    - HDR_UNMARSHAL_STR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(URLImpl *obj, intptr_t offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:127,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:128,1
    - Dst: swoc::MemSpan::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:133,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:133,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:134,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:138,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:139,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - mf
    - offset
    argTypes:
    - MIMEFieldBlockImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 1
    functionsReached:
    - swoc::MemSpan::contains
    - HDR_UNMARSHAL_STR
    - HDR_UNMARSHAL_PTR
    - reinterpret_cast<char *>
    - Errata::note
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(MIMEFieldBlockImpl *mf, intptr_t offset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:159,1
    - Dst: HdrHeap*::unmarshal_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:163,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:165,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:182,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:185,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:186,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:187,1
    - Dst: m_ref_count_ptr::swizzle
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:200,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:209,1
    - Dst: obj_is_aligned
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:210,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:215,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:219,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:221,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:224,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:227,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:230,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:236,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:237,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:237,1
    - Dst: HdrHeapMarshalBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    - Dst: HdrHeap*::unmarshal_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 5
    argNames:
    - hh
    - buf_length
    - obj_type
    - found_obj
    - block_ref
    argTypes:
    - HdrHeap*
    - int
    - int
    - HdrHeapObjImpl**
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 252
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 2
    functionsReached:
    - ct::CacheScan::unmarshal
    - static_cast<int>
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - obj_is_aligned
    - static_cast<HdrHeapObjType>
    - HdrHeapMarshalBlocks
    - reinterpret_cast<HdrHeapObjImpl *>
    - m_ref_count_ptr::swizzle
    - reinterpret_cast<char *>
    - HdrHeap*::unmarshal_size
    - static_cast<unsigned>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheScan::unmarshal(HdrHeap *hh, int buf_length, int obj_type,
      HdrHeapObjImpl **found_obj, RefCountObj *block_ref)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:258,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:264,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:265,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:268,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:272,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:274,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:282,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:285,1
    - Dst: static_cast<uint64_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:296,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:296,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:297,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:298,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:308,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:311,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:315,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:327,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:328,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:332,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 3
    argNames:
    - buf
    - len
    - block_ref
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 345
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 3
    functionsReached:
    - ct::CacheScan::unmarshal
    - memcpy
    - static_cast<int>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<HdrHeap *>
    - reinterpret_cast<HTTPCacheAlt *>
    - static_cast<uint64_t *>
    - reinterpret_cast<char *>
    - Errata::note
    - ats_malloc
    - reinterpret_cast<HdrHeapObjImpl **>
    - ink_assert
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(char *buf, int len, RefCountObj *block_ref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemSpan<char>::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:354,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:354,1
    - Dst: swoc::MemSpan<char>::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:358,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:358,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - url
    argTypes:
    - swoc::MemSpan<char>
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: ct::CacheScan::check_url
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - reinterpret_cast<char *>
    - static_cast<HdrHeapObjType>
    - swoc::MemSpan<char>::contains
    linkageType: ''
    returnType: bool
    signature: bool CacheScan::check_url(swoc::MemSpan<char> &mem, URLImpl *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:366,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:368,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:372,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:376,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:376,1
    - Dst: Errata::length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:377,1
    - Dst: swoc::MemSpan::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:383,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:383,1
    - Dst: ct::CacheScan::check_url
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:393,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:393,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:394,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:394,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:395,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:395,1
    - Dst: match
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:396,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:396,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:401,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:401,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:403,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:403,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - length
    - search
    argTypes:
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 419
    functionName: ct::CacheScan::get_alternates
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ct::CacheScan::unmarshal
    - Errata::length
    - swoc::MemSpan::contains
    - ct::CacheScan::check_url
    - match
    - const_cast<char *>
    - std::string::data
    - std::string_view
    - reinterpret_cast<char *>
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::get_alternates(const char *buf, int length, bool
      search)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:42,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:44,1
    - Dst: ct::CacheScan::stripe::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:46,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:47,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:48,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:51,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:54,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:56,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:57,1
    - Dst: ct::CacheScan::stripe::stripe_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:60,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:61,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:63,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:65,1
    - Dst: ct::CacheScan::get_alternates
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:66,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:66,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:68,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:69,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - search
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: ct::CacheScan::Scan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ct::CacheScan::stripe::stripe_offset
    - dir_bucket
    - dir_approx_size
    - ats_memalign
    - pread
    - ct::CacheScan::get_alternates
    - ats_pagesize
    - dir_offset
    - static_cast<char *>
    - Doc*::hdr
    - next_dir
    - reinterpret_cast<Doc *>
    - std::bitset::reset
    - strerror
    - ct::CacheScan::stripe::dir_segment
    - dir_to_offset
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::Scan(bool search)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:84,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:85,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:87,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:89,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - HTTPHdrImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 4
    functionsReached:
    - HDR_UNMARSHAL_STR
    - Errata::note
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(HTTPHdrImpl *obj, intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:101,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - MIMEHdrImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 5
    functionsReached:
    - ct::CacheScan::unmarshal
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(MIMEHdrImpl *obj, intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:110,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:111,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:112,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:113,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:114,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:115,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:116,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:117,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:118,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - URLImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 5
    functionsReached:
    - HDR_UNMARSHAL_STR
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(URLImpl *obj, intptr_t offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:127,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:128,1
    - Dst: swoc::MemSpan::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:133,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:133,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:134,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:138,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:139,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - mf
    - offset
    argTypes:
    - MIMEFieldBlockImpl*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 5
    functionsReached:
    - swoc::MemSpan::contains
    - HDR_UNMARSHAL_STR
    - HDR_UNMARSHAL_PTR
    - reinterpret_cast<char *>
    - Errata::note
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(MIMEFieldBlockImpl *mf, intptr_t offset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:159,1
    - Dst: HdrHeap*::unmarshal_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:163,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:165,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:182,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:185,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:186,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:187,1
    - Dst: m_ref_count_ptr::swizzle
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:200,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:209,1
    - Dst: obj_is_aligned
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:210,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:215,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:219,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:221,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:224,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:227,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:230,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:236,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:237,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:237,1
    - Dst: HdrHeapMarshalBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    - Dst: HdrHeap*::unmarshal_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:251,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 5
    argNames:
    - hh
    - buf_length
    - obj_type
    - found_obj
    - block_ref
    argTypes:
    - HdrHeap*
    - int
    - int
    - HdrHeapObjImpl**
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 252
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 6
    functionsReached:
    - ct::CacheScan::unmarshal
    - static_cast<int>
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - obj_is_aligned
    - static_cast<HdrHeapObjType>
    - HdrHeapMarshalBlocks
    - reinterpret_cast<HdrHeapObjImpl *>
    - m_ref_count_ptr::swizzle
    - reinterpret_cast<char *>
    - HdrHeap*::unmarshal_size
    - static_cast<unsigned>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int CacheScan::unmarshal(HdrHeap *hh, int buf_length, int obj_type,
      HdrHeapObjImpl **found_obj, RefCountObj *block_ref)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:258,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:264,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:265,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:268,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:272,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:274,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:282,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:285,1
    - Dst: static_cast<uint64_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:296,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:296,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:297,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:298,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:308,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:311,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:312,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:315,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:327,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:328,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:329,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:332,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 3
    argNames:
    - buf
    - len
    - block_ref
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 345
    functionName: ct::CacheScan::unmarshal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 7
    functionsReached:
    - ct::CacheScan::unmarshal
    - memcpy
    - static_cast<int>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<HdrHeap *>
    - reinterpret_cast<HTTPCacheAlt *>
    - static_cast<uint64_t *>
    - reinterpret_cast<char *>
    - Errata::note
    - ats_malloc
    - reinterpret_cast<HdrHeapObjImpl **>
    - ink_assert
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::unmarshal(char *buf, int len, RefCountObj *block_ref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemSpan<char>::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:354,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:354,1
    - Dst: swoc::MemSpan<char>::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:358,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:358,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - url
    argTypes:
    - swoc::MemSpan<char>
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: ct::CacheScan::check_url
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 1
    functionsReached:
    - const_cast<char *>
    - reinterpret_cast<char *>
    - static_cast<HdrHeapObjType>
    - swoc::MemSpan<char>::contains
    linkageType: ''
    returnType: bool
    signature: bool CacheScan::check_url(swoc::MemSpan<char> &mem, URLImpl *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:366,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:368,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:372,1
    - Dst: ct::CacheScan::unmarshal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:376,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:376,1
    - Dst: Errata::length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:377,1
    - Dst: swoc::MemSpan::contains
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:383,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:383,1
    - Dst: ct::CacheScan::check_url
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:393,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:393,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:394,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:394,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:395,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:395,1
    - Dst: match
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:396,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:396,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:401,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:401,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:403,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:403,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - length
    - search
    argTypes:
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 419
    functionName: ct::CacheScan::get_alternates
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheScan.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - ct::CacheScan::unmarshal
    - Errata::length
    - swoc::MemSpan::contains
    - ct::CacheScan::check_url
    - match
    - const_cast<char *>
    - std::string::data
    - std::string_view
    - reinterpret_cast<char *>
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: Errata
    signature: Errata CacheScan::get_alternates(const char *buf, int length, bool
      search)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - boundary
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: INK_ALIGN
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ALIGN(size, boundary)
  - 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: ROUND_TO_STORE_BLOCK
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_STORE_BLOCK(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: dir_clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_clear(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: dir_assign
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_assign(_e, _x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - port_
    - b_hostname
    - b_path
    - b_params
    - b_query
    - b_fragments
    argTypes:
    - int
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: ts::CacheURL::CacheURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - assign
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: "void CacheURL(int port_, swoc::TextView b_hostname, swoc::TextView
      b_path, swoc::TextView b_params, swoc::TextView b_query,\n           swoc::TextView
      b_fragments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blob
    - port_
    argTypes:
    - swoc::TextView
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ts::CacheURL::CacheURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - assign
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: void CacheURL(swoc::TextView blob, int port_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:271,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_user
    - user_len
    - p_pass
    - pass_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: ts::CacheURL::setCredential
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setCredential(char *p_user, int user_len, char *p_pass, int pass_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - boundary
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: INK_ALIGN
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ALIGN(size, boundary)
  - 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: ROUND_TO_STORE_BLOCK
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_TO_STORE_BLOCK(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: dir_clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_clear(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: dir_assign
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_assign(_e, _x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:254,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:256,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:257,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:258,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - port_
    - b_hostname
    - b_path
    - b_params
    - b_query
    - b_fragments
    argTypes:
    - int
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: ts::CacheURL::CacheURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - assign
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: "void CacheURL(int port_, swoc::TextView b_hostname, swoc::TextView
      b_path, swoc::TextView b_params, swoc::TextView b_query,\n           swoc::TextView
      b_fragments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blob
    - port_
    argTypes:
    - swoc::TextView
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ts::CacheURL::CacheURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - assign
    - swoc::TextView::size
    linkageType: ''
    returnType: void
    signature: void CacheURL(swoc::TextView blob, int port_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:271,1
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_user
    - user_len
    - p_pass
    - pass_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: ts::CacheURL::setCredential
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setCredential(char *p_user, int user_len, char *p_pass, int pass_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:284,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:286,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:291,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:292,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:292,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:293,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:296,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:299,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:299,1
    - Dst: compile
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:306,1
    - Dst: compile
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 315
    functionName: url_matcher
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - compile
    - std::vector::push_back
    - ats_strdup
    - std::error_code::value
    - ats_malloc
    - swoc::TextView::size
    - data
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void url_matcher(swoc::file::path const &path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compile
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:319,1
    - Dst: compile
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 327
    functionName: url_matcher
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - compile
    linkageType: ''
    returnType: void
    signature: void url_matcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: ~url_matcher()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~url_matcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: match
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 25
    functionsReached:
    - match
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t match(const char *hostname) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hostname
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: portmatch
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - match
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t portmatch(const char *hostname, int length) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: dir_big
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_big(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _e
    - ','
    - _w
    - ','
    - _b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: dir_bit
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_bit(_e, _w, _b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: dir_size
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: dir_approx_size
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_approx_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: dir_head
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_head(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: DIR_MASK_TAG
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_MASK_TAG(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: dir_tag
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_tag(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: dir_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_offset(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: dir_set_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_offset(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: dir_next
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_next(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: dir_phase
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_phase(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: DIR_BLOCK_SHIFT
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SHIFT(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: DIR_BLOCK_SIZE
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SIZE(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: dir_set_prev
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_prev(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: dir_set_next
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_next(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _s
    - ','
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: dir_in_seg
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_in_seg(_s, _i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:406,1
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - i
    - seg
    argTypes:
    - int64_t
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: ct::dir_from_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_from_offset(int64_t i, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - seg
    argTypes:
    - int64_t
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ct::dir_bucket
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_bucket(int64_t b, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:422,1
    - Dst: ct::dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ct::next_dir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_next
    - ct::dir_from_offset
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      next_dir(CacheDirEntry *d, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - CacheDirEntry*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: ct::dir_bucket_row
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_bucket_row(CacheDirEntry *b, int64_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: ct::dir_to_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t dir_to_offset(const CacheDirEntry *d, const CacheDirEntry *seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: ct::Span
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: ct::vol_dir_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheDirEntry
    signature: "CacheDirEntry *\n  vol_dir_segment(int s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::vol_dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: ct::dir_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - ct::vol_dir_segment
    linkageType: ''
    returnType: CacheDirEntry
    signature: "CacheDirEntry *\n  dir_segment(int s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: ct::vol_headerlen
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - ROUND_TO_STORE_BLOCK
    linkageType: ''
    returnType: int
    signature: int vol_headerlen()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: dir_big
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_big(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _e
    - ','
    - _w
    - ','
    - _b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: dir_bit
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_bit(_e, _w, _b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: dir_size
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: dir_approx_size
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_approx_size(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: dir_head
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_head(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: DIR_MASK_TAG
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_MASK_TAG(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: dir_tag
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_tag(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: dir_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_offset(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: dir_set_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_offset(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: dir_next
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_next(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: dir_phase
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_phase(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: DIR_BLOCK_SHIFT
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SHIFT(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: DIR_BLOCK_SIZE
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIR_BLOCK_SIZE(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: dir_set_prev
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_prev(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: dir_set_next
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_set_next(_e, _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _s
    - ','
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: dir_in_seg
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dir_in_seg(_s, _i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:406,1
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - i
    - seg
    argTypes:
    - int64_t
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: ct::dir_from_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_from_offset(int64_t i, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - seg
    argTypes:
    - int64_t
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ct::dir_bucket
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_bucket(int64_t b, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:422,1
    - Dst: ct::dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: ct::next_dir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_next
    - ct::dir_from_offset
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      next_dir(CacheDirEntry *d, CacheDirEntry *seg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_in_seg
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - CacheDirEntry*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: ct::dir_bucket_row
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - dir_in_seg
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      dir_bucket_row(CacheDirEntry *b, int64_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: ct::dir_to_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t dir_to_offset(const CacheDirEntry *d, const CacheDirEntry *seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: ct::Span
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: ct::vol_dir_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CacheDirEntry
    signature: "CacheDirEntry *\n  vol_dir_segment(int s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::vol_dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: ct::dir_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - ct::vol_dir_segment
    linkageType: ''
    returnType: CacheDirEntry
    signature: "CacheDirEntry *\n  dir_segment(int s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: ct::vol_headerlen
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.h
    functionUses: 0
    functionsReached:
    - ROUND_TO_STORE_BLOCK
    linkageType: ''
    returnType: int
    signature: int vol_headerlen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: erase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:93,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: ct::Volume::clearSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::remove_if
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void Volume::clearSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:100,1
    - Dst: ct::Volume::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: ct::Volume::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - assign
    - ct::Volume::clear
    linkageType: ''
    returnType: void
    signature: void Volume::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: ct::hasSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ct::hasIndex
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ct::begin
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - ct::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: ct::end
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - ct::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ct::begin
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - ct::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ct::end
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - ct::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Errata::push
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: ct::VolumeConfig::validatePercentAllocation
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata::push
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeConfig::validatePercentAllocation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _alloc::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:177,1
    - Dst: ts::CacheStripeBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:177,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - ts::CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: ct::VolumeConfig::convertToAbsolute
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - _alloc::assign
    - ts::CacheStripeBlocks::count
    - round_up
    linkageType: ''
    returnType: void
    signature: void VolumeConfig::convertToAbsolute(const ts::CacheStripeBlocks &n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::allocStripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:217,1
    - Dst: Span*::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:218,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:219,1
    - Dst: _stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:220,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:222,1
    - Dst: auto::errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - span
    - vol_idx
    - len
    argTypes:
    - Span*
    - int
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: ct::Cache::allocStripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Span*::allocStripe
    - auto::errata
    - auto::is_ok
    - _stripes::push_back
    - Span*::_path::string
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::allocStripe(Span *span, int vol_idx, const CacheStripeBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::clearSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:229,1
    - Dst: Span*::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ct::Cache::clearSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Span*::clear
    - second::clearSpan
    linkageType: ''
    returnType: void
    signature: void Cache::clearSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:238,1
    - Dst: second::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: ct::Cache::clearAllocation
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - second::clear
    - clear
    linkageType: ''
    returnType: void
    signature: void Cache::clearAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - config
    - size
    argTypes:
    - VolumeConfig::Data
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: ct::VolumeAllocator::V
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V(VolumeConfig::Data const &config, const CacheStripeBlocks &size,
      int64_t deficit = 0, int64_t shares = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - v
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ct::VolumeAllocator::V
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V(const V &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V::V
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: "&\n    operator=(V const &that)"
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - V::V
    linkageType: ''
    returnType: V
    signature: "V &\n    operator=(V const &that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ct::VolumeAllocator::VolumeAllocator
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VolumeAllocator::VolumeAllocator()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:296,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:297,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:299,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:300,1
    - Dst: ct::VolumeAllocator::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:304,1
    - Dst: loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:306,1
    - Dst: calcTotalSpanConfiguredSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:308,1
    - Dst: convertToAbsolute
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:309,1
    - Dst: _volumes::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:312,1
    - Dst: _volumes::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:313,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:314,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - spanFile
    - volumeFile
    argTypes:
    - swoc::file::path
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: ct::VolumeAllocator::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - _volumes::find
    - loadSpan
    - swoc::file::path::empty
    - calcTotalSpanConfiguredSize
    - push_back
    - Errata::note
    - _volumes::end
    - round_down
    - convertToAbsolute
    - ct::VolumeAllocator::load
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::load(swoc::file::path const &spanFile, swoc::file::path
      const &volumeFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::VolumeAllocator::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: ct::VolumeAllocator::dumpVolumes
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - ct::VolumeAllocator::dumpVolumes
    linkageType: ''
    returnType: void
    signature: void VolumeAllocator::dumpVolumes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:336,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: ct::VolumeAllocator::fillEmptySpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - ct::VolumeAllocator::allocateFor
    - isEmpty
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::fillEmptySpans()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:348,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:348,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:351,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:353,1
    - Dst: updateHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:354,1
    - Dst: updateHeaderFooter
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - input_file_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: ct::VolumeAllocator::allocateSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - updateHeaderFooter
    - ct::VolumeAllocator::allocateFor
    - updateHeader
    - swoc::file::path::view
    - Errata::note
    - _path::view
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::allocateSpan(swoc::file::path const &input_file_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _size::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:373,1
    - Dst: clearAllocation
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:376,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: ct::VolumeAllocator::fillAllSpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - ct::VolumeAllocator::allocateFor
    - _size::assign
    - clearAllocation
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::fillAllSpans()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:393,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:393,1
    - Dst: Span::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:394,1
    - Dst: auto::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:401,1
    - Dst: _config::_alloc::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:401,1
    - Dst: auto::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:402,1
    - Dst: assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:408,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:410,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:417,1
    - Dst: min
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:422,1
    - Dst: allocStripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:426,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:426,1
    - Dst: Span::updateHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:442,1
    - Dst: ct::VolumeAllocator::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span
    assertStmts:
    - condition: (total_shares != 0)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    constantsTouched: []
    func_position:
      end: 454
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 454
    functionName: ct::VolumeAllocator::allocateFor
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - Span::_path::string
    - auto::count
    - sort
    - begin
    - allocStripe
    - _config::_alloc::count
    - ct::VolumeAllocator::dumpVolumes
    - CacheStripeBlocks
    - end
    - min
    - Span::updateHeader
    - round_up
    - count
    - round_down
    - assert
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::allocateFor(Span &span)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:461,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:463,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:464,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:464,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_readable
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:465,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:466,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:466,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_regular_file
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:467,1
    - Dst: ct::Cache::loadSpanConfig
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:468,1
    - Dst: ct::Cache::loadSpanDirect
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: ct::Cache::loadSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata
    - ct::Cache::loadSpanConfig
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::is_readable
    - swoc::file::path::empty
    - make_errno_code
    - swoc::SWOC_VERSION_NS::file::is_regular_file
    - ct::Cache::loadSpanDirect
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpan(swoc::file::path const &path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Span::Span
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:479,1
    - Dst: std::unique_ptr::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:480,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:486,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:486,1
    - Dst: _stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:491,1
    - Dst: StripeSM*::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:493,1
    - Dst: std::unique_ptr::_stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:497,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:498,1
    - Dst: std::unique_ptr::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:502,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - path
    - vol_idx
    - size
    argTypes:
    - swoc::file::path
    - int
    - Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 507
    functionName: ct::Cache::loadSpanDirect
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - emplace_back
    - std::unique_ptr::release
    - StripeSM*::vol_init_data
    - std::unique_ptr::load
    - push_back
    - std::unique_ptr::clear
    - _stripes::push_back
    - std::unique_ptr::_stripes::push_back
    - std::move
    - StripeSM::StripeSM
    - Span::Span
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpanDirect(swoc::file::path const &path, int vol_idx,
      [[maybe_unused]] const Bytes &size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:517,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:518,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:521,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:522,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:523,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:526,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:530,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:532,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:534,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:535,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:537,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:540,1
    - Dst: ct::Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:545,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:545,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:549,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:549,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 552
    functionName: ct::Cache::loadSpanConfig
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - get_yaml_path
    - ct::Cache::loadSpan
    - Errata
    - swoc::TextView::empty
    - make_errno_code
    - Errata::note
    - std::error_code::value
    - swoc::TextView::ltrim_if
    - swoc::TextView::take_prefix_if
    - strcasecmp
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpanConfig(swoc::file::path const &path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:562,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:563,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:565,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:566,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:568,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:569,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:570,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: ts::URLparser::getPort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:574,1
    - Dst: std::string::erase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:576,1
    - Dst: ts::CacheURL::CacheURL
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:579,1
    - Dst: emplace
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:580,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    - Dst: swoc::file::path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 587
    functionName: ct::Cache::loadURLs
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - Errata
    - swoc::TextView::empty
    - std::string::erase
    - swoc::file::path::string
    - ts::URLparser::getPort
    - emplace
    - std::string::assign
    - make_errno_code
    - std::error_code::value
    - strcasecmp
    - swoc::TextView::size
    - ts::CacheURL::CacheURL
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadURLs(swoc::file::path const &path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:595,1
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:598,1
    - Dst: _header::num_blocks::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:601,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:605,1
    - Dst: _len::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:606,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:606,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:607,1
    - Dst: isFree
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:607,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:615,1
    - Dst: validate_sync_serial
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:635,1
    - Dst: _directory::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - depth
    argTypes:
    - SpanDumpDepth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 647
    functionName: ct::Cache::dumpSpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - _header::num_blocks::value
    - _path::string
    - validate_sync_serial
    - isFree
    - loadMeta
    - _len::count
    - _directory::clear
    linkageType: ''
    returnType: void
    signature: void Cache::dumpSpans(SpanDumpDepth depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::_stripes::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 661
    functionName: ct::Cache::dumpVolumes
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - second::_stripes::size
    linkageType: ''
    returnType: void
    signature: void Cache::dumpVolumes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 672
    functionName: ct::Cache::calcTotalSpanConfiguredSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - round_down
    linkageType: ''
    returnType: ts::CacheStripeBlocks
    signature: ts::CacheStripeBlocks Cache::calcTotalSpanConfiguredSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:682,1
    - Dst: _path::physical_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 685
    functionName: ct::Cache::calcTotalSpanPhysicalSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - _path::physical_size
    - round_down
    linkageType: ''
    returnType: ts::CacheStripeBlocks
    signature: ts::CacheStripeBlocks Cache::calcTotalSpanPhysicalSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: Cache::~Cache()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache::~Cache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:695,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_readable
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:697,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:698,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:698,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_char_device
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:701,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_block_device
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:701,1
    - Dst: ct::Span::loadDevice
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:705,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:706,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:709,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 710
    functionName: ct::Span::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata
    - swoc::SWOC_VERSION_NS::file::is_dir
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::is_readable
    - swoc::SWOC_VERSION_NS::file::is_char_device
    - swoc::SWOC_VERSION_NS::file::is_block_device
    - ct::Span::loadDevice
    - make_errno_code
    linkageType: ''
    returnType: Errata
    signature: Errata Span::load()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: ats_scoped_fd
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: ats_scoped_fd::isValid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:729,1
    - Dst: ink_file_get_geometry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:730,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:735,1
    - Dst: reinterpret_cast<ts::SpanHeader &>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:737,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:738,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:742,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: ts::SpanHeader::SpanHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:748,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:748,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:755,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:756,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:757,1
    - Dst: ats_scoped_fd::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:760,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:763,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:763,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:766,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:769,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 772
    functionName: ct::Span::loadDevice
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - static_cast<void *>
    - ink_file_get_geometry
    - ats_scoped_fd
    - pread
    - get
    - AIOFaultInjection::open
    - Errata
    - make_errno_code
    - empty
    - reset
    - Errata::note
    - ats_scoped_fd::release
    - ts::SpanHeader::SpanHeader
    - string
    - c_str
    - round_up
    - ats_scoped_fd::isValid
    - reinterpret_cast<ts::SpanHeader &>
    - malloc
    - round_down
    linkageType: ''
    returnType: Errata
    signature: Errata Span::loadDevice()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:777,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:777,1
    - Dst: StripeSM*::isFree
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:779,1
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:782,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:787,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:792,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - vol_idx
    - len
    argTypes:
    - int
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 799
    functionName: ct::Span::allocStripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - Errata
    - insert
    - CacheStripeBlocks
    - end
    - StripeSM*::isFree
    - StripeSM::StripeSM
    linkageType: ''
    returnType: swoc::Rv<StripeSM *>
    signature: swoc::Rv<StripeSM *> Span::allocStripe(int vol_idx, const CacheStripeBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: ct::Span::isEmpty
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool Span::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::for_each
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: ct::Span::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:812,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:819,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:820,1
    - Dst: StripeSM*::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:821,1
    - Dst: StripeSM*::InitializeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:822,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:823,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 827
    functionName: ct::Span::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - begin
    - std::for_each
    - Errata
    - StripeSM*::vol_init_data
    - ct::Span::clear
    - end
    - push_back
    - round_up
    - StripeSM*::InitializeMeta
    - StripeSM::StripeSM
    linkageType: ''
    returnType: Errata
    signature: Errata Span::clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:833,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:835,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:836,1
    - Dst: static_cast<ts::SpanHeader *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:837,1
    - Dst: std::bitset::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:864,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:865,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:867,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:869,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 875
    functionName: ct::Span::updateHeader
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata
    - std::bitset::count
    - ats_memalign
    - reset
    - pwrite
    - static_cast<ts::SpanHeader *>
    - round_up
    - make_errno_code
    - size
    linkageType: ''
    returnType: Errata
    signature: Errata Span::updateHeader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:882,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:883,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:887,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:898,1
    - Dst: ct::Span::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:900,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 905
    functionName: ct::Span::clearPermanently
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - string
    - loadMeta
    - ct::Span::clear
    - pwrite
    - strerror
    linkageType: ''
    returnType: void
    signature: void Span::clearPermanently()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - aa
    - bb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 927
    functionName: ct::cmprtable
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmprtable(const void *aa, const void *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: ct::next_rand
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int next_rand(unsigned int *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:941,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:943,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:943,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:944,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:944,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:945,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:945,1
    - Dst: static_cast<unsigned short *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:946,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:946,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:947,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:947,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:955,1
    - Dst: hash_id::fold
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:957,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:959,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:965,1
    - Dst: static_cast<rtable_pair *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:983,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:983,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:986,1
    - Dst: next_rand
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:987,1
    - Dst: assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:992,1
    - Dst: qsort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:994,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1001,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1008,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1012,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1013,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1014,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1015,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (rindex == (int)rtable_size)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    constantsTouched: []
    func_position:
      end: 1017
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 1017
    functionName: ct::Cache::build_stripe_hash_table
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - next_rand
    - qsort
    - ats_free
    - static_cast<rtable_pair *>
    - assert
    - static_cast<unsigned int>
    - static_cast<unsigned int *>
    - hash_id::fold
    - ats_malloc
    - static_cast<unsigned short *>
    - printf
    - size
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Cache::build_stripe_hash_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - hostname
    - host_len
    argTypes:
    - CryptoHash*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: ct::Cache::key_to_stripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    linkageType: ''
    returnType: StripeSM
    signature: 'StripeSM *

      Cache::key_to_stripe(CryptoHash *key, [[maybe_unused]] const char *hostname,
      [[maybe_unused]] int host_len)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1038,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1039,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1045,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1046,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1047,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1052,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1053,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1054,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1055,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1056,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1057,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1058,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1061,1
    - Dst: swoc::TextView::data_end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1063,1
    - Dst: swoc::TextView::data_end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1063,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1064,1
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: Megabytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: Data::_size::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1066,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1067,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1069,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1072,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1075,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1078,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1079,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1080,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1083,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1087,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1092,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1092,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1093,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1093,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1095,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1096,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1098,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1099,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1104,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1104,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1107
    functionName: ct::VolumeConfig::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - Megabytes
    - swoc::TextView::take_prefix_if
    - Data::hasSize
    - swoc::SWOC_VERSION_NS::file::load
    - Errata
    - swoc::TextView::data_end
    - CacheStripeBlocks
    - std::error_code::value
    - strcasecmp
    - swoc::TextView::size
    - make_errno_code
    - std::move
    - Data::_size::count
    - Data::hasIndex
    - push_back
    - Errata::note
    - swoc::TextView::ltrim_if
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::TextView::empty
    - round_up
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeConfig::load(swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:92,1
    - Dst: erase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:93,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: ct::Volume::clearSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::remove_if
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void Volume::clearSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:100,1
    - Dst: ct::Volume::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: ct::Volume::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - assign
    - ct::Volume::clear
    linkageType: ''
    returnType: void
    signature: void Volume::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: ct::hasSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ct::hasIndex
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ct::begin
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - ct::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: ct::end
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - ct::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ct::begin
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 4
    functionsReached:
    - ct::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ct::end
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 4
    functionsReached:
    - ct::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Errata::push
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: ct::VolumeConfig::validatePercentAllocation
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata::push
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeConfig::validatePercentAllocation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _alloc::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:177,1
    - Dst: ts::CacheStripeBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:177,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - ts::CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: ct::VolumeConfig::convertToAbsolute
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - _alloc::assign
    - ts::CacheStripeBlocks::count
    - round_up
    linkageType: ''
    returnType: void
    signature: void VolumeConfig::convertToAbsolute(const ts::CacheStripeBlocks &n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Span*::allocStripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:217,1
    - Dst: Span*::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:218,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:219,1
    - Dst: _stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:220,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:222,1
    - Dst: auto::errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - span
    - vol_idx
    - len
    argTypes:
    - Span*
    - int
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: ct::Cache::allocStripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Span*::allocStripe
    - auto::errata
    - auto::is_ok
    - _stripes::push_back
    - Span*::_path::string
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::allocStripe(Span *span, int vol_idx, const CacheStripeBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::clearSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:229,1
    - Dst: Span*::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ct::Cache::clearSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Span*::clear
    - second::clearSpan
    linkageType: ''
    returnType: void
    signature: void Cache::clearSpan(Span* span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:238,1
    - Dst: second::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: ct::Cache::clearAllocation
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - second::clear
    - clear
    linkageType: ''
    returnType: void
    signature: void Cache::clearAllocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - config
    - size
    argTypes:
    - VolumeConfig::Data
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: ct::VolumeAllocator::V
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V(VolumeConfig::Data const &config, const CacheStripeBlocks &size,
      int64_t deficit = 0, int64_t shares = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - v
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ct::VolumeAllocator::V
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V(const V &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: V::V
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: "&\n    operator=(V const &that)"
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - V::V
    linkageType: ''
    returnType: V
    signature: "V &\n    operator=(V const &that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ct::VolumeAllocator::VolumeAllocator
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VolumeAllocator::VolumeAllocator()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:296,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:297,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:299,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:300,1
    - Dst: ct::VolumeAllocator::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:304,1
    - Dst: loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:306,1
    - Dst: calcTotalSpanConfiguredSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:308,1
    - Dst: convertToAbsolute
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:309,1
    - Dst: _volumes::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:312,1
    - Dst: _volumes::end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:313,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:314,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - spanFile
    - volumeFile
    argTypes:
    - swoc::file::path
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: ct::VolumeAllocator::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - _volumes::find
    - loadSpan
    - swoc::file::path::empty
    - calcTotalSpanConfiguredSize
    - push_back
    - Errata::note
    - _volumes::end
    - round_down
    - convertToAbsolute
    - ct::VolumeAllocator::load
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::load(swoc::file::path const &spanFile, swoc::file::path
      const &volumeFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::VolumeAllocator::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: ct::VolumeAllocator::dumpVolumes
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - ct::VolumeAllocator::dumpVolumes
    linkageType: ''
    returnType: void
    signature: void VolumeAllocator::dumpVolumes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:336,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: ct::VolumeAllocator::fillEmptySpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - ct::VolumeAllocator::allocateFor
    - isEmpty
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::fillEmptySpans()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:348,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:348,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:351,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:353,1
    - Dst: updateHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:354,1
    - Dst: updateHeaderFooter
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - input_file_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: ct::VolumeAllocator::allocateSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - updateHeaderFooter
    - ct::VolumeAllocator::allocateFor
    - updateHeader
    - swoc::file::path::view
    - Errata::note
    - _path::view
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::allocateSpan(swoc::file::path const &input_file_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _size::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:373,1
    - Dst: clearAllocation
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:376,1
    - Dst: ct::VolumeAllocator::allocateFor
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: ct::VolumeAllocator::fillAllSpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - ct::VolumeAllocator::allocateFor
    - _size::assign
    - clearAllocation
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::fillAllSpans()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:393,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:393,1
    - Dst: Span::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:394,1
    - Dst: auto::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:401,1
    - Dst: _config::_alloc::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:401,1
    - Dst: auto::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:402,1
    - Dst: assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:408,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:410,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:414,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:417,1
    - Dst: min
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:422,1
    - Dst: allocStripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:426,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:426,1
    - Dst: Span::updateHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:442,1
    - Dst: ct::VolumeAllocator::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - span
    argTypes:
    - Span
    assertStmts:
    - condition: (total_shares != 0)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    constantsTouched: []
    func_position:
      end: 454
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 454
    functionName: ct::VolumeAllocator::allocateFor
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 6
    functionsReached:
    - Span::_path::string
    - auto::count
    - sort
    - begin
    - allocStripe
    - _config::_alloc::count
    - ct::VolumeAllocator::dumpVolumes
    - CacheStripeBlocks
    - end
    - min
    - Span::updateHeader
    - round_up
    - count
    - round_down
    - assert
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeAllocator::allocateFor(Span &span)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:461,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:463,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:464,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:464,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_readable
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:465,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:466,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:466,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_regular_file
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:467,1
    - Dst: ct::Cache::loadSpanConfig
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:468,1
    - Dst: ct::Cache::loadSpanDirect
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 7
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: ct::Cache::loadSpan
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 1
    functionsReached:
    - Errata
    - ct::Cache::loadSpanConfig
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::is_readable
    - swoc::file::path::empty
    - make_errno_code
    - swoc::SWOC_VERSION_NS::file::is_regular_file
    - ct::Cache::loadSpanDirect
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpan(swoc::file::path const &path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Span::Span
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:479,1
    - Dst: std::unique_ptr::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:480,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:486,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:486,1
    - Dst: _stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:491,1
    - Dst: StripeSM*::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:493,1
    - Dst: std::unique_ptr::_stripes::push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:497,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:498,1
    - Dst: std::unique_ptr::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:502,1
    - Dst: emplace_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - path
    - vol_idx
    - size
    argTypes:
    - swoc::file::path
    - int
    - Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 507
    functionName: ct::Cache::loadSpanDirect
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - emplace_back
    - std::unique_ptr::release
    - StripeSM*::vol_init_data
    - std::unique_ptr::load
    - push_back
    - std::unique_ptr::clear
    - _stripes::push_back
    - std::unique_ptr::_stripes::push_back
    - std::move
    - StripeSM::StripeSM
    - Span::Span
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpanDirect(swoc::file::path const &path, int vol_idx,
      [[maybe_unused]] const Bytes &size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:517,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:518,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:521,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:522,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:523,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:526,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:530,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:532,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:534,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:535,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:537,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:540,1
    - Dst: ct::Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:545,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:545,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:549,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:549,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 552
    functionName: ct::Cache::loadSpanConfig
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::take_prefix_at
    - get_yaml_path
    - ct::Cache::loadSpan
    - Errata
    - swoc::TextView::empty
    - make_errno_code
    - Errata::note
    - std::error_code::value
    - swoc::TextView::ltrim_if
    - swoc::TextView::take_prefix_if
    - strcasecmp
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadSpanConfig(swoc::file::path const &path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:562,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:563,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:565,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:566,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:568,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:569,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:570,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:572,1
    - Dst: ts::URLparser::getPort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:574,1
    - Dst: std::string::erase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:576,1
    - Dst: ts::CacheURL::CacheURL
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:579,1
    - Dst: emplace
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:580,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    - Dst: swoc::file::path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 587
    functionName: ct::Cache::loadURLs
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::take_prefix_at
    - Errata
    - swoc::TextView::empty
    - std::string::erase
    - swoc::file::path::string
    - ts::URLparser::getPort
    - emplace
    - std::string::assign
    - make_errno_code
    - std::error_code::value
    - strcasecmp
    - swoc::TextView::size
    - ts::CacheURL::CacheURL
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: Errata
    signature: Errata Cache::loadURLs(swoc::file::path const &path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:595,1
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:598,1
    - Dst: _header::num_blocks::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:601,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:605,1
    - Dst: _len::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:606,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:606,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:607,1
    - Dst: isFree
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:607,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:615,1
    - Dst: validate_sync_serial
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:635,1
    - Dst: _directory::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - depth
    argTypes:
    - SpanDumpDepth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 647
    functionName: ct::Cache::dumpSpans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - _header::num_blocks::value
    - _path::string
    - validate_sync_serial
    - isFree
    - loadMeta
    - _len::count
    - _directory::clear
    linkageType: ''
    returnType: void
    signature: void Cache::dumpSpans(SpanDumpDepth depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::_stripes::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 661
    functionName: ct::Cache::dumpVolumes
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - second::_stripes::size
    linkageType: ''
    returnType: void
    signature: void Cache::dumpVolumes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 672
    functionName: ct::Cache::calcTotalSpanConfiguredSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - round_down
    linkageType: ''
    returnType: ts::CacheStripeBlocks
    signature: ts::CacheStripeBlocks Cache::calcTotalSpanConfiguredSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:682,1
    - Dst: _path::physical_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 685
    functionName: ct::Cache::calcTotalSpanPhysicalSize
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - _path::physical_size
    - round_down
    linkageType: ''
    returnType: ts::CacheStripeBlocks
    signature: ts::CacheStripeBlocks Cache::calcTotalSpanPhysicalSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: Cache::~Cache()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache::~Cache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:695,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_readable
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:697,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:698,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:698,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_char_device
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:701,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_block_device
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:701,1
    - Dst: ct::Span::loadDevice
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:705,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:706,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:709,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 710
    functionName: ct::Span::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata
    - swoc::SWOC_VERSION_NS::file::is_dir
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::is_readable
    - swoc::SWOC_VERSION_NS::file::is_char_device
    - swoc::SWOC_VERSION_NS::file::is_block_device
    - ct::Span::loadDevice
    - make_errno_code
    linkageType: ''
    returnType: Errata
    signature: Errata Span::load()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: ats_scoped_fd
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:727,1
    - Dst: ats_scoped_fd::isValid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:729,1
    - Dst: ink_file_get_geometry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:730,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:735,1
    - Dst: reinterpret_cast<ts::SpanHeader &>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:737,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:738,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:742,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: ts::SpanHeader::SpanHeader
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:743,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:745,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:748,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:748,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:755,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:756,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:757,1
    - Dst: ats_scoped_fd::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:760,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:763,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:763,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:766,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:769,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 772
    functionName: ct::Span::loadDevice
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - static_cast<void *>
    - ink_file_get_geometry
    - ats_scoped_fd
    - pread
    - get
    - AIOFaultInjection::open
    - Errata
    - make_errno_code
    - empty
    - reset
    - Errata::note
    - ats_scoped_fd::release
    - ts::SpanHeader::SpanHeader
    - string
    - c_str
    - round_up
    - ats_scoped_fd::isValid
    - reinterpret_cast<ts::SpanHeader &>
    - malloc
    - round_down
    linkageType: ''
    returnType: Errata
    signature: Errata Span::loadDevice()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:777,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:777,1
    - Dst: StripeSM*::isFree
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:779,1
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:782,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:787,1
    - Dst: insert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:792,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - vol_idx
    - len
    argTypes:
    - int
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 799
    functionName: ct::Span::allocStripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - Errata
    - insert
    - CacheStripeBlocks
    - end
    - StripeSM*::isFree
    - StripeSM::StripeSM
    linkageType: ''
    returnType: swoc::Rv<StripeSM *>
    signature: swoc::Rv<StripeSM *> Span::allocStripe(int vol_idx, const CacheStripeBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: ct::Span::isEmpty
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool Span::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::for_each
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: begin
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:811,1
    - Dst: ct::Span::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:812,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:819,1
    - Dst: StripeSM::StripeSM
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:820,1
    - Dst: StripeSM*::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:821,1
    - Dst: StripeSM*::InitializeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:822,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:823,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 827
    functionName: ct::Span::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - begin
    - std::for_each
    - Errata
    - StripeSM*::vol_init_data
    - ct::Span::clear
    - end
    - push_back
    - round_up
    - StripeSM*::InitializeMeta
    - StripeSM::StripeSM
    linkageType: ''
    returnType: Errata
    signature: Errata Span::clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:833,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:835,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:836,1
    - Dst: static_cast<ts::SpanHeader *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:837,1
    - Dst: std::bitset::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:864,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:865,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:867,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:869,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 875
    functionName: ct::Span::updateHeader
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Errata
    - std::bitset::count
    - ats_memalign
    - reset
    - pwrite
    - static_cast<ts::SpanHeader *>
    - round_up
    - make_errno_code
    - size
    linkageType: ''
    returnType: Errata
    signature: Errata Span::updateHeader()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:882,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:883,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:887,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:898,1
    - Dst: ct::Span::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:900,1
    - Dst: string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 905
    functionName: ct::Span::clearPermanently
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - string
    - loadMeta
    - ct::Span::clear
    - pwrite
    - strerror
    linkageType: ''
    returnType: void
    signature: void Span::clearPermanently()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - aa
    - bb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 927
    functionName: ct::cmprtable
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmprtable(const void *aa, const void *bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: ct::next_rand
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int next_rand(unsigned int *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:941,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:943,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:943,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:944,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:944,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:945,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:945,1
    - Dst: static_cast<unsigned short *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:946,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:946,1
    - Dst: static_cast<unsigned int *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:947,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:947,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:955,1
    - Dst: hash_id::fold
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:957,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:959,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:965,1
    - Dst: static_cast<rtable_pair *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:983,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:983,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:986,1
    - Dst: next_rand
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:987,1
    - Dst: assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:992,1
    - Dst: qsort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:994,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1001,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1008,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1012,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1013,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1014,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1015,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (rindex == (int)rtable_size)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    constantsTouched: []
    func_position:
      end: 1017
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 1017
    functionName: ct::Cache::build_stripe_hash_table
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - next_rand
    - qsort
    - ats_free
    - static_cast<rtable_pair *>
    - assert
    - static_cast<unsigned int>
    - static_cast<unsigned int *>
    - hash_id::fold
    - ats_malloc
    - static_cast<unsigned short *>
    - printf
    - size
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Cache::build_stripe_hash_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - hostname
    - host_len
    argTypes:
    - CryptoHash*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: ct::Cache::key_to_stripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    linkageType: ''
    returnType: StripeSM
    signature: 'StripeSM *

      Cache::key_to_stripe(CryptoHash *key, [[maybe_unused]] const char *hostname,
      [[maybe_unused]] int host_len)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1038,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1039,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1045,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1046,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1047,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1052,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1053,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1054,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1055,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1056,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1057,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1058,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1061,1
    - Dst: swoc::TextView::data_end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1063,1
    - Dst: swoc::TextView::data_end
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1063,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1064,1
    - Dst: CacheStripeBlocks
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: Megabytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1065,1
    - Dst: Data::_size::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1066,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1067,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1069,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1072,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1075,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1078,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1079,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1080,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1083,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1087,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1092,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1092,1
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1093,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1093,1
    - Dst: Data::hasSize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1095,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1096,1
    - Dst: Data::hasIndex
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1098,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1099,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1104,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1104,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1107
    functionName: ct::VolumeConfig::load
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - Megabytes
    - swoc::TextView::take_prefix_if
    - Data::hasSize
    - swoc::SWOC_VERSION_NS::file::load
    - Errata
    - swoc::TextView::data_end
    - CacheStripeBlocks
    - std::error_code::value
    - strcasecmp
    - swoc::TextView::size
    - make_errno_code
    - std::move
    - Data::_size::count
    - Data::hasIndex
    - push_back
    - Errata::note
    - swoc::TextView::ltrim_if
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::TextView::empty
    - round_up
    linkageType: ''
    returnType: Errata
    signature: Errata VolumeConfig::load(swoc::file::path const &path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1116,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1117,1
    - Dst: Cache::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - depth
    argTypes:
    - Cache::SpanDumpDepth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1120
    functionName: List_Stripes
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - Cache::dumpSpans
    - Cache::dumpVolumes
    - Cache::loadSpan
    linkageType: ''
    returnType: void
    signature: void List_Stripes(Cache::SpanDumpDepth depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VolumeAllocator::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1128,1
    - Dst: VolumeAllocator::fillEmptySpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1131
    functionName: Cmd_Allocate_Empty_Spans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - VolumeAllocator::fillEmptySpans
    - VolumeAllocator::load
    linkageType: ''
    returnType: void
    signature: void Cmd_Allocate_Empty_Spans()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1138,1
    - Dst: note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1139,1
    - Dst: empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1141,1
    - Dst: note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1142,1
    - Dst: VolumeAllocator::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1146,1
    - Dst: is_ok
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1146,1
    - Dst: VolumeAllocator::fillAllSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1147,1
    - Dst: VolumeAllocator::dumpVolumes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1151
    functionName: Simulate_Span_Allocation
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - VolumeAllocator::dumpVolumes
    - note
    - VolumeAllocator::fillAllSpans
    - is_ok
    - VolumeAllocator::load
    - empty
    linkageType: ''
    returnType: void
    signature: void Simulate_Span_Allocation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1159,1
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1163,1
    - Dst: clearPermanently
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1168
    functionName: Clear_Spans
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - clearPermanently
    - note
    - Cache::loadSpan
    linkageType: ''
    returnType: void
    signature: void Clear_Spans()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1185,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1186,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1186,1
    - Dst: Cache::loadURLs
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1188,1
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1189,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1190,1
    - Dst: Cache::build_stripe_hash_table
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1191,1
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1193,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1196,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1196,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1196,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1197,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1198,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1199,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1199,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1199,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1200,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1201,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1201,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1201,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1201,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1202,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1202,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1202,1
    - Dst: StripeSM*::hashText::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - input_file_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1205
    functionName: Find_Stripe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::file::path::c_str
    - CryptoContext::finalize
    - swoc::file::path::empty
    - Cache::build_stripe_hash_table
    - CryptoContext::update
    - Cache::key_to_stripe
    - swoc::LocalBufferWriter::print
    - Cache::loadURLs
    - swoc::LocalBufferWriter::data
    - Cache::dumpSpans
    - swoc::LocalBufferWriter::size
    - Cache::loadSpan
    - printf
    - url::data
    - StripeSM*::hashText::data
    - CryptoContext::CryptoContext
    - url::size
    linkageType: ''
    returnType: void
    signature: void Find_Stripe(swoc::file::path const &input_file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1211,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1212,1
    - Dst: dir_check
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1214,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1218
    functionName: dir_check
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 2
    functionsReached:
    - printf
    - Cache::dumpSpans
    - dir_check
    - Cache::loadSpan
    linkageType: ''
    returnType: void
    signature: void dir_check()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1224,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1225,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1227,1
    - Dst: _path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1227,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1229,1
    - Dst: loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1230,1
    - Dst: walk_all_buckets
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - devicePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1236
    functionName: walk_bucket_chain
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - loadMeta
    - walk_all_buckets
    - Cache::dumpSpans
    - Cache::loadSpan
    - _path::view
    - loadDir
    linkageType: ''
    returnType: void
    signature: void walk_bucket_chain(const std::string &devicePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1242,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1243,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1245,1
    - Dst: _path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1245,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1246,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1246,1
    - Dst: clearPermanently
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - devicePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1252
    functionName: Clear_Span
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - clearPermanently
    - Cache::dumpSpans
    - Cache::loadSpan
    - _path::view
    - printf
    linkageType: ''
    returnType: void
    signature: void Clear_Span(const std::string &devicePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1258,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1259,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1261,1
    - Dst: _path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1261,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1262,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1262,1
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1264,1
    - Dst: loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1265,1
    - Dst: check_loop
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - devicePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1274
    functionName: Check_Freelist
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - loadDir
    - check_loop
    - std::string::size
    - std::string::data
    - loadMeta
    - Cache::dumpSpans
    - Cache::loadSpan
    - _path::view
    - printf
    linkageType: ''
    returnType: void
    signature: void Check_Freelist(const std::string &devicePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1283,1
    - Dst: VolumeAllocator::load
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1287,1
    - Dst: VolumeAllocator::allocateSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input_file_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1289
    functionName: Init_disk
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - VolumeAllocator::load
    - note
    - VolumeAllocator::allocateSpan
    linkageType: ''
    returnType: void
    signature: void Init_disk(swoc::file::path const &input_file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1301,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1302,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1302,1
    - Dst: Cache::loadURLs
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1304,1
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1305,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1306,1
    - Dst: Cache::build_stripe_hash_table
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1307,1
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1309,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1312,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1312,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1312,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1313,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1314,1
    - Dst: Cache::key_to_stripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1315,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1315,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1315,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1316,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1317,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1317,1
    - Dst: url::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1317,1
    - Dst: url::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1317,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1318,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1318,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1318,1
    - Dst: StripeSM*::hashText::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1318,1
    - Dst: StripeSM*::loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1320,1
    - Dst: StripeSM*::loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1321,1
    - Dst: StripeSM*::dir_probe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - input_file_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1325
    functionName: Get_Response
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - StripeSM*::loadDir
    - Cache::key_to_stripe
    - StripeSM*::dir_probe
    - Cache::loadSpan
    - url::data
    - swoc::file::path::empty
    - CryptoContext::update
    - Cache::loadURLs
    - url::size
    - static_cast<int>
    - swoc::LocalBufferWriter::print
    - Cache::dumpSpans
    - Cache::build_stripe_hash_table
    - printf
    - CryptoContext::CryptoContext
    - swoc::file::path::c_str
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    - StripeSM*::loadMeta
    - StripeSM*::hashText::data
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: void Get_Response(swoc::file::path const &input_file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1330,1
    - Dst: loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1331,1
    - Dst: swoc::file::path::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1333,1
    - Dst: CacheScan::Scan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1335,1
    - Dst: CacheScan::Scan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - span
    - regex_path
    argTypes:
    - Span
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1341
    functionName: scan_span
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - loadDir
    - swoc::file::path::empty
    - loadMeta
    - CacheScan::Scan
    linkageType: ''
    returnType: void
    signature: void scan_span(Span &span, swoc::file::path const &regex_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Cache::loadSpan
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1348,1
    - Dst: length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1349,1
    - Dst: Cache::dumpSpans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1352,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1354,1
    - Dst: std::ref
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1354,1
    - Dst: join
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - regex_path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1360
    functionName: Scan_Cache
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 0
    functionsReached:
    - std::ref
    - length
    - Cache::dumpSpans
    - std::vector::emplace_back
    - Cache::loadSpan
    - join
    linkageType: ''
    returnType: void
    signature: void Scan_Cache(swoc::file::path const &regex_path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: add_global_usage
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1368,1
    - Dst: std::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1368,1
    - Dst: require_commands
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1369,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1378,1
    - Dst: List_Stripes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1378,1
    - Dst: List_Stripes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1379,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1380,1
    - Dst: Clear_Spans
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1380,1
    - Dst: Clear_Span
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1381,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1383,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1384,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1385,1
    - Dst: Check_Freelist
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1385,1
    - Dst: auto::add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1386,1
    - Dst: walk_bucket_chain
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1386,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1387,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1388,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1391,1
    - Dst: Find_Stripe
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1391,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1392,1
    - Dst: Clear_Span
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1392,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1393,1
    - Dst: Get_Response
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1393,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1394,1
    - Dst: Init_disk
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1394,1
    - Dst: add_command
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1395,1
    - Dst: Scan_Cache
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1396,1
    - Dst: parse
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1399,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1400,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1401,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1403,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1404,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1406,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1407,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1409,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1410,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1410,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1412,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1413,1
    - Dst: auto::get
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1415,1
    - Dst: auto::has_action
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1420,1
    - Dst: auto::invoke
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1421,1
    - Dst: length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1424,1
    - Dst: exit
      Src: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc:1426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1430
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheTool.cc
    functionUses: 3
    functionsReached:
    - Check_Freelist
    - std::stoi
    - std::string
    - add_global_usage
    - List_Stripes
    - auto::has_action
    - exit
    - parse
    - length
    - Clear_Span
    - Get_Response
    - Scan_Cache
    - add_command
    - Init_disk
    - Clear_Spans
    - require_commands
    - Find_Stripe
    - auto::get
    - auto::value
    - walk_bucket_chain
    - auto::invoke
    - auto::add_command
    linkageType: ''
    returnType: int
    signature: int main([[maybe_unused]] int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '&

      operator<<(std::ostream &s, Bytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Bytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Bytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Kilobytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Kilobytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '&

      operator<<(std::ostream &s, Kilobytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Kilobytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Kilobytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Megabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Megabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      operator<<(std::ostream &s, Megabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Megabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Megabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Gigabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Gigabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      operator<<(std::ostream &s, Gigabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Gigabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Gigabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Terabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Terabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '&

      operator<<(std::ostream &s, Terabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Terabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Terabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheStripeBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '&

      operator<<(std::ostream &s, CacheStripeBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheStripeBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheStripeBlocks const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheStoreBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheStoreBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: '&

      operator<<(std::ostream &s, CacheStoreBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheStoreBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheStoreBlocks const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheDataBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheDataBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      operator<<(std::ostream &s, CacheDataBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheDataBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheDataBlocks const &n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:88,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:89,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:89,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - URI
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: ts::URLparser::parseURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - strcasecmp
    linkageType: ''
    returnType: Errata
    signature: Errata URLparser::parseURL(swoc::TextView URI)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:105,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:108,1
    - Dst: std::string::insert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:113,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:118,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:119,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:121,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:122,1
    - Dst: url_matcher::portmatch
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:127,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:129,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - fullURL
    - port_ptr
    - port_len
    argTypes:
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 140
    functionName: ts::URLparser::getPort
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - std::string::find
    - swoc::TextView::take_prefix_at
    - swoc::TextView::empty
    - std::string::size
    - std::string::data
    - svtoi
    - std::string::insert
    - url_matcher::portmatch
    - swoc::TextView::size
    linkageType: ''
    returnType: int
    signature: int URLparser::getPort(std::string &fullURL, int &port_ptr, int &port_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ts::Doc::prefix_len
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::prefix_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::Doc::data_len
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::data_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Doc::data_len
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: ts::Doc::single_fragment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ts::Doc::data_len
    linkageType: ''
    returnType: int
    signature: int Doc::single_fragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: ts::Doc::hdr
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::hdr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Doc::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: ts::Doc::data
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ts::Doc::hdr
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '&

      operator<<(std::ostream &s, Bytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Bytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Bytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Kilobytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Kilobytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '&

      operator<<(std::ostream &s, Kilobytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Kilobytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Kilobytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Megabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Megabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      operator<<(std::ostream &s, Megabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Megabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Megabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Gigabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Gigabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      operator<<(std::ostream &s, Gigabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Gigabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Gigabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Terabytes::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - Terabytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '&

      operator<<(std::ostream &s, Terabytes const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Terabytes::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, Terabytes const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheStripeBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheStripeBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '&

      operator<<(std::ostream &s, CacheStripeBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheStripeBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheStripeBlocks const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheStoreBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheStoreBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: '&

      operator<<(std::ostream &s, CacheStoreBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheStoreBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheStoreBlocks const &n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheDataBlocks::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - std::ostream
    - CacheDataBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      operator<<(std::ostream &s, CacheDataBlocks const &n)'
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CacheDataBlocks::count
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &s, CacheDataBlocks const &n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:88,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:89,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:89,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - URI
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: ts::URLparser::parseURL
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - strcasecmp
    linkageType: ''
    returnType: Errata
    signature: Errata URLparser::parseURL(swoc::TextView URI)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:105,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:108,1
    - Dst: std::string::insert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:113,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:114,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:118,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:119,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:121,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:122,1
    - Dst: url_matcher::portmatch
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:125,1
    - Dst: svtoi
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:127,1
    - Dst: std::string::find
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:129,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - fullURL
    - port_ptr
    - port_len
    argTypes:
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 140
    functionName: ts::URLparser::getPort
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - std::string::find
    - swoc::TextView::take_prefix_at
    - swoc::TextView::empty
    - std::string::size
    - std::string::data
    - svtoi
    - std::string::insert
    - url_matcher::portmatch
    - swoc::TextView::size
    linkageType: ''
    returnType: int
    signature: int URLparser::getPort(std::string &fullURL, int &port_ptr, int &port_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ts::Doc::prefix_len
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::prefix_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::Doc::data_len
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Doc::data_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Doc::data_len
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: ts::Doc::single_fragment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ts::Doc::data_len
    linkageType: ''
    returnType: int
    signature: int Doc::single_fragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: ts::Doc::hdr
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::hdr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Doc::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: ts::Doc::data
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ts::Doc::hdr
    linkageType: ''
    returnType: char
    signature: 'char *

      Doc::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: ct::StripeSM::validate_sync_serial
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::validate_sync_serial()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: ct::StripeSM::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - pwrite
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::Chunk::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: StripeSM::Chunk::~Chunk()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - StripeSM::Chunk::clear
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::~Chunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: StripeSM::Chunk::append(MemSpan<void> m)
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::append(MemSpan<void> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: StripeSM::Chunk::clear()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - data
    - const_cast<void *>
    - clear
    - free
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: Span*::_path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - span
    - start
    - len
    argTypes:
    - Span*
    - Bytes
    - CacheStoreBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: ct::StripeSM::StripeSM
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - Span*::_path::view
    - CryptoContext
    - printf
    - data
    - swoc::SWOC_VERSION_NS::bwprint
    - count
    linkageType: ''
    returnType: void
    signature: void StripeSM::StripeSM(Span *span, const Bytes &start, const CacheStoreBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: ct::StripeSM::isFree
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::isFree() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:250,1
    - Dst: static_cast<uint16_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:256,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:256,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: reinterpret_cast<CacheDirEntry *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:261,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:261,1
    - Dst: ct::StripeSM::init_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: ct::StripeSM::InitializeMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::vol_headerlen
    - ats_memalign
    - reinterpret_cast<CacheDirEntry *>
    - ats_pagesize
    - static_cast<char *>
    - ct::StripeSM::vol_dirlen
    - ct::StripeSM::init_dir
    - time
    - malloc
    - static_cast<uint16_t *>
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::InitializeMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meta
    argTypes:
    - StripeMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: ct::StripeSM::validateMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::validateMeta(StripeMeta const *meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:280,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:281,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:281,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:282,1
    - Dst: MemSpan<void>::remove_prefix
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - base_meta
    argTypes:
    - MemSpan<void>
    - StripeMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: ct::StripeSM::probeMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::size
    - MemSpan<void>::data
    - MemSpan<void>::remove_prefix
    - ct::StripeSM::validateMeta
    - static_cast<StripeMeta *>
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::probeMeta(MemSpan<void> &mem, StripeMeta const *base_meta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:297,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:299,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:300,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:301,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:301,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:302,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:303,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:304,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:304,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:305,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:305,1
    - Dst: ct::StripeSM::InitializeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:310,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:313,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:321,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:323,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:325,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:327,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:327,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:328,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:329,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:333,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:334,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:335,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:337,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:337,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:338,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:339,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:344,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:346,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:347,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:349,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:349,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:350,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:351,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 357
    functionName: ct::StripeSM::updateHeaderFooter
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_free
    - Errata
    - ct::StripeSM::InitializeMeta
    - ats_memalign
    - ROUND_TO_STORE_BLOCK
    - ct::StripeSM::vol_init_data
    - Bytes
    - ats_pagesize
    - ct::StripeSM::vol_dirlen
    - static_cast<char *>
    - pwrite
    - Errata::note
    - round_down
    - make_errno_code
    - strerror
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - ct::StripeSM::vol_headerlen
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::updateHeaderFooter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:362,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:362,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: ct::StripeSM::vol_dirlen
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - vol_headerlen
    - ROUND_TO_STORE_BLOCK
    linkageType: ''
    returnType: size_t
    signature: size_t StripeSM::vol_dirlen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::_len::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:370,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:373,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: ct::StripeSM::vol_init_data_internal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::_len::count
    - Bytes
    - ct::StripeSM::vol_dirlen
    linkageType: ''
    returnType: void
    signature: void StripeSM::vol_init_data_internal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:380,1
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:381,1
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: ct::StripeSM::vol_init_data
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - ct::StripeSM::vol_init_data_internal
    linkageType: ''
    returnType: void
    signature: void StripeSM::vol_init_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - enum Copy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 412
    functionName: ct::StripeSM::updateLiveData
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StripeSM::updateLiveData([[maybe_unused]] enum Copy c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - CacheDirEntry*
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: ct::dir_compare_tag
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    - DIR_MASK_TAG
    - dir_tag
    linkageType: ''
    returnType: bool
    signature: bool dir_compare_tag(const CacheDirEntry *e, const CryptoHash *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stripe
    - e
    argTypes:
    - StripeSM*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ct::vol_in_phase_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int vol_in_phase_valid(StripeSM *stripe, CacheDirEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stripe
    - e
    argTypes:
    - StripeSM*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: ct::vol_out_of_phase_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int vol_out_of_phase_valid(StripeSM *stripe, CacheDirEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_phase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    - Dst: vol_in_phase_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    - Dst: vol_out_of_phase_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _e
    argTypes:
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: ct::StripeSM::dir_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_phase
    - vol_in_phase_valid
    - vol_out_of_phase_valid
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::dir_valid(CacheDirEntry *_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:441,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: ct::StripeSM::stripe_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - Bytes
    - dir_offset
    linkageType: ''
    returnType: Bytes
    signature: Bytes StripeSM::stripe_offset(CacheDirEntry *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:447,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:448,1
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:450,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:452,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:456,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:458,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:459,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:461,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:462,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:470,1
    - Dst: ct::StripeSM::stripe_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:478,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:479,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:480,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:482,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:485,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:486,1
    - Dst: Doc*::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:488,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:488,1
    - Dst: free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - key
    - result
    - last_collision
    argTypes:
    - CryptoHash*
    - CacheDirEntry*
    - CacheDirEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 495
    functionName: ct::StripeSM::dir_probe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::stripe_offset
    - ats_memalign
    - Doc*::data
    - ct::StripeSM::dir_segment
    - dir_compare_tag
    - dir_offset
    - CryptoHash*::slice32
    - pread
    - Doc*::hdr
    - strerror
    - Doc*::data_len
    - ats_pagesize
    - static_cast<char *>
    - reinterpret_cast<Doc *>
    - dir_bucket
    - dir_approx_size
    - ct::StripeSM::dir_valid
    - free
    - next_dir
    linkageType: ''
    returnType: int
    signature: int StripeSM::dir_probe(CryptoHash *key, [[maybe_unused]] CacheDirEntry
      *result, [[maybe_unused]] CacheDirEntry **last_collision)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:500,1
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:501,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:505,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:506,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:507,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:508,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:510,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:510,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:514,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:516,1
    - Dst: ct::StripeSM::dir_delete_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:517,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:520,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - e
    - p
    - s
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 525
    functionName: ct::StripeSM::dir_delete_entry
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - dir_assign
    - dir_next
    - dir_set_prev
    - ct::StripeSM::dir_segment
    - dir_set_next
    - ct::StripeSM::dir_delete_entry
    - dir_from_offset
    - dir_to_offset
    - next_dir
    - dir_clear
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      StripeSM::dir_delete_entry(CacheDirEntry *e, CacheDirEntry *p, int s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::walk_bucket_chain
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: ct::StripeSM::walk_all_buckets
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::walk_bucket_chain
    linkageType: ''
    returnType: void
    signature: void StripeSM::walk_all_buckets()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:540,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:542,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:545,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:549,1
    - Dst: std::bitset::test
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:550,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:558,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:558,1
    - Dst: ct::StripeSM::dir_delete_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:561,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 571
    functionName: ct::StripeSM::walk_bucket_chain
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - ct::StripeSM::dir_valid
    - dir_bucket
    - ct::StripeSM::dir_segment
    - dir_offset
    - ct::StripeSM::dir_delete_entry
    - next_dir
    - std::bitset::test
    - std::bitset::reset
    - dir_to_offset
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::walk_bucket_chain(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:576,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:578,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:579,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:581,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e
    - s
    argTypes:
    - CacheDirEntry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: ct::StripeSM::dir_free_entry
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_set_prev
    - ct::StripeSM::dir_segment
    - dir_set_next
    - dir_from_offset
    - dir_to_offset
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_free_entry(CacheDirEntry *e, int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:592,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:594,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:597,1
    - Dst: ct::StripeSM::dir_free_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:598,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: ct::StripeSM::dir_init_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - memset
    - dir_bucket
    - ct::StripeSM::dir_segment
    - ct::StripeSM::dir_free_entry
    - dir_bucket_row
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_init_segment(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:608,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:612,1
    - Dst: ct::StripeSM::dir_free_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:613,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: ct::StripeSM::init_dir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - dir_bucket_row
    - ct::StripeSM::dir_segment
    - dir_bucket
    - ct::StripeSM::dir_free_entry
    linkageType: ''
    returnType: void
    signature: void StripeSM::init_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:624,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: reinterpret_cast<CacheDirEntry *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:626,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:626,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: ct::StripeSM::loadDir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ats_memalign
    - reinterpret_cast<CacheDirEntry *>
    - ats_pagesize
    - static_cast<char *>
    - ct::StripeSM::vol_dirlen
    - pread
    - ct::StripeSM::vol_headerlen
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::loadDir()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:653,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:654,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:656,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - start_dir
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 668
    functionName: ct::dir_bucket_loop_check
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - ct::next_dir
    linkageType: ''
    returnType: int
    signature: int dir_bucket_loop_check(CacheDirEntry *start_dir, CacheDirEntry *seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:675,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:676,1
    - Dst: ct::StripeSM::check_loop
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:677,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 685
    functionName: ct::StripeSM::dir_freelist_length
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_from_offset
    - ct::StripeSM::dir_segment
    - next_dir
    - ct::StripeSM::check_loop
    linkageType: ''
    returnType: int
    signature: int StripeSM::dir_freelist_length(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:692,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:693,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:695,1
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:697,1
    - Dst: std::bitset::test
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:698,1
    - Dst: ct::StripeSM::_span::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:700,1
    - Dst: ct::StripeSM::dir_init_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:702,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: ct::StripeSM::check_loop
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - dir_next
    - ct::StripeSM::dir_segment
    - ct::StripeSM::_span::_path::string
    - ct::StripeSM::dir_init_segment
    - dir_from_offset
    - std::bitset::test
    - std::bitset::reset
    linkageType: ''
    returnType: int
    signature: int StripeSM::check_loop(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:715,1
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: ct::compare_ushort
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned short const *>
    linkageType: ''
    returnType: int
    signature: int compare_ushort(void const *a, void const *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:726,1
    - Dst: ct::StripeSM::loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:727,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:736,1
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:745,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:754,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:755,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:757,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:763,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:764,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:768,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:768,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:773,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:775,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:777,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:782,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:785,1
    - Dst: dir_head
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:786,1
    - Dst: dir_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:791,1
    - Dst: dir_big
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:791,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:794,1
    - Dst: qsort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:803,1
    - Dst: min
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:812,1
    - Dst: max
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:813,1
    - Dst: ct::StripeSM::dir_freelist_length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:815,1
    - Dst: max
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:821,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:824,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:826,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:830,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:831,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:833,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:835,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:837,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:842,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:843,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:844,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:844,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:845,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:845,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:846,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:847,1
    - Dst: ctime_r
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:848,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:849,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:850,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:851,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:852,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:853,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:854,1
    - Dst: DIR_BLOCK_SIZE
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:856,1
    - Dst: DIR_BLOCK_SHIFT
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:862,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:863,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:866,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:868,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:871,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 873
    functionName: ct::StripeSM::dir_check
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::dir_segment
    - dir_offset
    - min
    - static_cast<float>
    - DIR_BLOCK_SHIFT
    - ink_zero
    - max
    - dir_size
    - ct::StripeSM::dir_freelist_length
    - count
    - qsort
    - dir_bucket
    - dir_approx_size
    - dir_tag
    - ct::StripeSM::loadDir
    - ct::StripeSM::loadMeta
    - DIR_BLOCK_SIZE
    - strlen
    - printf
    - static_cast<uint64_t>
    - ink_assert
    - memset
    - ct::StripeSM::dir_valid
    - dir_head
    - ctime_r
    - dir_big
    - next_dir
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_check()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:903,1
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:904,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:910,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:911,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:912,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:913,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:913,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:915,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:916,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:916,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:918,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:918,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:919,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:920,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:924,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:924,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:925,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:926,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:926,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:927,1
    - Dst: ct::StripeSM::probeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:928,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:930,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:931,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:931,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:932,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:932,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:935,1
    - Dst: append
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:936,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:936,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:938,1
    - Dst: append
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:941,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:941,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:942,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:946,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:955,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:955,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:956,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:956,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:957,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:959,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:963,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:963,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:964,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:965,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:965,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:966,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:968,1
    - Dst: ct::StripeSM::updateLiveData
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:977,1
    - Dst: ct::StripeSM::updateLiveData
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:979,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:981,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:986,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:987,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:988,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:988,1
    - Dst: static_cast<uint16_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:990,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:990,1
    - Dst: ct::StripeSM::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:996,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 999
    functionName: ct::StripeSM::loadMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - _path::string
    - ats_memalign
    - MemSpan::assign
    - pread
    - Errata
    - ct::StripeSM::probeMeta
    - MemSpan::remove_prefix
    - Bytes::assign
    - static_cast<char *>
    - append
    - ct::StripeSM::clear
    - static_cast<uint16_t *>
    - ct::StripeSM::updateLiveData
    - MemSpan::data
    - std::unique_ptr::release
    - Bytes
    - ct::StripeSM::vol_dirlen
    - Errata::note
    - ct::StripeSM::validateMeta
    - MemSpan::rebind
    - std::unique_ptr::reset
    - round_up
    - static_cast<StripeMeta *>
    - malloc
    - round_down
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::loadMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: ct::StripeSM::validate_sync_serial
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::validate_sync_serial()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: ct::StripeSM::clear
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - pwrite
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StripeSM::Chunk::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: StripeSM::Chunk::~Chunk()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - StripeSM::Chunk::clear
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::~Chunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: StripeSM::Chunk::append(MemSpan<void> m)
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::append(MemSpan<void> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:219,1
    - Dst: clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: StripeSM::Chunk::clear()
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - data
    - const_cast<void *>
    - clear
    - free
    linkageType: ''
    returnType: void
    signature: void StripeSM::Chunk::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: Span*::_path::view
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:226,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:227,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    - Dst: data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - span
    - start
    - len
    argTypes:
    - Span*
    - Bytes
    - CacheStoreBlocks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: ct::StripeSM::StripeSM
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - Span*::_path::view
    - CryptoContext
    - printf
    - data
    - swoc::SWOC_VERSION_NS::bwprint
    - count
    linkageType: ''
    returnType: void
    signature: void StripeSM::StripeSM(Span *span, const Bytes &start, const CacheStoreBlocks
      &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: ct::StripeSM::isFree
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::isFree() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:250,1
    - Dst: static_cast<uint16_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:256,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:256,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:260,1
    - Dst: reinterpret_cast<CacheDirEntry *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:261,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:261,1
    - Dst: ct::StripeSM::init_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: ct::StripeSM::InitializeMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - ct::StripeSM::vol_headerlen
    - ats_memalign
    - reinterpret_cast<CacheDirEntry *>
    - ats_pagesize
    - static_cast<char *>
    - ct::StripeSM::vol_dirlen
    - ct::StripeSM::init_dir
    - time
    - malloc
    - static_cast<uint16_t *>
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::InitializeMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - meta
    argTypes:
    - StripeMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: ct::StripeSM::validateMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::validateMeta(StripeMeta const *meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:280,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:281,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:281,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:282,1
    - Dst: MemSpan<void>::remove_prefix
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - base_meta
    argTypes:
    - MemSpan<void>
    - StripeMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: ct::StripeSM::probeMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - MemSpan<void>::size
    - MemSpan<void>::data
    - MemSpan<void>::remove_prefix
    - ct::StripeSM::validateMeta
    - static_cast<StripeMeta *>
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::probeMeta(MemSpan<void> &mem, StripeMeta const *base_meta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_init_data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:297,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:299,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:300,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:301,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:301,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:302,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:303,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:304,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:304,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:305,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:305,1
    - Dst: ct::StripeSM::InitializeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:310,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:313,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:317,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:321,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:323,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:325,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:327,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:327,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:328,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:329,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:333,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:334,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:335,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:337,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:337,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:338,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:339,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:344,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:346,1
    - Dst: pwrite
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:347,1
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:349,1
    - Dst: make_errno_code
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:349,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:350,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:351,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 357
    functionName: ct::StripeSM::updateHeaderFooter
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_free
    - Errata
    - ct::StripeSM::InitializeMeta
    - ats_memalign
    - ROUND_TO_STORE_BLOCK
    - ct::StripeSM::vol_init_data
    - Bytes
    - ats_pagesize
    - ct::StripeSM::vol_dirlen
    - static_cast<char *>
    - pwrite
    - Errata::note
    - round_down
    - make_errno_code
    - strerror
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - ct::StripeSM::vol_headerlen
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::updateHeaderFooter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:362,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:362,1
    - Dst: ROUND_TO_STORE_BLOCK
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: ct::StripeSM::vol_dirlen
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 7
    functionsReached:
    - vol_headerlen
    - ROUND_TO_STORE_BLOCK
    linkageType: ''
    returnType: size_t
    signature: size_t StripeSM::vol_dirlen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::_len::count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:370,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:373,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: ct::StripeSM::vol_init_data_internal
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - ct::StripeSM::_len::count
    - Bytes
    - ct::StripeSM::vol_dirlen
    linkageType: ''
    returnType: void
    signature: void StripeSM::vol_init_data_internal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:380,1
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:381,1
    - Dst: ct::StripeSM::vol_init_data_internal
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: ct::StripeSM::vol_init_data
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - ct::StripeSM::vol_init_data_internal
    linkageType: ''
    returnType: void
    signature: void StripeSM::vol_init_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - enum Copy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 412
    functionName: ct::StripeSM::updateLiveData
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StripeSM::updateLiveData([[maybe_unused]] enum Copy c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    - Dst: DIR_MASK_TAG
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - CacheDirEntry*
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: ct::dir_compare_tag
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - CryptoHash*::slice32
    - DIR_MASK_TAG
    - dir_tag
    linkageType: ''
    returnType: bool
    signature: bool dir_compare_tag(const CacheDirEntry *e, const CryptoHash *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stripe
    - e
    argTypes:
    - StripeSM*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ct::vol_in_phase_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int vol_in_phase_valid(StripeSM *stripe, CacheDirEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stripe
    - e
    argTypes:
    - StripeSM*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: ct::vol_out_of_phase_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - dir_offset
    linkageType: ''
    returnType: int
    signature: int vol_out_of_phase_valid(StripeSM *stripe, CacheDirEntry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dir_phase
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    - Dst: vol_in_phase_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    - Dst: vol_out_of_phase_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _e
    argTypes:
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: ct::StripeSM::dir_valid
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 3
    functionsReached:
    - dir_phase
    - vol_in_phase_valid
    - vol_out_of_phase_valid
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::dir_valid(CacheDirEntry *_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:441,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: ct::StripeSM::stripe_offset
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - Bytes
    - dir_offset
    linkageType: ''
    returnType: Bytes
    signature: Bytes StripeSM::stripe_offset(CacheDirEntry *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:447,1
    - Dst: CryptoHash*::slice32
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:448,1
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:450,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:452,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:456,1
    - Dst: dir_compare_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:458,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:459,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:460,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:461,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:462,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:470,1
    - Dst: ct::StripeSM::stripe_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:478,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:479,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:480,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:482,1
    - Dst: reinterpret_cast<Doc *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:485,1
    - Dst: Doc*::hdr
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:486,1
    - Dst: Doc*::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:488,1
    - Dst: Doc*::data_len
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:488,1
    - Dst: free
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - key
    - result
    - last_collision
    argTypes:
    - CryptoHash*
    - CacheDirEntry*
    - CacheDirEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 495
    functionName: ct::StripeSM::dir_probe
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::stripe_offset
    - ats_memalign
    - Doc*::data
    - ct::StripeSM::dir_segment
    - dir_compare_tag
    - dir_offset
    - CryptoHash*::slice32
    - pread
    - Doc*::hdr
    - strerror
    - Doc*::data_len
    - ats_pagesize
    - static_cast<char *>
    - reinterpret_cast<Doc *>
    - dir_bucket
    - dir_approx_size
    - ct::StripeSM::dir_valid
    - free
    - next_dir
    linkageType: ''
    returnType: int
    signature: int StripeSM::dir_probe(CryptoHash *key, [[maybe_unused]] CacheDirEntry
      *result, [[maybe_unused]] CacheDirEntry **last_collision)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:500,1
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:501,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:505,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:506,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:507,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:508,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:510,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:510,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:514,1
    - Dst: dir_assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:516,1
    - Dst: ct::StripeSM::dir_delete_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:517,1
    - Dst: dir_clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:520,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - e
    - p
    - s
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 525
    functionName: ct::StripeSM::dir_delete_entry
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 3
    functionsReached:
    - dir_assign
    - dir_next
    - dir_set_prev
    - ct::StripeSM::dir_segment
    - dir_set_next
    - ct::StripeSM::dir_delete_entry
    - dir_from_offset
    - dir_to_offset
    - next_dir
    - dir_clear
    linkageType: ''
    returnType: CacheDirEntry
    signature: 'CacheDirEntry *

      StripeSM::dir_delete_entry(CacheDirEntry *e, CacheDirEntry *p, int s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::walk_bucket_chain
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: ct::StripeSM::walk_all_buckets
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::walk_bucket_chain
    linkageType: ''
    returnType: void
    signature: void StripeSM::walk_all_buckets()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:540,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:542,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:545,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:549,1
    - Dst: std::bitset::test
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:550,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:558,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:558,1
    - Dst: ct::StripeSM::dir_delete_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:561,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 571
    functionName: ct::StripeSM::walk_bucket_chain
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - ct::StripeSM::dir_valid
    - dir_bucket
    - ct::StripeSM::dir_segment
    - dir_offset
    - ct::StripeSM::dir_delete_entry
    - next_dir
    - std::bitset::test
    - std::bitset::reset
    - dir_to_offset
    linkageType: ''
    returnType: bool
    signature: bool StripeSM::walk_bucket_chain(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:576,1
    - Dst: dir_to_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:578,1
    - Dst: dir_set_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:579,1
    - Dst: dir_set_prev
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:581,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e
    - s
    argTypes:
    - CacheDirEntry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: ct::StripeSM::dir_free_entry
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - dir_set_prev
    - ct::StripeSM::dir_segment
    - dir_set_next
    - dir_from_offset
    - dir_to_offset
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_free_entry(CacheDirEntry *e, int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:592,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:594,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:597,1
    - Dst: ct::StripeSM::dir_free_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:598,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: ct::StripeSM::dir_init_segment
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - memset
    - dir_bucket
    - ct::StripeSM::dir_segment
    - ct::StripeSM::dir_free_entry
    - dir_bucket_row
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_init_segment(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:608,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:612,1
    - Dst: ct::StripeSM::dir_free_entry
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:613,1
    - Dst: dir_bucket_row
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: ct::StripeSM::init_dir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - dir_bucket_row
    - ct::StripeSM::dir_segment
    - dir_bucket
    - ct::StripeSM::dir_free_entry
    linkageType: ''
    returnType: void
    signature: void StripeSM::init_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:624,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:625,1
    - Dst: reinterpret_cast<CacheDirEntry *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:626,1
    - Dst: ct::StripeSM::vol_headerlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:626,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: ct::StripeSM::loadDir
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - ats_memalign
    - reinterpret_cast<CacheDirEntry *>
    - ats_pagesize
    - static_cast<char *>
    - ct::StripeSM::vol_dirlen
    - pread
    - ct::StripeSM::vol_headerlen
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::loadDir()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:653,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:654,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:656,1
    - Dst: ct::next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - start_dir
    - seg
    argTypes:
    - CacheDirEntry*
    - CacheDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 668
    functionName: ct::dir_bucket_loop_check
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - ct::next_dir
    linkageType: ''
    returnType: int
    signature: int dir_bucket_loop_check(CacheDirEntry *start_dir, CacheDirEntry *seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:675,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:676,1
    - Dst: ct::StripeSM::check_loop
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:677,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 685
    functionName: ct::StripeSM::dir_freelist_length
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 1
    functionsReached:
    - dir_from_offset
    - ct::StripeSM::dir_segment
    - next_dir
    - ct::StripeSM::check_loop
    linkageType: ''
    returnType: int
    signature: int StripeSM::dir_freelist_length(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:692,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:693,1
    - Dst: std::bitset::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:695,1
    - Dst: dir_next
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:697,1
    - Dst: std::bitset::test
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:698,1
    - Dst: ct::StripeSM::_span::_path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:700,1
    - Dst: ct::StripeSM::dir_init_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:702,1
    - Dst: dir_from_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: ct::StripeSM::check_loop
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - dir_next
    - ct::StripeSM::dir_segment
    - ct::StripeSM::_span::_path::string
    - ct::StripeSM::dir_init_segment
    - dir_from_offset
    - std::bitset::test
    - std::bitset::reset
    linkageType: ''
    returnType: int
    signature: int StripeSM::check_loop(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:715,1
    - Dst: static_cast<unsigned short const *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: ct::compare_ushort
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned short const *>
    linkageType: ''
    returnType: int
    signature: int compare_ushort(void const *a, void const *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ct::StripeSM::loadMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:726,1
    - Dst: ct::StripeSM::loadDir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:727,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:736,1
    - Dst: ct::StripeSM::dir_segment
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:745,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:754,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:755,1
    - Dst: dir_bucket
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:757,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:763,1
    - Dst: dir_offset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:764,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:768,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:768,1
    - Dst: dir_tag
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:773,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:775,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:777,1
    - Dst: ct::StripeSM::dir_valid
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:782,1
    - Dst: dir_approx_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:785,1
    - Dst: dir_head
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:786,1
    - Dst: dir_size
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:791,1
    - Dst: dir_big
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:791,1
    - Dst: next_dir
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:794,1
    - Dst: qsort
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:803,1
    - Dst: min
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:812,1
    - Dst: max
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:813,1
    - Dst: ct::StripeSM::dir_freelist_length
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:815,1
    - Dst: max
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:821,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:824,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:826,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:830,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:831,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:833,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:835,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:837,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:840,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:841,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:842,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:843,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:844,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:844,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:845,1
    - Dst: count
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:845,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:846,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:847,1
    - Dst: ctime_r
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:848,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:849,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:850,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:851,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:852,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:853,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:854,1
    - Dst: DIR_BLOCK_SIZE
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:856,1
    - Dst: DIR_BLOCK_SHIFT
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:862,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:863,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:866,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:868,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:871,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 873
    functionName: ct::StripeSM::dir_check
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 0
    functionsReached:
    - ct::StripeSM::dir_segment
    - dir_offset
    - min
    - static_cast<float>
    - DIR_BLOCK_SHIFT
    - ink_zero
    - max
    - dir_size
    - ct::StripeSM::dir_freelist_length
    - count
    - qsort
    - dir_bucket
    - dir_approx_size
    - dir_tag
    - ct::StripeSM::loadDir
    - ct::StripeSM::loadMeta
    - DIR_BLOCK_SIZE
    - strlen
    - printf
    - static_cast<uint64_t>
    - ink_assert
    - memset
    - ct::StripeSM::dir_valid
    - dir_head
    - ctime_r
    - dir_big
    - next_dir
    linkageType: ''
    returnType: void
    signature: void StripeSM::dir_check()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:903,1
    - Dst: _path::string
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:904,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:910,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:911,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:912,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:913,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:913,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:915,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:916,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:916,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:918,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:918,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:919,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:920,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:924,1
    - Dst: ats_memalign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:924,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:925,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:926,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:926,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:927,1
    - Dst: ct::StripeSM::probeMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:928,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:930,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:931,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:931,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:932,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:932,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:935,1
    - Dst: append
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:936,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:936,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:938,1
    - Dst: append
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:941,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:941,1
    - Dst: round_up
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:942,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:946,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:955,1
    - Dst: ct::StripeSM::vol_dirlen
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:955,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:956,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:956,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:957,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:959,1
    - Dst: Bytes
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:963,1
    - Dst: pread
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:963,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:964,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:965,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:965,1
    - Dst: ct::StripeSM::validateMeta
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:966,1
    - Dst: round_down
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:968,1
    - Dst: ct::StripeSM::updateLiveData
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:977,1
    - Dst: ct::StripeSM::updateLiveData
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:979,1
    - Dst: Errata::note
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:981,1
    - Dst: Bytes::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:986,1
    - Dst: MemSpan::assign
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:987,1
    - Dst: static_cast<StripeMeta *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:988,1
    - Dst: MemSpan::data
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:988,1
    - Dst: static_cast<uint16_t *>
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:990,1
    - Dst: malloc
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:990,1
    - Dst: ct::StripeSM::clear
      Src: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc:996,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 999
    functionName: ct::StripeSM::loadMeta
    functionSourceFile: /src/trafficserver/src/traffic_cache_tool/CacheDefs.cc
    functionUses: 2
    functionsReached:
    - _path::string
    - ats_memalign
    - MemSpan::assign
    - pread
    - Errata
    - ct::StripeSM::probeMeta
    - MemSpan::remove_prefix
    - Bytes::assign
    - static_cast<char *>
    - append
    - ct::StripeSM::clear
    - static_cast<uint16_t *>
    - ct::StripeSM::updateLiveData
    - MemSpan::data
    - std::unique_ptr::release
    - Bytes
    - ct::StripeSM::vol_dirlen
    - Errata::note
    - ct::StripeSM::validateMeta
    - MemSpan::rebind
    - std::unique_ptr::reset
    - round_up
    - static_cast<StripeMeta *>
    - malloc
    - round_down
    linkageType: ''
    returnType: Errata
    signature: Errata StripeSM::loadMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:38,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:40,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:44,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:49,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:54,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:56,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:58,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:60,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:64,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 68
    functionName: rpc::admin::register_admin_jsonrpc_handlers
    functionSourceFile: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc
    functionUses: 0
    functionsReached:
    - rpc::add_method_handler
    linkageType: ''
    returnType: void
    signature: void register_admin_jsonrpc_handlers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:38,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:40,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:44,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:49,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:54,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:56,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:58,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:60,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:64,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 68
    functionName: rpc::admin::register_admin_jsonrpc_handlers
    functionSourceFile: /src/trafficserver/src/traffic_server/RpcAdminPubHandlers.cc
    functionUses: 0
    functionsReached:
    - rpc::add_method_handler
    linkageType: ''
    returnType: void
    signature: void register_admin_jsonrpc_handlers()
  - 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: SOCKSPROXY_INC_STAT
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKSPROXY_INC_STAT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~SocksProxy() override
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SocksProxy() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:148,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:149,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:150,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:152,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:152,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:154,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - netVC
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: SocksProxy::init
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - new_MIOBuffer
    - alloc_reader
    - SCOPED_MUTEX_LOCK
    - new_ProxyMutex
    - this_ethread
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void SocksProxy::init(NetVConnection *netVC)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:163,1
    - Dst: SocksProxy::free
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: SocksProxy::free
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 1
    functionsReached:
    - SocksProxy::free
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void SocksProxy::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:174,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:176,1
    - Dst: socks_addr::reset
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:179,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:181,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:183,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:186,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:186,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: SocksProxy::acceptEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - do_io_read
    - HRTIME_SECONDS
    - reset
    - Dbg
    - socks_addr::reset
    - this_ethread
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::acceptEvent(int event, void *data)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:207,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:207,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:214,1
    - Dst: OneWayTunnel::OneWayTunnel_alloc
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:219,1
    - Dst: OneWayTunnel::OneWayTunnel_alloc
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:220,1
    - Dst: OneWayTunnel*::init
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:222,1
    - Dst: OneWayTunnel*::init
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:223,1
    - Dst: OneWayTunnel*::mutex::get
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:223,1
    - Dst: OneWayTunnel::SetupTwoWayTunnel
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:225,1
    - Dst: SocksProxy::sendResp
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:237,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:242,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:250,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:250,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:255,1
    - Dst: cancel
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:263,1
    - Dst: cancel
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:268,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:273,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:274,1
    - Dst: SocksProxy::free
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 286
    functionName: SocksProxy::mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - OneWayTunnel*::mutex::get
    - SocksProxy::free
    - do_io_close
    - OneWayTunnel::SetupTwoWayTunnel
    - SocksProxy::sendResp
    - ink_assert
    - Dbg
    - cancel
    - OneWayTunnel*::init
    - get_vc_event_name
    - OneWayTunnel::OneWayTunnel_alloc
    linkageType: ''
    returnType: int
    signature: int SocksProxy::mainEvent(int event, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:291,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:293,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:297,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:304,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:304,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:318,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 324
    functionName: SocksProxy::state_read_client_request
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - start
    - static_cast<int>
    - block_read_avail
    - Warning
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_read_client_request(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:329,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:331,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:342,1
    - Dst: consume
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:352,1
    - Dst: SocksProxy::parse_socks_client_request
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:355,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 360
    functionName: SocksProxy::state_read_socks4_client_request
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - start
    - block_read_avail
    - SocksProxy::parse_socks_client_request
    - consume
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_read_socks4_client_request([[maybe_unused]] int
      event, [[maybe_unused]] void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:368,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:370,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:371,1
    - Dst: cancel
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:384,1
    - Dst: invokeSocksAuthHandler
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:393,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:394,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:395,1
    - Dst: invokeSocksAuthHandler
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:397,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:398,1
    - Dst: fill
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:400,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:403,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 410
    functionName: SocksProxy::state_read_socks5_client_auth_methods
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - start
    - block_read_avail
    - invokeSocksAuthHandler
    - do_io_write
    - reset
    - Dbg
    - fill
    - cancel
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_read_socks5_client_auth_methods([[maybe_unused]]
      int event, [[maybe_unused]] void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:415,1
    - Dst: reset
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:420,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:421,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:421,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:426,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:430,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 435
    functionName: SocksProxy::state_send_socks5_auth_method
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - do_io_read
    - HRTIME_SECONDS
    - reset
    - Dbg
    - this_ethread
    - get_vc_event_name
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_send_socks5_auth_method(int event, [[maybe_unused]]
      void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:443,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:445,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:449,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:450,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:475,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:475,1
    - Dst: consume
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:487,1
    - Dst: SocksProxy::parse_socks_client_request
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 490
    functionName: SocksProxy::state_read_socks5_client_request
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - start
    - static_cast<int>
    - block_read_avail
    - consume
    - SocksProxy::parse_socks_client_request
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_read_socks5_client_request(int event, [[maybe_unused]]
      void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:498,1
    - Dst: SocksProxy::setupHttpRequest
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:506,1
    - Dst: SocksProxy::sendResp
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:508,1
    - Dst: SOCKSPROXY_INC_STAT
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:512,1
    - Dst: SocksProxy::mainEvent
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:517,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:522,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:523,1
    - Dst: htons
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:523,1
    - Dst: connect_re
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:536,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:536,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 545
    functionName: SocksProxy::parse_socks_client_request
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 2
    functionsReached:
    - connect_re
    - memcpy
    - ink_release_assert
    - SocksProxy::mainEvent
    - SocksProxy::setupHttpRequest
    - htons
    - ats_ip_sa_cast
    - SocksProxy::sendResp
    - SOCKSPROXY_INC_STAT
    - Dbg
    - cancel
    - ats_ip4_set
    linkageType: ''
    returnType: int
    signature: int SocksProxy::parse_socks_client_request(unsigned char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:552,1
    - Dst: SOCKSPROXY_INC_STAT
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:558,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:559,1
    - Dst: HttpSessionAccept::accept
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:563,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 580
    functionName: SocksProxy::state_handing_over_http_request
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - SOCKSPROXY_INC_STAT
    - Dbg
    - HttpSessionAccept::accept
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_handing_over_http_request(int event, [[maybe_unused]]
      void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:587,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: SocksProxy::state_send_socks_reply
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::state_send_socks_reply(int event, [[maybe_unused]]
      void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:613,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:614,1
    - Dst: fill
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:629,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - granted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 633
    functionName: SocksProxy::sendResp
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 2
    functionsReached:
    - reset
    - fill
    - start
    - do_io_write
    linkageType: ''
    returnType: int
    signature: int SocksProxy::sendResp(bool granted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:654,1
    - Dst: memcpy
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:655,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 675
    functionName: SocksProxy::setupHttpRequest
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ats_malloc
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int SocksProxy::setupHttpRequest(unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:680,1
    - Dst: SocksProxy*::init
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - netVC
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: new_SocksProxy
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - SocksProxy*::init
    - alloc
    linkageType: ''
    returnType: void
    signature: void new_SocksProxy(NetVConnection *netVC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:690,1
    - Dst: new_SocksProxy
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - event
    - netVC
    argTypes:
    - int
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 696
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 3
    functionsReached:
    - new_SocksProxy
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, NetVConnection *netVC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: SocksAccepter
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void SocksAccepter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:705,1
    - Dst: main_accept
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:708,1
    - Dst: SocksAccepter::SocksAccepter
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:708,1
    - Dst: RecAllocateRawStatBlock
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:710,1
    - Dst: RecRegisterRawStat
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:713,1
    - Dst: RecRegisterRawStat
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: start_SocksProxy
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - RecRegisterRawStat
    - main_accept
    - RecAllocateRawStatBlock
    - Dbg
    - SocksAccepter::SocksAccepter
    linkageType: ''
    returnType: void
    signature: void start_SocksProxy(int port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:729,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:730,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:735,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/SocksProxy.cc:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 751
    functionName: socks5ServerAuthHandler
    functionSourceFile: /src/trafficserver/src/traffic_server/SocksProxy.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int socks5ServerAuthHandler(int event, unsigned char *p, void (**h_ptr)(void))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/traffic_server/Crash.cc:51,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/Crash.cc:53,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/traffic_server/Crash.cc:57,1
    - Dst: RecConfigReadBinDir
      Src: /src/trafficserver/src/traffic_server/Crash.cc:65,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_server/Crash.cc:66,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_server/Crash.cc:68,1
    - Dst: ats_scoped_str::release
      Src: /src/trafficserver/src/traffic_server/Crash.cc:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: create_logger_path
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - ats_free
    - RecConfigReadBinDir
    - RecGetRecordStringAlloc
    - ats_scoped_str::release
    - Layout::relative_to
    - ats_stringdup
    linkageType: ''
    returnType: char
    signature: 'char *

      create_logger_path()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_server/Crash.cc:77,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/Crash.cc:78,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/Crash.cc:78,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/traffic_server/Crash.cc:82,1
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/Crash.cc:82,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/Crash.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: check_logger_path
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - S_ISREG
    - stat
    - strerror
    - Error
    - access
    linkageType: ''
    returnType: bool
    signature: bool check_logger_path(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/traffic_server/Crash.cc:51,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/Crash.cc:53,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/traffic_server/Crash.cc:57,1
    - Dst: RecConfigReadBinDir
      Src: /src/trafficserver/src/traffic_server/Crash.cc:65,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_server/Crash.cc:66,1
    - Dst: ats_free
      Src: /src/trafficserver/src/traffic_server/Crash.cc:68,1
    - Dst: ats_scoped_str::release
      Src: /src/trafficserver/src/traffic_server/Crash.cc:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: create_logger_path
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - ats_scoped_str::ats_scoped_str
    - ats_free
    - RecConfigReadBinDir
    - RecGetRecordStringAlloc
    - ats_scoped_str::release
    - Layout::relative_to
    - ats_stringdup
    linkageType: ''
    returnType: char
    signature: 'char *

      create_logger_path()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/traffic_server/Crash.cc:77,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/Crash.cc:78,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/Crash.cc:78,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/traffic_server/Crash.cc:82,1
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/Crash.cc:82,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/Crash.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: check_logger_path
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - S_ISREG
    - stat
    - strerror
    - Error
    - access
    linkageType: ''
    returnType: bool
    signature: bool check_logger_path(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_logger_path
      Src: /src/trafficserver/src/traffic_server/Crash.cc:103,1
    - Dst: strrchr
      Src: /src/trafficserver/src/traffic_server/Crash.cc:108,1
    - Dst: socketpair
      Src: /src/trafficserver/src/traffic_server/Crash.cc:110,1
    - Dst: fork
      Src: /src/trafficserver/src/traffic_server/Crash.cc:112,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/Crash.cc:115,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/Crash.cc:115,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_server/Crash.cc:122,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:123,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:124,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:128,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/traffic_server/Crash.cc:133,1
    - Dst: execl
      Src: /src/trafficserver/src/traffic_server/Crash.cc:133,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:138,1
    - Dst: waitpid
      Src: /src/trafficserver/src/traffic_server/Crash.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/Crash.cc:144,1
    - Dst: WIFSTOPPED
      Src: /src/trafficserver/src/traffic_server/Crash.cc:144,1
    - Dst: WIFEXITED
      Src: /src/trafficserver/src/traffic_server/Crash.cc:146,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/Crash.cc:147,1
    - Dst: WEXITSTATUS
      Src: /src/trafficserver/src/traffic_server/Crash.cc:147,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 153
    functionName: crash_logger_init
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ink_release_assert
    - fork
    - execl
    - close
    - Error
    - socketpair
    - strrchr
    - Dbg
    - dup2
    - waitpid
    - WIFEXITED
    - check_logger_path
    - WEXITSTATUS
    - strerror
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void crash_logger_init(const char *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/trafficserver/src/traffic_server/Crash.cc:162,1
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/traffic_server/Crash.cc:168,1
    - Dst: write
      Src: /src/trafficserver/src/traffic_server/Crash.cc:168,1
    - Dst: ATS_UNUSED_RETURN
      Src: /src/trafficserver/src/traffic_server/Crash.cc:169,1
    - Dst: write
      Src: /src/trafficserver/src/traffic_server/Crash.cc:169,1
    - Dst: static_cast<ucontext_t *>
      Src: /src/trafficserver/src/traffic_server/Crash.cc:169,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/Crash.cc:172,1
    - Dst: waitpid
      Src: /src/trafficserver/src/traffic_server/Crash.cc:176,1
    - Dst: signal_format_siginfo
      Src: /src/trafficserver/src/traffic_server/Crash.cc:180,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/Crash.cc:180,1
    - Dst: signal_crash_handler
      Src: /src/trafficserver/src/traffic_server/Crash.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - signo
    - info
    - ctx
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: crash_logger_invoke
    functionSourceFile: /src/trafficserver/src/traffic_server/Crash.cc
    functionUses: 0
    functionsReached:
    - write
    - signal_format_siginfo
    - signal_crash_handler
    - ATS_UNUSED_RETURN
    - close
    - kill
    - static_cast<ucontext_t *>
    - waitpid
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void crash_logger_invoke(int signo, siginfo_t *info, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::stop_ssl_handshaking
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:269,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:271,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:273,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:273,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:274,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:275,1
    - Dst: stop_thread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:280,1
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - get
    - WEAK_SCOPED_MUTEX_LOCK
    - TSSystemState::stop_ssl_handshaking
    - TSSystemState::shut_down_event_system
    - stop_thread
    - APIHook*::next
    - APIHook*::invoke
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event */, Event * /* e */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:288,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: AutoStopCont
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void AutoStopCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:294,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: SignalContinuation::SignalContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void SignalContinuation()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:299,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:300,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:307,1
    - Dst: malloc_stats_print
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:308,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:312,1
    - Dst: ResourceTracker::dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:319,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:321,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:322,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:323,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:324,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:326,1
    - Dst: Log::handle_log_rotation_request
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:329,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:336,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:337,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:338,1
    - Dst: TSSystemState::drain
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:339,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:341,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:341,1
    - Dst: stop_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:342,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:346,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:346,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: AutoStopCont::AutoStopCont
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 353
    functionName: SignalContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - malloc_stats_print
    - auto::value
    - schedule_in
    - HRTIME_SECONDS
    - TSSystemState::drain
    - Note
    - RegexContext::get_instance
    - RecGetRecordInt
    - Dbg
    - ts::Metrics::lookup
    - stop_HttpProxyServer
    - AutoStopCont::AutoStopCont
    - ink_freelists_dump
    - RecGetRecordString
    - Log::handle_log_rotation_request
    - diags
    - store
    - ResourceTracker::dump
    linkageType: ''
    returnType: int
    signature: int periodic(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:362,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:364,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: TrackerContinuation::TrackerContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - getenv
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void TrackerContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: ~TrackerContinuation() override
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TrackerContinuation() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelists_dump_baselinerel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:389,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:392,1
    - Dst: ResourceTracker::dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:393,1
    - Dst: ink_freelists_snap_baseline
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: TrackerContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - ink_freelists_dump_baselinerel
    - ink_freelists_dump
    - ResourceTracker::dump
    - ink_freelists_snap_baseline
    linkageType: ''
    returnType: int
    signature: int periodic(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:409,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:411,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:413,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:414,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: DiagsLogContinuation::DiagsLogContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - RecGetRecordStringAlloc
    - new_ProxyMutex
    - SET_HANDLER
    - std::move
    linkageType: ''
    returnType: void
    signature: void DiagsLogContinuation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:420,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:424,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:426,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:428,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:429,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:429,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:432,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:433,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:437,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:439,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:441,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:442,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:442,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:445,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:446,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 449
    functionName: DiagsLogContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Note
    - Dbg
    - c_str
    - diags
    - static_cast<RollingEnabledValues>
    - RecGetRecordInt
    linkageType: ''
    returnType: int
    signature: int periodic(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:458,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:460,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:461,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: MemoryLimit::MemoryLimit
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - memset
    - SET_HANDLER
    - ts::Metrics::Gauge::createPtr
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void MemoryLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: ~MemoryLimit() override
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryLimit() override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:478,1
    - Dst: getrusage
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:481,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:482,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:488,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:494,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:500,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 507
    functionName: MemoryLimit::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getrusage
    - ts::Metrics::Gauge::store
    - Dbg
    - Event*::cancel
    - RecGetRecordInt
    linkageType: ''
    returnType: int
    signature: int periodic(int event, Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: emit_fully_initialized_message
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Note
    linkageType: ''
    returnType: void
    signature: void emit_fully_initialized_message()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:555,1
    - Dst: load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:555,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:557,1
    - Dst: invalidate
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ip_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: set_debug_ip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - invalidate
    - diags
    - load
    linkageType: ''
    returnType: void
    signature: void set_debug_ip(const char *ip_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_debug_ip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: update_debug_client_ip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - set_debug_ip
    linkageType: ''
    returnType: int
    signature: "int update_debug_client_ip(const char * /*name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData data,\n                       void * /*
      data_type ATS_UNUSED */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:577,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:577,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:582,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:585,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:588,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:589,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    - Dst: TrackerContinuation::TrackerContinuation
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - config_var
    - data
    argTypes:
    - char*
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: init_memory_tracker
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - schedule_every
    - HRTIME_SECONDS
    - TrackerContinuation::TrackerContinuation
    - Dbg
    - static_cast<Event *>
    - Event*::cancel
    - RecGetRecordInt
    - schedule_imm
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int init_memory_tracker(const char *config_var, RecDataT /* type ATS_UNUSED
      */, RecData data, void * /* cookie ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:602,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:602,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:616,1
    - Dst: signal_format_siginfo
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:617,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:617,1
    - Dst: HeapProfilerDump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:620,1
    - Dst: HeapProfilerStop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:621,1
    - Dst: ProfilerStop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:622,1
    - Dst: signal_is_crash
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:627,1
    - Dst: signal_crash_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - signo
    - info
    - ctx
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 630
    functionName: proxy_signal_handler
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - HeapProfilerDump
    - signal_format_siginfo
    - signal_crash_handler
    - signal_is_crash
    - static_cast<unsigned>
    - auto::application
    - HeapProfilerStop
    - countof
    - ProfilerStop
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void proxy_signal_handler(int signo, siginfo_t *info, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_register_default_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:638,1
    - Dst: signal_register_crash_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:639,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:641,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:642,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:642,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:648,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 649
    functionName: init_system
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - ink_max_out_rlimit
    - signal_register_default_handler
    - signal_register_crash_handler
    - auto::full_version
    - syslog
    - auto::application
    - ink_set_fds_limit
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void init_system()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:659,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:661,1
    - Dst: Lockfile::Get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:662,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:665,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:666,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:666,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:669,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:669,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:671,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:673,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:675,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: check_lockfile
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Lockfile::Get
    - fprintf
    - static_cast<long>
    - my_exit
    - Layout::relative_to
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void check_lockfile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:687,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:687,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:689,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:690,1
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:693,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:693,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:695,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 698
    functionName: check_config_directories
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - access
    - fprintf
    - my_exit
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void check_config_directories()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:706,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:706,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:707,1
    - Dst: check_config_directories
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:709,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:714,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:715,1
    - Dst: auto::version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:715,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:716,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:716,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:717,1
    - Dst: auto::build_number
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:717,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:718,1
    - Dst: auto::build_time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:718,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:719,1
    - Dst: auto::build_date
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:719,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:720,1
    - Dst: auto::build_machine
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:720,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:721,1
    - Dst: auto::build_person
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: initialize_records
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - auto::build_machine
    - RecProcessInit
    - auto::build_number
    - RecRegisterStatString
    - auto::build_person
    - LibRecordsConfigInit
    - check_config_directories
    - auto::build_date
    - auto::full_version
    - auto::build_time
    - auto::version
    - diags
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void initialize_records()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initializeRegistry
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: initialize_file_manager
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - initializeRegistry
    linkageType: ''
    returnType: void
    signature: void initialize_file_manager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:734,1
    - Dst: auto::load_from_file
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:737,1
    - Dst: auto::is_enabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:738,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:739,1
    - Dst: rpc::RPCServer::RPCServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:745,1
    - Dst: start_thread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:746,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:750,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:752,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:752,1
    - Dst: rpc::admin::register_admin_jsonrpc_handlers
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:755,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 759
    functionName: initialize_jsonrpc_server
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - auto::is_enabled
    - start_thread
    - what
    - auto::load_from_file
    - rpc::RPCServer::RPCServer
    - Dbg
    - rpc::admin::register_admin_jsonrpc_handlers
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> initialize_jsonrpc_server()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:770,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:775,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:776,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:780,1
    - Dst: Store::read_config
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:782,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:784,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:785,1
    - Dst: Result::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:785,1
    - Dst: Store::write_config_data
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:788,1
    - Dst: fileno
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 791
    functionName: cmd_list
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Result::message
    - fileno
    - Store::write_config_data
    - Store::read_config
    - Note
    - printf
    - RecGetRecordInt
    - Result::failed
    linkageType: ''
    returnType: int
    signature: int cmd_list(char * /* cmd ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:806,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:808,1
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 816
    functionName: skip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - strspn
    - strpbrk
    linkageType: ''
    returnType: char
    signature: 'char *

      skip(char *cmd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:825,1
    - Dst: emit_fully_initialized_message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:826,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:832,1
    - Dst: start_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:833,1
    - Dst: emit_fully_initialized_message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:834,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:837,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:838,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:840,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:840,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:843,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:845,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 848
    functionName: CB_After_Cache_Init
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - emit_fully_initialized_message
    - RegexContext::get_instance
    - Dbg
    - start_HttpProxyServer
    - ts::Metrics::lookup
    - store
    - APIHook*::invoke
    - APIHook*::next
    - time
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void CB_After_Cache_Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:853,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:854,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:855,1
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:856,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:857,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: CB_cmd_cache_clear
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Note
    - my_exit
    - IsCacheEnabled
    linkageType: ''
    returnType: void
    signature: void CB_cmd_cache_clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:866,1
    - Dst: dir_check
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:867,1
    - Dst: stop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:868,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:872,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:873,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:875,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:876,1
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:878,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:879,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 882
    functionName: CB_cmd_cache_check
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - stop
    - my_exit
    - IsCacheEnabled
    - dir_check
    - printf
    - Note
    linkageType: ''
    returnType: void
    signature: void CB_cmd_cache_check()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:889,1
    - Dst: afterInitCallbackSet
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:891,1
    - Dst: start_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:892,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 897
    functionName: cmd_check_internal
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - printf
    - afterInitCallbackSet
    - start_internal
    linkageType: ''
    returnType: int
    signature: int cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_check_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: cmd_check
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - cmd_check_internal
    linkageType: ''
    returnType: int
    signature: int cmd_check(char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_check_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 910
    functionName: cmd_repair
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - cmd_check_internal
    linkageType: ''
    returnType: int
    signature: int cmd_repair(char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:916,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:918,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:919,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:922,1
    - Dst: afterInitCallbackSet
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:924,1
    - Dst: start_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:925,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 933
    functionName: cmd_clear
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - afterInitCallbackSet
    - Note
    - start_internal
    linkageType: ''
    returnType: int
    signature: int cmd_clear(char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:940,1
    - Dst: Log::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:945,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:948,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:949,1
    - Dst: api_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:952,1
    - Dst: plugin_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:953,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:955,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:957,1
    - Dst: urlRewriteVerify
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:960,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:962,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:964,1
    - Dst: RecReadYamlConfigFile
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:967,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:969,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:971,1
    - Dst: SSLInitializeLibrary
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:974,1
    - Dst: SSLConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:975,1
    - Dst: SSLCertificateConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:976,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:978,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:980,1
    - Dst: SSLInitClientContext
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:984,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:986,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:988,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 996
    functionName: cmd_verify
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - plugin_init
    - SSLCertificateConfig::startup
    - fprintf
    - api_init
    - SSLConfig::startup
    - SSLInitClientContext
    - my_exit
    - Log::init
    - urlRewriteVerify
    - RecReadYamlConfigFile
    - Layout::get
    - SSLInitializeLibrary
    linkageType: ''
    returnType: int
    signature: int cmd_verify(char * /* cmd ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1021,1
    - Dst: plugin_dso_load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1027,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1027,1
    - Dst: dlclose
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1029,1
    - Dst: swoc::SWOC_VERSION_NS::file::temp_directory_path
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1035,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: std::string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: getpid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1038,1
    - Dst: auto::string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1040,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1040,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1041,1
    - Dst: fs::path::filename
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1044,1
    - Dst: std::make_unique<RemapPluginInfo>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1046,1
    - Dst: auto::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1047,1
    - Dst: l_remove
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1048,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - plugin_type
    - plugin_path
    - error
    argTypes:
    - plugin_type_t
    - fs::path
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1017
    functionDepth: 6
    functionLinenumber: 1017
    functionLinenumberEnd: 1056
    functionName: try_loading_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - std::string
    - auto::string
    - std::ostringstream::str
    - auto::c_str
    - fprintf
    - dlclose
    - fs::path::c_str
    - swoc::SWOC_VERSION_NS::file::temp_directory_path
    - getpid
    - std::make_unique<RemapPluginInfo>
    - auto::load
    - TSSystemState::shut_down_event_system
    - swoc::SWOC_VERSION_NS::file::create_directories
    - std::to_string
    - l_remove
    - fs::path::filename
    - std::error_code::message
    - plugin_dso_load
    linkageType: ''
    returnType: bool
    signature: bool try_loading_plugin(plugin_type_t plugin_type, const fs::path &plugin_path,
      std::string &error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1070,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1072,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1077,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1079,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1080,1
    - Dst: try_loading_plugin
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1086,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1087,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1089,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - args
    - plugin_type
    argTypes:
    - char*
    - plugin_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1067
    functionDepth: 7
    functionLinenumber: 1067
    functionLinenumberEnd: 1093
    functionName: verify_plugin_helper
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - skip
    - BaseLogFile::exists
    - try_loading_plugin
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int verify_plugin_helper(char *args, plugin_type_t plugin_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_plugin_helper
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 8
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    functionName: cmd_verify_global_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - verify_plugin_helper
    linkageType: ''
    returnType: int
    signature: int cmd_verify_global_plugin(char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_plugin_helper
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1115
    functionDepth: 8
    functionLinenumber: 1115
    functionLinenumberEnd: 1119
    functionName: cmd_verify_remap_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - verify_plugin_helper
    linkageType: ''
    returnType: int
    signature: int cmd_verify_remap_plugin(char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1204,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1205,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1208,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1209,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1210,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1211,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1219
    functionName: find_cmd_index
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strchr
    - strspn
    - strlen
    - strpbrk
    - countof
    linkageType: ''
    returnType: int
    signature: int find_cmd_index(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1226,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1229
    functionName: print_cmd_help
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - countof
    - printf
    linkageType: ''
    returnType: void
    signature: void print_cmd_help()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1235,1
    - Dst: skip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1236,1
    - Dst: print_cmd_help
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1238,1
    - Dst: find_cmd_index
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1241,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1242,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1245,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1249
    functionName: cmd_help
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - printf
    - skip
    - print_cmd_help
    - find_cmd_index
    linkageType: ''
    returnType: int
    signature: int cmd_help(char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1255,1
    - Dst: ink_get_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1255,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1256,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1260,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1263,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1270
    functionName: check_fd_limit
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - ink_abort
    - ink_get_fds_limit
    - snprintf
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void check_fd_limit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1279,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1281,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1282,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1283,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1284,1
    - Dst: print_cmd_help
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1285,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1288,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1289,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1290,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1291,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1292,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1296
    functionName: cmd_mode
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - printf
    - Warning
    - print_cmd_help
    - f
    linkageType: ''
    returnType: int
    signature: int cmd_mode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1302,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1302,1
    - Dst: ProcessFatal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1305
    functionName: check_for_root_uid
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getuid
    - ProcessFatal
    - geteuid
    linkageType: ''
    returnType: void
    signature: void check_for_root_uid()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1316,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1324,1
    - Dst: EnableCoreFile
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1328,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1332,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1335
    functionName: set_core_size
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Warning
    - setrlimit
    - getrlimit
    - EnableCoreFile
    - strerror
    linkageType: ''
    returnType: int
    signature: "int set_core_size(const char * /* name ATS_UNUSED */, RecDataT /*
      data_type ATS_UNUSED */, RecData data,\n              void * /* opaque_token
      ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1340,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1341,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1344,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1347,1
    - Dst: set_core_size
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1348,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1349,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1353
    functionName: init_core_size
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Warning
    - auto::value
    - RecRegisterConfigUpdateCb
    - RecGetRecordInt
    - auto::has_value
    - set_core_size
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void init_core_size()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_max_files
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1362,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1366,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1367,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1373,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1374,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1374,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1375,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1376,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1376,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1377,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1381,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1383,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1384,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1385,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1386,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1386,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1387,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1388,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1388,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1389,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1394,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1395,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1396,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1401
    functionName: adjust_sys_settings
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_max_out_rlimit
    - auto::value
    - static_cast<rlim_t>
    - setrlimit
    - getrlimit
    - syslog
    - RecGetRecordFloat
    - ink_set_fds_limit
    - RecGetRecordInt
    - ink_get_max_files
    linkageType: ''
    returnType: void
    signature: void adjust_sys_settings()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1425,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1427,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1430,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1433,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1435,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1438,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1440,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1443,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1444,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1447,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1451,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1454,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1455,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1457,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1459,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1462,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1463,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1465,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1467,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1470,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1471,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1473,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1475,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1478,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1479,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1481,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1483,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1486,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1487,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1489,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1491,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1494,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1495,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1497,1
    - Dst: fflush
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1499,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1502
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - fprintf
    - ts::Metrics::Counter::load
    - fflush
    - printf
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1506,1
    - Dst: fopen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1510
    functionName: ShowStats
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - fopen
    linkageType: ''
    returnType: void
    signature: void ShowStats()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1524,1
    - Dst: facility_string_to_int
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1525,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1525,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1527,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1529,1
    - Dst: closelog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1530,1
    - Dst: openlog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1531,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1536
    functionName: syslog_log_configure
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - closelog
    - facility_string_to_int
    - RecGetRecordStringAlloc
    - Dbg
    - openlog
    - syslog
    - ats_as_c_str
    linkageType: ''
    returnType: void
    signature: void syslog_log_configure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1541,1
    - Dst: mime_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1542,1
    - Dst: http_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1543,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1545
    functionName: init_http_header
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - hpack_huffman_init
    - http_init
    - url_init
    - mime_init
    linkageType: ''
    returnType: void
    signature: void init_http_header()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1559,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1560,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1564,1
    - Dst: RegressionTest::run
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1565,1
    - Dst: RegressionTest::check_status
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1570,1
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1574,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1575,1
    - Dst: regression_status_string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1553
    functionDepth: 4
    functionLinenumber: 1553
    functionLinenumberEnd: 1578
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - fprintf
    - regression_status_string
    - const_cast<char *>
    - RegressionTest::run
    - TSSystemState::shut_down_event_system
    - IsCacheEnabled
    - RegressionTest::check_status
    - printf
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1580,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1580
    functionName: RegressionCont
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void RegressionCont()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tell_diags_regression_testing_is_on
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1588,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    - Dst: RegressionCont::RegressionCont
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1592
    functionName: run_RegressionTest
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - schedule_every
    - RegressionCont::RegressionCont
    - tell_diags_regression_testing_is_on
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void run_RegressionTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1598,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1600,1
    - Dst: chdir
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1601,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1601,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1603,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1604,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1604,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1605,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1609
    functionName: chdir_root
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - my_exit
    - Layout::get
    - auto::application
    - chdir
    - strerror
    - ProxySession::get_version
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void chdir_root()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1618,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1620,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1621,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1624,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1635,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1636,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1638,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1638,1
    - Dst: unlikely
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1640,1
    - Dst: unlikely
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1649,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1650,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1656
    functionName: adjust_num_of_net_threads
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - auto::value
    - Dbg
    - RecGetRecordFloat
    - unlikely
    - RecGetRecordInt
    - static_cast<float>
    linkageType: ''
    returnType: int
    signature: int adjust_num_of_net_threads(int nthreads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1666,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1666,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1667,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1670,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1670,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1671,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1678,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1678,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1679,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1683,1
    - Dst: ImpersonateUser
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1684,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1687,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1687,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1700
    functionName: change_uid_gid
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getuid
    - Warning
    - auto::value
    - geteuid
    - Note
    - Dbg
    - ink_fatal
    - ImpersonateUser
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void change_uid_gid(const char *user)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1717,1
    - Dst: elevating_open
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1718,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1720,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1720,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1722,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1723,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1724,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1728,1
    - Dst: elevating_open
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1729,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1731,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1731,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1733,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1734,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - bind_stdout_p
    - bind_stderr_p
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1738
    functionName: bind_outputs
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - close
    - Dbg
    - elevating_open
    - dup2
    - strerror
    linkageType: ''
    returnType: void
    signature: void bind_outputs(const char *bind_stdout_p, const char *bind_stderr_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1753,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1754,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1755,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1756,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1757,1
    - Dst: IOUringContext::set_config
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1766
    functionName: configure_io_uring
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    - IOUringContext::set_config
    linkageType: ''
    returnType: void
    signature: void configure_io_uring()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::stop_ssl_handshaking
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:269,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:271,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:273,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:273,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:274,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:275,1
    - Dst: stop_thread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:280,1
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - get
    - WEAK_SCOPED_MUTEX_LOCK
    - TSSystemState::stop_ssl_handshaking
    - TSSystemState::shut_down_event_system
    - stop_thread
    - APIHook*::next
    - APIHook*::invoke
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event */, Event * /* e */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:288,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: AutoStopCont
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void AutoStopCont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:294,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: SignalContinuation::SignalContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void SignalContinuation()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:299,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:300,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:307,1
    - Dst: malloc_stats_print
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:308,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:312,1
    - Dst: ResourceTracker::dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:319,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:321,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:322,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:323,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:324,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:326,1
    - Dst: Log::handle_log_rotation_request
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:329,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:336,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:337,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:338,1
    - Dst: TSSystemState::drain
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:339,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:341,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:341,1
    - Dst: stop_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:342,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:346,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:346,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: AutoStopCont::AutoStopCont
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 353
    functionName: SignalContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - malloc_stats_print
    - auto::value
    - schedule_in
    - HRTIME_SECONDS
    - TSSystemState::drain
    - Note
    - RegexContext::get_instance
    - RecGetRecordInt
    - Dbg
    - ts::Metrics::lookup
    - stop_HttpProxyServer
    - AutoStopCont::AutoStopCont
    - ink_freelists_dump
    - RecGetRecordString
    - Log::handle_log_rotation_request
    - diags
    - store
    - ResourceTracker::dump
    linkageType: ''
    returnType: int
    signature: int periodic(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:362,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:364,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: TrackerContinuation::TrackerContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - getenv
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void TrackerContinuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: ~TrackerContinuation() override
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TrackerContinuation() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelists_dump_baselinerel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:389,1
    - Dst: ink_freelists_dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:392,1
    - Dst: ResourceTracker::dump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:393,1
    - Dst: ink_freelists_snap_baseline
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: TrackerContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - ink_freelists_dump_baselinerel
    - ink_freelists_dump
    - ResourceTracker::dump
    - ink_freelists_snap_baseline
    linkageType: ''
    returnType: int
    signature: int periodic(int event, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:409,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:411,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:413,1
    - Dst: std::move
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:414,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: DiagsLogContinuation::DiagsLogContinuation
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - RecGetRecordStringAlloc
    - new_ProxyMutex
    - SET_HANDLER
    - std::move
    linkageType: ''
    returnType: void
    signature: void DiagsLogContinuation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:420,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:424,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:426,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:428,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:429,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:429,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:432,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:433,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:437,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:439,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:441,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:442,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:442,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:445,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:446,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 449
    functionName: DiagsLogContinuation::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Note
    - Dbg
    - c_str
    - diags
    - static_cast<RollingEnabledValues>
    - RecGetRecordInt
    linkageType: ''
    returnType: int
    signature: int periodic(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:458,1
    - Dst: memset
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:460,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:461,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: MemoryLimit::MemoryLimit
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - memset
    - SET_HANDLER
    - ts::Metrics::Gauge::createPtr
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void MemoryLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: ~MemoryLimit() override
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemoryLimit() override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:478,1
    - Dst: getrusage
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:481,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:482,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:488,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:494,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:500,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 507
    functionName: MemoryLimit::periodic
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getrusage
    - ts::Metrics::Gauge::store
    - Dbg
    - Event*::cancel
    - RecGetRecordInt
    linkageType: ''
    returnType: int
    signature: int periodic(int event, Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: emit_fully_initialized_message
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - Note
    linkageType: ''
    returnType: void
    signature: void emit_fully_initialized_message()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:555,1
    - Dst: load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:555,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:557,1
    - Dst: invalidate
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ip_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: set_debug_ip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - invalidate
    - diags
    - load
    linkageType: ''
    returnType: void
    signature: void set_debug_ip(const char *ip_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_debug_ip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: update_debug_client_ip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - set_debug_ip
    linkageType: ''
    returnType: int
    signature: "int update_debug_client_ip(const char * /*name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData data,\n                       void * /*
      data_type ATS_UNUSED */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:577,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:577,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:582,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:585,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:588,1
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:589,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    - Dst: TrackerContinuation::TrackerContinuation
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - config_var
    - data
    argTypes:
    - char*
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: init_memory_tracker
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - schedule_every
    - HRTIME_SECONDS
    - TrackerContinuation::TrackerContinuation
    - Dbg
    - static_cast<Event *>
    - Event*::cancel
    - RecGetRecordInt
    - schedule_imm
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int init_memory_tracker(const char *config_var, RecDataT /* type ATS_UNUSED
      */, RecData data, void * /* cookie ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:602,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:602,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:616,1
    - Dst: signal_format_siginfo
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:617,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:617,1
    - Dst: HeapProfilerDump
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:620,1
    - Dst: HeapProfilerStop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:621,1
    - Dst: ProfilerStop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:622,1
    - Dst: signal_is_crash
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:627,1
    - Dst: signal_crash_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - signo
    - info
    - ctx
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 630
    functionName: proxy_signal_handler
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - HeapProfilerDump
    - signal_format_siginfo
    - signal_crash_handler
    - signal_is_crash
    - static_cast<unsigned>
    - auto::application
    - HeapProfilerStop
    - countof
    - ProfilerStop
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void proxy_signal_handler(int signo, siginfo_t *info, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_register_default_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:638,1
    - Dst: signal_register_crash_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:639,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:641,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:642,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:642,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:643,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:648,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 649
    functionName: init_system
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - ink_max_out_rlimit
    - signal_register_default_handler
    - signal_register_crash_handler
    - auto::full_version
    - syslog
    - auto::application
    - ink_set_fds_limit
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void init_system()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:659,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:661,1
    - Dst: Lockfile::Get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:662,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:665,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:666,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:666,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:669,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:669,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:671,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:673,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:675,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: check_lockfile
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Lockfile::Get
    - fprintf
    - static_cast<long>
    - my_exit
    - Layout::relative_to
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void check_lockfile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:687,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:687,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:688,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:689,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:690,1
    - Dst: access
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:693,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:693,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:694,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:695,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 698
    functionName: check_config_directories
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - access
    - fprintf
    - my_exit
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void check_config_directories()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:706,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:706,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:707,1
    - Dst: check_config_directories
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:709,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:714,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:715,1
    - Dst: auto::version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:715,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:716,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:716,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:717,1
    - Dst: auto::build_number
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:717,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:718,1
    - Dst: auto::build_time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:718,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:719,1
    - Dst: auto::build_date
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:719,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:720,1
    - Dst: auto::build_machine
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:720,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:721,1
    - Dst: auto::build_person
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: initialize_records
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - auto::build_machine
    - RecProcessInit
    - auto::build_number
    - RecRegisterStatString
    - auto::build_person
    - LibRecordsConfigInit
    - check_config_directories
    - auto::build_date
    - auto::full_version
    - auto::build_time
    - auto::version
    - diags
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void initialize_records()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initializeRegistry
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: initialize_file_manager
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - initializeRegistry
    linkageType: ''
    returnType: void
    signature: void initialize_file_manager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:734,1
    - Dst: auto::load_from_file
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:737,1
    - Dst: auto::is_enabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:738,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:739,1
    - Dst: rpc::RPCServer::RPCServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:745,1
    - Dst: start_thread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:746,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:750,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:752,1
    - Dst: what
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:752,1
    - Dst: rpc::admin::register_admin_jsonrpc_handlers
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:755,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 759
    functionName: initialize_jsonrpc_server
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - auto::is_enabled
    - start_thread
    - what
    - auto::load_from_file
    - rpc::RPCServer::RPCServer
    - Dbg
    - rpc::admin::register_admin_jsonrpc_handlers
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> initialize_jsonrpc_server()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:770,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:775,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:776,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:780,1
    - Dst: Store::read_config
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:782,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:784,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:785,1
    - Dst: Result::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:785,1
    - Dst: Store::write_config_data
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:788,1
    - Dst: fileno
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 791
    functionName: cmd_list
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Result::message
    - fileno
    - Store::write_config_data
    - Store::read_config
    - Note
    - printf
    - RecGetRecordInt
    - Result::failed
    linkageType: ''
    returnType: int
    signature: int cmd_list(char * /* cmd ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:806,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:808,1
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 816
    functionName: skip
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 5
    functionsReached:
    - strspn
    - strpbrk
    linkageType: ''
    returnType: char
    signature: 'char *

      skip(char *cmd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:825,1
    - Dst: emit_fully_initialized_message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:826,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:832,1
    - Dst: start_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:833,1
    - Dst: emit_fully_initialized_message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:834,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:837,1
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:838,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:840,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:840,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:843,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:845,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 848
    functionName: CB_After_Cache_Init
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - emit_fully_initialized_message
    - RegexContext::get_instance
    - Dbg
    - start_HttpProxyServer
    - ts::Metrics::lookup
    - store
    - APIHook*::invoke
    - APIHook*::next
    - time
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void CB_After_Cache_Init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:853,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:854,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:855,1
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:856,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:857,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: CB_cmd_cache_clear
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Note
    - my_exit
    - IsCacheEnabled
    linkageType: ''
    returnType: void
    signature: void CB_cmd_cache_clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:866,1
    - Dst: dir_check
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:867,1
    - Dst: stop
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:868,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:872,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:873,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:875,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:876,1
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:878,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:879,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 882
    functionName: CB_cmd_cache_check
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - stop
    - my_exit
    - IsCacheEnabled
    - dir_check
    - printf
    - Note
    linkageType: ''
    returnType: void
    signature: void CB_cmd_cache_check()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:889,1
    - Dst: afterInitCallbackSet
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:891,1
    - Dst: start_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:892,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 897
    functionName: cmd_check_internal
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 2
    functionsReached:
    - printf
    - afterInitCallbackSet
    - start_internal
    linkageType: ''
    returnType: int
    signature: int cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_check_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: cmd_check
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - cmd_check_internal
    linkageType: ''
    returnType: int
    signature: int cmd_check(char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_check_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 910
    functionName: cmd_repair
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - cmd_check_internal
    linkageType: ''
    returnType: int
    signature: int cmd_repair(char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:916,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:918,1
    - Dst: strcmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:919,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:922,1
    - Dst: afterInitCallbackSet
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:924,1
    - Dst: start_internal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:925,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 933
    functionName: cmd_clear
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - afterInitCallbackSet
    - Note
    - start_internal
    linkageType: ''
    returnType: int
    signature: int cmd_clear(char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:940,1
    - Dst: Log::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:945,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:948,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:949,1
    - Dst: api_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:952,1
    - Dst: plugin_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:953,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:955,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:957,1
    - Dst: urlRewriteVerify
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:960,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:962,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:964,1
    - Dst: RecReadYamlConfigFile
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:967,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:969,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:971,1
    - Dst: SSLInitializeLibrary
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:974,1
    - Dst: SSLConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:975,1
    - Dst: SSLCertificateConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:976,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:978,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:980,1
    - Dst: SSLInitClientContext
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:984,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:986,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:988,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 996
    functionName: cmd_verify
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - plugin_init
    - SSLCertificateConfig::startup
    - fprintf
    - api_init
    - SSLConfig::startup
    - SSLInitClientContext
    - my_exit
    - Log::init
    - urlRewriteVerify
    - RecReadYamlConfigFile
    - Layout::get
    - SSLInitializeLibrary
    linkageType: ''
    returnType: int
    signature: int cmd_verify(char * /* cmd ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1021,1
    - Dst: plugin_dso_load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1027,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1027,1
    - Dst: dlclose
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1029,1
    - Dst: swoc::SWOC_VERSION_NS::file::temp_directory_path
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1035,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: std::string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: std::to_string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: getpid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1036,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1038,1
    - Dst: auto::string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1040,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1040,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1041,1
    - Dst: fs::path::filename
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1044,1
    - Dst: std::make_unique<RemapPluginInfo>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1046,1
    - Dst: auto::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1047,1
    - Dst: l_remove
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1048,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - plugin_type
    - plugin_path
    - error
    argTypes:
    - plugin_type_t
    - fs::path
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1017
    functionDepth: 6
    functionLinenumber: 1017
    functionLinenumberEnd: 1056
    functionName: try_loading_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - get_yaml_path
    - std::string
    - auto::string
    - std::ostringstream::str
    - auto::c_str
    - fprintf
    - dlclose
    - fs::path::c_str
    - swoc::SWOC_VERSION_NS::file::temp_directory_path
    - getpid
    - std::make_unique<RemapPluginInfo>
    - auto::load
    - TSSystemState::shut_down_event_system
    - swoc::SWOC_VERSION_NS::file::create_directories
    - std::to_string
    - l_remove
    - fs::path::filename
    - std::error_code::message
    - plugin_dso_load
    linkageType: ''
    returnType: bool
    signature: bool try_loading_plugin(plugin_type_t plugin_type, const fs::path &plugin_path,
      std::string &error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1070,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1072,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1077,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1079,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1080,1
    - Dst: try_loading_plugin
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1086,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1087,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1089,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - args
    - plugin_type
    argTypes:
    - char*
    - plugin_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1067
    functionDepth: 7
    functionLinenumber: 1067
    functionLinenumberEnd: 1093
    functionName: verify_plugin_helper
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 2
    functionsReached:
    - fprintf
    - skip
    - BaseLogFile::exists
    - try_loading_plugin
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int verify_plugin_helper(char *args, plugin_type_t plugin_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_plugin_helper
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 8
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    functionName: cmd_verify_global_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - verify_plugin_helper
    linkageType: ''
    returnType: int
    signature: int cmd_verify_global_plugin(char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_plugin_helper
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1115
    functionDepth: 8
    functionLinenumber: 1115
    functionLinenumberEnd: 1119
    functionName: cmd_verify_remap_plugin
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - verify_plugin_helper
    linkageType: ''
    returnType: int
    signature: int cmd_verify_remap_plugin(char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1204,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1205,1
    - Dst: strchr
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1208,1
    - Dst: strpbrk
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1209,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1210,1
    - Dst: strlen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1211,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1219
    functionName: find_cmd_index
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strchr
    - strspn
    - strlen
    - strpbrk
    - countof
    linkageType: ''
    returnType: int
    signature: int find_cmd_index(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1226,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1229
    functionName: print_cmd_help
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 2
    functionsReached:
    - countof
    - printf
    linkageType: ''
    returnType: void
    signature: void print_cmd_help()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1235,1
    - Dst: skip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1236,1
    - Dst: print_cmd_help
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1238,1
    - Dst: find_cmd_index
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1241,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1242,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1245,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1249
    functionName: cmd_help
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - printf
    - skip
    - print_cmd_help
    - find_cmd_index
    linkageType: ''
    returnType: int
    signature: int cmd_help(char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1255,1
    - Dst: ink_get_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1255,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1256,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1260,1
    - Dst: snprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1263,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1270
    functionName: check_fd_limit
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - ink_abort
    - ink_get_fds_limit
    - snprintf
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void check_fd_limit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1279,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1281,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1282,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1283,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1284,1
    - Dst: print_cmd_help
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1285,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1288,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1289,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1290,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1291,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1292,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1296
    functionName: cmd_mode
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - printf
    - Warning
    - print_cmd_help
    - f
    linkageType: ''
    returnType: int
    signature: int cmd_mode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1302,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1302,1
    - Dst: ProcessFatal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1305
    functionName: check_for_root_uid
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getuid
    - ProcessFatal
    - geteuid
    linkageType: ''
    returnType: void
    signature: void check_for_root_uid()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1316,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1324,1
    - Dst: EnableCoreFile
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1328,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1332,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1335
    functionName: set_core_size
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - Warning
    - setrlimit
    - getrlimit
    - EnableCoreFile
    - strerror
    linkageType: ''
    returnType: int
    signature: "int set_core_size(const char * /* name ATS_UNUSED */, RecDataT /*
      data_type ATS_UNUSED */, RecData data,\n              void * /* opaque_token
      ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1340,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1341,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1344,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1347,1
    - Dst: set_core_size
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1348,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1349,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1353
    functionName: init_core_size
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - Warning
    - auto::value
    - RecRegisterConfigUpdateCb
    - RecGetRecordInt
    - auto::has_value
    - set_core_size
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void init_core_size()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_max_files
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1362,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1366,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1367,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1373,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1374,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1374,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1375,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1376,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1376,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1377,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1381,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1383,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1384,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1385,1
    - Dst: setrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1386,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1386,1
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1387,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1388,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1388,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1389,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1394,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1395,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1396,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1401
    functionName: adjust_sys_settings
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_max_out_rlimit
    - auto::value
    - static_cast<rlim_t>
    - setrlimit
    - getrlimit
    - syslog
    - RecGetRecordFloat
    - ink_set_fds_limit
    - RecGetRecordInt
    - ink_get_max_files
    linkageType: ''
    returnType: void
    signature: void adjust_sys_settings()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1425,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1427,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1430,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1433,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1435,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1438,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1440,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1443,1
    - Dst: ts::Metrics::Counter::load
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1444,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1447,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1451,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1454,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1455,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1457,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1459,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1462,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1463,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1465,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1467,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1470,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1471,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1473,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1475,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1478,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1479,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1481,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1483,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1486,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1487,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1489,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1491,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1494,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1495,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1497,1
    - Dst: fflush
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1499,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1502
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - fprintf
    - ts::Metrics::Counter::load
    - fflush
    - printf
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1506,1
    - Dst: fopen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1510
    functionName: ShowStats
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - fopen
    linkageType: ''
    returnType: void
    signature: void ShowStats()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1524,1
    - Dst: facility_string_to_int
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1525,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1525,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1527,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1529,1
    - Dst: closelog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1530,1
    - Dst: openlog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1531,1
    - Dst: syslog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1536
    functionName: syslog_log_configure
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - closelog
    - facility_string_to_int
    - RecGetRecordStringAlloc
    - Dbg
    - openlog
    - syslog
    - ats_as_c_str
    linkageType: ''
    returnType: void
    signature: void syslog_log_configure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1541,1
    - Dst: mime_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1542,1
    - Dst: http_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1543,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1545
    functionName: init_http_header
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - hpack_huffman_init
    - http_init
    - url_init
    - mime_init
    linkageType: ''
    returnType: void
    signature: void init_http_header()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsCacheEnabled
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1559,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1560,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1564,1
    - Dst: RegressionTest::run
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1565,1
    - Dst: RegressionTest::check_status
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1570,1
    - Dst: TSSystemState::shut_down_event_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1574,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1575,1
    - Dst: regression_status_string
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1553
    functionDepth: 4
    functionLinenumber: 1553
    functionLinenumberEnd: 1578
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - fprintf
    - regression_status_string
    - const_cast<char *>
    - RegressionTest::run
    - TSSystemState::shut_down_event_system
    - IsCacheEnabled
    - RegressionTest::check_status
    - printf
    linkageType: ''
    returnType: int
    signature: int mainEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1580,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1580
    functionName: RegressionCont
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void RegressionCont()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tell_diags_regression_testing_is_on
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1588,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    - Dst: RegressionCont::RegressionCont
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1592
    functionName: run_RegressionTest
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - schedule_every
    - RegressionCont::RegressionCont
    - tell_diags_regression_testing_is_on
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void run_RegressionTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1598,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1600,1
    - Dst: chdir
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1601,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1601,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1602,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1603,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1604,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1604,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1605,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    - Dst: auto::application
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1609
    functionName: chdir_root
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - my_exit
    - Layout::get
    - auto::application
    - chdir
    - strerror
    - ProxySession::get_version
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void chdir_root()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1618,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1620,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1621,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1624,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1635,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1636,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1638,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1638,1
    - Dst: unlikely
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1640,1
    - Dst: unlikely
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1649,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1650,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1656
    functionName: adjust_num_of_net_threads
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - auto::value
    - Dbg
    - RecGetRecordFloat
    - unlikely
    - RecGetRecordInt
    - static_cast<float>
    linkageType: ''
    returnType: int
    signature: int adjust_num_of_net_threads(int nthreads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1666,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1666,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1667,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1670,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1670,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1671,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1678,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1678,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1679,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1683,1
    - Dst: ImpersonateUser
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1684,1
    - Dst: getuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1687,1
    - Dst: geteuid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1687,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1700
    functionName: change_uid_gid
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - getuid
    - Warning
    - auto::value
    - geteuid
    - Note
    - Dbg
    - ink_fatal
    - ImpersonateUser
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void change_uid_gid(const char *user)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1717,1
    - Dst: elevating_open
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1718,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1720,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1720,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1722,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1723,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1724,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1728,1
    - Dst: elevating_open
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1729,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1731,1
    - Dst: strerror
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1731,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1733,1
    - Dst: dup2
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1734,1
    - Dst: close
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - bind_stdout_p
    - bind_stderr_p
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1738
    functionName: bind_outputs
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - close
    - Dbg
    - elevating_open
    - dup2
    - strerror
    linkageType: ''
    returnType: void
    signature: void bind_outputs(const char *bind_stdout_p, const char *bind_stderr_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1753,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1754,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1755,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1756,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1757,1
    - Dst: IOUringContext::set_config
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1766
    functionName: configure_io_uring
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    - IOUringContext::set_config
    linkageType: ''
    returnType: void
    signature: void configure_io_uring()
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: HeapProfilerStart
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1778,1
    - Dst: ProfilerStart
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1779,1
    - Dst: mcheck_pedantic
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1784,1
    - Dst: Initialize_Errata_Settings
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1788,1
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1794,1
    - Dst: runroot_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1796,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1798,1
    - Dst: printf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1800,1
    - Dst: chdir_root
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1801,1
    - Dst: sort
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1803,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1803,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1804,1
    - Dst: process_args
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1806,1
    - Dst: countof
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1806,1
    - Dst: find_cmd_index
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1808,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1814,1
    - Dst: ink_freelist_init_ops
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1817,1
    - Dst: RegressionTest::list
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1821,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1822,1
    - Dst: openlog
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1828,1
    - Dst: DiagsConfig::DiagsConfig
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1841,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1842,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1843,1
    - Dst: 'on'
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1844,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1845,1
    - Dst: bind_outputs
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1851,1
    - Dst: cmd_mode
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1854,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1856,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1858,1
    - Dst: initialize_records
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1863,1
    - Dst: initialize_file_manager
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1866,1
    - Dst: init_core_size
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1869,1
    - Dst: init_system
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1870,1
    - Dst: adjust_sys_settings
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1873,1
    - Dst: syslog_log_configure
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1876,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1879,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1882,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1883,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1883,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1884,1
    - Dst: store
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1885,1
    - Dst: time
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1885,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1887,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1888,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1889,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1891,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1895,1
    - Dst: ats_hugepage_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1896,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1897,1
    - Dst: ats_pagesize
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1897,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1898,1
    - Dst: ats_hugepage_size
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1898,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1901,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1905,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1910,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1912,1
    - Dst: auto::value
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1912,1
    - Dst: crash_logger_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1918,1
    - Dst: signal_register_crash_handler
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1919,1
    - Dst: PluginFactory::cleanup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1923,1
    - Dst: PreserveCapabilities
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1933,1
    - Dst: change_uid_gid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1934,1
    - Dst: RestrictCapabilities
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1935,1
    - Dst: check_lockfile
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1942,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1951,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1952,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1955,1
    - Dst: strnlen
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1956,1
    - Dst: strncpy
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1957,1
    - Dst: DiagsConfig::DiagsConfig
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1960,1
    - Dst: RecSetDiags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1961,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1961,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1962,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1963,1
    - Dst: 'on'
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1964,1
    - Dst: diags
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1965,1
    - Dst: DebugCapabilities
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1973,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1978,1
    - Dst: mlockall
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1981,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1982,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1984,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1991,1
    - Dst: initialize_jsonrpc_server
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1995,1
    - Dst: Warning
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1996,1
    - Dst: c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:1996,1
    - Dst: HttpConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2007,1
    - Dst: SocksServerConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2009,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2016,1
    - Dst: outbound::has_ip4
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2017,1
    - Dst: swoc::IPEndpoint::assign
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2018,1
    - Dst: outbound::ip4
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2018,1
    - Dst: outbound::has_ip6
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2019,1
    - Dst: swoc::IPEndpoint::assign
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2020,1
    - Dst: outbound::ip6
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2020,1
    - Dst: inbound::has_ip4
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2021,1
    - Dst: swoc::IPEndpoint::assign
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2022,1
    - Dst: inbound::ip4
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2022,1
    - Dst: inbound::has_ip6
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2023,1
    - Dst: swoc::IPEndpoint::assign
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2024,1
    - Dst: inbound::ip6
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2024,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2028,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2029,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2030,1
    - Dst: Machine::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2034,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2037,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2037,1
    - Dst: getString
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2037,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2040,1
    - Dst: init_http_header
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2042,1
    - Dst: ts_session_protocol_well_known_name_indices_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2043,1
    - Dst: check_fd_limit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2046,1
    - Dst: SET_INTERVAL
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2057,1
    - Dst: SET_INTERVAL
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2058,1
    - Dst: SET_INTERVAL
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2059,1
    - Dst: ink_number_of_processors
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2061,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2062,1
    - Dst: adjust_num_of_net_threads
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2063,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2066,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2073,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2081,1
    - Dst: configure_io_uring
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2084,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2087,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2087,1
    - Dst: ink_net_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2088,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2088,1
    - Dst: ink_aio_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2089,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2089,1
    - Dst: ink_cache_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2090,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2090,1
    - Dst: ink_hostdb_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2091,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2092,1
    - Dst: ink_dns_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2093,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2094,1
    - Dst: ink_split_dns_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2095,1
    - Dst: ts::ModuleVersion::ModuleVersion
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2095,1
    - Dst: init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2098,1
    - Dst: prep_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2099,1
    - Dst: init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2103,1
    - Dst: std::unique_lock::unlock
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2113,1
    - Dst: notify_one
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2114,1
    - Dst: IOUringContext::local_context
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2118,1
    - Dst: IOUringContext*::valid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2119,1
    - Dst: IOUringContext::set_main_queue
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2120,1
    - Dst: IOUringContext*::get_wq_max_workers
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2121,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2122,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2124,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2130,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2132,1
    - Dst: SignalContinuation::SignalContinuation
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2132,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2133,1
    - Dst: DiagsLogContinuation::DiagsLogContinuation
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2133,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2134,1
    - Dst: MemoryLimit::MemoryLimit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2134,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2135,1
    - Dst: init_memory_tracker
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2136,1
    - Dst: RecData
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2136,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2139,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2140,1
    - Dst: set_debug_ip
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2142,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2145,1
    - Dst: cmd_mode
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2150,1
    - Dst: wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2156,1
    - Dst: notify_one
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2164,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2167,1
    - Dst: my_exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2169,1
    - Dst: register_event_type
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2175,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2177,1
    - Dst: RecProcessStart
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2179,1
    - Dst: initCacheControl
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2180,1
    - Dst: IpAllow::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2181,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2182,1
    - Dst: init_socks
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2183,1
    - Dst: ParentConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2184,1
    - Dst: SplitDNSConfig::startup
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2185,1
    - Dst: Http2::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2188,1
    - Dst: Http3::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2191,1
    - Dst: HttpProxyPort::loadValue
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2194,1
    - Dst: HttpProxyPort::loadConfig
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2195,1
    - Dst: HttpProxyPort::loadDefaultIfEmpty
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2197,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2199,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2201,1
    - Dst: Log::init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2204,1
    - Dst: parsePluginConfig
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2206,1
    - Dst: api_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2209,1
    - Dst: plugin_init
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2210,1
    - Dst: std::unique_lock::unlock
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2215,1
    - Dst: notify_one
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2216,1
    - Dst: IpAllow::has_no_rules
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2219,1
    - Dst: Error
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2220,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2225,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2227,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2229,1
    - Dst: afterInitCallbackSet
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2230,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2231,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2235,1
    - Dst: register_event_type
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2238,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2240,1
    - Dst: HttpBodyFactory::HttpBodyFactory
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2245,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2249,1
    - Dst: ShowStats::ShowStats
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2249,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2249,1
    - Dst: init_accept_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2256,1
    - Dst: start
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2257,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2260,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2264,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2266,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2267,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2271,1
    - Dst: wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2276,1
    - Dst: wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2282,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2287,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2288,1
    - Dst: Dbg
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2297,1
    - Dst: start_HttpProxyServer
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2298,1
    - Dst: emit_fully_initialized_message
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2299,1
    - Dst: RecConfigWarnIfUnregistered
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2305,1
    - Dst: start_SocksProxy
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2308,1
    - Dst: ink_set_thread_name
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2311,1
    - Dst: Note
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2313,1
    - Dst: TransformTest::run
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2316,1
    - Dst: run_RegressionTest
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2318,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2321,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2322,1
    - Dst: AutoStopCont::AutoStopCont
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2322,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2322,1
    - Dst: atoi
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2322,1
    - Dst: getenv
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2322,1
    - Dst: change_uid_gid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2328,1
    - Dst: TSSystemState::initialization_done
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2332,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2334,1
    - Dst: IOUringContext*::valid
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2336,1
    - Dst: IOUringContext*::submit_and_wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2337,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2339,1
    - Dst: sleep
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2342,1
    - Dst: RegressionTest::check_status
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2349,1
    - Dst: std::exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2350,1
    - Dst: std::exit
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2352,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 310
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 1774
    functionDepth: 9
    functionLinenumber: 1774
    functionLinenumberEnd: 2355
    functionName: main
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 3
    functionsReached:
    - emit_fully_initialized_message
    - std::exit
    - HttpProxyPort::loadConfig
    - change_uid_gid
    - RecConfigWarnIfUnregistered
    - AppVersionInfo::setup_version
    - getString
    - plugin_init
    - get
    - api_init
    - ink_set_thread_name
    - AutoStopCont::AutoStopCont
    - Log::init
    - strcasecmp
    - outbound::ip4
    - store
    - Initialize_Errata_Settings
    - HttpProxyPort::loadDefaultIfEmpty
    - ParentConfig::startup
    - ShowStats::ShowStats
    - mlockall
    - RecGetRecordStringAlloc
    - RecProcessStart
    - Error
    - atoi
    - strncpy
    - afterInitCallbackSet
    - ink_hostdb_init
    - check_fd_limit
    - set_debug_ip
    - sort
    - outbound::ip6
    - sleep
    - PreserveCapabilities
    - signal_register_crash_handler
    - RegexContext::get_instance
    - HttpConfig::startup
    - ats_hugepage_size
    - swoc::IPEndpoint::assign
    - mcheck_pedantic
    - ink_aio_init
    - IOUringContext::set_main_queue
    - HeapProfilerStart
    - initialize_jsonrpc_server
    - RecData
    - IOUringContext*::submit_and_wait
    - prep_HttpProxyServer
    - inbound::ip6
    - MemoryLimit::MemoryLimit
    - outbound::has_ip4
    - RecGetRecordString
    - init_system
    - ts::Metrics::Gauge::create
    - inbound::ip4
    - wait
    - SplitDNSConfig::startup
    - strnlen
    - notify_one
    - Http2::init
    - RegressionTest::list
    - getenv
    - PluginFactory::cleanup
    - IpAllow::startup
    - Note
    - Machine::instance
    - HRTIME_SECONDS
    - TSSystemState::initialization_done
    - find_cmd_index
    - adjust_sys_settings
    - ink_cache_init
    - Machine::init
    - HttpProxyPort::loadValue
    - time
    - ts_session_protocol_well_known_name_indices_init
    - check_lockfile
    - IpAllow::has_no_rules
    - TransformTest::run
    - inbound::has_ip4
    - configure_io_uring
    - RegressionTest::check_status
    - process_args
    - ats_hugepage_init
    - RecGetRecordInt
    - adjust_num_of_net_threads
    - ink_freelist_init_ops
    - RecRegisterConfigUpdateCb
    - ink_atomic_cas
    - EThread*::set_specific
    - ats_pagesize
    - init_memory_tracker
    - SocksServerConfig::startup
    - initialize_file_manager
    - countof
    - ink_event_system_init
    - initCacheControl
    - ts::ModuleVersion::ModuleVersion
    - ink_split_dns_init
    - Warning
    - cmd_mode
    - RecRegisterStatString
    - ink_net_init
    - Dbg
    - ink_number_of_processors
    - std::string_view
    - std::unique_lock::unlock
    - start
    - Layout::create
    - syslog_log_configure
    - 'on'
    - Http3::init
    - init_socks
    - SignalContinuation::SignalContinuation
    - RecSetDiags
    - run_RegressionTest
    - openlog
    - IOUringContext*::get_wq_max_workers
    - register_event_type
    - init_core_size
    - DiagsConfig::DiagsConfig
    - schedule_in
    - DebugCapabilities
    - inbound::has_ip6
    - HttpBodyFactory::HttpBodyFactory
    - outbound::has_ip6
    - ats_as_c_str
    - chdir_root
    - IOUringContext*::valid
    - ink_zero
    - TSSystemState::is_event_system_shut_down
    - bind_outputs
    - APIHook*::invoke
    - SET_INTERVAL
    - ProfilerStart
    - init_http_header
    - init_accept_HttpProxyServer
    - DiagsLogContinuation::DiagsLogContinuation
    - my_exit
    - start_SocksProxy
    - IOUringContext::local_context
    - parsePluginConfig
    - APIHook*::next
    - start_HttpProxyServer
    - crash_logger_init
    - printf
    - diags
    - auto::value
    - schedule_every
    - RestrictCapabilities
    - ink_dns_init
    - EThread::EThread
    - runroot_handler
    - c_str
    - init
    - initialize_records
    linkageType: ''
    returnType: int
    signature: int main(int /* argc ATS_UNUSED */, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - scope
    - ','
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2057
    functionName: SET_INTERVAL
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_INTERVAL(scope, name, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2365,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2368,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - server
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2360
    functionDepth: 1
    functionLinenumber: 2360
    functionLinenumberEnd: 2371
    functionName: init_ssl_ctx_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - APIHook*::next
    - APIHook*::invoke
    linkageType: ''
    returnType: void
    signature: void init_ssl_ctx_callback(void *ctx, bool server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2373
    functionDepth: 2
    functionLinenumber: 2373
    functionLinenumberEnd: 2377
    functionName: load_ssl_file_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void load_ssl_file_callback(const char *ssl_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2384,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2387,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2389,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2389,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2390,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2393
    functionName: task_threads_started_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - WEAK_SCOPED_MUTEX_LOCK
    - APIHook*::next
    - APIHook*::invoke
    - this_ethread
    - wait
    linkageType: ''
    returnType: void
    signature: void task_threads_started_callback()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2399,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2401,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2410
    functionName: check_max_records_argument
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - std::stoi
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_max_records_argument(const ArgumentDescription * /* ATS_UNUSED
      arg*/, unsigned int /* nargs ATS_UNUSED */, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2365,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2368,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - server
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2360
    functionDepth: 1
    functionLinenumber: 2360
    functionLinenumberEnd: 2371
    functionName: init_ssl_ctx_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - APIHook*::next
    - APIHook*::invoke
    linkageType: ''
    returnType: void
    signature: void init_ssl_ctx_callback(void *ctx, bool server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2373
    functionDepth: 2
    functionLinenumber: 2373
    functionLinenumberEnd: 2377
    functionName: load_ssl_file_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void load_ssl_file_callback(const char *ssl_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2384,1
    - Dst: get
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2387,1
    - Dst: WEAK_SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2389,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2389,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2390,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2393
    functionName: task_threads_started_callback
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - get
    - WEAK_SCOPED_MUTEX_LOCK
    - APIHook*::next
    - APIHook*::invoke
    - this_ethread
    - wait
    linkageType: ''
    returnType: void
    signature: void task_threads_started_callback()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stoi
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2399,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2401,1
    - Dst: fprintf
      Src: /src/trafficserver/src/traffic_server/traffic_server.cc:2407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2410
    functionName: check_max_records_argument
    functionSourceFile: /src/trafficserver/src/traffic_server/traffic_server.cc
    functionUses: 0
    functionsReached:
    - std::stoi
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_max_records_argument(const ArgumentDescription * /* ATS_UNUSED
      arg*/, unsigned int /* nargs ATS_UNUSED */, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_thread_null
      Src: /src/trafficserver/src/records/RecMutex.cc:31,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/records/RecMutex.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - RecMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: rec_mutex_init
    functionSourceFile: /src/trafficserver/src/records/RecMutex.cc
    functionUses: 0
    functionsReached:
    - ink_thread_null
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void rec_mutex_init(RecMutex *m, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMutex.cc:38,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMutex.cc:39,1
    - Dst: ink_thread_null
      Src: /src/trafficserver/src/records/RecMutex.cc:39,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/records/RecMutex.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - RecMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: rec_mutex_destroy
    functionSourceFile: /src/trafficserver/src/records/RecMutex.cc
    functionUses: 0
    functionsReached:
    - ink_thread_null
    - ink_mutex_destroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void rec_mutex_destroy(RecMutex *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_thread_self
      Src: /src/trafficserver/src/records/RecMutex.cc:46,1
    - Dst: pthread_equal
      Src: /src/trafficserver/src/records/RecMutex.cc:48,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/records/RecMutex.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - RecMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: rec_mutex_acquire
    functionSourceFile: /src/trafficserver/src/records/RecMutex.cc
    functionUses: 0
    functionsReached:
    - ink_thread_self
    - ink_mutex_acquire
    - pthread_equal
    linkageType: ''
    returnType: void
    signature: void rec_mutex_acquire(RecMutex *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_thread_null
      Src: /src/trafficserver/src/records/RecMutex.cc:62,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/records/RecMutex.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - m
    argTypes:
    - RecMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: rec_mutex_release
    functionSourceFile: /src/trafficserver/src/records/RecMutex.cc
    functionUses: 0
    functionsReached:
    - ink_thread_null
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void rec_mutex_release(RecMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:33,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:34,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:35,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:36,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:37,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:38,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:40,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:41,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:42,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:43,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:44,1
    - Dst: RecRegisterConfigInt
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:45,1
    - Dst: RecRegisterConfigFloat
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:46,1
    - Dst: RecRegisterConfigCounter
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:47,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:50,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:51,1
    - Dst: RecRegisterStatInt
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:52,1
    - Dst: RecRegisterStatFloat
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:53,1
    - Dst: RecRegisterStatCounter
      Src: /src/trafficserver/src/records/test_RecordsConfig.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: RecordsConfigRegister
    functionSourceFile: /src/trafficserver/src/records/test_RecordsConfig.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigFloat
    - RecRegisterStatString
    - RecRegisterConfigInt
    - RecRegisterConfigString
    - RecRegisterStatCounter
    - RecRegisterStatFloat
    - RecRegisterConfigCounter
    - RecRegisterStatInt
    linkageType: ''
    returnType: void
    signature: void RecordsConfigRegister()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/records/RecordsConfig.cc:1533,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecordsConfig.cc:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - callback
    - data
    argTypes:
    - RecordElementCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1536
    functionName: RecordsConfigIterate
    functionSourceFile: /src/trafficserver/src/records/RecordsConfig.cc
    functionUses: 0
    functionsReached:
    - callback
    - countof
    linkageType: ''
    returnType: void
    signature: void RecordsConfigIterate(RecordElementCallback callback, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/records/RecordsConfig.cc:1541,1
    - Dst: std::string_view::compare
      Src: /src/trafficserver/src/records/RecordsConfig.cc:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1548
    functionName: GetRecordElementByName
    functionSourceFile: /src/trafficserver/src/records/RecordsConfig.cc
    functionUses: 0
    functionsReached:
    - countof
    - std::string_view::compare
    linkageType: ''
    returnType: RecordElement
    signature: 'RecordElement *

      GetRecordElementByName(std::string_view name)'
  - 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: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: REC_REGISTER_STAT_XXX
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_REGISTER_STAT_XXX(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REC_REGISTER_STAT_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rec_type
    - name
    - data_default
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecInt
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: _RecRegisterStatInt
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - REC_REGISTER_STAT_XXX
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT _RecRegisterStatInt(RecT rec_type, const char *name, RecInt
      data_default, RecPersistT persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REC_REGISTER_STAT_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rec_type
    - name
    - data_default
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecFloat
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: _RecRegisterStatFloat
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - REC_REGISTER_STAT_XXX
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT _RecRegisterStatFloat(RecT rec_type, const char *name, RecFloat
      data_default, RecPersistT persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/P_RecCore.cc:74,1
    - Dst: REC_REGISTER_STAT_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rec_type
    - name
    - data_in
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecStringConst
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: _RecRegisterStatString
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - REC_REGISTER_STAT_XXX
    - const_cast<char *>
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT _RecRegisterStatString(RecT rec_type, const char *name, RecStringConst
      data_in, RecPersistT persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REC_REGISTER_STAT_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rec_type
    - name
    - data_default
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecCounter
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: _RecRegisterStatCounter
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - REC_REGISTER_STAT_XXX
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT _RecRegisterStatCounter(RecT rec_type, const char *name, RecCounter
      data_default, RecPersistT persist_type)
  - 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: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: REC_REGISTER_CONFIG_XXX
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_REGISTER_CONFIG_XXX(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/P_RecCore.cc:105,1
    - Dst: REC_REGISTER_CONFIG_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - rec_type
    - name
    - data_default
    - update_type
    - check_type
    - check_regex
    - source
    - access_type
    argTypes:
    - RecT
    - char*
    - RecInt
    - RecUpdateT
    - RecCheckT
    - char*
    - RecSourceT
    - RecAccessT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: RecRegisterConfigInt
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 2
    functionsReached:
    - REC_REGISTER_CONFIG_XXX
    - ink_assert
    linkageType: ''
    returnType: RecErrT
    signature: "RecErrT RecRegisterConfigInt(RecT rec_type, const char *name, RecInt
      data_default, RecUpdateT update_type, RecCheckT check_type,\n                     const
      char *check_regex, RecSourceT source, RecAccessT access_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/P_RecCore.cc:113,1
    - Dst: REC_REGISTER_CONFIG_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - rec_type
    - name
    - data_default
    - update_type
    - check_type
    - check_regex
    - source
    - access_type
    argTypes:
    - RecT
    - char*
    - RecFloat
    - RecUpdateT
    - RecCheckT
    - char*
    - RecSourceT
    - RecAccessT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: RecRegisterConfigFloat
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 1
    functionsReached:
    - REC_REGISTER_CONFIG_XXX
    - ink_assert
    linkageType: ''
    returnType: RecErrT
    signature: "RecErrT RecRegisterConfigFloat(RecT rec_type, const char *name, RecFloat
      data_default, RecUpdateT update_type, RecCheckT check_type,\n                       const
      char *check_regex, RecSourceT source, RecAccessT access_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<RecString>
      Src: /src/trafficserver/src/records/P_RecCore.cc:121,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/P_RecCore.cc:122,1
    - Dst: REC_REGISTER_CONFIG_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - rec_type
    - name
    - data_default_tmp
    - update_type
    - check_type
    - check_regex
    - source
    - access_type
    argTypes:
    - RecT
    - char*
    - char*
    - RecUpdateT
    - RecCheckT
    - char*
    - RecSourceT
    - RecAccessT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: RecRegisterConfigString
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 2
    functionsReached:
    - REC_REGISTER_CONFIG_XXX
    - ink_assert
    - const_cast<RecString>
    linkageType: ''
    returnType: RecErrT
    signature: "RecErrT RecRegisterConfigString(RecT rec_type, const char *name, const
      char *data_default_tmp, RecUpdateT update_type, RecCheckT check_type,\n                        const
      char *check_regex, RecSourceT source, RecAccessT access_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/P_RecCore.cc:130,1
    - Dst: REC_REGISTER_CONFIG_XXX
      Src: /src/trafficserver/src/records/P_RecCore.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - rec_type
    - name
    - data_default
    - update_type
    - check_type
    - check_regex
    - source
    - access_type
    argTypes:
    - RecT
    - char*
    - RecCounter
    - RecUpdateT
    - RecCheckT
    - char*
    - RecSourceT
    - RecAccessT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: RecRegisterConfigCounter
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 1
    functionsReached:
    - REC_REGISTER_CONFIG_XXX
    - ink_assert
    linkageType: ''
    returnType: RecErrT
    signature: "RecErrT RecRegisterConfigCounter(RecT rec_type, const char *name,
      RecCounter data_default, RecUpdateT update_type, RecCheckT check_type,\n                         const
      char *check_regex, RecSourceT source, RecAccessT access_type)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:146,1
    - Dst: find
      Src: /src/trafficserver/src/records/P_RecCore.cc:148,1
    - Dst: end
      Src: /src/trafficserver/src/records/P_RecCore.cc:148,1
    - Dst: i_am_the_record_owner
      Src: /src/trafficserver/src/records/P_RecCore.cc:150,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/P_RecCore.cc:151,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/P_RecCore.cc:159,1
    - Dst: RecDataSetFromString
      Src: /src/trafficserver/src/records/P_RecCore.cc:160,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/P_RecCore.cc:162,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/P_RecCore.cc:167,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/P_RecCore.cc:172,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/P_RecCore.cc:174,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/P_RecCore.cc:178,1
    - Dst: RecAlloc
      Src: /src/trafficserver/src/records/P_RecCore.cc:190,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/P_RecCore.cc:195,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/P_RecCore.cc:196,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/P_RecCore.cc:198,1
    - Dst: i_am_the_record_owner
      Src: /src/trafficserver/src/records/P_RecCore.cc:201,1
    - Dst: emplace
      Src: /src/trafficserver/src/records/P_RecCore.cc:205,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:210,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 7
    argNames:
    - rec_type
    - name
    - data_type
    - data
    - data_raw
    - source
    - lock
    argTypes:
    - RecT
    - char*
    - RecDataT
    - RecData*
    - RecRawStat*
    - RecSourceT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 214
    functionName: RecSetRecord
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - rec_mutex_release
    - find
    - RecDataSetFromString
    - REC_TYPE_IS_STAT
    - emplace
    - end
    - ink_rwlock_unlock
    - rec_mutex_acquire
    - RecAlloc
    - i_am_the_record_owner
    - REC_TYPE_IS_CONFIG
    - RecDataSet
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetRecord(RecT rec_type, const char *name, RecDataT data_type,
      RecData *data, RecRawStat *data_raw, RecSourceT source, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - rec_int
    - source
    - lock
    argTypes:
    - char*
    - RecInt
    - RecSourceT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: RecSetRecordInt
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 4
    functionsReached:
    - RecSetRecord
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetRecordInt(const char *name, RecInt rec_int, RecSourceT
      source, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - rec_float
    - source
    - lock
    argTypes:
    - char*
    - RecFloat
    - RecSourceT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: RecSetRecordFloat
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 4
    functionsReached:
    - RecSetRecord
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetRecordFloat(const char *name, RecFloat rec_float, RecSourceT
      source, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - rec_string
    - source
    - lock
    argTypes:
    - char*
    - RecString
    - RecSourceT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: RecSetRecordString
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 4
    functionsReached:
    - RecSetRecord
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetRecordString(const char *name, const RecString rec_string,
      RecSourceT source, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - rec_counter
    - source
    - lock
    argTypes:
    - char*
    - RecCounter
    - RecSourceT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: RecSetRecordCounter
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - RecSetRecord
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetRecordCounter(const char *name, RecCounter rec_counter,
      RecSourceT source, bool lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/trafficserver/src/records/P_RecCore.cc:253,1
    - Dst: std::ifstream::read
      Src: /src/trafficserver/src/records/P_RecCore.cc:256,1
    - Dst: remove
      Src: /src/trafficserver/src/records/P_RecCore.cc:262,1
    - Dst: ink_warning
      Src: /src/trafficserver/src/records/P_RecCore.cc:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: CheckSnapFileVersion
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - ink_warning
    - std::ifstream::read
    - std::ifstream::good
    - remove
    linkageType: ''
    returnType: void
    signature: void CheckSnapFileVersion(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:282,1
    - Dst: CheckSnapFileVersion
      Src: /src/trafficserver/src/records/P_RecCore.cc:284,1
    - Dst: RecMessageReadFromDisk
      Src: /src/trafficserver/src/records/P_RecCore.cc:286,1
    - Dst: RecMessageUnmarshalFirst
      Src: /src/trafficserver/src/records/P_RecCore.cc:287,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/P_RecCore.cc:289,1
    - Dst: RecGetRecordPersistenceType
      Src: /src/trafficserver/src/records/P_RecCore.cc:295,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:296,1
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:297,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/P_RecCore.cc:301,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/P_RecCore.cc:303,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:311,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:315,1
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:316,1
    - Dst: RecMessageUnmarshalNext
      Src: /src/trafficserver/src/records/P_RecCore.cc:317,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:321,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/P_RecCore.cc:322,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 325
    functionName: RecReadStatsFile
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordPersistenceType
    - ats_free
    - RecLog
    - RecMessageUnmarshalFirst
    - REC_TYPE_IS_STAT
    - ink_rwlock_unlock
    - RecMessageReadFromDisk
    - strlen
    - RecSetRecord
    - RecDebug
    - RecMessageUnmarshalNext
    - ink_rwlock_wrlock
    - CheckSnapFileVersion
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecReadStatsFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecMessageAlloc
      Src: /src/trafficserver/src/records/P_RecCore.cc:339,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/P_RecCore.cc:344,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/P_RecCore.cc:345,1
    - Dst: RecMessageMarshal_Realloc
      Src: /src/trafficserver/src/records/P_RecCore.cc:347,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/P_RecCore.cc:351,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:354,1
    - Dst: RecMessageWriteToDisk
      Src: /src/trafficserver/src/records/P_RecCore.cc:355,1
    - Dst: RecMessageFree
      Src: /src/trafficserver/src/records/P_RecCore.cc:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 360
    functionName: RecSyncStatsFile
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - RecMessageMarshal_Realloc
    - RecMessageAlloc
    - REC_TYPE_IS_STAT
    - RecMessageFree
    - RecMessageWriteToDisk
    - rec_mutex_acquire
    - RecDebug
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSyncStatsFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/P_RecCore.cc:368,1
    - Dst: RecDataSetFromString
      Src: /src/trafficserver/src/records/P_RecCore.cc:369,1
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/P_RecCore.cc:370,1
    - Dst: RecDataZero
      Src: /src/trafficserver/src/records/P_RecCore.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rec_type
    - data_type
    - name
    - value
    - source
    argTypes:
    - RecT
    - RecDataT
    - char*
    - char*
    - RecSourceT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: RecConsumeConfigEntry
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - memset
    - RecSetRecord
    - RecDataSetFromString
    - RecDataZero
    linkageType: ''
    returnType: void
    signature: void RecConsumeConfigEntry(RecT rec_type, RecDataT data_type, const
      char *name, const char *value, RecSourceT source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:380,1
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:383,1
    - Dst: RecConfigFileParse
      Src: /src/trafficserver/src/records/P_RecCore.cc:386,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: RecReadConfigFile
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 0
    functionsReached:
    - RecConfigFileParse
    - RecDebug
    - ink_rwlock_unlock
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecReadConfigFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/P_RecCore.cc:397,1
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:400,1
    - Dst: RecYAMLConfigFileParse
      Src: /src/trafficserver/src/records/P_RecCore.cc:403,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: RecReadYamlConfigFile
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 4
    functionsReached:
    - RecYAMLConfigFileParse
    - RecDebug
    - ink_rwlock_unlock
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata RecReadYamlConfigFile()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:419,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/P_RecCore.cc:424,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/P_RecCore.cc:425,1
    - Dst: RecConfigUpdateCbList*::update_cb
      Src: /src/trafficserver/src/records/P_RecCore.cc:445,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/P_RecCore.cc:450,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - update_required_type
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 456
    functionName: RecExecConfigUpdateCbs
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - rec_mutex_acquire
    - REC_TYPE_IS_CONFIG
    - ink_rwlock_unlock
    - RecConfigUpdateCbList*::update_cb
    linkageType: ''
    returnType: RecUpdateT
    signature: RecUpdateT RecExecConfigUpdateCbs(unsigned int update_required_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:467,1
    - Dst: find
      Src: /src/trafficserver/src/records/P_RecCore.cc:469,1
    - Dst: end
      Src: /src/trafficserver/src/records/P_RecCore.cc:469,1
    - Dst: i_am_the_record_owner
      Src: /src/trafficserver/src/records/P_RecCore.cc:471,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/P_RecCore.cc:472,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/P_RecCore.cc:474,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/P_RecCore.cc:477,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/P_RecCore.cc:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - name
    - lock
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 487
    functionName: RecSetSyncRequired
    functionSourceFile: /src/trafficserver/src/records/P_RecCore.cc
    functionUses: 2
    functionsReached:
    - rec_mutex_release
    - find
    - end
    - rec_mutex_acquire
    - i_am_the_record_owner
    - REC_TYPE_IS_CONFIG
    - ink_rwlock_unlock
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecSetSyncRequired(const char *name, bool lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rec_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: REC_TYPE_IS_STAT
    functionSourceFile: /src/trafficserver/src/records/P_RecUtils.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_IS_STAT(rec_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rec_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: REC_TYPE_IS_CONFIG
    functionSourceFile: /src/trafficserver/src/records/P_RecUtils.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_TYPE_IS_CONFIG(rec_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: RecLog
    functionSourceFile: /src/trafficserver/src/records/P_RecUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecLog(level, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: RecDebug
    functionSourceFile: /src/trafficserver/src/records/P_RecUtils.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecDebug(level, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: RecConfigUpdateCbList
    functionSourceFile: /src/trafficserver/src/records/P_RecDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecConfigUpdateCbList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - update_cb
    - update_cookie
    argTypes:
    - RecConfigUpdateCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: RecConfigUpdateCbList
    functionSourceFile: /src/trafficserver/src/records/P_RecDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecConfigUpdateCbList(RecConfigUpdateCb const &update_cb, void
      *update_cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/records/RecHttp.cc:104,1
    - Dst: TextBuffer::slurp
      Src: /src/trafficserver/src/records/RecHttp.cc:107,1
    - Dst: ats_scoped_fd::get
      Src: /src/trafficserver/src/records/RecHttp.cc:107,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecHttp.cc:108,1
    - Dst: TextBuffer::bufPtr
      Src: /src/trafficserver/src/records/RecHttp.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: mptcp_supported
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - AIOFaultInjection::open
    - ats_scoped_fd::get
    - TextBuffer::bufPtr
    - atoi
    - TextBuffer::slurp
    linkageType: ''
    returnType: bool
    signature: bool mptcp_supported()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::IPAddrPair
      Src: /src/trafficserver/src/records/RecHttp.cc:118,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecHttp.cc:121,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecHttp.cc:123,1
    - Dst: ts::getbestaddrinfo
      Src: /src/trafficserver/src/records/RecHttp.cc:128,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/records/RecHttp.cc:129,1
    - Dst: auto::has_ip4
      Src: /src/trafficserver/src/records/RecHttp.cc:130,1
    - Dst: ts::IPAddrPair::has_ip4
      Src: /src/trafficserver/src/records/RecHttp.cc:131,1
    - Dst: auto::ip4
      Src: /src/trafficserver/src/records/RecHttp.cc:132,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:134,1
    - Dst: auto::has_ip6
      Src: /src/trafficserver/src/records/RecHttp.cc:137,1
    - Dst: ts::IPAddrPair::has_ip6
      Src: /src/trafficserver/src/records/RecHttp.cc:138,1
    - Dst: auto::ip6
      Src: /src/trafficserver/src/records/RecHttp.cc:139,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:141,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 150
    functionName: RecHttpLoadIp
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - auto::has_ip4
    - Warning
    - auto::ip6
    - ts::IPAddrPair::has_ip4
    - ts::IPAddrPair::has_ip6
    - auto::has_value
    - ts::getbestaddrinfo
    - RecGetRecordString
    - auto::ip4
    - Tokenizer::Initialize
    - auto::has_ip6
    - ts::IPAddrPair::IPAddrPair
    linkageType: ''
    returnType: ts::IPAddrPair
    signature: ts::IPAddrPair RecHttpLoadIp(char const *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecHttp.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecHttp.cc:158,1
    - Dst: auto::value
      Src: /src/trafficserver/src/records/RecHttp.cc:159,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/records/RecHttp.cc:161,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/records/RecHttp.cc:162,1
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecHttp.cc:163,1
    - Dst: auto::size
      Src: /src/trafficserver/src/records/RecHttp.cc:163,1
    - Dst: auto::data
      Src: /src/trafficserver/src/records/RecHttp.cc:163,1
    - Dst: swoc::IPRangeSet::mark
      Src: /src/trafficserver/src/records/RecHttp.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecHttp.cc:168,1
    - Dst: swoc::IPRangeSet::count
      Src: /src/trafficserver/src/records/RecHttp.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - value_name
    - addrs
    argTypes:
    - char*
    - swoc::IPRangeSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: RecHttpLoadIpAddrsFromConfVar
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - auto::value
    - swoc::IPRangeSet::mark
    - auto::size
    - Dbg
    - swoc::IPRange::load
    - RecGetRecordString
    - auto::data
    - swoc::IPRangeSet::count
    linkageType: ''
    returnType: void
    signature: void RecHttpLoadIpAddrsFromConfVar(const char *value_name, swoc::IPRangeSet
      &addrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: HttpProxyPort::HttpProxyPort
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpProxyPort::HttpProxyPort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/src/records/RecHttp.cc:237,1
    - Dst: Group::begin
      Src: /src/trafficserver/src/records/RecHttp.cc:237,1
    - Dst: Group::end
      Src: /src/trafficserver/src/records/RecHttp.cc:237,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/records/RecHttp.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ports
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: HttpProxyPort::hasSSL
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - std::any_of
    - Group::begin
    - Group::end
    - HttpProxyPort::isSSL
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::hasSSL(Group const &ports)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Group::size
      Src: /src/trafficserver/src/records/RecHttp.cc:244,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/records/RecHttp.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ports
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: HttpProxyPort::hasQUIC
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - HttpProxyPort::isQUIC
    - Group::size
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::hasQUIC(Group const &ports)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/records/RecHttp.cc:255,1
    - Dst: Group::size
      Src: /src/trafficserver/src/records/RecHttp.cc:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ports
    - family
    argTypes:
    - Group
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: HttpProxyPort::findHttp
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 2
    functionsReached:
    - Group::size
    - ats_is_ip
    linkageType: ''
    returnType: HttpProxyPort
    signature: 'HttpProxyPort *

      HttpProxyPort::findHttp(Group const &ports, uint16_t family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - src
    - prefix
    - prefix_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: HttpProxyPort::checkPrefix
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpProxyPort::checkPrefix(const char *src, char const *prefix, size_t prefix_len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/records/RecHttp.cc:286,1
    - Dst: HttpProxyPort::loadValue
      Src: /src/trafficserver/src/records/RecHttp.cc:288,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/records/RecHttp.cc:288,1
    - Dst: std::vector<self>::size
      Src: /src/trafficserver/src/records/RecHttp.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entries
    argTypes:
    - std::vector<self>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: HttpProxyPort::loadConfig
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - RecGetRecordStringAlloc
    - std::vector<self>::size
    - HttpProxyPort::loadValue
    - ats_as_c_str
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadConfig(std::vector<self> &entries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Group::size
      Src: /src/trafficserver/src/records/RecHttp.cc:297,1
    - Dst: HttpProxyPort::loadValue
      Src: /src/trafficserver/src/records/RecHttp.cc:298,1
    - Dst: Group::size
      Src: /src/trafficserver/src/records/RecHttp.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ports
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: HttpProxyPort::loadDefaultIfEmpty
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - HttpProxyPort::loadValue
    - Group::size
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadDefaultIfEmpty(Group &ports)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<self>::size
      Src: /src/trafficserver/src/records/RecHttp.cc:307,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecHttp.cc:310,1
    - Dst: HttpProxyPort::HttpProxyPort
      Src: /src/trafficserver/src/records/RecHttp.cc:314,1
    - Dst: HttpProxyPort::processOptions
      Src: /src/trafficserver/src/records/RecHttp.cc:315,1
    - Dst: std::vector<self>::push_back
      Src: /src/trafficserver/src/records/RecHttp.cc:316,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:318,1
    - Dst: std::vector<self>::size
      Src: /src/trafficserver/src/records/RecHttp.cc:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ports
    - text
    argTypes:
    - std::vector<self>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 324
    functionName: HttpProxyPort::loadValue
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 3
    functionsReached:
    - Warning
    - HttpProxyPort::processOptions
    - std::vector<self>::size
    - std::vector<self>::push_back
    - HttpProxyPort::HttpProxyPort
    - Tokenizer::Initialize
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadValue(std::vector<self> &ports, const char
      *text)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecHttp.cc:339,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/records/RecHttp.cc:340,1
    - Dst: alloca
      Src: /src/trafficserver/src/records/RecHttp.cc:340,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecHttp.cc:341,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/records/RecHttp.cc:356,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:364,1
    - Dst: UnAddr
      Src: /src/trafficserver/src/records/RecHttp.cc:371,1
    - Dst: isdigit
      Src: /src/trafficserver/src/records/RecHttp.cc:374,1
    - Dst: strtoul
      Src: /src/trafficserver/src/records/RecHttp.cc:376,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:379,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:381,1
    - Dst: HttpProxyPort::checkPrefix
      Src: /src/trafficserver/src/records/RecHttp.cc:386,1
    - Dst: strtoul
      Src: /src/trafficserver/src/records/RecHttp.cc:388,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:390,1
    - Dst: HttpProxyPort::checkPrefix
      Src: /src/trafficserver/src/records/RecHttp.cc:395,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/src/records/RecHttp.cc:396,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:399,1
    - Dst: HttpProxyPort::checkPrefix
      Src: /src/trafficserver/src/records/RecHttp.cc:401,1
    - Dst: swoc::IPAddr::load
      Src: /src/trafficserver/src/records/RecHttp.cc:402,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:405,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:407,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:409,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:411,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:416,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:418,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:423,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:425,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:428,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:431,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:433,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:435,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:439,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:441,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:445,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:447,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:452,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:454,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:458,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:460,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:462,1
    - Dst: mptcp_supported
      Src: /src/trafficserver/src/records/RecHttp.cc:463,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:466,1
    - Dst: HttpProxyPort::checkPrefix
      Src: /src/trafficserver/src/records/RecHttp.cc:468,1
    - Dst: HttpProxyPort::processFamilyPreference
      Src: /src/trafficserver/src/records/RecHttp.cc:469,1
    - Dst: HttpProxyPort::checkPrefix
      Src: /src/trafficserver/src/records/RecHttp.cc:471,1
    - Dst: HttpProxyPort::processSessionProtocolPreference
      Src: /src/trafficserver/src/records/RecHttp.cc:472,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:475,1
    - Dst: isValid
      Src: /src/trafficserver/src/records/RecHttp.cc:479,1
    - Dst: family
      Src: /src/trafficserver/src/records/RecHttp.cc:482,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/records/RecHttp.cc:483,1
    - Dst: family
      Src: /src/trafficserver/src/records/RecHttp.cc:483,1
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/records/RecHttp.cc:484,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:485,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/records/RecHttp.cc:487,1
    - Dst: family
      Src: /src/trafficserver/src/records/RecHttp.cc:491,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:498,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:508,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/records/RecHttp.cc:513,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:515,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecHttp.cc:518,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/records/RecHttp.cc:525,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/records/RecHttp.cc:527,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 178
    argCount: 1
    argNames:
    - opts
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 535
    functionName: HttpProxyPort::processOptions
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - strtoul
    - family
    - alloca
    - std::string_view::data
    - HttpProxyPort::isQUIC
    - static_cast<char *>
    - UnAddr
    - std::string_view::size
    - strcasecmp
    - HttpProxyPort::processSessionProtocolPreference
    - static_cast<int>
    - Warning
    - std::vector::push_back
    - mptcp_supported
    - strlen
    - HttpProxyPort::isSSL
    - HttpProxyPort::processFamilyPreference
    - isdigit
    - ats_ip_family_name
    - swoc::IPAddr::load
    - IpAddr::load
    - HttpProxyPort::checkPrefix
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::processOptions(const char *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_host_res_preference
      Src: /src/trafficserver/src/records/RecHttp.cc:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: HttpProxyPort::processFamilyPreference
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - parse_host_res_preference
    linkageType: ''
    returnType: void
    signature: void HttpProxyPort::processFamilyPreference(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: markAllOut
      Src: /src/trafficserver/src/records/RecHttp.cc:546,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: HttpProxyPort::processSessionProtocolPreference
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - markIn
    - markAllOut
    linkageType: ''
    returnType: void
    signature: void HttpProxyPort::processSessionProtocolPreference(const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecHttp.cc:556,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:562,1
    - Dst: SessionProtocolSet::markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:563,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/records/RecHttp.cc:564,1
    - Dst: SessionProtocolSet::markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:565,1
    - Dst: SessionProtocolNameRegistry::toIndex
      Src: /src/trafficserver/src/records/RecHttp.cc:567,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecHttp.cc:567,1
    - Dst: SessionProtocolSet::markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - value
    - sp_set
    argTypes:
    - char*
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 571
    functionName: SessionProtocolNameRegistry::markIn
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - SessionProtocolNameRegistry::toIndex
    - strlen
    - SessionProtocolSet::markIn
    - strcasecmp
    - Tokenizer::Initialize
    linkageType: ''
    returnType: void
    signature: void SessionProtocolNameRegistry::markIn(const char *value, SessionProtocolSet
      &sp_set)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/src/records/RecHttp.cc:580,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:581,1
    - Dst: toString
      Src: /src/trafficserver/src/records/RecHttp.cc:581,1
    - Dst: has_ip4
      Src: /src/trafficserver/src/records/RecHttp.cc:588,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:592,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::FixedBufferWriter
      Src: /src/trafficserver/src/records/RecHttp.cc:593,1
    - Dst: ip4
      Src: /src/trafficserver/src/records/RecHttp.cc:593,1
    - Dst: has_ip6
      Src: /src/trafficserver/src/records/RecHttp.cc:600,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:604,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::FixedBufferWriter
      Src: /src/trafficserver/src/records/RecHttp.cc:605,1
    - Dst: ip6
      Src: /src/trafficserver/src/records/RecHttp.cc:605,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:616,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:627,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:637,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:644,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:646,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:648,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:650,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:652,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:659,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:663,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:665,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:667,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:671,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:675,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:679,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:687,1
    - Dst: ts_host_res_order_to_string
      Src: /src/trafficserver/src/records/RecHttp.cc:688,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/records/RecHttp.cc:695,1
    - Dst: SessionProtocolSet::markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:696,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/records/RecHttp.cc:697,1
    - Dst: SessionProtocolSet::markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:698,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/records/RecHttp.cc:699,1
    - Dst: SessionProtocolSet::markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:700,1
    - Dst: SessionProtocolSet::contains
      Src: /src/trafficserver/src/records/RecHttp.cc:704,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:705,1
    - Dst: SessionProtocolSet::markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:706,1
    - Dst: SessionProtocolSet::contains
      Src: /src/trafficserver/src/records/RecHttp.cc:709,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:711,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:715,1
    - Dst: SessionProtocolSet::markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:716,1
    - Dst: SessionProtocolSet::isEmpty
      Src: /src/trafficserver/src/records/RecHttp.cc:720,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:722,1
    - Dst: SessionProtocolSet::contains
      Src: /src/trafficserver/src/records/RecHttp.cc:726,1
    - Dst: nameFor
      Src: /src/trafficserver/src/records/RecHttp.cc:727,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecHttp.cc:728,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:728,1
    - Dst: auto::size
      Src: /src/trafficserver/src/records/RecHttp.cc:728,1
    - Dst: auto::data
      Src: /src/trafficserver/src/records/RecHttp.cc:728,1
    - Dst: min
      Src: /src/trafficserver/src/records/RecHttp.cc:734,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 133
    argCount: 2
    argNames:
    - out
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 735
    functionName: HttpProxyPort::print
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - has_ip6
    - ip6
    - min
    - snprintf
    - HttpProxyPort::isQUIC
    - auto::size
    - SessionProtocolSet::markOut
    - auto::data
    - has_ip4
    - toString
    - static_cast<int>
    - SessionProtocolSet::isEmpty
    - nameFor
    - HttpProxyPort::isSSL
    - ip4
    - swoc::SWOC_VERSION_NS::FixedBufferWriter::FixedBufferWriter
    - SessionProtocolSet::contains
    - ts_host_res_order_to_string
    - isValid
    linkageType: ''
    returnType: int
    signature: int HttpProxyPort::print(char *out, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/records/RecHttp.cc:742,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/records/RecHttp.cc:743,1
    - Dst: parse_host_res_preference
      Src: /src/trafficserver/src/records/RecHttp.cc:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 747
    functionName: ts_host_res_global_init
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - RecGetRecordStringAlloc
    - parse_host_res_preference
    - ats_as_c_str
    linkageType: ''
    returnType: void
    signature: void ts_host_res_global_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:754,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:755,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:756,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:757,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:758,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:759,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:760,1
    - Dst: toIndexConst
      Src: /src/trafficserver/src/records/RecHttp.cc:762,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:765,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:766,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:767,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:768,1
    - Dst: markAllIn
      Src: /src/trafficserver/src/records/RecHttp.cc:770,1
    - Dst: markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:771,1
    - Dst: markOut
      Src: /src/trafficserver/src/records/RecHttp.cc:772,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:774,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:775,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:776,1
    - Dst: markIn
      Src: /src/trafficserver/src/records/RecHttp.cc:777,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:781,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:782,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:783,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:784,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:785,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:786,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:787,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:788,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:789,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:790,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:791,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:792,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:793,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:794,1
    - Dst: insert
      Src: /src/trafficserver/src/records/RecHttp.cc:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 796
    functionName: ts_session_protocol_well_known_name_indices_init
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 2
    functionsReached:
    - insert
    - markIn
    - toIndexConst
    - markAllIn
    - markOut
    linkageType: ''
    returnType: void
    signature: void ts_session_protocol_well_known_name_indices_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/records/RecHttp.cc:801,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecHttp.cc:802,1
    - Dst: auto::data
      Src: /src/trafficserver/src/records/RecHttp.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: RecNormalizeProtoTag
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - find
    - auto::data
    - end
    linkageType: ''
    returnType: char
    signature: 'char *

      RecNormalizeProtoTag(const char *tag)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 828
    functionName: SessionProtocolNameRegistry::convert_openssl_alpn_wire_format
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view SessionProtocolNameRegistry::convert_openssl_alpn_wire_format(int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SessionProtocolNameRegistry::indexFor
      Src: /src/trafficserver/src/records/RecHttp.cc:833,1
    - Dst: alloc
      Src: /src/trafficserver/src/records/RecHttp.cc:837,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:837,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecHttp.cc:838,1
    - Dst: auto::end
      Src: /src/trafficserver/src/records/RecHttp.cc:839,1
    - Dst: assign
      Src: /src/trafficserver/src/records/RecHttp.cc:840,1
    - Dst: auto::data
      Src: /src/trafficserver/src/records/RecHttp.cc:840,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:840,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/RecHttp.cc:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 847
    functionName: SessionProtocolNameRegistry::toIndex
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 1
    functionsReached:
    - SessionProtocolNameRegistry::indexFor
    - memcpy
    - auto::end
    - ink_release_assert
    - auto::data
    - alloc
    - swoc::TextView::size
    - assign
    linkageType: ''
    returnType: int
    signature: int SessionProtocolNameRegistry::toIndex(swoc::TextView name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SessionProtocolNameRegistry::indexFor
      Src: /src/trafficserver/src/records/RecHttp.cc:852,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/RecHttp.cc:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 862
    functionName: SessionProtocolNameRegistry::toIndexConst
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached:
    - SessionProtocolNameRegistry::indexFor
    - ink_release_assert
    linkageType: ''
    returnType: int
    signature: int SessionProtocolNameRegistry::toIndexConst(TextView name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/records/RecHttp.cc:867,1
    - Dst: std::find
      Src: /src/trafficserver/src/records/RecHttp.cc:868,1
    - Dst: begin
      Src: /src/trafficserver/src/records/RecHttp.cc:868,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:870,1
    - Dst: begin
      Src: /src/trafficserver/src/records/RecHttp.cc:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: SessionProtocolNameRegistry::indexFor
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 2
    functionsReached:
    - begin
    - std::find
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int SessionProtocolNameRegistry::indexFor(TextView name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: SessionProtocolNameRegistry::nameFor
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView SessionProtocolNameRegistry::nameFor(int idx) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/RecHttp.cc:892,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/records/RecHttp.cc:895,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/src/records/RecHttp.cc:905,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/records/RecHttp.cc:906,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:907,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:907,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:907,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:907,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:910,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:912,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:912,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:912,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:913,1
    - Dst: indexFor
      Src: /src/trafficserver/src/records/RecHttp.cc:917,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:919,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:919,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:919,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:919,1
    - Dst: contains
      Src: /src/trafficserver/src/records/RecHttp.cc:924,1
    - Dst: contains
      Src: /src/trafficserver/src/records/RecHttp.cc:924,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:925,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:925,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:925,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:925,1
    - Dst: convert_openssl_alpn_wire_format
      Src: /src/trafficserver/src/records/RecHttp.cc:929,1
    - Dst: auto::size
      Src: /src/trafficserver/src/records/RecHttp.cc:930,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:933,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/records/RecHttp.cc:938,1
    - Dst: std::vector::empty
      Src: /src/trafficserver/src/records/RecHttp.cc:940,1
    - Dst: Error
      Src: /src/trafficserver/src/records/RecHttp.cc:941,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:941,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:941,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:941,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:949,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecHttp.cc:950,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:950,1
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecHttp.cc:954,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecHttp.cc:954,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/records/RecHttp.cc:954,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/records/RecHttp.cc:955,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - protocols_sv
    - wire_format_buffer
    - wire_format_buffer_len
    argTypes:
    - std::string_view
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 957
    functionName: convert_alpn_to_wire_format
    functionSourceFile: /src/trafficserver/src/records/RecHttp.cc
    functionUses: 2
    functionsReached:
    - memset
    - TextView::take_prefix_at
    - static_cast<int>
    - memcpy
    - TextView::data
    - std::vector::push_back
    - auto::size
    - Error
    - contains
    - TextView::size
    - Dbg
    - indexFor
    - TextView::empty
    - std::vector::empty
    - convert_openssl_alpn_wire_format
    linkageType: ''
    returnType: bool
    signature: bool convert_alpn_to_wire_format(std::string_view protocols_sv, unsigned
      char *wire_format_buffer, int &wire_format_buffer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecDebug.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _diags
    argTypes:
    - Diags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: RecSetDiags
    functionSourceFile: /src/trafficserver/src/records/RecDebug.cc
    functionUses: 1
    functionsReached:
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int RecSetDiags(Diags *_diags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/records/RecDebug.cc:49,1
    - Dst: error_va
      Src: /src/trafficserver/src/records/RecDebug.cc:51,1
    - Dst: va_end
      Src: /src/trafficserver/src/records/RecDebug.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dl
    - loc
    - fmt
    argTypes:
    - DiagsLevel
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: _RecLog
    functionSourceFile: /src/trafficserver/src/records/RecDebug.cc
    functionUses: 0
    functionsReached:
    - error_va
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void _RecLog(DiagsLevel dl, const SourceLocation &loc, const char *fmt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/records/RecDebug.cc:64,1
    - Dst: log_va
      Src: /src/trafficserver/src/records/RecDebug.cc:66,1
    - Dst: va_end
      Src: /src/trafficserver/src/records/RecDebug.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dl
    - loc
    - fmt
    argTypes:
    - DiagsLevel
    - SourceLocation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: _RecDebug
    functionSourceFile: /src/trafficserver/src/records/RecDebug.cc
    functionUses: 0
    functionsReached:
    - va_end
    - log_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void _RecDebug(DiagsLevel dl, const SourceLocation &loc, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: RecDebugOff
    functionSourceFile: /src/trafficserver/src/records/RecDebug.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RecDebugOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecTree::RecTree
      Src: /src/trafficserver/src/records/test_RecTree.cc:29,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:31,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:32,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:33,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:34,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:35,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:36,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:37,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:38,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:39,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:40,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:41,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:42,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:43,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:44,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:45,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:46,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:47,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:48,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:49,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:50,1
    - Dst: RecTree*::rec_tree_insert
      Src: /src/trafficserver/src/records/test_RecTree.cc:51,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:52,1
    - Dst: RecTree*::print
      Src: /src/trafficserver/src/records/test_RecTree.cc:53,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:56,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:57,1
    - Dst: RecTree*::rec_tree_get
      Src: /src/trafficserver/src/records/test_RecTree.cc:58,1
    - Dst: RecTree*::print
      Src: /src/trafficserver/src/records/test_RecTree.cc:59,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:61,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:62,1
    - Dst: RecTree*::rec_tree_get
      Src: /src/trafficserver/src/records/test_RecTree.cc:63,1
    - Dst: RecTree*::print
      Src: /src/trafficserver/src/records/test_RecTree.cc:64,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:67,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:68,1
    - Dst: RecTree*::rec_tree_get_list
      Src: /src/trafficserver/src/records/test_RecTree.cc:71,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:73,1
    - Dst: printf
      Src: /src/trafficserver/src/records/test_RecTree.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/trafficserver/src/records/test_RecTree.cc
    functionUses: 3
    functionsReached:
    - RecTree*::rec_tree_get_list
    - RecTree*::rec_tree_insert
    - RecTree*::print
    - RecTree*::rec_tree_get
    - RecTree::RecTree
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - RecRawStatBlockAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: SetRecAllocateRawStatBlockAllocator
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetRecAllocateRawStatBlockAllocator(RecRawStatBlockAllocator f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_stat_block_allocator
      Src: /src/trafficserver/src/records/RecRawStats.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_stats
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: RecAllocateRawStatBlock
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 2
    functionsReached:
    - raw_stat_block_allocator
    linkageType: ''
    returnType: RecRawStatBlock
    signature: 'RecRawStatBlock *

      RecAllocateRawStatBlock(int num_stats)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:60,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecRawStats.cc:63,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecRawStats.cc:69,1
    - Dst: RecRegisterStat
      Src: /src/trafficserver/src/records/RecRawStats.cc:72,1
    - Dst: i_am_the_record_owner
      Src: /src/trafficserver/src/records/RecRawStats.cc:78,1
    - Dst: RecRegisterRawStatSyncCb
      Src: /src/trafficserver/src/records/RecRawStats.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 7
    argNames:
    - rsb
    - rec_type
    - name
    - data_type
    - persist_type
    - id
    - sync_cb
    argTypes:
    - RecRawStatBlock*
    - RecT
    - char*
    - RecDataT
    - RecPersistT
    - int
    - RecRawStatSyncCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: _RecRegisterRawStat
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - memset
    - Dbg
    - RecRegisterRawStatSyncCb
    - i_am_the_record_owner
    - RecRegisterStat
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int _RecRegisterRawStat(RecRawStatBlock *rsb, RecT rec_type, const
      char *name, RecDataT data_type, RecPersistT persist_type, int id,\n                    RecRawStatSyncCb
      sync_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:107,1
    - Dst: RecRawStatBlock*::ops::raw_stat_sync_to_global
      Src: /src/trafficserver/src/records/RecRawStats.cc:108,1
    - Dst: RecDataSetFromInt64
      Src: /src/trafficserver/src/records/RecRawStats.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - name
    - data_type
    - data
    - rsb
    - id
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: RecRawStatSyncSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecDataSetFromInt64
    - Dbg
    - RecRawStatBlock*::ops::raw_stat_sync_to_global
    linkageType: ''
    returnType: int
    signature: int RecRawStatSyncSum(const char *name, RecDataT data_type, RecData
      *data, RecRawStatBlock *rsb, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:121,1
    - Dst: RecRawStatBlock*::ops::raw_stat_sync_to_global
      Src: /src/trafficserver/src/records/RecRawStats.cc:122,1
    - Dst: RecDataSetFromInt64
      Src: /src/trafficserver/src/records/RecRawStats.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - name
    - data_type
    - data
    - rsb
    - id
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: RecRawStatSyncCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecDataSetFromInt64
    - Dbg
    - RecRawStatBlock*::ops::raw_stat_sync_to_global
    linkageType: ''
    returnType: int
    signature: int RecRawStatSyncCount(const char *name, RecDataT data_type, RecData
      *data, RecRawStatBlock *rsb, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:136,1
    - Dst: RecRawStatBlock*::ops::raw_stat_sync_to_global
      Src: /src/trafficserver/src/records/RecRawStats.cc:137,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/records/RecRawStats.cc:141,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/records/RecRawStats.cc:141,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/records/RecRawStats.cc:141,1
    - Dst: RecDataSetFromFloat
      Src: /src/trafficserver/src/records/RecRawStats.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - name
    - data_type
    - data
    - rsb
    - id
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: RecRawStatSyncAvg
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - RecDataSetFromFloat
    - Dbg
    - RecRawStatBlock*::ops::raw_stat_sync_to_global
    - static_cast<float>
    linkageType: ''
    returnType: int
    signature: int RecRawStatSyncAvg(const char *name, RecDataT data_type, RecData
      *data, RecRawStatBlock *rsb, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:153,1
    - Dst: RecRawStatBlock*::ops::raw_stat_sync_to_global
      Src: /src/trafficserver/src/records/RecRawStats.cc:154,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/records/RecRawStats.cc:161,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/records/RecRawStats.cc:161,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/records/RecRawStats.cc:161,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/records/RecRawStats.cc:162,1
    - Dst: RecDataSetFromFloat
      Src: /src/trafficserver/src/records/RecRawStats.cc:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - name
    - data_type
    - data
    - rsb
    - id
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: RecRawStatSyncHrTimeAvg
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - RecDataSetFromFloat
    - Dbg
    - RecRawStatBlock*::ops::raw_stat_sync_to_global
    - static_cast<float>
    linkageType: ''
    returnType: int
    signature: int RecRawStatSyncHrTimeAvg(const char *name, RecDataT data_type, RecData
      *data, RecRawStatBlock *rsb, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/records/RecRawStats.cc:175,1
    - Dst: RecRawStatBlock*::ops::raw_stat_sync_to_global
      Src: /src/trafficserver/src/records/RecRawStats.cc:176,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/records/RecRawStats.cc:183,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/records/RecRawStats.cc:183,1
    - Dst: RecDataSetFromFloat
      Src: /src/trafficserver/src/records/RecRawStats.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - name
    - data_type
    - data
    - rsb
    - id
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: RecRawStatSyncIntMsecsToFloatSeconds
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - RecDataSetFromFloat
    - Dbg
    - RecRawStatBlock*::ops::raw_stat_sync_to_global
    - static_cast<float>
    linkageType: ''
    returnType: int
    signature: int RecRawStatSyncIntMsecsToFloatSeconds(const char *name, RecDataT
      data_type, RecData *data, RecRawStatBlock *rsb, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRawStatBlock*::ops::raw_stat_clear_sum
      Src: /src/trafficserver/src/records/RecRawStats.cc:196,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecRawStats.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: RecSetRawStatSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecRawStatBlock*::ops::raw_stat_clear_sum
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int RecSetRawStatSum(RecRawStatBlock *rsb, int id, int64_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRawStatBlock*::ops::raw_stat_clear_count
      Src: /src/trafficserver/src/records/RecRawStats.cc:204,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecRawStats.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: RecSetRawStatCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecRawStatBlock*::ops::raw_stat_clear_count
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int RecSetRawStatCount(RecRawStatBlock *rsb, int id, int64_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRawStatBlock*::ops::raw_stat_get_total
      Src: /src/trafficserver/src/records/RecRawStats.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: RecGetRawStatSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecRawStatBlock*::ops::raw_stat_get_total
    linkageType: ''
    returnType: int
    signature: int RecGetRawStatSum(RecRawStatBlock *rsb, int id, int64_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRawStatBlock*::ops::raw_stat_get_total
      Src: /src/trafficserver/src/records/RecRawStats.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: RecGetRawStatCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - RecRawStatBlock*::ops::raw_stat_get_total
    linkageType: ''
    returnType: int
    signature: int RecGetRawStatCount(RecRawStatBlock *rsb, int id, int64_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/records/RecRawStats.cc:239,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/records/RecRawStats.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rsb
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: RecIncrGlobalRawStat
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: int RecIncrGlobalRawStat(RecRawStatBlock *rsb, int id, int64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/records/RecRawStats.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: RecIncrGlobalRawStatSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: int RecIncrGlobalRawStatSum(RecRawStatBlock *rsb, int id, int64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/records/RecRawStats.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: RecIncrGlobalRawStatCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: int RecIncrGlobalRawStatCount(RecRawStatBlock *rsb, int id, int64_t
      incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecRawStats.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: RecSetGlobalRawStatSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int RecSetGlobalRawStatSum(RecRawStatBlock *rsb, int id, int64_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecRawStats.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: RecSetGlobalRawStatCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int RecSetGlobalRawStatCount(RecRawStatBlock *rsb, int id, int64_t
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: RecGetGlobalRawStatSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecGetGlobalRawStatSum(RecRawStatBlock *rsb, int id, int64_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rsb
    - id
    - data
    argTypes:
    - RecRawStatBlock*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: RecGetGlobalRawStatCount
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecGetGlobalRawStatCount(RecRawStatBlock *rsb, int id, int64_t
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: RecGetGlobalRawStatPtr
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RecRawStat
    signature: 'RecRawStat *

      RecGetGlobalRawStatPtr(RecRawStatBlock *rsb, int id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: RecGetGlobalRawStatSumPtr
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t *

      RecGetGlobalRawStatSumPtr(RecRawStatBlock *rsb, int id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: RecGetGlobalRawStatCountPtr
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t *

      RecGetGlobalRawStatCountPtr(RecRawStatBlock *rsb, int id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecRawStats.cc:321,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecRawStats.cc:322,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecRawStats.cc:322,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecRawStats.cc:325,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecRawStats.cc:326,1
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecRawStats.cc:329,1
    - Dst: RecGetGlobalRawStatPtr
      Src: /src/trafficserver/src/records/RecRawStats.cc:338,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecRawStats.cc:344,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecRawStats.cc:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - name
    - sync_cb
    - rsb
    - id
    argTypes:
    - char*
    - RecRawStatSyncCb
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 350
    functionName: RecRegisterRawStatSyncCb
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 2
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - REC_TYPE_IS_STAT
    - end
    - rec_mutex_acquire
    - RecGetGlobalRawStatPtr
    - Fatal
    - ink_rwlock_unlock
    linkageType: ''
    returnType: int
    signature: int RecRegisterRawStatSyncCb(const char *name, RecRawStatSyncCb sync_cb,
      RecRawStatBlock *rsb, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/records/RecRawStats.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - RecCallbackFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: RecRegNewSyncStatSync
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RecRegNewSyncStatSync(RecCallbackFunction callback)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/trafficserver/src/records/RecRawStats.cc:380,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecRawStats.cc:387,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecRawStats.cc:388,1
    - Dst: RecRecord*::stat_meta::sync_rsb::ops::raw_stat_clear
      Src: /src/trafficserver/src/records/RecRawStats.cc:391,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecRawStats.cc:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 403
    functionName: RecExecRawStatSyncCbs
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - REC_TYPE_IS_STAT
    - callback
    - rec_mutex_acquire
    - RecRecord*::stat_meta::sync_rsb::ops::raw_stat_clear
    linkageType: ''
    returnType: int
    signature: int RecExecRawStatSyncCbs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RecRecord *>
      Src: /src/trafficserver/src/records/RecRawStats.cc:410,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecRawStats.cc:410,1
    - Dst: RecDataSetFromInt64
      Src: /src/trafficserver/src/records/RecRawStats.cc:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rsb
    - id
    argTypes:
    - RecRawStatBlock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 417
    functionName: RecRawStatUpdateSum
    functionSourceFile: /src/trafficserver/src/records/RecRawStats.cc
    functionUses: 2
    functionsReached:
    - RecDataSetFromInt64
    - reinterpret_cast<RecRecord *>
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int RecRawStatUpdateSum(RecRawStatBlock *rsb, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: detail::scoped_cond_lock
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 0
    functionsReached:
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void scoped_cond_lock(bool lock = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ~scoped_cond_lock()
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 0
    functionsReached:
    - ink_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ~scoped_cond_lock()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T::value_node::Type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:89,1
    - Dst: T::append_field_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:91,1
    - Dst: detail::flatten_node
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:93,1
    - Dst: T::get_record_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:93,1
    - Dst: T::append_field_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:99,1
    - Dst: handler
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - field
    - handler
    - errata
    argTypes:
    - T
    - RecYAMLNodeHandler
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: detail::flatten_node
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 1
    functionsReached:
    - detail::flatten_node
    - T::get_record_name
    - handler
    - T::append_field_name
    - T::value_node::Type
    linkageType: ''
    returnType: void
    signature: void flatten_node(T &&field, RecYAMLNodeHandler handler, swoc::Errata
      &errata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: detail::scoped_cond_lock
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 0
    functionsReached:
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void scoped_cond_lock(bool lock = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ~scoped_cond_lock()
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 0
    functionsReached:
    - ink_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ~scoped_cond_lock()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T::value_node::Type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:89,1
    - Dst: T::append_field_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:91,1
    - Dst: detail::flatten_node
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:93,1
    - Dst: T::get_record_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:93,1
    - Dst: T::append_field_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:99,1
    - Dst: handler
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - field
    - handler
    - errata
    argTypes:
    - T
    - RecYAMLNodeHandler
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: detail::flatten_node
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 2
    functionsReached:
    - detail::flatten_node
    - T::get_record_name
    - handler
    - T::append_field_name
    - T::value_node::Type
    linkageType: ''
    returnType: void
    signature: void flatten_node(T &&field, RecYAMLNodeHandler handler, swoc::Errata
      &errata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CfgNode::get_record_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:110,1
    - Dst: GetRecordElementByName
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:117,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:117,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:118,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:119,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:119,1
    - Dst: detail::try_deduce_type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:132,1
    - Dst: empty
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:133,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:134,1
    - Dst: CfgNode::node::as
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:134,1
    - Dst: CfgNode::get_record_name
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:135,1
    - Dst: CfgNode::mark_as_view
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:135,1
    - Dst: CfgNode::value_node::Type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:146,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:150,1
    - Dst: CfgNode::node::as
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:150,1
    - Dst: CfgNode::value_node::as
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:156,1
    - Dst: RecConfigOverrideFromEnvironment
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:159,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:159,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:159,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:163,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:166,1
    - Dst: RecordValidityCheck
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:166,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:166,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:166,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:167,1
    - Dst: CfgNode::mark_as_view
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:168,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:173,1
    - Dst: RecDataSetFromString
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:174,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:174,1
    - Dst: RecSetRecord
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:175,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:175,1
    - Dst: RecDataZero
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - field
    - errata
    argTypes:
    - CfgNode
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 177
    functionName: SetRecordFromYAMLNode
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 0
    functionsReached:
    - CfgNode::node::as
    - CfgNode::value_node::as
    - REC_TYPE_IS_STAT
    - detail::try_deduce_type
    - CfgNode::value_node::Type
    - std::string::empty
    - RecSetRecord
    - empty
    - std::string::c_str
    - ink_release_assert
    - RecDataZero
    - RecDataSetFromString
    - RecConfigOverrideFromEnvironment
    - CfgNode::get_record_name
    - RecordValidityCheck
    - memset
    - CfgNode::mark_as_view
    - swoc::Errata::note
    - GetRecordElementByName
    linkageType: ''
    returnType: void
    signature: void SetRecordFromYAMLNode(CfgNode const &field, swoc::Errata &errata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:185,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:186,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:186,1
    - Dst: auto::size
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:189,1
    - Dst: detail::flatten_node
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:191,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - root
    - handler
    - lock
    argTypes:
    - YAML::Node
    - RecYAMLNodeHandler
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: ParseRecordsFromYAML
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 1
    functionsReached:
    - detail::flatten_node
    - auto::size
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - YAML::Node::Type
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata ParseRecordsFromYAML(YAML::Node root, RecYAMLNodeHandler
      handler, bool lock /*false by default*/)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:207,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: detail::try_deduce_type
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::Tag
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: std::pair<RecDataT, std::string>
    signature: std::pair<RecDataT, std::string> try_deduce_type(YAML::Node const &node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:207,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: detail::try_deduce_type
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::Tag
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: std::pair<RecDataT, std::string>
    signature: std::pair<RecDataT, std::string> try_deduce_type(YAML::Node const &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - type
    argTypes:
    - BufferWriter
    - YAML::NodeType::value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, YAML::NodeType::value
      type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:236,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - node
    argTypes:
    - BufferWriter
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::write
    - YAML::Node::as
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, YAML::Node
      const &node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - type
    argTypes:
    - BufferWriter
    - YAML::NodeType::value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, YAML::NodeType::value
      type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:236,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/records/RecYAMLDecoder.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - node
    argTypes:
    - BufferWriter
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/records/RecYAMLDecoder.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::write
    - YAML::Node::as
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec ATS_UNUSED */, YAML::Node
      const &node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/records/RecConfigParse.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: RecConfigFileInit
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void RecConfigFileInit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecFileOpenR
      Src: /src/trafficserver/src/records/RecConfigParse.cc:68,1
    - Dst: RecFileGetSize
      Src: /src/trafficserver/src/records/RecConfigParse.cc:69,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/records/RecConfigParse.cc:70,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/records/RecConfigParse.cc:70,1
    - Dst: RecFileRead
      Src: /src/trafficserver/src/records/RecConfigParse.cc:71,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecConfigParse.cc:75,1
    - Dst: RecFileClose
      Src: /src/trafficserver/src/records/RecConfigParse.cc:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - file
    - file_buf
    - file_size
    argTypes:
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: RecFileImport_Xmalloc
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 0
    functionsReached:
    - RecFileGetSize
    - ats_free
    - RecFileClose
    - static_cast<char *>
    - RecFileRead
    - ats_malloc
    - RecFileOpenR
    linkageType: ''
    returnType: int
    signature: int RecFileImport_Xmalloc(const char *file, char **file_buf, int *file_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_runroot
      Src: /src/trafficserver/src/records/RecConfigParse.cc:92,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:93,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:93,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:94,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: RecConfigOverrideFromRunroot
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - get_runroot
    linkageType: ''
    returnType: bool
    signature: bool RecConfigOverrideFromRunroot(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/records/RecConfigParse.cc:117,1
    - Dst: getenv
      Src: /src/trafficserver/src/records/RecConfigParse.cc:122,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/records/RecConfigParse.cc:122,1
    - Dst: RecConfigOverrideFromRunroot
      Src: /src/trafficserver/src/records/RecConfigParse.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: RecConfigOverrideFromEnvironment
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 1
    functionsReached:
    - RecConfigOverrideFromRunroot
    - ParseRules::ink_toupper
    - getenv
    - ats_scoped_str::get
    linkageType: ''
    returnType: char
    signature: 'char *

      RecConfigOverrideFromEnvironment(const char *name, const char *value)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecConfigParse.cc:152,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/records/RecConfigParse.cc:155,1
    - Dst: RecFileImport_Xmalloc
      Src: /src/trafficserver/src/records/RecConfigParse.cc:157,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecConfigParse.cc:158,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/records/RecConfigParse.cc:159,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecConfigParse.cc:163,1
    - Dst: Tokenizer::iterFirst
      Src: /src/trafficserver/src/records/RecConfigParse.cc:164,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecConfigParse.cc:167,1
    - Dst: isspace
      Src: /src/trafficserver/src/records/RecConfigParse.cc:171,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/records/RecConfigParse.cc:174,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/records/RecConfigParse.cc:181,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/records/RecConfigParse.cc:182,1
    - Dst: isspace
      Src: /src/trafficserver/src/records/RecConfigParse.cc:192,1
    - Dst: isspace
      Src: /src/trafficserver/src/records/RecConfigParse.cc:203,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecConfigParse.cc:215,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:220,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:222,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:224,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:226,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecConfigParse.cc:229,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:234,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:236,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:238,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecConfigParse.cc:240,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecConfigParse.cc:243,1
    - Dst: RecConfigOverrideFromEnvironment
      Src: /src/trafficserver/src/records/RecConfigParse.cc:248,1
    - Dst: handler
      Src: /src/trafficserver/src/records/RecConfigParse.cc:249,1
    - Dst: emplace
      Src: /src/trafficserver/src/records/RecConfigParse.cc:252,1
    - Dst: Tokenizer::iterNext
      Src: /src/trafficserver/src/records/RecConfigParse.cc:255,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecConfigParse.cc:257,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/records/RecConfigParse.cc:260,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecConfigParse.cc:261,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - char*
    - RecConfigEntryCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 264
    functionName: RecConfigFileParse
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - ats_free
    - handler
    - RecLog
    - RecFileImport_Xmalloc
    - isspace
    - emplace
    - ats_strdup
    - strtok_r
    - RecConfigOverrideFromEnvironment
    - ink_mutex_acquire
    - Tokenizer::iterNext
    - Tokenizer::iterFirst
    - Tokenizer::Initialize
    - RecDebug
    - ink_mutex_release
    linkageType: ''
    returnType: int
    signature: int RecConfigFileParse(const char *path, RecConfigEntryCallback handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::LoadAllFromFile
      Src: /src/trafficserver/src/records/RecConfigParse.cc:271,1
    - Dst: ParseRecordsFromYAML
      Src: /src/trafficserver/src/records/RecConfigParse.cc:276,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/records/RecConfigParse.cc:276,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecConfigParse.cc:277,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/records/RecConfigParse.cc:281,1
    - Dst: what
      Src: /src/trafficserver/src/records/RecConfigParse.cc:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - char*
    - RecYAMLNodeHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: RecYAMLConfigFileParse
    functionSourceFile: /src/trafficserver/src/records/RecConfigParse.cc
    functionUses: 1
    functionsReached:
    - what
    - ParseRecordsFromYAML
    - YAML::LoadAllFromFile
    - swoc::Errata::note
    - auto::empty
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata RecYAMLConfigFileParse(const char *path, RecYAMLNodeHandler
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/records/RecFile.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: RecFileOpenR
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    linkageType: ''
    returnType: RecHandle
    signature: RecHandle RecFileOpenR(const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/records/RecFile.cc:52,1
    - Dst: fcntl
      Src: /src/trafficserver/src/records/RecFile.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: RecFileOpenW
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - AIOFaultInjection::open
    - fcntl
    linkageType: ''
    returnType: RecHandle
    signature: RecHandle RecFileOpenW(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsync
      Src: /src/trafficserver/src/records/RecFile.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h_file
    argTypes:
    - RecHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: RecFileSync
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - fsync
    linkageType: ''
    returnType: int
    signature: int RecFileSync(RecHandle h_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/src/records/RecFile.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h_file
    argTypes:
    - RecHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: RecFileClose
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 1
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int RecFileClose(RecHandle h_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AIOFaultInjection::pread
      Src: /src/trafficserver/src/records/RecFile.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - h_file
    - buf
    - size
    - bytes_read
    argTypes:
    - RecHandle
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: RecSnapFileRead
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - AIOFaultInjection::pread
    linkageType: ''
    returnType: int
    signature: int RecSnapFileRead(RecHandle h_file, char *buf, int size, int *bytes_read)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/records/RecFile.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - h_file
    - buf
    - size
    - bytes_read
    argTypes:
    - RecHandle
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: RecFileRead
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::read
    linkageType: ''
    returnType: int
    signature: int RecFileRead(RecHandle h_file, char *buf, int size, int *bytes_read)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/records/RecFile.cc:118,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/records/RecFile.cc:118,1
    - Dst: AIOFaultInjection::pwrite
      Src: /src/trafficserver/src/records/RecFile.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - h_file
    - buf
    - size
    - bytes_written
    argTypes:
    - RecHandle
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: RecSnapFileWrite
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer::write
    - AIOFaultInjection::pwrite
    - std::array::data
    linkageType: ''
    returnType: int
    signature: int RecSnapFileWrite(RecHandle h_file, char *buf, int size, int *bytes_written)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/records/RecFile.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - h_file
    - buf
    - size
    - bytes_written
    argTypes:
    - RecHandle
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: RecFileWrite
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer::write
    linkageType: ''
    returnType: int
    signature: int RecFileWrite(RecHandle h_file, char *buf, int size, int *bytes_written)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/trafficserver/src/records/RecFile.cc:151,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/records/RecFile.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h_file
    argTypes:
    - RecHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: RecFileGetSize
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - fstat
    linkageType: ''
    returnType: int
    signature: int RecFileGetSize(RecHandle h_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecFileOpenR
      Src: /src/trafficserver/src/records/RecFile.cc:163,1
    - Dst: RecFileClose
      Src: /src/trafficserver/src/records/RecFile.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: RecFileExists
    functionSourceFile: /src/trafficserver/src/records/RecFile.cc
    functionUses: 0
    functionsReached:
    - RecFileClose
    - RecFileOpenR
    linkageType: ''
    returnType: int
    signature: int RecFileExists(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/records/RecUtils.cc:38,1
    - Dst: rec_mutex_init
      Src: /src/trafficserver/src/records/RecUtils.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - RecRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: RecRecordInit
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - rec_mutex_init
    linkageType: ''
    returnType: void
    signature: void RecRecordInit(RecRecord *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rec_mutex_destroy
      Src: /src/trafficserver/src/records/RecUtils.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RecRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: RecRecordFree
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - rec_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void RecRecordFree(RecRecord *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:55,1
    - Dst: RecRecordInit
      Src: /src/trafficserver/src/records/RecUtils.cc:62,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecUtils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - rec_type
    - name
    - data_type
    argTypes:
    - RecT
    - char*
    - RecDataT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: RecAlloc
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 1
    functionsReached:
    - Fatal
    - RecRecordInit
    - ats_strdup
    linkageType: ''
    returnType: RecRecord
    signature: 'RecRecord *

      RecAlloc(RecT rec_type, const char *name, RecDataT data_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecUtils.cc:78,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecUtils.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data_type
    - data
    argTypes:
    - RecDataT
    - RecData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: RecDataZero
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 2
    functionsReached:
    - memset
    - ats_free
    linkageType: ''
    returnType: void
    signature: void RecDataZero(RecDataT data_type, RecData *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - RecDataT
    - RecData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: RecDataSetMax
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - Fatal
    linkageType: ''
    returnType: void
    signature: void RecDataSetMax(RecDataT type, RecData *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - RecDataT
    - RecData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: RecDataSetMin
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - Fatal
    linkageType: ''
    returnType: void
    signature: void RecDataSetMin(RecDataT type, RecData *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecUtils.cc:127,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecUtils.cc:131,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecUtils.cc:133,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecUtils.cc:135,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecUtils.cc:138,1
    - Dst: isspace
      Src: /src/trafficserver/src/records/RecUtils.cc:140,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecUtils.cc:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - data_type
    - data_dst
    - data_src
    argTypes:
    - RecDataT
    - RecData*
    - RecData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 168
    functionName: RecDataSet
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - ats_free
    - isspace
    - ats_strdup
    - strlen
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool RecDataSet(RecDataT data_type, RecData *data_dst, RecData *data_src)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - type
    - left
    - right
    argTypes:
    - RecDataT
    - RecData
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: RecDataCmp
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - Fatal
    linkageType: ''
    returnType: int
    signature: int RecDataCmp(RecDataT type, RecData left, RecData right)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/RecUtils.cc:201,1
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - type
    - left
    - right
    argTypes:
    - RecDataT
    - RecData
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: RecDataAdd
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - memset
    - Fatal
    linkageType: ''
    returnType: RecData
    signature: RecData RecDataAdd(RecDataT type, RecData left, RecData right)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/RecUtils.cc:222,1
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - type
    - left
    - right
    argTypes:
    - RecDataT
    - RecData
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: RecDataSub
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - memset
    - Fatal
    linkageType: ''
    returnType: RecData
    signature: RecData RecDataSub(RecDataT type, RecData left, RecData right)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/RecUtils.cc:243,1
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - type
    - left
    - right
    argTypes:
    - RecDataT
    - RecData
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 258
    functionName: RecDataMul
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - memset
    - Fatal
    linkageType: ''
    returnType: RecData
    signature: RecData RecDataMul(RecDataT type, RecData left, RecData right)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/records/RecUtils.cc:264,1
    - Dst: Fatal
      Src: /src/trafficserver/src/records/RecUtils.cc:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - type
    - left
    - right
    argTypes:
    - RecDataT
    - RecData
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: RecDataDiv
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - memset
    - Fatal
    linkageType: ''
    returnType: RecData
    signature: RecData RecDataDiv(RecDataT type, RecData left, RecData right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/records/RecUtils.cc:294,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecUtils.cc:298,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecUtils.cc:299,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecUtils.cc:306,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecUtils.cc:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - data_type
    - data_dst
    - data_int64
    argTypes:
    - RecDataT
    - RecData*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: RecDataSetFromInt64
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 3
    functionsReached:
    - ats_strdup
    - snprintf
    - static_cast<float>
    - RecDataSet
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool RecDataSetFromInt64(RecDataT data_type, RecData *data_dst, int64_t
      data_int64)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecInt>
      Src: /src/trafficserver/src/records/RecUtils.cc:323,1
    - Dst: snprintf
      Src: /src/trafficserver/src/records/RecUtils.cc:330,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecUtils.cc:331,1
    - Dst: static_cast<RecCounter>
      Src: /src/trafficserver/src/records/RecUtils.cc:335,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecUtils.cc:338,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecUtils.cc:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - data_type
    - data_dst
    - data_float
    argTypes:
    - RecDataT
    - RecData*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: RecDataSetFromFloat
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 3
    functionsReached:
    - static_cast<RecCounter>
    - ats_strdup
    - snprintf
    - static_cast<RecInt>
    - RecDataSet
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool RecDataSetFromFloat(RecDataT data_type, RecData *data_dst, float
      data_float)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/records/RecUtils.cc:355,1
    - Dst: atof
      Src: /src/trafficserver/src/records/RecUtils.cc:358,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecUtils.cc:361,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/records/RecUtils.cc:361,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:365,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/records/RecUtils.cc:369,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecUtils.cc:372,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecUtils.cc:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - data_type
    - data_dst
    - data_string
    argTypes:
    - RecDataT
    - RecData*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: RecDataSetFromString
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 3
    functionsReached:
    - strncasecmp
    - const_cast<char *>
    - atof
    - strlen
    - ink_atoi64
    - RecDataSet
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool RecDataSetFromString(RecDataT data_type, RecData *data_dst, const
      char *data_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Regex::Regex
      Src: /src/trafficserver/src/records/RecUtils.cc:386,1
    - Dst: Regex::compile
      Src: /src/trafficserver/src/records/RecUtils.cc:388,1
    - Dst: Regex::exec
      Src: /src/trafficserver/src/records/RecUtils.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: recordRegexCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - Regex::compile
    - Regex::exec
    - Regex::Regex
    linkageType: ''
    returnType: bool
    signature: bool recordRegexCheck(const char *pattern, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:401,1
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:404,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:408,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:409,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:410,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 6
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: recordRangeCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - atoi
    - recordRegexCheck
    - const_cast<char *>
    - Tokenizer::Initialize
    linkageType: ''
    returnType: bool
    signature: bool recordRangeCheck(const char *pattern, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:433,1
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:433,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:434,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:434,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:435,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:435,1
    - Dst: recordRangeCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:437,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecUtils.cc:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 420
    functionDepth: 7
    functionLinenumber: 420
    functionLinenumberEnd: 449
    functionName: recordIPCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - recordRegexCheck
    - recordRangeCheck
    - const_cast<char *>
    - Tokenizer::Initialize
    linkageType: ''
    returnType: bool
    signature: bool recordIPCheck(const char *pattern, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Regex::Regex
      Src: /src/trafficserver/src/records/RecUtils.cc:386,1
    - Dst: Regex::compile
      Src: /src/trafficserver/src/records/RecUtils.cc:388,1
    - Dst: Regex::exec
      Src: /src/trafficserver/src/records/RecUtils.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: recordRegexCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 2
    functionsReached:
    - Regex::compile
    - Regex::exec
    - Regex::Regex
    linkageType: ''
    returnType: bool
    signature: bool recordRegexCheck(const char *pattern, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:401,1
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:404,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:408,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:409,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:410,1
    - Dst: atoi
      Src: /src/trafficserver/src/records/RecUtils.cc:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 6
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: recordRangeCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 1
    functionsReached:
    - atoi
    - recordRegexCheck
    - const_cast<char *>
    - Tokenizer::Initialize
    linkageType: ''
    returnType: bool
    signature: bool recordRangeCheck(const char *pattern, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:433,1
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:433,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:434,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:434,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/records/RecUtils.cc:435,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/records/RecUtils.cc:435,1
    - Dst: recordRangeCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:437,1
    - Dst: strcmp
      Src: /src/trafficserver/src/records/RecUtils.cc:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pattern
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 420
    functionDepth: 7
    functionLinenumber: 420
    functionLinenumberEnd: 449
    functionName: recordIPCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - recordRegexCheck
    - recordRangeCheck
    - const_cast<char *>
    - Tokenizer::Initialize
    linkageType: ''
    returnType: bool
    signature: bool recordIPCheck(const char *pattern, const char *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: recordRegexCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:457,1
    - Dst: recordRangeCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:462,1
    - Dst: recordIPCheck
      Src: /src/trafficserver/src/records/RecUtils.cc:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - value
    - checkType
    - pattern
    argTypes:
    - char*
    - RecCheckT
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 452
    functionDepth: 8
    functionLinenumber: 452
    functionLinenumberEnd: 480
    functionName: RecordValidityCheck
    functionSourceFile: /src/trafficserver/src/records/RecUtils.cc
    functionUses: 3
    functionsReached:
    - recordRegexCheck
    - recordIPCheck
    - recordRangeCheck
    linkageType: ''
    returnType: bool
    signature: bool RecordValidityCheck(const char *value, RecCheckT checkType, const
      char *pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecMessage *>
      Src: /src/trafficserver/src/records/RecMessage.cc:47,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/records/RecMessage.cc:47,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecMessage.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - msg_type
    - initial_size
    argTypes:
    - RecMessageT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: RecMessageAlloc
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - memset
    - static_cast<RecMessage *>
    - ats_malloc
    linkageType: ''
    returnType: RecMessage
    signature: 'RecMessage *

      RecMessageAlloc(RecMessageT msg_type, int initial_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecMessage.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RecMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: RecMessageFree
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: int
    signature: int RecMessageFree(RecMessage *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecMessage.cc:87,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecMessage.cc:92,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecMessage.cc:96,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecMessage.cc:100,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecMessage.cc:101,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/records/RecMessage.cc:109,1
    - Dst: static_cast<RecMessage *>
      Src: /src/trafficserver/src/records/RecMessage.cc:113,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/records/RecMessage.cc:113,1
    - Dst: reinterpret_cast<RecMessageEleHdr *>
      Src: /src/trafficserver/src/records/RecMessage.cc:116,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:116,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecMessage.cc:120,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:120,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:126,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:127,1
    - Dst: reinterpret_cast<RecRecord *>
      Src: /src/trafficserver/src/records/RecMessage.cc:128,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMessage.cc:131,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:132,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMessage.cc:137,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:138,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMessage.cc:143,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:144,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMessage.cc:149,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 2
    argNames:
    - msg
    - record
    argTypes:
    - RecMessage*
    - RecRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 157
    functionName: RecMessageMarshal_Realloc
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - memset
    - static_cast<RecMessage *>
    - INK_ALIGN_DEFAULT
    - memcpy
    - ats_realloc
    - reinterpret_cast<RecRecord *>
    - reinterpret_cast<char *>
    - strlen
    - reinterpret_cast<RecMessageEleHdr *>
    - REC_TYPE_IS_CONFIG
    - ink_assert
    linkageType: ''
    returnType: RecMessage
    signature: 'RecMessage *

      RecMessageMarshal_Realloc(RecMessage *msg, const RecRecord *record)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RecMessageEleHdr *>
      Src: /src/trafficserver/src/records/RecMessage.cc:166,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:166,1
    - Dst: RecMessageUnmarshalNext
      Src: /src/trafficserver/src/records/RecMessage.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - msg
    - itr
    - record
    argTypes:
    - RecMessage*
    - RecMessageItr*
    - RecRecord**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: RecMessageUnmarshalFirst
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<RecMessageEleHdr *>
    - RecMessageUnmarshalNext
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int RecMessageUnmarshalFirst(RecMessage *msg, RecMessageItr *itr, RecRecord
      **record)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RecMessageEleHdr *>
      Src: /src/trafficserver/src/records/RecMessage.cc:186,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:186,1
    - Dst: reinterpret_cast<RecMessageEleHdr *>
      Src: /src/trafficserver/src/records/RecMessage.cc:192,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:192,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecMessage.cc:197,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecMessage.cc:201,1
    - Dst: reinterpret_cast<RecRecord *>
      Src: /src/trafficserver/src/records/RecMessage.cc:205,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:205,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:208,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:212,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:215,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecMessage.cc:218,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - msg
    - itr
    - record
    argTypes:
    - RecMessage*
    - RecMessageItr*
    - RecRecord**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 225
    functionName: RecMessageUnmarshalNext
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 2
    functionsReached:
    - Warning
    - reinterpret_cast<RecRecord *>
    - reinterpret_cast<char *>
    - reinterpret_cast<RecMessageEleHdr *>
    - REC_TYPE_IS_CONFIG
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int RecMessageUnmarshalNext(RecMessage *msg, RecMessageItr *itr, RecRecord
      **record)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - recv_cb
    - cookie
    argTypes:
    - RecMessageRecvCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: RecMessageRegisterRecvCb
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecMessageRegisterRecvCb(RecMessageRecvCb recv_cb, void *cookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RecFileOpenR
      Src: /src/trafficserver/src/records/RecMessage.cc:255,1
    - Dst: RecFileRead
      Src: /src/trafficserver/src/records/RecMessage.cc:258,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:258,1
    - Dst: static_cast<RecMessage *>
      Src: /src/trafficserver/src/records/RecMessage.cc:261,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/records/RecMessage.cc:261,1
    - Dst: memcpy
      Src: /src/trafficserver/src/records/RecMessage.cc:262,1
    - Dst: RecSnapFileRead
      Src: /src/trafficserver/src/records/RecMessage.cc:263,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:263,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecMessage.cc:271,1
    - Dst: RecFileClose
      Src: /src/trafficserver/src/records/RecMessage.cc:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - fpath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 280
    functionName: RecMessageReadFromDisk
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - static_cast<RecMessage *>
    - memcpy
    - ats_free
    - RecFileClose
    - reinterpret_cast<char *>
    - RecFileRead
    - ats_malloc
    - RecSnapFileRead
    - RecFileOpenR
    linkageType: ''
    returnType: RecMessage
    signature: 'RecMessage *

      RecMessageReadFromDisk(const char *fpath)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecFileOpenW
      Src: /src/trafficserver/src/records/RecMessage.cc:299,1
    - Dst: RecSnapFileWrite
      Src: /src/trafficserver/src/records/RecMessage.cc:300,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/records/RecMessage.cc:300,1
    - Dst: RecFileClose
      Src: /src/trafficserver/src/records/RecMessage.cc:301,1
    - Dst: RecFileClose
      Src: /src/trafficserver/src/records/RecMessage.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - fpath
    argTypes:
    - RecMessage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 308
    functionName: RecMessageWriteToDisk
    functionSourceFile: /src/trafficserver/src/records/RecMessage.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char *>
    - RecSnapFileWrite
    - RecFileOpenW
    - RecFileClose
    linkageType: ''
    returnType: int
    signature: int RecMessageWriteToDisk(RecMessage *msg, const char *fpath)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:51,1
    - Dst: RecConfigOverrideFromEnvironment
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:52,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:59,1
    - Dst: RecDataSetFromString
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:62,1
    - Dst: RecRegisterConfigInt
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:66,1
    - Dst: RecRegisterConfigFloat
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:70,1
    - Dst: RecRegisterConfigString
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:74,1
    - Dst: RecRegisterConfigCounter
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:78,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:82,1
    - Dst: ink_fatal
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:87,1
    - Dst: RecDataZero
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:90,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:92,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:92,1
    - Dst: static_cast<RecInt>
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:96,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:96,1
    - Dst: RecRegisterStatInt
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:97,1
    - Dst: static_cast<RecFloat>
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:101,1
    - Dst: atof
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:101,1
    - Dst: RecRegisterStatFloat
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:102,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:106,1
    - Dst: static_cast<RecCounter>
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:110,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:110,1
    - Dst: RecRegisterStatCounter
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:111,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:115,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - record
    argTypes:
    - RecordElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 119
    functionName: initialize_record
    functionSourceFile: /src/trafficserver/src/records/RecordsConfigUtils.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigFloat
    - REC_TYPE_IS_STAT
    - static_cast<RecInt>
    - ink_atoi64
    - REC_TYPE_IS_CONFIG
    - static_cast<RecCounter>
    - RecRegisterConfigInt
    - RecRegisterStatFloat
    - RecRegisterStatString
    - RecDataZero
    - RecRegisterConfigString
    - RecDataSetFromString
    - RecConfigOverrideFromEnvironment
    - atof
    - static_cast<RecFloat>
    - RecRegisterStatInt
    - ink_assert
    - RecRegisterStatCounter
    - ink_fatal
    - RecRegisterConfigCounter
    linkageType: ''
    returnType: void
    signature: void initialize_record(const RecordElement *record, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordsConfigIterate
      Src: /src/trafficserver/src/records/RecordsConfigUtils.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: LibRecordsConfigInit
    functionSourceFile: /src/trafficserver/src/records/RecordsConfigUtils.cc
    functionUses: 13
    functionsReached:
    - RecordsConfigIterate
    linkageType: ''
    returnType: void
    signature: void LibRecordsConfigInit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:66,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:66,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecCore.cc:68,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/RecCore.cc:69,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecCore.cc:69,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecCore.cc:72,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/records/RecCore.cc:73,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecCore.cc:73,1
    - Dst: RecDataZero
      Src: /src/trafficserver/src/records/RecCore.cc:78,1
    - Dst: RecDataZero
      Src: /src/trafficserver/src/records/RecCore.cc:79,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:82,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:87,1
    - Dst: RecAlloc
      Src: /src/trafficserver/src/records/RecCore.cc:96,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:101,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:102,1
    - Dst: emplace
      Src: /src/trafficserver/src/records/RecCore.cc:103,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecCore.cc:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - rec_type
    - name
    - data_type
    - data_default
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecDataT
    - RecData
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 119
    functionName: register_record
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - RecDataZero
    - find
    - REC_TYPE_IS_STAT
    - emplace
    - end
    - RecAlloc
    - REC_TYPE_IS_CONFIG
    - RecDataSet
    linkageType: ''
    returnType: RecRecord
    signature: "RecRecord *\nregister_record(RecT rec_type, const char *name, RecDataT
      data_type, RecData data_default, RecPersistT persist_type,\n                bool
      *updated_p = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecInt *>
      Src: /src/trafficserver/src/records/RecCore.cc:127,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecCore.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: link_int
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_swap
    - static_cast<RecInt *>
    linkageType: ''
    returnType: int
    signature: int link_int(const char * /* name */, RecDataT /* data_type */, RecData
      data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t *>
      Src: /src/trafficserver/src/records/RecCore.cc:135,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/records/RecCore.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: link_int32
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t *>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: int link_int32(const char * /* name */, RecDataT /* data_type */, RecData
      data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t *>
      Src: /src/trafficserver/src/records/RecCore.cc:142,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/records/RecCore.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: link_uint32
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<uint32_t *>
    linkageType: ''
    returnType: int
    signature: int link_uint32(const char * /* name */, RecDataT /* data_type */,
      RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecFloat *>
      Src: /src/trafficserver/src/records/RecCore.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: link_float
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - static_cast<RecFloat *>
    linkageType: ''
    returnType: int
    signature: int link_float(const char * /* name */, RecDataT /* data_type */, RecData
      data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecCounter *>
      Src: /src/trafficserver/src/records/RecCore.cc:156,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecCore.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: link_counter
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - static_cast<RecCounter *>
    - ink_atomic_swap
    linkageType: ''
    returnType: int
    signature: int link_counter(const char * /* name */, RecDataT /* data_type */,
      RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecByte *>
      Src: /src/trafficserver/src/records/RecCore.cc:166,1
    - Dst: static_cast<RecByte>
      Src: /src/trafficserver/src/records/RecCore.cc:167,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/records/RecCore.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: link_byte
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - static_cast<RecByte *>
    - ink_atomic_swap
    - static_cast<RecByte>
    linkageType: ''
    returnType: int
    signature: int link_byte(const char * /* name */, RecDataT /* data_type */, RecData
      data, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecCore.cc:183,1
    - Dst: static_cast<RecString *>
      Src: /src/trafficserver/src/records/RecCore.cc:187,1
    - Dst: static_cast<RecString *>
      Src: /src/trafficserver/src/records/RecCore.cc:188,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecCore.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: link_string_alloc
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<RecString *>
    - ats_strdup
    linkageType: ''
    returnType: int
    signature: int link_string_alloc(const char * /* name */, RecDataT /* data_type
      */, RecData data, void *cookie)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RecSetDiags
      Src: /src/trafficserver/src/records/RecCore.cc:206,1
    - Dst: RecConfigFileInit
      Src: /src/trafficserver/src/records/RecCore.cc:209,1
    - Dst: static_cast<RecRecord *>
      Src: /src/trafficserver/src/records/RecCore.cc:214,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/records/RecCore.cc:214,1
    - Dst: ink_rwlock_init
      Src: /src/trafficserver/src/records/RecCore.cc:217,1
    - Dst: RecReadStatsFile
      Src: /src/trafficserver/src/records/RecCore.cc:220,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/records/RecCore.cc:225,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/records/RecCore.cc:227,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/records/RecCore.cc:227,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/records/RecCore.cc:231,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_readable
      Src: /src/trafficserver/src/records/RecCore.cc:232,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:233,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/src/records/RecCore.cc:235,1
    - Dst: RecFileExists
      Src: /src/trafficserver/src/records/RecCore.cc:238,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:239,1
    - Dst: RecReadYamlConfigFile
      Src: /src/trafficserver/src/records/RecCore.cc:244,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:245,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/records/RecCore.cc:246,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:248,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/records/RecCore.cc:249,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:252,1
    - Dst: RecLog
      Src: /src/trafficserver/src/records/RecCore.cc:255,1
    - Dst: c_str
      Src: /src/trafficserver/src/records/RecCore.cc:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - _diags
    argTypes:
    - Diags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 259
    functionName: RecCoreInit
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadConfigPath
    - RecReadStatsFile
    - swoc::file::path::c_str
    - ink_rwlock_init
    - swoc::SWOC_VERSION_NS::bwprint
    - RecLog
    - swoc::SWOC_VERSION_NS::file::is_readable
    - RecSetDiags
    - RecConfigFileInit
    - RecReadYamlConfigFile
    - static_cast<RecRecord *>
    - ats_malloc
    - c_str
    - ats_stringdup
    - ink_mutex_init
    - auto::empty
    - RecFileExists
    linkageType: ''
    returnType: int
    signature: int RecCoreInit(Diags *_diags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/records/RecCore.cc:267,1
    - Dst: auto::value
      Src: /src/trafficserver/src/records/RecCore.cc:271,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - rec_int
    argTypes:
    - char*
    - RecInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: RecLinkConfigInt
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - RecGetRecordInt
    - auto::value
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigInt(const char *name, RecInt *rec_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - p_int32
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: RecLinkConfigInt32
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigInt32(const char *name, int32_t *p_int32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - p_uint32
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: RecLinkConfigUInt32
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigUInt32(const char *name, uint32_t *p_uint32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/records/RecCore.cc:290,1
    - Dst: auto::value
      Src: /src/trafficserver/src/records/RecCore.cc:294,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - rec_float
    argTypes:
    - char*
    - RecFloat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: RecLinkConfigFloat
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - auto::value
    - RecGetRecordFloat
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigFloat(const char *name, RecFloat *rec_float)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordCounter
      Src: /src/trafficserver/src/records/RecCore.cc:301,1
    - Dst: auto::value
      Src: /src/trafficserver/src/records/RecCore.cc:305,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - rec_counter
    argTypes:
    - char*
    - RecCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: RecLinkConfigCounter
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - RecGetRecordCounter
    - auto::value
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigCounter(const char *name, RecCounter *rec_counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/records/RecCore.cc:313,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/records/RecCore.cc:317,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - rec_string
    argTypes:
    - char*
    - RecString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: RecLinkConfigString
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - ats_stringdup
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigString(const char *name, RecString *rec_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/records/RecCore.cc:325,1
    - Dst: auto::value
      Src: /src/trafficserver/src/records/RecCore.cc:329,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - rec_byte
    argTypes:
    - char*
    - RecByte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: RecLinkConfigByte
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - RecGetRecordInt
    - auto::value
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLinkConfigByte(const char *name, RecByte *rec_byte)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:341,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:343,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:343,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:346,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecCore.cc:347,1
    - Dst: RecConfigUpdateCbList::RecConfigUpdateCbList
      Src: /src/trafficserver/src/records/RecCore.cc:356,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecCore.cc:357,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecCore.cc:366,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecCore.cc:367,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:373,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - name
    - update_cb
    - cookie
    argTypes:
    - char*
    - RecConfigUpdateCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 379
    functionName: RecRegisterConfigUpdateCb
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 16
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - end
    - rec_mutex_acquire
    - RecConfigUpdateCbList::RecConfigUpdateCbList
    - REC_TYPE_IS_CONFIG
    - ink_rwlock_unlock
    - ink_assert
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecRegisterConfigUpdateCb(const char *name, RecConfigUpdateCb
      const &update_cb, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/records/RecCore.cc:391,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/records/RecCore.cc:392,1
    - Dst: record_cb
      Src: /src/trafficserver/src/records/RecCore.cc:394,1
    - Dst: config_cb
      Src: /src/trafficserver/src/records/RecCore.cc:395,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/records/RecCore.cc:403,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/records/RecCore.cc:404,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/records/RecCore.cc:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - name
    - record_cb
    - config_cb
    - cookie
    argTypes:
    - std::string_view
    - RecContextCb
    - RecConfigUpdateCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 410
    functionName: Enable_Config_Var
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - RecRegisterConfigUpdateCb
    - static_cast<Context *>
    - RecLookupRecord
    - record_cb
    - config_cb
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Enable_Config_Var(std::string_view const &name, RecContextCb record_cb,
      RecConfigUpdateCb const &config_cb, void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecord_Xmalloc
      Src: /src/trafficserver/src/records/RecCore.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - lock
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: RecGetRecordInt
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 56
    functionsReached:
    - RecGetRecord_Xmalloc
    linkageType: ''
    returnType: std::optional<RecInt>
    signature: std::optional<RecInt> RecGetRecordInt(const char *name, bool lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecord_Xmalloc
      Src: /src/trafficserver/src/records/RecCore.cc:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - lock
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: RecGetRecordFloat
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 7
    functionsReached:
    - RecGetRecord_Xmalloc
    linkageType: ''
    returnType: std::optional<RecFloat>
    signature: std::optional<RecFloat> RecGetRecordFloat(const char *name, bool lock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:445,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:447,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:447,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:450,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/records/RecCore.cc:455,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:459,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - name
    - buf
    - buf_len
    - lock
    argTypes:
    - char*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 465
    functionName: RecGetRecordString
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 9
    functionsReached:
    - rec_mutex_release
    - ink_strlcpy
    - find
    - ink_rwlock_rdlock
    - end
    - rec_mutex_acquire
    - ink_rwlock_unlock
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> RecGetRecordString(const char *name,
      char *buf, int buf_len, bool lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/records/RecCore.cc:475,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/src/records/RecCore.cc:478,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:481,1
    - Dst: isspace
      Src: /src/trafficserver/src/records/RecCore.cc:485,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/trafficserver/src/records/RecCore.cc:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - name
    - lock
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 496
    functionName: RecGetRecordStringAlloc
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 20
    functionsReached:
    - static_cast<std::string::size_type>
    - static_cast<Context *>
    - RecLookupRecord
    - isspace
    - strlen
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RecGetRecordStringAlloc(const char *name,
      bool lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecord_Xmalloc
      Src: /src/trafficserver/src/records/RecCore.cc:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - lock
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: RecGetRecordCounter
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 2
    functionsReached:
    - RecGetRecord_Xmalloc
    linkageType: ''
    returnType: std::optional<RecCounter>
    signature: std::optional<RecCounter> RecGetRecordCounter(const char *name, bool
      lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/records/RecCore.cc:518,1
    - Dst: ts::Metrics::find
      Src: /src/trafficserver/src/records/RecCore.cc:519,1
    - Dst: ts::Metrics::end
      Src: /src/trafficserver/src/records/RecCore.cc:521,1
    - Dst: char*::data
      Src: /src/trafficserver/src/records/RecCore.cc:527,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:530,1
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:534,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:537,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:537,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:540,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:541,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:543,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - name
    - data
    - lock
    argTypes:
    - char*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 552
    functionName: RecLookupRecord
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 6
    functionsReached:
    - ts::Metrics::find
    - ts::Metrics::end
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - RegexContext::get_instance
    - end
    - callback
    - rec_mutex_acquire
    - char*::data
    - ink_rwlock_unlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecLookupRecord(const char *name, void (*callback)(const RecRecord
      *, void *), void *data, bool lock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DFA::DFA
      Src: /src/trafficserver/src/records/RecCore.cc:559,1
    - Dst: DFA::compile
      Src: /src/trafficserver/src/records/RecCore.cc:561,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/records/RecCore.cc:573,1
    - Dst: DFA::match
      Src: /src/trafficserver/src/records/RecCore.cc:574,1
    - Dst: data
      Src: /src/trafficserver/src/records/RecCore.cc:574,1
    - Dst: data
      Src: /src/trafficserver/src/records/RecCore.cc:575,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:577,1
    - Dst: DFA::match
      Src: /src/trafficserver/src/records/RecCore.cc:591,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:595,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:596,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - rec_type
    - match
    - data
    argTypes:
    - unsigned
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 554
    functionDepth: 4
    functionLinenumber: 554
    functionLinenumberEnd: 601
    functionName: RecLookupMatchingRecords
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 2
    functionsReached:
    - rec_mutex_release
    - DFA::match
    - RegexContext::get_instance
    - callback
    - rec_mutex_acquire
    - DFA::DFA
    - DFA::compile
    - data
    linkageType: ''
    returnType: RecErrT
    signature: "RecErrT RecLookupMatchingRecords(unsigned rec_type, const char *match,
      void (*callback)(const RecRecord *, void *), void *data,\n                         bool
      /* lock ATS_UNUSED */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:609,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:612,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:612,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:615,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:618,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - name
    - rec_type
    - lock
    argTypes:
    - char*
    - RecT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 626
    functionName: RecGetRecordType
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 2
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - end
    - rec_mutex_acquire
    - ink_rwlock_unlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecGetRecordType(const char *name, RecT *rec_type, bool lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:634,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:637,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:637,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:640,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:647,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - name
    - data_type
    - lock
    argTypes:
    - char*
    - RecDataT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 655
    functionName: RecGetRecordDataType
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - end
    - rec_mutex_acquire
    - ink_rwlock_unlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecGetRecordDataType(const char *name, RecDataT *data_type,
      bool lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:663,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:668,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:668,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:671,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecCore.cc:672,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:676,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - name
    - persist_type
    - lock
    argTypes:
    - char*
    - RecPersistT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 684
    functionName: RecGetRecordPersistenceType
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - REC_TYPE_IS_STAT
    - end
    - rec_mutex_acquire
    - ink_rwlock_unlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecGetRecordPersistenceType(const char *name, RecPersistT *persist_type,
      bool lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:692,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:695,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:695,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:698,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:701,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - name
    - source
    - lock
    argTypes:
    - char*
    - RecSourceT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 709
    functionName: RecGetRecordSource
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - end
    - rec_mutex_acquire
    - ink_rwlock_unlock
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecGetRecordSource(const char *name, RecSourceT *source, bool
      lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/RecCore.cc:719,1
    - Dst: register_record
      Src: /src/trafficserver/src/records/RecCore.cc:720,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:727,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:728,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecCore.cc:733,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:734,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - rec_type
    - name
    - data_type
    - data_default
    - persist_type
    argTypes:
    - RecT
    - char*
    - RecDataT
    - RecData
    - RecPersistT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 714
    functionDepth: 6
    functionLinenumber: 714
    functionLinenumberEnd: 739
    functionName: RecRegisterStat
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - ink_rwlock_unlock
    - register_record
    - ink_rwlock_wrlock
    - RecDebug
    - RecDataSet
    - ink_assert
    linkageType: ''
    returnType: RecRecord
    signature: 'RecRecord *

      RecRegisterStat(RecT rec_type, const char *name, RecDataT data_type, RecData
      data_default, RecPersistT persist_type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/RecCore.cc:751,1
    - Dst: register_record
      Src: /src/trafficserver/src/records/RecCore.cc:752,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecCore.cc:757,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecCore.cc:759,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 9
    argNames:
    - rec_type
    - name
    - data_type
    - data_default
    - update_type
    - check_type
    - check_expr
    - source
    - access_type
    argTypes:
    - RecT
    - char*
    - RecDataT
    - RecData
    - RecUpdateT
    - RecCheckT
    - char*
    - RecSourceT
    - RecAccessT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 744
    functionDepth: 6
    functionLinenumber: 744
    functionLinenumberEnd: 769
    functionName: RecRegisterConfig
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ats_strdup
    - register_record
    - ink_rwlock_unlock
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: RecRecord
    signature: "RecRecord *\nRecRegisterConfig(RecT rec_type, const char *name, RecDataT
      data_type, RecData data_default, RecUpdateT update_type,\n                  RecCheckT
      check_type, const char *check_expr, RecSourceT source, RecAccessT access_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/records/RecCore.cc:780,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:783,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:783,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:786,1
    - Dst: memset
      Src: /src/trafficserver/src/records/RecCore.cc:792,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:793,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:795,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - name
    - data_type
    - data
    - lock
    argTypes:
    - char*
    - RecDataT
    - RecData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 805
    functionName: RecGetRecord_Xmalloc
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 3
    functionsReached:
    - memset
    - rec_mutex_release
    - ink_rwlock_rdlock
    - find
    - end
    - ink_rwlock_unlock
    - rec_mutex_acquire
    - RecDataSet
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecGetRecord_Xmalloc(const char *name, RecDataT data_type,
      RecData *data, bool lock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/records/RecCore.cc:816,1
    - Dst: find
      Src: /src/trafficserver/src/records/RecCore.cc:818,1
    - Dst: end
      Src: /src/trafficserver/src/records/RecCore.cc:818,1
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:821,1
    - Dst: RecAlloc
      Src: /src/trafficserver/src/records/RecCore.cc:826,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:827,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:833,1
    - Dst: RecDataSet
      Src: /src/trafficserver/src/records/RecCore.cc:834,1
    - Dst: REC_TYPE_IS_STAT
      Src: /src/trafficserver/src/records/RecCore.cc:839,1
    - Dst: REC_TYPE_IS_CONFIG
      Src: /src/trafficserver/src/records/RecCore.cc:842,1
    - Dst: ats_free
      Src: /src/trafficserver/src/records/RecCore.cc:846,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/records/RecCore.cc:847,1
    - Dst: emplace
      Src: /src/trafficserver/src/records/RecCore.cc:853,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:855,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/records/RecCore.cc:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - record
    argTypes:
    - RecRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 861
    functionName: RecForceInsert
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - rec_mutex_release
    - find
    - REC_TYPE_IS_STAT
    - emplace
    - ats_strdup
    - end
    - RecDataSet
    - rec_mutex_acquire
    - RecAlloc
    - REC_TYPE_IS_CONFIG
    - ink_rwlock_unlock
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: RecRecord
    signature: 'RecRecord *

      RecForceInsert(RecRecord *record)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:872,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:875,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:878,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:881,1
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - registered
    - name
    - data_type
    - datum
    argTypes:
    - int
    - char*
    - int
    - RecData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 887
    functionName: debug_record_callback
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecDebug
    linkageType: ''
    returnType: void
    signature: void debug_record_callback(RecT /* rec_type */, void * /* edata */,
      int registered, const char *name, int data_type, RecData *datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rec_mutex_acquire
      Src: /src/trafficserver/src/records/RecCore.cc:898,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:899,1
    - Dst: rec_mutex_release
      Src: /src/trafficserver/src/records/RecCore.cc:900,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/records/RecCore.cc:907,1
    - Dst: callback
      Src: /src/trafficserver/src/records/RecCore.cc:909,1
    - Dst: data
      Src: /src/trafficserver/src/records/RecCore.cc:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - rec_type
    - callback
    - edata
    argTypes:
    - RecT
    - RecDumpEntryCb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 911
    functionName: RecDumpRecords
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - rec_mutex_release
    - RegexContext::get_instance
    - callback
    - rec_mutex_acquire
    - data
    linkageType: ''
    returnType: void
    signature: void RecDumpRecords(RecT rec_type, RecDumpEntryCb callback, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecDebug
      Src: /src/trafficserver/src/records/RecCore.cc:916,1
    - Dst: RecDumpRecords
      Src: /src/trafficserver/src/records/RecCore.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rec_type
    argTypes:
    - RecT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: RecDumpRecordsHt
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - RecDebug
    - RecDumpRecords
    linkageType: ''
    returnType: void
    signature: void RecDumpRecordsHt(RecT rec_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/records/RecCore.cc:926,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:927,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 931
    functionName: RecConfigReadConfigDir
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 8
    functionsReached:
    - getenv
    - Layout::get
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadConfigDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecCore.cc:942,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:943,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:944,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 948
    functionName: RecConfigReadRuntimeDir
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 6
    functionsReached:
    - Layout::get
    - strlen
    - RecGetRecordString
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadRuntimeDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecCore.cc:959,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:960,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:961,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 965
    functionName: RecConfigReadLogDir
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 1
    functionsReached:
    - Layout::get
    - strlen
    - RecGetRecordString
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadLogDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecCore.cc:976,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:977,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:978,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 982
    functionName: RecConfigReadBinDir
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 3
    functionsReached:
    - Layout::get
    - strlen
    - RecGetRecordString
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadBinDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecCore.cc:993,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:994,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:995,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 999
    functionName: RecConfigReadPluginDir
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 4
    functionsReached:
    - Layout::get
    - strlen
    - RecGetRecordString
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadPluginDir()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/records/RecCore.cc:1014,1
    - Dst: strlen
      Src: /src/trafficserver/src/records/RecCore.cc:1015,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:1016,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/records/RecCore.cc:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - file_variable
    - default_value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1026
    functionName: RecConfigReadConfigPath
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 11
    functionsReached:
    - Layout::get
    - strlen
    - RecGetRecordString
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadConfigPath(const char *file_variable, const
      char *default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/records/RecCore.cc:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 5
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: RecConfigReadPersistentStatsPath
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 0
    functionsReached:
    - Layout::relative_to
    linkageType: ''
    returnType: std::string
    signature: std::string RecConfigReadPersistentStatsPath()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecDumpRecords
      Src: /src/trafficserver/src/records/RecCore.cc:1045,1
    - Dst: Warning
      Src: /src/trafficserver/src/records/RecCore.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1053
    functionName: RecConfigWarnIfUnregistered
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 3
    functionsReached:
    - Warning
    - RecDumpRecords
    linkageType: ''
    returnType: void
    signature: void RecConfigWarnIfUnregistered()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/records/RecCore.cc:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rec_type
    argTypes:
    - RecT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1074
    functionName: i_am_the_record_owner
    functionSourceFile: /src/trafficserver/src/records/RecCore.cc
    functionUses: 3
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool i_am_the_record_owner(RecT rec_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main.cc:35,1
    - Dst: CatchDiags::CatchDiags
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main.cc:35,1
    - Dst: ts_session_protocol_well_known_name_indices_init
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main.cc:38,1
    - Dst: SSLSessionCache::getSession
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/trafficserver/src/records/unit_tests/unit_test_main.cc
    functionUses: 3
    functionsReached:
    - DiagsPtr::set
    - ts_session_protocol_well_known_name_indices_init
    - CatchDiags::CatchDiags
    - SSLSessionCache::getSession
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: CatchDiags::CatchDiags
    functionSourceFile: /src/trafficserver/src/records/unit_tests/test_Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CatchDiags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/trafficserver/src/records/unit_tests/test_Diags.h:35,1
    - Dst: push_back
      Src: /src/trafficserver/src/records/unit_tests/test_Diags.h:36,1
    - Dst: va_end
      Src: /src/trafficserver/src/records/unit_tests/test_Diags.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: CatchDiags::error_va
    functionSourceFile: /src/trafficserver/src/records/unit_tests/test_Diags.h
    functionUses: 0
    functionsReached:
    - push_back
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void error_va(DiagsLevel /* diags_level ATS_UNUSED */, const SourceLocation
      * /* loc ATS_UNUSED */, const char *fmt,\n           va_list ap) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:43,1
    - Dst: init_diags
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:44,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:45,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:47,1
    - Dst: start
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:48,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:50,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/records/unit_tests/unit_test_main_on_eventsystem.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:38,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:41,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:44,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:47,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:50,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - parent_record
    - _round_robin_type
    argTypes:
    - ParentRecord*
    - ParentRR_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: ParentRoundRobin::ParentRoundRobin
    functionSourceFile: /src/trafficserver/src/proxy/ParentRoundRobin.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - DbgPrint
    linkageType: ''
    returnType: void
    signature: void ParentRoundRobin::ParentRoundRobin(ParentRecord *parent_record,
      ParentRR_t _round_robin_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ParentRoundRobin::~ParentRoundRobin()
    functionSourceFile: /src/trafficserver/src/proxy/ParentRoundRobin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParentRoundRobin::~ParentRoundRobin()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:66,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:70,1
    - Dst: static_cast<HttpRequestData *>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:73,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:75,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:81,1
    - Dst: RequestData*::get_client_ip
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:100,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:101,1
    - Dst: ats_ip_hash
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:101,1
    - Dst: RequestData*::get_client_ip
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:101,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:108,1
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:108,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:117,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:125,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:153,1
    - Dst: failedAt::load
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:155,1
    - Dst: failCount::load
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:155,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:155,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:158,1
    - Dst: failedAt::load
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:159,1
    - Dst: failCount::load
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:159,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:165,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:166,1
    - Dst: failedAt::load
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:166,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:166,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:178,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:184,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:186,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/ParentRoundRobin.cc:190,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 5
    argNames:
    - first_call
    - result
    - rdata
    - fail_threshold
    - retry_time
    argTypes:
    - bool
    - ParentResult*
    - RequestData*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 200
    functionName: ParentRoundRobin::selectParent
    functionSourceFile: /src/trafficserver/src/proxy/ParentRoundRobin.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - static_cast<int>
    - RequestData*::get_client_ip
    - ink_release_assert
    - HostStatus::getHostStatus
    - static_cast<unsigned int>
    - failedAt::load
    - failCount::load
    - reinterpret_cast<uint32_t *>
    - RegexContext::get_instance
    - ats_ip_hash
    - Dbg
    - ink_atomic_increment
    - static_cast<HttpRequestData *>
    - static_cast<unsigned>
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void ParentRoundRobin::selectParent(bool first_call, ParentResult
      *result, RequestData *rdata, unsigned int fail_threshold,\n                               unsigned
      int retry_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ParentRoundRobin::numParents
    functionSourceFile: /src/trafficserver/src/proxy/ParentRoundRobin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ParentRoundRobin::numParents(ParentResult * /* result ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: TransformProcessor::start
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransformProcessor::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TransformVConnection::TransformVConnection
      Src: /src/trafficserver/src/proxy/Transform.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cont
    - hooks
    argTypes:
    - Continuation*
    - APIHook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: TransformProcessor::open
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - TransformVConnection::TransformVConnection
    linkageType: ''
    returnType: VConnection
    signature: 'VConnection *

      TransformProcessor::open(Continuation *cont, APIHook *hooks)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NullTransform::NullTransform
      Src: /src/trafficserver/src/proxy/Transform.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: TransformProcessor::null_transform
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - NullTransform::NullTransform
    linkageType: ''
    returnType: INKVConnInternal
    signature: 'INKVConnInternal *

      TransformProcessor::null_transform(ProxyMutex *mutex)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RangeTransform::RangeTransform
      Src: /src/trafficserver/src/proxy/Transform.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mut
    - ranges
    - num_fields
    - transform_resp
    - content_type
    - content_type_len
    - content_length
    argTypes:
    - ProxyMutex*
    - RangeRecord*
    - int
    - HTTPHdr*
    - char*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: TransformProcessor::range_transform
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - RangeTransform::RangeTransform
    linkageType: ''
    returnType: INKVConnInternal
    signature: "INKVConnInternal *\nTransformProcessor::range_transform(ProxyMutex
      *mut, RangeRecord *ranges, int num_fields, HTTPHdr *transform_resp,\n                                    const
      char *content_type, int content_type_len, int64_t content_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/Transform.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tvc
    argTypes:
    - TransformVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: TransformTerminus::TransformTerminus
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void TransformTerminus::TransformTerminus(TransformVConnection *tvc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/Transform.cc:138,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/Transform.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: TransformTerminus::~TransformTerminus()
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TransformTerminus::~TransformTerminus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: RETRY
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETRY()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Event *>
      Src: /src/trafficserver/src/proxy/Transform.cc:157,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/Transform.cc:168,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:170,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:173,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:180,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:187,1
    - Dst: m_cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:193,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/Transform.cc:198,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:198,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/Transform.cc:199,1
    - Dst: RETRY
      Src: /src/trafficserver/src/proxy/Transform.cc:200,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/Transform.cc:203,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:203,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/Transform.cc:204,1
    - Dst: RETRY
      Src: /src/trafficserver/src/proxy/Transform.cc:205,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:216,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:218,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:219,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:221,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:222,1
    - Dst: get_writer
      Src: /src/trafficserver/src/proxy/Transform.cc:226,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:226,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:229,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:235,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:237,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:240,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:250,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:251,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:252,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:254,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:257,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/Transform.cc:262,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:262,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/Transform.cc:263,1
    - Dst: RETRY
      Src: /src/trafficserver/src/proxy/Transform.cc:264,1
    - Dst: m_cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:281,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:283,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:284,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 293
    functionName: TransformTerminus::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - cont::handleEvent
    - RETRY
    - is_locked
    - reinterpret_cast<Event *>
    - get_writer
    - ink_atomic_increment
    - Dbg
    - this_ethread
    - get_reader
    - MUTEX_TRY_LOCK
    - m_cont::handleEvent
    - ink_assert
    - ntodo
    linkageType: ''
    returnType: int
    signature: int TransformTerminus::handle_event(int event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_continuation
      Src: /src/trafficserver/src/proxy/Transform.cc:302,1
    - Dst: set_writer
      Src: /src/trafficserver/src/proxy/Transform.cc:309,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/Transform.cc:310,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:311,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:313,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:315,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/Transform.cc:319,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: TransformTerminus::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - ink_atomic_increment
    - Dbg
    - buffer::clear
    - cancel
    - this_ethread
    - set_writer
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      TransformTerminus::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:335,1
    - Dst: set_continuation
      Src: /src/trafficserver/src/proxy/Transform.cc:337,1
    - Dst: set_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:344,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/Transform.cc:345,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:346,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:348,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:350,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/Transform.cc:354,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - c
    - nbytes
    - buf
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 361
    functionName: TransformTerminus::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - set_continuation
    - ink_atomic_increment
    - Dbg
    - buffer::clear
    - set_reader
    - this_ethread
    - cancel
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      TransformTerminus::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool owner)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/Transform.cc:369,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:370,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:383,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:386,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: TransformTerminus::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - buffer::clear
    - this_ethread
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void TransformTerminus::do_io_close(int error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:399,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/Transform.cc:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: TransformTerminus::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - buffer::clear
    linkageType: ''
    returnType: void
    signature: void TransformTerminus::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:414,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/Transform.cc:417,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:418,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:420,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:421,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 426
    functionName: TransformTerminus::reenable
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - this_ethread
    - ink_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void TransformTerminus::reenable(VIO *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Continuation*::mutex::get
      Src: /src/trafficserver/src/proxy/Transform.cc:432,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/Transform.cc:436,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:438,1
    - Dst: INKVConnInternal*::do_io_transform
      Src: /src/trafficserver/src/proxy/Transform.cc:444,1
    - Dst: INKVConnInternal*::do_io_transform
      Src: /src/trafficserver/src/proxy/Transform.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cont
    - hooks
    argTypes:
    - Continuation*
    - APIHook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: TransformVConnection::TransformVConnection
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Continuation*::mutex::get
    - Dbg
    - SET_HANDLER
    - INKVConnInternal*::do_io_transform
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TransformVConnection::TransformVConnection(Continuation *cont,
      APIHook *hooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_read_vio::set_continuation
      Src: /src/trafficserver/src/proxy/Transform.cc:459,1
    - Dst: m_write_vio::set_continuation
      Src: /src/trafficserver/src/proxy/Transform.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: TransformVConnection::~TransformVConnection()
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - m_write_vio::set_continuation
    - m_read_vio::set_continuation
    linkageType: ''
    returnType: void
    signature: void TransformVConnection::~TransformVConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: TransformVConnection::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int TransformVConnection::handle_event(int /* event ATS_UNUSED */,
      void * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:481,1
    - Dst: TransformVConnection::do_io_read
      Src: /src/trafficserver/src/proxy/Transform.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: TransformVConnection::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - TransformVConnection::do_io_read
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      TransformVConnection::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer
      *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:492,1
    - Dst: TransformVConnection::do_io_write
      Src: /src/trafficserver/src/proxy/Transform.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: TransformVConnection::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - TransformVConnection::do_io_write
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      TransformVConnection::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool /* owner ATS_UNUSED */)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:503,1
    - Dst: TransformVConnection::do_io_close
      Src: /src/trafficserver/src/proxy/Transform.cc:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: TransformVConnection::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - TransformVConnection::do_io_close
    linkageType: ''
    returnType: void
    signature: void TransformVConnection::do_io_close(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:525,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:527,1
    - Dst: TransformVConnection::do_io_shutdown
      Src: /src/trafficserver/src/proxy/Transform.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: TransformVConnection::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - TransformVConnection::do_io_shutdown
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TransformVConnection::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: TransformVConnection::reenable
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void TransformVConnection::reenable(VIO * /* vio ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<INKVConnInternal *>
      Src: /src/trafficserver/src/proxy/Transform.cc:551,1
    - Dst: INKVConnInternal*::m_read_vio::get_writer
      Src: /src/trafficserver/src/proxy/Transform.cc:552,1
    - Dst: MIOBuffer*::max_read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:553,1
    - Dst: m_read_vio::get_writer
      Src: /src/trafficserver/src/proxy/Transform.cc:560,1
    - Dst: MIOBuffer*::max_read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:561,1
    - Dst: m_write_vio::get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:567,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 572
    functionName: TransformVConnection::backlog
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal*::m_read_vio::get_writer
    - MIOBuffer*::max_read_avail
    - IOBufferReader*::read_avail
    - m_read_vio::get_writer
    - m_write_vio::get_reader
    - static_cast<INKVConnInternal *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TransformVConnection::backlog(uint64_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/Transform.cc:577,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/Transform.cc:579,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/Transform.cc:581,1
    - Dst: null_transform
      Src: /src/trafficserver/src/proxy/Transform.cc:581,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/Transform.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: TransformControl::TransformControl
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - null_transform
    - append
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void TransformControl::TransformControl()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:594,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/Transform.cc:595,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/Transform.cc:596,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/Transform.cc:596,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/Transform.cc:598,1
    - Dst: head
      Src: /src/trafficserver/src/proxy/Transform.cc:598,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:600,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:602,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/Transform.cc:603,1
    - Dst: buf_end
      Src: /src/trafficserver/src/proxy/Transform.cc:604,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/Transform.cc:606,1
    - Dst: fill
      Src: /src/trafficserver/src/proxy/Transform.cc:607,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/Transform.cc:609,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:609,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:614,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:616,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/Transform.cc:617,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/Transform.cc:623,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:625,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:628,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 641
    functionName: TransformControl::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - get
    - memset
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - buf_end
    - do_io_close
    - MIOBuffer*::alloc_reader
    - new_empty_MIOBuffer
    - ink_assert
    - do_io_write
    - free_MIOBuffer
    - end
    - fill
    - head
    - open
    linkageType: ''
    returnType: int
    signature: int TransformControl::handle_event(int event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/proxy/Transform.cc:647,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/Transform.cc:652,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _mutex
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: NullTransform::NullTransform
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SET_HANDLER
    - reinterpret_cast<TSMutex>
    linkageType: ''
    returnType: void
    signature: void NullTransform::NullTransform(ProxyMutex *_mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: NullTransform::~NullTransform()
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void NullTransform::~NullTransform()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: handle_event_count
      Src: /src/trafficserver/src/proxy/Transform.cc:673,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:675,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:679,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:685,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:688,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:693,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:693,1
    - Dst: do_io_shutdown
      Src: /src/trafficserver/src/proxy/Transform.cc:695,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:702,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:705,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:706,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/Transform.cc:707,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/Transform.cc:710,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:710,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/Transform.cc:711,1
    - Dst: retry
      Src: /src/trafficserver/src/proxy/Transform.cc:712,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:722,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:726,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:728,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:734,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:738,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:738,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:740,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:745,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:747,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:748,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:752,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:753,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 762
    functionName: NullTransform::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - cont::handleEvent
    - write
    - is_locked
    - alloc_reader
    - reenable
    - do_io_shutdown
    - new_empty_MIOBuffer
    - handle_event_count
    - do_io_write
    - Dbg
    - retry
    - this_ethread
    - get_reader
    - MUTEX_TRY_LOCK
    - ink_assert
    - ntodo
    linkageType: ''
    returnType: int
    signature: int NullTransform::handle_event(int event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/proxy/Transform.cc:783,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:784,1
    - Dst: TransformControl::TransformControl
      Src: /src/trafficserver/src/proxy/Transform.cc:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: TransformTest::run
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - is_action_tag_set
    - TransformControl::TransformControl
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void TransformTest::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSMutex>
      Src: /src/trafficserver/src/proxy/Transform.cc:794,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/Transform.cc:808,1
    - Dst: num_chars_for_int
      Src: /src/trafficserver/src/proxy/Transform.cc:810,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - mut
    - ranges
    - num_fields
    - transform_resp
    - content_type
    - content_type_len
    - content_length
    argTypes:
    - ProxyMutex*
    - RangeRecord*
    - int
    - HTTPHdr*
    - char*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 812
    functionName: RangeTransform::RangeTransform
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - SET_HANDLER
    - num_chars_for_int
    - reinterpret_cast<TSMutex>
    linkageType: ''
    returnType: void
    signature: "void RangeTransform::RangeTransform(ProxyMutex *mut, RangeRecord *ranges,
      int num_fields, HTTPHdr *transform_resp,\n                               const
      char *content_type, int content_type_len, int64_t content_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 822
    functionName: RangeTransform::~RangeTransform()
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void RangeTransform::~RangeTransform()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: handle_event_count
      Src: /src/trafficserver/src/proxy/Transform.cc:830,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:835,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:837,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:845,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:849,1
    - Dst: do_io_shutdown
      Src: /src/trafficserver/src/proxy/Transform.cc:850,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:854,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/Transform.cc:857,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:858,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/Transform.cc:859,1
    - Dst: RangeTransform::change_response_header
      Src: /src/trafficserver/src/proxy/Transform.cc:861,1
    - Dst: RangeTransform::add_boundary
      Src: /src/trafficserver/src/proxy/Transform.cc:864,1
    - Dst: RangeTransform::add_sub_header
      Src: /src/trafficserver/src/proxy/Transform.cc:865,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/Transform.cc:873,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/Transform.cc:873,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/Transform.cc:874,1
    - Dst: retry
      Src: /src/trafficserver/src/proxy/Transform.cc:875,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:885,1
    - Dst: RangeTransform::transform_to_range
      Src: /src/trafficserver/src/proxy/Transform.cc:889,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 895
    functionName: RangeTransform::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 0
    functionsReached:
    - cont::handleEvent
    - is_locked
    - alloc_reader
    - RangeTransform::change_response_header
    - reenable
    - do_io_shutdown
    - RangeTransform::add_boundary
    - new_empty_MIOBuffer
    - handle_event_count
    - do_io_write
    - Dbg
    - retry
    - RangeTransform::add_sub_header
    - this_ethread
    - MUTEX_TRY_LOCK
    - RangeTransform::transform_to_range
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int RangeTransform::handle_event(int event, void *edata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/Transform.cc:903,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:916,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/Transform.cc:927,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:929,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:940,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/Transform.cc:941,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:958,1
    - Dst: RangeTransform::add_boundary
      Src: /src/trafficserver/src/proxy/Transform.cc:959,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/Transform.cc:962,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:964,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/Transform.cc:969,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:970,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:980,1
    - Dst: RangeTransform::add_boundary
      Src: /src/trafficserver/src/proxy/Transform.cc:981,1
    - Dst: RangeTransform::add_sub_header
      Src: /src/trafficserver/src/proxy/Transform.cc:982,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/Transform.cc:999,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/Transform.cc:1005,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/Transform.cc:1006,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 1007
    functionName: RangeTransform::transform_to_range
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - write
    - cont::handleEvent
    - reenable
    - RangeTransform::add_boundary
    - IOBufferReader*::consume
    - IOBufferReader*::read_avail
    - Dbg
    - get_reader
    - RangeTransform::add_sub_header
    - ntodo
    linkageType: ''
    returnType: void
    signature: void RangeTransform::transform_to_range()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1024,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1025,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1028,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - end
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1032
    functionName: RangeTransform::add_boundary
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 2
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void RangeTransform::add_boundary(bool end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1046,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1048,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1050,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1051,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/Transform.cc:1053,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/Transform.cc:1055,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1057,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/Transform.cc:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1060
    functionName: RangeTransform::add_sub_header
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 2
    functionsReached:
    - write
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void RangeTransform::add_sub_header(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/Transform.cc:1077,1
    - Dst: status_set
      Src: /src/trafficserver/src/proxy/Transform.cc:1080,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/Transform.cc:1081,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/Transform.cc:1081,1
    - Dst: reason_set
      Src: /src/trafficserver/src/proxy/Transform.cc:1082,1
    - Dst: field_find
      Src: /src/trafficserver/src/proxy/Transform.cc:1086,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/Transform.cc:1086,1
    - Dst: field_delete
      Src: /src/trafficserver/src/proxy/Transform.cc:1089,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/Transform.cc:1089,1
    - Dst: field_create
      Src: /src/trafficserver/src/proxy/Transform.cc:1092,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/Transform.cc:1092,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/src/proxy/Transform.cc:1093,1
    - Dst: field_attach
      Src: /src/trafficserver/src/proxy/Transform.cc:1095,1
    - Dst: field_delete
      Src: /src/trafficserver/src/proxy/Transform.cc:1098,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/Transform.cc:1098,1
    - Dst: field_create
      Src: /src/trafficserver/src/proxy/Transform.cc:1099,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/Transform.cc:1099,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/Transform.cc:1100,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/Transform.cc:1101,1
    - Dst: field_attach
      Src: /src/trafficserver/src/proxy/Transform.cc:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1104
    functionName: RangeTransform::change_response_header
    functionSourceFile: /src/trafficserver/src/proxy/Transform.cc
    functionUses: 1
    functionsReached:
    - field_find
    - ink_release_assert
    - field_delete
    - static_cast<std::string_view>
    - MIMEField*::value_append
    - status_set
    - field_create
    - const_cast<char *>
    - reason_set
    - snprintf
    - field_attach
    - http_hdr_reason_lookup
    - MIMEField*::value_set
    linkageType: ''
    returnType: void
    signature: void RangeTransform::change_response_header()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:70,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:71,1
    - Dst: UrlRewrite::UrlRewrite
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:72,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:74,1
    - Dst: load
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:75,1
    - Dst: Emergency
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:76,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:78,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:81,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:82,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:83,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:84,1
    - Dst: acquire
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: init_reverse_proxy
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - RecRegisterConfigUpdateCb
    - load
    - acquire
    - new_ProxyMutex
    - Note
    - Emergency
    - UrlRewrite::UrlRewrite
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int init_reverse_proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite*::Remap_redirect
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - request_header
    - redirect_url
    - table
    argTypes:
    - HTTPHdr*
    - URL*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: request_url_remap_redirect
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - UrlRewrite*::Remap_redirect
    linkageType: ''
    returnType: mapping_type
    signature: mapping_type request_url_remap_redirect(HTTPHdr *request_header, URL
      *redirect_url, UrlRewrite *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite*::ReverseMap
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - response_header
    - table
    argTypes:
    - HTTPHdr*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: response_url_remap
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - UrlRewrite*::ReverseMap
    linkageType: ''
    returnType: bool
    signature: bool response_url_remap(HTTPHdr *response_header, UrlRewrite *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:118,1
    - Dst: reloadUrlRewrite
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: file_update_handler
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - reloadUrlRewrite
    - static_cast<void>
    linkageType: ''
    returnType: int
    signature: int file_update_handler(int /* etype ATS_UNUSED */, void * /* data
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: UR_UpdateContinuation
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void UR_UpdateContinuation(Ptr<ProxyMutex> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: urlRewriteVerify
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 2
    functionsReached:
    - UrlRewrite
    linkageType: ''
    returnType: bool
    signature: bool urlRewriteVerify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:142,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:143,1
    - Dst: UrlRewrite::UrlRewrite
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:144,1
    - Dst: UrlRewrite*::load
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:145,1
    - Dst: UrlRewrite*::acquire
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:149,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:152,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:154,1
    - Dst: release
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:159,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:166,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 170
    functionName: reloadUrlRewrite
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 1
    functionsReached:
    - release
    - Error
    - Dbg
    - UrlRewrite*::load
    - UrlRewrite*::acquire
    - Note
    - UrlRewrite::UrlRewrite
    - ink_assert
    - ink_atomic_swap
    linkageType: ''
    returnType: bool
    signature: bool reloadUrlRewrite()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:175,1
    - Dst: SetReverseFlag
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:179,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:185,1
    - Dst: UR_UpdateContinuation::UR_UpdateContinuation
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:185,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ReverseProxy.cc:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: url_rewrite_CB
    functionSourceFile: /src/trafficserver/src/proxy/ReverseProxy.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - SetReverseFlag
    - UR_UpdateContinuation::UR_UpdateContinuation
    - schedule_imm
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int url_rewrite_CB(const char * /* name ATS_UNUSED */, RecDataT /*
      data_type ATS_UNUSED */, RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: PluginHttpConnectIsInitialized
    functionSourceFile: /src/trafficserver/src/proxy/PluginHttpConnect.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginHttpConnectIsInitialized()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PluginVCCore::alloc
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:47,1
    - Dst: PluginVCCore*::set_active_addr
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:49,1
    - Dst: PluginVCCore*::set_plugin_id
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:50,1
    - Dst: PluginVCCore*::set_plugin_tag
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:51,1
    - Dst: PluginVCCore*::connect
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:53,1
    - Dst: PluginVC*::get_other_side
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:56,1
    - Dst: PluginVC*::set_is_internal_request
      Src: /src/trafficserver/src/proxy/PluginHttpConnect.cc:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - options
    argTypes:
    - TSHttpConnectOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: PluginHttpConnectInternal
    functionSourceFile: /src/trafficserver/src/proxy/PluginHttpConnect.cc
    functionUses: 1
    functionsReached:
    - PluginVCCore::alloc
    - PluginVCCore*::set_plugin_tag
    - PluginVC*::get_other_side
    - PluginVCCore*::set_plugin_id
    - PluginVC*::set_is_internal_request
    - PluginVCCore*::connect
    - PluginVCCore*::set_active_addr
    linkageType: ''
    returnType: PluginVC
    signature: 'PluginVC *

      PluginHttpConnectInternal(TSHttpConnectOptions *options)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:65,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ParentSelectionPolicy::ParentSelectionPolicy
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void ParentSelectionPolicy::ParentSelectionPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:76,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:77,1
    - Dst: createDefaultParent
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _parent_table
    argTypes:
    - P_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: ParentConfigParams::ParentConfigParams
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - ats_stringdup
    - createDefaultParent
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::ParentConfigParams(P_table *_parent_table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: ParentConfigParams::~ParentConfigParams()
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::~ParentConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ParentConfigParams::apiParentExists
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ParentConfigParams::apiParentExists(HttpRequestData *rdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ParentConfigParams::apiParentExists
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:105,1
    - Dst: HttpRequestData*::get_host
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:114,1
    - Dst: HttpRequestData*::get_host
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:114,1
    - Dst: ParentResult*::reset
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:119,1
    - Dst: P_table*::Match
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:121,1
    - Dst: HttpRequestData*::get_host
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:133,1
    - Dst: ParentConfigParams::selectParent
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:139,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:142,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:145,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:146,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:146,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:149,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:152,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:153,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:153,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:156,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - rdata
    - result
    - fail_threshold
    - retry_time
    argTypes:
    - HttpRequestData*
    - ParentResult*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 165
    functionName: ParentConfigParams::findParent
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - 'on'
    - ParentResult*::reset
    - ParentConfigParams::selectParent
    - DbgPrint
    - Dbg
    - ParentConfigParams::apiParentExists
    - P_table*::Match
    - HttpRequestData*::get_host
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::findParent(HttpRequestData *rdata, ParentResult
      *result, unsigned int fail_threshold, unsigned int retry_time)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:172,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:176,1
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:183,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:184,1
    - Dst: HttpRequestData*::get_host
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:184,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:184,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:188,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:188,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:192,1
    - Dst: ParentConfigParams::selectParent
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:193,1
    - Dst: HttpRequestData*::get_host
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:195,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:197,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:200,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:201,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:204,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:205,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:205,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:208,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - rdata
    - result
    - fail_threshold
    - retry_time
    argTypes:
    - HttpRequestData*
    - ParentResult*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 220
    functionName: ParentConfigParams::nextParent
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - 'on'
    - ParentConfigParams::selectParent
    - Dbg
    - ParentResult*::is_api_result
    - ink_assert
    - HttpRequestData*::get_host
    linkageType: ''
    returnType: void
    signature: void ParentConfigParams::nextParent(HttpRequestData *rdata, ParentResult
      *result, unsigned int fail_threshold, unsigned int retry_time)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult::reset
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:230,1
    - Dst: P_table*::Match
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:243,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: ParentConfigParams::parentExists
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - P_table*::Match
    - ParentResult::reset
    linkageType: ''
    returnType: bool
    signature: bool ParentConfigParams::parentExists(HttpRequestData *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConfigUpdateHandler<ParentConfig>::ConfigUpdateHandler<ParentConfig>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:264,1
    - Dst: ParentConfig::reconfigure
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:267,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:271,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:273,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:275,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: ParentConfig::startup
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - ConfigUpdateHandler<ParentConfig>::ConfigUpdateHandler<ParentConfig>
    - ParentConfig::reconfigure
    - attach
    linkageType: ''
    returnType: void
    signature: void ParentConfig::startup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:283,1
    - Dst: P_table::P_table
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:288,1
    - Dst: ParentConfigParams::ParentConfigParams
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:290,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:291,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:293,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:295,1
    - Dst: ParentConfig::print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:296,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: ParentConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - ParentConfig::print
    - P_table::P_table
    - 'on'
    - set
    - ParentConfigParams::ParentConfigParams
    - Note
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentConfig::reconfigure()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:305,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:307,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:308,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:310,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:312,1
    - Dst: ParentConfigParams*::DefaultParent::Print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:313,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:315,1
    - Dst: ParentConfigParams*::parent_table::Print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:316,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 319
    functionName: ParentConfig::print
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - TextBuffer::release
    - ParentConfigParams*::parent_table::Print
    - ParentConfigParams*::DefaultParent::Print
    - SplitDNSConfig::acquire
    - printf
    linkageType: ''
    returnType: void
    signature: void ParentConfig::print()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:327,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:328,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:328,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:331,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:333,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:335,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:335,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:339,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:341,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:342,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:344,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:347,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:347,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 348
    functionName: UnavailableServerResponseCodes::UnavailableServerResponseCodes
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sort
    - Warning
    - begin
    - push_back
    - atoi
    - Dbg
    - end
    - Tokenizer::Initialize
    linkageType: ''
    returnType: void
    signature: void UnavailableServerResponseCodes::UnavailableServerResponseCodes(char
      *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:356,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:357,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:357,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:360,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:362,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:364,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:364,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:368,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:370,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:371,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:373,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:376,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:376,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 377
    functionName: SimpleRetryResponseCodes::SimpleRetryResponseCodes
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - sort
    - Warning
    - begin
    - push_back
    - atoi
    - Dbg
    - end
    - Tokenizer::Initialize
    linkageType: ''
    returnType: void
    signature: void SimpleRetryResponseCodes::SimpleRetryResponseCodes(char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_strndup
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:382,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:382,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:385,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:387,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:389,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:391,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:393,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:394,1
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:395,1
    - Dst: Machine*::is_self
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:396,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:396,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:398,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:399,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:402,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:404,1
    - Dst: Machine*::is_self
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:408,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:408,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:410,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:415,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:417,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:424,1
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:426,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:426,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - val
    - line_num
    - buf
    - len
    argTypes:
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 428
    functionName: ParentRecord::PreProcessParents
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - memset
    - ats_strndup
    - ats_free
    - Machine::instance
    - std::string::c_str
    - Machine*::is_self
    - RegexContext::get_instance
    - strtok_r
    - strchr
    - Dbg
    - strncpy
    - strlen
    - HostStatus::setHostStatus
    - std::string_view
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentRecord::PreProcessParents(const char *val, const int line_num,
      char *buf, size_t len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:459,1
    - Dst: static_cast<pRecord *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:466,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:466,1
    - Dst: static_cast<pRecord *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:468,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:468,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:478,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:478,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:486,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:492,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:492,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:495,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:501,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:501,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:512,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:515,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:534,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:545,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:545,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:549,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:560,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:560,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:576,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:579,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 2
    argNames:
    - val
    - isPrimary
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 584
    functionName: ParentRecord::ProcessParents
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_free
    - static_cast<pRecord *>
    - sscanf
    - ParseRules::is_digit
    - const_cast<char *>
    - strchr
    - ats_malloc
    - ParseRules::is_wslfcr
    - strlen
    - Tokenizer::Initialize
    linkageType: ''
    returnType: char
    signature: 'char *

      ParentRecord::ProcessParents(char *val, bool isPrimary)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentRecord::ProcessParents
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:606,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:609,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:609,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:610,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:611,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:612,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:616,1
    - Dst: ParentRoundRobin::ParentRoundRobin
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 620
    functionName: ParentRecord::DefaultInit
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ParentRoundRobin::ParentRoundRobin
    - Error
    - static_cast<char *>
    - Dbg
    - snprintf
    - ats_malloc
    - ParentRecord::ProcessParents
    linkageType: ''
    returnType: bool
    signature: bool ParentRecord::DefaultInit(char *val)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:646,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:647,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:647,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:659,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:660,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:662,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:664,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:666,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:668,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:675,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:675,1
    - Dst: ParentRecord::PreProcessParents
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:676,1
    - Dst: ParentRecord::ProcessParents
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:677,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:679,1
    - Dst: ParentRecord::PreProcessParents
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:680,1
    - Dst: ParentRecord::ProcessParents
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:681,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:683,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:684,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:686,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:692,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:694,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:700,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:701,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:703,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:709,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:710,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:712,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:714,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:720,1
    - Dst: UnavailableServerResponseCodes::UnavailableServerResponseCodes
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:721,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:723,1
    - Dst: SimpleRetryResponseCodes::SimpleRetryResponseCodes
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:724,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:726,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:727,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:732,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:736,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:737,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:742,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:746,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:747,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:750,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:751,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:760,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:773,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:779,1
    - Dst: UnavailableServerResponseCodes::UnavailableServerResponseCodes
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:780,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:785,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:791,1
    - Dst: SimpleRetryResponseCodes::SimpleRetryResponseCodes
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:792,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:796,1
    - Dst: ProcessModifiers
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:800,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:803,1
    - Dst: ParentRecord::getSchemeModText
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:807,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:826,1
    - Dst: ParentRoundRobin::ParentRoundRobin
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:827,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:830,1
    - Dst: ParentConsistentHash::ParentConsistentHash
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:831,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:834,1
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:837,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 184
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 838
    functionName: ParentRecord::Init
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - ProcessModifiers
    - snprintf
    - DNSHandler::rr_failure
    - SimpleRetryResponseCodes::SimpleRetryResponseCodes
    - RecGetRecordInt
    - ParentRoundRobin::ParentRoundRobin
    - strcasecmp
    - ParentRecord::ProcessParents
    - ParentRecord::PreProcessParents
    - UnavailableServerResponseCodes::UnavailableServerResponseCodes
    - static_cast<int>
    - Warning
    - ink_release_assert
    - ParentConsistentHash::ParentConsistentHash
    - atoi
    - Dbg
    - ParentRecord::getSchemeModText
    - Catch::clara::detail::BasicResult::ok
    - auto::value
    linkageType: ''
    returnType: Result
    signature: Result ParentRecord::Init(matcher_line *line_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:848,1
    - Dst: static_cast<HttpRequestData *>
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:848,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - result
    - rdata
    argTypes:
    - ParentResult*
    - RequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: ParentRecord::UpdateMatch
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - static_cast<HttpRequestData *>
    - ParentRecord::CheckForMatch
    linkageType: ''
    returnType: void
    signature: void ParentRecord::UpdateMatch(ParentResult *result, RequestData *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:858,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 863
    functionName: ParentRecord::~ParentRecord()
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ParentRecord::~ParentRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:868,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:870,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:872,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: ParentRecord::Print
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void ParentRecord::Print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParentRecord::ParentRecord
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:893,1
    - Dst: ParentRecord*::DefaultInit
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: createDefaultParent
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - ParentRecord::ParentRecord
    - ParentRecord*::DefaultInit
    linkageType: ''
    returnType: ParentRecord
    signature: 'ParentRecord *

      createDefaultParent(char *val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:911,1
    - Dst: SocksServerConfig::reconfigure
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 917
    functionName: SocksServerConfig::startup
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 4
    functionsReached:
    - SocksServerConfig::reconfigure
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void SocksServerConfig::startup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_getbestaddrinfo
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:931,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:932,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:933,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:935,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rec_arr
    - len
    argTypes:
    - ParentRecord*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 944
    functionName: setup_socks_servers
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ats_ip_ntop
    - snprintf
    - ats_is_ip6
    - ats_ip_getbestaddrinfo
    linkageType: ''
    returnType: int
    signature: int setup_socks_servers(ParentRecord *rec_arr, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:949,1
    - Dst: P_table::P_table
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:957,1
    - Dst: ParentConfigParams::ParentConfigParams
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:959,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:960,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:964,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:965,1
    - Dst: createDefaultParent
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:966,1
    - Dst: setup_socks_servers
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:970,1
    - Dst: setup_socks_servers
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:973,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:977,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:981,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:984,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:986,1
    - Dst: SocksServerConfig::print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:987,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 946
    functionDepth: 4
    functionLinenumber: 946
    functionLinenumberEnd: 991
    functionName: SocksServerConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - createDefaultParent
    - P_table::P_table
    - 'on'
    - SocksServerConfig::print
    - RecGetRecordStringAlloc
    - RecGetRecordInt
    - setup_socks_servers
    - set
    - ParentConfigParams::ParentConfigParams
    - ats_stringdup
    - Note
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void SocksServerConfig::reconfigure()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:996,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:998,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:999,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1001,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1003,1
    - Dst: ParentConfigParams*::DefaultParent::Print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1004,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1006,1
    - Dst: ParentConfigParams*::parent_table::Print
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1007,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1010
    functionName: SocksServerConfig::print
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - TextBuffer::release
    - ParentConfigParams*::parent_table::Print
    - ParentConfigParams*::DefaultParent::Print
    - SplitDNSConfig::acquire
    - printf
    linkageType: ''
    returnType: void
    signature: void SocksServerConfig::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: TEST_FAIL
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1023,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1024,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1025,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1026,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1028,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1030,1
    - Dst: HttpRequestData*::hdr::parse_req
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1032,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1032,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - req
    - srcip
    - dstip
    - str
    argTypes:
    - HttpRequestData*
    - sockaddr*
    - sockaddr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1035
    functionName: request_to_data
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - http_parser_clear
    - http_parser_init
    - ats_ip_copy
    - ink_zero
    - strlen
    - HttpRequestData*::hdr::parse_req
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: void
    signature: void request_to_data(HttpRequestData *req, sockaddr const *srcip, sockaddr
      const *dstip, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParentConfig::startup
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1049,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1119,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1120,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1121,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1122,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1123,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1124,1
    - Dst: SET_MAX_RETRIERS
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1127,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1129,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1130,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1135,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1137,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1138,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1139,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1141,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1143,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1145,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1150,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1152,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1153,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1154,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1155,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1157,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1164,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1165,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1166,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1167,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1168,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1169,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1170,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1171,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1172,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1173,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1174,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1175,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1176,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1177,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1178,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1179,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1180,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1184,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1185,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1187,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1189,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1189,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1189,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1190,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1191,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1193,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1195,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1195,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1195,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1197,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1199,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1201,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1201,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1203,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1205,1
    - Dst: HttpRequestData*::hdr::url_set
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1207,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1209,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1209,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1209,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1211,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1213,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1215,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1215,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1215,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1216,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1242,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1245,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1247,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1249,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1249,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1250,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1253,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1255,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1257,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1257,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1259,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1261,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1263,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1263,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1265,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1267,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1269,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1269,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1272,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1274,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1276,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1276,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1278,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1280,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1282,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1282,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1284,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1286,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1288,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1288,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1290,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1292,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1294,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1294,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1295,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1300,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1302,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1304,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1304,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1306,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1308,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1310,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1310,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1312,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1314,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1316,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1316,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1318,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1320,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1322,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1322,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1325,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1327,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1329,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1329,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1331,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1333,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1335,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1335,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1337,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1339,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1341,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1341,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1342,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1346,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1348,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1350,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1350,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1353,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1357,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1359,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1361,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1361,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1365,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1372,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1374,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1376,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1379,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1379,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1382,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1382,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1385,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1385,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1388,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1388,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1391,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1397,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1398,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1402,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1404,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1405,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1405,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1406,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1409,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1411,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1413,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1414,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1414,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1416,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1419,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1421,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1423,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1424,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1424,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1426,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1429,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1431,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1433,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1434,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1434,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1436,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1439,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1441,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1443,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1444,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1444,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1448,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1449,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1453,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1455,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1456,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1456,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1458,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1461,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1463,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1465,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1466,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1466,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1468,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1471,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1473,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1475,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1476,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1476,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1478,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1481,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1483,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1485,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1486,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1486,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1488,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1491,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1493,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1495,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1496,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1496,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1499,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1502,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1504,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1506,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1507,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1507,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1511,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1513,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1515,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1517,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1518,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1518,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1522,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1524,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1526,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1528,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1529,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1529,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1533,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1534,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1535,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1537,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1539,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1541,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1542,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1542,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1547,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1548,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1553,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1554,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1555,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1556,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1559,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1561,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1562,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1562,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1566,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1568,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1570,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1572,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1573,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1573,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1577,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1579,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1581,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1583,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1584,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1584,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1591,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1593,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1595,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1596,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1598,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1600,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1600,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1604,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1605,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1607,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1609,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1609,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1613,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1614,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1617,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1618,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1619,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1620,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1622,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1624,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1626,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1626,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1630,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1631,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1632,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1635,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1637,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1639,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1639,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1644,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1645,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1647,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1649,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1649,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1656,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1657,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1661,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1663,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1664,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1664,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1665,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1668,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1670,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1672,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1673,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1673,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1675,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1678,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1680,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1682,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1683,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1683,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1685,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1688,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1690,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1692,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1693,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1693,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1695,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1698,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1700,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1702,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1703,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1703,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1709,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1710,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1714,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1716,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1717,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1717,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1718,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1721,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1723,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1725,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1726,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1726,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1728,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1731,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1733,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1735,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1736,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1736,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1738,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1741,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1743,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1745,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1746,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1746,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1748,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1751,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1753,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1755,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1756,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1756,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1762,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1763,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1766,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1768,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1770,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1771,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1771,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1772,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1775,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1777,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1779,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1780,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1780,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1782,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1785,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1787,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1789,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1790,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1790,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1792,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1795,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1797,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1799,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1800,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1800,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1807,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1808,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1812,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1814,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1814,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1819,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1820,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1824,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1826,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1826,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1831,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1832,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1837,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1838,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1840,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1840,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1844,1
    - Dst: T
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1845,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1849,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1851,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1851,1
    - Dst: ST
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1855,1
    - Dst: ParentConfigParams*::markParentDown
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1856,1
    - Dst: br
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1858,1
    - Dst: RE
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1860,1
    - Dst: verify
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1860,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1866,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 525
    argCount: 1
    argNames:
    - pstatus
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1868
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 0
    functionsReached:
    - ParentConfig::startup
    - br
    - ParentConfigParams*::markParentDown
    - verify
    - sleep
    - T
    - ink_assert
    - RegexContext::get_instance
    - HostStatus::setHostStatus
    - HttpRequestData*::hdr::url_set
    - printf
    - RE
    - ST
    - SET_MAX_RETRIERS
    - ats_ip_pton
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(PARENTSELECTION)(RegressionTest * /*
      t ATS_UNUSED */, int /* intensity_level ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: T
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    functionName: ST
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST(x)
  - 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: 1104
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1104
    functionName: RE
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 101
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RE(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: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: SET_MAX_RETRIERS
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MAX_RETRIERS(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1874,1
    - Dst: show_result
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1875,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - r
    - e
    - h
    - p
    argTypes:
    - ParentResult*
    - ParentResultType
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1878
    functionName: verify
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 7
    functionsReached:
    - strcmp
    - show_result
    - 'on'
    linkageType: ''
    returnType: int
    signature: int verify(ParentResult *r, ParentResultType e, const char *h, int
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1884,1
    - Dst: HttpRequestData*::hdr::create
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1885,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1886,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1887,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1888,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1889,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1890,1
    - Dst: HttpApiInfo::HttpApiInfo
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - h
    - os_hostname
    - dest_ip
    argTypes:
    - HttpRequestData*
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1893
    functionName: br
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - ats_ip_copy
    - ink_zero
    - HttpRequestData*::hdr::create
    - ats_strdup
    - HttpApiInfo::HttpApiInfo
    - time
    - HTTPHdr::HTTPHdr
    linkageType: ''
    returnType: void
    signature: void br(HttpRequestData *h, const char *os_hostname, sockaddr const
      *dest_ip)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1901,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1904,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1907,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1908,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1909,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ParentSelection.cc:1912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1919
    functionName: show_result
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelection.cc
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_result(ParentResult *p)
  - 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: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: TS_IP_OCTETS
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_IP_OCTETS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ControlBase::Modifier::~Modifier()
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlBase::Modifier::~Modifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ControlBase::Modifier::type() const
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type ControlBase::Modifier::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: TimeMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type TimeMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: TimeMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TimeMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:99,1
    - Dst: TimeMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: TimeMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - static_cast<long>
    - TimeMod::name
    linkageType: ''
    returnType: void
    signature: void TimeMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/ControlBase.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: TimeMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    linkageType: ''
    returnType: bool
    signature: bool TimeMod::check(HttpRequestData *req) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:123,1
    - Dst: TimeMod::timeOfDayToSeconds
      Src: /src/trafficserver/src/proxy/ControlBase.cc:128,1
    - Dst: TimeMod::timeOfDayToSeconds
      Src: /src/trafficserver/src/proxy/ControlBase.cc:129,1
    - Dst: std::make_unique<TimeMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:130,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/ControlBase.cc:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: TimeMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - TimeMod::timeOfDayToSeconds
    - std::move
    - Tokenizer::Initialize
    - std::make_unique<TimeMod>
    linkageType: ''
    returnType: std::unique_ptr<TimeMod>
    signature: std::unique_ptr<TimeMod> TimeMod::make(char *value, const char **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:149,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - time_str
    - seconds
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: TimeMod::timeOfDayToSeconds
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 1
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: char
    signature: 'char *

      TimeMod::timeOfDayToSeconds(const char *time_str, time_t *seconds)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: PortMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      PortMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:199,1
    - Dst: PortMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: PortMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - PortMod::name
    linkageType: ''
    returnType: void
    signature: void PortMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::port_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: PortMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::port_get
    linkageType: ''
    returnType: bool
    signature: bool PortMod::check(HttpRequestData *req) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:214,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:220,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:224,1
    - Dst: std::make_unique<PortMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: PortMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<PortMod>
    - Tokenizer::Initialize
    - sscanf
    linkageType: ''
    returnType: std::unique_ptr<PortMod>
    signature: std::unique_ptr<PortMod> PortMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: IPortMod::IPortMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPortMod::IPortMod(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: IPortMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      IPortMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:263,1
    - Dst: IPortMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: IPortMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - IPortMod::name
    - fprintf
    linkageType: ''
    returnType: void
    signature: void IPortMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: IPortMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPortMod::check(HttpRequestData *req) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:277,1
    - Dst: std::make_unique<IPortMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: IPortMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IPortMod>
    - sscanf
    linkageType: ''
    returnType: std::unique_ptr<IPortMod>
    signature: std::unique_ptr<IPortMod> IPortMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: SrcIPMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SrcIPMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: SrcIPMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SrcIPMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: SrcIPMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: SrcIPMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ats_ip_ntop
    - fprintf
    - SrcIPMod::name
    linkageType: ''
    returnType: void
    signature: void SrcIPMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:321,1
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: SrcIPMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool SrcIPMod::check(HttpRequestData *req) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractIpRange
      Src: /src/trafficserver/src/proxy/ControlBase.cc:328,1
    - Dst: std::make_unique<SrcIPMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: SrcIPMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<SrcIPMod>
    - ExtractIpRange
    linkageType: ''
    returnType: std::unique_ptr<SrcIPMod>
    signature: std::unique_ptr<SrcIPMod> SrcIPMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: SchemeMod::SchemeMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SchemeMod::SchemeMod(int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: SchemeMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SchemeMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: SchemeMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SchemeMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/ControlBase.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: SchemeMod::getWksText
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: char
    signature: 'char *

      SchemeMod::getWksText() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: SchemeMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::url_get
    linkageType: ''
    returnType: bool
    signature: bool SchemeMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    - Dst: SchemeMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: SchemeMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - SchemeMod::name
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: void
    signature: void SchemeMod::print(FILE *f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:387,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlBase.cc:387,1
    - Dst: std::make_unique<SchemeMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: SchemeMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_tokenize
    - strlen
    - std::make_unique<SchemeMod>
    linkageType: ''
    returnType: std::unique_ptr<SchemeMod>
    signature: std::unique_ptr<SchemeMod> SchemeMod::make(char *value, const char
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: TextMod::TextMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextMod::TextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/ControlBase.cc:415,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: TextMod::~TextMod()
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - data
    - free
    linkageType: ''
    returnType: void
    signature: void TextMod::~TextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: TextMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: TextMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - TextMod::name
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void TextMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/ControlBase.cc:427,1
    - Dst: TextMod::text::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:427,1
    - Dst: TextMod::text::assign
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: TextMod::set
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - free
    - ats_strdup
    - TextMod::text::data
    - strlen
    - TextMod::text::assign
    linkageType: ''
    returnType: void
    signature: void TextMod::set(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: ~MultiTextMod() override
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MultiTextMod() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: MultiTextMod::MultiTextMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::MultiTextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: MultiTextMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: MultiTextMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - MultiTextMod::name
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/proxy/ControlBase.cc:457,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/src/proxy/ControlBase.cc:459,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/ControlBase.cc:460,1
    - Dst: MultiTextMod::text_vec::push_back
      Src: /src/trafficserver/src/proxy/ControlBase.cc:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: MultiTextMod::set
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - MultiTextMod::text_vec::push_back
    - assign
    - swoc::TextView::take_prefix_at
    - swoc::TextView::ltrim
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::set(char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: MethodMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type MethodMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: MethodMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      MethodMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::method_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:489,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: MethodMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::length
    - strncasecmp
    - length
    - HttpRequestData*::hdr::method_get
    - auto::data
    - data
    linkageType: ''
    returnType: bool
    signature: bool MethodMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MethodMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:495,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: MethodMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<MethodMod>
    linkageType: ''
    returnType: std::unique_ptr<MethodMod>
    signature: std::unique_ptr<MethodMod> MethodMod::make(char *value, const char
      **)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: PrefixMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type PrefixMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: PrefixMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      PrefixMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:524,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 533
    functionName: PrefixMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - HttpRequestData*::hdr::url_get
    - auto::length
    - auto::data
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool PrefixMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PrefixMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:537,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 545
    functionName: PrefixMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<PrefixMod>
    linkageType: ''
    returnType: std::unique_ptr<PrefixMod>
    signature: std::unique_ptr<PrefixMod> PrefixMod::make(char *value, const char
      ** /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: SuffixMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SuffixMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: SuffixMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SuffixMod::name() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:570,1
    - Dst: SuffixMod::text_vec::size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:572,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:572,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:577,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:577,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 584
    functionName: SuffixMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::url_get
    - auto::length
    - strncasecmp
    - data
    - auto::data
    - SuffixMod::text_vec::size
    - size
    linkageType: ''
    returnType: bool
    signature: bool SuffixMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SuffixMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:588,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: SuffixMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<SuffixMod>
    - auto::set
    linkageType: ''
    returnType: std::unique_ptr<SuffixMod>
    signature: std::unique_ptr<SuffixMod> SuffixMod::make(char *value, const char
      ** /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: TagMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type TagMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: TagMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TagMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:616,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: TagMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - data
    linkageType: ''
    returnType: bool
    signature: bool TagMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TagMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:621,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: TagMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<TagMod>
    linkageType: ''
    returnType: std::unique_ptr<TagMod>
    signature: std::unique_ptr<TagMod> TagMod::make(char *value, const char ** /*
      error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 645
    functionName: check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check(HttpRequestData *req) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:649,1
    - Dst: name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 99
    functionsReached:
    - fprintf
    - name
    linkageType: ''
    returnType: void
    signature: void print(FILE *f) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:661,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:663,1
    - Dst: std::make_unique<InternalMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 674
    functionName: InternalMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    - std::make_unique<InternalMod>
    linkageType: ''
    returnType: std::unique_ptr<InternalMod>
    signature: std::unique_ptr<InternalMod> InternalMod::make(char *value, const char
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: TimeMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type TimeMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: TimeMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TimeMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:99,1
    - Dst: TimeMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: TimeMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - static_cast<long>
    - TimeMod::name
    linkageType: ''
    returnType: void
    signature: void TimeMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/ControlBase.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: TimeMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    linkageType: ''
    returnType: bool
    signature: bool TimeMod::check(HttpRequestData *req) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:123,1
    - Dst: TimeMod::timeOfDayToSeconds
      Src: /src/trafficserver/src/proxy/ControlBase.cc:128,1
    - Dst: TimeMod::timeOfDayToSeconds
      Src: /src/trafficserver/src/proxy/ControlBase.cc:129,1
    - Dst: std::make_unique<TimeMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:130,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/ControlBase.cc:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: TimeMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - TimeMod::timeOfDayToSeconds
    - std::move
    - Tokenizer::Initialize
    - std::make_unique<TimeMod>
    linkageType: ''
    returnType: std::unique_ptr<TimeMod>
    signature: std::unique_ptr<TimeMod> TimeMod::make(char *value, const char **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:149,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - time_str
    - seconds
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: TimeMod::timeOfDayToSeconds
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 2
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: char
    signature: 'char *

      TimeMod::timeOfDayToSeconds(const char *time_str, time_t *seconds)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: PortMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      PortMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:199,1
    - Dst: PortMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: PortMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - PortMod::name
    linkageType: ''
    returnType: void
    signature: void PortMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::port_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: PortMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::port_get
    linkageType: ''
    returnType: bool
    signature: bool PortMod::check(HttpRequestData *req) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:214,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:220,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:224,1
    - Dst: std::make_unique<PortMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: PortMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<PortMod>
    - Tokenizer::Initialize
    - sscanf
    linkageType: ''
    returnType: std::unique_ptr<PortMod>
    signature: std::unique_ptr<PortMod> PortMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: IPortMod::IPortMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPortMod::IPortMod(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: IPortMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      IPortMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:263,1
    - Dst: IPortMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: IPortMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - IPortMod::name
    - fprintf
    linkageType: ''
    returnType: void
    signature: void IPortMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: IPortMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPortMod::check(HttpRequestData *req) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:277,1
    - Dst: std::make_unique<IPortMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: IPortMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IPortMod>
    - sscanf
    linkageType: ''
    returnType: std::unique_ptr<IPortMod>
    signature: std::unique_ptr<IPortMod> IPortMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: SrcIPMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SrcIPMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: SrcIPMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SrcIPMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: SrcIPMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ControlBase.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: SrcIPMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ats_ip_ntop
    - fprintf
    - SrcIPMod::name
    linkageType: ''
    returnType: void
    signature: void SrcIPMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:321,1
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: SrcIPMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool SrcIPMod::check(HttpRequestData *req) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtractIpRange
      Src: /src/trafficserver/src/proxy/ControlBase.cc:328,1
    - Dst: std::make_unique<SrcIPMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: SrcIPMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<SrcIPMod>
    - ExtractIpRange
    linkageType: ''
    returnType: std::unique_ptr<SrcIPMod>
    signature: std::unique_ptr<SrcIPMod> SrcIPMod::make(char *value, const char **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: SchemeMod::SchemeMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SchemeMod::SchemeMod(int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: SchemeMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SchemeMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: SchemeMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SchemeMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/ControlBase.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: SchemeMod::getWksText
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: char
    signature: 'char *

      SchemeMod::getWksText() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: SchemeMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::url_get
    linkageType: ''
    returnType: bool
    signature: bool SchemeMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    - Dst: SchemeMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/ControlBase.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: SchemeMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - SchemeMod::name
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: void
    signature: void SchemeMod::print(FILE *f) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/ControlBase.cc:387,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlBase.cc:387,1
    - Dst: std::make_unique<SchemeMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: SchemeMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_tokenize
    - strlen
    - std::make_unique<SchemeMod>
    linkageType: ''
    returnType: std::unique_ptr<SchemeMod>
    signature: std::unique_ptr<SchemeMod> SchemeMod::make(char *value, const char
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: TextMod::TextMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextMod::TextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/ControlBase.cc:415,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: TextMod::~TextMod()
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - data
    - free
    linkageType: ''
    returnType: void
    signature: void TextMod::~TextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: TextMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: TextMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - TextMod::name
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void TextMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/ControlBase.cc:427,1
    - Dst: TextMod::text::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:427,1
    - Dst: TextMod::text::assign
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlBase.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: TextMod::set
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - free
    - ats_strdup
    - TextMod::text::data
    - strlen
    - TextMod::text::assign
    linkageType: ''
    returnType: void
    signature: void TextMod::set(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: ~MultiTextMod() override
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MultiTextMod() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: MultiTextMod::MultiTextMod
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::MultiTextMod()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: MultiTextMod::name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: MultiTextMod::print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fprintf
    - MultiTextMod::name
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::print(FILE *f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/proxy/ControlBase.cc:457,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/src/proxy/ControlBase.cc:459,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/ControlBase.cc:460,1
    - Dst: MultiTextMod::text_vec::push_back
      Src: /src/trafficserver/src/proxy/ControlBase.cc:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: MultiTextMod::set
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - MultiTextMod::text_vec::push_back
    - assign
    - swoc::TextView::take_prefix_at
    - swoc::TextView::ltrim
    linkageType: ''
    returnType: void
    signature: void MultiTextMod::set(char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: MethodMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type MethodMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: MethodMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      MethodMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::method_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:489,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: MethodMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::length
    - strncasecmp
    - length
    - HttpRequestData*::hdr::method_get
    - auto::data
    - data
    linkageType: ''
    returnType: bool
    signature: bool MethodMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MethodMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:495,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: MethodMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<MethodMod>
    linkageType: ''
    returnType: std::unique_ptr<MethodMod>
    signature: std::unique_ptr<MethodMod> MethodMod::make(char *value, const char
      **)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: PrefixMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type PrefixMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: PrefixMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      PrefixMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:524,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 533
    functionName: PrefixMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - HttpRequestData*::hdr::url_get
    - auto::length
    - auto::data
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool PrefixMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PrefixMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:537,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 545
    functionName: PrefixMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<PrefixMod>
    linkageType: ''
    returnType: std::unique_ptr<PrefixMod>
    signature: std::unique_ptr<PrefixMod> PrefixMod::make(char *value, const char
      ** /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: SuffixMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type SuffixMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: SuffixMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      SuffixMod::name() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:570,1
    - Dst: SuffixMod::text_vec::size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:572,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:572,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:577,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:577,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 584
    functionName: SuffixMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - HttpRequestData*::hdr::url_get
    - auto::length
    - strncasecmp
    - data
    - auto::data
    - SuffixMod::text_vec::size
    - size
    linkageType: ''
    returnType: bool
    signature: bool SuffixMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SuffixMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:588,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: SuffixMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<SuffixMod>
    - auto::set
    linkageType: ''
    returnType: std::unique_ptr<SuffixMod>
    signature: std::unique_ptr<SuffixMod> SuffixMod::make(char *value, const char
      ** /* error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: TagMod::type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlBase::Modifier::Type
    signature: ControlBase::Modifier::Type TagMod::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: TagMod::name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TagMod::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:616,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/ControlBase.cc:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: TagMod::check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - data
    linkageType: ''
    returnType: bool
    signature: bool TagMod::check(HttpRequestData *req) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TagMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:621,1
    - Dst: auto::set
      Src: /src/trafficserver/src/proxy/ControlBase.cc:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: TagMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - auto::set
    - std::make_unique<TagMod>
    linkageType: ''
    returnType: std::unique_ptr<TagMod>
    signature: std::unique_ptr<TagMod> TagMod::make(char *value, const char ** /*
      error ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: type
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: name
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 146
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 645
    functionName: check
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check(HttpRequestData *req) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:649,1
    - Dst: name
      Src: /src/trafficserver/src/proxy/ControlBase.cc:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 99
    functionsReached:
    - fprintf
    - name
    linkageType: ''
    returnType: void
    signature: void print(FILE *f) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:661,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:663,1
    - Dst: std::make_unique<InternalMod>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - value
    - error
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 674
    functionName: InternalMod::make
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    - std::make_unique<InternalMod>
    linkageType: ''
    returnType: std::unique_ptr<InternalMod>
    signature: std::unique_ptr<InternalMod> InternalMod::make(char *value, const char
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::clear
      Src: /src/trafficserver/src/proxy/ControlBase.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: ControlBase::~ControlBase()
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ControlBase::clear
    linkageType: ''
    returnType: void
    signature: void ControlBase::~ControlBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::clear
      Src: /src/trafficserver/src/proxy/ControlBase.cc:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: ControlBase::clear
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 2
    functionsReached:
    - ControlBase::clear
    linkageType: ''
    returnType: void
    signature: void ControlBase::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/proxy/ControlBase.cc:693,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:699,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:701,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:703,1
    - Dst: Modifier*::print
      Src: /src/trafficserver/src/proxy/ControlBase.cc:705,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlBase.cc:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 709
    functionName: ControlBase::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - get
    - printf
    - Modifier*::print
    - size
    linkageType: ''
    returnType: void
    signature: void ControlBase::Print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::findModOfType
      Src: /src/trafficserver/src/proxy/ControlBase.cc:714,1
    - Dst: static_cast<SchemeMod *>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: ControlBase::getSchemeModText
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ControlBase::findModOfType
    - static_cast<SchemeMod *>
    linkageType: ''
    returnType: char
    signature: 'char *

      ControlBase::getSchemeModText() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::findModOfType
      Src: /src/trafficserver/src/proxy/ControlBase.cc:734,1
    - Dst: check
      Src: /src/trafficserver/src/proxy/ControlBase.cc:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - request_data
    argTypes:
    - HttpRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 745
    functionName: ControlBase::CheckModifiers
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - ControlBase::findModOfType
    - check
    linkageType: ''
    returnType: bool
    signature: bool ControlBase::CheckModifiers(HttpRequestData *request_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/trafficserver/src/proxy/ControlBase.cc:765,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/ControlBase.cc:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - Modifier::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: ControlBase::findModOfType
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 2
    functionsReached:
    - get
    - type
    linkageType: ''
    returnType: ControlBase::Modifier
    signature: 'ControlBase::Modifier *

      ControlBase::findModOfType(Modifier::Type t) const'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::clear
      Src: /src/trafficserver/src/proxy/ControlBase.cc:787,1
    - Dst: reserve
      Src: /src/trafficserver/src/proxy/ControlBase.cc:788,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:807,1
    - Dst: PortMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:808,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:809,1
    - Dst: IPortMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:810,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:811,1
    - Dst: SchemeMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:812,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:813,1
    - Dst: MethodMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:814,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:815,1
    - Dst: PrefixMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:816,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:817,1
    - Dst: SuffixMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:818,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:819,1
    - Dst: SrcIPMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:820,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:821,1
    - Dst: TimeMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:822,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:823,1
    - Dst: TagMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:824,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/ControlBase.cc:825,1
    - Dst: InternalMod::make
      Src: /src/trafficserver/src/proxy/ControlBase.cc:826,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/ControlBase.cc:837,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/ControlBase.cc:837,1
    - Dst: ControlBase::clear
      Src: /src/trafficserver/src/proxy/ControlBase.cc:843,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ControlBase.cc:845,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 850
    functionName: ControlBase::ProcessModifiers
    functionSourceFile: /src/trafficserver/src/proxy/ControlBase.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ControlBase::clear
    - IPortMod::make
    - TimeMod::make
    - TagMod::make
    - PrefixMod::make
    - SrcIPMod::make
    - push_back
    - InternalMod::make
    - PortMod::make
    - SchemeMod::make
    - MethodMod::make
    - strcasecmp
    - reserve
    - std::move
    - SuffixMod::make
    linkageType: ''
    returnType: char
    signature: 'char *

      ControlBase::ProcessModifiers(matcher_line *line_info)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/CacheControl.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: freeEvent
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: int freeEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/CacheControl.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - CC_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: CC_FreerContinuation
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CC_FreerContinuation(CC_table *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reloadCacheControl
      Src: /src/trafficserver/src/proxy/CacheControl.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: file_update_handler
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - reloadCacheControl
    linkageType: ''
    returnType: int
    signature: int file_update_handler(int /* etype ATS_UNUSED */, void * /* data
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/CacheControl.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: CC_UpdateContinuation
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void CC_UpdateContinuation(Ptr<ProxyMutex> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_imm
      Src: /src/trafficserver/src/proxy/CacheControl.cc:108,1
    - Dst: CC_UpdateContinuation::CC_UpdateContinuation
      Src: /src/trafficserver/src/proxy/CacheControl.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: cacheControlFile_CB
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - CC_UpdateContinuation::CC_UpdateContinuation
    - schedule_imm
    linkageType: ''
    returnType: int
    signature: "int cacheControlFile_CB(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData /* data ATS_UNUSED */,\n                    void
      * /* cookie ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: host_rule_in_CacheControlTable
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool host_rule_in_CacheControlTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ip_rule_in_CacheControlTable
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ip_rule_in_CacheControlTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/CacheControl.cc:130,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/CacheControl.cc:131,1
    - Dst: CC_table::CC_table
      Src: /src/trafficserver/src/proxy/CacheControl.cc:132,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/CacheControl.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: initCacheControl
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 1
    functionsReached:
    - CC_table::CC_table
    - RecRegisterConfigUpdateCb
    - ink_assert
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void initCacheControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/CacheControl.cc:145,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/CacheControl.cc:149,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/CacheControl.cc:150,1
    - Dst: CC_FreerContinuation::CC_FreerContinuation
      Src: /src/trafficserver/src/proxy/CacheControl.cc:150,1
    - Dst: CC_table::CC_table
      Src: /src/trafficserver/src/proxy/CacheControl.cc:151,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/proxy/CacheControl.cc:152,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/CacheControl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: reloadCacheControl
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 1
    functionsReached:
    - schedule_in
    - CC_FreerContinuation::CC_FreerContinuation
    - Dbg
    - CC_table::CC_table
    - Note
    - ink_atomic_swap
    linkageType: ''
    returnType: void
    signature: void reloadCacheControl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Match
      Src: /src/trafficserver/src/proxy/CacheControl.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - result
    - rdata
    - h_txn_conf
    - tag
    argTypes:
    - CacheControlResult*
    - HttpRequestData*
    - OverridableHttpConfigParams*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: getCacheControl
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - Match
    linkageType: ''
    returnType: void
    signature: void getCacheControl(CacheControlResult *result, HttpRequestData *rdata,
      const OverridableHttpConfigParams *h_txn_conf, char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: CacheControlResult::Print
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void CacheControlResult::Print() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:200,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:200,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:203,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:203,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:206,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:206,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:213,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:217,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:221,1
    - Dst: ControlBase::Print
      Src: /src/trafficserver/src/proxy/CacheControl.cc:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: CacheControlRecord::Print
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - printf
    - ControlBase::Print
    linkageType: ''
    returnType: void
    signature: void CacheControlRecord::Print() const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:255,1
    - Dst: strtol
      Src: /src/trafficserver/src/proxy/CacheControl.cc:257,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/CacheControl.cc:259,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:282,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:283,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:286,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:289,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:292,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:295,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/CacheControl.cc:299,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:302,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:305,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/CacheControl.cc:308,1
    - Dst: processDurationString
      Src: /src/trafficserver/src/proxy/CacheControl.cc:314,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/CacheControl.cc:319,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/CacheControl.cc:333,1
    - Dst: ProcessModifiers
      Src: /src/trafficserver/src/proxy/CacheControl.cc:337,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/CacheControl.cc:340,1
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/CacheControl.cc:344,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 345
    functionName: CacheControlRecord::Init
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - ProcessModifiers
    - strcasecmp
    - DNSHandler::rr_failure
    - Catch::clara::detail::BasicResult::ok
    - processDurationString
    - strtol
    linkageType: ''
    returnType: Result
    signature: Result CacheControlRecord::Init(matcher_line *line_info)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpRequestData *>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:356,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:360,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:367,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:378,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:388,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:398,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:405,1
    - Dst: CacheControlRecord::CheckForMatch
      Src: /src/trafficserver/src/proxy/CacheControl.cc:412,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/CacheControl.cc:425,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/CacheControl.cc:426,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/CacheControl.cc:437,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/CacheControl.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/CacheControl.cc:442,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - result
    - rdata
    argTypes:
    - CacheControlResult*
    - RequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 445
    functionName: CacheControlRecord::UpdateMatch
    functionSourceFile: /src/trafficserver/src/proxy/CacheControl.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - CacheControlRecord::CheckForMatch
    - Dbg
    - snprintf
    - static_cast<HttpRequestData *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void CacheControlRecord::UpdateMatch(CacheControlResult *result, RequestData
      *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_string_get
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:58,1
    - Dst: unescapifyStr
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: HttpRequestData::get_string
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - url_string_get
    - unescapifyStr
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_string()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: HttpRequestData::get_host
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_host()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: HttpRequestData::get_ip
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: HttpRequestData::get_client_ip
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_client_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostLookup>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: HostMatcher<Data, MatchResult>::HostMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<HostLookup>
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::HostMatcher(const char *name,
      const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: HostMatcher<Data, MatchResult>::~HostMatcher()
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::~HostMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:106,1
    - Dst: HostMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: HostMatcher<Data, MatchResult>::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - printf
    - HostMatcher<Data, MatchResult>::Print
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Data*::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: HostMatcher<Data, MatchResult>::PrintFunc
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - Data*::Print
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::PrintFunc(void *opaque_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:133,1
    - Dst: HostMatcher<Data, MatchResult>::AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:135,1
    - Dst: Data::Data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: HostMatcher<Data, MatchResult>::AllocateSpace
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - HostMatcher<Data, MatchResult>::AllocateSpace
    - Data::Data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::AllocateSpace(int num_entries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MatchFirst
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:163,1
    - Dst: RequestData*::get_host
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:163,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:166,1
    - Dst: Data*::UpdateMatch
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:168,1
    - Dst: MatchNext
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: HostMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - MatchNext
    - MatchFirst
    - Data*::UpdateMatch
    - RequestData*::get_host
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HostMatcher<Data, MatchResult>::Match(RequestData *rdata, MatchResult
      *result) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:189,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:193,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:194,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:197,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:202,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:203,1
    - Dst: Data*::Init
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:211,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:212,1
    - Dst: Data::Data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:214,1
    - Dst: HostMatcher<Data, MatchResult>::NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 222
    functionName: HostMatcher<Data, MatchResult>::NewEntry
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - HostMatcher<Data, MatchResult>::NewEntry
    - Data*::Init
    - Data::Data
    - Catch::clara::detail::BasicResult::ok
    - Result::failed
    - ink_assert
    linkageType: ''
    returnType: Result
    signature: Result HostMatcher<Data, MatchResult>::NewEntry(matcher_line *line_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: UrlMatcher<Data, MatchResult>::UrlMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMatcher<Data, MatchResult>::UrlMatcher(const char *name, const
      char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: UrlMatcher<Data, MatchResult>::~UrlMatcher()
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void UrlMatcher<Data, MatchResult>::~UrlMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:257,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:259,1
    - Dst: UrlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: UrlMatcher<Data, MatchResult>::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - printf
    - UrlMatcher<Data, MatchResult>::Print
    linkageType: ''
    returnType: void
    signature: void UrlMatcher<Data, MatchResult>::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:272,1
    - Dst: Data::Data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:274,1
    - Dst: int::int
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:275,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:276,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: UrlMatcher<Data, MatchResult>::AllocateSpace
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - memset
    - int::int
    - Data::Data
    - char::char
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UrlMatcher<Data, MatchResult>::AllocateSpace(int num_entries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:291,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:294,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:295,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:298,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:302,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:303,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:305,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:305,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:306,1
    - Dst: Data*::Init
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:315,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:316,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:317,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 324
    functionName: UrlMatcher<Data, MatchResult>::NewEntry
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - find
    - Data*::Init
    - emplace
    - ats_strdup
    - end
    - DNSHandler::rr_failure
    - Catch::clara::detail::BasicResult::ok
    - Result::failed
    - ink_assert
    linkageType: ''
    returnType: Result
    signature: Result UrlMatcher<Data, MatchResult>::NewEntry(matcher_line *line_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RequestData*::get_string
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:344,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:349,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:352,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:352,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:353,1
    - Dst: UpdateMatch
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:354,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 358
    functionName: UrlMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - UpdateMatch
    - find
    - ats_strdup
    - end
    - Dbg
    - RequestData*::get_string
    linkageType: ''
    returnType: void
    signature: void UrlMatcher<Data, MatchResult>::Match(RequestData *rdata, MatchResult
      *result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: RegexMatcher<Data, MatchResult>::RegexMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegexMatcher<Data, MatchResult>::RegexMatcher(const char *name,
      const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:374,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:375,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: RegexMatcher<Data, MatchResult>::~RegexMatcher()
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void RegexMatcher<Data, MatchResult>::~RegexMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:390,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:392,1
    - Dst: RegexMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: RegexMatcher<Data, MatchResult>::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - printf
    - RegexMatcher<Data, MatchResult>::Print
    linkageType: ''
    returnType: void
    signature: void RegexMatcher<Data, MatchResult>::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:405,1
    - Dst: static_cast<pcre **>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:407,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:407,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:408,1
    - Dst: Data::Data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:410,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:412,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 417
    functionName: RegexMatcher<Data, MatchResult>::AllocateSpace
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - memset
    - Data::Data
    - char::char
    - ats_malloc
    - static_cast<pcre **>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void RegexMatcher<Data, MatchResult>::AllocateSpace(int num_entries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:430,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:433,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:434,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:437,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:441,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:442,1
    - Dst: pcre_compile
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:445,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:447,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:450,1
    - Dst: Data*::Init
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:458,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:460,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:462,1
    - Dst: pcre_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 471
    functionName: RegexMatcher<Data, MatchResult>::NewEntry
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - Data*::Init
    - ats_strdup
    - pcre_compile
    - DNSHandler::rr_failure
    - Catch::clara::detail::BasicResult::ok
    - Result::failed
    - ink_assert
    - pcre_free
    linkageType: ''
    returnType: Result
    signature: Result RegexMatcher<Data, MatchResult>::NewEntry(matcher_line *line_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RequestData*::get_string
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:492,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:497,1
    - Dst: pcre_exec
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:505,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:505,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:507,1
    - Dst: UpdateMatch
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:508,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:511,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 515
    functionName: RegexMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ats_free
    - UpdateMatch
    - ats_strdup
    - Dbg
    - pcre_exec
    - strlen
    - RequestData*::get_string
    linkageType: ''
    returnType: void
    signature: void RegexMatcher<Data, MatchResult>::Match(RequestData *rdata, MatchResult
      *result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: HostRegexMatcher<Data, MatchResult>::HostRegexMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostRegexMatcher<Data, MatchResult>::HostRegexMatcher(const char
      *name, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RequestData*::get_host
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:545,1
    - Dst: pcre_exec
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:553,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:553,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:555,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:555,1
    - Dst: UpdateMatch
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:557,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 563
    functionName: HostRegexMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - Warning
    - UpdateMatch
    - const_cast<char *>
    - Dbg
    - pcre_exec
    - strlen
    - RequestData*::get_host
    linkageType: ''
    returnType: void
    signature: void HostRegexMatcher<Data, MatchResult>::Match(RequestData *rdata,
      MatchResult *result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: IpMatcher<Data, MatchResult>::IpMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpMatcher<Data, MatchResult>::IpMatcher(const char *name, const
      char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:581,1
    - Dst: Data::Data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - num_entries
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 587
    functionName: IpMatcher<Data, MatchResult>::AllocateSpace
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - Data::Data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void IpMatcher<Data, MatchResult>::AllocateSpace(int num_entries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:606,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:609,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:610,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:613,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:618,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:619,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:622,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:623,1
    - Dst: Data*::Init
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:632,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:633,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - line_info
    argTypes:
    - matcher_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 639
    functionName: IpMatcher<Data, MatchResult>::NewEntry
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - Data*::Init
    - mark
    - swoc::IPRange::load
    - DNSHandler::rr_failure
    - Catch::clara::detail::BasicResult::ok
    - Result::failed
    - ink_assert
    linkageType: ''
    returnType: Result
    signature: Result IpMatcher<Data, MatchResult>::NewEntry(matcher_line *line_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:648,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:648,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:648,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:649,1
    - Dst: UpdateMatch
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - rdata
    - result
    argTypes:
    - sockaddr*
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: IpMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - UpdateMatch
    - find
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - empty
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void IpMatcher<Data, MatchResult>::Match(sockaddr const *addr, RequestData
      *rdata, MatchResult *result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:659,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:659,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:661,1
    - Dst: IpMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 664
    functionName: IpMatcher<Data, MatchResult>::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - count
    - IpMatcher<Data, MatchResult>::Print
    linkageType: ''
    returnType: void
    signature: void IpMatcher<Data, MatchResult>::Print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:670,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:673,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:681,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:682,1
    - Dst: ControlMatcher<Data, MatchResult>::BuildTable
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - file_var
    - name
    - tags
    - flags_in
    argTypes:
    - char*
    - char*
    - matcher_tags*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 696
    functionName: ControlMatcher<Data, MatchResult>::ControlMatcher
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ControlMatcher<Data, MatchResult>::BuildTable
    - ink_assert
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void ControlMatcher<Data, MatchResult>::ControlMatcher(const char *file_var,
      const char *name, const matcher_tags *tags, int flags_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 698
    functionName: ControlMatcher<Data, MatchResult>::~ControlMatcher()
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlMatcher<Data, MatchResult>::~ControlMatcher()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:708,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:710,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:713,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:716,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:719,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 724
    functionName: ControlMatcher<Data, MatchResult>::Print
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - printf
    - ControlMatcher<Data, MatchResult>::Print
    linkageType: ''
    returnType: void
    signature: void ControlMatcher<Data, MatchResult>::Print() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ControlMatcher<Data, MatchResult>::Match
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:736,1
    - Dst: ControlMatcher<Data, MatchResult>::Match
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:739,1
    - Dst: ControlMatcher<Data, MatchResult>::Match
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:742,1
    - Dst: ControlMatcher<Data, MatchResult>::Match
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:745,1
    - Dst: RequestData*::get_ip
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:745,1
    - Dst: ControlMatcher<Data, MatchResult>::Match
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - rdata
    - result
    argTypes:
    - RequestData*
    - MatchResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: ControlMatcher<Data, MatchResult>::Match
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - ControlMatcher<Data, MatchResult>::Match
    - RequestData*::get_ip
    linkageType: ''
    returnType: void
    signature: void ControlMatcher<Data, MatchResult>::Match(RequestData *rdata, MatchResult
      *result) const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:779,1
    - Dst: Tokenizer::iterFirst
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:785,1
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:790,1
    - Dst: static_cast<matcher_line *>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:797,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:797,1
    - Dst: parseConfigLine
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:798,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:798,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:803,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:804,1
    - Dst: Result::message
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:804,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:806,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:832,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:836,1
    - Dst: Tokenizer::iterNext
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:844,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:849,1
    - Dst: std::make_unique<RegexMatcher<Data, MatchResult>>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:854,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:855,1
    - Dst: std::make_unique<UrlMatcher<Data, MatchResult>>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:859,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:860,1
    - Dst: std::make_unique<HostMatcher<Data, MatchResult>>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:864,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:865,1
    - Dst: std::make_unique<IpMatcher<Data, MatchResult>>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:869,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:870,1
    - Dst: std::make_unique<HostRegexMatcher<Data, MatchResult>>
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:874,1
    - Dst: AllocateSpace
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:875,1
    - Dst: Catch::clara::detail::BasicResult::ok
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:880,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:884,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:886,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:888,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:890,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:892,1
    - Dst: NewEntry
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:894,1
    - Dst: DNSHandler::rr_failure
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:897,1
    - Dst: Result::failed
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:901,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:902,1
    - Dst: Result::message
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:902,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:908,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:911,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:913,1
    - Dst: ControlMatcher<Data, MatchResult>::Print
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:914,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 112
    argCount: 1
    argNames:
    - file_buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 917
    functionName: ControlMatcher<Data, MatchResult>::BuildTableFromString
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 0
    functionsReached:
    - NewEntry
    - parseConfigLine
    - DNSHandler::rr_failure
    - std::make_unique<IpMatcher<Data, MatchResult>>
    - std::make_unique<RegexMatcher<Data, MatchResult>>
    - Result::message
    - ats_free
    - ControlMatcher<Data, MatchResult>::Print
    - isspace
    - std::make_unique<HostMatcher<Data, MatchResult>>
    - std::make_unique<HostRegexMatcher<Data, MatchResult>>
    - Error
    - AllocateSpace
    - static_cast<matcher_line *>
    - Tokenizer::iterNext
    - Catch::clara::detail::BasicResult::ok
    - Tokenizer::iterFirst
    - Tokenizer::Initialize
    - Result::failed
    - ink_assert
    - std::make_unique<UrlMatcher<Data, MatchResult>>
    - 'on'
    - const_cast<char *>
    - ats_malloc
    linkageType: ''
    returnType: int
    signature: int ControlMatcher<Data, MatchResult>::BuildTableFromString(char *file_buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:924,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:926,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:928,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:928,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:928,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:931,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:931,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:931,1
    - Dst: ControlMatcher<Data, MatchResult>::BuildTableFromString
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:936,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/ControlMatcher.cc:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 937
    functionName: ControlMatcher<Data, MatchResult>::BuildTable
    functionSourceFile: /src/trafficserver/src/proxy/ControlMatcher.cc
    functionUses: 1
    functionsReached:
    - ControlMatcher<Data, MatchResult>::BuildTableFromString
    - Warning
    - std::string::data
    - Error
    - std::error_code::value
    - strerror
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: int
    signature: int ControlMatcher<Data, MatchResult>::BuildTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:36,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:41,1
    - Dst: std::make_unique<ATSConsistentHash>
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:43,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:46,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:50,1
    - Dst: std::make_unique<ATSConsistentHash>
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:51,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - parent_record
    argTypes:
    - ParentRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: ParentConsistentHash::ParentConsistentHash
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 1
    functionsReached:
    - insert
    - ink_zero
    - Dbg
    - std::make_unique<ATSConsistentHash>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentConsistentHash::ParentConsistentHash(ParentRecord *parent_record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ParentConsistentHash::~ParentConsistentHash()
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ParentConsistentHash::~ParentConsistentHash()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: URL*::string_get_ref
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:79,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:82,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:83,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:84,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:85,1
    - Dst: HttpRequestData*::hdr::url_get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:90,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:93,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:95,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:95,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:96,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:96,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:96,1
    - Dst: URL*::query_get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:100,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:100,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:101,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:102,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:102,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:102,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:106,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - hrdata
    - h
    argTypes:
    - HttpRequestData*
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 109
    functionName: ParentConsistentHash::getPathHash
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 0
    functionsReached:
    - ATSHash64*::get
    - HttpRequestData*::hdr::url_get
    - auto::length
    - ATSHash64*::final
    - ATSHash64*::update
    - URL*::string_get_ref
    - URL*::query_get
    - Dbg
    - auto::data
    - auto::empty
    - URL*::path_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ParentConsistentHash::getPathHash(HttpRequestData *hrdata,
      ATSHash64 *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ATSConsistentHash*::lookup_by_hashval
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:119,1
    - Dst: ATSConsistentHash*::lookup
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 7
    argNames:
    - fhash
    - path_hash
    - chashIter
    - wrap_around
    - hash
    - chash_init
    - mapWrapped
    argTypes:
    - ATSConsistentHash*
    - uint64_t
    - ATSConsistentHashIter*
    - bool*
    - ATSHash64Sip24*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: chash_lookup
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 0
    functionsReached:
    - ATSConsistentHash*::lookup_by_hashval
    - ATSConsistentHash*::lookup
    linkageType: ''
    returnType: pRecord
    signature: "pRecord *\nchash_lookup(ATSConsistentHash *fhash, uint64_t path_hash,
      ATSConsistentHashIter *chashIter, bool *wrap_around,\n             ATSHash64Sip24
      *hash, bool *chash_init, bool *mapWrapped)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64Sip24::ATSHash64Sip24
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:137,1
    - Dst: static_cast<HttpRequestData *>
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:139,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:150,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:151,1
    - Dst: ParentConsistentHash::numParents
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:151,1
    - Dst: ParentConsistentHash::getPathHash
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:196,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:197,1
    - Dst: chash_lookup
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:199,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:212,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:219,1
    - Dst: available::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:232,1
    - Dst: available::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:237,1
    - Dst: failedAt::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:237,1
    - Dst: failedAt::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:249,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:252,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:285,1
    - Dst: chash_lookup
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:286,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:297,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:301,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:304,1
    - Dst: available::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:316,1
    - Dst: available::load
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:329,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:336,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:337,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:338,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 165
    argCount: 4
    argNames:
    - first_call
    - result
    - rdata
    - retry_time
    argTypes:
    - bool
    - ParentResult*
    - RequestData*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 351
    functionName: ParentConsistentHash::selectParent
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 0
    functionsReached:
    - get
    - strcmp
    - HostStatus::getHostStatus
    - ParentConsistentHash::numParents
    - failedAt::load
    - chash_lookup
    - ATSHash64Sip24::ATSHash64Sip24
    - RegexContext::get_instance
    - Dbg
    - available::load
    - ParentConsistentHash::getPathHash
    - static_cast<HttpRequestData *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void ParentConsistentHash::selectParent(bool first_call, ParentResult
      *result, RequestData *rdata,\n                                   unsigned int
      /* fail_threshold ATS_UNUSED */, unsigned int retry_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: ParentConsistentHash::numParents
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ParentConsistentHash::numParents(ParentResult *result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:377,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:378,1
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:384,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:385,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:389,1
    - Dst: ParentConsistentHash::numParents
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:389,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:392,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:394,1
    - Dst: pRecord*::failCount::exchange
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:395,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentConsistentHash.cc:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 400
    functionName: ParentConsistentHash::markParentUp
    functionSourceFile: /src/trafficserver/src/proxy/ParentConsistentHash.cc
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - ink_release_assert
    - ParentConsistentHash::numParents
    - Note
    - Dbg
    - ParentResult*::is_api_result
    - pRecord*::failCount::exchange
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentConsistentHash::markParentUp(ParentResult *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ProxySession::ProxySession
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxySession::ProxySession()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ProxySession::ProxySession
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxySession::ProxySession(NetVConnection *vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/ProxySession.cc:39,1
    - Dst: ProxySession::api_hooks::clear
      Src: /src/trafficserver/src/proxy/ProxySession.cc:42,1
    - Dst: ProxySession::mutex::clear
      Src: /src/trafficserver/src/proxy/ProxySession.cc:43,1
    - Dst: ProxySession::acl::clear
      Src: /src/trafficserver/src/proxy/ProxySession.cc:44,1
    - Dst: ProxySession::_ssl::reset
      Src: /src/trafficserver/src/proxy/ProxySession.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: ProxySession::~ProxySession()
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::acl::clear
    - ProxySession::api_hooks::clear
    - ProxySession::_ssl::reset
    - ProxySession::mutex::clear
    - cancel
    linkageType: ''
    returnType: void
    signature: void ProxySession::~ProxySession()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::increment_current_active_connections_stat
      Src: /src/trafficserver/src/proxy/ProxySession.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ProxySession::set_session_active
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::increment_current_active_connections_stat
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_session_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::decrement_current_active_connections_stat
      Src: /src/trafficserver/src/proxy/ProxySession.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ProxySession::clear_session_active
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::decrement_current_active_connections_stat
    linkageType: ''
    returnType: void
    signature: void ProxySession::clear_session_active()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/ProxySession.cc:92,1
    - Dst: getNext
      Src: /src/trafficserver/src/proxy/ProxySession.cc:103,1
    - Dst: WEAK_MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/ProxySession.cc:108,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/ProxySession.cc:111,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/ProxySession.cc:112,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/proxy/ProxySession.cc:114,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/ProxySession.cc:114,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/proxy/ProxySession.cc:120,1
    - Dst: id
      Src: /src/trafficserver/src/proxy/ProxySession.cc:120,1
    - Dst: ProxySession::handle_api_return
      Src: /src/trafficserver/src/proxy/ProxySession.cc:125,1
    - Dst: ProxySession::handle_api_return
      Src: /src/trafficserver/src/proxy/ProxySession.cc:129,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProxySession.cc:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 138
    functionName: ProxySession::state_api_callout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - ink_release_assert
    - thread_holding::schedule_in
    - HRTIME_MSECONDS
    - id
    - ProxySession::handle_api_return
    - static_cast<Event *>
    - getNext
    - APIHook*::invoke
    - WEAK_MUTEX_TRY_LOCK
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int ProxySession::state_api_callout(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProxySession.cc:143,1
    - Dst: init
      Src: /src/trafficserver/src/proxy/ProxySession.cc:144,1
    - Dst: getNext
      Src: /src/trafficserver/src/proxy/ProxySession.cc:146,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/ProxySession.cc:148,1
    - Dst: ProxySession::state_api_callout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:149,1
    - Dst: ProxySession::handle_api_return
      Src: /src/trafficserver/src/proxy/ProxySession.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: ProxySession::do_api_callout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::handle_api_return
    - ProxySession::state_api_callout
    - getNext
    - SET_HANDLER
    - init
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ProxySession::do_api_callout(TSHttpHookID id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/trafficserver/src/proxy/ProxySession.cc:159,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/ProxySession.cc:161,1
    - Dst: ProxySession::do_io_close
      Src: /src/trafficserver/src/proxy/ProxySession.cc:168,1
    - Dst: ProxySession::start
      Src: /src/trafficserver/src/proxy/ProxySession.cc:170,1
    - Dst: free
      Src: /src/trafficserver/src/proxy/ProxySession.cc:174,1
    - Dst: Fatal
      Src: /src/trafficserver/src/proxy/ProxySession.cc:178,1
    - Dst: HttpDebugNames::get_api_hook_name
      Src: /src/trafficserver/src/proxy/ProxySession.cc:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: ProxySession::handle_api_return
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 2
    functionsReached:
    - ProxySession::do_io_close
    - free
    - ProxySession::start
    - id
    - HttpDebugNames::get_api_hook_name
    - SET_HANDLER
    - Fatal
    linkageType: ''
    returnType: void
    signature: void ProxySession::handle_api_return(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ProxySession::is_chunked_encoding_supported
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::is_chunked_encoding_supported() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: ProxySession::set_half_close_flag
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_half_close_flag(bool /* flag ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: ProxySession::get_half_close_flag
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::get_half_close_flag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ProxySession::connection_id
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ProxySession::connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: ProxySession::attach_server_session
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::attach_server_session(PoolableSession * /* ssession
      ATS_UNUSED */, bool /* transaction_done ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ProxySession::get_server_session
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *

      ProxySession::get_server_session() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: ProxySession::is_protocol_framed
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::is_protocol_framed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ProxySession::get_received_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ProxySession::get_received_frame_count(uint64_t /* type ATS_UNUSED
      */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::set_active_timeout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: ProxySession::set_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::set_active_timeout
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ProxySession::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::set_default_inactivity_timeout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: ProxySession::set_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::set_default_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_default_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::cancel_inactivity_timeout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: ProxySession::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::cancel_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxySession::cancel_inactivity_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/ProxySession.cc:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ProxySession::cancel_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::cancel_active_timeout
    linkageType: ''
    returnType: void
    signature: void ProxySession::cancel_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::populate_protocol
      Src: /src/trafficserver/src/proxy/ProxySession.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - size
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: ProxySession::populate_protocol
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::populate_protocol
    linkageType: ''
    returnType: int
    signature: int ProxySession::populate_protocol(std::string_view *result, int size)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::protocol_contains
      Src: /src/trafficserver/src/proxy/ProxySession.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag_prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: ProxySession::protocol_contains
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::protocol_contains
    linkageType: ''
    returnType: char
    signature: 'char *

      ProxySession::protocol_contains(std::string_view tag_prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::version_get
      Src: /src/trafficserver/src/proxy/ProxySession.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: ProxySession::get_version
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 14
    functionsReached:
    - HTTPHdr::version_get
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion ProxySession::get_version(HTTPHdr &hdr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::get_remote_addr
      Src: /src/trafficserver/src/proxy/ProxySession.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ProxySession::get_remote_addr
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::get_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ProxySession::get_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::get_local_addr
      Src: /src/trafficserver/src/proxy/ProxySession.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: ProxySession::get_local_addr
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 1
    functionsReached:
    - ProxySession::get_local_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ProxySession::get_local_addr()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/ProxySession.cc:304,1
    - Dst: std::make_unique<SSLProxySession>
      Src: /src/trafficserver/src/proxy/ProxySession.cc:306,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/ProxySession.cc:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: ProxySession::_handle_if_ssl
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<SSLProxySession>
    - NetVConnection*::get_service
    - get
    linkageType: ''
    returnType: void
    signature: void ProxySession::_handle_if_ssl(NetVConnection *new_vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::_vc::do_io_read
      Src: /src/trafficserver/src/proxy/ProxySession.cc:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: ProxySession::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::_vc::do_io_read
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      ProxySession::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::_vc::do_io_write
      Src: /src/trafficserver/src/proxy/ProxySession.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - nbytes
    - buf
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: ProxySession::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::_vc::do_io_write
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      ProxySession::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *buf,
      bool owner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::_vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/ProxySession.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: ProxySession::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::_vc::do_io_shutdown
    linkageType: ''
    returnType: void
    signature: void ProxySession::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::_vc::reenable
      Src: /src/trafficserver/src/proxy/ProxySession.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: ProxySession::reenable
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::_vc::reenable
    linkageType: ''
    returnType: void
    signature: void ProxySession::reenable(VIO *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::_vc::get_service
      Src: /src/trafficserver/src/proxy/ProxySession.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: ProxySession::support_sni
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - ProxySession::_vc::get_service
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::support_sni() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/ProxySession.cc:348,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProxySession.cc:349,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/ProxySession.cc:349,1
    - Dst: auto::second
      Src: /src/trafficserver/src/proxy/ProxySession.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - protocol_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: ProxySession::create_outbound_session
    functionSourceFile: /src/trafficserver/src/proxy/ProxySession.cc
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - ink_release_assert
    - end
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *

      ProxySession::create_outbound_session(int protocol_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: HttpTxnDebug
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpTxnDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - ProxySession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ProxyTransaction::ProxyTransaction
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::ProxyTransaction(ProxySession *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::mutex::clear
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ProxyTransaction::~ProxyTransaction()
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - ProxyTransaction::mutex::clear
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::~ProxyTransaction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:48,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:53,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:54,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:54,1
    - Dst: init
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:55,1
    - Dst: HttpTxnDebug
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:56,1
    - Dst: connection_id
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:56,1
    - Dst: get_transact_count
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:57,1
    - Dst: ProxyTransaction::get_netvc
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:60,1
    - Dst: dynamic_cast<PluginIdentity *>
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:61,1
    - Dst: ProxyTransaction::get_netvc
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:61,1
    - Dst: PluginIdentity*::getPluginTag
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:63,1
    - Dst: PluginIdentity*::getPluginId
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:64,1
    - Dst: ProxyTransaction::increment_transactions_stat
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:68,1
    - Dst: attach_client_session
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - from_early_data
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: ProxyTransaction::new_transaction
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - PluginIdentity*::getPluginId
    - THREAD_ALLOC
    - ProxyTransaction::get_netvc
    - ink_release_assert
    - attach_client_session
    - ProxyTransaction::increment_transactions_stat
    - connection_id
    - HttpTxnDebug
    - PluginIdentity*::getPluginTag
    - get_transact_count
    - this_thread
    - init
    - dynamic_cast<PluginIdentity *>
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::new_transaction(bool from_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::attach_server_session
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssession
    - transaction_done
    argTypes:
    - PoolableSession*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ProxyTransaction::attach_server_session
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::attach_server_session
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::attach_server_session(PoolableSession *ssession,
      bool transaction_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ProxyError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ProxyTransaction::set_rx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_rx_error_code(ProxyError e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ProxyError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ProxyTransaction::set_tx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_tx_error_code(ProxyError e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_netvc
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: ProxyTransaction::get_netvc
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 2
    functionsReached:
    - ProxyTransaction::get_netvc
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      ProxyTransaction::get_netvc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_transact_count
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ProxyTransaction::is_first_transaction
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - get_transact_count
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::is_first_transaction() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::set_session_active
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: ProxyTransaction::set_session_active
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::set_session_active
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_session_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::clear_session_active
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: ProxyTransaction::clear_session_active
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::clear_session_active
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::clear_session_active()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: '&

      ProxyTransaction::get_acl() const'
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpAllow::ACL
    signature: 'IpAllow::ACL &

      ProxyTransaction::get_acl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ProxyTransaction::get_outbound_port
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t ProxyTransaction::get_outbound_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: ProxyTransaction::set_outbound_port
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_outbound_port(in_port_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: outbound::has_ip4
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:143,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:144,1
    - Dst: outbound::ip4
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:144,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: ProxyTransaction::get_outbound_ip4
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - IpAddr
    - outbound::ip4
    - outbound::has_ip4
    linkageType: ''
    returnType: IpAddr
    signature: IpAddr ProxyTransaction::get_outbound_ip4() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: outbound::has_ip6
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:152,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:153,1
    - Dst: outbound::ip6
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:153,1
    - Dst: IpAddr
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: ProxyTransaction::get_outbound_ip6
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - IpAddr
    - outbound::ip6
    - outbound::has_ip6
    linkageType: ''
    returnType: IpAddr
    signature: IpAddr ProxyTransaction::get_outbound_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ProxyTransaction::set_outbound_ip
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_outbound_ip(swoc::IPAddr const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: ProxyTransaction::is_outbound_transparent
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::is_outbound_transparent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: ProxyTransaction::set_outbound_transparent
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_outbound_transparent(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: ProxyTransaction::get_transaction_priority_weight
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ProxyTransaction::get_transaction_priority_weight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ProxyTransaction::get_transaction_priority_dependence
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ProxyTransaction::get_transaction_priority_dependence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:191,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:191,1
    - Dst: ProxyTransaction::decrement_transactions_stat
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: ProxyTransaction::transaction_done
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - ProxyTransaction::decrement_transactions_stat
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::transaction_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::do_io_read
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ProxyTransaction::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::do_io_read
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      ProxyTransaction::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::do_io_write
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - nbytes
    - buf
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ProxyTransaction::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::do_io_write
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      ProxyTransaction::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader
      *buf, bool owner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::do_io_close
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: ProxyTransaction::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::do_io_close
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::do_io_close(int lerrno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::do_io_shutdown
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: ProxyTransaction::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::do_io_shutdown
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::reenable
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ProxyTransaction::reenable
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 1
    functionsReached:
    - ProxyTransaction::reenable
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::reenable(VIO *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - request_content_length
    - is_chunked
    argTypes:
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ProxyTransaction::has_request_body
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::has_request_body(int64_t request_content_length,
      bool is_chunked) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attach_sm
    argTypes:
    - HttpSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ProxyTransaction::attach_transaction
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::attach_transaction(HttpSM *attach_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::version_get
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: ProxyTransaction::get_version
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr::version_get
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion ProxyTransaction::get_version(HTTPHdr &hdr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ProxyTransaction::is_read_closed
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::is_read_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ProxyTransaction::expect_send_trailer
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::expect_send_trailer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: ProxyTransaction::set_expect_send_trailer
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_expect_send_trailer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: ProxyTransaction::expect_receive_trailer
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::expect_receive_trailer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: ProxyTransaction::set_expect_receive_trailer
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_expect_receive_trailer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: ProxyTransaction::allow_half_open
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::allow_half_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ProxyTransaction::set_close_connection
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_close_connection(HTTPHdr & /* hdr ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_netvc
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:289,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:290,1
    - Dst: auto::mark_as_tunnel_endpoint
      Src: /src/trafficserver/src/proxy/ProxyTransaction.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: ProxyTransaction::mark_as_tunnel_endpoint
    functionSourceFile: /src/trafficserver/src/proxy/ProxyTransaction.cc
    functionUses: 0
    functionsReached:
    - auto::mark_as_tunnel_endpoint
    - ProxyTransaction::get_netvc
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::mark_as_tunnel_endpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: HostStatRec::HostStatRec
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatRec::HostStatRec()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::good
      Src: /src/trafficserver/src/proxy/HostStatus.cc:74,1
    - Dst: std::stringstream::getline
      Src: /src/trafficserver/src/proxy/HostStatus.cc:76,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:77,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/HostStatus.cc:81,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:81,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:84,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:86,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:88,1
    - Dst: std::vector::clear
      Src: /src/trafficserver/src/proxy/HostStatus.cc:93,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:94,1
    - Dst: std::stringstream::good
      Src: /src/trafficserver/src/proxy/HostStatus.cc:95,1
    - Dst: std::stringstream::getline
      Src: /src/trafficserver/src/proxy/HostStatus.cc:97,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:98,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/HostStatus.cc:101,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:101,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:101,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:103,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:104,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:109,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:109,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:110,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:110,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:112,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:113,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:118,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:118,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:119,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:119,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:121,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:122,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:127,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:127,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:128,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:128,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:130,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:131,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:136,1
    - Dst: std::vector::at
      Src: /src/trafficserver/src/proxy/HostStatus.cc:136,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 140
    functionName: HostStatRec::HostStatRec
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::good
    - std::vector::size
    - std::vector::push_back
    - std::vector::at
    - atoi
    - std::stringstream::getline
    - std::vector::clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HostStatRec::HostStatRec(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_init
      Src: /src/trafficserver/src/proxy/HostStatus.cc:144,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/proxy/HostStatus.cc:147,1
    - Dst: rpc::add_method_handler
      Src: /src/trafficserver/src/proxy/HostStatus.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: HostStatus::HostStatus
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - rpc::add_method_handler
    - ink_rwlock_init
    linkageType: ''
    returnType: void
    signature: void HostStatus::HostStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/HostStatus.cc:156,1
    - Dst: ink_rwlock_destroy
      Src: /src/trafficserver/src/proxy/HostStatus.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: HostStatus::~HostStatus()
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - ink_rwlock_destroy
    - ats_free
    linkageType: ''
    returnType: void
    signature: void HostStatus::~HostStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/HostStatus.cc:166,1
    - Dst: getHostStatusPersistentFilePath
      Src: /src/trafficserver/src/proxy/HostStatus.cc:167,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/HostStatus.cc:168,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:168,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/src/proxy/HostStatus.cc:170,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:170,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/src/proxy/HostStatus.cc:172,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/src/proxy/HostStatus.cc:172,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:174,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:175,1
    - Dst: HostStatus::loadRecord
      Src: /src/trafficserver/src/proxy/HostStatus.cc:177,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/HostStatus.cc:180,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:180,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/HostStatus.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: HostStatus::loadFromPersistentStore
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - Warning
    - YAML::Node::Node
    - what
    - YAML::LoadFile
    - as
    - HostStatus::loadRecord
    - YAML::Node::begin
    - YAML::Node::end
    - getHostStatusPersistentFilePath
    - access
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void HostStatus::loadFromPersistentStore()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:190,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:190,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:190,1
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:191,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/HostStatus.cc:193,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/HostStatus.cc:193,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/HostStatus.cc:194,1
    - Dst: static_cast<HostStatRec *>
      Src: /src/trafficserver/src/proxy/HostStatus.cc:195,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/HostStatus.cc:195,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/HostStatus.cc:197,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - name
    - h
    argTypes:
    - std::string_view
    - HostStatRec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: HostStatus::loadRecord
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 1
    functionsReached:
    - static_cast<HostStatRec *>
    - find
    - std::string
    - emplace
    - end
    - Dbg
    - ink_rwlock_unlock
    - std::string_view::size
    - ats_malloc
    - std::string_view::data
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void HostStatus::loadRecord(std::string_view name, HostStatRec &h)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_rwlock_wrlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:211,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/HostStatus.cc:213,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/HostStatus.cc:213,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/HostStatus.cc:213,1
    - Dst: static_cast<HostStatRec *>
      Src: /src/trafficserver/src/proxy/HostStatus.cc:216,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/HostStatus.cc:216,1
    - Dst: bzero
      Src: /src/trafficserver/src/proxy/HostStatus.cc:217,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/src/proxy/HostStatus.cc:217,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/HostStatus.cc:218,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:221,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:221,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:221,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/HostStatus.cc:224,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:236,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:236,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:236,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/HostStatus.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:251,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:251,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:251,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/HostStatus.cc:254,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:266,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:266,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:266,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/HostStatus.cc:269,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:282,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:285,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:288,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/HostStatus.cc:292,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:292,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:292,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/HostStatus.cc:295,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:295,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 80
    argCount: 4
    argNames:
    - name
    - status
    - down_time
    - reason
    argTypes:
    - std::string_view
    - TSHostStatus
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 297
    functionName: HostStatus::setHostStatus
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 2
    functionsReached:
    - static_cast<HostStatRec *>
    - static_cast<void *>
    - find
    - std::string
    - emplace
    - end
    - Dbg
    - ink_rwlock_unlock
    - bzero
    - std::string_view::size
    - ats_malloc
    - time
    - Note
    - std::string_view::data
    - ink_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void HostStatus::setHostStatus(const std::string_view name, TSHostStatus
      status, const unsigned int down_time, const unsigned int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/proxy/HostStatus.cc:303,1
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:307,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:314,1
    - Dst: std::vector<HostStatuses>::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:315,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - std::vector<HostStatuses>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: HostStatus::getAllHostStatuses
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - std::vector<HostStatuses>::push_back
    - ink_rwlock_rdlock
    - empty
    - std::stringstream::str
    - ink_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void HostStatus::getAllHostStatuses(std::vector<HostStatuses> &hosts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/proxy/HostStatus.cc:326,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/HostStatus.cc:334,1
    - Dst: ink_rwlock_rdlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:339,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/HostStatus.cc:341,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/HostStatus.cc:341,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/HostStatus.cc:342,1
    - Dst: ink_rwlock_unlock
      Src: /src/trafficserver/src/proxy/HostStatus.cc:347,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:354,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:354,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:355,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/HostStatus.cc:356,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:362,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:362,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:363,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/HostStatus.cc:364,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:370,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:370,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:371,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/HostStatus.cc:372,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 380
    functionName: HostStatus::getHostStatus
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 2
    functionsReached:
    - ink_rwlock_rdlock
    - find
    - std::string
    - end
    - Dbg
    - std::string_view::data
    - std::string_view::size
    - HostStatus::setHostStatus
    - empty
    - time
    - ink_rwlock_unlock
    linkageType: ''
    returnType: HostStatRec
    signature: 'HostStatRec *

      HostStatus::getHostStatus(const std::string_view name)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:389,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/proxy/HostStatus.cc:402,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:402,1
    - Dst: HostCmdInfo::hosts::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:404,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:404,1
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:411,1
    - Dst: getReason
      Src: /src/trafficserver/src/proxy/HostStatus.cc:412,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:412,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:416,1
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - HostCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 425
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - auto::as
    - auto::size
    - std::stoi
    - auto::IsSequence
    - getReason
    - HostCmdInfo::hosts::push_back
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, HostCmdInfo &rhs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:389,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/proxy/HostStatus.cc:402,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:402,1
    - Dst: HostCmdInfo::hosts::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:404,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:404,1
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:411,1
    - Dst: getReason
      Src: /src/trafficserver/src/proxy/HostStatus.cc:412,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:412,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/proxy/HostStatus.cc:416,1
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - node
    - rhs
    argTypes:
    - Node
    - HostCmdInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 425
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - auto::as
    - auto::size
    - std::stoi
    - auto::IsSequence
    - getReason
    - HostCmdInfo::hosts::push_back
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, HostCmdInfo &rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/proxy/HostStatus.cc:438,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/src/proxy/HostStatus.cc:438,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/src/proxy/HostStatus.cc:439,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/src/proxy/HostStatus.cc:439,1
    - Dst: YAML::const_iterator::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:441,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/HostStatus.cc:443,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/HostStatus.cc:444,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:446,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:446,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:447,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:453,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:454,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:455,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:455,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:455,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/HostStatus.cc:460,1
    - Dst: HostStatus::getAllHostStatuses
      Src: /src/trafficserver/src/proxy/HostStatus.cc:461,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:466,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:470,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/HostStatus.cc:470,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:471,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/HostStatus.cc:471,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/HostStatus.cc:471,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/proxy/HostStatus.cc:474,1
    - Dst: swoc::Rv::result
      Src: /src/trafficserver/src/proxy/HostStatus.cc:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - params
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 478
    functionName: server_get_status
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - HostStatus::getAllHostStatuses
    - YAML::Node::IsNull
    - YAML::Node::size
    - HostStatus::getHostStatus
    - what
    - YAML::const_iterator::as
    - std::string
    - RegexContext::get_instance
    - push_back
    - Dbg
    - YAML::Node::begin
    - YAML::Node::end
    - YAML::Node::push_back
    - swoc::Rv::result
    - std::stringstream::str
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_get_status(std::string_view /* id ATS_UNUSED
      */, YAML::Node const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:484,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/HostStatus.cc:484,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/proxy/HostStatus.cc:489,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/proxy/HostStatus.cc:490,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/HostStatus.cc:493,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:495,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:495,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/HostStatus.cc:497,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:497,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/proxy/HostStatus.cc:500,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:504,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/proxy/HostStatus.cc:505,1
    - Dst: HostStatusSync::new_instance
      Src: /src/trafficserver/src/proxy/HostStatus.cc:505,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/HostStatus.cc:507,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/HostStatus.cc:507,1
    - Dst: swoc::Rv::errata
      Src: /src/trafficserver/src/proxy/HostStatus.cc:508,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/HostStatus.cc:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - id
    - params
    argTypes:
    - std::string_view
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 513
    functionName: server_set_status
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsNull
    - what
    - swoc::Rv::errata
    - RegexContext::get_instance
    - YAML::Node::as
    - Dbg
    - HostStatus::setHostStatus
    - c_str
    - HostStatusSync::new_instance
    - schedule_imm
    - std::string_view::data
    linkageType: ''
    returnType: swoc::Rv<YAML::Node>
    signature: swoc::Rv<YAML::Node> server_set_status(std::string_view id, YAML::Node
      const &params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/HostStatus.cc:523,1
    - Dst: HostStatus::getAllHostStatuses
      Src: /src/trafficserver/src/proxy/HostStatus.cc:524,1
    - Dst: YAML::Node::push_back
      Src: /src/trafficserver/src/proxy/HostStatus.cc:530,1
    - Dst: std::ofstream::open
      Src: /src/trafficserver/src/proxy/HostStatus.cc:535,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:535,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/src/proxy/HostStatus.cc:539,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/HostStatus.cc:541,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/HostStatus.cc:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 543
    functionName: HostStatusSync::sync_task
    functionSourceFile: /src/trafficserver/src/proxy/HostStatus.cc
    functionUses: 0
    functionsReached:
    - Warning
    - HostStatus::getAllHostStatuses
    - std::ofstream::open
    - RegexContext::get_instance
    - c_str
    - YAML::Node::push_back
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void HostStatusSync::sync_task()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: isPluginDynamicReloadEnabled
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPluginDynamicReloadEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: enablePluginDynamicReload
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enablePluginDynamicReload()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: disablePluginDynamicReload
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disablePluginDynamicReload()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/Plugin.cc:61,1
    - Dst: static_cast<PluginDynamicReloadMode>
      Src: /src/trafficserver/src/proxy/Plugin.cc:62,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:64,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:65,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:65,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/Plugin.cc:66,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/Plugin.cc:69,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: parsePluginDynamicReloadConfig
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - Note
    - RecGetRecordInt
    - static_cast<PluginDynamicReloadMode>
    linkageType: ''
    returnType: void
    signature: void parsePluginDynamicReloadConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsePluginDynamicReloadConfig
      Src: /src/trafficserver/src/proxy/Plugin.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: parsePluginConfig
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 1
    functionsReached:
    - parsePluginDynamicReloadConfig
    linkageType: ''
    returnType: void
    signature: void parsePluginConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: PluginRegInfo::PluginRegInfo
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginRegInfo::PluginRegInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/Plugin.cc:102,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/Plugin.cc:103,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/Plugin.cc:105,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/Plugin.cc:106,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/Plugin.cc:107,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/Plugin.cc:108,1
    - Dst: dlclose
      Src: /src/trafficserver/src/proxy/Plugin.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: PluginRegInfo::~PluginRegInfo()
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached:
    - dlclose
    - ats_free
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void PluginRegInfo::~PluginRegInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/trafficserver/src/proxy/Plugin.cc:117,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/Plugin.cc:120,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/Plugin.cc:120,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/Plugin.cc:121,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/Plugin.cc:121,1
    - Dst: dlsym
      Src: /src/trafficserver/src/proxy/Plugin.cc:125,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/Plugin.cc:127,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/Plugin.cc:127,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/Plugin.cc:128,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/Plugin.cc:128,1
    - Dst: dlclose
      Src: /src/trafficserver/src/proxy/Plugin.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - path
    - handle
    - init
    - error
    argTypes:
    - char*
    - void*
    - void*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: plugin_dso_load
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 2
    functionsReached:
    - dlsym
    - dlclose
    - Error
    - std::string::assign
    - dlopen
    - dlerror
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool plugin_dso_load(const char *path, void *&handle, void *&init,
      std::string &error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/proxy/Plugin.cc:146,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/Plugin.cc:148,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/Plugin.cc:152,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/Plugin.cc:153,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/Plugin.cc:162,1
    - Dst: plugin_dso_load
      Src: /src/trafficserver/src/proxy/Plugin.cc:167,1
    - Dst: reinterpret_cast<init_func_t>
      Src: /src/trafficserver/src/proxy/Plugin.cc:168,1
    - Dst: Fatal
      Src: /src/trafficserver/src/proxy/Plugin.cc:174,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/Plugin.cc:174,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/Plugin.cc:180,1
    - Dst: PluginRegInfo::PluginRegInfo
      Src: /src/trafficserver/src/proxy/Plugin.cc:181,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/Plugin.cc:182,1
    - Dst: init
      Src: /src/trafficserver/src/proxy/Plugin.cc:195,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/Plugin.cc:199,1
    - Dst: Fatal
      Src: /src/trafficserver/src/proxy/Plugin.cc:201,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/Plugin.cc:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - argc
    - argv
    - validateOnly
    argTypes:
    - int
    - char*[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 208
    functionName: single_plugin_init
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - Warning
    - ink_filepath_make
    - plugin_dso_load
    - PluginRegInfo::PluginRegInfo
    - std::string::c_str
    - ink_assert
    - Note
    - ats_strdup
    - push
    - Fatal
    - RecGetRecordInt
    - init
    - reinterpret_cast<init_func_t>
    linkageType: ''
    returnType: bool
    signature: bool single_plugin_init(int argc, char *argv[], bool validateOnly)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordDataType
      Src: /src/trafficserver/src/proxy/Plugin.cc:222,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/Plugin.cc:228,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/Plugin.cc:232,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/proxy/Plugin.cc:236,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/Plugin.cc:240,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/Plugin.cc:240,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/Plugin.cc:241,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/Plugin.cc:241,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/Plugin.cc:241,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/Plugin.cc:246,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/Plugin.cc:250,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/Plugin.cc:250,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/Plugin.cc:251,1
    - Dst: static_cast<long int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:251,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/Plugin.cc:251,1
    - Dst: RecGetRecordCounter
      Src: /src/trafficserver/src/proxy/Plugin.cc:256,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/Plugin.cc:260,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/Plugin.cc:260,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/Plugin.cc:261,1
    - Dst: static_cast<long int>
      Src: /src/trafficserver/src/proxy/Plugin.cc:261,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/Plugin.cc:261,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/Plugin.cc:271,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 273
    functionName: plugin_expand
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordDataType
    - Warning
    - auto::value
    - RecGetRecordStringAlloc
    - static_cast<char *>
    - static_cast<long int>
    - snprintf
    - RecGetRecordCounter
    - ats_malloc
    - RecGetRecordFloat
    - ats_stringdup
    - RecGetRecordInt
    - static_cast<float>
    linkageType: ''
    returnType: char
    signature: 'char *

      plugin_expand(char *arg)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/Plugin.cc:278,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/Plugin.cc:289,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/proxy/Plugin.cc:289,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/Plugin.cc:293,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/Plugin.cc:294,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/Plugin.cc:295,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/Plugin.cc:297,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/Plugin.cc:297,1
    - Dst: ink_file_fd_readline
      Src: /src/trafficserver/src/proxy/Plugin.cc:301,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/Plugin.cc:306,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/Plugin.cc:316,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/Plugin.cc:320,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/Plugin.cc:342,1
    - Dst: plugin_expand
      Src: /src/trafficserver/src/proxy/Plugin.cc:353,1
    - Dst: single_plugin_init
      Src: /src/trafficserver/src/proxy/Plugin.cc:364,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/Plugin.cc:367,1
    - Dst: close
      Src: /src/trafficserver/src/proxy/Plugin.cc:371,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/Plugin.cc:373,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/Plugin.cc:375,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 1
    argNames:
    - validateOnly
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 378
    functionName: plugin_init
    functionSourceFile: /src/trafficserver/src/proxy/Plugin.cc
    functionUses: 4
    functionsReached:
    - RecConfigReadPluginDir
    - ats_scoped_str::ats_scoped_str
    - RecConfigReadConfigPath
    - Warning
    - ats_free
    - close
    - Error
    - plugin_expand
    - ink_file_fd_readline
    - ParseRules::is_wslfcr
    - single_plugin_init
    - ats_stringdup
    - Note
    - strerror
    - open
    linkageType: ''
    returnType: bool
    signature: bool plugin_init(bool validateOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:59,1
    - Dst: IpAllow*::get_config_file
      Src: /src/trafficserver/src/proxy/IPAllow.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - obj
    argTypes:
    - BufferWriter
    - IpAllow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 8
    functionsReached:
    - IpAllow*::get_config_file
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const & /* spec ATS_UNUSED */, IpAllow const
      *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:59,1
    - Dst: IpAllow*::get_config_file
      Src: /src/trafficserver/src/proxy/IPAllow.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - obj
    argTypes:
    - BufferWriter
    - IpAllow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 8
    functionsReached:
    - IpAllow*::get_config_file
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const & /* spec ATS_UNUSED */, IpAllow const
      *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/IPAllow.cc:84,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/IPAllow.cc:85,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:85,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:85,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:85,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:86,1
    - Dst: auto::remove_suffix
      Src: /src/trafficserver/src/proxy/IPAllow.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: IpAllow::localize
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - memcpy
    - auto::data
    - auto::remove_suffix
    - alloc
    - swoc::TextView::size
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView IpAllow::localize(swoc::TextView src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/IPAllow.cc:94,1
    - Dst: ConfigUpdateHandler<IpAllow>::ConfigUpdateHandler<IpAllow>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:96,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/IPAllow.cc:97,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/IPAllow.cc:98,1
    - Dst: IpAllow::reconfigure
      Src: /src/trafficserver/src/proxy/IPAllow.cc:100,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/IPAllow.cc:102,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/IPAllow.cc:104,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/src/proxy/IPAllow.cc:105,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/IPAllow.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: IpAllow::startup
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - get
    - Warning
    - set
    - self_type::self_type
    - attach
    - ConfigUpdateHandler<IpAllow>::ConfigUpdateHandler<IpAllow>
    - IpAllow::reconfigure
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void IpAllow::startup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:115,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/src/proxy/IPAllow.cc:117,1
    - Dst: self_type*::BuildCategories
      Src: /src/trafficserver/src/proxy/IPAllow.cc:119,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/IPAllow.cc:121,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/IPAllow.cc:122,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:122,1
    - Dst: self_type*::BuildTable
      Src: /src/trafficserver/src/proxy/IPAllow.cc:126,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:126,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/IPAllow.cc:128,1
    - Dst: auto::severity
      Src: /src/trafficserver/src/proxy/IPAllow.cc:129,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/IPAllow.cc:130,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:130,1
    - Dst: Fatal
      Src: /src/trafficserver/src/proxy/IPAllow.cc:132,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:132,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/IPAllow.cc:137,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: IpAllow::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - self_type*::BuildTable
    - auto::severity
    - self_type::self_type
    - Error
    - Note
    - auto::is_ok
    - self_type*::BuildCategories
    - set
    - Fatal
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void IpAllow::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<IpAllow *>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:144,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/IPAllow.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: IpAllow::acquire
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<IpAllow *>
    linkageType: ''
    returnType: IpAllow
    signature: 'IpAllow *

      IpAllow::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::release
      Src: /src/trafficserver/src/proxy/IPAllow.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - IpAllow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: IpAllow::release
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - IpAllow::release
    linkageType: ''
    returnType: void
    signature: void IpAllow::release(IpAllow *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::release
      Src: /src/trafficserver/src/proxy/IPAllow.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: IpAllow::release
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 2
    functionsReached:
    - IpAllow::release
    linkageType: ''
    returnType: void
    signature: void IpAllow::release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::acquire
      Src: /src/trafficserver/src/proxy/IPAllow.cc:162,1
    - Dst: self_type*::ip_category_map::find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:163,1
    - Dst: self_type*::ip_category_map::end
      Src: /src/trafficserver/src/proxy/IPAllow.cc:164,1
    - Dst: auto::find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:168,1
    - Dst: auto::end
      Src: /src/trafficserver/src/proxy/IPAllow.cc:168,1
    - Dst: self_type*::release
      Src: /src/trafficserver/src/proxy/IPAllow.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - category
    - addr
    argTypes:
    - std::string
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: IpAllow::ip_category_contains_addr
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - self_type*::ip_category_map::find
    - auto::find
    - self_type*::release
    - IpAllow::acquire
    - self_type*::ip_category_map::end
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ip_category_contains_addr(std::string const &category,
      swoc::IPAddr const &addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::acquire
      Src: /src/trafficserver/src/proxy/IPAllow.cc:176,1
    - Dst: self_type*::_src_map::find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:179,1
    - Dst: self_type*::_src_map::end
      Src: /src/trafficserver/src/proxy/IPAllow.cc:179,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:180,1
    - Dst: auto::_nonstandard_methods::empty
      Src: /src/trafficserver/src/proxy/IPAllow.cc:184,1
    - Dst: self_type*::_dst_map::find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:188,1
    - Dst: self_type*::_dst_map::end
      Src: /src/trafficserver/src/proxy/IPAllow.cc:188,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:189,1
    - Dst: self_type*::release
      Src: /src/trafficserver/src/proxy/IPAllow.cc:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - addr
    - key
    argTypes:
    - swoc::IPAddr
    - match_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: IpAllow::match
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - self_type*::_dst_map::find
    - auto::_nonstandard_methods::empty
    - self_type*::_src_map::end
    - self_type*::release
    - std::get<1>
    - IpAllow::acquire
    - self_type*::_src_map::find
    - self_type*::_dst_map::end
    linkageType: ''
    returnType: IpAllow::ACL
    signature: IpAllow::ACL IpAllow::match(swoc::IPAddr const &addr, match_key_t key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:205,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/IPAllow.cc:205,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/IPAllow.cc:208,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/IPAllow.cc:214,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/IPAllow.cc:215,1
    - Dst: ats_scoped_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:216,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/IPAllow.cc:219,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/IPAllow.cc:220,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:223,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:224,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/IPAllow.cc:225,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/IPAllow.cc:227,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/IPAllow.cc:236,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:236,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/IPAllow.cc:236,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ip_allow_config_var
    - ip_categories_config_var
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 243
    functionName: IpAllow::IpAllow
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - RecConfigReadConfigPath
    - auto::value
    - std::string_view::substr
    - RecGetRecordStringAlloc
    - std::string::empty
    - Error
    - std::string_view::length
    - ats_scoped_str
    - Dbg
    - std::string_view::size
    - std::string_view::find
    - RecGetRecordInt
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void IpAllow::IpAllow(const char *ip_allow_config_var, const char *ip_categories_config_var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:248,1
    - Dst: IpAllow::IpMap::count
      Src: /src/trafficserver/src/proxy/IPAllow.cc:248,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:250,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:251,1
    - Dst: std::get<0>
      Src: /src/trafficserver/src/proxy/IPAllow.cc:251,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/proxy/IPAllow.cc:254,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/src/proxy/IPAllow.cc:256,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:262,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/src/proxy/IPAllow.cc:262,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/IPAllow.cc:262,1
    - Dst: auto*::_nonstandard_methods::empty
      Src: /src/trafficserver/src/proxy/IPAllow.cc:268,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:269,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:272,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/src/proxy/IPAllow.cc:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - w
    - map
    argTypes:
    - BufferWriter
    - IpAllow::IpMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 15
    functionsReached:
    - IpAllow::IpMap::count
    - swoc::SWOC_VERSION_NS::bwf::If
    - BufferWriter::print
    - std::get<0>
    - hdrtoken_index_to_wks
    - auto*::_nonstandard_methods::empty
    - std::get<1>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const & /* spec ATS_UNUSED */, IpAllow::IpMap
      const &map)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/src/proxy/IPAllow.cc:284,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/IPAllow.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/IPAllow.cc:286,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - IpMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: IpAllow::DebugMap
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::resize
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void IpAllow::DebugMap(const IpMap &map) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/IPAllow.cc:292,1
    - Dst: IpAllow::DebugMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:293,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/IPAllow.cc:294,1
    - Dst: IpAllow::DebugMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: IpAllow::Print
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - IpAllow::DebugMap
    linkageType: ''
    returnType: void
    signature: void IpAllow::Print() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/IPAllow.cc:302,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/IPAllow.cc:302,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/IPAllow.cc:302,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:305,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/IPAllow.cc:307,1
    - Dst: IpAllow::YAMLBuildTable
      Src: /src/trafficserver/src/proxy/IPAllow.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:311,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/IPAllow.cc:311,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:313,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:314,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/IPAllow.cc:318,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/IPAllow.cc:318,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:319,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/IPAllow.cc:322,1
    - Dst: IpAllow::Print
      Src: /src/trafficserver/src/proxy/IPAllow.cc:323,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 329
    functionName: IpAllow::BuildTable
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - what
    - ink_assert
    - swoc::Errata::is_ok
    - IpAllow::YAMLBuildTable
    - std::error_code::value
    - swoc::Errata::note
    - IpAllow::Print
    - count
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::BuildTable()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:334,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/IPAllow.cc:338,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/IPAllow.cc:341,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:341,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:341,1
    - Dst: ACL::MethodIdxToMask
      Src: /src/trafficserver/src/proxy/IPAllow.cc:343,1
    - Dst: swoc::Vectray::push_back
      Src: /src/trafficserver/src/proxy/IPAllow.cc:345,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/IPAllow.cc:346,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:346,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:346,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:346,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:351,1
    - Dst: parse_method
      Src: /src/trafficserver/src/proxy/IPAllow.cc:352,1
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/src/proxy/IPAllow.cc:352,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:352,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:353,1
    - Dst: IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:355,1
    - Dst: parse_method
      Src: /src/trafficserver/src/proxy/IPAllow.cc:356,1
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/src/proxy/IPAllow.cc:356,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:356,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:361,1
    - Dst: Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:361,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:366,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:367,1
    - Dst: swoc::Vectray::empty
      Src: /src/trafficserver/src/proxy/IPAllow.cc:371,1
    - Dst: alloc_span
      Src: /src/trafficserver/src/proxy/IPAllow.cc:372,1
    - Dst: swoc::Vectray::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:372,1
    - Dst: swoc::Vectray::size
      Src: /src/trafficserver/src/proxy/IPAllow.cc:373,1
    - Dst: IpAllow::localize
      Src: /src/trafficserver/src/proxy/IPAllow.cc:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - rec
    argTypes:
    - YAML::Node
    - Record
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 378
    functionName: IpAllow::YAMLLoadMethod
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Scalar
    - swoc::Vectray::size
    - YAML::Node::IsScalar
    - ts::swoc::TextView
    - YAML::Node::Mark
    - ACL::MethodIdxToMask
    - Scalar
    - strcasecmp
    - swoc::TextView::size
    - alloc_span
    - Mark
    - swoc::Vectray::push_back
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - parse_method
    - Dbg
    - swoc::TextView::data
    - IsScalar
    - IpAllow::localize
    - YAML::Node::IsSequence
    - swoc::Vectray::empty
    - hdrtoken_tokenize
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadMethod(const YAML::Node &node, Record
      &rec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:383,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:384,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:384,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:387,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:388,1
    - Dst: IpMap*::fill
      Src: /src/trafficserver/src/proxy/IPAllow.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:391,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:391,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - node
    - map
    - record
    argTypes:
    - YAML::Node
    - IpMap*
    - IpAllow::Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: IpAllow::YAMLLoadIPAddrRange
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - YAML::Node::Mark
    - IpMap*::fill
    - YAML::Node::Scalar
    - swoc::IPRange::load
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadIPAddrRange(const YAML::Node &node, IpMap
      *map, IpAllow::Record const *record)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:399,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:400,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:400,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/IPAllow.cc:403,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/IPAllow.cc:403,1
    - Dst: IpMap*::fill
      Src: /src/trafficserver/src/proxy/IPAllow.cc:405,1
    - Dst: range_view
      Src: /src/trafficserver/src/proxy/IPAllow.cc:405,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:408,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - node
    - map
    - record
    argTypes:
    - YAML::Node
    - IpMap*
    - IpAllow::Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: IpAllow::YAMLLoadIPCategory
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - YAML::Node::Mark
    - IpMap*::fill
    - find
    - range_view
    - end
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadIPCategory(const YAML::Node &node, IpMap
      *map, IpAllow::Record const *record)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/IPAllow.cc:417,1
    - Dst: make
      Src: /src/trafficserver/src/proxy/IPAllow.cc:418,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:421,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:422,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:422,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:426,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:427,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/IPAllow.cc:428,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/IPAllow.cc:430,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:433,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:433,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:437,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:437,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:441,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:441,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:445,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:446,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:449,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:451,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:458,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:458,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:462,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:462,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:466,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:466,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:470,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:470,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:475,1
    - Dst: IpAllow::YAMLLoadIPAddrRange
      Src: /src/trafficserver/src/proxy/IPAllow.cc:477,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:477,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:480,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:480,1
    - Dst: IpAllow::YAMLLoadIPAddrRange
      Src: /src/trafficserver/src/proxy/IPAllow.cc:485,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:485,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:488,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:488,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:493,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:493,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:497,1
    - Dst: IpAllow::YAMLLoadIPCategory
      Src: /src/trafficserver/src/proxy/IPAllow.cc:499,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:499,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:502,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:502,1
    - Dst: IpAllow::YAMLLoadIPCategory
      Src: /src/trafficserver/src/proxy/IPAllow.cc:507,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:507,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:510,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:510,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:515,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:515,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:518,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:518,1
    - Dst: IpAllow::YAMLLoadMethod
      Src: /src/trafficserver/src/proxy/IPAllow.cc:524,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:524,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:536,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 1
    argNames:
    - entry
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 538
    functionName: IpAllow::YAMLLoadEntry
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - make
    - YAML::Node::Node
    - auto::note
    - YAML::Node::Mark
    - IpAllow::YAMLLoadIPCategory
    - YAML::Node::Scalar
    - IpAllow::YAMLLoadIPAddrRange
    - YAML::Node::IsSequence
    - auto::is_ok
    - IpAllow::YAMLLoadMethod
    - strcasecmp
    - YAML::Node::IsMap
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadEntry(const YAML::Node &entry)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:543,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:544,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:545,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:551,1
    - Dst: IpAllow::YAMLLoadCategoryRoot
      Src: /src/trafficserver/src/proxy/IPAllow.cc:552,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:552,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:557,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:559,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:560,1
    - Dst: IpAllow::YAMLLoadEntry
      Src: /src/trafficserver/src/proxy/IPAllow.cc:562,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:562,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:566,1
    - Dst: IpAllow::YAMLLoadEntry
      Src: /src/trafficserver/src/proxy/IPAllow.cc:567,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 572
    functionName: IpAllow::YAMLBuildTable
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - IpAllow::YAMLLoadEntry
    - IpAllow::YAMLLoadCategoryRoot
    - auto::is_ok
    - YAML::Node::IsSequence
    - YAML::Node::IsMap
    - YAML::Load
    - data
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLBuildTable(std::string const &content)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/proxy/IPAllow.cc:578,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:582,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:582,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:583,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/IPAllow.cc:585,1
    - Dst: IpAllow::YAMLBuildCategories
      Src: /src/trafficserver/src/proxy/IPAllow.cc:587,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:589,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/IPAllow.cc:590,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:592,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:593,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:597,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:599,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/IPAllow.cc:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 601
    functionName: IpAllow::BuildCategories
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 0
    functionsReached:
    - what
    - IpAllow::YAMLBuildCategories
    - swoc::Errata::is_ok
    - c_str
    - std::error_code::value
    - swoc::Errata::note
    - empty
    - Note
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::BuildCategories()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:606,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/IPAllow.cc:607,1
    - Dst: IpAllow::YAMLLoadCategoryRoot
      Src: /src/trafficserver/src/proxy/IPAllow.cc:608,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: IpAllow::YAMLBuildCategories
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - YAML::Load
    - data
    - auto::is_ok
    - IpAllow::YAMLLoadCategoryRoot
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLBuildCategories(std::string const &content)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:618,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:619,1
    - Dst: IsMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:623,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:624,1
    - Dst: IpAllow::YAMLLoadCategoryDefinition
      Src: /src/trafficserver/src/proxy/IPAllow.cc:627,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - categories
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 633
    functionName: IpAllow::YAMLLoadCategoryRoot
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 2
    functionsReached:
    - IpAllow::YAMLLoadCategoryDefinition
    - IsMap
    - auto::is_ok
    - YAML::Node::IsSequence
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadCategoryRoot(const YAML::Node &categories)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/proxy/IPAllow.cc:646,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:647,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:647,1
    - Dst: auto::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:651,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:652,1
    - Dst: auto::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:652,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/proxy/IPAllow.cc:656,1
    - Dst: IpAllow::YAMLLoadCategoryIpRange
      Src: /src/trafficserver/src/proxy/IPAllow.cc:658,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:658,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:659,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:659,1
    - Dst: IpAllow::YAMLLoadCategoryIpRange
      Src: /src/trafficserver/src/proxy/IPAllow.cc:664,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/src/proxy/IPAllow.cc:664,1
    - Dst: auto::note
      Src: /src/trafficserver/src/proxy/IPAllow.cc:665,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:665,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:670,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:670,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:673,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - entry
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 676
    functionName: IpAllow::YAMLLoadCategoryDefinition
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - auto::IsScalar
    - auto::note
    - YAML::Node::Mark
    - auto::Mark
    - IpAllow::YAMLLoadCategoryIpRange
    - auto::is_ok
    - auto::IsSequence
    - YAML::Node::IsMap
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadCategoryDefinition(const YAML::Node &entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:681,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:682,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:682,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:685,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/proxy/IPAllow.cc:686,1
    - Dst: swoc::IPSpace<bool>::fill
      Src: /src/trafficserver/src/proxy/IPAllow.cc:687,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/src/proxy/IPAllow.cc:689,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/IPAllow.cc:689,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/IPAllow.cc:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - space
    argTypes:
    - YAML::Node
    - swoc::IPSpace<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: IpAllow::YAMLLoadCategoryIpRange
    functionSourceFile: /src/trafficserver/src/proxy/IPAllow.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::IsScalar
    - YAML::Node::Mark
    - YAML::Node::Scalar
    - swoc::IPSpace<bool>::fill
    - swoc::IPRange::load
    - swoc::SWOC_VERSION_NS::Errata::Errata
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata IpAllow::YAMLLoadCategoryIpRange(const YAML::Node &node,
      swoc::IPSpace<bool> &space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginHttpConnectIsInitialized
      Src: /src/trafficserver/src/proxy/FetchSM.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: FetchSM::is_initialized
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 1
    functionsReached:
    - PluginHttpConnectIsInitialized
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::is_initialized()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:52,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/proxy/FetchSM.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:55,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/FetchSM.cc:60,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/FetchSM.cc:64,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/FetchSM.cc:66,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/FetchSM.cc:67,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/FetchSM.cc:68,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/FetchSM.cc:69,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/FetchSM.cc:70,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/FetchSM.cc:71,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/FetchSM.cc:72,1
    - Dst: free
      Src: /src/trafficserver/src/proxy/FetchSM.cc:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: FetchSM::cleanUp
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ink_atomic_cas
    - http_parser_clear
    - free
    - do_io_close
    - free_MIOBuffer
    - destroy
    - Dbg
    - clear
    linkageType: ''
    returnType: void
    signature: void FetchSM::cleanUp()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PluginIdentity *>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:79,1
    - Dst: PluginIdentity*::getPluginTag
      Src: /src/trafficserver/src/proxy/FetchSM.cc:80,1
    - Dst: PluginIdentity*::getPluginId
      Src: /src/trafficserver/src/proxy/FetchSM.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:83,1
    - Dst: PluginHttpConnectInternal
      Src: /src/trafficserver/src/proxy/FetchSM.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:92,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:95,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:97,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:99,1
    - Dst: reinterpret_cast<PluginVC *>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:109,1
    - Dst: PluginVC*::set_is_internal_request
      Src: /src/trafficserver/src/proxy/FetchSM.cc:111,1
    - Dst: reinterpret_cast<PluginVC *>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:116,1
    - Dst: PluginVC*::set_is_unmanaged_request
      Src: /src/trafficserver/src/proxy/FetchSM.cc:117,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/FetchSM.cc:120,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:121,1
    - Dst: FetchSM::getReqLen
      Src: /src/trafficserver/src/proxy/FetchSM.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 122
    functionName: FetchSM::httpConnect
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - PluginIdentity*::getPluginId
    - do_io_read
    - FetchSM::InvokePluginExt
    - FetchSM::getReqLen
    - FetchSM::InvokePlugin
    - reinterpret_cast<PluginVC *>
    - do_io_write
    - PluginVC*::set_is_unmanaged_request
    - PluginIdentity*::getPluginTag
    - PluginVC*::set_is_internal_request
    - Dbg
    - PluginHttpConnectInternal
    - FetchSM::cleanUp
    - dynamic_cast<PluginIdentity *>
    linkageType: ''
    returnType: void
    signature: void FetchSM::httpConnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: FetchSM::resp_get
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      FetchSM::resp_get(int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:134,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:135,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:137,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: FetchSM::InvokePlugin
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 1
    functionsReached:
    - handleEvent
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int FetchSM::InvokePlugin(int event, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:163,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:163,1
    - Dst: FetchSM::check_chunked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:167,1
    - Dst: HTTPHdr*::value_get_int64
      Src: /src/trafficserver/src/proxy/FetchSM.cc:171,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:171,1
    - Dst: FetchSM::check_connection_close
      Src: /src/trafficserver/src/proxy/FetchSM.cc:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 181
    functionName: FetchSM::has_body
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::value_get_int64
    - static_cast<std::string_view>
    - FetchSM::check_connection_close
    - FetchSM::check_chunked
    - HTTPHdr*::status_get
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::has_body()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FetchSM::check_chunked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:186,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: FetchSM::check_body_done
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - FetchSM::check_chunked
    - read_avail
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::check_body_done()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/proxy/FetchSM.cc:204,1
    - Dst: HTTPHdr*::value_get_comma_list
      Src: /src/trafficserver/src/proxy/FetchSM.cc:206,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/FetchSM.cc:208,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: FetchSM::check_for_field_value
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::value_get_comma_list
    - ink_release_assert
    - strncasecmp
    - Dbg
    - StrList::StrList
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::check_for_field_value(const char *name, size_t name_len,
      char const *value, size_t value_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:230,1
    - Dst: FetchSM::check_for_field_value
      Src: /src/trafficserver/src/proxy/FetchSM.cc:230,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/FetchSM.cc:231,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:231,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/FetchSM.cc:231,1
    - Dst: ChunkedHandler*::init_by_action
      Src: /src/trafficserver/src/proxy/FetchSM.cc:235,1
    - Dst: ChunkedHandler*::dechunked_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/FetchSM.cc:237,1
    - Dst: dealloc
      Src: /src/trafficserver/src/proxy/FetchSM.cc:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: FetchSM::check_chunked
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - FetchSM::check_for_field_value
    - ChunkedHandler*::init_by_action
    - length
    - ChunkedHandler*::dechunked_buffer::alloc_reader
    - dealloc
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::check_chunked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:252,1
    - Dst: FetchSM::check_for_field_value
      Src: /src/trafficserver/src/proxy/FetchSM.cc:252,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/FetchSM.cc:253,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:253,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/FetchSM.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: FetchSM::check_connection_close
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - FetchSM::check_for_field_value
    - c_str
    - length
    linkageType: ''
    returnType: bool
    signature: bool FetchSM::check_connection_close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/FetchSM.cc:261,1
    - Dst: process_chunked_content
      Src: /src/trafficserver/src/proxy/FetchSM.cc:268,1
    - Dst: dechunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: FetchSM::dechunk_body
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - process_chunked_content
    - dechunked_reader::read_avail
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int FetchSM::dechunk_body()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:283,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:293,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:301,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:307,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:310,1
    - Dst: FetchSM::has_body
      Src: /src/trafficserver/src/proxy/FetchSM.cc:326,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:327,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:331,1
    - Dst: chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:333,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:333,1
    - Dst: chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:336,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:338,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:342,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:344,1
    - Dst: FetchSM::check_chunked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:349,1
    - Dst: FetchSM::check_body_done
      Src: /src/trafficserver/src/proxy/FetchSM.cc:350,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:351,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:353,1
    - Dst: FetchSM::dechunk_body
      Src: /src/trafficserver/src/proxy/FetchSM.cc:361,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/FetchSM.cc:363,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:367,1
    - Dst: FetchSM::check_body_done
      Src: /src/trafficserver/src/proxy/FetchSM.cc:375,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:376,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/FetchSM.cc:378,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:383,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:388,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 1
    argNames:
    - fetch_event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 392
    functionName: FetchSM::InvokePluginExt
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 1
    functionsReached:
    - MUTEX_TAKE_LOCK
    - handleEvent
    - FetchSM::has_body
    - MUTEX_UNTAKE_LOCK
    - FetchSM::check_body_done
    - chunked_reader::read_avail
    - FetchSM::check_chunked
    - reenable
    - read_avail
    - Dbg
    - FetchSM::dechunk_body
    - FetchSM::cleanUp
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void FetchSM::InvokePluginExt(int fetch_event)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::skip_empty_blocks
      Src: /src/trafficserver/src/proxy/FetchSM.cc:408,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:410,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:411,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/FetchSM.cc:417,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:420,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/FetchSM.cc:423,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:424,1
    - Dst: parse_resp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:429,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/FetchSM.cc:431,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/FetchSM.cc:436,1
    - Dst: FetchSM::check_chunked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:444,1
    - Dst: IOBufferReader*::skip_empty_blocks
      Src: /src/trafficserver/src/proxy/FetchSM.cc:448,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:451,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/FetchSM.cc:454,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:455,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/FetchSM.cc:458,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/FetchSM.cc:459,1
    - Dst: FetchSM::dechunk_body
      Src: /src/trafficserver/src/proxy/FetchSM.cc:475,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:480,1
    - Dst: IOBufferReader*::skip_empty_blocks
      Src: /src/trafficserver/src/proxy/FetchSM.cc:483,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:486,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/FetchSM.cc:489,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:490,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/FetchSM.cc:493,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/FetchSM.cc:494,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 504
    functionName: FetchSM::get_info_from_buffer
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - IOBufferReader*::block::get
    - FetchSM::check_chunked
    - IOBufferBlock*::start
    - parse_resp
    - IOBufferBlock*::read_avail
    - Error
    - IOBufferReader*::consume
    - Dbg
    - IOBufferReader*::read_avail
    - FetchSM::dechunk_body
    - ats_malloc
    - IOBufferReader*::skip_empty_blocks
    linkageType: ''
    returnType: void
    signature: void FetchSM::get_info_from_buffer(IOBufferReader *reader)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:509,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:518,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:519,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:523,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:524,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:530,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/FetchSM.cc:531,1
    - Dst: parse_resp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:535,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:538,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:540,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:545,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/FetchSM.cc:548,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:553,1
    - Dst: FetchSM::get_info_from_buffer
      Src: /src/trafficserver/src/proxy/FetchSM.cc:556,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:559,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:560,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:565,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:567,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:568,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 571
    functionName: FetchSM::process_fetch_read
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - write
    - FetchSM::InvokePluginExt
    - FetchSM::InvokePlugin
    - reenable
    - parse_resp
    - read_avail
    - consume
    - Dbg
    - FetchSM::cleanUp
    - FetchSM::get_info_from_buffer
    linkageType: ''
    returnType: void
    signature: void FetchSM::process_fetch_read(int event)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:576,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:585,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/FetchSM.cc:586,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:591,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:593,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 599
    functionName: FetchSM::process_fetch_write
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - FetchSM::InvokePluginExt
    - reenable
    - FetchSM::InvokePlugin
    - read_avail
    - Dbg
    - FetchSM::cleanUp
    linkageType: ''
    returnType: void
    signature: void FetchSM::process_fetch_write(int event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:604,1
    - Dst: FetchSM::process_fetch_read
      Src: /src/trafficserver/src/proxy/FetchSM.cc:607,1
    - Dst: FetchSM::process_fetch_write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:609,1
    - Dst: FetchSM::InvokePluginExt
      Src: /src/trafficserver/src/proxy/FetchSM.cc:612,1
    - Dst: FetchSM::InvokePlugin
      Src: /src/trafficserver/src/proxy/FetchSM.cc:615,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 619
    functionName: FetchSM::fetch_handler
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - FetchSM::InvokePluginExt
    - FetchSM::InvokePlugin
    - Dbg
    - FetchSM::cleanUp
    - FetchSM::process_fetch_write
    - FetchSM::process_fetch_read
    linkageType: ''
    returnType: int
    signature: int FetchSM::fetch_handler(int event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FetchSM::init_comm
      Src: /src/trafficserver/src/proxy/FetchSM.cc:625,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/FetchSM.cc:628,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/FetchSM.cc:635,1
    - Dst: FetchSM::set_internal_request
      Src: /src/trafficserver/src/proxy/FetchSM.cc:642,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/FetchSM.cc:649,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/FetchSM.cc:650,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/FetchSM.cc:652,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:653,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:654,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:655,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/FetchSM.cc:655,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:656,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:657,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/FetchSM.cc:657,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:658,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:660,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/FetchSM.cc:660,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:661,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/FetchSM.cc:661,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:661,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/FetchSM.cc:661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - cont
    - method
    - url
    - version
    - client_addr
    - flags
    argTypes:
    - Continuation*
    - char*
    - char*
    - char*
    - sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 664
    functionName: FetchSM::ext_init
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - memset
    - write
    - static_cast<int>
    - memcmp
    - FetchSM::set_internal_request
    - length
    - new_ProxyMutex
    - assign
    - c_str
    - strlen
    - FetchSM::init_comm
    linkageType: ''
    returnType: void
    signature: "void FetchSM::ext_init(Continuation *cont, const char *method, const
      char *url, const char *version, const sockaddr *client_addr,\n                  int
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:669,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/FetchSM.cc:669,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:670,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/FetchSM.cc:670,1
    - Dst: atoll
      Src: /src/trafficserver/src/proxy/FetchSM.cc:671,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:674,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:675,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:676,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: FetchSM::ext_add_header
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - write
    - strncasecmp
    - length
    - c_str
    - atoll
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_add_header(const char *name, int name_len, const
      char *value, int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:683,1
    - Dst: FetchSM::httpConnect
      Src: /src/trafficserver/src/proxy/FetchSM.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 4
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: FetchSM::ext_launch
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - write
    - FetchSM::httpConnect
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_launch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:694,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:694,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/FetchSM.cc:696,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/FetchSM.cc:698,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/FetchSM.cc:699,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:702,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 704
    functionName: FetchSM::ext_write_data
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - MUTEX_TAKE_LOCK
    - write
    - MUTEX_UNTAKE_LOCK
    - reenable
    - Dbg
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_write_data(const void *data, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:715,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:715,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:716,1
    - Dst: FetchSM::check_chunked
      Src: /src/trafficserver/src/proxy/FetchSM.cc:725,1
    - Dst: IOBufferReader*::skip_empty_blocks
      Src: /src/trafficserver/src/proxy/FetchSM.cc:733,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/proxy/FetchSM.cc:735,1
    - Dst: IOBufferBlock*::next::get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:738,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/FetchSM.cc:739,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/proxy/FetchSM.cc:740,1
    - Dst: IOBufferReader*::block::get
      Src: /src/trafficserver/src/proxy/FetchSM.cc:741,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/FetchSM.cc:750,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/FetchSM.cc:753,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/FetchSM.cc:761,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/FetchSM.cc:763,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 765
    functionName: FetchSM::ext_read_data
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 4
    functionsReached:
    - memcpy
    - is_locked
    - IOBufferReader*::get_current_block
    - IOBufferReader*::block::get
    - FetchSM::check_chunked
    - IOBufferBlock*::start
    - reenable
    - MUTEX_TRY_LOCK
    - IOBufferBlock*::read_avail
    - IOBufferReader*::consume
    - IOBufferBlock*::next::get
    - this_ethread
    - IOBufferReader*::skip_empty_blocks
    - static_cast<int64_t>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FetchSM::ext_read_data(char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/FetchSM.cc:770,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/FetchSM.cc:770,1
    - Dst: FetchSM::cleanUp
      Src: /src/trafficserver/src/proxy/FetchSM.cc:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 779
    functionName: FetchSM::ext_destroy
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - FetchSM::cleanUp
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: FetchSM::ext_set_user_data
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM::ext_set_user_data(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: FetchSM::ext_get_user_data
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      FetchSM::ext_get_user_data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: FetchSM::resp_hdr_bufp
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer FetchSM::resp_hdr_bufp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: FetchSM::resp_hdr_mloc
    functionSourceFile: /src/trafficserver/src/proxy/FetchSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc FetchSM::resp_hdr_mloc()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::rec::selection_strategy::getParents
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:36,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:41,1
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:47,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:51,1
    - Dst: numParents
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:51,1
    - Dst: pRecord*::failedAt::load
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:62,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:65,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:76,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:80,1
    - Dst: pRecord*::failedAt::load
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:84,1
    - Dst: pRecord*::failCount::fetch_add
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:92,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:96,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:100,1
    - Dst: pRecord*::available::load
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - result
    - fail_threshold
    - retry_time
    argTypes:
    - ParentResult*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 103
    functionName: ParentSelectionStrategy::markParentDown
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - pRecord*::available::load
    - pRecord*::failCount::fetch_add
    - pRecord*::failedAt::load
    - Dbg
    - numParents
    - ParentResult*::is_api_result
    - ParentResult*::rec::selection_strategy::getParents
    - time
    - Note
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentSelectionStrategy::markParentDown(ParentResult *result,
      unsigned int fail_threshold, unsigned int retry_time)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::rec::selection_strategy::getParents
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:108,1
    - Dst: ParentResult*::rec::selection_strategy::numParents
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:109,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:113,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:114,1
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:120,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:121,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:125,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:129,1
    - Dst: pRecord*::failCount::exchange
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:130,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: ParentSelectionStrategy::markParentUp
    functionSourceFile: /src/trafficserver/src/proxy/ParentSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - static_cast<time_t>
    - ink_release_assert
    - Note
    - ParentResult*::rec::selection_strategy::numParents
    - ParentResult*::is_api_result
    - ParentResult*::rec::selection_strategy::getParents
    - pRecord*::failCount::exchange
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ParentSelectionStrategy::markParentUp(ParentResult *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:41,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:49,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: proto_is_http2
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ink_assert
    - IOBufferReader*::memcpy
    linkageType: ''
    returnType: bool
    signature: bool proto_is_http2(IOBufferReader *reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:41,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:49,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: proto_is_http2
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ink_assert
    - IOBufferReader*::memcpy
    linkageType: ''
    returnType: bool
    signature: bool proto_is_http2(IOBufferReader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:67,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:68,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - probe
    - mutex
    - buffer
    - reader
    argTypes:
    - ProtocolProbeSessionAccept*
    - Ptr<ProxyMutex>
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: ProtocolProbeTrampoline
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_MIOBuffer
    - alloc_reader
    linkageType: ''
    returnType: void
    signature: "void ProtocolProbeTrampoline(const ProtocolProbeSessionAccept *probe,
      Ptr<ProxyMutex> &mutex, MIOBuffer *buffer,\n                                   IOBufferReader
      *reader)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:80,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:81,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:97,1
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:99,1
    - Dst: NetVConnection*::get_is_proxy_protocol
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:112,1
    - Dst: NetVConnection*::get_proxy_protocol_version
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:113,1
    - Dst: swoc::IPRangeSet*::count
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:114,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:115,1
    - Dst: swoc::IPRangeSet*::contains
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:116,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:116,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:116,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:122,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:123,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:126,1
    - Dst: NetVConnection*::has_proxy_protocol
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:132,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:134,1
    - Dst: proto_is_http2
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:138,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:139,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:143,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:150,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:152,1
    - Dst: NetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:157,1
    - Dst: SessionAccept*::accept
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:160,1
    - Dst: NetVConnection*::do_io_close
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:168,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 173
    functionName: ioCompletionEvent
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - swoc::IPRangeSet*::count
    - SessionAccept*::accept
    - NetVConnection*::has_proxy_protocol
    - free_MIOBuffer
    - is_read_avail_more_than
    - ats_ip_ntop
    - NetVConnection*::get_service
    - swoc::IPRangeSet*::contains
    - static_cast<int>
    - Warning
    - proto_is_http2
    - Dbg
    - NetVConnection*::do_io_close
    - NetVConnection*::get_is_proxy_protocol
    - NetVConnection*::get_remote_addr
    - static_cast<VIO *>
    - ink_assert
    - NetVConnection*::do_io_read
    - static_cast<NetVConnection *>
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - NetVConnection*::get_proxy_protocol_version
    linkageType: ''
    returnType: int
    signature: int ioCompletionEvent(int event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:183,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:186,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:188,1
    - Dst: UnixNetVConnection*::read::vio::get_writer
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:189,1
    - Dst: UnixNetVConnection*::read::vio::get_writer
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:190,1
    - Dst: UnixNetVConnection*::read::vio::get_reader
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:190,1
    - Dst: ProtocolProbeTrampoline::ProtocolProbeTrampoline
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:190,1
    - Dst: ProtocolProbeTrampoline::ProtocolProbeTrampoline
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:192,1
    - Dst: HttpConfig::acquire
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:197,1
    - Dst: NetVConnection*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:198,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:198,1
    - Dst: HttpConfig::release
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:199,1
    - Dst: ProtocolProbeTrampoline*::reader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:202,1
    - Dst: NetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:203,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:203,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:204,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:206,1
    - Dst: NetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:207,1
    - Dst: ProtocolProbeTrampoline*::ioCompletionEvent
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:208,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 215
    functionName: ProtocolProbeSessionAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::do_io_read
    - dynamic_cast<UnixNetVConnection *>
    - ProtocolProbeTrampoline::ProtocolProbeTrampoline
    - ProtocolProbeTrampoline*::ioCompletionEvent
    - static_cast<int>
    - ink_abort
    - static_cast<NetVConnection *>
    - HRTIME_SECONDS
    - UnixNetVConnection*::read::vio::get_reader
    - BUFFER_SIZE_FOR_INDEX
    - Dbg
    - HttpConfig::release
    - VIO*::reenable
    - HttpConfig::acquire
    - ProtocolProbeTrampoline*::reader::is_read_avail_more_than
    - NetVConnection*::set_inactivity_timeout
    - UnixNetVConnection*::read::vio::get_writer
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ProtocolProbeSessionAccept::mainEvent(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ProtocolProbeSessionAccept::accept
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: bool
    signature: bool ProtocolProbeSessionAccept::accept(NetVConnection *, MIOBuffer
      *, IOBufferReader *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:227,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:227,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ap
    argTypes:
    - ProtoGroupKey
    - SessionAccept*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: ProtocolProbeSessionAccept::registerEndpoint
    functionSourceFile: /src/trafficserver/src/proxy/ProtocolProbeSessionAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void ProtocolProbeSessionAccept::registerEndpoint(ProtoGroupKey key,
      SessionAccept *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:117,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/PluginVC.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - core_obj
    argTypes:
    - PluginVCCore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: PluginVC::PluginVC
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::PluginVC(PluginVCCore *core_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: PluginVC::~PluginVC()
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::~PluginVC()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:129,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:131,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:132,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:133,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:134,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:136,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:138,1
    - Dst: MUTEX_TAKE_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:146,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:150,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:158,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:160,1
    - Dst: MUTEX_TAKE_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:167,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:171,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:174,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:182,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:184,1
    - Dst: Event*::schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:187,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:194,1
    - Dst: PluginVC::process_close
      Src: /src/trafficserver/src/proxy/PluginVC.cc:197,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:200,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:204,1
    - Dst: PluginVC::process_timeout
      Src: /src/trafficserver/src/proxy/PluginVC.cc:216,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/PluginVC.cc:218,1
    - Dst: PluginVC::process_timeout
      Src: /src/trafficserver/src/proxy/PluginVC.cc:219,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:225,1
    - Dst: PluginVC::process_read_side
      Src: /src/trafficserver/src/proxy/PluginVC.cc:230,1
    - Dst: PluginVC::process_write_side
      Src: /src/trafficserver/src/proxy/PluginVC.cc:234,1
    - Dst: PluginVC::process_close
      Src: /src/trafficserver/src/proxy/PluginVC.cc:240,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:244,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/PluginVC.cc:248,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 252
    functionName: PluginVC::main_handler
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - ink_release_assert
    - PluginVC::process_close
    - Mutex_unlock
    - Dbg
    - static_cast<Event *>
    - PluginVC::process_timeout
    - PluginVC::process_read_side
    - Event*::schedule_in
    - MUTEX_TAKE_TRY_LOCK
    - PluginVC::process_write_side
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int PluginVC::main_handler(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:257,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:258,1
    - Dst: vio::set_writer
      Src: /src/trafficserver/src/proxy/PluginVC.cc:261,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:263,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:275,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: PluginVC::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - vio::buffer::clear
    - ink_assert
    - Dbg
    - vio::set_writer
    - PluginVC::setup_event_cb
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      PluginVC::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:288,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:289,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:292,1
    - Dst: vio::set_reader
      Src: /src/trafficserver/src/proxy/PluginVC.cc:293,1
    - Dst: vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:295,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:307,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - c
    - nbytes
    - abuffer
    - owner
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 315
    functionName: PluginVC::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - vio::buffer::clear
    - ink_assert
    - Dbg
    - vio::set_reader
    - PluginVC::setup_event_cb
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      PluginVC::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *abuffer,
      bool owner)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:320,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:321,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:322,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:322,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:325,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:325,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:327,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:330,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:335,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 338
    functionName: PluginVC::reenable
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - PluginVC::setup_event_cb
    - SCOPED_MUTEX_LOCK
    - Dbg
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::reenable(VIO *vio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:343,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:344,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:345,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:345,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:347,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:349,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:349,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:354,1
    - Dst: PluginVC::process_write_side
      Src: /src/trafficserver/src/proxy/PluginVC.cc:356,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:358,1
    - Dst: PluginVC::process_read_side
      Src: /src/trafficserver/src/proxy/PluginVC.cc:360,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:362,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 373
    functionName: PluginVC::reenable_re
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - PluginVC::setup_event_cb
    - SCOPED_MUTEX_LOCK
    - Dbg
    - PluginVC::process_read_side
    - this_ethread
    - PluginVC::process_write_side
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::reenable_re(VIO *vio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:378,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:379,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:381,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:383,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:383,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 393
    functionName: PluginVC::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - ink_assert
    - Dbg
    - this_ethread
    - PluginVC::setup_event_cb
    linkageType: ''
    returnType: void
    signature: void PluginVC::do_io_close(int /* flag ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:398,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - howto
    argTypes:
    - ShutdownHowTo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: PluginVC::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::do_io_shutdown(ShutdownHowTo_t howto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:436,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/PluginVC.cc:436,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/proxy/PluginVC.cc:439,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/PluginVC.cc:440,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/PluginVC.cc:448,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/PluginVC.cc:455,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/proxy/PluginVC.cc:455,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/PluginVC.cc:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - transfer_to
    - transfer_from
    - act_on
    argTypes:
    - MIOBuffer*
    - IOBufferReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 469
    functionName: PluginVC::transfer_bytes
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - IOBufferReader*::start
    - min
    - IOBufferReader*::read_avail
    - IOBufferReader*::consume
    - IOBufferReader*::block_read_avail
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t PluginVC::transfer_bytes(MIOBuffer *transfer_to, IOBufferReader
      *transfer_from, int64_t act_on)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:482,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:485,1
    - Dst: vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:494,1
    - Dst: vio::get_reader
      Src: /src/trafficserver/src/proxy/PluginVC.cc:499,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/PluginVC.cc:504,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/PluginVC.cc:505,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:507,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:511,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:519,1
    - Dst: read_state::vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:525,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/PluginVC.cc:529,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:534,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:535,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:536,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:537,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:542,1
    - Dst: read_state::vio::get_writer
      Src: /src/trafficserver/src/proxy/PluginVC.cc:547,1
    - Dst: std::max<int64_t>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:549,1
    - Dst: MIOBuffer*::max_read_avail
      Src: /src/trafficserver/src/proxy/PluginVC.cc:550,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:552,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/PluginVC.cc:555,1
    - Dst: PluginVC::transfer_bytes
      Src: /src/trafficserver/src/proxy/PluginVC.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:562,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:569,1
    - Dst: vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:572,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:573,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:575,1
    - Dst: read_state::vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:578,1
    - Dst: read_state::vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:579,1
    - Dst: read_state::vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:581,1
    - Dst: PluginVC::update_inactive_time
      Src: /src/trafficserver/src/proxy/PluginVC.cc:584,1
    - Dst: PluginVC::update_inactive_time
      Src: /src/trafficserver/src/proxy/PluginVC.cc:585,1
    - Dst: vio::reenable
      Src: /src/trafficserver/src/proxy/PluginVC.cc:588,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 590
    functionName: PluginVC::process_write_side
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 2
    functionsReached:
    - is_locked
    - PluginVC::setup_event_cb
    - vio::reenable
    - read_state::vio::ntodo
    - PluginVC::update_inactive_time
    - vio::cont::handleEvent
    - std::max<int64_t>
    - min
    - Dbg
    - IOBufferReader*::read_avail
    - MIOBuffer*::max_read_avail
    - PluginVC::transfer_bytes
    - read_state::vio::cont::handleEvent
    - MUTEX_TRY_LOCK
    - vio::ntodo
    - vio::get_reader
    - ink_assert
    - read_state::vio::get_writer
    linkageType: ''
    returnType: void
    signature: void PluginVC::process_write_side()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:604,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:605,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:607,1
    - Dst: vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:612,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:623,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:624,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:625,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:626,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:631,1
    - Dst: PluginVC::process_write_side
      Src: /src/trafficserver/src/proxy/PluginVC.cc:634,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:636,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:637,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 639
    functionName: PluginVC::process_read_side
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 2
    functionsReached:
    - is_locked
    - PluginVC::setup_event_cb
    - vio::cont::handleEvent
    - Dbg
    - MUTEX_TRY_LOCK
    - vio::ntodo
    - PluginVC::process_write_side
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::process_read_side()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:651,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:653,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:660,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:665,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:670,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:675,1
    - Dst: PluginVC::setup_event_cb
      Src: /src/trafficserver/src/proxy/PluginVC.cc:686,1
    - Dst: attempt_delete
      Src: /src/trafficserver/src/proxy/PluginVC.cc:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 690
    functionName: PluginVC::process_close
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 1
    functionsReached:
    - ink_assert
    - attempt_delete
    - Dbg
    - cancel
    - PluginVC::setup_event_cb
    linkageType: ''
    returnType: void
    signature: void PluginVC::process_close()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:706,1
    - Dst: PluginVC::clear_event
      Src: /src/trafficserver/src/proxy/PluginVC.cc:711,1
    - Dst: vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:715,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:716,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:717,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:720,1
    - Dst: PluginVC::clear_event
      Src: /src/trafficserver/src/proxy/PluginVC.cc:724,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:725,1
    - Dst: vio::ntodo
      Src: /src/trafficserver/src/proxy/PluginVC.cc:726,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:727,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:728,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:731,1
    - Dst: PluginVC::clear_event
      Src: /src/trafficserver/src/proxy/PluginVC.cc:735,1
    - Dst: vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:736,1
    - Dst: PluginVC::clear_event
      Src: /src/trafficserver/src/proxy/PluginVC.cc:738,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - e
    - event_to_send
    argTypes:
    - Event**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 740
    functionName: PluginVC::process_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - schedule_in
    - vio::cont::handleEvent
    - MUTEX_TRY_LOCK
    - vio::ntodo
    - PluginVC::clear_event
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVC::process_timeout(Event **e, int event_to_send)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: PluginVC::clear_event
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 1
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void PluginVC::clear_event(Event **e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/PluginVC.cc:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: PluginVC::update_inactive_time
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void PluginVC::update_inactive_time()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:774,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:780,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:781,1
    - Dst: schedule_imm
      Src: /src/trafficserver/src/proxy/PluginVC.cc:783,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:786,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:787,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - in
    - e_ptr
    argTypes:
    - ink_hrtime
    - Event**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 793
    functionName: PluginVC::setup_event_cb
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 8
    functionsReached:
    - schedule_in
    - schedule_imm
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void PluginVC::setup_event_cb(ink_hrtime in, Event **e_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:803,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:804,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 811
    functionName: PluginVC::set_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - schedule_in
    - ink_assert
    - cancel
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/PluginVC.cc:818,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/proxy/PluginVC.cc:820,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/PluginVC.cc:820,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/PluginVC.cc:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 829
    functionName: PluginVC::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - schedule_every
    - HRTIME_SECONDS
    - cancel
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginVC::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/PluginVC.cc:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: PluginVC::set_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PluginVC::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_default_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: PluginVC::is_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginVC::is_default_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginVC::set_active_timeout
      Src: /src/trafficserver/src/proxy/PluginVC.cc:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: PluginVC::cancel_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PluginVC::set_active_timeout
    linkageType: ''
    returnType: void
    signature: void PluginVC::cancel_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginVC::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/PluginVC.cc:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: PluginVC::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PluginVC::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void PluginVC::cancel_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: PluginVC::get_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime PluginVC::get_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: PluginVC::get_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime PluginVC::get_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: PluginVC::add_to_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::add_to_keep_alive_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: PluginVC::remove_from_keep_alive_queue
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::remove_from_keep_alive_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: PluginVC::add_to_active_queue
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginVC::add_to_active_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: PluginVC::get_socket
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET PluginVC::get_socket()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:897,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 903
    functionName: PluginVC::set_local_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_local_addr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:909,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: PluginVC::set_remote_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_remote_addr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 919
    functionName: PluginVC::set_remote_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_remote_addr(const sockaddr * /* new_sa ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: PluginVC::set_mptcp_state
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::set_mptcp_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ATS_UNUSED
    argTypes:
    - tcp_congestion_control_side
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 931
    functionName: PluginVC::set_tcp_congestion_control
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PluginVC::set_tcp_congestion_control(tcp_congestion_control_side
      ATS_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: PluginVC::apply_options
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVC::apply_options()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:948,1
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:950,1
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:955,1
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:957,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:961,1
    - Dst: static_cast<void **>
      Src: /src/trafficserver/src/proxy/PluginVC.cc:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 967
    functionName: PluginVC::get_data
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - static_cast<void **>
    - static_cast<int *>
    linkageType: ''
    returnType: bool
    signature: bool PluginVC::get_data(int id, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 990
    functionName: PluginVC::set_data
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginVC::set_data(int id, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 996
    functionName: PluginVCCore::~PluginVCCore()
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::~PluginVCCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginVCCore::PluginVCCore
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1001,1
    - Dst: PluginVCCore*::init
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - acceptor
    - buffer_index
    - buffer_water_mark
    argTypes:
    - Continuation*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1005
    functionName: PluginVCCore::alloc
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 4
    functionsReached:
    - PluginVCCore*::init
    - PluginVCCore::PluginVCCore
    linkageType: ''
    returnType: PluginVCCore
    signature: 'PluginVCCore *

      PluginVCCore::alloc(Continuation *acceptor, int64_t buffer_index, int64_t buffer_water_mark)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1010,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1016,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1024,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - buffer_index
    - buffer_water_mark
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1030
    functionName: PluginVCCore::init
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - BUFFER_SIZE_FOR_INDEX
    - new_ProxyMutex
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::init(int64_t buffer_index, int64_t buffer_water_mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1035,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1037,1
    - Dst: read_state::vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1039,1
    - Dst: write_state::vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1040,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1043,1
    - Dst: read_state::vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1045,1
    - Dst: write_state::vio::buffer::clear
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1051
    functionName: PluginVCCore::destroy
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - write_state::vio::buffer::clear
    - read_state::vio::buffer::clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1056,1
    - Dst: PluginVCCore::state_send_accept
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1062
    functionName: PluginVCCore::connect
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - PluginVCCore::state_send_accept
    linkageType: ''
    returnType: PluginVC
    signature: 'PluginVC *

      PluginVCCore::connect()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1067,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1069,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1070,1
    - Dst: PluginVCCore::state_send_accept
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1073,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1080,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1084
    functionName: PluginVCCore::connect_re
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - MUTEX_TAKE_LOCK
    - MUTEX_UNTAKE_LOCK
    - ink_release_assert
    - PluginVCCore::state_send_accept
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: Action
    signature: 'Action *

      PluginVCCore::connect_re(Continuation *c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1090,1
    - Dst: PluginVCCore::destroy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1091,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1093,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1093,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1095,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1096,1
    - Dst: PluginVCCore::destroy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1097,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1099,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1105
    functionName: PluginVCCore::state_send_accept_failed
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - PluginVCCore::destroy
    - is_locked
    - schedule_in
    - MUTEX_TRY_LOCK
    - this_ethread
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int PluginVCCore::state_send_accept_failed(int /* event ATS_UNUSED
      */, void * /* data ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1111,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1113,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1113,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1115,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1116,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1118,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1124
    functionName: PluginVCCore::state_send_accept
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 2
    functionsReached:
    - handleEvent
    - is_locked
    - schedule_in
    - MUTEX_TRY_LOCK
    - this_ethread
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int PluginVCCore::state_send_accept(int /* event ATS_UNUSED */, void
      * /* data ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PluginVCCore::destroy
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1135,1
    - Dst: PluginVCCore::state_send_accept_failed
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1140
    functionName: PluginVCCore::attempt_delete
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PluginVCCore::destroy
    - PluginVCCore::state_send_accept_failed
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::attempt_delete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1150,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1151,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1153
    functionName: PluginVCCore::kill_no_connect
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - do_io_close
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::kill_no_connect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1158,1
    - Dst: htonl
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1158,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - port
    argTypes:
    - in_addr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: PluginVCCore::set_passive_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_set
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_passive_addr(in_addr_t ip, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: PluginVCCore::set_passive_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_passive_addr(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1170,1
    - Dst: htonl
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1170,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - port
    argTypes:
    - in_addr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: PluginVCCore::set_active_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_set
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_active_addr(in_addr_t ip, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: PluginVCCore::set_active_addr
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_active_addr(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: PluginVCCore::set_passive_data
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_passive_data(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: PluginVCCore::set_active_data
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_active_data(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_is_transparent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1194,1
    - Dst: set_is_transparent
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - passive_side
    - active_side
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1196
    functionName: PluginVCCore::set_transparent
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - set_is_transparent
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_transparent(bool passive_side, bool active_side)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1202
    functionName: PluginVCCore::set_plugin_id
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_plugin_id(int64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: PluginVCCore::set_plugin_tag
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::set_plugin_tag(const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1232
    functionName: PVCTestDriver::PVCTestDriver
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PVCTestDriver::PVCTestDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: PVCTestDriver::~PVCTestDriver()
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PVCTestDriver::~PVCTestDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1242,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1243,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1243,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1247,1
    - Dst: PVCTestDriver::run_next_test
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r_arg
    - pstatus_arg
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1250
    functionName: PVCTestDriver::start_tests
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PVCTestDriver::run_next_test
    - new_ProxyMutex
    - MUTEX_TRY_LOCK
    - this_ethread
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void PVCTestDriver::start_tests(RegressionTest *r_arg, int *pstatus_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1271,1
    - Dst: NetVCTest::NetVCTest
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1273,1
    - Dst: NetVCTest::NetVCTest
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1274,1
    - Dst: PluginVCCore::alloc
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1275,1
    - Dst: NetVCTest*::init_test
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1277,1
    - Dst: PluginVCCore*::connect
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1278,1
    - Dst: NetVCTest*::init_test
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1281
    functionName: PVCTestDriver::run_next_test
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 1
    functionsReached:
    - NetVCTest*::init_test
    - NetVCTest::NetVCTest
    - Dbg
    - PluginVCCore*::connect
    - PluginVCCore::alloc
    linkageType: ''
    returnType: void
    signature: void PVCTestDriver::run_next_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PVCTestDriver::run_next_test
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1293
    functionName: PVCTestDriver::main_handler
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PVCTestDriver::run_next_test
    linkageType: ''
    returnType: int
    signature: int PVCTestDriver::main_handler(int /* event ATS_UNUSED */, void *
      /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PVCTestDriver::PVCTestDriver
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1297,1
    - Dst: PVCTestDriver*::start_tests
      Src: /src/trafficserver/src/proxy/PluginVC.cc:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1299
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/PluginVC.cc
    functionUses: 0
    functionsReached:
    - PVCTestDriver::PVCTestDriver
    - PVCTestDriver*::start_tests
    linkageType: ''
    returnType: void
    signature: void EXCLUSIVE_REGRESSION_TEST(PVC)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:49,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:49,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - list
    - trim_quotes
    - string
    - sep
    argTypes:
    - StrList*
    - int
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: HttpCompat::parse_tok_list
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::parse_tok_list
    - strlen
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void HttpCompat::parse_tok_list(StrList *list, int trim_quotes, const
      char *string, char sep)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:78,1
    - Dst: StrList*::append_string
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:88,1
    - Dst: is_unquoted_separator
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:128,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:144,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:157,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:158,1
    - Dst: StrList*::append_string
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:164,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:178,1
    - Dst: StrList*::append_string
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:179,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 5
    argNames:
    - list
    - trim_quotes
    - string
    - len
    - sep
    argTypes:
    - StrList*
    - int
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 182
    functionName: HttpCompat::parse_tok_list
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - is_unquoted_separator
    - ParseRules::is_ws
    - StrList*::append_string
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpCompat::parse_tok_list(StrList *list, int trim_quotes, const
      char *string, int len, char sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: is_unquoted_separator
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_unquoted_separator(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:218,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:218,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:228,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:237,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:242,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - param_list
    - param_name
    - param_val
    - param_val_length
    argTypes:
    - StrList*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 258
    functionName: HttpCompat::lookup_param_in_strlist
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 0
    functionsReached:
    - ParseRules::ink_tolower
    - ParseRules::is_ws
    linkageType: ''
    returnType: bool
    signature: bool HttpCompat::lookup_param_in_strlist(StrList *param_list, const
      char *param_name, char *param_val, int param_val_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:280,1
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:283,1
    - Dst: HttpCompat::lookup_param_in_strlist
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - semicolon_string
    - semicolon_string_len
    - param_name
    - param_val
    - param_val_length
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: HttpCompat::lookup_param_in_semicolon_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - StrList::StrList
    - HttpCompat::parse_semicolon_list
    - HttpCompat::lookup_param_in_strlist
    linkageType: ''
    returnType: bool
    signature: "bool HttpCompat::lookup_param_in_semicolon_string(const char *semicolon_string,
      int semicolon_string_len, const char *param_name,\n                                             char
      *param_val, int param_val_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:314,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:324,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:339,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:349,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 5
    argNames:
    - mime_string
    - type
    - subtype
    - type_len
    - subtype_len
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 353
    functionName: HttpCompat::parse_mime_type
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - ParseRules::is_ws
    linkageType: ''
    returnType: void
    signature: void HttpCompat::parse_mime_type(const char *mime_string, char *type,
      char *subtype, int type_len, int subtype_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:369,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:379,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:394,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:404,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 6
    argNames:
    - mime_string
    - mime_string_len
    - type
    - subtype
    - type_len
    - subtype_len
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 408
    functionName: HttpCompat::parse_mime_type_with_len
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_ws
    linkageType: ''
    returnType: void
    signature: "void HttpCompat::parse_mime_type_with_len(const char *mime_string,
      int mime_string_len, char *type, char *subtype, int type_len,\n                                     int
      subtype_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:449,1
    - Dst: HdrCsvIter::count_values
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:450,1
    - Dst: count_values
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:450,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:455,1
    - Dst: get_first
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:456,1
    - Dst: ParseRules::strncasecmp_eow
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:460,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:464,1
    - Dst: get_next
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - hdr1
    - hdr2
    argTypes:
    - MIMEField*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: HttpCompat::do_vary_header_values_match
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - HdrCsvIter::get_next
    - get_next
    - HdrCsvIter::HdrCsvIter
    - HdrCsvIter::count_values
    - ParseRules::strncasecmp_eow
    - get_first
    - count_values
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: bool
    signature: bool HttpCompat::do_vary_header_values_match(MIMEField *hdr1, MIMEField
      *hdr2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::lookup_param_in_strlist
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:487,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - strlist
    argTypes:
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 495
    functionName: HttpCompat::find_Q_param_in_strlist
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 5
    functionsReached:
    - sscanf
    - HttpCompat::lookup_param_in_strlist
    linkageType: ''
    returnType: float
    signature: float HttpCompat::find_Q_param_in_strlist(StrList *strlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:520,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pattern
    - pattern_len
    - tag
    - tag_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: does_language_range_match
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 1
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: bool
    signature: bool does_language_range_match(const char *pattern, int pattern_len,
      const char *tag, int tag_len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:578,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:578,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:591,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:593,1
    - Dst: does_language_range_match
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:602,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 6
    argNames:
    - lang_str
    - lang_len
    - acpt_lang_list
    - matching_length
    - matching_index
    - ignore_wildcards
    argTypes:
    - char*
    - int
    - StrList*
    - int*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 633
    functionName: HttpCompat::match_accept_language
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpCompat::find_Q_param_in_strlist
    - does_language_range_match
    - HttpCompat::parse_semicolon_list
    linkageType: ''
    returnType: float
    signature: "float HttpCompat::match_accept_language(const char *lang_str, int
      lang_len, StrList *acpt_lang_list, int *matching_length,\n                                  int
      *matching_index, bool ignore_wildcards)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_semicolon_list
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:693,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:693,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:702,1
    - Dst: HttpCompat::find_Q_param_in_strlist
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:703,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc:712,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 5
    argNames:
    - charset_str
    - charset_len
    - acpt_charset_list
    - matching_index
    - ignore_wildcards
    argTypes:
    - char*
    - int
    - StrList*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 733
    functionName: HttpCompat::match_accept_charset
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HttpCompat.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpCompat::find_Q_param_in_strlist
    - HttpCompat::parse_semicolon_list
    - strncasecmp
    linkageType: ''
    returnType: float
    signature: "float HttpCompat::match_accept_charset(const char *charset_str, int
      charset_len, StrList *acpt_charset_list, int *matching_index,\n                                 bool
      ignore_wildcards)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:82,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - s
    - len
    - offset
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: load_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 1
    functionsReached:
    - ats_malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      load_string(const char *s, int len, int offset)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:97,1
    - Dst: load_string
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:98,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:99,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:100,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:102,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:103,1
    - Dst: load_string
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:104,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:105,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - HdrHeapObjImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: process_http_hdr_impl
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 0
    functionsReached:
    - load_string
    - printf
    - ats_free
    linkageType: ''
    returnType: void
    signature: void process_http_hdr_impl(HdrHeapObjImpl *obj, int offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:113,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:124,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:125,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:125,1
    - Dst: load_string
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:127,1
    - Dst: load_string
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:129,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:130,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:131,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mblock
    - offset
    argTypes:
    - MIMEFieldBlockImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: process_mime_block_impl
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - load_string
    - hdrtoken_index_to_wks
    - ats_strdup
    - printf
    - hdrtoken_is_valid_wks_idx
    linkageType: ''
    returnType: void
    signature: void process_mime_block_impl(MIMEFieldBlockImpl *mblock, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_mime_block_impl
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - offset
    argTypes:
    - HdrHeapObjImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: process_mime_hdr_impl
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 0
    functionsReached:
    - process_mime_block_impl
    linkageType: ''
    returnType: void
    signature: void process_mime_hdr_impl(HdrHeapObjImpl *obj, int offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:149,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:152,1
    - Dst: ROUND
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:153,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:159,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:167,1
    - Dst: process_http_hdr_impl
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:168,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:171,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:174,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:177,1
    - Dst: process_mime_hdr_impl
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:178,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:181,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:184,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - hdr_heap
    - offset
    argTypes:
    - HdrHeap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 193
    functionName: loop_over_heap_objs
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 0
    functionsReached:
    - printf
    - process_mime_hdr_impl
    - ROUND
    - process_http_hdr_impl
    linkageType: ''
    returnType: void
    signature: void loop_over_heap_objs(HdrHeap *hdr_heap, int offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:200,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:201,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:201,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:202,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:205,1
    - Dst: read
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:211,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:214,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:214,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:215,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:217,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:218,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:227,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:228,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:231,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:232,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:236,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:237,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:238,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:243,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:244,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:245,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:250,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:256,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:258,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:259,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:260,1
    - Dst: sscanf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:266,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:267,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:268,1
    - Dst: loop_over_heap_objs
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:291,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 2
    argNames:
    - fd
    - h_type
    argTypes:
    - int
    - hdr_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 292
    functionName: load_buffer
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - sscanf
    - read
    - fstat
    - ats_malloc
    - exit
    - Tokenizer::Initialize
    - strerror
    - loop_over_heap_objs
    linkageType: ''
    returnType: void
    signature: void load_buffer(int fd, hdr_type h_type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:299,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:300,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:300,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:302,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:303,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:306,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:308,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:310,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:312,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:315,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:316,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:319,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:322,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:322,1
    - Dst: exit
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:323,1
    - Dst: load_buffer
      Src: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/load_http_hdr.cc
    functionUses: 3
    functionsReached:
    - DiagsPtr::set
    - fprintf
    - strerror
    - load_buffer
    - http_init
    - strcasecmp
    - exit
    - Diags::Diags
    - open
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: http_hdr_adjust
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: "void http_hdr_adjust(HTTPHdrImpl * /* hdrp ATS_UNUSED */, int32_t
      /* offset ATS_UNUSED */, int32_t /* length ATS_UNUSED */,\n                int32_t
      /* delta ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_init
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:142,1
    - Dst: url_init
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:143,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:145,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:146,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:147,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:148,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:149,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:150,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:151,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:152,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:153,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:154,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:158,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:158,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:160,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:160,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:162,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:162,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:164,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:164,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:166,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:168,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:168,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:170,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:170,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:172,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:172,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:174,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:174,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:176,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:176,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:179,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:180,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:181,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:182,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:183,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:184,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:185,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:186,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:187,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:188,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:189,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:190,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:191,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:192,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:193,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:194,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:195,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:196,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:197,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:198,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:199,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:200,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:201,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 204
    functionName: http_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 5
    functionsReached:
    - url_init
    - c_str
    - mime_init
    - hdrtoken_string_to_wks_sv
    - hdrtoken_wks_to_index
    linkageType: ''
    returnType: void
    signature: void http_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:214,1
    - Dst: http_hdr_init
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - heap
    - polarity
    - version
    argTypes:
    - HdrHeap*
    - HTTPType
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: http_hdr_create
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - http_hdr_init
    - HdrHeap*::allocate_obj
    linkageType: ''
    returnType: HTTPHdrImpl
    signature: 'HTTPHdrImpl *

      http_hdr_create(HdrHeap *heap, HTTPType polarity, HTTPVersion version)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:225,1
    - Dst: mime_hdr_create
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:228,1
    - Dst: url_create
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:230,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:238,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:239,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:241,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:242,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:244,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:245,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:247,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:248,1
    - Dst: mime_field_create_named
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:251,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:252,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - heap
    - hh
    - polarity
    - version
    argTypes:
    - HdrHeap*
    - HTTPHdrImpl*
    - HTTPType
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 258
    functionName: http_hdr_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - memset
    - mime_hdr_create
    - ink_abort
    - mime_hdr_field_attach
    - mime_field_create_named
    - url_create
    linkageType: ''
    returnType: void
    signature: void http_hdr_init(HdrHeap *heap, HTTPHdrImpl *hh, HTTPType polarity,
      HTTPVersion version)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:276,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:277,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:278,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:280,1
    - Dst: url_create
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:287,1
    - Dst: url_copy_onto
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:289,1
    - Dst: url_clear
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:292,1
    - Dst: mime_hdr_copy_onto
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:295,1
    - Dst: HdrHeap*::inherit_string_heaps
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - s_hh
    - s_heap
    - d_hh
    - d_heap
    - inherit_strs
    argTypes:
    - HTTPHdrImpl*
    - HdrHeap*
    - HTTPHdrImpl*
    - HdrHeap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: http_hdr_copy_onto
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - HdrHeap*::inherit_string_heaps
    - url_copy_onto
    - url_clear
    - mime_hdr_copy_onto
    - ink_assert
    - url_create
    linkageType: ''
    returnType: void
    signature: void http_hdr_copy_onto(HTTPHdrImpl *s_hh, HdrHeap *s_heap, HTTPHdrImpl
      *d_hh, HdrHeap *d_heap, bool inherit_strs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_create
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:313,1
    - Dst: http_hdr_copy_onto
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s_hh
    - s_heap
    - d_heap
    argTypes:
    - HTTPHdrImpl*
    - HdrHeap*
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: http_hdr_clone
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - http_hdr_create
    - http_hdr_copy_onto
    linkageType: ''
    returnType: HTTPHdrImpl
    signature: 'HTTPHdrImpl *

      http_hdr_clone(HTTPHdrImpl *s_hh, HdrHeap *s_heap, HdrHeap *d_heap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:324,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:324,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:325,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:325,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:332,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - version
    - buf9
    argTypes:
    - HTTPVersion
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: http_hdr_version_to_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_minor
    - HTTPVersion::get_major
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      http_hdr_version_to_string(const HTTPVersion &version, char *buf9)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_version_to_string
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:351,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:352,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - version
    - buf
    - bufsize
    - bufindex
    - dumpoffset
    argTypes:
    - HTTPVersion
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: http_version_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - TRY
    - mime_mem_print
    - http_hdr_version_to_string
    linkageType: ''
    returnType: int
    signature: int http_version_print(const HTTPVersion &version, char *buf, int bufsize,
      int *bufindex, int *dumpoffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: TRY
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:372,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:382,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:388,1
    - Dst: url_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:388,1
    - Dst: http_hdr_version_to_string
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:402,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:405,1
    - Dst: http_version_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:405,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:414,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:414,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:417,1
    - Dst: mime_hdr_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:417,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:420,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:421,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:421,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:424,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:424,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:427,1
    - Dst: url_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:427,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:428,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:428,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:431,1
    - Dst: http_version_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:431,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:433,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:433,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:435,1
    - Dst: mime_hdr_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:435,1
    - Dst: http_hdr_version_to_string
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:443,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:448,1
    - Dst: http_hdr_status_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:448,1
    - Dst: mime_format_int
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:454,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:455,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:462,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:462,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:463,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:473,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:473,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:476,1
    - Dst: mime_hdr_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:476,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:479,1
    - Dst: http_version_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:479,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:481,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:481,1
    - Dst: mime_format_int
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:483,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:483,1
    - Dst: http_hdr_status_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:483,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:485,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:485,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:485,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:488,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:488,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:491,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:491,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:492,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:496,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:496,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:498,1
    - Dst: mime_hdr_print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:498,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 97
    argCount: 5
    argNames:
    - hdr
    - buf
    - bufsize
    - bufindex
    - dumpoffset
    argTypes:
    - HTTPHdrImpl*
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 505
    functionName: http_hdr_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - mime_mem_print
    - mime_format_int
    - static_cast<std::string_view::size_type>
    - static_cast<int32_t>
    - http_hdr_status_get
    - TRY
    - mime_hdr_print
    - http_version_print
    - http_hdr_version_to_string
    - ink_assert
    - url_print
    linkageType: ''
    returnType: int
    signature: int http_hdr_print(HTTPHdrImpl const *hdr, char *buf, int bufsize,
      int *bufindex, int *dumpoffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: TRY
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:516,1
    - Dst: HTTPHdrImpl*::m_version::get_flat_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:517,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:521,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:524,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:528,1
    - Dst: HTTPHdrImpl*::m_version::get_flat_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:529,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - raw
    - recurse
    argTypes:
    - HdrHeapObjImpl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 537
    functionName: http_hdr_describe
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - obj_describe
    - Dbg
    - HTTPHdrImpl*::m_version::get_flat_version
    linkageType: ''
    returnType: void
    signature: void http_hdr_describe(HdrHeapObjImpl *raw, bool recurse)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: url_length_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:557,1
    - Dst: mime_hdr_length_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 586
    functionName: HTTPHdr::length_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - mime_hdr_length_get
    - url_length_get
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::length_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hh
    - type
    argTypes:
    - HTTPHdrImpl*
    - HTTPType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: http_hdr_type_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_hdr_type_set(HTTPHdrImpl *hh, HTTPType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: is_http1_version
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_http1_version(const uint8_t major, const uint8_t minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_http1_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:617,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:617,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http_version
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: is_http1_hdr_version_supported
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - is_http1_version
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: bool
    signature: bool is_http1_hdr_version_supported(const HTTPVersion &http_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_http1_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:624,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:624,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hh
    - ver
    argTypes:
    - HTTPHdrImpl*
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: http_hdr_version_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - is_http1_version
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: bool
    signature: bool http_hdr_version_set(HTTPHdrImpl *hh, const HTTPVersion &ver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:636,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:639,1
    - Dst: hdrtoken_index_to_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:640,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hh
    argTypes:
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 647
    functionName: http_hdr_method_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_length
    - static_cast<std::string_view::size_type>
    - hdrtoken_index_to_wks
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view http_hdr_method_get(HTTPHdrImpl *hh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:655,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - heap
    - hh
    - method
    - method_wks_idx
    - must_copy
    argTypes:
    - HdrHeap*
    - HTTPHdrImpl*
    - std::string_view
    - int16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: http_hdr_method_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - mime_str_u16_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void http_hdr_method_set(HdrHeap *heap, HTTPHdrImpl *hh, std::string_view
      method, int16_t method_wks_idx, bool must_copy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:667,1
    - Dst: HdrHeap*::deallocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:670,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:673,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:673,1
    - Dst: static_cast<URLImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:674,1
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:674,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:674,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:675,1
    - Dst: HdrHeap*::m_read_write_heap::get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:677,1
    - Dst: URLImpl*::strings_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:678,1
    - Dst: HdrStrHeap::alloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:679,1
    - Dst: HTTPHdrImpl*::u::req::m_url_impl::rehome_strings
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - heap
    - hh
    - url
    argTypes:
    - HdrHeap*
    - HTTPHdrImpl*
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 686
    functionName: http_hdr_url_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - static_cast<HdrHeapObjType>
    - static_cast<URLImpl *>
    - URLImpl*::strings_length
    - HdrHeap*::m_read_write_heap::get
    - HdrStrHeap::alloc
    - reinterpret_cast<char *>
    - HdrHeap*::allocate_obj
    - HdrHeap*::deallocate_obj
    - ink_assert
    - HTTPHdrImpl*::u::req::m_url_impl::rehome_strings
    linkageType: ''
    returnType: void
    signature: void http_hdr_url_set(HdrHeap *heap, HTTPHdrImpl *hh, URLImpl *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:694,1
    - Dst: static_cast<int16_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hh
    - status
    argTypes:
    - HTTPHdrImpl*
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: http_hdr_status_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - static_cast<int16_t>
    linkageType: ''
    returnType: void
    signature: void http_hdr_status_set(HTTPHdrImpl *hh, HTTPStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:704,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hh
    argTypes:
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: http_hdr_reason_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view http_hdr_reason_get(HTTPHdrImpl *hh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:714,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - heap
    - hh
    - value
    - must_copy
    argTypes:
    - HdrHeap*
    - HTTPHdrImpl*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: http_hdr_reason_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - mime_str_u16_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void http_hdr_reason_set(HdrHeap *heap, HTTPHdrImpl *hh, std::string_view
      value, bool must_copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:728,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:729,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:730,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:731,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:732,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:733,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:735,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:736,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:737,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:738,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:739,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:740,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:741,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:742,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:743,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:745,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:747,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:748,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:749,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:750,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:751,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:752,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:754,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:755,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:757,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:758,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:759,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:760,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:761,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:762,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:763,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:764,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:765,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:766,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:767,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:768,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:769,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:770,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:771,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:772,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:773,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:774,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:775,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:776,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:777,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:779,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:781,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:782,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:784,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:786,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:787,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:788,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:789,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:790,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:791,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:792,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:793,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:794,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:796,1
    - Dst: HTTP_STATUS_ENTRY
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 1
    argNames:
    - status
    argTypes:
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 804
    functionName: http_hdr_reason_lookup
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - HTTP_STATUS_ENTRY
    linkageType: ''
    returnType: char
    signature: 'char *

      http_hdr_reason_lookup(HTTPStatus status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: HTTP_STATUS_ENTRY
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_STATUS_ENTRY(value, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - HTTPParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 816
    functionName: http_parser_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 4
    functionsReached:
    - mime_parser_init
    linkageType: ''
    returnType: void
    signature: void http_parser_init(HTTPParser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_parser_clear
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - HTTPParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: http_parser_clear
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 5
    functionsReached:
    - mime_parser_clear
    linkageType: ''
    returnType: void
    signature: void http_parser_clear(HTTPParser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 835
    functionName: GETNEXT
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETNEXT(label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionName: GETPREV
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETPREV(label)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: MIMEScanner*::get_buffered_line_size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:875,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:879,1
    - Dst: MIMEScanner*::get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:880,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:881,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:882,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:894,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:894,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:895,1
    - Dst: data_end
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:896,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:898,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:914,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:914,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:917,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:917,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:917,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:918,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:925,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:925,1
    - Dst: http_hdr_method_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:927,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:928,1
    - Dst: url_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:931,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:932,1
    - Dst: http_hdr_version_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:935,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:942,1
    - Dst: validate_hdr_request_target
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:946,1
    - Dst: validate_hdr_host
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:949,1
    - Dst: validate_hdr_content_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:952,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:968,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:969,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:970,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:976,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:977,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:980,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:984,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:986,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:990,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:993,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:998,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1001,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1006,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1011,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1012,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1016,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1021,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1022,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1026,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1034,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1038,1
    - Dst: GETPREV
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1042,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1055,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1058,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1070,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1071,1
    - Dst: hdrtoken_method_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1073,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1073,1
    - Dst: http_hdr_method_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1074,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1074,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1077,1
    - Dst: url_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1080,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1082,1
    - Dst: HTTPVersion::HTTPVersion
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1086,1
    - Dst: http_parse_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1088,1
    - Dst: http_hdr_version_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1093,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1101,1
    - Dst: validate_hdr_request_target
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1105,1
    - Dst: validate_hdr_host
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1108,1
    - Dst: validate_hdr_content_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1111,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 228
    argCount: 10
    argNames:
    - parser
    - heap
    - hh
    - start
    - end
    - must_copy_strings
    - eof
    - strict_uri_parsing
    - max_request_line_size
    - max_hdr_field_size
    argTypes:
    - HTTPParser*
    - HdrHeap*
    - HTTPHdrImpl*
    - char**
    - char*
    - bool
    - bool
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 1114
    functionName: http_parser_parse_req
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - url_parse
    - ParseRules::is_ws
    - static_cast<unsigned>
    - GETPREV
    - size
    - ParseRules::is_cr
    - mime_parser_parse
    - ParseRules::is_wslfcr
    - swoc::TextView::assign
    - http_hdr_method_set
    - static_cast<uint8_t>
    - data
    - static_cast<int>
    - validate_hdr_host
    - MIMEScanner*::get
    - HTTPVersion::HTTPVersion
    - data_end
    - ParseRules::is_token
    - ink_assert
    - swoc::TextView::data
    - isdigit
    - validate_hdr_request_target
    - hdrtoken_method_tokenize
    - MIMEScanner*::get_buffered_line_size
    - GETNEXT
    - http_hdr_version_set
    - ParseRules::is_space
    - static_cast<std::string_view::size_type>
    - validate_hdr_content_length
    - ParseRules::is_lf
    - http_parse_version
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult http_parser_parse_req(HTTPParser *parser, HdrHeap *heap,
      HTTPHdrImpl *hh, const char **start, const char *end,\n                      bool
      must_copy_strings, bool eof, int strict_uri_parsing, size_t max_request_line_size,\n
      \                     size_t max_hdr_field_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: URLImpl*::get_host
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1120,1
    - Dst: URLImpl*::get_path
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1121,1
    - Dst: URLImpl*::get_scheme
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1122,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1124,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1133,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - method_wk_idx
    - url
    argTypes:
    - int
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1142
    functionName: validate_hdr_request_target
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - URLImpl*::get_scheme
    - URLImpl*::get_path
    - auto::empty
    - URLImpl*::get_host
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult validate_hdr_request_target(int method_wk_idx, URLImpl
      *url)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1148,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1148,1
    - Dst: MIMEField*::has_dups
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1150,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1153,1
    - Dst: ats_ip_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1155,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1156,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1157,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1160,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1160,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1160,1
    - Dst: validate_host_name
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1165,1
    - Dst: std::all_of
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1168,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1168,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - hh
    argTypes:
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1177
    functionName: validate_hdr_host
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - begin
    - static_cast<std::string_view>
    - validate_host_name
    - end
    - ink_atoi
    - mime_hdr_field_find
    - MIMEField*::value_get
    - ats_ip_parse
    - MIMEField*::has_dups
    - empty
    - data
    - std::all_of
    - size
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult validate_hdr_host(HTTPHdrImpl *hh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1183,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1183,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1190,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1190,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1192,1
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1193,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1205,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1211,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1216,1
    - Dst: std::string_view::cbegin
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1216,1
    - Dst: std::string_view::cend
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1216,1
    - Dst: std::isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1216,1
    - Dst: std::string_view::cend
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1217,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1218,1
    - Dst: MIMEField*::has_dups
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1222,1
    - Dst: MIMEField*::m_next_dup::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1223,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1225,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1225,1
    - Dst: std::string_view::compare
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1225,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1227,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1231,1
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - heap
    - hh
    argTypes:
    - HdrHeap*
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1238
    functionName: validate_hdr_content_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - std::isdigit
    - MIMEField*::m_next_dup::value_get
    - std::string_view::length
    - std::string_view::cbegin
    - std::string_view::empty
    - std::string_view::cend
    - Dbg
    - mime_hdr_field_delete
    - std::string_view::compare
    - mime_hdr_field_find
    - MIMEField*::value_get
    - MIMEField*::has_dups
    - std::find_if
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult validate_hdr_content_length(HdrHeap *heap, HTTPHdrImpl
      *hh)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: MIMEScanner*::get_buffered_line_size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1269,1
    - Dst: MIMEScanner*::get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1275,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1276,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1277,1
    - Dst: validate_hdr_content_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1282,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1288,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1288,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1289,1
    - Dst: swoc::TextView::data_end
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1290,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1299,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1299,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1299,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1299,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1299,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1300,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1306,1
    - Dst: static_cast<HTTPStatus>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1311,1
    - Dst: http_hdr_version_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1313,1
    - Dst: http_hdr_status_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1314,1
    - Dst: http_hdr_reason_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1315,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1315,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1320,1
    - Dst: validate_hdr_content_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1323,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1341,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1345,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1349,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1353,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1357,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1359,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1360,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1364,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1369,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1370,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1373,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1375,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1381,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1382,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1388,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1389,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1392,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1393,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1399,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1400,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1405,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1405,1
    - Dst: http_parse_version
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1420,1
    - Dst: http_hdr_version_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1426,1
    - Dst: http_hdr_status_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1429,1
    - Dst: http_parse_status
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1429,1
    - Dst: http_hdr_reason_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1433,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1433,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1440,1
    - Dst: validate_hdr_content_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1443,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 170
    argCount: 7
    argNames:
    - parser
    - heap
    - hh
    - start
    - end
    - must_copy_strings
    - eof
    argTypes:
    - HTTPParser*
    - HdrHeap*
    - HTTPHdrImpl*
    - char**
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1446
    functionName: http_parser_parse_resp
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_ws
    - ParseRules::is_cr
    - swoc::TextView::data_end
    - http_parse_version
    - mime_parser_parse
    - static_cast<HTTPStatus>
    - swoc::TextView::size
    - static_cast<int>
    - http_parse_status
    - MIMEScanner*::get
    - ink_assert
    - swoc::TextView::data
    - isdigit
    - MIMEScanner*::get_buffered_line_size
    - static_cast<std::string_view::size_type>
    - http_hdr_version_set
    - ParseRules::is_space
    - GETNEXT
    - validate_hdr_content_length
    - ParseRules::is_lf
    - http_hdr_reason_set
    - http_hdr_status_set
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult http_parser_parse_resp(HTTPParser *parser, HdrHeap *heap,
      HTTPHdrImpl *hh, const char **start, const char *end,\n                       bool
      must_copy_strings, bool eof)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1456,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1460,1
    - Dst: static_cast<HTTPStatus>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1465
    functionName: http_parse_status
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - ParseRules::is_space
    - isdigit
    - static_cast<HTTPStatus>
    linkageType: ''
    returnType: HTTPStatus
    signature: HTTPStatus http_parse_status(const char *start, const char *end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1486,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1495,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1504
    functionName: http_parse_version
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 2
    functionsReached:
    - HTTPVersion
    - isdigit
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion http_parse_version(const char *start, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1513,1
    - Dst: Arena*::str_store
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1515,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arena
    - str
    - length
    argTypes:
    - Arena*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1519
    functionName: http_str_store
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - Arena*::str_store
    - hdrtoken_tokenize
    - const_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      http_str_store(Arena *arena, const char *str, int length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1531
    functionName: http_skip_ws
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_ws
    linkageType: ''
    returnType: void
    signature: void http_skip_ws(const char *&buf, int &len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_skip_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1549,1
    - Dst: http_skip_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1554,1
    - Dst: http_skip_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1562,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1565,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1575,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1601
    functionName: http_parse_qvalue
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - isdigit
    - http_skip_ws
    linkageType: ''
    returnType: double
    signature: double http_parse_qvalue(const char *&buf, int &len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_skip_ws
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1617,1
    - Dst: static_cast<HTTPValTE *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1626,1
    - Dst: Arena*::alloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1626,1
    - Dst: http_str_store
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1627,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1627,1
    - Dst: http_parse_qvalue
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - arena
    argTypes:
    - char*
    - int
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1631
    functionName: http_parse_te
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - http_parse_qvalue
    - http_skip_ws
    - Arena*::alloc
    - static_cast<HTTPValTE *>
    - http_str_store
    linkageType: ''
    returnType: HTTPValTE
    signature: 'HTTPValTE *

      http_parse_te(const char *buf, int len, Arena *arena)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1636,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1643,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1643,1
    - Dst: URL*::port_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1645,1
    - Dst: URL*::port_get_raw
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1646,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1648,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1648,1
    - Dst: std::tie
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1651,1
    - Dst: const_cast<HTTPHdr *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1651,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1652,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1652,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1656,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1658,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1669
    functionName: HTTPHdr::_fill_target_cache
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::tie
    - isdigit
    - const_cast<HTTPHdr *>
    - std::string_view::length
    - std::string_view::empty
    - URL*::host_get
    - url_canonicalize_port
    - URL*::port_get
    - URL*::port_get_raw
    - std::string_view::data
    - HTTPHdr::url_get
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::_fill_target_cache() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_test_and_fill_target_cache
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1674,1
    - Dst: host_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1680,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1680,1
    - Dst: port_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1682,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1687,1
    - Dst: HTTPHdr::host_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1687,1
    - Dst: URL*::port_set
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1692
    functionName: HTTPHdr::set_url_target_from_host_field
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - URL*::host_set
    - HTTPHdr::host_get
    - HTTPHdr::_test_and_fill_target_cache
    - static_cast<std::string_view::size_type>
    - host_set
    - URL*::port_set
    - port_set
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::set_url_target_from_host_field(URL *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::_test_and_fill_target_cache
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1709,1
    - Dst: HTTPHdr*::m_url_cached::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1710,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1722,1
    - Dst: HTTPHdr*::m_url_cached::port_get_raw
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1730,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1731,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1733,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1742
    functionName: UrlPrintHack::UrlPrintHack
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::_test_and_fill_target_cache
    - HTTPHdr*::m_url_cached::valid
    - snprintf
    - HTTPHdr*::m_url_cached::port_get_raw
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UrlPrintHack(HTTPHdr *hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1765
    functionName: ~UrlPrintHack()
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UrlPrintHack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1772
    functionName: UrlPrintHack::is_valid
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlPrintHack::is_valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1790,1
    - Dst: string_get_ref
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1795,1
    - Dst: string_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arena
    - length
    argTypes:
    - Arena*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1798
    functionName: HTTPHdr::url_string_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - string_get_ref
    - UrlPrintHack::is_valid
    - string_get
    linkageType: ''
    returnType: char
    signature: 'char *

      HTTPHdr::url_string_get(Arena *arena, int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1803,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1804,1
    - Dst: UrlPrintHack::is_valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1808,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - buff
    - length
    - offset
    - skip
    - normalization_flags
    argTypes:
    - char*
    - int
    - int*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1812
    functionName: HTTPHdr::url_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - UrlPrintHack::is_valid
    - ink_release_assert
    - HTTPHdr::print
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::url_print(char *buff, int length, int *offset, int *skip,
      unsigned normalization_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlPrintHack::is_valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1819,1
    - Dst: HTTPHdr::length_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - normalization_flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1814
    functionDepth: 2
    functionLinenumber: 1814
    functionLinenumberEnd: 1823
    functionName: HTTPHdr::url_printed_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - UrlPrintHack::is_valid
    - HTTPHdr::length_get
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::url_printed_length(unsigned normalization_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1834,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1834,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1837,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1838,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1838,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1838,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1838,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1845
    functionName: HTTPHdr::check_hdr_implements
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::length
    - static_cast<std::string_view>
    - strncasecmp
    - mime_hdr_field_find
    - MIMEField*::value_get
    - auto::data
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::check_hdr_implements()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1856,1
    - Dst: HTTPHdr::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1859,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1859,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1859,1
    - Dst: HTTPHdr::clear
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - block_ref
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1868
    functionName: HTTPHdr::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<HdrHeap *>
    - HTTPHdr::clear
    - HTTPHdr::unmarshal
    - reinterpret_cast<HdrHeapObjImpl **>
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::unmarshal(char *buf, int len, RefCountObj *block_ref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1874,1
    - Dst: HDR_MARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1875,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1877,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1879,1
    - Dst: HDR_MARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ptr_xlate
    - num_ptr
    - str_xlate
    - num_str
    argTypes:
    - MarshalXlate*
    - int
    - MarshalXlate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1870
    functionDepth: 1
    functionLinenumber: 1870
    functionLinenumberEnd: 1885
    functionName: HTTPHdrImpl::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - HDR_MARSHAL_STR
    - ink_release_assert
    - HDR_MARSHAL_PTR
    linkageType: ''
    returnType: int
    signature: int HTTPHdrImpl::marshal(MarshalXlate *ptr_xlate, int num_ptr, MarshalXlate
      *str_xlate, int num_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1891,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1892,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1894,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1896,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - offset
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1900
    functionName: HTTPHdrImpl::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - HDR_UNMARSHAL_STR
    - ink_release_assert
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: void
    signature: void HTTPHdrImpl::unmarshal(intptr_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1906,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1908,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrStrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1912
    functionName: HTTPHdrImpl::move_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - HDR_MOVE_STR
    linkageType: ''
    returnType: void
    signature: void HTTPHdrImpl::move_strings(HdrStrHeap *new_heap)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1925
    functionName: HTTPHdrImpl::strings_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HTTPHdrImpl::strings_length()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1931,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1933,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - heaps
    - num_heaps
    argTypes:
    - HeapCheck*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1937
    functionName: HTTPHdrImpl::check_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CHECK_STR
    linkageType: ''
    returnType: void
    signature: void HTTPHdrImpl::check_strings(HeapCheck *heaps, int num_heaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1951
    functionName: HTTPCacheAlt::HTTPCacheAlt
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void HTTPCacheAlt::HTTPCacheAlt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1956,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1957,1
    - Dst: HTTPCacheAlt::destroy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1960,1
    - Dst: HTTPCacheAlt::destroy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1961,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1964,1
    - Dst: free
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1968
    functionName: HTTPCacheAlt::destroy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - ats_free
    - HTTPCacheAlt::destroy
    - free
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPCacheAlt::destroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1978,1
    - Dst: HTTPCacheAlt*::m_request_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1982,1
    - Dst: HTTPCacheAlt::copy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1983,1
    - Dst: HTTPCacheAlt*::m_response_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1986,1
    - Dst: HTTPCacheAlt::copy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1987,1
    - Dst: HTTPCacheAlt::copy_frag_offsets_from
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:1992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - to_copy
    argTypes:
    - HTTPCacheAlt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1993
    functionName: HTTPCacheAlt::copy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - HTTPCacheAlt::copy_frag_offsets_from
    - memcpy
    - HTTPCacheAlt*::m_response_hdr::valid
    - HTTPCacheAlt*::m_request_hdr::valid
    - HTTPCacheAlt::copy
    linkageType: ''
    returnType: void
    signature: void HTTPCacheAlt::copy(HTTPCacheAlt *to_copy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FragOffset *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2010,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2010,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - HTTPCacheAlt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1995
    functionDepth: 1
    functionLinenumber: 1995
    functionLinenumberEnd: 2016
    functionName: HTTPCacheAlt::copy_frag_offsets_from
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ats_malloc
    - static_cast<FragOffset *>
    linkageType: ''
    returnType: void
    signature: void HTTPCacheAlt::copy_frag_offsets_from(HTTPCacheAlt *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2024
    functionName: HTTPInfo::create
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - alloc
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPInfo::destroy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2030,1
    - Dst: HTTPInfo::create
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2033,1
    - Dst: HTTPInfo::copy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hi
    argTypes:
    - HTTPInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2035
    functionName: HTTPInfo::copy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - HTTPInfo::create
    - HTTPInfo::copy
    - HTTPInfo::destroy
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::copy(HTTPInfo *hi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPInfo::copy_frag_offsets_from
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - HTTPInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2043
    functionName: HTTPInfo::copy_frag_offsets_from
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - HTTPInfo::copy_frag_offsets_from
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::copy_frag_offsets_from(HTTPInfo *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_request_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2050,1
    - Dst: m_request_hdr::m_heap::marshal_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2051,1
    - Dst: m_response_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2054,1
    - Dst: m_response_hdr::m_heap::marshal_length
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2063
    functionName: HTTPInfo::marshal_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - m_response_hdr::valid
    - m_response_hdr::m_heap::marshal_length
    - m_request_hdr::m_heap::marshal_length
    - m_request_hdr::valid
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::marshal_length()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2070,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2073,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2082,1
    - Dst: static_cast<FragOffset *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2091,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2091,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2092,1
    - Dst: m_request_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2102,1
    - Dst: m_request_hdr::m_heap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2103,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2104,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2105,1
    - Dst: m_response_hdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2112,1
    - Dst: m_response_hdr::m_heap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2113,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2114,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2115,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2128
    functionName: HTTPInfo::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<intptr_t>
    - m_response_hdr::valid
    - ink_release_assert
    - reinterpret_cast<HTTPCacheAlt *>
    - m_request_hdr::m_heap::marshal
    - static_cast<FragOffset *>
    - reinterpret_cast<void *>
    - m_response_hdr::m_heap::marshal
    - m_request_hdr::valid
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::marshal(char *buf, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2133,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2139,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2140,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2143,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2147,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2149,1
    - Dst: reinterpret_cast<FragOffset *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2153,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2153,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2155,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2162,1
    - Dst: HdrHeap*::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2166,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2166,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2168,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2178,1
    - Dst: HdrHeap*::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2180,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2180,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2180,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - len
    - block_ref
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2195
    functionName: HTTPInfo::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<HdrHeap *>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<FragOffset *>
    - reinterpret_cast<HTTPCacheAlt *>
    - HdrHeap*::unmarshal
    - reinterpret_cast<HdrHeapObjImpl **>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::unmarshal(char *buf, int len, RefCountObj *block_ref)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2200,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2206,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2207,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2210,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2214,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2216,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2222,1
    - Dst: static_cast<FragOffset *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2233,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2233,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2234,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2235,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2243,1
    - Dst: HdrHeap*::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2247,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2247,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2247,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2249,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2259,1
    - Dst: HdrHeap*::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2261,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2261,1
    - Dst: reinterpret_cast<HdrHeapObjImpl **>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2261,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - buf
    - len
    - block_ref
    argTypes:
    - char*
    - int
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2276
    functionName: HTTPInfo::unmarshal_v24_1
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<HdrHeap *>
    - reinterpret_cast<HTTPCacheAlt *>
    - static_cast<FragOffset *>
    - ats_malloc
    - HdrHeap*::unmarshal
    - reinterpret_cast<HdrHeapObjImpl **>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::unmarshal_v24_1(char *buf, int len, RefCountObj *block_ref)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2285,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2307,1
    - Dst: HdrHeap*::check_marshalled
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2308,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2320,1
    - Dst: HdrHeap*::check_marshalled
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2326
    functionName: HTTPInfo::check_marshalled
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - HdrHeap*::check_marshalled
    - reinterpret_cast<HdrHeap *>
    - reinterpret_cast<HTTPCacheAlt *>
    linkageType: ''
    returnType: bool
    signature: bool HTTPInfo::check_marshalled(char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2344,1
    - Dst: m_ext_buffer::refcount_dec
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2348,1
    - Dst: m_ext_buffer::free
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2349,1
    - Dst: RefCountObj*::refcount_inc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - block_ref
    argTypes:
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2341
    functionDepth: 1
    functionLinenumber: 2341
    functionLinenumberEnd: 2359
    functionName: HTTPInfo::set_buffer_reference
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - RefCountObj*::refcount_inc
    - m_ext_buffer::refcount_dec
    - ink_assert
    - m_ext_buffer::free
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::set_buffer_reference(RefCountObj *block_ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HTTPCacheAlt *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2366,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2370,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2371,1
    - Dst: HTTPInfo::clear
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2377
    functionName: HTTPInfo::get_handle
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 1
    functionsReached:
    - HTTPInfo::clear
    - ink_assert
    - reinterpret_cast<HTTPCacheAlt *>
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::get_handle(char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2382,1
    - Dst: static_cast<FragOffset *>
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2389,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2389,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2390,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/HTTP.cc:2392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - FragOffset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2398
    functionName: HTTPInfo::push_frag_offset
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HTTP.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_free
    - static_cast<FragOffset *>
    - ats_malloc
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::push_frag_offset(FragOffset offset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:62,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:65,1
    - Dst: mime_hdr_describe
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:71,1
    - Dst: mime_field_block_describe
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:74,1
    - Dst: http_hdr_describe
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:77,1
    - Dst: url_describe
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - obj
    - recurse
    argTypes:
    - HdrHeapObjImpl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: obj_describe
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - mime_field_block_describe
    - static_cast<HdrHeapObjType>
    - http_hdr_describe
    - url_describe
    - Dbg
    - mime_hdr_describe
    linkageType: ''
    returnType: void
    signature: void obj_describe(HdrHeapObjImpl *obj, bool recurse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:93,1
    - Dst: detach
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:103,1
    - Dst: m_ref_count_ptr::detach
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:107,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: HdrHeap::init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - detach
    - m_ref_count_ptr::detach
    - reinterpret_cast<char *>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:122,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:122,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:122,1
    - Dst: static_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:124,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:124,1
    - Dst: HdrHeap*::init
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: new_HdrHeap
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - THREAD_ALLOC
    - static_cast<HdrHeap *>
    - ats_malloc
    - this_ethread
    - HdrHeap*::init
    linkageType: ''
    returnType: HdrHeap
    signature: 'HdrHeap *

      new_HdrHeap(int size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HdrStrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:146,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:146,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:146,1
    - Dst: swoc::round_up<HdrStrHeap::DEFAULT_SIZE * 2>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:148,1
    - Dst: static_cast<HdrStrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:149,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:149,1
    - Dst: HdrStrHeap::HdrStrHeap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:153,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:157,1
    - Dst: HdrStrHeap*::refcount
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:157,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:159,1
    - Dst: HdrStrHeap*::total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:159,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - heap_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 164
    functionName: HdrStrHeap::alloc
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - THREAD_ALLOC
    - HdrStrHeap*::refcount
    - HdrStrHeap::HdrStrHeap
    - HdrStrHeap*::total_size
    - static_cast<HdrStrHeap *>
    - ats_malloc
    - swoc::round_up<HdrStrHeap::DEFAULT_SIZE * 2>
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: HdrStrHeap
    signature: 'HdrStrHeap *

      HdrStrHeap::alloc(int heap_size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap::destroy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:170,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:179,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:179,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: HdrHeap::destroy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - THREAD_FREE
    - ats_free
    - this_thread
    - HdrHeap::destroy
    linkageType: ''
    returnType: void
    signature: void HdrHeap::destroy()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:191,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:193,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:195,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:196,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:203,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:208,1
    - Dst: obj_init_header
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:209,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:210,1
    - Dst: obj_is_aligned
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:210,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - nbytes
    - type
    argTypes:
    - int
    - HdrHeapObjType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 225
    functionName: HdrHeap::allocate_obj
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - new_HdrHeap
    - obj_is_aligned
    - obj_init_header
    - reinterpret_cast<HdrHeapObjImpl *>
    - static_cast<unsigned>
    - ink_assert
    linkageType: ''
    returnType: HdrHeapObjImpl
    signature: 'HdrHeapObjImpl *

      HdrHeap::allocate_obj(int nbytes, HdrHeapObjType type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:230,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: HdrHeap::deallocate_obj
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::deallocate_obj(HdrHeapObjImpl *obj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:239,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:249,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:255,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:258,1
    - Dst: HdrHeap::coalesce_str_heaps
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:264,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:271,1
    - Dst: HdrStrHeap::alloc
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:275,1
    - Dst: allocate
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:278,1
    - Dst: total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:282,1
    - Dst: HdrHeap::demote_rw_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 293
    functionName: HdrHeap::allocate_str
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Warning
    - allocate
    - HdrStrHeap::alloc
    - total_size
    - HdrHeap::coalesce_str_heaps
    - HdrHeap::demote_rw_str_heap
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrHeap::allocate_str(int nbytes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:306,1
    - Dst: expand
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:307,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - old_str
    - old_len
    - new_len
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: HdrHeap::expand_str
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - contains
    - const_cast<char *>
    - expand
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrHeap::expand_str(const char *old_str, int old_len, int new_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap::allocate_str
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:322,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - nbytes
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: HdrHeap::duplicate_str
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - HdrHeap::allocate_str
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrHeap::duplicate_str(const char *str, int nbytes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: object
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:342,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:343,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:343,1
    - Dst: total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:344,1
    - Dst: space_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: HdrHeap::demote_rw_str_heap
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - get
    - object
    - total_size
    - reinterpret_cast<char *>
    - space_avail
    linkageType: ''
    returnType: int
    signature: int HdrHeap::demote_rw_str_heap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:370,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:371,1
    - Dst: HdrHeap::required_space_for_evacuation
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:373,1
    - Dst: HdrStrHeap::alloc
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:375,1
    - Dst: HdrHeap::evacuate_from_str_heaps
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:376,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - incoming_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 398
    functionName: HdrHeap::coalesce_str_heaps
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - HdrHeap::required_space_for_evacuation
    - HdrHeap::evacuate_from_str_heaps
    - HdrStrHeap::alloc
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::coalesce_str_heaps(int incoming_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:407,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:413,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:416,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:418,1
    - Dst: move_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:420,1
    - Dst: move_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:423,1
    - Dst: move_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:426,1
    - Dst: move_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:429,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrStrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 444
    functionName: HdrHeap::evacuate_from_str_heaps
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<HdrHeapObjImpl *>
    - move_strings
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::evacuate_from_str_heaps(HdrStrHeap *new_heap)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:456,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:459,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:461,1
    - Dst: strings_length
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:463,1
    - Dst: strings_length
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:466,1
    - Dst: strings_length
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:469,1
    - Dst: strings_length
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:472,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:479,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:483,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:486,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 499
    functionName: HdrHeap::required_space_for_evacuation
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - strings_length
    - ink_release_assert
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<HdrHeapObjImpl *>
    linkageType: ''
    returnType: size_t
    signature: size_t HdrHeap::required_space_for_evacuation()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:509,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:509,1
    - Dst: total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:511,1
    - Dst: space_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:511,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:533,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:536,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:538,1
    - Dst: check_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:540,1
    - Dst: check_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:543,1
    - Dst: check_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:546,1
    - Dst: check_strings
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:549,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 564
    functionName: HdrHeap::sanity_check_strs
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - get
    - ink_release_assert
    - static_cast<HdrHeapObjType>
    - reinterpret_cast<HdrHeapObjImpl *>
    - total_size
    - reinterpret_cast<char *>
    - check_strings
    - space_avail
    linkageType: ''
    returnType: void
    signature: void HdrHeap::sanity_check_strs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:583,1
    - Dst: total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:591,1
    - Dst: space_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:591,1
    - Dst: HdrHeapMarshalBlocks
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:600,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 602
    functionName: HdrHeap::marshal_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - HdrHeapMarshalBlocks
    - total_size
    - space_avail
    linkageType: ''
    returnType: int
    signature: int HdrHeap::marshal_length()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 623
    functionName: compute_checksum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t compute_checksum(void *buf, int len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:639,1
    - Dst: reinterpret_cast<HdrHeap *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:641,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:666,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:671,1
    - Dst: static_cast<MarshalXlate *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:675,1
    - Dst: alloca
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:675,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:676,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:697,1
    - Dst: value
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:697,1
    - Dst: HdrHeap*::m_read_write_heap::detach
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:703,1
    - Dst: static_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:707,1
    - Dst: m_ref_count_ptr::detach
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:708,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:725,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:725,1
    - Dst: total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:726,1
    - Dst: space_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:726,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:732,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:751,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:758,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:774,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:775,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:778,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:779,1
    - Dst: obj_is_aligned
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:779,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:781,1
    - Dst: HdrHeap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:783,1
    - Dst: HdrHeap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:788,1
    - Dst: HdrHeap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:793,1
    - Dst: HdrHeap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:798,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:807,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:813,1
    - Dst: HdrHeapMarshalBlocks
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:822,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:822,1
    - Dst: compute_checksum
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:826,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 836
    functionName: HdrHeap::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - reinterpret_cast<HdrHeapObjImpl *>
    - alloca
    - total_size
    - static_cast<MarshalXlate *>
    - get
    - value
    - HdrHeap::marshal
    - m_ref_count_ptr::detach
    - static_cast<int>
    - static_cast<intptr_t>
    - ink_release_assert
    - space_avail
    - ink_assert
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - reinterpret_cast<HdrHeap *>
    - obj_is_aligned
    - static_cast<HdrHeapObjType>
    - HdrHeapMarshalBlocks
    - compute_checksum
    - HdrHeap*::m_read_write_heap::detach
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: int
    signature: int HdrHeap::marshal(char *buf, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - buf_length
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 875
    functionName: HdrHeap::check_marshalled
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HdrHeap::check_marshalled(uint32_t buf_length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:897,1
    - Dst: HdrHeap::unmarshal_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:901,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:903,1
    - Dst: ROUND
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:910,1
    - Dst: compute_checksum
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:911,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:914,1
    - Dst: HdrHeap::dump_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:915,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:916,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:927,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:928,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:929,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:931,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:934,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:935,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:936,1
    - Dst: m_ref_count_ptr::swizzle
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:949,1
    - Dst: reinterpret_cast<HdrHeapObjImpl *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:958,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:959,1
    - Dst: obj_is_aligned
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:959,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:962,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:964,1
    - Dst: static_cast<HdrHeapObjType>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:968,1
    - Dst: HdrHeap::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:970,1
    - Dst: HdrHeap::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:973,1
    - Dst: HdrHeap::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:976,1
    - Dst: HdrHeap::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:979,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:985,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:985,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:986,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:986,1
    - Dst: HdrHeap::dump_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:987,1
    - Dst: HdrHeapMarshalBlocks
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:996,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:996,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 4
    argNames:
    - buf_length
    - obj_type
    - found_obj
    - block_ref
    argTypes:
    - int
    - int
    - HdrHeapObjImpl**
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 998
    functionName: HdrHeap::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - fprintf
    - ink_release_assert
    - obj_is_aligned
    - static_cast<HdrHeapObjType>
    - HdrHeapMarshalBlocks
    - HdrHeap::unmarshal_size
    - compute_checksum
    - reinterpret_cast<HdrHeapObjImpl *>
    - ROUND
    - m_ref_count_ptr::swizzle
    - reinterpret_cast<char *>
    - HdrHeap::unmarshal
    - static_cast<unsigned>
    - HdrHeap::dump_heap
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HdrHeap::unmarshal(int buf_length, int obj_type, HdrHeapObjImpl
      **found_obj, RefCountObj *block_ref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1003,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1010,1
    - Dst: m_ref_count_ptr::object
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - h_start
    - h_len
    - h_ref_obj
    - index
    argTypes:
    - char*
    - int
    - RefCountObj*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1030
    functionName: HdrHeap::attach_str_heap
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - m_ref_count_ptr::object
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HdrHeap::attach_str_heap(char const *h_start, int h_len, RefCountObj
      *h_ref_obj, int *index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1048,1
    - Dst: HdrHeap*::m_read_write_heap::total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1063,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1079,1
    - Dst: HdrHeap::coalesce_str_heaps
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1088,1
    - Dst: HdrHeap*::m_read_write_heap::total_size
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1093,1
    - Dst: HdrHeap*::m_read_write_heap::space_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1093,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1094,1
    - Dst: HdrHeap::attach_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1094,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1094,1
    - Dst: HdrHeap*::m_read_write_heap::get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1094,1
    - Dst: HdrHeap*::m_read_write_heap::get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1095,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1100,1
    - Dst: HdrHeap::attach_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1100,1
    - Dst: m_ref_count_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - inherit_from
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1108
    functionName: HdrHeap::inherit_string_heaps
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - HdrHeap*::m_read_write_heap::total_size
    - m_ref_count_ptr::get
    - HdrHeap*::m_read_write_heap::get
    - HdrHeap::attach_str_heap
    - reinterpret_cast<char *>
    - HdrHeap::coalesce_str_heaps
    - HdrHeap*::m_read_write_heap::space_avail
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::inherit_string_heaps(const HdrHeap *inherit_from)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1117,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1124,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1126,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1126,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1130,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1130,1
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1136,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1141,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1144,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1149
    functionName: HdrHeap::dump_heap
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - fprintf
    - reinterpret_cast<uint32_t *>
    - reinterpret_cast<char *>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void HdrHeap::dump_heap(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1163
    functionName: HdrHeap::total_used_size
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HdrHeap::total_used_size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1173,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1173,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1177
    functionName: HdrStrHeap::free
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - ats_free
    - this_thread
    linkageType: ''
    returnType: void
    signature: void HdrStrHeap::free()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1187,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: HdrStrHeap::allocate
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - static_cast<unsigned>
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrStrHeap::allocate(int nbytes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1206,1
    - Dst: HdrStrHeap::contains
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1206,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - old_size
    - new_size
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1215
    functionName: HdrStrHeap::expand
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrHeap.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - HdrStrHeap::contains
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrStrHeap::expand(char *ptr, int old_size, int new_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node *>
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:305,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: make_huffman_tree_node
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached:
    - static_cast<Node *>
    - ats_malloc
    linkageType: ''
    returnType: Node
    signature: 'Node *

      make_huffman_tree_node()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_huffman_tree_node
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:316,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:319,1
    - Dst: make_huffman_tree_node
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:326,1
    - Dst: make_huffman_tree_node
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 342
    functionName: make_huffman_tree
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached:
    - countof
    - make_huffman_tree_node
    linkageType: ''
    returnType: Node
    signature: 'Node *

      make_huffman_tree()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_huffman_tree
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:348,1
    - Dst: free_huffman_tree
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:351,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: free_huffman_tree
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 1
    functionsReached:
    - ats_free
    - free_huffman_tree
    linkageType: ''
    returnType: void
    signature: void free_huffman_tree(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_huffman_tree
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: hpack_huffman_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 4
    functionsReached:
    - make_huffman_tree
    linkageType: ''
    returnType: void
    signature: void hpack_huffman_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_huffman_tree
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: hpack_huffman_fin
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached:
    - free_huffman_tree
    linkageType: ''
    returnType: void
    signature: void hpack_huffman_fin()
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - dst_start
    - src
    - src_len
    argTypes:
    - char*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 432
    functionName: huffman_decode
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t huffman_decode(char *dst_start, const uint8_t *src, uint32_t
      src_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: huffman_encode_append
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      huffman_encode_append(uint8_t *dst, uint32_t src, int n = 0)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: huffman_encode_append
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:460,1
    - Dst: huffman_encode_append
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:465,1
    - Dst: huffman_encode_append
      Src: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - dst_start
    - src
    - src_len
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 480
    functionName: huffman_encode
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HuffmanCodec.cc
    functionUses: 0
    functionsReached:
    - huffman_encode_append
    linkageType: ''
    returnType: int64_t
    signature: int64_t huffman_encode(uint8_t *dst_start, const uint8_t *src, uint32_t
      src_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: TINY_MASK
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TINY_MASK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TINY_MASK
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: hash_to_slot
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached:
    - TINY_MASK
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_to_slot(uint32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32FNV1a::ATSHash32FNV1a
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:315,1
    - Dst: ATSHash32FNV1a::update
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:316,1
    - Dst: equal_nocase
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:316,1
    - Dst: ATSHash32FNV1a::final
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:317,1
    - Dst: ATSHash32FNV1a::get
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: hdrtoken_hash
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached:
    - ATSHash32FNV1a::get
    - ATSHash32FNV1a::update
    - ATSHash32FNV1a::ATSHash32FNV1a
    - ATSHash32FNV1a::final
    - equal_nocase
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hdrtoken_hash(const unsigned char *string, unsigned int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:330,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:333,1
    - Dst: hdrtoken_tokenize_dfa
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:337,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:337,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:337,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:337,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:338,1
    - Dst: hdrtoken_hash
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:340,1
    - Dst: hash_to_slot
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:341,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:344,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:344,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:348,1
    - Dst: abort
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 355
    functionName: hdrtoken_hash_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<int>
    - hash_to_slot
    - ink_release_assert
    - reinterpret_cast<const char *>
    - reinterpret_cast<const char **>
    - hdrtoken_hash
    - SIZEOF
    - strlen
    - hdrtoken_tokenize_dfa
    - printf
    - abort
    linkageType: ''
    returnType: void
    signature: void hdrtoken_hash_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - unit
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: snap_up_to_multiple
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int snap_up_to_multiple(unsigned int n, unsigned int unit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DFA::DFA
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:385,1
    - Dst: compile
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:386,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:386,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:396,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:397,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:397,1
    - Dst: snap_up_to_multiple
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:398,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:403,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:403,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:406,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:408,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:411,1
    - Dst: TOK_64_CONST
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:418,1
    - Dst: snap_up_to_multiple
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:421,1
    - Dst: reinterpret_cast<HdrTokenHeapPrefix *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:423,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:427,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:427,1
    - Dst: hdrtoken_tokenize_dfa
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:438,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:439,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:439,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:441,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:441,1
    - Dst: hdrtoken_index_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:443,1
    - Dst: hdrtoken_tokenize_dfa
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:452,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:453,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:453,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:455,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:455,1
    - Dst: hdrtoken_index_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:456,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:462,1
    - Dst: hdrtoken_index_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:463,1
    - Dst: hdrtoken_hash_init
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 473
    functionName: hdrtoken_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memset
    - snap_up_to_multiple
    - compile
    - ink_strlcpy
    - const_cast<char *>
    - ink_assert
    - DFA::DFA
    - SIZEOF
    - strlen
    - ats_malloc
    - static_cast<const char *>
    - hdrtoken_tokenize_dfa
    - hdrtoken_hash_init
    - hdrtoken_index_to_prefix
    - reinterpret_cast<HdrTokenHeapPrefix *>
    - TOK_64_CONST
    linkageType: ''
    returnType: void
    signature: void hdrtoken_init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:483,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:483,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - string
    - string_len
    - wks_string_out
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: hdrtoken_tokenize_dfa
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - match
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: int
    signature: int hdrtoken_tokenize_dfa(const char *string, int string_len, const
      char **wks_string_out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:510,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:511,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:514,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - string
    - string_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: hdrtoken_method_tokenize
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 1
    functionsReached:
    - strncmp
    - hdrtoken_tokenize
    - hdrtoken_wks_to_index
    - hdrtoken_is_wks
    linkageType: ''
    returnType: int
    signature: int hdrtoken_method_tokenize(const char *string, int string_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:533,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:535,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:536,1
    - Dst: hdrtoken_hash
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:543,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:543,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:543,1
    - Dst: hash_to_slot
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:544,1
    - Dst: hdrtoken_wks_to_length
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:547,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:548,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - string
    - string_len
    - wks_string_out
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 557
    functionName: hdrtoken_tokenize
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 5
    functionsReached:
    - hash_to_slot
    - static_cast<unsigned int>
    - hdrtoken_wks_to_length
    - hdrtoken_hash
    - Dbg
    - hdrtoken_is_wks
    - reinterpret_cast<const unsigned char *>
    - hdrtoken_wks_to_index
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_tokenize(const char *string, int string_len, const char
      **wks_string_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:566,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:566,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: hdrtoken_string_to_wks
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - hdrtoken_tokenize
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      hdrtoken_string_to_wks(const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: hdrtoken_string_to_wks
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 2
    functionsReached:
    - hdrtoken_tokenize
    linkageType: ''
    returnType: char
    signature: 'char *

      hdrtoken_string_to_wks(const char *string, int length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:588,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:589,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: hdrtoken_string_to_wks_sv
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - hdrtoken_tokenize
    - strlen
    linkageType: ''
    returnType: c_str_view
    signature: c_str_view hdrtoken_string_to_wks_sv(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:600,1
    - Dst: static_cast<c_str_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/HdrToken.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: hdrtoken_string_to_wks_sv
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrToken.cc
    functionUses: 1
    functionsReached:
    - static_cast<c_str_view::size_type>
    - hdrtoken_tokenize
    linkageType: ''
    returnType: c_str_view
    signature: c_str_view hdrtoken_string_to_wks_sv(const char *string, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: XPACKDbg
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XPACKDbg(fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s1_len
    - s2
    - s2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: match
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 31
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match(const char *s1, int s1_len, const char *s2, int s2_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: XPACKDbg
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XPACKDbg(fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s1_len
    - s2
    - s2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: match
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 31
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match(const char *s1, int s1_len, const char *s2, int s2_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - dst
    - buf_start
    - buf_end
    - n
    argTypes:
    - uint64_t
    - uint8_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 92
    functionName: xpack_decode_integer
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t xpack_decode_integer(uint64_t &dst, const uint8_t *buf_start,
      const uint8_t *buf_end, uint8_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:110,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:116,1
    - Dst: Arena::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:122,1
    - Dst: huffman_decode
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:124,1
    - Dst: Arena::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:130,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:132,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - arena
    - str
    - str_length
    - buf_start
    - buf_end
    - n
    argTypes:
    - Arena
    - char**
    - uint64_t
    - uint8_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: xpack_decode_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - xpack_decode_integer
    - reinterpret_cast<const char *>
    - Arena::str_alloc
    - static_cast<uint64_t>
    - huffman_decode
    linkageType: ''
    returnType: int64_t
    signature: int64_t xpack_decode_string(Arena &arena, char **str, uint64_t &str_length,
      const uint8_t *buf_start, const uint8_t *buf_end, uint8_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:155,1
    - Dst: UINT64_C
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - buf_start
    - buf_end
    - value
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: xpack_encode_integer
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - UINT64_C
    linkageType: ''
    returnType: int64_t
    signature: int64_t xpack_encode_integer(uint8_t *buf_start, const uint8_t *buf_end,
      uint64_t value, uint8_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:186,1
    - Dst: huffman_encode
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:192,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:192,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:196,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - buf_start
    - buf_end
    - value
    - value_len
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    - char*
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 219
    functionName: xpack_encode_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<const uint8_t *>
    - huffman_encode
    - xpack_encode_integer
    - ts::LocalBuffer::data
    linkageType: ''
    returnType: int64_t
    signature: int64_t xpack_encode_string(uint8_t *buf_start, const uint8_t *buf_end,
      const char *value, uint64_t value_len, uint8_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:226,1
    - Dst: static_cast<struct XpackDynamicTableEntry *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:227,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: XpackDynamicTable::XpackDynamicTable
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XPACKDbg
    - static_cast<struct XpackDynamicTableEntry *>
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTable::XpackDynamicTable(uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: XpackDynamicTable::~XpackDynamicTable()
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTable::~XpackDynamicTable()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:243,1
    - Dst: XpackDynamicTable::is_empty
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:245,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:255,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:260,1
    - Dst: XpackDynamicTable::_storage::read
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - index
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - uint32_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 268
    functionName: XpackDynamicTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::_calc_index
    - XPACKDbg
    - XpackDynamicTable::_storage::read
    - XpackDynamicTable::is_empty
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::lookup(uint32_t index, const char
      **name, size_t *name_len, const char **value, size_t *value_len) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:273,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:273,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:273,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:275,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:276,1
    - Dst: XpackDynamicTable::is_empty
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:282,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:286,1
    - Dst: XpackDynamicTable::_storage::read
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:288,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:289,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:291,1
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:303,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 305
    functionName: XpackDynamicTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - XPACKDbg
    - XpackDynamicTable::is_empty
    - match
    - static_cast<unsigned int>
    - XpackDynamicTable::_storage::read
    - XpackDynamicTable::_calc_index
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::lookup(const char *name, size_t
      name_len, const char *value, size_t value_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::lookup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:310,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:310,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:310,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:310,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: XpackDynamicTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 1
    functionsReached:
    - XpackDynamicTable::lookup
    - std::string_view::data
    - std::string_view::length
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::lookup(const std::string_view
      name, const std::string_view value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:317,1
    - Dst: XpackDynamicTable::lookup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - relative_index
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - uint32_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: XpackDynamicTable::lookup_relative
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XPACKDbg
    - XpackDynamicTable::lookup
    linkageType: ''
    returnType: XpackLookupResult
    signature: "XpackLookupResult XpackDynamicTable::lookup_relative(uint32_t relative_index,
      const char **name, size_t *name_len, const char **value,\n                                   size_t
      *value_len) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::lookup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: XpackDynamicTable::lookup_relative
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::lookup
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::lookup_relative(const char *name,
      size_t name_len, const char *value, size_t value_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::lookup_relative
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:332,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:332,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:332,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:332,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: XpackDynamicTable::lookup_relative
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 1
    functionsReached:
    - std::string_view::length
    - XpackDynamicTable::lookup_relative
    - std::string_view::data
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::lookup_relative(const std::string_view
      name, const std::string_view value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:339,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:343,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:343,1
    - Dst: XpackDynamicTable::_make_space
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:345,1
    - Dst: UINT32_C
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:348,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:354,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:355,1
    - Dst: XpackDynamicTable::_storage::write
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:358,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:358,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:358,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:359,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:360,1
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:365,1
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 368
    functionName: XpackDynamicTable::insert_entry
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XPACKDbg
    - XpackDynamicTable::_make_space
    - XpackDynamicTable::_storage::write
    - static_cast<uint32_t>
    - static_cast<uint64_t>
    - hdrtoken_tokenize
    - XpackDynamicTable::_calc_index
    - UINT32_C
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::insert_entry(const char *name,
      size_t name_len, const char *value, size_t value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::insert_entry
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:373,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:373,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:373,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:373,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: XpackDynamicTable::insert_entry
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 1
    functionsReached:
    - XpackDynamicTable::insert_entry
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::insert_entry(const std::string_view
      name, const std::string_view value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::lookup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:386,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:392,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:393,1
    - Dst: XpackDynamicTable::insert_entry
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:394,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:395,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - current_index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: XpackDynamicTable::duplicate_entry
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - XpackDynamicTable::insert_entry
    - ats_strndup
    - XpackDynamicTable::lookup
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult XpackDynamicTable::duplicate_entry(uint32_t current_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: XpackDynamicTable::should_duplicate
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool XpackDynamicTable::should_duplicate(uint32_t /* index ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::_expand_storage_size
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:416,1
    - Dst: XpackDynamicTable::_make_space
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - new_max_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 430
    functionName: XpackDynamicTable::update_maximum_size
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::_make_space
    - XpackDynamicTable::_expand_storage_size
    linkageType: ''
    returnType: bool
    signature: bool XpackDynamicTable::update_maximum_size(uint32_t new_max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: XpackDynamicTable::size
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTable::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: XpackDynamicTable::maximum_size
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTable::maximum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: XpackDynamicTable::ref_entry
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::_calc_index
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTable::ref_entry(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: XpackDynamicTable::unref_entry
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::_calc_index
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTable::unref_entry(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: XpackDynamicTable::is_empty
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool XpackDynamicTable::is_empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:468,1
    - Dst: XpackDynamicTable::is_empty
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: XpackDynamicTable::largest_index
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::is_empty
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTable::largest_index() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::is_empty
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: XpackDynamicTable::count
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - XpackDynamicTable::is_empty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTable::count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExpandCapacityContext::ok_to_expand
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:488,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:491,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:492,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:493,1
    - Dst: ExpandCapacityContext::copy_field
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - new_storage_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 497
    functionName: XpackDynamicTable::_expand_storage_size
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 1
    functionsReached:
    - ExpandCapacityContext::copy_field
    - ExpandCapacityContext::ok_to_expand
    - XpackDynamicTable::_calc_index
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTable::_expand_storage_size(uint32_t new_storage_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:507,1
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:517,1
    - Dst: XpackDynamicTable::_calc_index
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:517,1
    - Dst: XPACKDbg
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - extra_space_needed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: XpackDynamicTable::_make_space
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 2
    functionsReached:
    - XPACKDbg
    - XpackDynamicTable::_calc_index
    linkageType: ''
    returnType: bool
    signature: bool XpackDynamicTable::_make_space(uint64_t extra_space_needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - base
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: XpackDynamicTable::_calc_index
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 7
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTable::_calc_index(uint32_t base, int64_t offset)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:545,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: XpackDynamicTableStorage::XpackDynamicTableStorage
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTableStorage::XpackDynamicTableStorage(uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: XpackDynamicTableStorage::~XpackDynamicTableStorage()
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTableStorage::~XpackDynamicTableStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:558,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - offset
    - name
    - name_len
    - value
    argTypes:
    - uint32_t
    - char**
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: XpackDynamicTableStorage::read
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: void
    signature: "void XpackDynamicTableStorage::read(uint32_t offset, const char **name,
      uint32_t name_len, const char **value,\n                               uint32_t
      /* value_len ATS_UNUSED */) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:567,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:568,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:572,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 585
    functionName: XpackDynamicTableStorage::write
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ink_release_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XpackDynamicTableStorage::write(const char *name, uint32_t
      name_len, const char *value, uint32_t value_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:601,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - new_maximum_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 610
    functionName: XpackDynamicTableStorage::_start_expanding_capacity
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_malloc
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool XpackDynamicTableStorage::_start_expanding_capacity(uint32_t new_maximum_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: XpackDynamicTableStorage::_finish_expanding_capacity
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void XpackDynamicTableStorage::_finish_expanding_capacity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:622,1
    - Dst: ExpandCapacityContext::_storage::write
      Src: /src/trafficserver/src/proxy/hdrs/XPACK.cc:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: ExpandCapacityContext::copy_field
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/XPACK.cc
    functionUses: 1
    functionsReached:
    - ExpandCapacityContext::_storage::write
    - reinterpret_cast<char const *>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ExpandCapacityContext::copy_field(uint32_t offset, uint32_t
      len)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:34,1
    - Dst: auto::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:37,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:38,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:47,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:49,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:54,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:65,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:65,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:66,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:66,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:67,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:67,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:68,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:68,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:73,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:75,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:76,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:83,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:83,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:85,1
    - Dst: HTTPHdr::fields_count
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:97,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:98,1
    - Dst: HTTPHdr::fields_count
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:107,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:108,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:108,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:109,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:109,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:110,1
    - Dst: HTTPHdr::fields_count
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:114,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:115,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:115,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:116,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:116,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc:117,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 62
    argCount: 3
    argNames:
    - hdr
    - is_response
    - is_trailing_header
    argTypes:
    - HTTPHdr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 128
    functionName: HeaderValidator::is_h2_h3_header_valid
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HeaderValidator.cc
    functionUses: 0
    functionsReached:
    - MIMEField*::name_get
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr::fields_count
    - HTTPHdr::field_find
    - MIMEField*::value_get
    - auto::value_get
    linkageType: ''
    returnType: bool
    signature: bool HeaderValidator::is_h2_h3_header_valid(const HTTPHdr &hdr, bool
      is_response, bool is_trailing_header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:41,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:48,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:52,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:53,1
    - Dst: URL::MD5_get
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:60,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:63,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:64,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:66,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 70
    functionName: test_url
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc
    functionUses: 0
    functionsReached:
    - URL::destroy
    - URL::URL
    - URL::MD5_get
    - URL::parse
    - strlen
    - printf
    - URL::create
    linkageType: ''
    returnType: void
    signature: void test_url()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_init
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:75,1
    - Dst: url_init
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:76,1
    - Dst: mime_init
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:77,1
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:78,1
    - Dst: test_url
      Src: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/test_urlhash.cc
    functionUses: 3
    functionsReached:
    - test_url
    - url_init
    - http_init
    - mime_init
    - hdrtoken_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:55,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:55,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:56,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:62,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:68,1
    - Dst: attach_block
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:71,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:71,1
    - Dst: lock_ronly_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:73,1
    - Dst: http_parser_parse_req
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:74,1
    - Dst: set_ronly_str_heap_end
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:76,1
    - Dst: unlock_ronly_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:77,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:79,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - parser
    - r
    - bytes_used
    - eof
    - strict_uri_parsing
    - max_request_line_size
    - max_hdr_field_size
    argTypes:
    - HTTPParser*
    - IOBufferReader*
    - int*
    - bool
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: HTTPHdr::parse_req
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - http_parser_parse_req
    - IOBufferReader*::get_current_block
    - attach_block
    - IOBufferReader*::start
    - set_ronly_str_heap_end
    - IOBufferReader*::consume
    - lock_ronly_str_heap
    - HTTPHdr::valid
    - IOBufferReader*::block_read_avail
    - unlock_ronly_str_heap
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult HTTPHdr::parse_req(HTTPParser *parser, IOBufferReader
      *r, int *bytes_used, bool eof, int strict_uri_parsing,\n                   size_t
      max_request_line_size, size_t max_hdr_field_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:96,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:96,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:97,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:103,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:104,1
    - Dst: attach_block
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:120,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:120,1
    - Dst: lock_ronly_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:122,1
    - Dst: http_parser_parse_resp
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:123,1
    - Dst: set_ronly_str_heap_end
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:124,1
    - Dst: unlock_ronly_str_heap
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:125,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:127,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - parser
    - r
    - bytes_used
    - eof
    argTypes:
    - HTTPParser*
    - IOBufferReader*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 134
    functionName: HTTPHdr::parse_resp
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - IOBufferReader*::get_current_block
    - attach_block
    - IOBufferReader*::start
    - http_parser_parse_resp
    - set_ronly_str_heap_end
    - IOBufferReader*::consume
    - lock_ronly_str_heap
    - HTTPHdr::valid
    - IOBufferReader*::block_read_avail
    - unlock_ronly_str_heap
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult HTTPHdr::parse_resp(HTTPParser *parser, IOBufferReader
      *r, int *bytes_used, bool eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:150,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:151,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - slot
    - end
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: HdrHeap::set_ronly_str_heap_end
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HdrHeap::set_ronly_str_heap_end(int slot, const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:170,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:180,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:181,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:181,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:181,1
    - Dst: IOBufferBlock*::data::object
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:182,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:188,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:191,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:191,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:191,1
    - Dst: HdrHeap::coalesce_str_heaps
      Src: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - b
    - use_start
    argTypes:
    - IOBufferBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 203
    functionName: HdrHeap::attach_block
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrTSOnly.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - IOBufferBlock*::start
    - static_cast<char const *>
    - IOBufferBlock*::buf
    - IOBufferBlock*::data::object
    - IOBufferBlock*::end
    - HdrHeap::coalesce_str_heaps
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HdrHeap::attach_block(IOBufferBlock *b, const char *use_start)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_type_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:37,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:45,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:49,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:50,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:53,1
    - Dst: name_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:59,1
    - Dst: value_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:59,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - header
    - from
    - to
    argTypes:
    - HTTPHdr
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: VersionConverter::convert
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - value_is_valid
    - ink_abort
    - name_is_valid
    - http_hdr_type_get
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int VersionConverter::convert(HTTPHdr &header, int from, int to) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: VersionConverter::_convert_nop
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult VersionConverter::_convert_nop(HTTPHdr & /* header ATS_UNUSED
      */) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:77,1
    - Dst: HTTPHdr::method_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:78,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:80,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:82,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:87,1
    - Dst: HTTPHdr::scheme_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:88,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:90,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:91,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:93,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:96,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:101,1
    - Dst: HTTPHdr::host_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:102,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:103,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:103,1
    - Dst: HTTPHdr::is_port_in_header
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:105,1
    - Dst: HTTPHdr::port_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:106,1
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:108,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:109,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:109,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:111,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:112,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:114,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:118,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:118,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:120,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:125,1
    - Dst: HTTPHdr::path_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:126,1
    - Dst: HTTPHdr::query_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:127,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:128,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:128,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:130,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:130,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:130,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:130,1
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:131,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:133,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:133,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:133,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:133,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:134,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:134,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:136,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:136,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:136,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:136,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:137,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:137,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:139,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:139,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:141,1
    - Dst: VersionConverter::_remove_connection_specific_header_fields
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 152
    functionName: VersionConverter::_convert_req_from_1_to_2
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ink_abort
    - HTTPHdr::method_get
    - snprintf
    - HTTPHdr::scheme_get
    - HTTPHdr::field_delete
    - HTTPHdr::query_get
    - HTTPHdr::field_find
    - auto::data
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - VersionConverter::_remove_connection_specific_header_fields
    - MIMEField*::value_set
    - HTTPHdr::host_get
    - HTTPHdr::port_get
    - static_cast<std::string_view::size_type>
    - HTTPHdr::is_port_in_header
    - ts::LocalBuffer::data
    - HTTPHdr::path_get
    - auto::empty
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult VersionConverter::_convert_req_from_1_to_2(HTTPHdr &header)
      const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::version_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:160,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:160,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:163,1
    - Dst: MIMEField*::value_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:164,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:165,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:166,1
    - Dst: HTTPHdr::method_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:170,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:171,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:178,1
    - Dst: MIMEField*::value_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:179,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:180,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:183,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:183,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:183,1
    - Dst: hdrtoken_wks_to_token_type
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:185,1
    - Dst: validate_scheme
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:187,1
    - Dst: HTTPHdr::m_http::u::req::m_url_impl::set_scheme
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:192,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:194,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:201,1
    - Dst: MIMEField*::value_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:202,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:203,1
    - Dst: HTTPHdr::m_http::u::req::m_url_impl::set_host
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:204,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:207,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:207,1
    - Dst: HTTPHdr::field_detach
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:213,1
    - Dst: MIMEField*::name_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:214,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:214,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:215,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:220,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:221,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:230,1
    - Dst: MIMEField*::value_is_valid
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:231,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:232,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:235,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:236,1
    - Dst: HTTPHdr::m_http::u::req::m_url_impl::set_path
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:239,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:241,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:247,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:247,1
    - Dst: HTTPHdr::field_combine_dups
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:248,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 253
    functionName: VersionConverter::_convert_req_from_2_to_1
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - HTTPHdr::field_attach
    - HTTPHdr::m_http::u::req::m_url_impl::set_scheme
    - HTTPHdr::field_combine_dups
    - HTTPHdr::version_set
    - HTTPHdr::m_http::u::req::m_url_impl::set_host
    - MIMEField*::value_get
    - HTTPHdr::m_http::u::req::m_url_impl::set_path
    - auto::remove_prefix
    - HTTPHdr::field_delete
    - HTTPHdr::field_find
    - auto::data
    - MIMEField*::value_is_valid
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr::field_detach
    - auto::starts_with
    - HTTPHdr::method_set
    - MIMEField*::value_set
    - MIMEField*::name_set
    - hdrtoken_tokenize
    - validate_scheme
    - hdrtoken_wks_to_token_type
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult VersionConverter::_convert_req_from_2_to_1(HTTPHdr &header)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:261,1
    - Dst: mime_format_int
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:264,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:264,1
    - Dst: HTTPHdr::status_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:264,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:266,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:267,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:269,1
    - Dst: VersionConverter::_remove_connection_specific_header_fields
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: VersionConverter::_convert_res_from_1_to_2
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr::status_get
    - VersionConverter::_remove_connection_specific_header_fields
    - mime_format_int
    - ink_abort
    - static_cast<std::string_view::size_type>
    - static_cast<int32_t>
    - HTTPHdr::field_find
    - MIMEField*::value_set
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult VersionConverter::_convert_res_from_1_to_2(HTTPHdr &header)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::version_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:282,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:282,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:285,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:286,1
    - Dst: HTTPHdr::status_set
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:288,1
    - Dst: http_parse_status
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:288,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:288,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:288,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:288,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: VersionConverter::_convert_res_from_2_to_1
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - http_parse_status
    - HTTPHdr::status_set
    - auto::length
    - HTTPHdr::field_delete
    - HTTPHdr::version_set
    - HTTPHdr::field_find
    - MIMEField*::value_get
    - auto::data
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult VersionConverter::_convert_res_from_2_to_1(HTTPHdr &header)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:302,1
    - Dst: HTTPHdr::field_delete
      Src: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: VersionConverter::_remove_connection_specific_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/VersionConverter.cc
    functionUses: 2
    functionsReached:
    - HTTPHdr::field_delete
    - HTTPHdr::field_find
    linkageType: ''
    returnType: void
    signature: void VersionConverter::_remove_connection_specific_header_fields(HTTPHdr
      &header) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:39,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:47,1
    - Dst: find_first_of
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:49,1
    - Dst: take_prefix
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:76,1
    - Dst: remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:78,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:80,1
    - Dst: remove_suffix
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:81,1
    - Dst: HdrCsvIter::field_init
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:90,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 95
    functionName: HdrCsvIter::find_csv
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc
    functionUses: 0
    functionsReached:
    - remove_prefix
    - find_first_of
    - HdrCsvIter::field_init
    - remove_suffix
    - size
    - clear
    - take_prefix
    linkageType: ''
    returnType: void
    signature: void HdrCsvIter::find_csv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:101,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field
    - follow_dups
    argTypes:
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: HdrCsvIter::count_values
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/HdrUtils.cc
    functionUses: 1
    functionsReached:
    - HdrCsvIter::get_next
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: int
    signature: int HdrCsvIter::count_values(MIMEField *field, bool follow_dups)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: is_digit
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_digit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: is_ws
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ws(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_wks_to_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - well_known_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: mime_field_presence_mask
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_wks_to_mask
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mime_field_presence_mask(const char *well_known_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - well_known_str_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: mime_field_presence_mask
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_mask
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mime_field_presence_mask(int well_known_str_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_presence_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - well_known_str
    argTypes:
    - MIMEHdrImpl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: mime_field_presence_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_presence_mask
    linkageType: ''
    returnType: int
    signature: int mime_field_presence_get(MIMEHdrImpl *h, const char *well_known_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:328,1
    - Dst: mime_field_presence_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - well_known_str_index
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: mime_field_presence_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_field_presence_get
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: int
    signature: int mime_field_presence_get(MIMEHdrImpl *h, int well_known_str_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_presence_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - well_known_str
    argTypes:
    - MIMEHdrImpl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: mime_hdr_presence_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_presence_mask
    linkageType: ''
    returnType: void
    signature: void mime_hdr_presence_set(MIMEHdrImpl *h, const char *well_known_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:344,1
    - Dst: mime_hdr_presence_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - well_known_str_index
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: mime_hdr_presence_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_hdr_presence_set
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: void
    signature: void mime_hdr_presence_set(MIMEHdrImpl *h, int well_known_str_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_presence_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - well_known_str
    argTypes:
    - MIMEHdrImpl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: mime_hdr_presence_unset
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_presence_mask
    linkageType: ''
    returnType: void
    signature: void mime_hdr_presence_unset(MIMEHdrImpl *h, const char *well_known_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:360,1
    - Dst: mime_hdr_presence_unset
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - well_known_str_index
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: mime_hdr_presence_unset
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_hdr_presence_unset
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: void
    signature: void mime_hdr_presence_unset(MIMEHdrImpl *h, int well_known_str_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: mime_hdr_init_accelerators_and_presence_bits
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mime_hdr_init_accelerators_and_presence_bits(MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mh
    - slot_id
    argTypes:
    - MIMEHdrImpl*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: mime_hdr_get_accelerator_slotnum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mime_hdr_get_accelerator_slotnum(MIMEHdrImpl *mh, int32_t
      slot_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:394,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mh
    - slot_id
    - slot_num
    argTypes:
    - MIMEHdrImpl*
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: mime_hdr_set_accelerator_slotnum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_set_accelerator_slotnum(MIMEHdrImpl *mh, int32_t slot_id,
      uint32_t slot_num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:417,1
    - Dst: mime_hdr_presence_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:419,1
    - Dst: hdrtoken_index_to_slotid
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:421,1
    - Dst: MIMEHdrImpl*::m_first_fblock::contains
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:423,1
    - Dst: mime_hdr_set_accelerator_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - mh
    - field
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 438
    functionName: mime_hdr_set_accelerators_and_presence_bits
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - MIMEHdrImpl*::m_first_fblock::contains
    - mime_hdr_set_accelerator_slotnum
    - hdrtoken_index_to_slotid
    - mime_hdr_presence_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_set_accelerators_and_presence_bits(MIMEHdrImpl *mh, MIMEField
      *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_presence_unset
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:448,1
    - Dst: hdrtoken_index_to_slotid
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:450,1
    - Dst: mime_hdr_set_accelerator_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mh
    - field
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 454
    functionName: mime_hdr_unset_accelerators_and_presence_bits
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_hdr_presence_unset
    - hdrtoken_index_to_slotid
    - mime_hdr_set_accelerator_slotnum
    linkageType: ''
    returnType: void
    signature: void mime_hdr_unset_accelerators_and_presence_bits(MIMEHdrImpl *mh,
      MIMEField *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_init_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:462,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:466,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:467,1
    - Dst: MIMEField*::is_dup_head
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:468,1
    - Dst: mime_hdr_set_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: mime_hdr_reset_accelerators_and_presence_bits
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_hdr_set_accelerators_and_presence_bits
    - MIMEField*::is_dup_head
    - mime_hdr_init_accelerators_and_presence_bits
    - hdrtoken_tokenize
    - MIMEField*::is_live
    linkageType: ''
    returnType: void
    signature: void mime_hdr_reset_accelerators_and_presence_bits(MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: checksum_block
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checksum_block(const char *s, int len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:495,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:505,1
    - Dst: checksum_block
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:507,1
    - Dst: checksum_block
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:509,1
    - Dst: checksum_block
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:514,1
    - Dst: mime_hdr_field_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:518,1
    - Dst: mime_hdr_field_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:521,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:522,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:523,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:524,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:525,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:526,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:526,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:527,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:532,1
    - Dst: hdrtoken_index_to_length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:533,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:535,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:536,1
    - Dst: mime_field_presence_mask
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:539,1
    - Dst: hdrtoken_index_to_slotid
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:542,1
    - Dst: mime_hdr_get_accelerator_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:545,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:547,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:551,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:552,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:559,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:560,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:561,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:566,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:569,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:570,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:572,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:574,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:583,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:584,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 585
    functionName: mime_hdr_sanity_check
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - checksum_block
    - ink_release_assert
    - Warning
    - strncasecmp
    - mime_field_presence_mask
    - reinterpret_cast<const char *>
    - hdrtoken_index_to_wks
    - hdrtoken_index_to_length
    - mime_hdr_field_slotnum
    - mime_hdr_get_accelerator_slotnum
    - mime_hdr_field_find
    - hdrtoken_index_to_slotid
    - hdrtoken_tokenize
    - MIMEField*::is_live
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_sanity_check(MIMEHdrImpl *mh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:596,1
    - Dst: DFA::DFA
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:597,1
    - Dst: compile
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:598,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:598,1
    - Dst: DFA::DFA
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:600,1
    - Dst: compile
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:601,1
    - Dst: SIZEOF
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:601,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:603,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:604,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:605,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:606,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:607,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:608,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:609,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:610,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:611,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:612,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:613,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:614,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:615,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:616,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:617,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:618,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:619,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:620,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:621,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:622,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:623,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:624,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:625,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:626,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:627,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:628,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:629,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:630,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:631,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:632,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:633,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:634,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:635,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:636,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:637,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:638,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:639,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:640,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:641,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:642,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:643,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:644,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:645,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:646,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:647,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:648,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:649,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:650,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:651,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:652,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:653,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:654,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:655,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:656,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:657,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:658,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:659,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:660,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:661,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:662,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:663,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:664,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:665,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:666,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:667,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:668,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:669,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:670,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:671,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:672,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:673,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:674,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:675,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:676,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:677,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:678,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:679,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:680,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:681,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:683,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:683,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:684,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:684,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:685,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:685,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:686,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:686,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:687,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:687,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:688,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:688,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:689,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:689,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:690,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:690,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:691,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:691,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:692,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:692,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:693,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:693,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:694,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:694,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:695,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:695,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:696,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:696,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:697,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:697,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:698,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:698,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:699,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:699,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:700,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:700,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:701,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:701,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:702,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:702,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:703,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:703,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:704,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:704,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:705,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:705,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:706,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:706,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:707,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:707,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:708,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:708,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:709,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:709,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:710,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:710,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:711,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:711,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:712,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:712,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:713,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:713,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:714,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:714,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:715,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:715,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:716,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:716,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:717,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:717,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:718,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:718,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:719,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:719,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:720,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:720,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:721,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:721,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:722,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:722,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:723,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:723,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:724,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:724,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:725,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:725,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:726,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:726,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:727,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:727,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:728,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:728,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:729,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:729,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:730,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:730,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:731,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:731,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:732,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:732,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:733,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:733,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:734,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:734,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:735,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:735,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:736,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:736,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:737,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:737,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:738,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:738,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:739,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:739,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:740,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:740,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:741,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:741,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:742,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:742,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:743,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:743,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:744,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:744,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:745,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:745,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:746,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:746,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:747,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:747,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:748,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:748,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:749,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:749,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:750,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:750,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:751,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:751,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:752,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:752,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:753,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:753,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:754,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:754,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:755,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:755,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:756,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:756,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:757,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:757,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:758,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:758,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:759,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:759,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:760,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:760,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:762,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:763,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:764,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:765,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:766,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:767,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:768,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:769,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:770,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:771,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:772,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:773,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:774,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:775,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:776,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:777,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:778,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:779,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:780,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:781,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:782,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:783,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:784,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:785,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:786,1
    - Dst: mime_init_date_format_table
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:788,1
    - Dst: mime_init_cache_control_cooking_masks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 791
    functionName: mime_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 6
    functionsReached:
    - mime_init_cache_control_cooking_masks
    - compile
    - mime_init_date_format_table
    - SIZEOF
    - DFA::DFA
    - c_str
    - hdrtoken_string_to_wks_sv
    - hdrtoken_wks_to_index
    - hdrtoken_init
    linkageType: ''
    returnType: void
    signature: void mime_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:817,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 793
    functionDepth: 4
    functionLinenumber: 793
    functionLinenumberEnd: 821
    functionName: mime_init_cache_control_cooking_masks
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - hdrtoken_wks_to_prefix
    - hdrtoken_string_to_wks
    linkageType: ''
    returnType: void
    signature: void mime_init_cache_control_cooking_masks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:837,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:838,1
    - Dst: static_cast<MDY *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:843,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:843,1
    - Dst: mime_days_since_epoch_to_mdy_slowcase
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 853
    functionName: mime_init_date_format_table
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - static_cast<time_t>
    - ats_malloc
    - mime_days_since_epoch_to_mdy_slowcase
    - static_cast<MDY *>
    - time
    linkageType: ''
    returnType: void
    signature: void mime_init_date_format_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:860,1
    - Dst: mime_hdr_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 863
    functionName: mime_hdr_create
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - HdrHeap*::allocate_obj
    - mime_hdr_init
    linkageType: ''
    returnType: MIMEHdrImpl
    signature: 'MIMEHdrImpl *

      mime_hdr_create(HdrHeap *heap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fblock
    argTypes:
    - MIMEFieldBlockImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 884
    functionName: _mime_hdr_field_block_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mime_hdr_field_block_init(MIMEFieldBlockImpl *fblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - mh
    - changing_field_or_null
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 900
    functionName: mime_hdr_cooked_stuff_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mime_hdr_cooked_stuff_init(MIMEHdrImpl *mh, MIMEField *changing_field_or_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_init_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:905,1
    - Dst: mime_hdr_cooked_stuff_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:907,1
    - Dst: obj_init_header
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:910,1
    - Dst: _mime_hdr_field_block_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:912,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 916
    functionName: mime_hdr_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - obj_init_header
    - mime_hdr_cooked_stuff_init
    - mime_hdr_init_accelerators_and_presence_bits
    - MIME_HDR_SANITY_CHECK
    - _mime_hdr_field_block_init
    linkageType: ''
    returnType: void
    signature: void mime_hdr_init(MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:923,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s_fblock
    - d_heap
    argTypes:
    - MIMEFieldBlockImpl*
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 926
    functionName: _mime_field_block_copy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - HdrHeap*::allocate_obj
    linkageType: ''
    returnType: MIMEFieldBlockImpl
    signature: 'MIMEFieldBlockImpl *

      _mime_field_block_copy(MIMEFieldBlockImpl *s_fblock, HdrHeap * /* s_heap ATS_UNUSED
      */, HdrHeap *d_heap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::deallocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - heap
    - fblock
    argTypes:
    - HdrHeap*
    - MIMEFieldBlockImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: _mime_field_block_destroy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - HdrHeap*::deallocate_obj
    linkageType: ''
    returnType: void
    signature: void _mime_field_block_destroy(HdrHeap *heap, MIMEFieldBlockImpl *fblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mime_field_block_destroy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - heap
    - head
    argTypes:
    - HdrHeap*
    - MIMEFieldBlockImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 944
    functionName: mime_hdr_destroy_field_block_list
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - _mime_field_block_destroy
    linkageType: ''
    returnType: void
    signature: void mime_hdr_destroy_field_block_list(HdrHeap *heap, MIMEFieldBlockImpl
      *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_destroy_field_block_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - heap
    - mh
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 956
    functionName: mime_hdr_destroy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_hdr_destroy_field_block_list
    linkageType: ''
    returnType: void
    signature: void mime_hdr_destroy(HdrHeap *heap, MIMEHdrImpl *mh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_destroy_field_block_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:969,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:972,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:975,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:976,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:979,1
    - Dst: _mime_field_block_copy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:991,1
    - Dst: HdrHeap*::inherit_string_heaps
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:999,1
    - Dst: mime_hdr_field_block_list_adjust
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1002,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1004,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - s_mh
    - s_heap
    - d_mh
    - d_heap
    - inherit_strs
    argTypes:
    - MIMEHdrImpl*
    - HdrHeap*
    - MIMEHdrImpl*
    - HdrHeap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1006
    functionName: mime_hdr_copy_onto
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - mime_hdr_field_block_list_adjust
    - HdrHeap*::inherit_string_heaps
    - mime_hdr_destroy_field_block_list
    - _mime_field_block_copy
    - reinterpret_cast<char *>
    - MIME_HDR_SANITY_CHECK
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_copy_onto(MIMEHdrImpl *s_mh, HdrHeap *s_heap, MIMEHdrImpl
      *d_mh, HdrHeap *d_heap, bool inherit_strs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_create
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1013,1
    - Dst: mime_hdr_copy_onto
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s_mh
    - s_heap
    - d_heap
    - inherit_strs
    argTypes:
    - MIMEHdrImpl*
    - HdrHeap*
    - HdrHeap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1016
    functionName: mime_hdr_clone
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_hdr_create
    - mime_hdr_copy_onto
    linkageType: ''
    returnType: MIMEHdrImpl
    signature: 'MIMEHdrImpl *

      mime_hdr_clone(MIMEHdrImpl *s_mh, HdrHeap *s_heap, HdrHeap *d_heap, bool inherit_strs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MIMEField *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1028,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1028,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1029,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest_ptr
    - dest_base
    - src_base
    argTypes:
    - MIMEField*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    functionName: rebase
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<MIMEField *>
    - reinterpret_cast<char *>
    - static_cast<char *>
    linkageType: ''
    returnType: MIMEField
    signature: "MIMEField *\nrebase(MIMEField *dest_ptr,  ///< Original pointer into
      @src_base memory.\n       void      *dest_base, ///< New base pointer.\n       void
      \     *src_base   ///< Original base pointer.\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1036,1
    - Dst: rebase
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - field
    - dest_block
    - src_block
    argTypes:
    - MIMEField*
    - MIMEFieldBlockImpl*
    - MIMEFieldBlockImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1043
    functionName: relocate
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - rebase
    linkageType: ''
    returnType: void
    signature: void relocate(MIMEField *field, MIMEFieldBlockImpl *dest_block, MIMEFieldBlockImpl
      *src_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1050,1
    - Dst: relocate
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - old_list
    - new_list
    argTypes:
    - MIMEFieldBlockImpl*
    - MIMEFieldBlockImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1055
    functionName: mime_hdr_field_block_list_adjust
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::is_live
    - relocate
    linkageType: ''
    returnType: void
    signature: void mime_hdr_field_block_list_adjust(int /* block_count ATS_UNUSED
      */, MIMEFieldBlockImpl *old_list, MIMEFieldBlockImpl *new_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1069,1
    - Dst: mime_field_length_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1076
    functionName: mime_hdr_length_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_field_length_get
    - MIMEField*::is_live
    linkageType: ''
    returnType: int
    signature: int mime_hdr_length_get(MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_destroy_field_block_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1081,1
    - Dst: mime_hdr_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - heap
    - mh
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    functionName: mime_hdr_fields_clear
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_hdr_init
    - mime_hdr_destroy_field_block_list
    linkageType: ''
    returnType: void
    signature: void mime_hdr_fields_clear(HdrHeap *heap, MIMEHdrImpl *mh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1091,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1091,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - mh
    - wks_idx
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1106
    functionName: _mime_hdr_field_list_search_by_wks
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - MIMEField*::is_live
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      _mime_hdr_field_list_search_by_wks(MIMEHdrImpl *mh, int wks_idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1114,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1120,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1121,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - mh
    - field_name
    argTypes:
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1130
    functionName: _mime_hdr_field_list_search_by_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - strcasecmp
    - static_cast<std::string_view::size_type>
    - MIMEField*::is_live
    - ink_assert
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      _mime_hdr_field_list_search_by_string(MIMEHdrImpl *mh, std::string_view field_name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - mh
    - slotnum
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1160
    functionName: _mime_hdr_field_list_search_by_slotnum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      _mime_hdr_field_list_search_by_slotnum(MIMEHdrImpl *mh, int slotnum)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1166,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1166,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1168,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1168,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1175,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1175,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1175,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1176,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1180,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1180,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1183,1
    - Dst: mime_hdr_get_accelerator_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1192,1
    - Dst: _mime_hdr_field_list_search_by_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1195,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1196,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1196,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1198,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1199,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1199,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1199,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1204,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1205,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1205,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1205,1
    - Dst: _mime_hdr_field_list_search_by_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1214,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1215,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1215,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1217,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1218,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1218,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1218,1
    - Dst: _mime_hdr_field_list_search_by_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1222,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1224,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1224,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1226,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1227,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1227,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - mh
    - field_name
    argTypes:
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1231
    functionName: mime_hdr_field_find
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - hdrtoken_wks_to_prefix
    - std::string_view::length
    - std::string_view::empty
    - _mime_hdr_field_list_search_by_string
    - Dbg
    - _mime_hdr_field_list_search_by_slotnum
    - mime_hdr_get_accelerator_slotnum
    - hdrtoken_is_wks
    - MIMEField*::is_live
    - std::string_view::data
    - ink_assert
    - _mime_hdr_field_list_search_by_wks
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_hdr_field_find(MIMEHdrImpl *mh, std::string_view field_name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - mh
    - idx
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1256
    functionName: mime_hdr_field_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::is_live
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_hdr_field_get(MIMEHdrImpl *mh, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mime_hdr_field_list_search_by_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mh
    - slotnum
    argTypes:
    - MIMEHdrImpl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1262
    functionName: mime_hdr_field_get_slotnum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - _mime_hdr_field_list_search_by_slotnum
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_hdr_field_get_slotnum(MIMEHdrImpl *mh, int slotnum)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mh
    argTypes:
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1284
    functionName: mime_hdr_fields_count
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::is_live
    linkageType: ''
    returnType: int
    signature: int mime_hdr_fields_count(MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    functionName: mime_field_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void mime_field_init(MIMEField *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1302,1
    - Dst: _mime_hdr_field_block_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1303,1
    - Dst: mime_field_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - heap
    - mh
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1315
    functionName: mime_field_create
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_field_init
    - HdrHeap*::allocate_obj
    - _mime_hdr_field_block_init
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_field_create(HdrHeap *heap, MIMEHdrImpl *mh)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_create
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1320,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1321,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1321,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1321,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1321,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - heap
    - mh
    - name
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1324
    functionName: mime_field_create_named
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_field_create
    - static_cast<int>
    - std::string_view::length
    - mime_field_name_set
    - hdrtoken_tokenize
    - std::string_view::data
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_field_create_named(HdrHeap *heap, MIMEHdrImpl *mh, std::string_view name)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1329,1
    - Dst: MIMEField*::is_detached
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1331,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1335,1
    - Dst: MIMEField*::is_dup_head
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1342,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1343,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1344,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1345,1
    - Dst: MIMEField*::is_dup_head
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1345,1
    - Dst: mime_hdr_field_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1367,1
    - Dst: mime_hdr_field_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1368,1
    - Dst: mime_hdr_field_slotnum
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1370,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1372,1
    - Dst: mime_hdr_set_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1404,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1407,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1408,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1410,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1410,1
    - Dst: mime_hdr_set_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1416,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1420,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1420,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1421,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1422,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1425,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 4
    argNames:
    - mh
    - field
    - check_for_dups
    - prev_dup
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    - int
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1326
    functionDepth: 4
    functionLinenumber: 1326
    functionLinenumberEnd: 1426
    functionName: mime_hdr_field_attach
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 4
    functionsReached:
    - MIMEField*::name_get
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - mime_hdr_set_accelerators_and_presence_bits
    - MIMEField*::is_detached
    - mime_hdr_field_slotnum
    - MIMEField*::is_dup_head
    - mime_hdr_field_find
    - MIME_HDR_SANITY_CHECK
    - MIMEField*::is_live
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_field_attach(MIMEHdrImpl *mh, MIMEField *field, int check_for_dups,
      MIMEField *prev_dup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1431,1
    - Dst: MIMEField*::is_detached
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1436,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1437,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1441,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1441,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1442,1
    - Dst: mime_hdr_unset_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1454,1
    - Dst: mime_hdr_set_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1458,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1462,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1463,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1468,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1480,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1481,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1484,1
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - mh
    - field
    - detach_all_dups
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1494
    functionName: mime_hdr_field_detach
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 4
    functionsReached:
    - MIMEField*::name_get
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - mime_hdr_field_detach
    - mime_hdr_set_accelerators_and_presence_bits
    - MIMEField*::is_detached
    - mime_hdr_field_find
    - MIME_HDR_SANITY_CHECK
    - MIMEField*::is_live
    - mime_hdr_unset_accelerators_and_presence_bits
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_hdr_field_detach(MIMEHdrImpl *mh, MIMEField *field, bool
      detach_all_dups)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1502,1
    - Dst: HdrHeap*::free_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1506,1
    - Dst: HdrHeap*::free_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1507,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1509,1
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1510,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1512,1
    - Dst: mime_field_destroy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1513,1
    - Dst: auto::contains
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1519,1
    - Dst: _mime_field_block_destroy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1530,1
    - Dst: MIME_HDR_SANITY_CHECK
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - delete_all_dups
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1496
    functionDepth: 5
    functionLinenumber: 1496
    functionLinenumberEnd: 1543
    functionName: mime_hdr_field_delete
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - mime_field_destroy
    - mime_hdr_field_detach
    - _mime_field_block_destroy
    - HdrHeap*::free_string
    - mime_hdr_field_delete
    - auto::contains
    - MIME_HDR_SANITY_CHECK
    linkageType: ''
    returnType: void
    signature: void mime_hdr_field_delete(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, bool delete_all_dups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldBlockImpl*::contains
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1549,1
    - Dst: unsigned
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1554
    functionName: MIMEHdrImpl::find
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - MIMEFieldBlockImpl*::contains
    - unsigned
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::find(MIMEField const *field) -> iterator
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldBlockImpl*::contains
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mh
    - field
    argTypes:
    - MIMEHdrImpl*
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1574
    functionName: mime_hdr_field_slotnum
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - MIMEFieldBlockImpl*::contains
    linkageType: ''
    returnType: int
    signature: int mime_hdr_field_slotnum(MIMEHdrImpl *mh, MIMEField *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1582,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1596,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1596,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1596,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1596,1
    - Dst: mime_field_create
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1597,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1598,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1599,1
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1604,1
    - Dst: mime_field_create
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1605,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1606,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - heap
    - mh
    - name
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1576
    functionDepth: 6
    functionLinenumber: 1576
    functionLinenumberEnd: 1610
    functionName: mime_hdr_prepare_for_value_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - mime_field_create
    - mime_hdr_field_attach
    - std::string_view::length
    - mime_hdr_field_delete
    - mime_hdr_field_find
    - mime_field_name_set
    - hdrtoken_tokenize
    - std::string_view::data
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      mime_hdr_prepare_for_value_set(HdrHeap *heap, MIMEHdrImpl *mh, std::string_view
      name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1617
    functionName: mime_field_destroy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_field_destroy(MIMEHdrImpl * /* mh ATS_UNUSED */, MIMEField
      *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1626
    functionName: MIMEField::name_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_wks
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view MIMEField::name_get() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1632,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - heap
    - field
    - name_wks_idx_or_neg1
    - name
    - must_copy_string
    argTypes:
    - HdrHeap*
    - MIMEField*
    - int16_t
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1640
    functionName: mime_field_name_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_str_u16_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void mime_field_name_set(HdrHeap *heap, MIMEHdrImpl * /* mh ATS_UNUSED
      */, MIMEField *field, int16_t name_wks_idx_or_neg1,\n                    std::string_view
      name, bool must_copy_string)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1646,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1646,1
    - Dst: MIMEField::supports_commas
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1649,1
    - Dst: MIMEField::has_dups
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1649,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1650,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1650,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1650,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1654,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1657,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1660,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1660,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1671
    functionName: MIMEField::value_get_index
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strncasecmp
    - std::string_view::length
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - static_cast<uint32_t>
    - MIMEField::supports_commas
    - std::string_view::data
    - MIMEField::has_dups
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: int
    signature: int MIMEField::value_get_index(std::string_view value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1677
    functionName: MIMEField::value_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view MIMEField::value_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1682,1
    - Dst: mime_parse_int
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1684,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1684,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1684,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1685
    functionName: mime_field_value_get_int
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - MIMEField*::value_get
    - mime_parse_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t mime_field_value_get_int(const MIMEField *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1690,1
    - Dst: mime_parse_uint
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1692,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1692,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1692,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1693
    functionName: mime_field_value_get_uint
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - mime_parse_uint
    - std::string_view::data
    - MIMEField*::value_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mime_field_value_get_uint(const MIMEField *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1698,1
    - Dst: mime_parse_int64
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1700,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1700,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1700,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1701
    functionName: mime_field_value_get_int64
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_parse_int64
    - std::string_view::size
    - std::string_view::data
    - MIMEField*::value_get
    linkageType: ''
    returnType: int64_t
    signature: int64_t mime_field_value_get_int64(const MIMEField *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1706,1
    - Dst: mime_parse_date
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1708,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1708,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1708,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1709
    functionName: mime_field_value_get_date
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - MIMEField*::value_get
    - mime_parse_date
    linkageType: ''
    returnType: time_t
    signature: time_t mime_field_value_get_date(const MIMEField *field)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::supports_commas
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1715,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1717,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1718,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1718,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1719,1
    - Dst: mime_field_value_get_comma_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1726,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1727,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - field
    - length
    - idx
    argTypes:
    - MIMEField*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1736
    functionName: mime_field_value_get_comma_val
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - mime_field_value_get_comma_list
    - auto::size
    - StrList::get_idx
    - MIMEField*::supports_commas
    - MIMEField*::value_get
    - auto::data
    linkageType: ''
    returnType: char
    signature: 'char *

      mime_field_value_get_comma_val(const MIMEField *field, int *length, int idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::supports_commas
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1742,1
    - Dst: mime_field_value_get_comma_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1749
    functionName: mime_field_value_get_comma_val_count
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_field_value_get_comma_list
    - MIMEField*::supports_commas
    linkageType: ''
    returnType: int
    signature: int mime_field_value_get_comma_val_count(const MIMEField *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1754,1
    - Dst: MIMEField*::supports_commas
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1757,1
    - Dst: StrList*::append_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1758,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1758,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1758,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1758,1
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1760,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1760,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1760,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - field
    - list
    argTypes:
    - MIMEField*
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1764
    functionName: mime_field_value_get_comma_list
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - HttpCompat::parse_tok_list
    - std::string_view::size
    - StrList*::append_string
    - MIMEField*::supports_commas
    - MIMEField*::value_get
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int mime_field_value_get_comma_list(const MIMEField *field, StrList
      *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1789,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1799,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - heap
    - new_str_len_return
    - list
    argTypes:
    - HdrHeap*
    - int*
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1807
    functionName: mime_field_value_str_from_strlist
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - HdrHeap*::allocate_str
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      mime_field_value_str_from_strlist(HdrHeap *heap, int *new_str_len_return, StrList
      *list)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1817,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1825,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1826,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1827,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1828,1
    - Dst: mime_field_value_str_from_strlist
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1831,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1836,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1836,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - heap
    - mh
    - field
    - idx
    - new_piece
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1809
    functionDepth: 2
    functionLinenumber: 1809
    functionLinenumberEnd: 1839
    functionName: mime_field_value_set_comma_val
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::parse_tok_list
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - std::string_view::length
    - StrList::get_idx
    - mime_field_value_str_from_strlist
    - MIMEField*::is_live
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set_comma_val(HdrHeap *heap, MIMEHdrImpl *mh,
      MIMEField *field, int idx, std::string_view new_piece)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1849,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1857,1
    - Dst: StrList::detach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1858,1
    - Dst: mime_field_value_str_from_strlist
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1876,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1882,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1882,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - idx
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1885
    functionName: mime_field_value_delete_comma_val
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::parse_tok_list
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - StrList::detach
    - StrList::get_idx
    - mime_field_value_str_from_strlist
    - MIMEField*::is_live
    linkageType: ''
    returnType: void
    signature: void mime_field_value_delete_comma_val(HdrHeap *heap, MIMEHdrImpl *mh,
      MIMEField *field, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1895,1
    - Dst: StrList::new_cell
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1906,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1906,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1906,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1906,1
    - Dst: StrList::prepend
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1910,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1912,1
    - Dst: StrList::add_after
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1913,1
    - Dst: mime_field_value_str_from_strlist
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1917,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1922,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1922,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - heap
    - mh
    - field
    - idx
    - new_piece
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1887
    functionDepth: 2
    functionLinenumber: 1887
    functionLinenumberEnd: 1925
    functionName: mime_field_value_insert_comma_val
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::parse_tok_list
    - static_cast<int>
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - std::string_view::length
    - StrList::add_after
    - StrList::get_idx
    - StrList::prepend
    - StrList::new_cell
    - mime_field_value_str_from_strlist
    - MIMEField*::is_live
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void mime_field_value_insert_comma_val(HdrHeap *heap, MIMEHdrImpl *mh,
      MIMEField *field, int idx, std::string_view new_piece)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1937,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1945,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1946,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1958,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1958,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1965,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1965,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1973,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1975,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1975,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1980,1
    - Dst: mime_field_value_str_from_strlist
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1987,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1992,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1992,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1993,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:1998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - heap
    - mh
    - field
    - idx
    - new_piece
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1927
    functionDepth: 2
    functionLinenumber: 1927
    functionLinenumberEnd: 2000
    functionName: mime_field_value_extend_comma_val
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - HttpCompat::parse_tok_list
    - static_cast<int>
    - memcpy
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - ats_free
    - std::string_view::length
    - StrList::get_idx
    - static_cast<char *>
    - ats_malloc
    - mime_field_value_str_from_strlist
    - MIMEField*::is_live
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_field_value_extend_comma_val(HdrHeap *heap, MIMEHdrImpl *mh,
      MIMEField *field, int idx, std::string_view new_piece)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::free_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2005,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2007,1
    - Dst: HdrHeap*::duplicate_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2008,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2008,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2008,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2008,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2013,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2013,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2017,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2017,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - heap
    - mh
    - field
    - value
    - must_copy_string
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2020
    functionName: mime_field_value_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - std::string_view::length
    - HdrHeap*::free_string
    - HdrHeap*::duplicate_str
    - MIMEField*::is_live
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, std::string_view value, bool must_copy_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_format_int
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2026,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2027,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2028
    functionName: mime_field_value_set_int
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - mime_format_int
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set_int(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_format_uint
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2034,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2035,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2030
    functionDepth: 2
    functionLinenumber: 2030
    functionLinenumberEnd: 2036
    functionName: mime_field_value_set_uint
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - static_cast<std::string_view::size_type>
    - mime_format_uint
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set_uint(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_format_int64
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2042,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2043,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2038
    functionDepth: 2
    functionLinenumber: 2038
    functionLinenumberEnd: 2044
    functionName: mime_field_value_set_int64
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - mime_format_int64
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set_int64(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_format_date
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2050,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2051,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - heap
    - mh
    - field
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2046
    functionDepth: 2
    functionLinenumber: 2046
    functionLinenumberEnd: 2052
    functionName: mime_field_value_set_date
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    - mime_format_date
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void mime_field_value_set_date(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, time_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2058,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2058,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2059,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2059,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2062,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2065,1
    - Dst: mime_field_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2066,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2069,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2070,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2084,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2084,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2085,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 9
    argNames:
    - heap
    - mh
    - field
    - name_wks_idx_or_neg1
    - name
    - value
    - n_v_raw_printable
    - n_v_raw_length
    - must_copy_strings
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - int16_t
    - std::string_view
    - std::string_view
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2054
    functionDepth: 2
    functionLinenumber: 2054
    functionLinenumberEnd: 2088
    functionName: mime_field_name_value_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - mime_field_value_set
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - std::string_view::length
    - mime_field_name_set
    - MIMEField*::is_live
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void mime_field_name_value_set(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, int16_t name_wks_idx_or_neg1, std::string_view name,\n                          std::string_view
      value, int n_v_raw_printable, int n_v_raw_length, bool must_copy_strings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2094,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2094,1
    - Dst: HdrHeap*::expand_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2101,1
    - Dst: HdrHeap*::allocate_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2105,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2106,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2115,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2115,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2122,1
    - Dst: MIMEField*::is_cooked
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2122,1
    - Dst: MIMEHdrImpl*::recompute_cooked_stuff
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - heap
    - mh
    - field
    - value
    - prepend_comma
    - separator
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - MIMEField*
    - std::string_view
    - bool
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2125
    functionName: mime_field_value_append
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - MIMEField*::is_cooked
    - MIMEHdrImpl*::recompute_cooked_stuff
    - std::string_view::length
    - HdrHeap*::expand_str
    - HdrHeap*::allocate_str
    - MIMEField*::is_live
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void mime_field_value_append(HdrHeap *heap, MIMEHdrImpl *mh, MIMEField
      *field, std::string_view value, bool prepend_comma,\n                        const
      char separator)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2130,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2130,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2134,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2138,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2139,1
    - Dst: swoc::TextView::take_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2140,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2146,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2154
    functionName: MIMEHdr::get_host_port_values
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - static_cast<std::string_view>
    - swoc::TextView::take_prefix
    - MIMEHdr::field_find
    - std::make_tuple
    - swoc::TextView::find
    - swoc::TextView::size
    - static_cast<size_t>
    linkageType: ''
    returnType: std::tuple<MIMEField *, std::string_view, std::string_view>
    signature: std::tuple<MIMEField *, std::string_view, std::string_view> MIMEHdr::get_host_port_values()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2171
    functionName: MIMEScanner::init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void MIMEScanner::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2178
    functionName: '&

      MIMEScanner::append(TextView text)'
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIMEScanner
    signature: 'MIMEScanner &

      MIMEScanner::append(TextView text)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2188,1
    - Dst: resize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2191,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2192,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2194,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2194,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2201,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2211,1
    - Dst: MIMEScanner::append
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2217,1
    - Dst: TextView
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2217,1
    - Dst: auto::find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2222,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2224,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2232,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2232,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2239,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2240,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2240,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2242,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2254,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2254,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2255,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2263,1
    - Dst: TextView::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2281,1
    - Dst: MIMEScanner::append
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2284,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2294,1
    - Dst: MIMEScanner::append
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2296,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2302,1
    - Dst: TextView::find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2311,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2315,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2315,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 103
    argCount: 5
    argNames:
    - input
    - output
    - output_shares_input
    - eof_p
    - scan_type
    argTypes:
    - TextView
    - TextView
    - bool
    - bool
    - ScanType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2317
    functionName: MIMEScanner::get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - auto::remove_prefix
    - MIMEScanner::append
    - auto::size
    - resize
    - const_cast<char *>
    - TextView::find
    - ParseRules::is_ws
    - empty
    - TextView::remove_prefix
    - TextView::size
    - auto::find
    - TextView::empty
    - auto::data
    - ParseRules::is_lf
    - TextView
    - auto::empty
    - ParseRules::is_cr
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult MIMEScanner::get(TextView &input, TextView &output, bool
      &output_shares_input, bool eof_p, ScanType scan_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - MIMEParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2325
    functionName: _mime_parser_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mime_parser_init(MIMEParser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEParser*::m_scanner::init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2333,1
    - Dst: _mime_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - MIMEParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2330
    functionDepth: 1
    functionLinenumber: 2330
    functionLinenumberEnd: 2335
    functionName: mime_parser_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - _mime_parser_init
    - MIMEParser*::m_scanner::init
    linkageType: ''
    returnType: void
    signature: void mime_parser_init(MIMEParser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEParser*::m_scanner::clear
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2340,1
    - Dst: _mime_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - MIMEParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2342
    functionName: mime_parser_clear
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - _mime_parser_init
    - MIMEParser*::m_scanner::clear
    linkageType: ''
    returnType: void
    signature: void mime_parser_clear(MIMEParser *parser)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MIMEScanner*::get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2360,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2361,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2370,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2374,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2388,1
    - Dst: auto::split_prefix_at
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2394,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2395,1
    - Dst: is_ws
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2409,1
    - Dst: auto::back
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2409,1
    - Dst: auto::rtrim_if
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2413,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2415,1
    - Dst: auto::ltrim_if
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2420,1
    - Dst: auto::rtrim_if
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2421,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2424,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2424,1
    - Dst: HdrHeap*::duplicate_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2435,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2435,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2435,1
    - Dst: TextView::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2436,1
    - Dst: auto::assign
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2437,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2437,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2437,1
    - Dst: auto::assign
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2438,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2438,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2438,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2444,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2444,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2444,1
    - Dst: ParseRules::is_http_field_name
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2448,1
    - Dst: ParseRules::is_control
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2457,1
    - Dst: mime_field_create
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2466,1
    - Dst: mime_field_name_value_set
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2467,1
    - Dst: TextView::size
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2467,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2468,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 9
    argNames:
    - parser
    - heap
    - mh
    - real_s
    - real_e
    - must_copy_strings
    - eof
    - remove_ws_from_field_name
    - max_hdr_field_size
    argTypes:
    - MIMEParser*
    - HdrHeap*
    - MIMEHdrImpl*
    - char**
    - char*
    - bool
    - bool
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2344
    functionDepth: 5
    functionLinenumber: 2344
    functionLinenumberEnd: 2470
    functionName: mime_parser_parse
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - TextView::suffix
    - auto::split_prefix_at
    - auto::assign
    - TextView::size
    - HdrHeap*::duplicate_str
    - auto::back
    - mime_field_create
    - auto::size
    - auto::rtrim_if
    - auto::data
    - ParseRules::is_control
    - is_ws
    - TextView::data
    - mime_hdr_field_attach
    - MIMEScanner*::get
    - ParseRules::is_token
    - ParseRules::is_http_field_name
    - mime_field_name_value_set
    - auto::ltrim_if
    - hdrtoken_tokenize
    - auto::empty
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult mime_parser_parse(MIMEParser *parser, HdrHeap *heap, MIMEHdrImpl
      *mh, const char **real_s, const char *real_e,\n                  bool must_copy_strings,
      bool eof, bool remove_ws_from_field_name, size_t max_hdr_field_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2478,1
    - Dst: TOK_64_CONST
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2479,1
    - Dst: TOK_64_CONST
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2480,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2484,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - raw
    - recurse
    argTypes:
    - HdrHeapObjImpl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2472
    functionDepth: 3
    functionLinenumber: 2472
    functionLinenumberEnd: 2493
    functionName: mime_hdr_describe
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - obj_describe
    - Dbg
    - TOK_64_CONST
    linkageType: ''
    returnType: void
    signature: void mime_hdr_describe(HdrHeapObjImpl *raw, bool recurse)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2503,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2507,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2515,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2517,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2518,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - raw
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2524
    functionName: mime_field_block_describe
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void mime_field_block_describe(HdrHeapObjImpl *raw, bool /* recurse
      ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2538,1
    - Dst: mime_field_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2539,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2554,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2560,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2560,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2571,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2571,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2578,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - mh
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - MIMEHdrImpl*
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2583
    functionName: mime_hdr_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - mime_field_print
    - MIMEField*::is_live
    - mime_mem_print
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: int
    signature: int mime_hdr_print(MIMEHdrImpl const *mh, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2592,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2593,1
    - Dst: putchar
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2595,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2600,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2600,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2603,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2603,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2604,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2604,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2607,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2612,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2612,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2613,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2616,1
    - Dst: std::transform
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - src
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - std::string_view
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2587
    functionDepth: 1
    functionLinenumber: 2587
    functionLinenumberEnd: 2621
    functionName: mime_mem_print_
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - putchar
    - std::string_view::length
    - std::transform
    - min
    - std::string_view::remove_prefix
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int mime_mem_print_(std::string_view src, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout,\n                int (*char_transform)(int
      char_in))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2627
    functionName: to_same_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int to_same_char(int ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2592,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2593,1
    - Dst: putchar
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2595,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2600,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2600,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2603,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2603,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2604,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2604,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2607,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2612,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2612,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2613,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2616,1
    - Dst: std::transform
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - src
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - std::string_view
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2587
    functionDepth: 1
    functionLinenumber: 2587
    functionLinenumberEnd: 2621
    functionName: mime_mem_print_
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_release_assert
    - putchar
    - std::string_view::length
    - std::transform
    - min
    - std::string_view::remove_prefix
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int mime_mem_print_(std::string_view src, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout,\n                int (*char_transform)(int
      char_in))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2627
    functionName: to_same_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int to_same_char(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_mem_print_
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - std::string_view
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2631
    functionDepth: 2
    functionLinenumber: 2631
    functionLinenumberEnd: 2635
    functionName: mime_mem_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - mime_mem_print_
    linkageType: ''
    returnType: int
    signature: int mime_mem_print(std::string_view src, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_mem_print_
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - std::string_view
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2637
    functionDepth: 2
    functionLinenumber: 2637
    functionLinenumberEnd: 2641
    functionName: mime_mem_print_lc
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_mem_print_
    linkageType: ''
    returnType: int
    signature: int mime_mem_print_lc(std::string_view src, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2662,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2666,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2666,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2666,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2677,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2684,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2692,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2692,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2692,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2694,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2694,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2695,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2695,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2695,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2697,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - field
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    argTypes:
    - MIMEField*
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2643
    functionDepth: 3
    functionLinenumber: 2643
    functionLinenumberEnd: 2704
    functionName: mime_field_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - mime_mem_print
    - TRY
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: int
    signature: int mime_field_print(MIMEField const *field, char *buf_start, int buf_length,
      int *buf_index_inout, int *buf_chars_to_skip_inout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2649
    functionName: TRY
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2709,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2709,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2710,1
    - Dst: HdrHeap*::free_string
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2715,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2717,1
    - Dst: HdrHeap*::duplicate_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - heap
    - src
    - d_str
    - d_len
    - must_copy
    argTypes:
    - HdrHeap*
    - std::string_view
    - char**
    - uint16_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2724
    functionName: mime_str_u16_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - std::string_view::length
    - HdrHeap*::free_string
    - HdrHeap*::duplicate_str
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      mime_str_u16_set(HdrHeap *heap, std::string_view src, const char **d_str, uint16_t
      *d_len, bool must_copy)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2734
    functionName: mime_field_length_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mime_field_length_get(MIMEField *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - val
    - buf_len
    argTypes:
    - char*
    - int32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2736
    functionDepth: 1
    functionLinenumber: 2736
    functionLinenumberEnd: 2740
    functionName: mime_format_int
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 5
    functionsReached:
    - ink_fast_itoa
    linkageType: ''
    returnType: int
    signature: int mime_format_int(char *buf, int32_t val, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_fast_uitoa
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - val
    - buf_len
    argTypes:
    - char*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2746
    functionName: mime_format_uint
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - ink_fast_uitoa
    linkageType: ''
    returnType: int
    signature: int mime_format_uint(char *buf, uint32_t val, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_fast_ltoa
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - val
    - buf_len
    argTypes:
    - char*
    - int64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2752
    functionName: mime_format_int64
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - ink_fast_ltoa
    linkageType: ''
    returnType: int
    signature: int mime_format_int64(char *buf, int64_t val, size_t buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - days_since_jan_1_1970
    - m_return
    - d_return
    - y_return
    argTypes:
    - time_t
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2809
    functionName: mime_days_since_epoch_to_mdy_slowcase
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void mime_days_since_epoch_to_mdy_slowcase(time_t days_since_jan_1_1970,
      int *m_return, int *d_return, int *y_return)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2814,1
    - Dst: mime_days_since_epoch_to_mdy_slowcase
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - days_since_jan_1_1970
    - m_return
    - d_return
    - y_return
    argTypes:
    - time_t
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2811
    functionDepth: 2
    functionLinenumber: 2811
    functionLinenumberEnd: 2839
    functionName: mime_days_since_epoch_to_mdy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - mime_days_since_epoch_to_mdy_slowcase
    linkageType: ''
    returnType: void
    signature: void mime_days_since_epoch_to_mdy(time_t days_since_jan_1_1970, int
      *m_return, int *d_return, int *y_return)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2863,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2865,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2867,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2871,1
    - Dst: mime_days_since_epoch_to_mdy
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2875,1
    - Dst: mime_days_since_epoch_to_mdy_slowcase
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2877,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2881,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2882,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2883,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2884,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2841
    functionDepth: 3
    functionLinenumber: 2841
    functionLinenumberEnd: 2961
    functionName: mime_format_date
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - ink_assert
    - mime_days_since_epoch_to_mdy
    - mime_days_since_epoch_to_mdy_slowcase
    linkageType: ''
    returnType: int
    signature: int mime_format_date(char *buffer, time_t value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2973,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2975,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:2990,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3000,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - buf
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 3016
    functionName: mime_parse_int
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - is_digit
    - ParseRules::is_space
    linkageType: ''
    returnType: int32_t
    signature: int32_t mime_parse_int(const char *buf, const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3027,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3030,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3036,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - buf
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3044
    functionName: mime_parse_uint
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - is_digit
    - ParseRules::is_space
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mime_parse_uint(const char *buf, const char *end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3056,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3059,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3067,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3077,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3087
    functionName: mime_parse_int64
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - is_digit
    - ParseRules::is_space
    linkageType: ''
    returnType: int64_t
    signature: int64_t mime_parse_int64(const char *buf, const char *end)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3129,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3130,1
    - Dst: is_ws
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3130,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3131,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3158,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3211,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 3
    argNames:
    - buf
    - length
    - tp
    argTypes:
    - char*
    - int
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3123
    functionDepth: 1
    functionLinenumber: 3123
    functionLinenumberEnd: 3231
    functionName: mime_parse_rfc822_date_fastcase
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - is_ws
    - match
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int mime_parse_rfc822_date_fastcase(const char *buf, int length, struct
      tm *tp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3252,1
    - Dst: is_ws
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3255,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3259,1
    - Dst: mime_parse_mday
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3260,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3261,1
    - Dst: mime_parse_month
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3263,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3264,1
    - Dst: mime_parse_year
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3266,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3267,1
    - Dst: mime_parse_time
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3269,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3270,1
    - Dst: mime_parse_rfc822_date_fastcase
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3273,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3274,1
    - Dst: mime_parse_day
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3277,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3278,1
    - Dst: is_ws
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3281,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3285,1
    - Dst: mime_parse_mday
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3287,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3288,1
    - Dst: mime_parse_month
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3290,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3291,1
    - Dst: mime_parse_year
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3293,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3294,1
    - Dst: mime_parse_time
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3296,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3297,1
    - Dst: mime_parse_month
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3302,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3303,1
    - Dst: mime_parse_mday
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3305,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3306,1
    - Dst: mime_parse_time
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3308,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3309,1
    - Dst: mime_parse_year
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3311,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3312,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3323,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3326,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 2
    argNames:
    - buf
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3239
    functionDepth: 2
    functionLinenumber: 3239
    functionLinenumberEnd: 3340
    functionName: mime_parse_date
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 3
    functionsReached:
    - static_cast<time_t>
    - mime_parse_mday
    - mime_parse_month
    - mime_parse_day
    - mime_parse_year
    - is_digit
    - mime_parse_time
    - mime_parse_rfc822_date_fastcase
    - is_ws
    linkageType: ''
    returnType: time_t
    signature: time_t mime_parse_date(const char *buf, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3347,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3352,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - end
    - day
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3363
    functionName: mime_parse_day
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - ParseRules::is_alpha
    - match
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_day(const char *&buf, const char *end, int *day)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3370,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3375,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - end
    - month
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3365
    functionDepth: 1
    functionLinenumber: 3365
    functionLinenumberEnd: 3386
    functionName: mime_parse_month
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - ParseRules::is_alpha
    - match
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_month(const char *&buf, const char *end, int *month)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_parse_integer
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - end
    - mday
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3388
    functionDepth: 1
    functionLinenumber: 3388
    functionLinenumberEnd: 3392
    functionName: mime_parse_mday
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_parse_integer
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_mday(const char *&buf, const char *end, int *mday)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3399,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - end
    - year
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3394
    functionDepth: 1
    functionLinenumber: 3394
    functionLinenumberEnd: 3422
    functionName: mime_parse_year
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - is_digit
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_year(const char *&buf, const char *end, int *year)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mime_parse_integer
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3427,1
    - Dst: mime_parse_integer
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3430,1
    - Dst: mime_parse_integer
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - end
    - hour
    - min
    - sec
    argTypes:
    - char*
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3424
    functionDepth: 1
    functionLinenumber: 3424
    functionLinenumberEnd: 3437
    functionName: mime_parse_time
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - mime_parse_integer
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_time(const char *&buf, const char *end, int *hour,
      int *min, int *sec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3446,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3460,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3462,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3475,1
    - Dst: is_digit
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3485,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - end
    - integer
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3443
    functionDepth: 1
    functionLinenumber: 3443
    functionLinenumberEnd: 3503
    functionName: mime_parse_integer
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 2
    functionsReached:
    - is_digit
    - ParseRules::is_space
    linkageType: ''
    returnType: bool
    signature: bool mime_parse_integer(const char *&buf, const char *end, int *integer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3514,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3520,1
    - Dst: HDR_MARSHAL_STR_1
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3521,1
    - Dst: HDR_MARSHAL_STR_1
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3522,1
    - Dst: HDR_MARSHAL_PTR_1
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3524,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3532,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3533,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3534,1
    - Dst: HDR_MARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3536,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ptr_xlate
    - num_ptr
    - str_xlate
    - num_str
    argTypes:
    - MarshalXlate*
    - int
    - MarshalXlate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3510
    functionDepth: 1
    functionLinenumber: 3510
    functionLinenumberEnd: 3542
    functionName: MIMEFieldBlockImpl::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - HDR_MARSHAL_PTR
    - HDR_MARSHAL_PTR_1
    - HDR_MARSHAL_STR_1
    - HDR_MARSHAL_STR
    - MIMEField*::is_live
    linkageType: ''
    returnType: int
    signature: int MIMEFieldBlockImpl::marshal(MarshalXlate *ptr_xlate, int num_ptr,
      MarshalXlate *str_xlate, int num_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3547,1
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3552,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3553,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3554,1
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3544
    functionDepth: 1
    functionLinenumber: 3544
    functionLinenumberEnd: 3563
    functionName: MIMEFieldBlockImpl::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - HDR_UNMARSHAL_STR
    - MIMEField*::is_live
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: void
    signature: void MIMEFieldBlockImpl::unmarshal(intptr_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3571,1
    - Dst: MIMEField*::is_detached
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3571,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3576,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrStrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3565
    functionDepth: 1
    functionLinenumber: 3565
    functionLinenumberEnd: 3580
    functionName: MIMEFieldBlockImpl::move_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - MIMEField*::is_detached
    - MIMEField*::is_live
    - HDR_MOVE_STR
    linkageType: ''
    returnType: void
    signature: void MIMEFieldBlockImpl::move_strings(HdrStrHeap *new_heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3596
      start: 3582
    functionDepth: 0
    functionLinenumber: 3582
    functionLinenumberEnd: 3596
    functionName: MIMEFieldBlockImpl::strings_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MIMEFieldBlockImpl::strings_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3598
    functionDepth: 0
    functionLinenumber: 3598
    functionLinenumberEnd: 3604
    functionName: MIMEFieldBlockImpl::contains
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MIMEFieldBlockImpl::contains(const MIMEField *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::is_live
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3612,1
    - Dst: MIMEField*::is_detached
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3612,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3614,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - heaps
    - num_heaps
    argTypes:
    - HeapCheck*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3618
    functionName: MIMEFieldBlockImpl::check_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - MIMEField*::is_detached
    - MIMEField*::is_live
    - CHECK_STR
    linkageType: ''
    returnType: void
    signature: void MIMEFieldBlockImpl::check_strings(HeapCheck *heaps, int num_heaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3624,1
    - Dst: MIMEHdrImpl::marshal
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr_xlate
    - num_ptr
    - str_xlate
    - num_str
    argTypes:
    - MarshalXlate*
    - int
    - MarshalXlate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3626
      start: 3620
    functionDepth: 1
    functionLinenumber: 3620
    functionLinenumberEnd: 3626
    functionName: MIMEHdrImpl::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEHdrImpl::marshal
    - HDR_MARSHAL_PTR
    linkageType: ''
    returnType: int
    signature: int MIMEHdrImpl::marshal(MarshalXlate *ptr_xlate, int num_ptr, MarshalXlate
      *str_xlate, int num_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_PTR
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3631,1
    - Dst: MIMEHdrImpl::unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3628
    functionDepth: 1
    functionLinenumber: 3628
    functionLinenumberEnd: 3633
    functionName: MIMEHdrImpl::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEHdrImpl::unmarshal
    - HDR_UNMARSHAL_PTR
    linkageType: ''
    returnType: void
    signature: void MIMEHdrImpl::unmarshal(intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdrImpl::move_strings
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrStrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3635
    functionDepth: 1
    functionLinenumber: 3635
    functionLinenumberEnd: 3639
    functionName: MIMEHdrImpl::move_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEHdrImpl::move_strings
    linkageType: ''
    returnType: void
    signature: void MIMEHdrImpl::move_strings(HdrStrHeap *new_heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdrImpl::strings_length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3641
    functionDepth: 1
    functionLinenumber: 3641
    functionLinenumberEnd: 3645
    functionName: MIMEHdrImpl::strings_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEHdrImpl::strings_length
    linkageType: ''
    returnType: size_t
    signature: size_t MIMEHdrImpl::strings_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdrImpl::check_strings
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - heaps
    - num_heaps
    argTypes:
    - HeapCheck*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3647
    functionDepth: 1
    functionLinenumber: 3647
    functionLinenumberEnd: 3651
    functionName: MIMEHdrImpl::check_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 1
    functionsReached:
    - MIMEHdrImpl::check_strings
    linkageType: ''
    returnType: void
    signature: void MIMEHdrImpl::check_strings(HeapCheck *heaps, int num_heaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_reset_accelerators_and_presence_bits
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3653
    functionDepth: 5
    functionLinenumber: 3653
    functionLinenumberEnd: 3657
    functionName: MIMEHdrImpl::recompute_accelerators_and_presence_bits
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - mime_hdr_reset_accelerators_and_presence_bits
    linkageType: ''
    returnType: void
    signature: void MIMEHdrImpl::recompute_accelerators_and_presence_bits()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_cooked_stuff_init
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3684,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3692,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3692,1
    - Dst: MIMEField*::has_dups
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3697,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3698,1
    - Dst: ptr_len_casecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3699,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3699,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3699,1
    - Dst: ptr_len_casecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3702,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3702,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3702,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3709,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3711,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3711,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3713,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3719,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3721,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3724,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3729,1
    - Dst: mime_parse_integer
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3736,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3738,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3740,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3742,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3744,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3746,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3751,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3753,1
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3768,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3768,1
    - Dst: MIMEField*::has_dups
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3770,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3771,1
    - Dst: ptr_len_casecmp
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3772,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3772,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3772,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3779,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3781,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3781,1
    - Dst: ParseRules::is_token
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3783,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3788,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/MIME.cc:3789,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 1
    argNames:
    - changing_field_or_null
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3673
    functionDepth: 3
    functionLinenumber: 3673
    functionLinenumberEnd: 3797
    functionName: MIMEHdrImpl::recompute_cooked_stuff
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/MIME.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_wks_to_prefix
    - auto::length
    - static_cast<std::string_view>
    - HdrCsvIter::get_next
    - mime_hdr_cooked_stuff_init
    - HdrCsvIter::HdrCsvIter
    - Dbg
    - auto::data
    - mime_parse_integer
    - c_str
    - mime_hdr_field_find
    - MIMEField*::value_get
    - ptr_len_casecmp
    - MIMEField*::has_dups
    - hdrtoken_tokenize
    - ParseRules::is_token
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: void
    signature: void MIMEHdrImpl::recompute_cooked_stuff(MIMEField *changing_field_or_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_alnum
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: is_host_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_alnum
    linkageType: ''
    returnType: int
    signature: int is_host_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:99,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:99,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: validate_host_name
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - std::all_of
    linkageType: ''
    returnType: bool
    signature: bool validate_host_name(std::string_view addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:113,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:117,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:121,1
    - Dst: ParseRules::is_alnum
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: validate_scheme
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - ParseRules::is_alnum
    - ParseRules::is_alpha
    - std::string_view::size
    - std::string_view::empty
    linkageType: ''
    returnType: bool
    signature: bool validate_scheme(std::string_view scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_init
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:143,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:145,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:146,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:147,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:148,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:149,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:150,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:151,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:152,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:153,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:154,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:155,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:156,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:157,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:158,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:159,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:160,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:161,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:162,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:163,1
    - Dst: hdrtoken_string_to_wks_sv
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:164,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:167,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:167,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:167,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:167,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:168,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:168,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:168,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:168,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:169,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:169,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:169,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:169,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:170,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:170,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:170,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:170,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:172,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:172,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:173,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:173,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:174,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:174,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:175,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:175,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:176,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:176,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:177,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:177,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:178,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:178,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:179,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:179,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:180,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:180,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:181,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:181,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:182,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:182,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:183,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:183,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:184,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:184,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:185,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:185,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:186,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:186,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:187,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:187,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:188,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:188,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:189,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:189,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:190,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:190,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:191,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:191,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 193
    functionName: url_init
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 5
    functionsReached:
    - c_str
    - hdrtoken_init
    - hdrtoken_string_to_wks_sv
    - hdrtoken_wks_to_index
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void url_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::allocate_obj
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:209,1
    - Dst: obj_clear_data
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:210,1
    - Dst: url_clear_string_ref
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: url_create
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 4
    functionsReached:
    - obj_clear_data
    - HdrHeap*::allocate_obj
    - url_clear_string_ref
    linkageType: ''
    returnType: URLImpl
    signature: 'URLImpl *

      url_create(HdrHeap *heap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_clear_data
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - url_impl
    argTypes:
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: url_clear
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 2
    functionsReached:
    - obj_clear_data
    linkageType: ''
    returnType: void
    signature: void url_clear(URLImpl *url_impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_create
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:234,1
    - Dst: url_copy_onto
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s_url
    - s_heap
    - d_heap
    - inherit_strs
    argTypes:
    - URLImpl*
    - HdrHeap*
    - HdrHeap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: url_copy
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - url_copy_onto
    - url_create
    linkageType: ''
    returnType: URLImpl
    signature: 'URLImpl *

      url_copy(URLImpl *s_url, HdrHeap *s_heap, HdrHeap *d_heap, bool inherit_strs)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_copy_data
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:246,1
    - Dst: HdrHeap*::inherit_string_heaps
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - s_url
    - s_heap
    - d_url
    - d_heap
    - inherit_strs
    argTypes:
    - URLImpl*
    - HdrHeap*
    - URLImpl*
    - HdrHeap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: url_copy_onto
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 3
    functionsReached:
    - obj_copy_data
    - HdrHeap*::inherit_string_heaps
    linkageType: ''
    returnType: void
    signature: void url_copy_onto(URLImpl *s_url, HdrHeap *s_heap, URLImpl *d_url,
      HdrHeap *d_heap, bool inherit_strs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - d_url
    argTypes:
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: url_nuke_proxy_stuff
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void url_nuke_proxy_stuff(URLImpl *d_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:286,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:287,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:288,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:289,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:290,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:291,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:292,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:293,1
    - Dst: HDR_MARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - str_xlate
    - num_xlate
    argTypes:
    - MarshalXlate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: URLImpl::marshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - HDR_MARSHAL_STR
    linkageType: ''
    returnType: int
    signature: int URLImpl::marshal(MarshalXlate *str_xlate, int num_xlate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:302,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:303,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:304,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:305,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:306,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:307,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:308,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:309,1
    - Dst: HDR_UNMARSHAL_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - offset
    argTypes:
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: URLImpl::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - HDR_UNMARSHAL_STR
    linkageType: ''
    returnType: void
    signature: void URLImpl::unmarshal(intptr_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:317,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:318,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:319,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:320,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:321,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:322,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:323,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:324,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:325,1
    - Dst: HdrHeap*::localize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: URLImpl::rehome_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - HdrHeap*::localize
    linkageType: ''
    returnType: void
    signature: void URLImpl::rehome_strings(HdrHeap *new_heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:332,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:333,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:334,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:335,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:336,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:337,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:338,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:339,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:340,1
    - Dst: HDR_MOVE_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - new_heap
    argTypes:
    - HdrStrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: URLImpl::move_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - HDR_MOVE_STR
    linkageType: ''
    returnType: void
    signature: void URLImpl::move_strings(HdrStrHeap *new_heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: URLImpl::strings_length
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t URLImpl::strings_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:365,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:366,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:367,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:368,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:369,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:370,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:371,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:372,1
    - Dst: CHECK_STR
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - heaps
    - num_heaps
    argTypes:
    - HeapCheck*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: URLImpl::check_strings
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - CHECK_STR
    linkageType: ''
    returnType: void
    signature: void URLImpl::check_strings(HeapCheck *heaps, int num_heaps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:387,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:388,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:392,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:396,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:401,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:401,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:403,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - heap
    - value
    - scheme_wks_idx
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 410
    functionName: URLImpl::set_scheme
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - mime_str_u16_set
    - hdrtoken_index_to_wks
    - std::string_view::empty
    - c_str
    - url_called_set
    linkageType: ''
    returnType: char
    signature: 'char *

      URLImpl::set_scheme(HdrHeap *heap, std::string_view value, int scheme_wks_idx,
      bool copy_string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:418,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:419,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: URLImpl::set_user
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_user(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:431,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:432,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: URLImpl::set_password
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_password(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:444,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:445,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: URLImpl::set_host
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_host(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:457,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:458,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:461,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 470
    functionName: URLImpl::set_port
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    - std::string_view::empty
    - ParseRules::is_digit
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_port(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:478,1
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:483,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:484,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:484,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - heap
    - port
    argTypes:
    - HdrHeap*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: URLImpl::set_port
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - ink_fast_itoa
    - mime_str_u16_set
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_port(HdrHeap *heap, unsigned int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:498,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:499,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: URLImpl::set_path
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_path(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:514,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: URLImpl::set_query
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_query(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:524,1
    - Dst: mime_str_u16_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - heap
    - value
    - copy_string
    argTypes:
    - HdrHeap*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: URLImpl::set_fragment
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    - mime_str_u16_set
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_fragment(HdrHeap *heap, std::string_view value, bool
      copy_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - URLType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: URLImpl::set_type
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_type(URLType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_called_set
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - typecode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: URLImpl::set_type_code
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_called_set
    linkageType: ''
    returnType: void
    signature: void URLImpl::set_type_code(unsigned int typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: url_called_set
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void url_called_set(URLImpl *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - url
    argTypes:
    - URLImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: url_clear_string_ref
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void url_clear_string_ref(URLImpl *url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:588,1
    - Dst: url_length_get
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:590,1
    - Dst: HdrHeap*::allocate_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:596,1
    - Dst: url_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - heap
    - url
    - length
    - normalization_flags
    argTypes:
    - HdrHeap*
    - URLImpl*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 609
    functionName: url_string_get_ref
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - url_length_get
    - HdrHeap*::allocate_str
    - url_print
    linkageType: ''
    returnType: char
    signature: 'char *

      url_string_get_ref(HdrHeap *heap, URLImpl *url, int *length, unsigned normalization_flags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url_length_get
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:614,1
    - Dst: Arena*::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:620,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:620,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:620,1
    - Dst: url_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:622,1
    - Dst: HdrHeap*::allocate_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:627,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - url
    - arena
    - length
    - heap
    argTypes:
    - URLImpl*
    - Arena*
    - int*
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: url_string_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 4
    functionsReached:
    - memcpy
    - static_cast<char *>
    - url_length_get
    - ats_malloc
    - HdrHeap*::allocate_str
    - Arena*::str_alloc
    - url_print
    linkageType: ''
    returnType: char
    signature: 'char *

      url_string_get(URLImpl *url, Arena *arena, int *length, HdrHeap *heap)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: url_length_get
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:647,1
    - Dst: url_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - url
    - dstbuf
    - dstbuf_size
    - length
    argTypes:
    - URLImpl*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 665
    functionName: url_string_get_buf
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_length_get
    - url_print
    linkageType: ''
    returnType: char
    signature: 'char *

      url_string_get_buf(URLImpl *url, char *dstbuf, int dstbuf_size, int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:674,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:675,1
    - Dst: hdrtoken_index_to_length
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:675,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: URLImpl::get_scheme
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_index_to_length
    - hdrtoken_index_to_wks
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_scheme() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: URLImpl::get_user
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_user() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: URLImpl::get_password
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_password() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 706
    functionName: URLImpl::get_host
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_host() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: URLImpl::get_port
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int URLImpl::get_port()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: URLImpl::get_path
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_path() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: URLImpl::get_query
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_query() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: URLImpl::get_fragment
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URLImpl::get_fragment() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 751
    functionName: URLImpl::get_type
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: URLType
    signature: URLType URLImpl::get_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: URLImpl::get_type_code
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int URLImpl::get_type_code()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:784,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:784,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:787,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:787,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:802,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - url
    - normalization_flags
    argTypes:
    - URLImpl*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 832
    functionName: url_length_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - length
    - memchr
    linkageType: ''
    returnType: int
    signature: int url_length_get(URLImpl *url, unsigned normalization_flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: url_length_get
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:844,1
    - Dst: Arena*::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:851,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:853,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:853,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:859,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:861,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:861,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:871,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:875,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:882,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:886,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:891,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:896,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:902,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:908,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - url
    - arena
    - length
    argTypes:
    - URLImpl*
    - Arena*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 911
    functionName: url_to_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ink_release_assert
    - hdrtoken_index_to_wks
    - static_cast<char *>
    - url_length_get
    - c_str
    - ats_malloc
    - Arena*::str_alloc
    linkageType: ''
    returnType: char
    signature: 'char *

      url_to_string(URLImpl *url, Arena *arena, int *length)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:927,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:928,1
    - Dst: ink_memcpy_until_char
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:931,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:931,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:932,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:951,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:960,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:963,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:964,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:968,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:969,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - buf
    - buf_e
    - str
    - str_e
    - state
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 988
    functionName: unescape_str
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ParseRules::is_hex
    - ParseRules::is_alpha
    - const_cast<char *>
    - ink_memcpy_until_char
    - ParseRules::ink_toupper
    linkageType: ''
    returnType: void
    signature: void unescape_str(char *&buf, char *buf_e, const char *&str, const
      char *str_e, int &state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1003,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1008,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1012,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1017,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1020,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1021,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1025,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1026,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1035,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1040,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - buf
    - end
    - str
    - str_e
    - state
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1045
    functionName: unescape_str_tolower
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_hex
    - ParseRules::ink_toupper
    - ParseRules::is_alpha
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: void
    signature: void unescape_str_tolower(char *&buf, char *end, const char *&str,
      const char *str_e, int &state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1058,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1058,1
    - Dst: Arena*::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1061,1
    - Dst: unescape_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arena
    - str
    - length
    argTypes:
    - Arena*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1070
    functionName: url_unescapify
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - unescape_str
    - Arena*::str_alloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      url_unescapify(Arena *arena, const char *str, int length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: GETNEXT
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETNEXT(label)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1112,1
    - Dst: hdrtoken_wks_to_token_type
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1114,1
    - Dst: validate_scheme
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1116,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1116,1
    - Dst: URLImpl*::set_scheme
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1120,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 5
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings_p
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1128
    functionName: url_parse_scheme
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - URLImpl*::set_scheme
    - static_cast<size_t>
    - static_cast<std::string_view::size_type>
    - hdrtoken_tokenize
    - validate_scheme
    - hdrtoken_wks_to_token_type
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult url_parse_scheme(HdrHeap *heap, URLImpl *url, const char
      **start, const char *end, bool copy_strings_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_uri
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1144,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: UrlImpl::url_is_strictly_compliant
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ParseRules::is_uri
    - static_cast<unsigned char>
    linkageType: ''
    returnType: bool
    signature: bool url_is_strictly_compliant(const char *start, const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1161,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1161,1
    - Dst: isprint
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1165,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1170
    functionName: UrlImpl::url_is_mostly_compliant
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - isspace
    - isprint
    - static_cast<unsigned char>
    linkageType: ''
    returnType: bool
    signature: bool url_is_mostly_compliant(const char *start, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_uri
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1144,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: UrlImpl::url_is_strictly_compliant
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ParseRules::is_uri
    - static_cast<unsigned char>
    linkageType: ''
    returnType: bool
    signature: bool url_is_strictly_compliant(const char *start, const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1161,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1161,1
    - Dst: isprint
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1165,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1170
    functionName: UrlImpl::url_is_mostly_compliant
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - isspace
    - isprint
    - static_cast<unsigned char>
    linkageType: ''
    returnType: bool
    signature: bool url_is_mostly_compliant(const char *start, const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url_is_strictly_compliant
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1179,1
    - Dst: url_is_mostly_compliant
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1182,1
    - Dst: url_parse_scheme
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1186,1
    - Dst: url_parse_http
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings_p
    - strict_uri_parsing
    - verify_host_characters
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 4
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: url_parse
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - url_is_strictly_compliant
    - url_is_mostly_compliant
    - url_parse_http
    - url_parse_scheme
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult url_parse(HdrHeap *heap, URLImpl *url, const char **start,
      const char *end, bool copy_strings_p, int strict_uri_parsing,\n          bool
      verify_host_characters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_parse_scheme
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1193,1
    - Dst: url_parse_http_regex
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings_p
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1195
    functionName: url_parse_regex
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_parse_http_regex
    - url_parse_scheme
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult url_parse_regex(HdrHeap *heap, URLImpl *url, const char
      **start, const char *end, bool copy_strings_p)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1252,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1278,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1279,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1283,1
    - Dst: URLImpl*::set_user
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1313,1
    - Dst: URLImpl*::set_password
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1315,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1322,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1324,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1328,1
    - Dst: validate_host_name
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1329,1
    - Dst: URLImpl*::set_host
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1330,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1337,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1338,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1339,1
    - Dst: URLImpl*::set_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1342,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 95
    argCount: 6
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings_p
    - verify_host_characters
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1346
    functionName: url_parse_internet
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - URLImpl*::set_port
    - URLImpl*::set_host
    - URLImpl*::set_password
    - validate_host_name
    - URLImpl*::set_user
    - swoc::TextView::assign
    - empty
    - assign
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult url_parse_internet(HdrHeap *heap, URLImpl *url, const
      char **start, char const *end, bool copy_strings_p,\n                   bool
      verify_host_characters)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: url_parse_internet
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1366,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1367,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1393,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1395,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1400,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1406,1
    - Dst: GETNEXT
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1411,1
    - Dst: URLImpl*::set_path
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1450,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1450,1
    - Dst: URLImpl*::set_query
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1463,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1463,1
    - Dst: URLImpl*::set_fragment
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1470,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1470,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 6
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings
    - verify_host_characters
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1476
    functionName: url_parse_http
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - URLImpl*::set_fragment
    - url_parse_internet
    - URLImpl*::set_query
    - GETNEXT
    - static_cast<std::string_view::size_type>
    - URLImpl*::set_path
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult url_parse_http(HdrHeap *heap, URLImpl *url, const char
      **start, const char *end, bool copy_strings, bool verify_host_characters)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1493,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1493,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1517,1
    - Dst: URLImpl*::set_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1527,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1527,1
    - Dst: URLImpl*::set_host
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1531,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1531,1
    - Dst: URLImpl*::set_path
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1536,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1536,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 5
    argNames:
    - heap
    - url
    - start
    - end
    - copy_strings
    argTypes:
    - HdrHeap*
    - URLImpl*
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1541
    functionName: url_parse_http_regex
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - URLImpl*::set_port
    - isdigit
    - URLImpl*::set_host
    - static_cast<std::string_view::size_type>
    - URLImpl*::set_path
    - static_cast<const char *>
    - memchr
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult url_parse_http_regex(HdrHeap *heap, URLImpl *url, const
      char **start, const char *end, bool copy_strings)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1562,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1563,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1569,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1569,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1573,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1573,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1578,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1578,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1582,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1582,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1582,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1585,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1585,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1586,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1586,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1586,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1589,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1589,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1596,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1598,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1598,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1600,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1601,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1604,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1604,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1607,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1607,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1608,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1608,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1608,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1614,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1614,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1617,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1617,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1617,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1622,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1622,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1623,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1623,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1623,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1628,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1628,1
    - Dst: TRY
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1629,1
    - Dst: mime_mem_print
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1629,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1629,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 6
    argNames:
    - url
    - buf_start
    - buf_length
    - buf_index_inout
    - buf_chars_to_skip_inout
    - normalization_flags
    argTypes:
    - URLImpl*
    - char*
    - int
    - int*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1636
    functionName: url_print
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 7
    functionsReached:
    - mime_mem_print
    - TRY
    - static_cast<std::string_view::size_type>
    - memchr
    linkageType: ''
    returnType: int
    signature: "int url_print(URLImpl *url, char *buf_start, int buf_length, int *buf_index_inout,
      int *buf_chars_to_skip_inout,\n          unsigned normalization_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1559
    functionName: TRY
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1643,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1643,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1644,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1646,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1648,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1650,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1652,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1654,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1656,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - raw
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1660
    functionName: url_describe
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Dbg
    linkageType: ''
    returnType: void
    signature: void url_describe(HdrHeapObjImpl *raw, bool /* recurse ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1679
    functionName: memcpy_tolower
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: void
    signature: void memcpy_tolower(char *d, const char *s, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1693,1
    - Dst: memcpy_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1702,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1705,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1712,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1713,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1713,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1714,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1715,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1717,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1719,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - url
    - ctx
    - hash
    - generation
    argTypes:
    - URLImpl*
    - CryptoContext
    - CryptoHash*
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1723
    functionName: url_CryptoHash_get_fast
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - memcpy_tolower
    - CryptoContext::update
    - reinterpret_cast<char *>
    - url_canonicalize_port
    - static_cast<uint16_t>
    - ink_assert
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: void url_CryptoHash_get_fast(const URLImpl *url, CryptoContext &ctx,
      CryptoHash *hash, cache_generation_t generation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unescape_str_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1783,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1790,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1790,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1791,1
    - Dst: unescape_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1795,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1799,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1807,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1809,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1810,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1812,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1814,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1815,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1816,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1818,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1820,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 5
    argNames:
    - url
    - ctx
    - hash
    - ignore_query
    - generation
    argTypes:
    - URLImpl*
    - CryptoContext
    - CryptoHash
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1821
    functionName: url_CryptoHash_get_general
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - CryptoContext::update
    - min
    - Dbg
    - unescape_str_tolower
    - url_canonicalize_port
    - unescape_str
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: "void url_CryptoHash_get_general(const URLImpl *url, CryptoContext
      &ctx, CryptoHash &hash, bool ignore_query,\n                           cache_generation_t
      generation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1830,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1830,1
    - Dst: url_CryptoHash_get_fast
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1831,1
    - Dst: url_CryptoHash_get_general
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1834,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1835,1
    - Dst: url_CryptoHash_get_general
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - url
    - hash
    - ignore_query
    - generation
    argTypes:
    - URLImpl*
    - CryptoHash*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1823
    functionDepth: 3
    functionLinenumber: 1823
    functionLinenumberEnd: 1840
    functionName: url_CryptoHash_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 1
    functionsReached:
    - url_CryptoHash_get_general
    - url_CryptoHash_get_fast
    - memchr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void url_CryptoHash_get(const URLImpl *url, CryptoHash *hash, bool
      ignore_query, cache_generation_t generation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unescape_str_tolower
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1900,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1907,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1907,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1908,1
    - Dst: unescape_str
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1912,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1916,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1924,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1926,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1927,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1929,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1931,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1932,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1933,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1935,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 5
    argNames:
    - url
    - ctx
    - hash
    - ignore_query
    - generation
    argTypes:
    - URLImpl*
    - CryptoContext
    - CryptoHash
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1842
    functionDepth: 2
    functionLinenumber: 1842
    functionLinenumberEnd: 1938
    functionName: url_CryptoHash_get_general_92
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - CryptoContext::update
    - min
    - Dbg
    - unescape_str_tolower
    - url_canonicalize_port
    - unescape_str
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: "void url_CryptoHash_get_general_92(const URLImpl *url, CryptoContext
      &ctx, CryptoHash &hash, bool ignore_query,\n                              cache_generation_t
      generation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1947,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1947,1
    - Dst: url_CryptoHash_get_fast
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1948,1
    - Dst: url_CryptoHash_get_general_92
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1951,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1952,1
    - Dst: url_CryptoHash_get_general_92
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - url
    - hash
    - ignore_query
    - generation
    argTypes:
    - URLImpl*
    - CryptoHash*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1940
    functionDepth: 3
    functionLinenumber: 1940
    functionLinenumberEnd: 1957
    functionName: url_CryptoHash_get_92
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_CryptoHash_get_general_92
    - url_CryptoHash_get_fast
    - memchr
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void url_CryptoHash_get_92(const URLImpl *url, CryptoHash *hash, bool
      ignore_query, cache_generation_t generation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::CryptoContext
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1967,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1970,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1973,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1976,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1979,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1983,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1984,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/src/proxy/hdrs/URL.cc:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - url
    - hash
    argTypes:
    - URLImpl*
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1964
    functionDepth: 2
    functionLinenumber: 1964
    functionLinenumberEnd: 1986
    functionName: url_host_CryptoHash_get
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/URL.cc
    functionUses: 0
    functionsReached:
    - url_canonicalize_port
    - CryptoContext::update
    - CryptoContext::CryptoContext
    - CryptoContext::finalize
    linkageType: ''
    returnType: void
    signature: void url_host_CryptoHash_get(URLImpl *url, CryptoHash *hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:145,1
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:146,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:152,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:153,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:157,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:157,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:163,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: comp_http_hdr
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - std::unique_ptr::get
    - HTTPHdr*::print
    - char::char
    - HTTPHdr*::length_get
    linkageType: ''
    returnType: char
    signature: 'char *

      comp_http_hdr(HTTPHdr *h1, HTTPHdr *h2)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:180,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:181,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:182,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:183,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:192,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:195,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:197,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:201,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:208,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:211,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:215,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:218,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:220,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:223,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:230,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:235,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:236,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:237,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:242,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:243,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:244,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:254,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:255,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:260,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:261,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:267,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:268,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:269,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:270,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:273,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 3
    argNames:
    - testnum
    - request
    - response
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 280
    functionName: test_http_hdr_copy_over_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::printf
    - http_parser_clear
    - HTTPHdr::parse_req
    - http_parser_init
    - comp_http_hdr
    - HTTPHdr::parse_resp
    - HTTPHdr::destroy
    - HTTPHdr::copy
    - strlen
    - printf
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_copy_over_aux(int testnum, const char *request, const
      char *response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:286,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:287,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:295,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:299,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:300,1
    - Dst: strcpy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:303,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:306,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:308,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:311,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - testnum
    - request
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 322
    functionName: test_http_hdr_null_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - strcpy
    - HTTPHdr::parse_req
    - http_parser_init
    - HTTPHdr::destroy
    - strlen
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_null_char(int testnum, const char *request, const
      char * /*request_tgt*/)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:328,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:329,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:337,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:341,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:342,1
    - Dst: strcpy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:345,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:350,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:353,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:353,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - testnum
    - request
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 364
    functionName: test_http_hdr_ctl_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - strcpy
    - HTTPHdr::parse_req
    - http_parser_init
    - HTTPHdr::destroy
    - strlen
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_ctl_char(int testnum, const char *request, const
      char * /*request_tgt */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:370,1
    - Dst: std::exit
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: free
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 308
    functionsReached:
    - std::printf
    - std::exit
    linkageType: ''
    returnType: void
    signature: void free() override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:380,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:393,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:398,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:401,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:403,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:406,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:413,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:418,1
    - Dst: TestRefCountObj::refcount_inc
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:422,1
    - Dst: HTTPHdr::m_heap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:424,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:425,1
    - Dst: unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:426,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:426,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:427,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:428,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:433,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:436,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:439,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:444,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:445,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:445,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:449,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:450,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:454,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:454,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:455,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:455,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:456,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:459,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:460,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:464,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:465,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:469,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:472,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:474,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:477,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:484,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:490,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:491,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:496,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:499,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:502,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:507,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:508,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:508,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:511,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:512,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:516,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:516,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:517,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:517,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:518,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:521,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:522,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:526,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:527,1
    - Dst: test_http_hdr_copy_over_aux
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 5
    argNames:
    - testnum
    - request
    - request_tgt
    - response
    - response_tgt
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 534
    functionName: test_http_hdr_print_and_copy_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - TestRefCountObj::refcount_inc
    - HTTPHdr::parse_req
    - HTTPHdr::print
    - http_parser_init
    - HTTPHdr::m_heap::marshal
    - HTTPHdr::parse_resp
    - HTTPHdr::destroy
    - create
    - std::unique_ptr::get
    - static_cast<int>
    - std::printf
    - strncasecmp
    - test_http_hdr_copy_over_aux
    - strlen
    - unmarshal
    - static_cast<size_t>
    - HTTPHdr::HTTPHdr
    - HTTPHdr::copy
    - HTTPHdr::create
    - char::char
    linkageType: ''
    returnType: int
    signature: "int test_http_hdr_print_and_copy_aux(int testnum, const char *request,
      const char *request_tgt, const char *response,\n                                 const
      char *response_tgt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Arena::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:539,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:540,1
    - Dst: Arena::str_length
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:540,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - len
    argTypes:
    - Arena
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: test_arena_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::printf
    - Arena::str_alloc
    - Arena::str_length
    linkageType: ''
    returnType: int
    signature: int test_arena_aux(Arena &arena, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:145,1
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:146,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:152,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:153,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:157,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:157,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:163,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:163,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: comp_http_hdr
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 1
    functionsReached:
    - memcmp
    - std::unique_ptr::get
    - HTTPHdr*::print
    - char::char
    - HTTPHdr*::length_get
    linkageType: ''
    returnType: char
    signature: 'char *

      comp_http_hdr(HTTPHdr *h1, HTTPHdr *h2)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:180,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:181,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:182,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:183,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:192,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:195,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:197,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:201,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:208,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:211,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:215,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:218,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:220,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:223,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:230,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:235,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:236,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:237,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:242,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:243,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:244,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:254,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:255,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:260,1
    - Dst: comp_http_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:261,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:267,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:268,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:269,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:270,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:273,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:274,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:275,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 3
    argNames:
    - testnum
    - request
    - response
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 280
    functionName: test_http_hdr_copy_over_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::printf
    - http_parser_clear
    - HTTPHdr::parse_req
    - http_parser_init
    - comp_http_hdr
    - HTTPHdr::parse_resp
    - HTTPHdr::destroy
    - HTTPHdr::copy
    - strlen
    - printf
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_copy_over_aux(int testnum, const char *request, const
      char *response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:286,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:287,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:295,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:299,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:300,1
    - Dst: strcpy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:303,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:306,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:308,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:311,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - testnum
    - request
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 322
    functionName: test_http_hdr_null_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - strcpy
    - HTTPHdr::parse_req
    - http_parser_init
    - HTTPHdr::destroy
    - strlen
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_null_char(int testnum, const char *request, const
      char * /*request_tgt*/)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:328,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:329,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:337,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:341,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:342,1
    - Dst: strcpy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:345,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:350,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:353,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:353,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - testnum
    - request
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 364
    functionName: test_http_hdr_ctl_char
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - strcpy
    - HTTPHdr::parse_req
    - http_parser_init
    - HTTPHdr::destroy
    - strlen
    - HTTPHdr::HTTPHdr
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_http_hdr_ctl_char(int testnum, const char *request, const
      char * /*request_tgt */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:370,1
    - Dst: std::exit
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: free
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 308
    functionsReached:
    - std::printf
    - std::exit
    linkageType: ''
    returnType: void
    signature: void free() override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:380,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:393,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:398,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:401,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:403,1
    - Dst: HTTPHdr::parse_req
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:406,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:413,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:418,1
    - Dst: TestRefCountObj::refcount_inc
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:422,1
    - Dst: HTTPHdr::m_heap::marshal
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:424,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:424,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:425,1
    - Dst: unmarshal
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:426,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:426,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:427,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:428,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:433,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:436,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:439,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:443,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:444,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:445,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:445,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:447,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:448,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:449,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:450,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:454,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:454,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:455,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:455,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:456,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:457,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:458,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:459,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:460,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:464,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:465,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:469,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:472,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:474,1
    - Dst: HTTPHdr::parse_resp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:477,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:484,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:490,1
    - Dst: HTTPHdr::copy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:491,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:496,1
    - Dst: HTTPHdr::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:499,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:502,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:506,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:507,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:508,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:508,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:509,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:510,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:511,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:512,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:516,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:516,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:517,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:517,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:518,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:519,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:520,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:521,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:522,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:526,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:527,1
    - Dst: test_http_hdr_copy_over_aux
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 5
    argNames:
    - testnum
    - request
    - request_tgt
    - response
    - response_tgt
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 534
    functionName: test_http_hdr_print_and_copy_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - TestRefCountObj::refcount_inc
    - HTTPHdr::parse_req
    - HTTPHdr::print
    - http_parser_init
    - HTTPHdr::m_heap::marshal
    - HTTPHdr::parse_resp
    - HTTPHdr::destroy
    - create
    - std::unique_ptr::get
    - static_cast<int>
    - std::printf
    - strncasecmp
    - test_http_hdr_copy_over_aux
    - strlen
    - unmarshal
    - static_cast<size_t>
    - HTTPHdr::HTTPHdr
    - HTTPHdr::copy
    - HTTPHdr::create
    - char::char
    linkageType: ''
    returnType: int
    signature: "int test_http_hdr_print_and_copy_aux(int testnum, const char *request,
      const char *request_tgt, const char *response,\n                                 const
      char *response_tgt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Arena::str_alloc
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:539,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:540,1
    - Dst: Arena::str_length
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:540,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - len
    argTypes:
    - Arena
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: test_arena_aux
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Hdrs.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::printf
    - Arena::str_alloc
    - Arena::str_length
    linkageType: ''
    returnType: int
    signature: int test_arena_aux(Arena &arena, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:526,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:527,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:528,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:532,1
    - Dst: URL::parse_no_host_check
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:534,1
    - Dst: URL::parse_regex
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:537,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:544,1
    - Dst: url_parse_test_case::input_uri::c_str
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:544,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:545,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:546,1
    - Dst: std::printf
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:548,1
    - Dst: url_parse_test_case::input_uri::c_str
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:548,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:549,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:550,1
    - Dst: URL::print
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:556,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:557,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:559,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:560,1
    - Dst: url_parse_test_case::expected_printed_url::size
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:560,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:560,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:562,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:563,1
    - Dst: url_parse_test_case::expected_printed_url_regex::size
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:563,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:563,1
    - Dst: HdrHeap*::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - test_case
    - parse_function
    argTypes:
    - url_parse_test_case
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 567
    functionName: test_parse
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - std::printf
    - URL::parse_no_host_check
    - URL::URL
    - static_cast<int>
    - CHECK
    - url_parse_test_case::expected_printed_url::size
    - HdrHeap*::destroy
    - URL::parse_regex
    - std::string::size
    - URL::parse
    - url_parse_test_case::input_uri::c_str
    - url_parse_test_case::expected_printed_url_regex::size
    - URL::print
    - static_cast<size_t>
    - URL::create
    linkageType: ''
    returnType: void
    signature: void test_parse(url_parse_test_case const &test_case, bool parse_function)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:677,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:678,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:679,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:680,1
    - Dst: URL::hash_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:682,1
    - Dst: HdrHeap*::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - uri
    - ignore_query
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 685
    functionName: get_hash
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - URL::URL
    - HdrHeap*::destroy
    - URL::parse
    - URL::hash_get
    - URL::create
    linkageType: ''
    returnType: CryptoHash
    signature: CryptoHash get_hash(const std::string &uri, bool ignore_query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_hash
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:692,1
    - Dst: get_hash
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:693,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:695,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: SECTION
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - get_hash
    linkageType: ''
    returnType: void
    signature: void SECTION(description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:743,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:744,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:745,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:746,1
    - Dst: URL::path_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:747,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:748,1
    - Dst: HdrHeap*::destroy
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 750
    functionName: SECTION
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_URL.cc
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - CHECK
    - URL::URL
    - HdrHeap*::destroy
    - URL::path_get
    - URL::parse
    - URL::create
    linkageType: ''
    returnType: void
    signature: void SECTION(description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/unit_test_main.cc:38,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/unit_test_main.cc:39,1
    - Dst: SSLSessionCache::getSession
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/unit_test_main.cc:41,1
    - Dst: hpack_huffman_fin
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/unit_test_main.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/unit_test_main.cc
    functionUses: 3
    functionsReached:
    - SSLSessionCache::getSession
    - hpack_huffman_init
    - hpack_huffman_fin
    - http_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_XPACK.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: get_long_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_XPACK.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_long_string(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_XPACK.cc:402,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_XPACK.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 413
    functionName: get_long_string
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_XPACK.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string get_long_string(std::string_view prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:39,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:40,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hdr
    - field_name
    - field_value
    argTypes:
    - HTTPHdr
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: add_field_value_to_hdr
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set
    - HTTPHdr::field_attach
    - HTTPHdr::field_create
    linkageType: ''
    returnType: void
    signature: void add_field_value_to_hdr(HTTPHdr &hdr, std::string_view field_name,
      std::string_view field_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_field_value_to_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:48,1
    - Dst: HeaderValidator::is_h2_h3_header_valid
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:50,1
    - Dst: HTTPHdr::type_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:50,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fields
    - hdr
    - expectation
    argTypes:
    - Fields_type
    - HTTPHdr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: check_header
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HTTPHdr::type_get
    - HeaderValidator::is_h2_h3_header_valid
    - add_field_value_to_hdr
    linkageType: ''
    returnType: void
    signature: void check_header(const Fields_type &fields, HTTPHdr &hdr, bool expectation,
      bool is_trailer = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:39,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:40,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hdr
    - field_name
    - field_value
    argTypes:
    - HTTPHdr
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: add_field_value_to_hdr
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::value_set
    - HTTPHdr::field_attach
    - HTTPHdr::field_create
    linkageType: ''
    returnType: void
    signature: void add_field_value_to_hdr(HTTPHdr &hdr, std::string_view field_name,
      std::string_view field_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_field_value_to_hdr
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:48,1
    - Dst: HeaderValidator::is_h2_h3_header_valid
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:50,1
    - Dst: HTTPHdr::type_get
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:50,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fields
    - hdr
    - expectation
    argTypes:
    - Fields_type
    - HTTPHdr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: check_header
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_HeaderValidator.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HTTPHdr::type_get
    - HeaderValidator::is_h2_h3_header_valid
    - add_field_value_to_hdr
    linkageType: ''
    returnType: void
    signature: void check_header(const Fields_type &fields, HTTPHdr &hdr, bool expectation,
      bool is_trailer = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:72,1
    - Dst: malloc
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:72,1
    - Dst: lrand48
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:76,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:77,1
    - Dst: huffman_decode
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:82,1
    - Dst: free
      Src: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: random_test
    functionSourceFile: /src/trafficserver/src/proxy/hdrs/unit_tests/test_Huffmancode.cc
    functionUses: 0
    functionsReached:
    - free
    - static_cast<char>
    - static_cast<char *>
    - lrand48
    - malloc
    - huffman_decode
    linkageType: ''
    returnType: void
    signature: void random_test()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DiagsConfig::register_diags_callbacks
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:65,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:74,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:75,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:79,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:80,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:81,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:82,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:82,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:86,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:87,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:88,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:89,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:93,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:94,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:96,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:96,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:108,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:109,1
    - Dst: DiagsConfig::parse_output_string
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:113,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:113,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:115,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:119,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:120,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:123,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:124,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:133,1
    - Dst: deactivate_all
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:139,1
    - Dst: deactivate_all
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:140,1
    - Dst: activate_taglist
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:146,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:146,1
    - Dst: activate_taglist
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:147,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:147,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:153,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 155
    functionName: DiagsConfig::reconfigure_diags
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 0
    functionsReached:
    - DiagsConfig::parse_output_string
    - auto::value
    - RecGetRecordStringAlloc
    - DiagsConfigState::enabled
    - Error
    - Note
    - DiagsConfig::register_diags_callbacks
    - auto::has_value
    - ats_as_c_str
    - activate_taglist
    - RecGetRecordInt
    - deactivate_all
    linkageType: ''
    returnType: void
    signature: void DiagsConfig::reconfigure_diags()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DiagsConfig *>
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:172,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:173,1
    - Dst: reconfigure_diags
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:173,1
    - Dst: DiagsConfig*::reconfigure_diags
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opaque_token
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: diags_config_callback
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 0
    functionsReached:
    - DiagsConfig*::reconfigure_diags
    - reconfigure_diags
    - static_cast<DiagsConfig *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int diags_config_callback(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData /* data ATS_UNUSED */,\n                      void
      *opaque_token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:195,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:196,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:197,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - o
    argTypes:
    - char*
    - DiagsModeOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: DiagsConfig::parse_output_string
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void DiagsConfig::parse_output_string(const char *s, DiagsModeOutput
      *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:213,1
    - Dst: deactivate_all
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:218,1
    - Dst: deactivate_all
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:219,1
    - Dst: activate_taglist
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:226,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:227,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:229,1
    - Dst: activate_taglist
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:233,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:234,1
    - Dst: DiagsConfigState::enabled
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:236,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 249
    functionName: DiagsConfig::config_diags_norecords
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - DiagsConfigState::enabled
    - ink_zero
    - activate_taglist
    - deactivate_all
    linkageType: ''
    returnType: void
    signature: void DiagsConfig::config_diags_norecords()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:255,1
    - Dst: std::make_unique<Diags>
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:264,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:265,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:265,1
    - Dst: DiagsConfig::config_diags_norecords
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:266,1
    - Dst: RecConfigReadLogDir
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:273,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:274,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:275,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:275,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:276,1
    - Dst: my_exit
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:277,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:287,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:288,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:294,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:296,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:298,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:300,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:302,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:304,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:308,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:309,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:310,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:311,1
    - Dst: ink_fileperm_parse
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:312,1
    - Dst: ink_fileperm_parse
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:313,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:316,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:316,1
    - Dst: std::make_unique<Diags>
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:317,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:319,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:319,1
    - Dst: config_roll_diagslog
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:320,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:320,1
    - Dst: config_roll_outputlog
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:321,1
    - Dst: static_cast<RollingEnabledValues>
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:321,1
    - Dst: Status
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:324,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:324,1
    - Dst: DiagsConfig::register_diags_callbacks
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:326,1
    - Dst: DiagsConfig::reconfigure_diags
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 5
    argNames:
    - prefix_string
    - filename
    - tags
    - actions
    - use_records
    argTypes:
    - std::string_view
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 329
    functionName: DiagsConfig::DiagsConfig
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 1
    functionsReached:
    - DiagsConfig::reconfigure_diags
    - std::string
    - ats_as_c_str
    - RecConfigReadLogDir
    - RecGetRecordInt
    - strerror
    - ink_fileperm_parse
    - DiagsPtr::set
    - get
    - fprintf
    - DiagsConfig::register_diags_callbacks
    - std::string::c_str
    - Status
    - ats_scoped_str::ats_scoped_str
    - ink_filepath_make
    - DiagsConfig::config_diags_norecords
    - RecGetRecordStringAlloc
    - my_exit
    - config_roll_diagslog
    - std::make_unique<Diags>
    - config_roll_outputlog
    - BaseLogFile::BaseLogFile
    - static_cast<RollingEnabledValues>
    - access
    linkageType: ''
    returnType: void
    signature: "void DiagsConfig::DiagsConfig(std::string_view prefix_string, const
      char *filename, const char *tags, const char *actions,\n                         bool
      use_records)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:360,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:362,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/shared/DiagsConfig.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 373
    functionName: DiagsConfig::register_diags_callbacks
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 2
    functionsReached:
    - RecRegisterConfigUpdateCb
    - Error
    - Warning
    linkageType: ''
    returnType: void
    signature: void DiagsConfig::register_diags_callbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: DiagsConfig::~DiagsConfig()
    functionSourceFile: /src/trafficserver/src/proxy/shared/DiagsConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiagsConfig::~DiagsConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.h:38,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: SSLProxySession::client_sni_server_name
    functionSourceFile: /src/trafficserver/src/proxy/private/SSLProxySession.h
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  client_sni_server_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: SSLProxySession::client_provided_certificate
    functionSourceFile: /src/trafficserver/src/proxy/private/SSLProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool client_provided_certificate() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::get_service
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.cc:33,1
    - Dst: auto*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.cc:34,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.cc:35,1
    - Dst: NetVConnection::peer_provided_cert
      Src: /src/trafficserver/src/proxy/private/SSLProxySession.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - new_vc
    argTypes:
    - NetVConnection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: SSLProxySession::init
    functionSourceFile: /src/trafficserver/src/proxy/private/SSLProxySession.cc
    functionUses: 0
    functionsReached:
    - NetVConnection::peer_provided_cert
    - auto*::get_sni_server_name
    - NetVConnection::get_service
    - assign
    linkageType: ''
    returnType: void
    signature: void SSLProxySession::init(NetVConnection const &new_vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: LogBufferHeader::fmt_fieldlist
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      LogBufferHeader::fmt_fieldlist()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: LogBufferHeader::fmt_printf
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      LogBufferHeader::fmt_printf()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: LogBufferHeader::src_hostname
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      LogBufferHeader::src_hostname()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: LogBufferHeader::log_filename
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      LogBufferHeader::log_filename()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:121,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:122,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:123,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:123,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:126,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:126,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:128,1
    - Dst: align_pointer_forward
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:128,1
    - Dst: LogBuffer::_add_buffer_header
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:131,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:137,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:137,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:139,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:141,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:141,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - cfg
    - owner
    - size
    - buf_align
    - write_align
    argTypes:
    - LogConfig*
    - LogObject*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: LogBuffer::LogBuffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - LogUtils::timestamp
    - LogBuffer::_add_buffer_header
    - get_base_filename
    - alloc_void
    - static_cast<char *>
    - align_pointer_forward
    - ink_atomic_increment
    - Dbg
    - static_cast<uint32_t>
    - ats_malloc
    - this_ethread
    - buffer_size_to_index
    - BUFFER_SIZE_FOR_INDEX
    linkageType: ''
    returnType: void
    signature: void LogBuffer::LogBuffer(const LogConfig *cfg, LogObject *owner, size_t
      size, size_t buf_align, size_t write_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:147,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:164,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:166,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:166,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - owner
    - header
    argTypes:
    - LogObject*
    - LogBufferHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: LogBuffer::LogBuffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - get_base_filename
    - ink_atomic_increment
    - Dbg
    - reinterpret_cast<char *>
    - static_cast<uint32_t>
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void LogBuffer::LogBuffer(LogObject *owner, LogBufferHeader *header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:181,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:181,1
    - Dst: free_void
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:183,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: LogBuffer::freeLogBuffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - Dbg
    - free_void
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void LogBuffer::freeLogBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogBuffer::freeLogBuffer
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: LogBuffer::~LogBuffer()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - LogBuffer::freeLogBuffer
    linkageType: ''
    returnType: void
    signature: void LogBuffer::~LogBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:208,1
    - Dst: reinterpret_cast<LogEntryHeader *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:212,1
    - Dst: ink_hrtime_to_timeval
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:213,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - write_offset
    - write_size
    argTypes:
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: LogBuffer::fast_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<LogEntryHeader *>
    - ink_get_hrtime
    - ink_hrtime_to_timeval
    - INK_ALIGN
    linkageType: ''
    returnType: LogBuffer::LB_ResultCode
    signature: LogBuffer::LB_ResultCode LogBuffer::fast_write(size_t *write_offset,
      size_t write_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:243,1
    - Dst: INK_ALIGN
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:248,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:250,1
    - Dst: LogBuffer::switch_state
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:302,1
    - Dst: reinterpret_cast<LogEntryHeader *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:319,1
    - Dst: ink_gettimeofday
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - write_offset
    - write_size
    argTypes:
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 335
    functionName: LogBuffer::checkout_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - reinterpret_cast<LogEntryHeader *>
    - ink_gettimeofday
    - static_cast<uint64_t>
    - LogBuffer::switch_state
    - INK_ALIGN
    linkageType: ''
    returnType: LogBuffer::LB_ResultCode
    signature: LogBuffer::LB_ResultCode LogBuffer::checkout_write(size_t *write_offset,
      size_t write_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:350,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:358,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:359,1
    - Dst: LogBuffer::switch_state
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - write_offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: LogBuffer::checkin_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - LogBuffer::switch_state
    - ink_assert
    linkageType: ''
    returnType: LogBuffer::LB_ResultCode
    signature: LogBuffer::LB_ResultCode LogBuffer::checkin_write(size_t write_offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:380,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:380,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - str
    - buf_ptr
    - buf_len
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: LogBuffer::add_header_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    - LogAccess::strlen
    - likely
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogBuffer::add_header_str(const char *str, char *buf_ptr,
      unsigned buf_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: m_format::get
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:394,1
    - Dst: reinterpret_cast<LogBufferHeader *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:395,1
    - Dst: LogFormat*::type
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:398,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:400,1
    - Dst: get_signature
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:402,1
    - Dst: get_flags
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:403,1
    - Dst: lrand48
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:405,1
    - Dst: LogFormat*::name
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:422,1
    - Dst: LogBuffer::add_header_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:424,1
    - Dst: LogFormat*::name
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:424,1
    - Dst: LogFormat*::fieldlist
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:426,1
    - Dst: LogBuffer::add_header_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:428,1
    - Dst: LogFormat*::fieldlist
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:428,1
    - Dst: LogFormat*::printf_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:430,1
    - Dst: LogBuffer::add_header_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:432,1
    - Dst: LogFormat*::printf_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:432,1
    - Dst: LogBuffer::add_header_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:436,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:438,1
    - Dst: LogBuffer::add_header_str
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:440,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:440,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - LogConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 453
    functionName: LogBuffer::_add_buffer_header
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 1
    functionsReached:
    - INK_ALIGN_DEFAULT
    - LogUtils::timestamp
    - get_flags
    - LogBuffer::add_header_str
    - LogFormat*::type
    - LogFormat*::name
    - LogFormat*::fieldlist
    - get_base_filename
    - reinterpret_cast<LogBufferHeader *>
    - lrand48
    - m_format::get
    - LogFormat*::printf_str
    - get_signature
    linkageType: ''
    returnType: size_t
    signature: size_t LogBuffer::_add_buffer_header(const LogConfig *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: LogBuffer::update_header_data
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - LogUtils::timestamp
    linkageType: ''
    returnType: void
    signature: void LogBuffer::update_header_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: LogBuffer::max_entry_bytes
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LogBuffer::max_entry_bytes()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList*::count
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:498,1
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:501,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:501,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:502,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:502,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:505,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:505,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:506,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:506,1
    - Dst: symbol
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:506,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:515,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:517,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:529,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:532,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:532,1
    - Dst: LogField*::unmarshal
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:544,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:547,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:554,1
    - Dst: LogFieldList*::badSymbols
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:557,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:557,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:558,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:560,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:562,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:562,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:562,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:562,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:572,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:579,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 8
    argNames:
    - fieldlist
    - printf_str
    - read_from
    - write_to
    - write_to_len
    - alt_fieldlist
    - alt_printf_str
    - escape_type
    argTypes:
    - LogFieldList*
    - char*
    - char*
    - char*
    - int
    - LogFieldList*
    - char*
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 581
    functionName: LogBuffer::resolve_custom_entry
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogFieldList*::count
    - static_cast<int *>
    - LogFieldList*::first
    - symbol
    - ats_free
    - LogField*::unmarshal
    - auto::size
    - static_cast<int>
    - strcmp
    - swoc::LocalBufferWriter::print
    - LogFieldList*::badSymbols
    - LogFieldList*::next
    - Note
    - LogField*::symbol
    - swoc::LocalBufferWriter::data
    - ats_malloc
    - swoc::LocalBufferWriter::size
    - SiteThrottledNote
    linkageType: ''
    returnType: int
    signature: "int LogBuffer::resolve_custom_entry(LogFieldList *fieldlist, char
      *printf_str, char *read_from, char *write_to, int write_to_len,\n                                long
      /* timestamp ATS_UNUSED */, long /* timestamp_usec ATS_UNUSED */,\n                                unsigned
      /* buffer_version ATS_UNUSED */, LogFieldList *alt_fieldlist, char *alt_printf_str,\n
      \                               LogEscapeType escape_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:594,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:595,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:596,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:601,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:609,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:627,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:628,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:635,1
    - Dst: LogFieldList::LogFieldList
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:636,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:637,1
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:639,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:642,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:644,1
    - Dst: LogFormat::parse_format_string
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:657,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:659,1
    - Dst: LogFieldList::LogFieldList
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:664,1
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:666,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:668,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:677,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:678,1
    - Dst: LogBuffer::resolve_custom_entry
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:684,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:688,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:689,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 9
    argNames:
    - entry
    - type
    - buf
    - buf_len
    - symbol_str
    - printf_str
    - buffer_version
    - alt_format
    - escape_type
    argTypes:
    - LogEntryHeader*
    - LogFormatType
    - char*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 695
    functionName: LogBuffer::to_ascii
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - LogFormat::parse_symbol_string
    - ats_free
    - ink_strlcpy
    - ats_strdup
    - Dbg
    - LogFormat::parse_format_string
    - reinterpret_cast<char *>
    - LogFieldList::LogFieldList
    - Note
    - LogBuffer::resolve_custom_entry
    - ink_assert
    linkageType: ''
    returnType: int
    signature: "int LogBuffer::to_ascii(LogEntryHeader *entry, LogFormatType type,
      char *buf, int buf_len, const char *symbol_str, char *printf_str,\n                    unsigned
      buffer_version, const char *alt_format, LogEscapeType escape_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: LogBufferList::LogBufferList
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void LogBufferList::LogBufferList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogBufferList::get
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:726,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: LogBufferList::~LogBufferList()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_destroy
    - LogBufferList::get
    linkageType: ''
    returnType: void
    signature: void LogBufferList::~LogBufferList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:740,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:742,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:743,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:744,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - lb
    argTypes:
    - LogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 747
    functionName: LogBufferList::add
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    - ink_assert
    - enqueue
    linkageType: ''
    returnType: void
    signature: void LogBufferList::add(LogBuffer *lb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:758,1
    - Dst: dequeue
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:759,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:762,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 766
    functionName: LogBufferList::get
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 1
    functionsReached:
    - ink_mutex_acquire
    - dequeue
    - ink_mutex_release
    - ink_assert
    linkageType: ''
    returnType: LogBuffer
    signature: 'LogBuffer *

      LogBufferList::get()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<LogEntryHeader *>
      Src: /src/trafficserver/src/proxy/logging/LogBuffer.cc:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 786
    functionName: LogBufferIterator::next
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogBuffer.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<LogEntryHeader *>
    linkageType: ''
    returnType: LogEntryHeader
    signature: 'LogEntryHeader *

      LogBufferIterator::next()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: LogAccessTest::LogAccessTest
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccessTest::LogAccessTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: LogAccessTest::~LogAccessTest()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccessTest::~LogAccessTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:66,1
    - Dst: marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: LogAccessTest::marshal_client_host_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_set
    - marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_host_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:77,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: LogAccessTest::marshal_client_auth_user_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_auth_user_name(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:91,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: LogAccessTest::marshal_client_req_text
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_text(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: LogAccessTest::marshal_client_req_http_method
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_http_method(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:118,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: LogAccessTest::marshal_client_req_url
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_url(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: LogAccessTest::marshal_client_req_http_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_http_version(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: LogAccessTest::marshal_client_req_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_header_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: LogAccessTest::marshal_client_req_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_req_content_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: LogAccessTest::marshal_client_finish_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_client_finish_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:184,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: LogAccessTest::marshal_proxy_resp_content_type
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_content_type(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:198,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: LogAccessTest::marshal_proxy_resp_reason_phrase
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_reason_phrase(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: LogAccessTest::marshal_proxy_resp_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_squid_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: LogAccessTest::marshal_proxy_resp_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_content_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: LogAccessTest::marshal_proxy_resp_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: LogAccessTest::marshal_proxy_resp_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_resp_header_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: LogAccessTest::marshal_proxy_finish_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_finish_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: LogAccessTest::marshal_cache_result_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_cache_result_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: LogAccessTest::marshal_cache_miss_hit
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_cache_miss_hit(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: LogAccessTest::marshal_proxy_req_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_req_header_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: LogAccessTest::marshal_proxy_req_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_req_content_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: LogAccessTest::marshal_proxy_hierarchy_route
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_proxy_hierarchy_route(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:342,1
    - Dst: marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: LogAccessTest::marshal_server_host_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - ats_ip4_set
    - marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_server_host_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:353,1
    - Dst: marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: LogAccessTest::marshal_server_host_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_server_host_name(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: LogAccessTest::marshal_server_resp_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_server_resp_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: LogAccessTest::marshal_server_resp_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_server_resp_content_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: LogAccessTest::marshal_server_resp_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_server_resp_header_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccessTest.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: LogAccessTest::marshal_transfer_time_ms
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached:
    - marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_transfer_time_ms(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - header_symbol
    - field
    - buf
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: LogAccessTest::marshal_http_header_field
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LogAccessTest::marshal_http_header_field(char *header_symbol, char
      *field, char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:90,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:95,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:100,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:112,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 123
    functionName: LogSlice::LogSlice
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    linkageType: ''
    returnType: void
    signature: void LogSlice::LogSlice(char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - strlen
    - offset
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 168
    functionName: LogSlice::toStrOffset
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LogSlice::toStrOffset(int strlen, int *offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: operator()(swoc::TextView const &a, swoc::TextView const &b) const
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(swoc::TextView const &a, swoc::TextView const &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: operator()(swoc::TextView const &a, swoc::TextView const &b) const
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(swoc::TextView const &a, swoc::TextView const &b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:223,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:224,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:225,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:226,1
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:226,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: LogField::init_milestone_container
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - ts::swoc::TextView
    - insert
    - countof
    - std::make_pair
    - strlen
    - empty
    linkageType: ''
    returnType: void
    signature: void LogField::init_milestone_container()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:234,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:235,1
    - Dst: std::get_if<UnmarshalFunc>
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:240,1
    - Dst: std::get<UnmarshalFuncWithSlice>
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:243,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:254,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:255,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:256,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:257,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:259,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:259,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:259,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:260,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:260,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - name
    - symbol
    - type
    - marshal
    - unmarshal
    - _setfunc
    argTypes:
    - char*
    - char*
    - Type
    - MarshalFunc
    - VarUnmarshalFuncSliceOnly
    - SetFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 261
    functionName: LogField::LogField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - std::get<UnmarshalFuncWithSlice>
    - ats_strdup
    - std::get_if<UnmarshalFunc>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void LogField::LogField(const char *name, const char *symbol, Type
      type, MarshalFunc marshal, VarUnmarshalFuncSliceOnly unmarshal,\n                   SetFunc
      _setfunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:265,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:266,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:280,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:281,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:282,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:283,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:284,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:286,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:286,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:286,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:287,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:287,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - name
    - symbol
    - type
    - marshal
    - unmarshal
    - map
    - _setfunc
    argTypes:
    - char*
    - char*
    - Type
    - MarshalFunc
    - UnmarshalFuncWithMap
    - Ptr<LogFieldAliasMap>
    - SetFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: LogField::LogField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - ink_assert
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: "void LogField::LogField(const char *name, const char *symbol, Type
      type, MarshalFunc marshal, UnmarshalFuncWithMap unmarshal,\n                   const
      Ptr<LogFieldAliasMap> &map, SetFunc _setfunc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:296,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: LogField::milestone_from_m_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: TSMilestonesType
    signature: TSMilestonesType LogField::milestone_from_m_name()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: take_prefix_at
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:310,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:312,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:313,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:319,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ms1
    - ms2
    argTypes:
    - TSMilestonesType*
    - TSMilestonesType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 327
    functionName: LogField::milestones_from_m_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - find
    - take_prefix_at
    - end
    linkageType: ''
    returnType: int
    signature: int LogField::milestones_from_m_name(TSMilestonesType *ms1, TSMilestonesType
      *ms2)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:331,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:332,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:346,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:347,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:348,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:350,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:350,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:350,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:351,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:351,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:351,1
    - Dst: LogField::milestone_from_m_name
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:378,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:380,1
    - Dst: LogField::milestones_from_m_name
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:387,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:389,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:397,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - field
    - container
    argTypes:
    - char*
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 399
    functionName: LogField::LogField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - ats_strdup
    - LogField::milestones_from_m_name
    - LogField::milestone_from_m_name
    - Note
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogField::LogField(const char *field, Container container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:403,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:404,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:418,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:419,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: LogField::LogField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogField::LogField(const LogField &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:428,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: LogField::~LogField()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void LogField::~LogField()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess*::marshal_http_header_field
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:453,1
    - Dst: LogAccess*::marshal_http_header_field_escapify
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:460,1
    - Dst: LogAccess*::marshal_config_int_var
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:463,1
    - Dst: LogAccess*::marshal_config_str_var
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:466,1
    - Dst: LogAccess*::marshal_record
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:469,1
    - Dst: LogAccess*::marshal_milestone
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:472,1
    - Dst: LogAccess*::marshal_milestone_diff
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 480
    functionName: LogField::marshal_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogAccess*::marshal_milestone
    - LogAccess*::marshal_http_header_field_escapify
    - LogAccess*::marshal_milestone_diff
    - LogAccess*::marshal_record
    - LogAccess*::marshal_http_header_field
    - LogAccess*::marshal_config_int_var
    - LogAccess*::marshal_config_str_var
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogField::marshal_len(LogAccess *lad)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - container
    argTypes:
    - Container
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: LogField::isContainerUpdateFieldSupported
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LogField::isContainerUpdateFieldSupported(Container container)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogField::isContainerUpdateFieldSupported
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:509,1
    - Dst: LogField::set_http_header_field
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - lad
    - buf
    - len
    argTypes:
    - LogAccess*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: LogField::updateField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogField::isContainerUpdateFieldSupported
    - LogField::set_http_header_field
    linkageType: ''
    returnType: void
    signature: void LogField::updateField(LogAccess *lad, char *buf, int len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess*::marshal_http_header_field
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:535,1
    - Dst: LogAccess*::marshal_http_header_field_escapify
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:542,1
    - Dst: LogAccess*::marshal_config_int_var
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:545,1
    - Dst: LogAccess*::marshal_config_str_var
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:548,1
    - Dst: LogAccess*::marshal_record
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:551,1
    - Dst: LogAccess*::marshal_milestone
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:554,1
    - Dst: LogAccess*::marshal_milestone_diff
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - lad
    - buf
    argTypes:
    - LogAccess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 562
    functionName: LogField::marshal
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogAccess*::marshal_milestone
    - LogAccess*::marshal_http_header_field_escapify
    - LogAccess*::marshal_milestone_diff
    - LogAccess*::marshal_record
    - LogAccess*::marshal_http_header_field
    - LogAccess*::marshal_config_int_var
    - LogAccess*::marshal_config_str_var
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogField::marshal(LogAccess *lad, char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:570,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:575,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:581,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:588,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 602
    functionName: LogField::marshal_agg
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - Note
    - ink_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogField::marshal_agg(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:613,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - escape_type
    argTypes:
    - char**
    - char*
    - int
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: LogField::unmarshal
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - std::visit
    - ink_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogField::unmarshal(char **buf, char *dest, int len, LogEscapeType
      escape_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: LogField::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void LogField::display(FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    - Dst: LogField::name
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    - Dst: LogField::name
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    - Dst: LogField::symbol
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    - Dst: LogField::symbol
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: LogField::operator==(LogField &rhs)
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogField::name
    - strcmp
    - LogField::symbol
    linkageType: ''
    returnType: bool
    signature: bool LogField::operator==(LogField &rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - agg_op
    argTypes:
    - LogField::Aggregate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: LogField::set_aggregate_op
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - Note
    linkageType: ''
    returnType: void
    signature: void LogField::set_aggregate_op(LogField::Aggregate agg_op)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:688,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 696
    functionName: LogField::update_aggregate
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Note
    linkageType: ''
    returnType: void
    signature: void LogField::update_aggregate(int64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:701,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:702,1
    - Dst: static_cast<LogField::Container>
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: LogField::valid_container_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - countof
    - strcmp
    - static_cast<LogField::Container>
    linkageType: ''
    returnType: LogField::Container
    signature: LogField::Container LogField::valid_container_name(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:713,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:714,1
    - Dst: static_cast<LogField::Aggregate>
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: LogField::valid_aggregate_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - countof
    - strcmp
    - static_cast<LogField::Aggregate>
    linkageType: ''
    returnType: LogField::Aggregate
    signature: LogField::Aggregate LogField::valid_aggregate_name(char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:727,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:728,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:730,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fieldlist
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 737
    functionName: LogField::fieldlist_contains_aggregates
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - countof
    - strchr
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool LogField::fieldlist_contains_aggregates(const char *fieldlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess*::set_http_header_field
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - lad
    - container
    - field
    - buf
    - len
    argTypes:
    - LogAccess*
    - LogField::Container
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 743
    functionName: LogField::set_http_header_field
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 1
    functionsReached:
    - LogAccess*::set_http_header_field
    linkageType: ''
    returnType: void
    signature: void LogField::set_http_header_field(LogAccess *lad, LogField::Container
      container, char *field, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 752
    functionName: LogFieldList::LogFieldList
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFieldList::LogFieldList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::clear
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: LogFieldList::~LogFieldList()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::clear
    linkageType: ''
    returnType: void
    signature: void LogFieldList::~LogFieldList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:763,1
    - Dst: LogFieldList::clear
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 768
    functionName: LogFieldList::clear
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 2
    functionsReached:
    - dequeue
    - LogFieldList::clear
    linkageType: ''
    returnType: void
    signature: void LogFieldList::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:773,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:776,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:776,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:778,1
    - Dst: LogField*::type
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - field
    - copy
    argTypes:
    - LogField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: LogFieldList::add
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogField::LogField
    - LogField*::type
    - ink_assert
    - enqueue
    linkageType: ''
    returnType: void
    signature: void LogFieldList::add(LogField *field, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:789,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:789,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:790,1
    - Dst: LogField*::name
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: LogFieldList::find_by_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::first
    - strcmp
    - LogFieldList::next
    - LogField*::name
    linkageType: ''
    returnType: LogField
    signature: 'LogField *

      LogFieldList::find_by_name(const char *name) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:802,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:802,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:804,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:804,1
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:809,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:809,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:810,1
    - Dst: LogField*::symbol
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 816
    functionName: LogFieldList::find_by_symbol
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - LogField*::symbol
    - find
    - LogFieldList::first
    - end
    - Dbg
    - LogFieldList::next
    linkageType: ''
    returnType: LogField
    signature: 'LogField *

      LogFieldList::find_by_symbol(const char *symbol) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:822,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:822,1
    - Dst: LogField*::type
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:823,1
    - Dst: LogField*::marshal_len
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:824,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 830
    functionName: LogFieldList::marshal_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - LogField*::marshal_len
    - LogFieldList::first
    - LogFieldList::next
    - LogField*::type
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFieldList::marshal_len(LogAccess *lad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:837,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:837,1
    - Dst: LogField*::marshal
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:839,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lad
    - buf
    argTypes:
    - LogAccess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: LogFieldList::marshal
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::first
    - LogField*::marshal
    - ink_assert
    - LogFieldList::next
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFieldList::marshal(LogAccess *lad, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:850,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:850,1
    - Dst: LogField*::marshal_agg
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: LogFieldList::marshal_agg
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::first
    - LogField*::marshal_agg
    - LogFieldList::next
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFieldList::marshal_agg(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:861,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 865
    functionName: LogFieldList::count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::first
    - LogFieldList::next
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFieldList::count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFieldList::first
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:870,1
    - Dst: LogFieldList::next
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:870,1
    - Dst: LogField*::display
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 873
    functionName: LogFieldList::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - LogFieldList::first
    - LogField*::display
    - LogFieldList::next
    linkageType: ''
    returnType: void
    signature: void LogFieldList::display(FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/src/proxy/logging/LogField.cc:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - badSymbol
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: LogFieldList::addBadSymbol
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogField.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void LogFieldList::addBadSymbol(std::string_view badSymbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: LogConfig::reconfigure_mgmt_variables
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - Note
    linkageType: ''
    returnType: void
    signature: void LogConfig::reconfigure_mgmt_variables(swoc::MemSpan<void>)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:90,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:90,1
    - Dst: register_log_type_for_deletion
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - logname
    - rolling_min_count
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: LogConfig::register_rolled_log_auto_delete
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - std::string
    - register_log_type_for_deletion
    linkageType: ''
    returnType: void
    signature: void LogConfig::register_rolled_log_auto_delete(std::string_view logname,
      int rolling_min_count)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:100,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:105,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:110,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:115,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:120,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:125,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:131,1
    - Dst: ink_fileperm_parse
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:132,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:132,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:137,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:137,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:137,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:138,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:139,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:142,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:142,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:143,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:144,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:147,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:148,1
    - Dst: RecConfigReadLogDir
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:148,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:150,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:152,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:152,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:153,1
    - Dst: my_exit
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:154,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:157,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:167,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:168,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:169,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:170,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:171,1
    - Dst: LogRollingEnabledIsValid
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:172,1
    - Dst: static_cast<Log::RollingEnabledValues>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:173,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:175,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:179,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:182,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:186,1
    - Dst: LogThrottlingIsValid
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:187,1
    - Dst: LogMessage::set_default_log_throttling_interval
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:188,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:190,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:192,1
    - Dst: LogThrottlingIsValid
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:193,1
    - Dst: LogMessage::set_default_debug_throttling_interval
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:194,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:196,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:206,1
    - Dst: LogConfig::register_rolled_log_auto_delete
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:207,1
    - Dst: LogConfig::register_rolled_log_auto_delete
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:208,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:211,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:212,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:212,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:213,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:213,1
    - Dst: LogConfig::register_rolled_log_auto_delete
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:214,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:216,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:219,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:224,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:229,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:235,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:240,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 244
    functionName: LogConfig::read_configuration_variables
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - LogRollingEnabledIsValid
    - ats_as_c_str
    - RecConfigReadLogDir
    - LogConfig::register_rolled_log_auto_delete
    - strerror
    - RecGetRecordInt
    - ink_fileperm_parse
    - ats_free
    - fprintf
    - LogMessage::set_default_log_throttling_interval
    - static_cast<Log::RollingEnabledValues>
    - LogThrottlingIsValid
    - static_cast<int>
    - Warning
    - RecGetRecordStringAlloc
    - my_exit
    - LogMessage::set_default_debug_throttling_interval
    - auto::value
    - ats_stringdup
    - access
    linkageType: ''
    returnType: void
    signature: void LogConfig::read_configuration_variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:255,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:260,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:260,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:260,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:261,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: LogConfig::LogConfig
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - c_str
    - Machine::instance
    - ats_strdup
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void LogConfig::LogConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:273,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:274,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: LogConfig::~LogConfig()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void LogConfig::~LogConfig()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:287,1
    - Dst: LogConfig::update_space_used
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:289,1
    - Dst: Log::transaction_logging_enabled
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:293,1
    - Dst: LogConfig::setup_log_objects
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:294,1
    - Dst: Log::error_logging_enabled
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:299,1
    - Dst: MakeTextLogFormat
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:300,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:302,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:304,1
    - Dst: LogObject::LogObject
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:304,1
    - Dst: manage_object
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:308,1
    - Dst: LogObject*::set_fmt_timestamps
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:309,1
    - Dst: LogConfig::transfer_objects
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:316,1
    - Dst: LogConfig::log_object_manager::find_by_format_name
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:321,1
    - Dst: m_format::name
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:321,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - prev_config
    argTypes:
    - LogConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: LogConfig::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - LogObject::LogObject
    - manage_object
    - m_format::name
    - LogConfig::log_object_manager::find_by_format_name
    - Log::transaction_logging_enabled
    - LogConfig::setup_log_objects
    - Dbg
    - LogObject*::set_fmt_timestamps
    - LogConfig::update_space_used
    - MakeTextLogFormat
    - LogConfig::transfer_objects
    - Log::error_logging_enabled
    - ink_atomic_swap
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogConfig::init(LogConfig *prev_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:339,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:340,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:341,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:342,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:343,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:344,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:345,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:346,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:347,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:348,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:349,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:350,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:352,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:353,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:354,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:355,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:356,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:357,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:358,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:359,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:360,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:361,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:362,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:363,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:364,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:366,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:367,1
    - Dst: get_num_objects
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:367,1
    - Dst: LogConfig::display
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:368,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:370,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:370,1
    - Dst: LogConfig::display
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:371,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:373,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:373,1
    - Dst: LogConfig::display
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: LogConfig::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - get_num_objects
    - count
    - LogConfig::display
    linkageType: ''
    returnType: void
    signature: void LogConfig::display(FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:389,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:391,1
    - Dst: LogConfig::evaluate_config
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:394,1
    - Dst: open_local_pipes
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:397,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:399,1
    - Dst: LogConfig::display
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: LogConfig::setup_log_objects
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 1
    functionsReached:
    - 'on'
    - open_local_pipes
    - Dbg
    - LogConfig::evaluate_config
    - LogConfig::display
    - clear
    linkageType: ''
    returnType: void
    signature: void LogConfig::setup_log_objects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: LogConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: "int LogConfig::reconfigure(const char * /* name ATS_UNUSED */, RecDataT
      /* data_type ATS_UNUSED */, RecData /* data ATS_UNUSED */,\n                       void
      * /* cookie ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:458,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 461
    functionName: LogConfig::register_config_callbacks
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - countof
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: void
    signature: void LogConfig::register_config_callbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:476,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:477,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:478,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:479,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:480,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:481,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:482,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:483,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:484,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:485,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:486,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:487,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:488,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:489,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:490,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:491,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:492,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:493,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:494,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:495,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:496,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:497,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:498,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:499,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 501
    functionName: LogConfig::register_stat_callbacks
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::createPtr
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void LogConfig::register_stat_callbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:517,1
    - Dst: LogConfig::get_max_space_mb
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:517,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:518,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes_to_write
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 531
    functionName: LogConfig::space_to_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - LogConfig::get_max_space_mb
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool LogConfig::space_to_write(int64_t bytes_to_write) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:567,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:575,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:580,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:580,1
    - Dst: ::opendir
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:585,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:588,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:588,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:595,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:596,1
    - Dst: elevating_stat
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:598,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:599,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:600,1
    - Dst: LogFile::rolled_logfile
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:602,1
    - Dst: consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:603,1
    - Dst: ::closedir
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:608,1
    - Dst: ::statvfs
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:617,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:618,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:618,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:626,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:628,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:629,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:642,1
    - Dst: LogConfig::get_max_space_mb
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:642,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:643,1
    - Dst: LogConfig::space_to_write
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:645,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:646,1
    - Dst: has_candidates
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:647,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:648,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:650,1
    - Dst: get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:650,1
    - Dst: has_candidates
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:653,1
    - Dst: LogConfig::space_to_write
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:654,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:655,1
    - Dst: take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:659,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:663,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:665,1
    - Dst: auto::rolled_log_path::c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:665,1
    - Dst: unlink
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:667,1
    - Dst: auto::rolled_log_path::c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:667,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:668,1
    - Dst: auto::rolled_log_path::c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:670,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:670,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:672,1
    - Dst: auto::rolled_log_path::c_str
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:675,1
    - Dst: clear_candidates
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:688,1
    - Dst: LogConfig::space_to_write
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:695,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:697,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:710,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:719,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:728,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:733,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:741,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:746,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:751,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 756
    functionName: LogConfig::update_space_used
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 1
    functionsReached:
    - unlink
    - LogConfig::get_max_space_mb
    - snprintf
    - strerror
    - has_candidates
    - take_next_candidate_to_delete
    - consider_for_candidacy
    - ::statvfs
    - Warning
    - LogFile::rolled_logfile
    - ts::Metrics::Gauge::store
    - Error
    - Dbg
    - LogConfig::space_to_write
    - auto::rolled_log_path::c_str
    - Note
    - static_cast<int64_t>
    - S_ISREG
    - ::closedir
    - elevating_stat
    - clear_candidates
    - ::opendir
    - get_candidate_count
    - access
    - readdir
    linkageType: ''
    returnType: void
    signature: void LogConfig::update_space_used()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:761,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:763,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:763,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:764,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:764,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:768,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:768,1
    - Dst: YamlLogConfig::parse
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:771,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:771,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:773,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:773,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:775,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/logging/LogConfig.cc:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 779
    functionName: LogConfig::evaluate_config
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogConfig.cc
    functionUses: 1
    functionsReached:
    - RecConfigReadConfigPath
    - Warning
    - ats_scoped_str::get
    - stat
    - Note
    - YamlLogConfig::parse
    linkageType: ''
    returnType: bool
    signature: bool LogConfig::evaluate_config()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:75,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:77,1
    - Dst: std::make_unique<BaseLogFile>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:83,1
    - Dst: set_hostname
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - name
    - header
    - format
    - signature
    - ascii_buffer_size
    - max_line_size
    - pipe_buffer_size
    - escape_type
    argTypes:
    - char*
    - char*
    - LogFileFormat
    - uint64_t
    - size_t
    - size_t
    - int
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: LogFile::LogFile
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - std::make_unique<BaseLogFile>
    - set_hostname
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: "void LogFile::LogFile(const char *name, const char *header, LogFileFormat
      format, uint64_t signature, size_t ascii_buffer_size,\n                 size_t
      max_line_size, int pipe_buffer_size, LogEscapeType escape_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:109,1
    - Dst: LogFile::close_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:114,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:116,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: LogFile::~LogFile()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ats_free
    - LogFile::close_file
    linkageType: ''
    returnType: void
    signature: void LogFile::~LogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:128,1
    - Dst: LogFile::change_name
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:130,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - new_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: LogFile::change_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 1
    functionsReached:
    - LogFile::change_name
    - ats_free
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogFile::change_name(const char *new_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:142,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: LogFile::change_header
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogFile::change_header(const char *header)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:157,1
    - Dst: LogFile::is_open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:160,1
    - Dst: LogFile::exists
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:164,1
    - Dst: mkfifo
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:168,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:170,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:174,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:178,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:179,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:181,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:188,1
    - Dst: fcntl
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:188,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:190,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:192,1
    - Dst: fcntl
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:195,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:197,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:197,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:200,1
    - Dst: fcntl
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:200,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:202,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:204,1
    - Dst: LogFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:227,1
    - Dst: LogFile::writeln
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:228,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:228,1
    - Dst: fileno
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:228,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 236
    functionName: LogFile::open_file
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - LogFile::is_open
    - fileno
    - ts::Metrics::Gauge::increment
    - static_cast<long>
    - Error
    - Dbg
    - LogFile::open_file
    - strlen
    - mkfifo
    - LogFile::writeln
    - fcntl
    - strerror
    - LogFile::exists
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogFile::open_file()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::is_open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:247,1
    - Dst: DNSConnection::close
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:249,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:250,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:250,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:252,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:253,1
    - Dst: LogFile::close_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:257,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:258,1
    - Dst: LogFile::get_name
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:258,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:258,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:260,1
    - Dst: LogFile::get_name
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:260,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:261,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: LogFile::close_file
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 3
    functionsReached:
    - Warning
    - ts::Metrics::Gauge::decrement
    - Error
    - LogFile::close_file
    - Dbg
    - LogFile::get_name
    - strerror
    - LogFile::is_open
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void LogFile::close_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - mtime
    argTypes:
    - std::string
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: RolledFile
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RolledFile(const std::string &name, time_t mtime)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:285,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:287,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:290,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:292,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:292,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:292,1
    - Dst: faccessat
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:299,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:299,1
    - Dst: close
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:303,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:304,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:304,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:304,1
    - Dst: fdopendir
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:309,1
    - Dst: close
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:311,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:312,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:312,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:312,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:320,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:322,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:322,1
    - Dst: elevating_stat
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:323,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:324,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:325,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:326,1
    - Dst: ::strncmp
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:327,1
    - Dst: LogFile::rolled_logfile
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:327,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:328,1
    - Dst: RolledFile
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:328,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:333,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:336,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:336,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:336,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:337,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:338,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:338,1
    - Dst: unlink
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:340,1
    - Dst: RolledFile::_name::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:340,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:341,1
    - Dst: RolledFile::_name::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:341,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:341,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:344,1
    - Dst: RolledFile::_name::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:344,1
    - Dst: std::vector::clear
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:349,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - rolling_max_count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 351
    functionName: LogFile::trim_rolled
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - unlink
    - ::strncmp
    - faccessat
    - snprintf
    - strerror
    - open
    - std::vector::end
    - ats_free
    - std::vector::begin
    - std::string::c_str
    - LogFile::rolled_logfile
    - closedir
    - std::vector::size
    - std::vector::push_back
    - close
    - RolledFile::_name::c_str
    - Error
    - ats_strdup
    - Dbg
    - strlen
    - sort
    - S_ISREG
    - RolledFile
    - elevating_stat
    - fdopendir
    - std::vector::clear
    - readdir
    linkageType: ''
    returnType: bool
    signature: bool LogFile::trim_rolled(size_t rolling_max_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::roll
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:373,1
    - Dst: LogFile::close_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:374,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:375,1
    - Dst: LogFile::get_name
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:375,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:375,1
    - Dst: LogFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - interval_start
    - interval_end
    - reopen_after_rolling
    argTypes:
    - long
    - long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 388
    functionName: LogFile::roll
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 2
    functionsReached:
    - LogFile::close_file
    - Error
    - LogFile::get_name
    - LogFile::roll
    - strerror
    - LogFile::open_file
    linkageType: ''
    returnType: int
    signature: int LogFile::roll(long interval_start, long interval_end, bool reopen_after_rolling)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::exists
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:409,1
    - Dst: LogFile::close_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:414,1
    - Dst: LogFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: LogFile::reopen_if_moved
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - LogFile::open_file
    - LogFile::close_file
    - LogFile::exists
    linkageType: ''
    returnType: bool
    signature: bool LogFile::reopen_if_moved()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:432,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:436,1
    - Dst: LogBuffer*::header
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:438,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:439,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:444,1
    - Dst: LogFlushData::LogFlushData
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:469,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:471,1
    - Dst: LogBuffer*::header
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:471,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:472,1
    - Dst: LogBuffer*::header
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:472,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:474,1
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:476,1
    - Dst: LogFile::write_ascii_logbuffer3
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:483,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:486,1
    - Dst: LogBuffer::destroy
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - lb
    argTypes:
    - LogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 492
    functionName: LogFile::preproc_and_try_delete
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - LogBuffer*::header
    - LogFile::write_ascii_logbuffer3
    - ink_atomic_increment
    - LogBuffer::destroy
    - LogFlushData::LogFlushData
    - signal
    - Note
    - ink_atomiclist_push
    linkageType: ''
    returnType: int
    signature: int LogFile::preproc_and_try_delete(LogBuffer *lb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:507,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:508,1
    - Dst: static_cast<LogFormatType>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:524,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:526,1
    - Dst: LogBufferHeader*::fmt_printf
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:527,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:531,1
    - Dst: LogBufferIterator::next
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:537,1
    - Dst: LogBuffer::to_ascii
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:538,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:540,1
    - Dst: LogFile::writeln
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:545,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:549,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:550,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:551,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:553,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:560,1
    - Dst: LogFile::writeln
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - buffer_header
    - fd
    - path
    - alt_format
    argTypes:
    - LogBufferHeader*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 566
    functionName: LogFile::write_ascii_logbuffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - LogBufferHeader*::fmt_printf
    - LogBufferIterator::next
    - LogBufferHeader*::fmt_fieldlist
    - LogBuffer::to_ascii
    - LogFile::writeln
    - Note
    - static_cast<LogFormatType>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogFile::write_ascii_logbuffer(LogBufferHeader *buffer_header,
      int fd, const char *path, const char *alt_format)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:571,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:575,1
    - Dst: static_cast<LogFormatType>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:590,1
    - Dst: LogBufferHeader*::fmt_fieldlist
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:591,1
    - Dst: LogBufferHeader*::fmt_printf
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:592,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:596,1
    - Dst: LogBufferIterator::next
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:602,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:607,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:607,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:609,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:609,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:616,1
    - Dst: LogBuffer::to_ascii
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:619,1
    - Dst: LogFile::get_escape_type
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:620,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:628,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:630,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:631,1
    - Dst: LogBufferIterator::next
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:644,1
    - Dst: LogFlushData::LogFlushData
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:648,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:650,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:651,1
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:653,1
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - buffer_header
    - alt_format
    argTypes:
    - LogBufferHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 661
    functionName: LogFile::write_ascii_logbuffer3
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - Warning
    - LogBufferHeader*::fmt_printf
    - LogBufferIterator::next
    - LogBufferHeader*::fmt_fieldlist
    - LogBuffer::to_ascii
    - LogFile::get_escape_type
    - static_cast<char *>
    - Dbg
    - ink_atomiclist_push
    - LogFlushData::LogFlushData
    - ats_malloc
    - signal
    - Note
    - static_cast<LogFormatType>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogFile::write_ascii_logbuffer3(LogBufferHeader *buffer_header,
      const char *alt_format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::rolled_logfile
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: LogFile::rolled_logfile
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 3
    functionsReached:
    - BaseLogFile::rolled_logfile
    linkageType: ''
    returnType: bool
    signature: bool LogFile::rolled_logfile(char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: LogFile::exists
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 9
    functionsReached:
    - BaseLogFile::exists
    linkageType: ''
    returnType: bool
    signature: bool LogFile::exists(const char *pathname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:689,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:690,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:694,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:698,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:702,1
    - Dst: prep_writev
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:702,1
    - Dst: SiteThrottledWarning
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:703,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - data
    - len
    - fd
    - path
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 709
    functionName: LogFile::writeln
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 2
    functionsReached:
    - memset
    - static_cast<int>
    - prep_writev
    - SiteThrottledWarning
    - static_cast<size_t>
    - strerror
    linkageType: ''
    returnType: int
    signature: int LogFile::writeln(char *data, int len, int fd, const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::exists
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:734,1
    - Dst: LogFile::close_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:735,1
    - Dst: LogFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:741,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:745,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 752
    functionName: LogFile::check_fd
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - LogFile::exists
    - Warning
    - LogFile::close_file
    - strerror
    - LogFile::open_file
    linkageType: ''
    returnType: void
    signature: void LogFile::check_fd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:757,1
    - Dst: LogFile::get_name
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:757,1
    - Dst: LogFile::is_open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: LogFile::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - LogFile::get_name
    - fprintf
    - LogFile::is_open
    linkageType: ''
    returnType: void
    signature: void LogFile::display(FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::is_open
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: LogFile::is_open
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 7
    functionsReached:
    - LogFile::is_open
    linkageType: ''
    returnType: bool
    signature: bool LogFile::is_open()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/trafficserver/src/proxy/logging/LogFile.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 786
    functionName: LogFile::get_fd
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFile.cc
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int LogFile::get_fd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _logname
    - _min_count
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: LogDeletingInfo::LogDeletingInfo
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogDeletingInfo::LogDeletingInfo(const char *_logname, int _min_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _logname
    - _min_count
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: LogDeletingInfo::LogDeletingInfo
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogDeletingInfo::LogDeletingInfo(std::string_view _logname, int
      _min_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:68,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:68,1
    - Dst: std::make_unique<LogDeletingInfo>
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:72,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:73,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:75,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:75,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - log_type
    - rolling_min_count
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: RolledLogDeleter::register_log_type_for_deletion
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - insert
    - find
    - std::make_unique<LogDeletingInfo>
    - push_back
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void RolledLogDeleter::register_log_type_for_deletion(std::string_view
      log_type, int rolling_min_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:83,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:84,1
    - Dst: LogUtils::get_unrolled_filename
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:84,1
    - Dst: fs::path::view
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:84,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:85,1
    - Dst: auto::push_back
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:89,1
    - Dst: std::make_unique<LogDeleteCandidate>
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - log_path
    - file_size
    - modification_time
    argTypes:
    - std::string_view
    - int64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: RolledLogDeleter::consider_for_candidacy
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - auto::push_back
    - std::make_unique<LogDeleteCandidate>
    - find
    - LogUtils::get_unrolled_filename
    - end
    - fs::path::view
    linkageType: ''
    returnType: bool
    signature: bool RolledLogDeleter::consider_for_candidacy(std::string_view log_path,
      int64_t file_size, time_t modification_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:98,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:99,1
    - Dst: candidates::begin
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:99,1
    - Dst: candidates::end
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: RolledLogDeleter::sort_candidates
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - sort
    - candidates::end
    - apply
    - candidates::begin
    linkageType: ''
    returnType: void
    signature: void RolledLogDeleter::sort_candidates()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:110,1
    - Dst: RolledLogDeleter::sort_candidates
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:114,1
    - Dst: std::max_element
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:119,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:119,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:119,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:120,1
    - Dst: candidates::size
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:120,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:120,1
    - Dst: candidates::size
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:120,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:124,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:129,1
    - Dst: auto::back
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:129,1
    - Dst: auto::pop_back
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: RolledLogDeleter::take_next_candidate_to_delete
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - begin
    - auto::empty
    - RolledLogDeleter::has_candidates
    - static_cast<double>
    - std::max_element
    - end
    - auto::pop_back
    - candidates::size
    - std::move
    - RolledLogDeleter::sort_candidates
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<LogDeleteCandidate>
    signature: std::unique_ptr<LogDeleteCandidate> RolledLogDeleter::take_next_candidate_to_delete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: RolledLogDeleter::has_candidates
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 1
    functionsReached:
    - RolledLogDeleter::get_candidate_count
    linkageType: ''
    returnType: bool
    signature: bool RolledLogDeleter::has_candidates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: RolledLogDeleter::get_candidate_count
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RolledLogDeleter::get_candidate_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:150,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: RolledLogDeleter::clear_candidates
    functionSourceFile: /src/trafficserver/src/proxy/logging/RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - apply
    - clear
    linkageType: ''
    returnType: void
    signature: void RolledLogDeleter::clear_candidates()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:38,1
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:46,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:53,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:57,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:66,1
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:67,1
    - Dst: LogFieldAliasTableEntry::LogFieldAliasTableEntry
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:70,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:73,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:75,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:77,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:78,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - numPairs
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 83
    functionName: LogFieldAliasTable::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFieldAliasMap.cc
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - LogFieldAliasTableEntry::LogFieldAliasTableEntry
    - va_start
    - ats_strdup
    - strlen
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFieldAliasTable::init(size_t numPairs, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: LogAccessTest::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogAccessTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: LogAccessTest::LogAccessTest
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccessTest(const LogAccessTest &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogAccessTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '&operator=(LogAccessTest &rhs)'
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccessTest.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogAccessTest
    signature: LogAccessTest &operator=(LogAccessTest &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal_format_siginfo
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:58,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:58,1
    - Dst: signal_crash_handler
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - signo
    - info
    - ptr
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: logging_crash_handler
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 0
    functionsReached:
    - signal_format_siginfo
    - signal_crash_handler
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void logging_crash_handler(int signo, siginfo_t *info, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_set_fds_limit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:65,1
    - Dst: ink_max_out_rlimit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:65,1
    - Dst: signal_register_crash_handler
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:67,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:69,1
    - Dst: syslog
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:70,1
    - Dst: auto::application
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:70,1
    - Dst: syslog
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:71,1
    - Dst: auto::application
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:71,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - notify_syslog
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: init_system
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 1
    functionsReached:
    - ink_max_out_rlimit
    - signal_register_crash_handler
    - auto::full_version
    - syslog
    - auto::application
    - ink_set_fds_limit
    - ProxySession::get_version
    linkageType: ''
    returnType: void
    signature: void init_system(bool notify_syslog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:83,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:83,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:85,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:85,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:86,1
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:91,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:92,1
    - Dst: auto::version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:92,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:93,1
    - Dst: auto::full_version
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:93,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:94,1
    - Dst: auto::build_number
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:94,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:95,1
    - Dst: auto::build_time
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:95,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:96,1
    - Dst: auto::build_date
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:96,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:97,1
    - Dst: auto::build_machine
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:97,1
    - Dst: RecRegisterStatString
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:98,1
    - Dst: auto::build_person
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: initialize_records
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 1
    functionsReached:
    - auto::build_machine
    - RecProcessInit
    - auto::build_number
    - RecRegisterStatString
    - auto::build_person
    - LibRecordsConfigInit
    - auto::build_date
    - auto::full_version
    - auto::build_time
    - auto::version
    - diags
    - ProxySession::get_version
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void initialize_records()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:112,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:112,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:112,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:113,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:113,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:113,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:113,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:114,1
    - Dst: my_exit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:115,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:117,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:117,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:117,1
    - Dst: Lockfile::Get
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:120,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:123,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:124,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:127,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:129,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:131,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:133,1
    - Dst: my_exit
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:135,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 138
    functionName: check_lockfile
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 1
    functionsReached:
    - access
    - Lockfile::Get
    - fprintf
    - ats_free
    - my_exit
    - c_str
    - Layout::get
    - ats_stringdup
    - strerror
    - Layout::relative_to
    linkageType: ''
    returnType: void
    signature: void check_lockfile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_lockfile
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:155,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:158,1
    - Dst: setbuf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:162,1
    - Dst: setbuf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:163,1
    - Dst: openlog
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:165,1
    - Dst: init_system
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:167,1
    - Dst: initialize_records
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:168,1
    - Dst: DiagsConfig::DiagsConfig
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pgm_name
    - one_copy
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: init_log_standalone
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 0
    functionsReached:
    - DiagsConfig::DiagsConfig
    - check_lockfile
    - openlog
    - snprintf
    - setbuf
    - init_system
    - initialize_records
    linkageType: ''
    returnType: void
    signature: void init_log_standalone(const char *pgm_name, bool one_copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:190,1
    - Dst: openlog
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:191,1
    - Dst: Machine::init
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:195,1
    - Dst: init_system
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:197,1
    - Dst: DiagsConfig::DiagsConfig
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:199,1
    - Dst: setbuf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:202,1
    - Dst: setbuf
      Src: /src/trafficserver/src/proxy/logging/LogStandalone.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pgm_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: init_log_standalone_basic
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogStandalone.cc
    functionUses: 2
    functionsReached:
    - DiagsConfig::DiagsConfig
    - init_system
    - openlog
    - snprintf
    - setbuf
    - Machine::init
    linkageType: ''
    returnType: void
    signature: void init_log_standalone_basic(const char *pgm_name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:41,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:47,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:47,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:49,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:53,1
    - Dst: LogField::fieldlist_contains_aggregates
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:58,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:58,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:60,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:62,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:69,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:75,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:76,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:76,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:78,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:78,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:81,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:81,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:83,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:83,1
    - Dst: std::unique_ptr<LogFormat>::reset
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: LogFormat::LogFormat
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - logFormat
    argTypes:
    - Node
    - std::unique_ptr<LogFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 89
    functionName: YAML::convert<std::unique_ptr<LogFormat>>::decode
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - Node::Mark
    - strncasecmp
    - std::unique_ptr<LogFormat>::reset
    - first::Mark
    - std::string::c_str
    - std::none_of
    - LogField::fieldlist_contains_aggregates
    - end
    - YAML::Scanner::ThrowParserException
    - Note
    - as
    - LogFormat::LogFormat
    linkageType: ''
    returnType: bool
    signature: bool convert<std::unique_ptr<LogFormat>>::decode(const Node &node,
      std::unique_ptr<LogFormat> &logFormat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:96,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:104,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:104,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:108,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:109,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:110,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:112,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:116,1
    - Dst: static_cast<LogFilter::Action>
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:117,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:123,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:123,1
    - Dst: std::unique_ptr<LogFilter>::reset
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - node
    - logFilter
    argTypes:
    - Node
    - std::unique_ptr<LogFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 130
    functionName: YAML::convert<std::unique_ptr<LogFilter>>::decode
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc
    functionUses: 0
    functionsReached:
    - begin
    - auto::c_str
    - Warning
    - first::as
    - std::unique_ptr<LogFilter>::reset
    - Node::Mark
    - LogFilter::parse
    - std::none_of
    - end
    - strcasecmp
    - YAML::Scanner::ThrowParserException
    - static_cast<LogFilter::Action>
    - as
    linkageType: ''
    returnType: bool
    signature: bool convert<std::unique_ptr<LogFilter>>::decode(const Node &node,
      std::unique_ptr<LogFilter> &logFilter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:40,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:41,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:42,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:47,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:47,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:49,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:53,1
    - Dst: LogField::fieldlist_contains_aggregates
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:58,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:58,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:60,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:62,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:69,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:75,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:76,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:76,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:78,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:78,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:81,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:81,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:83,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:83,1
    - Dst: std::unique_ptr<LogFormat>::reset
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    - Dst: LogFormat::LogFormat
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - node
    - logFormat
    argTypes:
    - Node
    - std::unique_ptr<LogFormat>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 89
    functionName: YAML::convert<std::unique_ptr<LogFormat>>::decode
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc
    functionUses: 0
    functionsReached:
    - begin
    - first::as
    - Node::Mark
    - strncasecmp
    - std::unique_ptr<LogFormat>::reset
    - first::Mark
    - std::string::c_str
    - std::none_of
    - LogField::fieldlist_contains_aggregates
    - end
    - YAML::Scanner::ThrowParserException
    - Note
    - as
    - LogFormat::LogFormat
    linkageType: ''
    returnType: bool
    signature: bool convert<std::unique_ptr<LogFormat>>::decode(const Node &node,
      std::unique_ptr<LogFormat> &logFormat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:95,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:96,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:97,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:104,1
    - Dst: Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:104,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:108,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:109,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:110,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:112,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:116,1
    - Dst: static_cast<LogFilter::Action>
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:117,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:123,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:123,1
    - Dst: std::unique_ptr<LogFilter>::reset
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - node
    - logFilter
    argTypes:
    - Node
    - std::unique_ptr<LogFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 130
    functionName: YAML::convert<std::unique_ptr<LogFilter>>::decode
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfigDecoders.cc
    functionUses: 0
    functionsReached:
    - begin
    - auto::c_str
    - Warning
    - first::as
    - std::unique_ptr<LogFilter>::reset
    - Node::Mark
    - LogFilter::parse
    - std::none_of
    - end
    - strcasecmp
    - YAML::Scanner::ThrowParserException
    - static_cast<LogFilter::Action>
    - as
    linkageType: ''
    returnType: bool
    signature: bool convert<std::unique_ptr<LogFilter>>::decode(const Node &node,
      std::unique_ptr<LogFilter> &logFilter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:67,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:73,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:73,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:74,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:74,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:75,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:77,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:80,1
    - Dst: LogFormat::parse_format_string
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:85,1
    - Dst: LogFormat::init_variables
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:87,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:89,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:95,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - name
    - format_str
    - interval_sec
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 105
    functionName: LogFormat::setup
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - ink_strlcpy
    - LogFormat::init_variables
    - static_cast<char *>
    - LogFormat::parse_format_string
    - ats_malloc
    - strlen
    - ink_strlcat
    - Note
    linkageType: ''
    returnType: bool
    signature: bool LogFormat::setup(const char *name, const char *format_str, unsigned
      interval_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:117,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:117,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:117,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:124,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:124,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: LogFormat::id_from_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CryptoHash::fold
    - static_cast<int32_t>
    - strlen
    - CryptoContext
    linkageType: ''
    returnType: int32_t
    signature: int32_t LogFormat::id_from_name(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:139,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:144,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:149,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:149,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:152,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:157,1
    - Dst: LogFormat::id_from_name
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:158,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:161,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:166,1
    - Dst: LogFormat::id_from_name
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:167,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:170,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - name
    - fieldlist_str
    - printf_str
    - interval_sec
    argTypes:
    - char*
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 176
    functionName: LogFormat::init_variables
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 1
    functionsReached:
    - LogFormat::parse_symbol_string
    - ats_free
    - LogUtils::timestamp
    - static_cast<char *>
    - ats_strdup
    - LogFormat::id_from_name
    - ats_malloc
    - Note
    linkageType: ''
    returnType: void
    signature: void LogFormat::init_variables(const char *name, const char *fieldlist_str,
      const char *printf_str, unsigned interval_sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFormat::setup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - format_str
    - interval_sec
    - escape_type
    argTypes:
    - char*
    - char*
    - unsigned
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: LogFormat::LogFormat
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 2
    functionsReached:
    - LogFormat::setup
    linkageType: ''
    returnType: void
    signature: void LogFormat::LogFormat(const char *name, const char *format_str,
      unsigned interval_sec, LogEscapeType escape_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:233,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:235,1
    - Dst: LogFormat::init_variables
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: LogFormat::LogFormat
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 2
    functionsReached:
    - LogFormat::init_variables
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogFormat::LogFormat(const LogFormat &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:247,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:248,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:249,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:250,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: LogFormat::~LogFormat()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void LogFormat::~LogFormat()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:275,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:276,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:277,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:291,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:295,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:297,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:305,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:307,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:310,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:311,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:314,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:316,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:323,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:325,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:328,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:334,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:336,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:344,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:346,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:354,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:356,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:359,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:364,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:366,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:369,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:371,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:374,1
    - Dst: SimpleTokenizer::getRest
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:381,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:383,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:389,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:389,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:391,1
    - Dst: LogFormat::LogFormat
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:393,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:394,1
    - Dst: LogFormat*::valid
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:395,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 82
    argCount: 4
    argNames:
    - spec
    - file_name
    - file_header
    - file_type
    argTypes:
    - char*
    - char**
    - char**
    - LogFileFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 401
    functionName: LogFormat::format_from_specification
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - SimpleTokenizer::getRest
    - LogFormat*::valid
    - ats_strdup
    - atoi
    - Dbg
    - SimpleTokenizer::getNext
    - strcasecmp
    - ink_assert
    - LogFormat::LogFormat
    linkageType: ''
    returnType: LogFormat
    signature: 'LogFormat *

      LogFormat::format_from_specification(char *spec, char **file_name, char **file_header,
      LogFileFormat *file_type)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:424,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:425,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:432,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:433,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:439,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:441,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:443,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:448,1
    - Dst: LogField::valid_aggregate_name
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:449,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:451,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:453,1
    - Dst: find_by_symbol
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:454,1
    - Dst: find_by_symbol
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:456,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:459,1
    - Dst: LogField*::type
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:462,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:463,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:465,1
    - Dst: LogField*::set_aggregate_op
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:466,1
    - Dst: LogFieldList*::add
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:467,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:470,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:474,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:483,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:485,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:491,1
    - Dst: LogField::valid_container_name
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:492,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:494,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:496,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:497,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:500,1
    - Dst: LogFieldList*::add
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:502,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:504,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:507,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:517,1
    - Dst: find_by_symbol
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:518,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:520,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:523,1
    - Dst: LogFieldList*::add
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:525,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:527,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:529,1
    - Dst: LogFieldList*::addBadSymbol
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:532,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:539,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:542,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 89
    argCount: 3
    argNames:
    - symbol_string
    - field_list
    - contains_aggregates
    argTypes:
    - char*
    - LogFieldList*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 544
    functionName: LogFormat::parse_symbol_string
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 4
    functionsReached:
    - strcmp
    - LogField::valid_container_name
    - ats_free
    - LogFieldList*::add
    - ats_strdup
    - LogField::LogField
    - Dbg
    - strtok_r
    - strchr
    - LogField::valid_aggregate_name
    - LogField*::set_aggregate_op
    - find_by_symbol
    - Note
    - LogField*::type
    - LogFieldList*::addBadSymbol
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogFormat::parse_symbol_string(const char *symbol_string, LogFieldList
      *field_list, bool *contains_aggregates)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:581,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:582,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:583,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:585,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:585,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:589,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:595,1
    - Dst: isxdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:595,1
    - Dst: isxdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:595,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:597,1
    - Dst: toupper
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:600,1
    - Dst: isdigit
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:603,1
    - Dst: toupper
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:606,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:612,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 620
    functionName: LogFormat::parse_escape_string
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - isxdigit
    - static_cast<unsigned char>
    - Warning
    - toupper
    - isdigit
    - tolower
    linkageType: ''
    returnType: int
    signature: int LogFormat::parse_escape_string(const char *str, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:639,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:640,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:652,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:652,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:653,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:653,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:654,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:654,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:687,1
    - Dst: LogFormat::parse_escape_string
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:697,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:701,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:704,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:706,1
    - Dst: LogFormat::parse_escape_string
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:715,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:719,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:722,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:736,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - format_str
    - printf_str
    - fields_str
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 738
    functionName: LogFormat::parse_format_string
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - LogAccess::strlen
    - LogFormat::parse_escape_string
    - static_cast<char>
    - static_cast<char *>
    - Dbg
    - ats_malloc
    - static_cast<unsigned>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogFormat::parse_format_string(const char *format_str, char **printf_str,
      char **fields_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:751,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:752,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:754,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:755,1
    - Dst: LogFormat::display
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:756,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:758,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 761
    functionName: LogFormat::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 1
    functionsReached:
    - fprintf
    - LogFormat::display
    linkageType: ''
    returnType: void
    signature: void LogFormat::display(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: LogFormatList::LogFormatList
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFormatList::LogFormatList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFormatList::clear
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: LogFormatList::~LogFormatList()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - LogFormatList::clear
    linkageType: ''
    returnType: void
    signature: void LogFormatList::~LogFormatList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 781
    functionName: LogFormatList::clear
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 1
    functionsReached:
    - dequeue
    linkageType: ''
    returnType: void
    signature: void LogFormatList::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:786,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:789,1
    - Dst: LogFormat::LogFormat
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:789,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - format
    - copy
    argTypes:
    - LogFormat*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: LogFormatList::add
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - LogFormat::LogFormat
    - ink_assert
    - enqueue
    linkageType: ''
    returnType: void
    signature: void LogFormatList::add(LogFormat *format, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogFormatList::first
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:798,1
    - Dst: LogFormatList::next
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:798,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:799,1
    - Dst: LogFormat*::name
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: LogFormatList::find_by_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - LogFormatList::next
    - LogFormat*::name
    - LogFormatList::first
    linkageType: ''
    returnType: LogFormat
    signature: 'LogFormat *

      LogFormatList::find_by_name(const char *name) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFormatList::first
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:810,1
    - Dst: LogFormatList::next
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 814
    functionName: LogFormatList::count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - LogFormatList::next
    - LogFormatList::first
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFormatList::count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFormatList::first
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:819,1
    - Dst: LogFormatList::next
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:819,1
    - Dst: LogFormat*::display
      Src: /src/trafficserver/src/proxy/logging/LogFormat.cc:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 822
    functionName: LogFormatList::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFormat.cc
    functionUses: 0
    functionsReached:
    - LogFormat*::display
    - LogFormatList::next
    - LogFormatList::first
    linkageType: ''
    returnType: void
    signature: void LogFormatList::display(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YamlLogConfig::loadLogConfig
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:46,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:48,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cfgFilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: YamlLogConfig::parse
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc
    functionUses: 1
    functionsReached:
    - YamlLogConfig::loadLogConfig
    - Error
    - what
    linkageType: ''
    returnType: bool
    signature: bool YamlLogConfig::parse(const char *cfgFilename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:57,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:59,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:63,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:64,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:71,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:77,1
    - Dst: auto::valid
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:78,1
    - Dst: format_list::add
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:79,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:81,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:82,1
    - Dst: auto::display
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:83,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:86,1
    - Dst: auto::name
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:86,1
    - Dst: auto::name
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:86,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:93,1
    - Dst: filter_list::add
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:96,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:98,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:99,1
    - Dst: auto::display
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:100,1
    - Dst: YamlLogConfig::decodeLogObject
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:107,1
    - Dst: log_object_manager::manage_object
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - cfgFilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 113
    functionName: YamlLogConfig::loadLogConfig
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::IsNull
    - auto::valid
    - 'on'
    - Error
    - YAML::LoadFile
    - filter_list::add
    - auto::display
    - auto::name
    - log_object_manager::manage_object
    - YamlLogConfig::decodeLogObject
    - format_list::add
    - YAML::Node::IsMap
    - printf
    - Note
    - as
    linkageType: ''
    returnType: bool
    signature: bool YamlLogConfig::loadLogConfig(const char *cfgFilename)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:141,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:141,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:141,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:142,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:143,1
    - Dst: first::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:143,1
    - Dst: first::as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:143,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:148,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:148,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:150,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:153,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:153,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:158,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:161,1
    - Dst: format_list::find_by_name
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:162,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:162,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:164,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:164,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:170,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:176,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:177,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:177,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:177,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:179,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:179,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:191,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:192,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:194,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:196,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:198,1
    - Dst: Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:198,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:204,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:207,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:210,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:213,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:216,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:219,1
    - Dst: LogRollingEnabledIsValid
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:221,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:222,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:229,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:231,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:235,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:235,1
    - Dst: static_cast<Log::RollingEnabledValues>
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:236,1
    - Dst: LogObject::LogObject
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:235,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:263,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:264,1
    - Dst: auto::Mark
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:264,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:268,1
    - Dst: filter_list::find_by_name
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:269,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:269,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:271,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:271,1
    - Dst: auto::add_filter
      Src: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc:273,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 278
    functionName: YamlLogConfig::decodeLogObject
    functionSourceFile: /src/trafficserver/src/proxy/logging/YamlLogConfig.cc
    functionUses: 1
    functionsReached:
    - LogRollingEnabledIsValid
    - std::none_of
    - as
    - begin
    - get
    - LogObject::LogObject
    - auto::add_filter
    - YAML::Node::Mark
    - first::Mark
    - auto::Mark
    - auto::IsSequence
    - static_cast<Log::RollingEnabledValues>
    - strcasecmp
    - Mark
    - std::string::c_str
    - Warning
    - first::as
    - strncasecmp
    - Error
    - end
    - filter_list::find_by_name
    - format_list::find_by_name
    - std::string::size
    - YAML::Scanner::ThrowParserException
    linkageType: ''
    returnType: LogObject
    signature: 'LogObject *

      YamlLogConfig::decodeLogObject(const YAML::Node &node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:84,1
    - Dst: strftime
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - timestamp
    - buf
    - size
    argTypes:
    - long
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: LogUtils::timestamp_to_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    - strftime
    linkageType: ''
    returnType: int
    signature: int LogUtils::timestamp_to_str(long timestamp, char *buf, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:121,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:135,1
    - Dst: strftime
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:137,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: LogUtils::timestamp_to_netscape_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    - snprintf
    - strftime
    - ink_strlcat
    linkageType: ''
    returnType: char
    signature: 'char *

      LogUtils::timestamp_to_netscape_str(long timestamp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:169,1
    - Dst: strftime
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: LogUtils::timestamp_to_date_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    - strftime
    linkageType: ''
    returnType: char
    signature: 'char *

      LogUtils::timestamp_to_date_str(long timestamp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:201,1
    - Dst: strftime
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: LogUtils::timestamp_to_time_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    - strftime
    linkageType: ''
    returnType: char
    signature: 'char *

      LogUtils::timestamp_to_time_str(long timestamp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: LogUtils::strip_trailing_newline
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    linkageType: ''
    returnType: void
    signature: void LogUtils::strip_trailing_newline(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:248,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - type_str
    - type_len
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: LogUtils::remove_content_type_attributes
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - memchr
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void LogUtils::remove_content_type_attributes(char *type_str, int *type_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_localtime_r
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - time_now
    - rolling_offset
    - rolling_interval
    argTypes:
    - time_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: LogUtils::seconds_to_next_roll
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - ink_localtime_r
    linkageType: ''
    returnType: int
    signature: int LogUtils::seconds_to_next_roll(time_t time_now, int rolling_offset,
      int rolling_interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::find
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:290,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:291,1
    - Dst: auto::find_first_of
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:301,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:302,1
    - Dst: auto::remove_suffix
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:304,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rolled_filename
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: LogUtils::get_unrolled_filename
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 1
    functionsReached:
    - auto::find_first_of
    - auto::remove_prefix
    - auto::size
    - auto::remove_suffix
    - auto::find
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView LogUtils::get_unrolled_filename(swoc::TextView rolled_filename)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:338,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:343,1
    - Dst: S_ISFIFO
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:343,1
    - Dst: strrchr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:369,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:372,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:373,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:382,1
    - Dst: getrlimit
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:401,1
    - Dst: static_cast<rlim_t>
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:405,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 4
    argNames:
    - full_filename
    - size_bytes
    - has_size_limit
    - current_size_limit_bytes
    argTypes:
    - char*
    - off_t*
    - bool*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 421
    functionName: LogUtils::file_is_writeable
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - S_ISREG
    - memcpy
    - static_cast<rlim_t>
    - stat
    - strrchr
    - char::char
    - getrlimit
    - S_ISFIFO
    - access
    linkageType: ''
    returnType: int
    signature: int LogUtils::file_is_writeable(const char *full_filename, off_t *size_bytes,
      bool *has_size_limit, uint64_t *current_size_limit_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:432,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bw
    - mf
    argTypes:
    - swoc::FixedBufferWriter
    - MIMEField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: marshalStr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - auto::data
    linkageType: ''
    returnType: void
    signature: void marshalStr(swoc::FixedBufferWriter &bw, const MIMEField &mf, std::string_view
      (MIMEField::*get_func)() const)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bw
    - data
    argTypes:
    - swoc::FixedBufferWriter
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: unmarshalStr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unmarshalStr(swoc::FixedBufferWriter &bw, const char *&data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:432,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bw
    - mf
    argTypes:
    - swoc::FixedBufferWriter
    - MIMEField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: marshalStr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - auto::data
    linkageType: ''
    returnType: void
    signature: void marshalStr(swoc::FixedBufferWriter &bw, const MIMEField &mf, std::string_view
      (MIMEField::*get_func)() const)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bw
    - data
    argTypes:
    - swoc::FixedBufferWriter
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: unmarshalStr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unmarshalStr(swoc::FixedBufferWriter &bw, const char *&data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:473,1
    - Dst: marshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:474,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:480,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - MIMEHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: LogUtils::marshalMimeHdr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - INK_ALIGN_DEFAULT
    - marshalStr
    - swoc::FixedBufferWriter::extent
    linkageType: ''
    returnType: int
    signature: int marshalMimeHdr(MIMEHdr *hdr, char *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:488,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:492,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:496,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:501,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:503,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:508,1
    - Dst: unmarshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:511,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:513,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:515,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:516,1
    - Dst: unmarshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:520,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:523,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:527,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:529,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:531,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:531,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:534,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:534,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:536,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:540,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:540,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:541,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:544,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:545,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:548,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:549,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:549,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:550,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:553,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:554,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:557,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:558,1
    - Dst: swoc::FixedBufferWriter::clear
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:560,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:564,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - dest
    - destLength
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 567
    functionName: LogUtils::unmarshalMimeHdr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - unmarshalStr
    - INK_ALIGN_DEFAULT
    - swoc::FixedBufferWriter::size
    - swoc::FixedBufferWriter::clear
    - swoc::FixedBufferWriter::error
    - std::string_view::size
    - swoc::FixedBufferWriter::discard
    - swoc::FixedBufferWriter::write
    - swoc::FixedBufferWriter::extent
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int unmarshalMimeHdr(char **buf, char *dest, int destLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:473,1
    - Dst: marshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:474,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:480,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - MIMEHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: LogUtils::marshalMimeHdr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - INK_ALIGN_DEFAULT
    - marshalStr
    - swoc::FixedBufferWriter::extent
    linkageType: ''
    returnType: int
    signature: int marshalMimeHdr(MIMEHdr *hdr, char *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:488,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:492,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:496,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:501,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:503,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:508,1
    - Dst: unmarshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:511,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:513,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:515,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:516,1
    - Dst: unmarshalStr
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:520,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:523,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:527,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:529,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:531,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:531,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:534,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:534,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:536,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:540,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:540,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:541,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:544,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:545,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:548,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:549,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:549,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:550,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:553,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:554,1
    - Dst: swoc::FixedBufferWriter::discard
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:557,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:558,1
    - Dst: swoc::FixedBufferWriter::clear
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:560,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:564,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/logging/LogUtils.cc:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - dest
    - destLength
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 567
    functionName: LogUtils::unmarshalMimeHdr
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogUtils.cc
    functionUses: 0
    functionsReached:
    - unmarshalStr
    - INK_ALIGN_DEFAULT
    - swoc::FixedBufferWriter::size
    - swoc::FixedBufferWriter::clear
    - swoc::FixedBufferWriter::error
    - std::string_view::size
    - swoc::FixedBufferWriter::discard
    - swoc::FixedBufferWriter::write
    - swoc::FixedBufferWriter::extent
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int unmarshalMimeHdr(char **buf, char *dest, int destLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - roll
    argTypes:
    - Log::RollingEnabledValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: should_roll_on_time
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_roll_on_time(Log::RollingEnabledValues roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - roll
    argTypes:
    - Log::RollingEnabledValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: should_roll_on_size
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_roll_on_size(Log::RollingEnabledValues roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - roll
    argTypes:
    - Log::RollingEnabledValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: should_roll_on_time
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_roll_on_time(Log::RollingEnabledValues roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - roll
    argTypes:
    - Log::RollingEnabledValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: should_roll_on_size
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_roll_on_size(Log::RollingEnabledValues roll)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SList
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:70,1
    - Dst: q
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:70,1
    - Dst: popall
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:70,1
    - Dst: pop
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:72,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:75,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:77,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:78,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:79,1
    - Dst: LogBuffer*::header
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:79,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:82,1
    - Dst: pop
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:87,1
    - Dst: LogBuffer*::update_header_data
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:88,1
    - Dst: LogBufferSink*::preproc_and_try_delete
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:89,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - sink
    argTypes:
    - LogBufferSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: LogBufferManager::preproc_buffers
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - Warning
    - LogBuffer*::header
    - LogBufferSink*::preproc_and_try_delete
    - SList
    - ink_atomic_increment
    - LogBuffer*::update_header_data
    - Dbg
    - push
    - q
    - pop
    - popall
    linkageType: ''
    returnType: size_t
    signature: size_t LogBufferManager::preproc_buffers(LogBufferSink *sink)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:121,1
    - Dst: std::make_unique<LogFormat>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:122,1
    - Dst: LogBufferManager::LogBufferManager
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:123,1
    - Dst: LogObject::generate_filenames
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:131,1
    - Dst: LogObject::compute_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:134,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:134,1
    - Dst: LogFormat*::escape_type
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:137,1
    - Dst: LogFile::LogFile
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:136,1
    - Dst: open_file
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:140,1
    - Dst: LogBuffer::LogBuffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:144,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:145,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:146,1
    - Dst: LogObject::_setup_rolling
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 16
    argNames:
    - cfg
    - format
    - log_dir
    - basename
    - file_format
    - header
    - rolling_enabled
    - flush_threads
    - rolling_interval_sec
    - rolling_offset_hr
    - rolling_size_mb
    - rolling_max_count
    - rolling_min_count
    - reopen_after_rolling
    - pipe_buffer_size
    - fast
    argTypes:
    - LogConfig*
    - LogFormat*
    - char*
    - char*
    - LogFileFormat
    - char*
    - Log::RollingEnabledValues
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: LogObject::LogObject
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 2
    functionsReached:
    - get
    - ink_release_assert
    - std::make_unique<LogFormat>
    - LogObject::compute_signature
    - LogFormat*::escape_type
    - open_file
    - SET_FREELIST_POINTER_VERSION
    - LogObject::_setup_rolling
    - Dbg
    - LogBuffer::LogBuffer
    - LogFile::LogFile
    - LogBufferManager::LogBufferManager
    - ink_assert
    - LogObject::generate_filenames
    linkageType: ''
    returnType: void
    signature: "void LogObject::LogObject(LogConfig *cfg, const LogFormat *format,
      const char *log_dir, const char *basename, LogFileFormat file_format,\n                     const
      char *header, Log::RollingEnabledValues rolling_enabled, int flush_threads,
      int rolling_interval_sec,\n                     int rolling_offset_hr, int rolling_size_mb,
      bool /* auto_created ATS_UNUSED */, int rolling_max_count,\n                     int
      rolling_min_count, bool reopen_after_rolling, int pipe_buffer_size, bool fast)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:155,1
    - Dst: LogObject::preproc_buffers
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:157,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:158,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:159,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:160,1
    - Dst: static_cast<LogBuffer *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:163,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: LogObject::~LogObject()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - FREELIST_POINTER
    - LogObject::preproc_buffers
    - Dbg
    - static_cast<LogBuffer *>
    linkageType: ''
    returnType: void
    signature: void LogObject::~LogObject()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:184,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:188,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:190,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:190,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:191,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:191,1
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:193,1
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:194,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:227,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:231,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:231,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:235,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:235,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:236,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:236,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:238,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:240,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:241,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:244,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - log_dir
    - basename
    - file_format
    argTypes:
    - char*
    - char*
    - LogFileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 249
    functionName: LogObject::generate_filenames
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - memcpy
    - std::string_view::length
    - static_cast<char *>
    - strncpy
    - ats_malloc
    - strlen
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogObject::generate_filenames(const char *log_dir, const char
      *basename, LogFileFormat file_format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:258,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:259,1
    - Dst: change_name
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: LogObject::rename
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - ats_free
    - change_name
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogObject::rename(char *new_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - copy
    argTypes:
    - LogFilter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: LogObject::add_filter
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void LogObject::add_filter(LogFilter *filter, bool copy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogFormat*::fieldlist
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:283,1
    - Dst: LogFormat*::printf_str
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:284,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:288,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:288,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:288,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:289,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:289,1
    - Dst: ink_string_concatenate_strings
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:291,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:295,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:296,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - format
    - filename
    - flags
    argTypes:
    - LogFormat*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: LogObject::compute_signature
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - CryptoHash::fold
    - ats_free
    - ink_string_concatenate_strings
    - LogFormat*::fieldlist
    - static_cast<char *>
    - strlen
    - ats_malloc
    - LogFormat*::printf_str
    - CryptoContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t LogObject::compute_signature(LogFormat *format, char *filename,
      unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:306,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:307,1
    - Dst: name
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:311,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:311,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:313,1
    - Dst: LogObject::get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:313,1
    - Dst: LogObject::display
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:314,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: LogObject::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - get
    - fprintf
    - LogObject::display
    - LogObject::get_full_filename
    - name
    linkageType: ''
    returnType: void
    signature: void LogObject::display(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:325,1
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:326,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:326,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:326,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dst
    argTypes:
    - head_p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: increment_pointer_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_cas
    - INK_QUEUE_LD
    - FREELIST_POINTER
    - FREELIST_VERSION
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: head_p
    signature: head_p increment_pointer_version(head_p *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_FREELIST_POINTER_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:337,1
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dst
    - old_h
    - ptr
    - vers
    argTypes:
    - head_p*
    - head_p
    - void*
    - head_p::version_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: write_pointer_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_cas
    - SET_FREELIST_POINTER_VERSION
    linkageType: ''
    returnType: bool
    signature: bool write_pointer_version(head_p *dst, head_p old_h, void *ptr, head_p::version_type
      vers)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: increment_pointer_version
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:355,1
    - Dst: static_cast<LogBuffer *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:357,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:357,1
    - Dst: LogBuffer*::checkout_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:358,1
    - Dst: LogBuffer::LogBuffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:370,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:376,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:380,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:380,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:381,1
    - Dst: write_pointer_version
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:389,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:391,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:391,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:392,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:392,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:395,1
    - Dst: LogBuffer*::get_id
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:395,1
    - Dst: add_to_flush_queue
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:396,1
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:397,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:407,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:416,1
    - Dst: INK_QUEUE_LD
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:425,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:426,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:426,1
    - Dst: write_pointer_version
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:431,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:431,1
    - Dst: FREELIST_VERSION
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:431,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:433,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:433,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:435,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - write_offset
    - bytes_needed
    argTypes:
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 452
    functionName: LogObject::_checkout_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - INK_QUEUE_LD
    - LogBuffer*::checkout_write
    - FREELIST_POINTER
    - add_to_flush_queue
    - increment_pointer_version
    - ink_atomic_increment
    - static_cast<LogBuffer *>
    - write_pointer_version
    - LogBuffer::LogBuffer
    - FREELIST_VERSION
    - Dbg
    - signal
    - ink_thr_yield
    - LogBuffer*::get_id
    - ink_assert
    linkageType: ''
    returnType: LogBuffer
    signature: 'LogBuffer *

      LogObject::_checkout_write(size_t *write_offset, size_t bytes_needed)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:461,1
    - Dst: LogUtils::timestamp_to_str
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:465,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:465,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:466,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:473,1
    - Dst: vsnprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:478,1
    - Dst: LogObject::log
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - lad
    - fmt
    - ap
    argTypes:
    - LogAccess*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 483
    functionName: LogObject::va_log
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogUtils::timestamp
    - vsnprintf
    - LogUtils::timestamp_to_str
    - LogObject::log
    - unlikely
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogObject::va_log(LogAccess *lad, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::log
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lad
    - text_entry
    argTypes:
    - LogAccess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: LogObject::log
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 2
    functionsReached:
    - LogObject::log
    linkageType: ''
    returnType: int
    signature: int LogObject::log(LogAccess *lad, const char *text_entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:500,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:501,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:507,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: ThreadLocalLogBufferManager::ThreadLocalLogBufferManager
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - SET_HANDLER
    - schedule_every
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void ThreadLocalLogBufferManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:513,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 521
    functionName: ~ThreadLocalLogBufferManager() override
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - clear
    linkageType: ''
    returnType: void
    signature: void ~ThreadLocalLogBufferManager() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:527,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:527,1
    - Dst: expiration_time
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:527,1
    - Dst: flush_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: ThreadLocalLogBufferManager::wakeup
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - expiration_time
    - ink_hrtime_to_sec
    - flush_buffer
    linkageType: ''
    returnType: int
    signature: int wakeup(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogBuffer::LogBuffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:541,1
    - Dst: LogBuffer*::fast_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:544,1
    - Dst: LogObject*::flush_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:545,1
    - Dst: LogBuffer::LogBuffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:547,1
    - Dst: LogBuffer*::fast_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - o
    - offset
    - bytes_needed
    argTypes:
    - LogObject*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 554
    functionName: ThreadLocalLogBufferManager::current_buffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogBuffer*::fast_write
    - LogBuffer::LogBuffer
    - LogObject*::flush_buffer
    linkageType: ''
    returnType: LogBuffer
    signature: "LogBuffer *\n  current_buffer(LogObject *o, size_t *offset, size_t
      bytes_needed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadLocalLogBufferManager::ThreadLocalLogBufferManager
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:566,1
    - Dst: ThreadLocalLogBufferManager::current_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - offset
    - bytes_needed
    argTypes:
    - LogObject*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: ThreadLocalLogBufferManager::thread_local_buffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ThreadLocalLogBufferManager::current_buffer
    - ThreadLocalLogBufferManager::ThreadLocalLogBufferManager
    linkageType: ''
    returnType: LogBuffer
    signature: 'LogBuffer *

      ThreadLocalLogBufferManager::thread_local_buffer(LogObject *o, size_t *offset,
      size_t bytes_needed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:574,1
    - Dst: LogBuffer*::get_id
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:574,1
    - Dst: add_to_flush_queue
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:575,1
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - LogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: LogObject::flush_buffer
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - LogBuffer*::get_id
    - signal
    - add_to_flush_queue
    linkageType: ''
    returnType: void
    signature: void LogObject::flush_buffer(LogBuffer *buffer)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::writes_to_pipe
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:589,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:590,1
    - Dst: get_name
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:590,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:595,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:596,1
    - Dst: toss_this_entry
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:600,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:601,1
    - Dst: is_aggregate
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:605,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:609,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:613,1
    - Dst: m_field_list::marshal
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:614,1
    - Dst: LogFieldList*::first
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:622,1
    - Dst: LogFieldList*::next
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:622,1
    - Dst: LogField*::is_time_field
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:624,1
    - Dst: reinterpret_cast<int64_t *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:624,1
    - Dst: LogField*::update_aggregate
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:625,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:630,1
    - Dst: field_count
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:638,1
    - Dst: m_field_list::marshal_len
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:640,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:641,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:642,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:646,1
    - Dst: LogObject::_checkout_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:652,1
    - Dst: ThreadLocalLogBufferManager::thread_local_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:654,1
    - Dst: SiteThrottledNote
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:658,1
    - Dst: is_aggregate
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:670,1
    - Dst: m_field_list::marshal_agg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:673,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:674,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:676,1
    - Dst: m_field_list::marshal
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:678,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:679,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:680,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:682,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:682,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:682,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:683,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:683,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:683,1
    - Dst: LogBuffer*::checkin_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:687,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - lad
    - text_entry
    argTypes:
    - LogAccess*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 691
    functionName: LogObject::log
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - LogUtils::timestamp
    - toss_this_entry
    - m_field_list::marshal
    - std::string_view::data
    - LogObject::writes_to_pipe
    - LogFieldList*::first
    - ThreadLocalLogBufferManager::thread_local_buffer
    - LogObject::_checkout_write
    - is_aggregate
    - std::string_view::size
    - m_field_list::marshal_agg
    - reinterpret_cast<int64_t *>
    - field_count
    - LogField*::is_time_field
    - Dbg
    - LogBuffer*::checkin_write
    - LogFieldList*::next
    - Note
    - ink_assert
    - memset
    - INK_ALIGN_DEFAULT
    - std::string_view::empty
    - LogField*::update_aggregate
    - get_name
    - m_field_list::marshal_len
    - SiteThrottledNote
    linkageType: ''
    returnType: int
    signature: int LogObject::log(LogAccess *lad, std::string_view text_entry)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LogRollingEnabledIsValid
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:697,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:697,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:703,1
    - Dst: Status
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:707,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:732,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:737,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:749,1
    - Dst: LogConfig*::register_rolled_log_auto_delete
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:754,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - cfg
    - rolling_enabled
    - rolling_interval_sec
    - rolling_offset_hr
    - rolling_size_mb
    argTypes:
    - LogConfig*
    - Log::RollingEnabledValues
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 757
    functionName: LogObject::_setup_rolling
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Warning
    - LogConfig*::register_rolled_log_auto_delete
    - LogRollingEnabledIsValid
    - Note
    - Status
    linkageType: ''
    returnType: void
    signature: "void LogObject::_setup_rolling(LogConfig *cfg, Log::RollingEnabledValues
      rolling_enabled, int rolling_interval_sec,\n                          int rolling_offset_hr,
      int rolling_size_mb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:771,1
    - Dst: LogUtils::seconds_to_next_roll
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:784,1
    - Dst: LogObject::get_file_size_bytes
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:808,1
    - Dst: should_roll_on_time
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:812,1
    - Dst: should_roll_on_size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:812,1
    - Dst: LogObject::_roll_files
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:814,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:814,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - time_now
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: LogObject::roll_files
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogUtils::seconds_to_next_roll
    - LogUtils::timestamp
    - LogObject::_roll_files
    - should_roll_on_time
    - LogObject::get_file_size_bytes
    - should_roll_on_size
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogObject::roll_files(long time_now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::writes_to_pipe
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:827,1
    - Dst: roll
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:828,1
    - Dst: trim_rolled
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - last_roll_time
    - time_now
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 838
    functionName: LogObject::_roll_files
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - trim_rolled
    - roll
    - LogObject::writes_to_pipe
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogObject::_roll_files(long last_roll_time, long time_now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LogBuffer *>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:843,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:843,1
    - Dst: LogBuffer*::expiration_time
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:844,1
    - Dst: LogObject::force_new_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - time_now
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 847
    functionName: LogObject::check_buffer_expiration
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - static_cast<LogBuffer *>
    - FREELIST_POINTER
    - LogObject::force_new_buffer
    - LogBuffer*::expiration_time
    linkageType: ''
    returnType: void
    signature: void LogObject::check_buffer_expiration(long time_now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextLogObject::set_fmt_timestamps
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 13
    argNames:
    - name
    - log_dir
    - timestamps
    - header
    - rolling_enabled
    - flush_threads
    - rolling_interval_sec
    - rolling_offset_hr
    - rolling_size_mb
    - rolling_max_count
    - rolling_min_count
    - reopen_after_rolling
    - fast
    argTypes:
    - char*
    - char*
    - bool
    - char*
    - Log::RollingEnabledValues
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 865
    functionName: TextLogObject::TextLogObject
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - TextLogObject::set_fmt_timestamps
    linkageType: ''
    returnType: void
    signature: "void TextLogObject::TextLogObject(const char *name, const char *log_dir,
      bool timestamps, const char *header,\n                             Log::RollingEnabledValues
      rolling_enabled, int flush_threads, int rolling_interval_sec,\n                             int
      rolling_offset_hr, int rolling_size_mb, int rolling_max_count, int rolling_min_count,\n
      \                            bool reopen_after_rolling, bool fast)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:881,1
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:883,1
    - Dst: TextLogObject::va_write
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:884,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 888
    functionName: TextLogObject::write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - ink_assert
    - TextLogObject::va_write
    linkageType: ''
    returnType: int
    signature: int TextLogObject::write(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextLogObject::va_log
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: TextLogObject::va_write
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - TextLogObject::va_log
    linkageType: ''
    returnType: int
    signature: int TextLogObject::va_write(const char *format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex::ink_mutex
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:911,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: LogObjectManager::LogObjectManager
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ink_mutex::ink_mutex
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::LogObjectManager()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: refcount_dec
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:918,1
    - Dst: refcount_dec
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 930
    functionName: LogObjectManager::~LogObjectManager()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - refcount_dec
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::~LogObjectManager()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:936,1
    - Dst: LogObjectManager::_solve_internal_filename_conflicts
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:939,1
    - Dst: LogObjectManager::_solve_filename_conflicts
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:942,1
    - Dst: LogObject*::refcount_inc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:948,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:950,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:952,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:955,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:957,1
    - Dst: LogObject*::get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:960,1
    - Dst: LogObject*::get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:960,1
    - Dst: LogObject*::get_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:960,1
    - Dst: LogObject*::has_alternate_name
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:962,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:963,1
    - Dst: LogObject*::get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:967,1
    - Dst: LogObject*::get_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:967,1
    - Dst: LogObject*::get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:967,1
    - Dst: LogObject*::get_original_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:968,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - log_object
    - is_api_object
    - maxConflicts
    argTypes:
    - LogObject*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 979
    functionName: LogObjectManager::_manage_object
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogObject*::has_alternate_name
    - ink_release_assert
    - Warning
    - LogObjectManager::_solve_internal_filename_conflicts
    - RELEASE_API_MUTEX
    - ACQUIRE_API_MUTEX
    - push_back
    - Dbg
    - LogObject*::get_full_filename
    - LogObject*::get_signature
    - LogObject*::get_base_filename
    - LogObjectManager::_solve_filename_conflicts
    - LogObject*::get_original_filename
    - LogObject*::refcount_inc
    linkageType: ''
    returnType: int
    signature: int LogObjectManager::_manage_object(LogObject *log_object, bool is_api_object,
      int maxConflicts)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LogObject*::get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:986,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:988,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:991,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:993,1
    - Dst: BaseMetaInfo::file_open_successful
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1003,1
    - Dst: BaseMetaInfo::get_log_object_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1004,1
    - Dst: LogObject*::get_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1005,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1010,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1025,1
    - Dst: LogObject*::writes_to_pipe
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1037,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1041,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1043,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1045,1
    - Dst: S_ISFIFO
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1049,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1055,1
    - Dst: LogFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1060,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1061,1
    - Dst: LogFile::roll
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1063,1
    - Dst: LogObject*::get_rolling_interval
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1063,1
    - Dst: LogObjectManager::_filename_resolution_abort
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1066,1
    - Dst: LogObjectManager::_filename_resolution_abort
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1070,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - log_object
    - maxConflicts
    argTypes:
    - LogObject*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1078
    functionName: LogObjectManager::_solve_filename_conflicts
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - access
    - BaseMetaInfo::get_log_object_signature
    - Warning
    - LogUtils::timestamp
    - S_ISFIFO
    - LogObjectManager::_filename_resolution_abort
    - stat
    - Error
    - LogObject*::get_rolling_interval
    - LogObject*::get_full_filename
    - Dbg
    - BaseMetaInfo::file_open_successful
    - LogObject*::get_signature
    - LogObject*::writes_to_pipe
    - LogFile::roll
    - strerror
    - LogFile::open_file
    linkageType: ''
    returnType: int
    signature: int LogObjectManager::_solve_filename_conflicts(LogObject *log_object,
      int maxConflicts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1085,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1087
    functionName: LogObjectManager::_filename_resolution_abort
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - strerror
    - Error
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::_filename_resolution_abort(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - objects
    argTypes:
    - std::string_view
    - LogObjectList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1105
    functionName: LogObjectManager::_has_internal_filename_conflict
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - get_full_filename
    linkageType: ''
    returnType: bool
    signature: bool LogObjectManager::_has_internal_filename_conflict(std::string_view
      filename, LogObjectList &objects)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogObject*::get_full_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1111,1
    - Dst: LogObjectManager::_has_internal_filename_conflict
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1113,1
    - Dst: LogObjectManager::_has_internal_filename_conflict
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1113,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1117,1
    - Dst: LogObject*::get_original_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1117,1
    - Dst: LogObject*::rename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1118,1
    - Dst: LogObjectManager::_solve_internal_filename_conflicts
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1119,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - log_object
    - maxConflicts
    - fileNum
    argTypes:
    - LogObject*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1128
    functionName: LogObjectManager::_solve_internal_filename_conflicts
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 2
    functionsReached:
    - LogObjectManager::_solve_internal_filename_conflicts
    - Error
    - LogObject*::get_full_filename
    - snprintf
    - LogObjectManager::_has_internal_filename_conflict
    - LogObject*::get_original_filename
    - LogObject*::rename
    linkageType: ''
    returnType: int
    signature: int LogObjectManager::_solve_internal_filename_conflicts(LogObject
      *log_object, int maxConflicts, int fileNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_signature
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - signature
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1139
    functionName: LogObjectManager::get_object_with_signature
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - get_signature
    linkageType: ''
    returnType: LogObject
    signature: 'LogObject *

      LogObjectManager::get_object_with_signature(uint64_t signature)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::check_buffer_expiration
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1145,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1148,1
    - Dst: LogObjectManager::check_buffer_expiration
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1151,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - time_now
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1155
    functionName: LogObjectManager::check_buffer_expiration
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - ACQUIRE_API_MUTEX
    - RELEASE_API_MUTEX
    - LogObjectManager::check_buffer_expiration
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::check_buffer_expiration(long time_now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::preproc_buffers
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1163,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1166,1
    - Dst: LogObjectManager::preproc_buffers
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1169,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1175
    functionName: LogObjectManager::preproc_buffers
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - ACQUIRE_API_MUTEX
    - RELEASE_API_MUTEX
    - LogObjectManager::preproc_buffers
    linkageType: ''
    returnType: size_t
    signature: size_t LogObjectManager::preproc_buffers(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1184,1
    - Dst: std::find
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1186,1
    - Dst: LogObjectManager::_APIobjects::begin
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1186,1
    - Dst: LogObjectManager::_APIobjects::end
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1186,1
    - Dst: LogObjectManager::_APIobjects::end
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1188,1
    - Dst: LogObjectManager::_APIobjects::erase
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1189,1
    - Dst: LogObject*::force_new_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1192,1
    - Dst: new_Derefer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1193,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1193,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1195,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - logObject
    argTypes:
    - LogObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: LogObjectManager::unmanage_api_object
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogObjectManager::_APIobjects::erase
    - RELEASE_API_MUTEX
    - LogObject*::force_new_buffer
    - HRTIME_SECONDS
    - new_Derefer
    - ACQUIRE_API_MUTEX
    - LogObjectManager::_APIobjects::begin
    - std::find
    - LogObjectManager::_APIobjects::end
    linkageType: ''
    returnType: bool
    signature: bool LogObjectManager::unmanage_api_object(LogObject *logObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_objects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1206,1
    - Dst: add_filter
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - LogFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1209
    functionName: LogObjectManager::add_filter_to_all
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - add_filter
    - LogObjectManager::_objects::size
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::add_filter_to_all(LogFilter *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_objects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1217,1
    - Dst: LogObject*::writes_to_pipe
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1219,1
    - Dst: LogObject*::m_logFile::open_file
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1223
    functionName: LogObjectManager::open_local_pipes
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogObject*::writes_to_pipe
    - LogObjectManager::_objects::size
    - LogObject*::m_logFile::open_file
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::open_local_pipes()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1228,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1230,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1231,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1233,1
    - Dst: get_original_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1233,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1236,1
    - Dst: LogObjectManager::_objects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1237,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1238,1
    - Dst: get_original_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1238,1
    - Dst: LogObjectManager::manage_api_object
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1244,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1250,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1250,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1255,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1258,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1258,1
    - Dst: LogObject*::get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1259,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1262,1
    - Dst: get_base_filename
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1262,1
    - Dst: refcount_inc
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1264,1
    - Dst: LogObject*::refcount_dec
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1267,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1275,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1276,1
    - Dst: LogObjectManager::display
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - old_mgr
    argTypes:
    - LogObjectManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1279
    functionName: LogObjectManager::transfer_objects
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogObjectManager::display
    - LogObjectManager::_objects::size
    - 'on'
    - size
    - get_base_filename
    - LogObject*::refcount_dec
    - Dbg
    - refcount_inc
    - LogObject*::get_base_filename
    - get_original_filename
    - LogObjectManager::manage_api_object
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::transfer_objects(LogObjectManager &old_mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::roll_files
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1287,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1290,1
    - Dst: LogObjectManager::roll_files
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1293,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - time_now
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1299
    functionName: LogObjectManager::roll_files
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - ACQUIRE_API_MUTEX
    - RELEASE_API_MUTEX
    - LogObjectManager::roll_files
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogObjectManager::roll_files(long time_now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_logFile::reopen_if_moved
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1305,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1308,1
    - Dst: m_logFile::reopen_if_moved
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1311,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1315
    functionName: LogObjectManager::reopen_moved_log_files
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ACQUIRE_API_MUTEX
    - RELEASE_API_MUTEX
    - m_logFile::reopen_if_moved
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::reopen_moved_log_files()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_objects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1320,1
    - Dst: LogObjectManager::display
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1321,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1324,1
    - Dst: LogObjectManager::_APIobjects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1325,1
    - Dst: LogObjectManager::display
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1326,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1329
    functionName: LogObjectManager::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 2
    functionsReached:
    - LogObjectManager::display
    - LogObjectManager::_APIobjects::size
    - LogObjectManager::_objects::size
    - RELEASE_API_MUTEX
    - ACQUIRE_API_MUTEX
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::display(FILE *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_format::name_id
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1335,1
    - Dst: LogFormat::id_from_name
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1340
    functionName: LogObjectManager::find_by_format_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - m_format::name_id
    - LogFormat::id_from_name
    linkageType: ''
    returnType: LogObject
    signature: 'LogObject *

      LogObjectManager::find_by_format_name(const char *name) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_objects::size
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1347,1
    - Dst: LogObjectManager::log
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1348,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1356,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1357,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1358,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1359,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1360,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1361,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1362,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1363,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1364,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1365,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1371
    functionName: LogObjectManager::log
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - LogObjectManager::_objects::size
    - ink_release_assert
    - likely
    - unlikely
    - LogObjectManager::log
    linkageType: ''
    returnType: int
    signature: int LogObjectManager::log(LogAccess *lad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: force_new_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1377,1
    - Dst: ACQUIRE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1380,1
    - Dst: force_new_buffer
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1383,1
    - Dst: RELEASE_API_MUTEX
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1387
    functionName: LogObjectManager::flush_all_objects
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - ACQUIRE_API_MUTEX
    - RELEASE_API_MUTEX
    - force_new_buffer
    linkageType: ''
    returnType: void
    signature: void LogObjectManager::flush_all_objects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1395,1
    - Dst: LogObject::LogObject
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1404
    functionName: MakeTestLogObject
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - LogObject::LogObject
    - getenv
    linkageType: ''
    returnType: LogObject
    signature: 'LogObject *

      MakeTestLogObject(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::LogObjectManager
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1414,1
    - Dst: LogObjectManager::LogObjectManager
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1415,1
    - Dst: LogObjectManager::manage_object
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1417,1
    - Dst: MakeTestLogObject
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1417,1
    - Dst: LogObjectManager::manage_object
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1418,1
    - Dst: MakeTestLogObject
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1418,1
    - Dst: LogObjectManager::manage_object
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1419,1
    - Dst: MakeTestLogObject
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1419,1
    - Dst: LogObjectManager::manage_object
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1420,1
    - Dst: MakeTestLogObject
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1420,1
    - Dst: LogObjectManager::transfer_objects
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1422,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1424,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1424,1
    - Dst: LogObjectManager::get_num_objects
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1424,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1425,1
    - Dst: LogObjectManager::get_num_objects
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1425,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1426,1
    - Dst: LogObjectManager::get_num_objects
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1426,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1427,1
    - Dst: LogObjectManager::get_num_objects
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1427,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1429,1
    - Dst: Log::periodic_tasks
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1430,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1430,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/logging/LogObject.cc:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1406
    functionDepth: 3
    functionLinenumber: 1406
    functionLinenumberEnd: 1435
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogObject.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_get_hrtime
    - Log::periodic_tasks
    - LogObjectManager::get_num_objects
    - LogObjectManager::manage_object
    - TestBox::check
    - rprintf
    - LogObjectManager::transfer_objects
    - MakeTestLogObject
    - LogObjectManager::LogObjectManager
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(LogObjectManager_Transfer)(RegressionTest *t,
      int /* atype ATS_UNUSED */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - HttpSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: LogAccess::LogAccess
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogAccess::LogAccess(HttpSM *sm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::HeaderInfo*::client_request::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:81,1
    - Dst: url_string_get_ref
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:85,1
    - Dst: str_alloc
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:86,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:87,1
    - Dst: Encoding::escapify_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:91,1
    - Dst: path_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:92,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:93,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:94,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:94,1
    - Dst: HttpTransact::HeaderInfo*::client_response::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:97,1
    - Dst: field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:99,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:99,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:101,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:102,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:102,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:103,1
    - Dst: LogUtils::remove_content_type_attributes
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:104,1
    - Dst: field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:107,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:108,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:110,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:111,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:111,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:112,1
    - Dst: LogUtils::remove_content_type_attributes
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:113,1
    - Dst: reason_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:116,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:117,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:117,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:118,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:118,1
    - Dst: HttpTransact::HeaderInfo*::server_request::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:120,1
    - Dst: HttpTransact::HeaderInfo*::server_response::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:123,1
    - Dst: HttpTransact::HeaderInfo*::cache_response::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 129
    functionName: LogAccess::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - HttpTransact::HeaderInfo*::server_response::valid
    - MIMEField*::value_get
    - reason_get
    - field_find
    - HttpTransact::HeaderInfo*::cache_response::valid
    - auto::data
    - HttpTransact::HeaderInfo*::server_request::valid
    - static_cast<int>
    - path_get
    - auto::length
    - static_cast<std::string_view>
    - HttpTransact::HeaderInfo*::client_response::valid
    - HttpTransact::HeaderInfo*::client_request::valid
    - str_alloc
    - Encoding::escapify_url
    - LogUtils::remove_content_type_attributes
    - const_cast<char *>
    - static_cast<std::string_view::size_type>
    - url_string_get_ref
    linkageType: ''
    returnType: void
    signature: void LogAccess::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:137,1
    - Dst: Machine*::host_name::c_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:138,1
    - Dst: Machine*::host_name::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:139,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:142,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: LogAccess::marshal_proxy_host_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - INK_ALIGN_DEFAULT
    - Machine*::host_name::c_str
    - Machine::instance
    - LogAccess::marshal_str
    - Machine*::host_name::length
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_host_name(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:156,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: LogAccess::marshal_proxy_host_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    - Machine::instance
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_host_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:164,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:167,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:167,1
    - Dst: getString
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:167,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: LogAccess::marshal_process_uuid
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - Machine::instance
    - const_cast<char *>
    - LogAccess::marshal_str
    - LogAccess::round_strlen
    - getString
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_process_uuid(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:179,1
    - Dst: Machine*::process_snowflake_id::get_string
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:180,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:181,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:182,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:185,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: LogAccess::marshal_process_sfid
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - INK_ALIGN_DEFAULT
    - Machine::instance
    - Machine*::process_snowflake_id::get_string
    - std::string_view::length
    - LogAccess::marshal_str
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_process_sfid(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:200,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - config_var
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: LogAccess::marshal_config_int_var
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - RecGetRecordInt
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_config_int_var(char *config_var, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:212,1
    - Dst: ats_as_c_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:213,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:214,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - config_var
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: LogAccess::marshal_config_str_var
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - LogAccess::strlen
    - LogAccess::marshal_str
    - ats_as_c_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_config_str_var(char *config_var, char *buf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:242,1
    - Dst: RecGetRecordDataType
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:258,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:259,1
    - Dst: load
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:263,1
    - Dst: int64_to_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:265,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:266,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:269,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:277,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:281,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:283,1
    - Dst: RecGetRecordCounter
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:283,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:284,1
    - Dst: int64_to_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:287,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:287,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:288,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:290,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:298,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:300,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:301,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:308,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:308,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:312,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:319,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:324,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:328,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:329,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:330,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:341,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:344,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:349,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:350,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:354,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - record
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 358
    functionName: LogAccess::marshal_record
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordDataType
    - memcpy
    - LogAccess::strlen
    - auto::value
    - load
    - const_cast<char *>
    - int64_to_str
    - RegexContext::get_instance
    - RecGetRecordCounter
    - snprintf
    - auto::has_value
    - RecGetRecordFloat
    - RecGetRecordString
    - RecGetRecordInt
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_record(char *record, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:376,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:384,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - source
    - padded_len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 390
    functionName: LogAccess::marshal_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - LogAccess::strlen
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::marshal_str(char *dest, const char *source, int padded_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: LogAccess::marshal_client_req_all_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogUtils::marshalMimeHdr
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_all_header_fields(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:415,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dest
    - source
    - actual_len
    - padded_len
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 432
    functionName: LogAccess::marshal_mem
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogAccess::marshal_mem(char *dest, const char *source, int actual_len,
      int padded_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:448,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:451,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:454,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:457,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:460,1
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:463,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:463,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:471,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - dest
    - ip
    argTypes:
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 474
    functionName: LogAccess::marshal_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ats_ip4_addr_cast
    - ats_is_ip4
    - INK_ALIGN_DEFAULT
    - ats_is_unix
    - strncpy
    - ats_unix_cast
    - ats_ip6_addr_cast
    - ats_is_ip6
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_ip(char *dest, sockaddr const *ip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<LogFieldAliasMap>::asString
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:481,1
    - Dst: reinterpret_cast<size_t *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:481,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:486,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - code
    - dest
    - len
    - map
    - msg
    argTypes:
    - int64_t
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 504
    functionName: LogAccess::unmarshal_with_map
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t *>
    - snprintf
    - Ptr<LogFieldAliasMap>::asString
    - ink_strlcpy
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_with_map(int64_t code, char *dest, int len,
      const Ptr<LogFieldAliasMap> &map, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:516,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:517,1
    - Dst: reinterpret_cast<int64_t *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: LogAccess::unmarshal_int
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<int64_t *>
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t LogAccess::unmarshal_int(char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: LogAccess::marshal_proxy_resp_all_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogUtils::marshalMimeHdr
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_all_header_fields(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:550,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - val
    - dest
    - field_width
    - leading_char
    argTypes:
    - int64_t
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 574
    functionName: LogAccess::unmarshal_itoa
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_itoa(int64_t val, char *dest, int field_width,
      char leading_char)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:588,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:593,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - val
    - dest
    - field_width
    - leading_char
    argTypes:
    - int64_t
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: LogAccess::unmarshal_itox
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_itox(int64_t val, char *dest, int field_width,
      char leading_char)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:613,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:614,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:615,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:618,1
    - Dst: LogAccess::unmarshal_itoa
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:619,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 627
    functionName: LogAccess::unmarshal_int_to_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_itoa
    - memcpy
    - LogAccess::unmarshal_int
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_int_to_str(char **buf, char *dest, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:638,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:639,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:640,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:643,1
    - Dst: LogAccess::unmarshal_itox
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:644,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 652
    functionName: LogAccess::unmarshal_int_to_str_hex
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_itox
    - memcpy
    - LogAccess::unmarshal_int
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_int_to_str_hex(char **buf, char *dest, int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: LogAccess::marshal_proxy_req_all_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogUtils::marshalMimeHdr
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_all_header_fields(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: EscLookup::result
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char result(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:701,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:702,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:703,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:704,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:705,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:706,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:707,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 709
    functionName: EscLookup::_LUT::_LUT()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void EscLookup::_LUT::_LUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nib
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: nibble
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char nibble(int nib)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EscLookup::result
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:724,1
    - Dst: __builtin_expect
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:725,1
    - Dst: nibble
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:743,1
    - Dst: nibble
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - dest
    - buf
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 760
    functionName: escape_json
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - EscLookup::result
    - nibble
    - __builtin_expect
    linkageType: ''
    returnType: int
    signature: int escape_json(char *dest, const char *buf, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:765,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:768,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:768,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:769,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:771,1
    - Dst: LogSlice*::toStrOffset
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:776,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:777,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:787,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - slice
    argTypes:
    - char**
    - char*
    - int
    - LogSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 796
    functionName: unmarshal_str_json
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - LogAccess::strlen
    - Dbg
    - escape_json
    - LogSlice*::toStrOffset
    linkageType: ''
    returnType: int
    signature: int unmarshal_str_json(char **buf, char *dest, int len, LogSlice *slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: EscLookup::result
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char result(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:701,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:702,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:703,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:704,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:705,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:706,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:707,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 709
    functionName: EscLookup::_LUT::_LUT()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void EscLookup::_LUT::_LUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nib
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: nibble
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char nibble(int nib)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EscLookup::result
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:724,1
    - Dst: __builtin_expect
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:725,1
    - Dst: nibble
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:743,1
    - Dst: nibble
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - dest
    - buf
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 760
    functionName: escape_json
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - EscLookup::result
    - nibble
    - __builtin_expect
    linkageType: ''
    returnType: int
    signature: int escape_json(char *dest, const char *buf, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:765,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:768,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:768,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:769,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:771,1
    - Dst: LogSlice*::toStrOffset
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:776,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:777,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:787,1
    - Dst: escape_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - slice
    argTypes:
    - char**
    - char*
    - int
    - LogSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 796
    functionName: unmarshal_str_json
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - LogAccess::strlen
    - Dbg
    - escape_json
    - LogSlice*::toStrOffset
    linkageType: ''
    returnType: int
    signature: int unmarshal_str_json(char **buf, char *dest, int len, LogSlice *slice)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:812,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:813,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:814,1
    - Dst: unmarshal_str_json
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:817,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:821,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:821,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:823,1
    - Dst: LogSlice*::toStrOffset
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:828,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:838,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - buf
    - dest
    - len
    - slice
    - escape_type
    argTypes:
    - char**
    - char*
    - int
    - LogSlice*
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 848
    functionName: LogAccess::unmarshal_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - LogAccess::strlen
    - unmarshal_str_json
    - LogSlice*::toStrOffset
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_str(char **buf, char *dest, int len, LogSlice
      *slice, LogEscapeType escape_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:853,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:854,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:855,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:857,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 864
    functionName: LogAccess::unmarshal_ttmsf
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - LogAccess::unmarshal_int
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_ttmsf(char **buf, char *dest, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:869,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:870,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:871,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:873,1
    - Dst: LogUtils::timestamp_to_date_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:874,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:875,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:875,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 884
    functionName: LogAccess::unmarshal_int_to_date_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - LogAccess::strlen
    - LogAccess::unmarshal_int
    - LogUtils::timestamp_to_date_str
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_int_to_date_str(char **buf, char *dest, int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:889,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:890,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:891,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:893,1
    - Dst: LogUtils::timestamp_to_time_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:894,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:895,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:895,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 904
    functionName: LogAccess::unmarshal_int_to_time_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - LogAccess::strlen
    - LogAccess::unmarshal_int
    - LogUtils::timestamp_to_time_str
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_int_to_time_str(char **buf, char *dest, int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: LogAccess::marshal_server_resp_all_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogUtils::marshalMimeHdr
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_all_header_fields(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:921,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:922,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:923,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:925,1
    - Dst: LogUtils::timestamp_to_netscape_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:926,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:927,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:927,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 936
    functionName: LogAccess::unmarshal_int_to_netscape_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - LogAccess::strlen
    - LogAccess::unmarshal_int
    - LogUtils::timestamp_to_netscape_str
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_int_to_netscape_str(char **buf, char *dest,
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogUtils::marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: LogAccess::marshal_cache_resp_all_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogUtils::marshalMimeHdr
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_all_header_fields(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:970,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:971,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:972,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:975,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:982,1
    - Dst: LogAccess::unmarshal_int_to_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:985,1
    - Dst: vb_left
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:985,1
    - Dst: LogAccess::unmarshal_int_to_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:991,1
    - Dst: vb_left
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:991,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 967
    functionDepth: 3
    functionLinenumber: 967
    functionLinenumberEnd: 1004
    functionName: LogAccess::unmarshal_http_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - vb_left
    - LogAccess::unmarshal_int_to_str
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_http_version(char **buf, char *dest, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1016,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1017,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1018,1
    - Dst: LogAccess::unmarshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1023,1
    - Dst: LogAccess::unmarshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1029,1
    - Dst: LogAccess::unmarshal_http_version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - buf
    - dest
    - len
    - slice
    - escape_type
    argTypes:
    - char**
    - char*
    - int
    - LogSlice*
    - LogEscapeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1013
    functionDepth: 4
    functionLinenumber: 1013
    functionLinenumberEnd: 1040
    functionName: LogAccess::unmarshal_http_text
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_str
    - LogAccess::unmarshal_http_version
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_http_text(char **buf, char *dest, int len,
      LogSlice *slice, LogEscapeType escape_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1053,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1054,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1055,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1058,1
    - Dst: LogAccess::unmarshal_itoa
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1059,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1066
    functionName: LogAccess::unmarshal_http_status
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_itoa
    - memcpy
    - LogAccess::unmarshal_int
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_http_status(char **buf, char *dest, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1078,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1079,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1080,1
    - Dst: reinterpret_cast<LogFieldIp *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1082,1
    - Dst: static_cast<LogFieldIp4 *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1084,1
    - Dst: ats_ip4_set
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1085,1
    - Dst: static_cast<LogFieldIp6 *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1088,1
    - Dst: ats_ip6_set
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1089,1
    - Dst: static_cast<LogFieldUn *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1092,1
    - Dst: ats_unix_set
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1093,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1096,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - dest
    argTypes:
    - char**
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1101
    functionName: LogAccess::unmarshal_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - ats_ip6_set
    - INK_ALIGN_DEFAULT
    - reinterpret_cast<LogFieldIp *>
    - ats_ip_invalidate
    - static_cast<LogFieldIp6 *>
    - static_cast<LogFieldUn *>
    - ats_unix_set
    - static_cast<LogFieldIp4 *>
    - ats_ip4_set
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_ip(char **buf, IpEndpoint *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::unmarshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1117,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1118,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1118,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1120,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1122,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1123,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1128
    functionName: LogAccess::unmarshal_ip_to_str
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - LogAccess::strlen
    - ats_is_unix
    - Dbg
    - LogAccess::unmarshal_ip
    - ats_ip_ntop
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_ip_to_str(char **buf, char *dest, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::unmarshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1144,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1145,1
    - Dst: ats_is_unix
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1145,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1147,1
    - Dst: ats_ip_to_hex
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1155
    functionName: LogAccess::unmarshal_ip_to_hex
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - ats_is_unix
    - Dbg
    - LogAccess::unmarshal_ip
    - ats_ip_to_hex
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_ip_to_hex(char **buf, char *dest, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1169,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1170,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1171,1
    - Dst: LogAccess::unmarshal_with_map
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1173,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - map
    argTypes:
    - char**
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: LogAccess::unmarshal_hierarchy
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_int
    - LogAccess::unmarshal_with_map
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_hierarchy(char **buf, char *dest, int len,
      const Ptr<LogFieldAliasMap> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1187,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1188,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1189,1
    - Dst: LogAccess::unmarshal_with_map
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1191,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - map
    argTypes:
    - char**
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    functionName: LogAccess::unmarshal_finish_status
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_int
    - LogAccess::unmarshal_with_map
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_finish_status(char **buf, char *dest, int
      len, const Ptr<LogFieldAliasMap> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1205,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1206,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1207,1
    - Dst: LogAccess::unmarshal_with_map
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1209,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - map
    argTypes:
    - char**
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1210
    functionName: LogAccess::unmarshal_cache_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_int
    - LogAccess::unmarshal_with_map
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_cache_code(char **buf, char *dest, int len,
      const Ptr<LogFieldAliasMap> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1223,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1224,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1225,1
    - Dst: LogAccess::unmarshal_with_map
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1227,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - map
    argTypes:
    - char**
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1228
    functionName: LogAccess::unmarshal_cache_hit_miss
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_int
    - LogAccess::unmarshal_with_map
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_cache_hit_miss(char **buf, char *dest, int
      len, const Ptr<LogFieldAliasMap> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1233,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1234,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1235,1
    - Dst: LogAccess::unmarshal_with_map
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1237,1
    - Dst: LogAccess::unmarshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - dest
    - len
    - map
    argTypes:
    - char**
    - char*
    - int
    - Ptr<LogFieldAliasMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: LogAccess::unmarshal_cache_write_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::unmarshal_int
    - LogAccess::unmarshal_with_map
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_cache_write_code(char **buf, char *dest, int
      len, const Ptr<LogFieldAliasMap> &map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1243,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1244,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1245,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1248,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1248,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - dest
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1256
    functionName: LogAccess::unmarshal_record
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - LogAccess::strlen
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::unmarshal_record(char **buf, char *dest, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1270,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1275,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1279,1
    - Dst: LogFormat::parse_format_string
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1287,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1294,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1295,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1296,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1297,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1300,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1301,1
    - Dst: LogFieldList::LogFieldList
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1303,1
    - Dst: LogFormat::parse_symbol_string
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1305,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1308,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1309,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1310,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1318,1
    - Dst: LogAccess*::init
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1319,1
    - Dst: LogFieldList::marshal_len
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1320,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1321,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1321,1
    - Dst: LogFieldList::marshal
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1322,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1324,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1325,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1333,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1333,1
    - Dst: LogBuffer::resolve_custom_entry
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1335,1
    - Dst: LogUtils::timestamp
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1335,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1336,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1339,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1345,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1346,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - context
    - format_str
    argTypes:
    - LogAccess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1350
    functionName: resolve_logfield_string
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogFormat::parse_symbol_string
    - ats_free
    - LogUtils::timestamp
    - Error
    - LogAccess*::init
    - ats_strdup
    - static_cast<char *>
    - Dbg
    - LogFormat::parse_format_string
    - LogFieldList::marshal
    - ats_malloc
    - LogFieldList::marshal_len
    - LogFieldList::LogFieldList
    - LogBuffer::resolve_custom_entry
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      resolve_logfield_string(LogAccess *context, const char *format_str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1355,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1358
    functionName: LogAccess::set_client_req_url
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - min
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_url(char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1364,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1367
    functionName: LogAccess::set_client_req_url_canon
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - min
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_url_canon(char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1374,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1377
    functionName: LogAccess::set_client_req_unmapped_url_canon
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - min
    - memcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_unmapped_url_canon(char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1383,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1386
    functionName: LogAccess::set_client_req_unmapped_url_path
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - min
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_unmapped_url_path(char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1392,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1395
    functionName: LogAccess::set_client_req_unmapped_url_host
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - min
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_unmapped_url_host(char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::set_client_req_unmapped_url_path
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1402
    functionName: LogAccess::set_client_req_url_path
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::set_client_req_unmapped_url_path
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_client_req_url_path(char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1421
    functionName: LogAccess::marshal_plugin_identity_id
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_plugin_identity_id(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1432,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1440
    functionName: LogAccess::marshal_plugin_identity_tag
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_plugin_identity_tag(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1446
    functionName: LogAccess::marshal_client_host_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_host_ip(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1452
    functionName: LogAccess::marshal_host_interface_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_host_interface_ip(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::validate_lookup_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1461,1
    - Dst: LogAccess::marshal_client_req_url_canon
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1464,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1466,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1473
    functionName: LogAccess::marshal_cache_lookup_url_canon
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::validate_lookup_url
    - LogAccess::marshal_client_req_url_canon
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_lookup_url_canon(char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_ua_txn
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1486,1
    - Dst: auto::get_proxy_ssn
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1488,1
    - Dst: auto::ssl
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1490,1
    - Dst: auto::client_sni_server_name
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1492,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1500,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1500,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1502,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1477
    functionDepth: 2
    functionLinenumber: 1477
    functionLinenumberEnd: 1505
    functionName: LogAccess::marshal_client_sni_server_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - auto::get_proxy_ssn
    - auto::client_sni_server_name
    - std::string_view::length
    - LogAccess::marshal_str
    - LogAccess::round_strlen
    - get_ua_txn
    - auto::ssl
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_sni_server_name(char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ua_txn
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1514,1
    - Dst: auto::get_proxy_ssn
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1516,1
    - Dst: auto::ssl
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1518,1
    - Dst: auto::client_provided_certificate
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1520,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1529
    functionName: LogAccess::marshal_client_provided_cert
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - auto::get_proxy_ssn
    - get_ua_txn
    - auto::ssl
    - LogAccess::marshal_int
    - auto::client_provided_certificate
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_provided_cert(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1544
    functionName: LogAccess::marshal_proxy_provided_cert
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_provided_cert(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1551,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1552,1
    - Dst: auto::build_number
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1552,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1554,1
    - Dst: auto::build_number
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1548
    functionDepth: 2
    functionLinenumber: 1548
    functionLinenumberEnd: 1557
    functionName: LogAccess::marshal_version_build_number
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_str
    - auto::build_number
    - LogAccess::strlen
    - ProxySession::get_version
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_version_build_number(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::get_version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1565,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1566,1
    - Dst: auto::version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1566,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1568,1
    - Dst: auto::version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1571
    functionName: LogAccess::marshal_version_string
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - auto::version
    - LogAccess::marshal_str
    - LogAccess::strlen
    - ProxySession::get_version
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_version_string(char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1596,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1576
    functionDepth: 2
    functionLinenumber: 1576
    functionLinenumberEnd: 1603
    functionName: LogAccess::marshal_proxy_protocol_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_protocol_version(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1615
    functionName: LogAccess::marshal_proxy_protocol_src_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_protocol_src_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1627
    functionName: LogAccess::marshal_proxy_protocol_dst_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_protocol_dst_ip(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t_state::pp_info::get_tlv
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1633,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1634,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1634,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1635,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 1640
    functionName: LogAccess::marshal_proxy_protocol_authority
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::size
    - LogAccess::marshal_str
    - t_state::pp_info::get_tlv
    - auto::data
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_protocol_authority(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::client_info::src_addr::host_order_port
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1648,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1652
    functionName: LogAccess::marshal_client_host_port
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - t_state::client_info::src_addr::host_order_port
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_host_port(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1658
    functionDepth: 2
    functionLinenumber: 1658
    functionLinenumberEnd: 1675
    functionName: LogAccess::marshal_client_auth_user_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_auth_user_name(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t_state::unmapped_url::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1689,1
    - Dst: t_state::unmapped_url::string_get_ref
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1691,1
    - Dst: Encoding::escapify_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1699
    functionName: LogAccess::validate_unmapped_url
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - Encoding::escapify_url
    - t_state::unmapped_url::valid
    - t_state::unmapped_url::string_get_ref
    linkageType: ''
    returnType: void
    signature: void LogAccess::validate_unmapped_url()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1719,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1719,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1721,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1728,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1729,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1730,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1738
    functionName: LogAccess::validate_unmapped_url_path
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memchr
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void LogAccess::validate_unmapped_url_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t_state::cache_info::lookup_url_storage::valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1751,1
    - Dst: t_state::cache_info::lookup_url_storage::string_get_ref
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1753,1
    - Dst: Encoding::escapify_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1744
    functionDepth: 3
    functionLinenumber: 1744
    functionLinenumberEnd: 1760
    functionName: LogAccess::validate_lookup_url
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - t_state::cache_info::lookup_url_storage::valid
    - t_state::cache_info::lookup_url_storage::string_get_ref
    - Encoding::escapify_url
    linkageType: ''
    returnType: void
    signature: void LogAccess::validate_lookup_url()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_client_req_http_method
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1770,1
    - Dst: LogAccess::marshal_client_req_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1770,1
    - Dst: LogAccess::marshal_client_req_http_version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1770,1
    - Dst: LogAccess::marshal_client_req_http_method
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1774,1
    - Dst: LogAccess::marshal_client_req_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1775,1
    - Dst: LogAccess::marshal_client_req_http_version
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1780
    functionName: LogAccess::marshal_client_req_text
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_client_req_http_version
    - LogAccess::marshal_client_req_url
    - LogAccess::marshal_client_req_http_method
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_text(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_milestone_fmt_sec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1789
    functionName: LogAccess::marshal_client_req_timestamp_sec
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_milestone_fmt_sec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_timestamp_sec(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_milestone_fmt_ms
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1798
    functionName: LogAccess::marshal_client_req_timestamp_ms
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_milestone_fmt_ms
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_timestamp_ms(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: method_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1810,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1817,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1818,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1818,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1818,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1823,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1823,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1823,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1826
    functionName: LogAccess::marshal_client_req_http_method
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::string_view::length
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    - std::string_view::empty
    - method_get
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_http_method(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1834,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1831
    functionDepth: 2
    functionLinenumber: 1831
    functionLinenumberEnd: 1840
    functionName: LogAccess::marshal_client_req_url
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_url(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1848,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1854
    functionName: LogAccess::marshal_client_req_url_canon
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_url_canon(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::validate_unmapped_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1864,1
    - Dst: LogAccess::marshal_client_req_url_canon
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1869,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1871,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1859
    functionDepth: 4
    functionLinenumber: 1859
    functionLinenumberEnd: 1878
    functionName: LogAccess::marshal_client_req_unmapped_url_canon
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::validate_unmapped_url
    - LogAccess::marshal_client_req_url_canon
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_unmapped_url_canon(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::validate_unmapped_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1888,1
    - Dst: LogAccess::validate_unmapped_url_path
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1889,1
    - Dst: LogAccess::marshal_client_req_url_path
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1892,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1894,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1883
    functionDepth: 4
    functionLinenumber: 1883
    functionLinenumberEnd: 1900
    functionName: LogAccess::marshal_client_req_unmapped_url_path
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::validate_unmapped_url
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    - LogAccess::validate_unmapped_url_path
    - LogAccess::marshal_client_req_url_path
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_unmapped_url_path(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::validate_unmapped_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1908,1
    - Dst: LogAccess::validate_unmapped_url_path
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1909,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1911,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1905
    functionDepth: 4
    functionLinenumber: 1905
    functionLinenumberEnd: 1917
    functionName: LogAccess::marshal_client_req_unmapped_url_host
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::validate_unmapped_url
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    - LogAccess::validate_unmapped_url_path
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_unmapped_url_host(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1922,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1919
    functionDepth: 2
    functionLinenumber: 1919
    functionLinenumberEnd: 1927
    functionName: LogAccess::marshal_client_req_url_path
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_url_path(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1939,1
    - Dst: hdrtoken_index_to_length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1940,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1943,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1952,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1929
    functionDepth: 2
    functionLinenumber: 1929
    functionLinenumberEnd: 1960
    functionName: LogAccess::marshal_client_req_url_scheme
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogAccess::marshal_mem
    - hdrtoken_index_to_length
    - hdrtoken_index_to_wks
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_url_scheme(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1972,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1973,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1973,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1974,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1974,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1976,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1981
    functionName: LogAccess::marshal_client_req_http_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_int
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    - version_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_http_version(char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1989,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1990,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1993,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1993,1
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:1995,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2005,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2009,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1986
    functionDepth: 2
    functionLinenumber: 1986
    functionLinenumberEnd: 2013
    functionName: LogAccess::marshal_client_req_protocol_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - version_get
    - LogAccess::marshal_str
    - get_user_agent
    - strncmp
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_protocol_version(char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2022,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2025,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2025,1
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2027,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2037,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2018
    functionDepth: 2
    functionLinenumber: 2018
    functionLinenumberEnd: 2045
    functionName: LogAccess::marshal_server_req_protocol_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - LogAccess::strlen
    - LogAccess::marshal_str
    - version_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_req_protocol_version(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2056,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2061
    functionName: LogAccess::marshal_client_req_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_header_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2077
    functionName: LogAccess::marshal_client_req_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_content_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2085,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2090
    functionName: LogAccess::marshal_client_req_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_squid_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2099,1
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: LogAccess::marshal_client_req_tcp_reused
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_tcp_reused(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2108,1
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2111
    functionName: LogAccess::marshal_client_req_is_ssl
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_is_ssl(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2117,1
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2120
    functionName: LogAccess::marshal_client_req_ssl_reused
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_ssl_reused(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2129
    functionName: LogAccess::marshal_client_req_is_internal
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_is_internal(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mptcp_state::has_value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2137,1
    - Dst: mptcp_state::value
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2138,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2144
    functionName: LogAccess::marshal_client_req_mptcp_state
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - mptcp_state::has_value
    - LogAccess::marshal_int
    - mptcp_state::value
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_mptcp_state(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2167
    functionName: LogAccess::marshal_client_finish_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_finish_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2179
    functionName: LogAccess::marshal_client_req_id
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_id(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2188,1
    - Dst: getString
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2188,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2189,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2191,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2192,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2184
    functionDepth: 2
    functionLinenumber: 2184
    functionLinenumberEnd: 2199
    functionName: LogAccess::marshal_client_req_uuid
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - Machine::instance
    - LogAccess::marshal_str
    - LogAccess::round_strlen
    - snprintf
    - getString
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_req_uuid(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::client_info::rx_error_code::str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2211,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2212,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2207
    functionDepth: 2
    functionLinenumber: 2207
    functionLinenumberEnd: 2219
    functionName: LogAccess::marshal_client_rx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - t_state::client_info::rx_error_code::str
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_rx_error_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::client_info::tx_error_code::str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2225,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2226,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2221
    functionDepth: 2
    functionLinenumber: 2221
    functionLinenumberEnd: 2233
    functionName: LogAccess::marshal_client_tx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogAccess::marshal_str
    - t_state::client_info::tx_error_code::str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_tx_error_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2240,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2241,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2248
    functionName: LogAccess::marshal_client_security_protocol
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_security_protocol(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2253,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2254,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2250
    functionDepth: 2
    functionLinenumber: 2250
    functionLinenumberEnd: 2261
    functionName: LogAccess::marshal_client_security_cipher_suite
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_security_cipher_suite(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2266,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2267,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2274
    functionName: LogAccess::marshal_client_security_curve
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_security_curve(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2279,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2280,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2276
    functionDepth: 2
    functionLinenumber: 2276
    functionLinenumberEnd: 2287
    functionName: LogAccess::marshal_client_security_group
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - get_user_agent
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_security_group(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_user_agent
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2293,1
    - Dst: nameFor
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2294,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2295,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2298,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2305
    functionName: LogAccess::marshal_client_security_alpn
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - LogAccess::strlen
    - LogAccess::marshal_str
    - get_user_agent
    - nameFor
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_security_alpn(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2313,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2310
    functionDepth: 2
    functionLinenumber: 2310
    functionLinenumberEnd: 2318
    functionName: LogAccess::marshal_proxy_resp_content_type
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_content_type(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2326,1
    - Dst: LogAccess::marshal_mem
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2323
    functionDepth: 2
    functionLinenumber: 2323
    functionLinenumberEnd: 2331
    functionName: LogAccess::marshal_proxy_resp_reason_phrase
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_mem
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_reason_phrase(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2345
    functionName: LogAccess::marshal_proxy_resp_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_squid_len(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2358
    functionName: LogAccess::marshal_proxy_resp_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_content_len(char *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2369,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2369,1
    - Dst: status_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2370,1
    - Dst: valid
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2375,1
    - Dst: status_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2376,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2383,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2386
    functionName: LogAccess::marshal_proxy_resp_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - status_get
    - version_get
    - valid
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2399
    functionName: LogAccess::marshal_proxy_resp_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_resp_header_len(char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2430
    functionName: LogAccess::marshal_proxy_finish_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_finish_status_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2442
    functionName: LogAccess::marshal_proxy_host_port
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_host_port(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2452,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2455
    functionName: LogAccess::marshal_cache_result_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_result_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2465,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2468
    functionName: LogAccess::marshal_cache_result_subcode
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_result_subcode(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2478,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2481
    functionName: LogAccess::marshal_cache_hit_miss
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_hit_miss(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2492,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2497
    functionName: LogAccess::marshal_proxy_req_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_header_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2502
    functionDepth: 1
    functionLinenumber: 2502
    functionLinenumberEnd: 2513
    functionName: LogAccess::marshal_proxy_req_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_content_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2521,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2526
    functionName: LogAccess::marshal_proxy_req_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_squid_len(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2529
    functionDepth: 2
    functionLinenumber: 2529
    functionLinenumberEnd: 2533
    functionName: LogAccess::marshal_proxy_req_server_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_server_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::current::server::src_addr::host_order_port
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2540,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2544
    functionName: LogAccess::marshal_proxy_req_server_port
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - t_state::current::server::src_addr::host_order_port
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_server_port(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2550
    functionName: LogAccess::marshal_next_hop_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_next_hop_ip(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::current::server::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2557,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2561
    functionName: LogAccess::marshal_next_hop_port
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - t_state::current::server::dst_addr::host_order_port
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_next_hop_port(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2566
    functionDepth: 1
    functionLinenumber: 2566
    functionLinenumberEnd: 2575
    functionName: LogAccess::marshal_proxy_req_is_ssl
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_is_ssl(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2584
    functionName: LogAccess::marshal_proxy_req_ssl_reused
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_req_ssl_reused(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2594,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2597
    functionName: LogAccess::marshal_proxy_hierarchy_route
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_proxy_hierarchy_route(char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2608,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2611,1
    - Dst: LogAccess::marshal_ip
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2603
    functionDepth: 2
    functionLinenumber: 2603
    functionLinenumberEnd: 2619
    functionName: LogAccess::marshal_server_host_ip
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_ip
    - ats_is_ip
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_host_ip(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2632,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2624
    functionDepth: 2
    functionLinenumber: 2624
    functionLinenumberEnd: 2639
    functionName: LogAccess::marshal_server_host_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::strlen
    - LogAccess::marshal_str
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_host_name(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2650,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2654,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2644
    functionDepth: 1
    functionLinenumber: 2644
    functionLinenumberEnd: 2657
    functionName: LogAccess::marshal_server_resp_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - status_get
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_status_code(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2662
    functionDepth: 1
    functionLinenumber: 2662
    functionLinenumberEnd: 2673
    functionName: LogAccess::marshal_server_resp_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_content_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2684,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2689
    functionName: LogAccess::marshal_server_resp_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_header_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2697,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2702
    functionName: LogAccess::marshal_server_resp_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_squid_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2711,1
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2712,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2714,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2704
    functionDepth: 1
    functionLinenumber: 2704
    functionLinenumberEnd: 2718
    functionName: LogAccess::marshal_server_resp_http_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - version_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_http_version(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2726,1
    - Dst: milestones::difference_msec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2729
    functionName: LogAccess::marshal_server_resp_time_ms
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - milestones::difference_msec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_time_ms(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2735,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2736,1
    - Dst: milestones::difference_sec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2731
    functionDepth: 1
    functionLinenumber: 2731
    functionLinenumberEnd: 2739
    functionName: LogAccess::marshal_server_resp_time_s
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - milestones::difference_sec
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_resp_time_s(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2753
    functionName: LogAccess::marshal_server_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_transact_count(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2766
    functionName: LogAccess::marshal_server_simple_retry_count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_simple_retry_count(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2779
    functionName: LogAccess::marshal_server_unavailable_retry_count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_unavailable_retry_count(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t_state::current::retry_attempts::saved
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2788,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2792
    functionName: LogAccess::marshal_server_connect_attempts
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - t_state::current::retry_attempts::saved
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_server_connect_attempts(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2803,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2807,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2810
    functionName: LogAccess::marshal_cache_resp_status_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - status_get
    - LogAccess::marshal_int
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_status_code(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2826
    functionName: LogAccess::marshal_cache_resp_content_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_content_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2834,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2828
    functionDepth: 1
    functionLinenumber: 2828
    functionLinenumberEnd: 2839
    functionName: LogAccess::marshal_cache_resp_squid_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - length_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_squid_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2855
    functionName: LogAccess::marshal_cache_resp_header_len
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_header_len(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2864,1
    - Dst: version_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2865,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2867,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2857
    functionDepth: 1
    functionLinenumber: 2857
    functionLinenumberEnd: 2871
    functionName: LogAccess::marshal_cache_resp_http_version
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - version_get
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_resp_http_version(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2881
    functionName: LogAccess::marshal_client_retry_after_time
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_retry_after_time(char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - t
    argTypes:
    - HttpTransact::CacheWriteStatus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2914
    functionName: convert_cache_write_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: LogCacheWriteCodeType
    signature: LogCacheWriteCodeType convert_cache_write_code(HttpTransact::CacheWriteStatus_t
      t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_cache_write_code
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2920,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2916
    functionDepth: 2
    functionLinenumber: 2916
    functionLinenumberEnd: 2925
    functionName: LogAccess::marshal_cache_write_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - convert_cache_write_code
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_write_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_cache_write_code
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2931,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2927
    functionDepth: 2
    functionLinenumber: 2927
    functionLinenumberEnd: 2936
    functionName: LogAccess::marshal_cache_write_transform_code
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - convert_cache_write_code
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_write_transform_code(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2945,1
    - Dst: milestones::difference_msec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2948
    functionName: LogAccess::marshal_transfer_time_ms
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - milestones::difference_msec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_transfer_time_ms(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2954,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2954,1
    - Dst: milestones::difference_sec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2950
    functionDepth: 1
    functionLinenumber: 2950
    functionLinenumberEnd: 2957
    functionName: LogAccess::marshal_transfer_time_s
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - milestones::difference_sec
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_transfer_time_s(char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2970,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2970,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2971,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2972,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2973,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2973,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2974,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2974,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2977,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2978,1
    - Dst: ink_atoi64
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2978,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2983,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:2985,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2963
    functionDepth: 2
    functionLinenumber: 2963
    functionLinenumberEnd: 2992
    functionName: LogAccess::marshal_file_size
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - auto::length
    - static_cast<std::string_view>
    - const_cast<char *>
    - static_cast<char *>
    - MIMEField*::value_get
    - memchr
    - auto::data
    - LogAccess::marshal_int
    - ink_atoi64
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_file_size(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_connection_id
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3003,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2997
    functionDepth: 1
    functionLinenumber: 2997
    functionLinenumberEnd: 3008
    functionName: LogAccess::marshal_client_http_connection_id
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - client_connection_id
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_http_connection_id(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_transaction_id
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3019,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3013
    functionDepth: 1
    functionLinenumber: 3013
    functionLinenumberEnd: 3024
    functionName: LogAccess::marshal_client_http_transaction_id
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - client_transaction_id
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_http_transaction_id(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_transaction_priority_weight
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3035,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3029
    functionDepth: 1
    functionLinenumber: 3029
    functionLinenumberEnd: 3040
    functionName: LogAccess::marshal_client_http_transaction_priority_weight
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - client_transaction_priority_weight
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_http_transaction_priority_weight(char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_transaction_priority_dependence
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3051,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3045
    functionDepth: 1
    functionLinenumber: 3045
    functionLinenumberEnd: 3056
    functionName: LogAccess::marshal_client_http_transaction_priority_dependence
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - client_transaction_priority_dependence
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_client_http_transaction_priority_dependence(char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_cache_sm
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3067,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3072
    functionName: LogAccess::marshal_cache_read_retries
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - get_cache_sm
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_read_retries(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_cache_sm
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3083,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3077
    functionDepth: 1
    functionLinenumber: 3077
    functionLinenumberEnd: 3088
    functionName: LogAccess::marshal_cache_write_retries
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - get_cache_sm
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_write_retries(char *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cache_sm
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3099,1
    - Dst: get_cache_sm
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3104,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3090
    functionDepth: 1
    functionLinenumber: 3090
    functionLinenumberEnd: 3113
    functionName: LogAccess::marshal_cache_collapsed_connection_success
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - get_cache_sm
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_cache_collapsed_connection_success(char *buf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3153,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3162,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3163,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3164,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3164,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3166,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3177,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3192,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - container
    - field
    - buf
    argTypes:
    - LogField::Container
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3117
    functionDepth: 2
    functionLinenumber: 3117
    functionLinenumberEnd: 3218
    functionName: LogAccess::marshal_http_header_field
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::length
    - const_cast<char *>
    - LogAccess::marshal_str
    - LogAccess::round_strlen
    - MIMEField*::value_get
    - auto::data
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_http_header_field(LogField::Container container,
      char *field, char *buf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3256,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3265,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3266,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3267,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3267,1
    - Dst: Encoding::escapify_url
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3268,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3270,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3282,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3297,1
    - Dst: LogAccess::marshal_str
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3318,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - container
    - field
    - buf
    argTypes:
    - LogField::Container
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3220
    functionDepth: 3
    functionLinenumber: 3220
    functionLinenumberEnd: 3323
    functionName: LogAccess::marshal_http_header_field_escapify
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - Encoding::escapify_url
    - memcpy
    - auto::length
    - const_cast<char *>
    - LogAccess::marshal_str
    - LogAccess::round_strlen
    - MIMEField*::value_get
    - auto::data
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_http_header_field_escapify(LogField::Container
      container, char *field, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3329,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ms
    - buf
    argTypes:
    - TSMilestonesType
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3333
    functionName: LogAccess::marshal_milestone
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_milestone(TSMilestonesType ms, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3339,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - buf
    argTypes:
    - TSMilestonesType
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3335
    functionDepth: 1
    functionLinenumber: 3335
    functionLinenumberEnd: 3343
    functionName: LogAccess::marshal_milestone_fmt_sec
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_int
    - ink_hrtime_to_sec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_milestone_fmt_sec(TSMilestonesType type, char
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3349,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - buf
    argTypes:
    - TSMilestonesType
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3345
    functionDepth: 1
    functionLinenumber: 3345
    functionLinenumberEnd: 3353
    functionName: LogAccess::marshal_milestone_fmt_ms
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 1
    functionsReached:
    - LogAccess::marshal_int
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_milestone_fmt_ms(TSMilestonesType type, char
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: milestones::difference_msec
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3359,1
    - Dst: LogAccess::marshal_int
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ms1
    - ms2
    - buf
    argTypes:
    - TSMilestonesType
    - TSMilestonesType
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3363
    functionName: LogAccess::marshal_milestone_diff
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - LogAccess::marshal_int
    - milestones::difference_msec
    linkageType: ''
    returnType: int
    signature: int LogAccess::marshal_milestone_diff(TSMilestonesType ms1, TSMilestonesType
      ms2, char *buf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3402,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3410,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/logging/LogAccess.cc:3410,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - container
    - field
    - buf
    - len
    argTypes:
    - LogField::Container
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3415
    functionName: LogAccess::set_http_header_field
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogAccess.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void LogAccess::set_http_header_field(LogField::Container container,
      char *field, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    - Dst: static_cast<LogFieldAliasMap *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    - Dst: Ptr<LogFieldAliasTable>::get
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - Ptr<LogFieldAliasTable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: make_alias_map
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - make_ptr
    - static_cast<LogFieldAliasMap *>
    - Ptr<LogFieldAliasTable>::get
    linkageType: ''
    returnType: Ptr<LogFieldAliasMap>
    signature: Ptr<LogFieldAliasMap> make_alias_map(Ptr<LogFieldAliasTable> &table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    - Dst: static_cast<LogFieldAliasMap *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    - Dst: Ptr<LogFieldAliasTable>::get
      Src: /src/trafficserver/src/proxy/logging/Log.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - Ptr<LogFieldAliasTable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: make_alias_map
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - make_ptr
    - static_cast<LogFieldAliasMap *>
    - Ptr<LogFieldAliasTable>::get
    linkageType: ''
    returnType: Ptr<LogFieldAliasMap>
    signature: Ptr<LogFieldAliasMap> make_alias_map(Ptr<LogFieldAliasTable> &table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:117,1
    - Dst: LogConfig::LogConfig
      Src: /src/trafficserver/src/proxy/logging/Log.cc:119,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:120,1
    - Dst: LogConfig*::read_configuration_variables
      Src: /src/trafficserver/src/proxy/logging/Log.cc:121,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/logging/Log.cc:126,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:127,1
    - Dst: LogConfig*::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:129,1
    - Dst: ink_atomic_swap
      Src: /src/trafficserver/src/proxy/logging/Log.cc:132,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/logging/Log.cc:140,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:141,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/logging/Log.cc:146,1
    - Dst: LogConfig*::log_object_manager::flush_all_objects
      Src: /src/trafficserver/src/proxy/logging/Log.cc:150,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 153
    functionName: Log::change_configuration
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - LogConfig*::read_configuration_variables
    - LogConfig::LogConfig
    - LogConfig*::init
    - Dbg
    - ink_mutex_release
    - set
    - ink_mutex_acquire
    - LogConfig*::log_object_manager::flush_all_objects
    - ink_atomic_swap
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Log::change_configuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/Log.cc:187,1
    - Dst: signal
      Src: /src/trafficserver/src/proxy/logging/Log.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: wakeup
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: int
    signature: int wakeup(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/logging/Log.cc:196,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/logging/Log.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - preproc_threads
    - flush_threads
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: PeriodicWakeup
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void PeriodicWakeup(int preproc_threads, int flush_threads)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:215,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/Log.cc:219,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/Log.cc:223,1
    - Dst: static_cast<LoggingMode>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:227,1
    - Dst: Log::change_configuration
      Src: /src/trafficserver/src/proxy/logging/Log.cc:234,1
    - Dst: has_api_objects
      Src: /src/trafficserver/src/proxy/logging/Log.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:237,1
    - Dst: space_is_short
      Src: /src/trafficserver/src/proxy/logging/Log.cc:241,1
    - Dst: update_space_used
      Src: /src/trafficserver/src/proxy/logging/Log.cc:242,1
    - Dst: log_object_manager::check_buffer_expiration
      Src: /src/trafficserver/src/proxy/logging/Log.cc:247,1
    - Dst: roll_files
      Src: /src/trafficserver/src/proxy/logging/Log.cc:254,1
    - Dst: log_object_manager::roll_files
      Src: /src/trafficserver/src/proxy/logging/Log.cc:256,1
    - Dst: roll_files
      Src: /src/trafficserver/src/proxy/logging/Log.cc:260,1
    - Dst: log_object_manager::roll_files
      Src: /src/trafficserver/src/proxy/logging/Log.cc:262,1
    - Dst: log_object_manager::reopen_moved_log_files
      Src: /src/trafficserver/src/proxy/logging/Log.cc:265,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - time_now
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 269
    functionName: Log::periodic_tasks
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - Warning
    - update_space_used
    - has_api_objects
    - Log::change_configuration
    - Dbg
    - log_object_manager::roll_files
    - log_object_manager::check_buffer_expiration
    - static_cast<LoggingMode>
    - log_object_manager::reopen_moved_log_files
    - space_is_short
    - RecGetRecordInt
    - roll_files
    linkageType: ''
    returnType: void
    signature: void Log::periodic_tasks(long time_now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log::preproc_thread_main
      Src: /src/trafficserver/src/proxy/logging/Log.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 3
    functionsReached:
    - Log::preproc_thread_main
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event ATS_UNUSED */, void * /* data ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/logging/Log.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: LoggingPreprocContinuation
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void LoggingPreprocContinuation(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log::flush_thread_main
      Src: /src/trafficserver/src/proxy/logging/Log.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 3
    functionsReached:
    - Log::flush_thread_main
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event ATS_UNUSED */, void * /* data ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/logging/Log.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: LoggingFlushContinuation
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void LoggingFlushContinuation(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogField::init_milestone_container
      Src: /src/trafficserver/src/proxy/logging/Log.cc:329,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:332,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:333,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:334,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:337,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:338,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:339,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:342,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:343,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:344,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:349,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:350,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:351,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:353,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:355,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:356,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:358,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:360,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:361,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:363,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:365,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:366,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:368,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:370,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:371,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:373,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:375,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:376,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:378,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:380,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:381,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:383,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:385,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:386,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:388,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:390,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:391,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:393,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:395,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:396,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:398,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:400,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:401,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:403,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:405,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:406,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:408,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:410,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:411,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:413,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:415,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:416,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:418,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:420,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:421,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:423,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:425,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:426,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:429,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:431,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:432,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:434,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:436,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:437,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:439,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:441,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:442,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:444,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:446,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:447,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:449,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:451,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:452,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:454,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:456,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:457,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:459,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:461,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:462,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:464,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:466,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:467,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:469,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:471,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:472,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:474,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:476,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:477,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:479,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:481,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:482,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:484,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:486,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:487,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:489,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:491,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:492,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:494,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:496,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:497,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:499,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:501,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:502,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:504,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:505,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:506,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:509,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:510,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:511,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:513,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:515,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:516,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:518,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:520,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:521,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:523,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:525,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:526,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:528,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:530,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:531,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:533,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:535,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:536,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:538,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:540,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:541,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:543,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:545,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:546,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:548,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:550,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:551,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:554,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:555,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:556,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:559,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:560,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:561,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:564,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:565,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:566,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:568,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:568,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:569,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:572,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:571,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:573,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:574,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:577,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:578,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:579,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:582,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:583,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:584,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:586,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:588,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:589,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:591,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:593,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:594,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:596,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:598,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:599,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:602,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:604,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:605,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:607,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:609,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:610,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:612,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:614,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:615,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:617,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:619,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:620,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:622,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:624,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:625,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:627,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:629,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:630,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:632,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:634,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:635,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:638,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:637,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:639,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:640,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:642,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:642,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:643,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:667,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:667,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:668,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:670,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:670,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:671,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:685,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:684,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:686,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:687,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:691,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:690,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:692,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:693,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:696,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:695,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:697,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:698,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:700,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:702,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:703,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:706,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:708,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:709,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:711,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:713,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:714,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:716,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:718,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:719,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:721,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:723,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:724,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:726,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:728,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:729,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:731,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:732,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:733,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:735,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:736,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:737,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:739,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:739,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:740,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:764,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:763,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:765,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:766,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:768,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:769,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:770,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:772,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:773,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:774,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:777,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:778,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:779,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:781,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:783,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:784,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:786,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:788,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:789,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:791,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:793,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:794,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:797,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:799,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:800,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:803,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:804,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:805,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:807,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:809,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:810,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:812,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:814,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:815,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:817,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:819,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:820,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:822,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:824,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:825,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:827,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:829,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:830,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:832,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:834,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:835,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:837,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:839,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:840,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:842,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:844,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:845,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:847,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:849,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:850,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:852,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:854,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:855,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:857,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:859,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:860,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:862,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:864,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:865,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:867,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:869,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:870,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:872,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:874,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:875,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:877,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:879,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:880,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:882,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:884,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:885,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:887,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:889,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:890,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:892,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:894,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:895,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:897,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:899,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:900,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:902,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:904,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:905,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:907,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:909,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:910,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/logging/Log.cc:914,1
    - Dst: LogFieldAliasTable::LogFieldAliasTable
      Src: /src/trafficserver/src/proxy/logging/Log.cc:914,1
    - Dst: Ptr::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:915,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:918,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:917,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:919,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:920,1
    - Dst: make_alias_map
      Src: /src/trafficserver/src/proxy/logging/Log.cc:923,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:922,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:924,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:925,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:929,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:931,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:932,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:934,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:936,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:937,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:939,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:941,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:942,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:945,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:946,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:947,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:949,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:950,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:951,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:953,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:955,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:956,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:958,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:960,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:961,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:963,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:965,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:966,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:968,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:970,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:971,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:973,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:975,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:976,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:978,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:980,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:981,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:983,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:985,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:986,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:988,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:990,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:991,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:993,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:995,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:996,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:998,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1000,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1001,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1003,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1005,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1006,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1008,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1010,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1011,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1013,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1014,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 378
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 1018
    functionName: Log::init_fields
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - make_alias_map
    - LogField::init_milestone_container
    - Ptr::init
    - make_ptr
    - emplace
    - LogField::LogField
    - LogFieldAliasTable::LogFieldAliasTable
    - add
    linkageType: ''
    returnType: void
    signature: void Log::init_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1032
    functionName: Log::handle_logging_mode_change
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: "int Log::handle_logging_mode_change(const char * /* name ATS_UNUSED
      */, RecDataT /* data_type ATS_UNUSED */,\n                                RecData
      /* data ATS_UNUSED */, void * /* cookie ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1038,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1041,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1044,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - RecData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1048
    functionName: Log::handle_periodic_tasks_int_change
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - static_cast<uint32_t>
    - Error
    linkageType: ''
    returnType: int
    signature: "int Log::handle_periodic_tasks_int_change(const char * /* name ATS_UNUSED
      */, RecDataT /* data_type ATS_UNUSED */, RecData data,\n                                      void
      * /* cookie ATS_UNSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1056
    functionName: Log::handle_log_rotation_request
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 2
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: int Log::handle_log_rotation_request()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogConfig::LogConfig
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1068,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1069,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1071,1
    - Dst: LogConfig::register_stat_callbacks
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1078,1
    - Dst: read_configuration_variables
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1080,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1084,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1087,1
    - Dst: static_cast<LoggingMode>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1091,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1095,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1097,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1098,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1101,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1104,1
    - Dst: Log::init_fields
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1107,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1111,1
    - Dst: Log::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1112,1
    - Dst: Log::init_when_enabled
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1115
    functionName: Log::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 6
    functionsReached:
    - LogConfig::register_stat_callbacks
    - Warning
    - read_configuration_variables
    - RecRegisterConfigUpdateCb
    - Log::init_fields
    - LogConfig::LogConfig
    - Error
    - Note
    - Dbg
    - Log::init
    - Log::init_when_enabled
    - static_cast<uint32_t>
    - set
    - static_cast<LoggingMode>
    - RecGetRecordInt
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Log::init(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1121,1
    - Dst: LogConfig::register_config_callbacks
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1124,1
    - Dst: Log::create_threads
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1127,1
    - Dst: schedule_every
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1128,1
    - Dst: PeriodicWakeup::PeriodicWakeup
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1128,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1133,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1134,1
    - Dst: display
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1137
    functionName: Log::init_when_enabled
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - Log::create_threads
    - 'on'
    - schedule_every
    - display
    - LogConfig::register_config_callbacks
    - PeriodicWakeup::PeriodicWakeup
    - Note
    linkageType: ''
    returnType: void
    signature: void Log::init_when_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EventNotify::EventNotify
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1143,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1146,1
    - Dst: LoggingPreprocContinuation::LoggingPreprocContinuation
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1153,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1154,1
    - Dst: spawn_thread
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1155,1
    - Dst: EventNotify::EventNotify
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1162,1
    - Dst: InkAtomicList::InkAtomicList
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1163,1
    - Dst: ink_atomiclist_init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1165,1
    - Dst: LoggingFlushContinuation::LoggingFlushContinuation
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1166,1
    - Dst: spawn_thread
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1168
    functionName: Log::create_threads
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - LoggingFlushContinuation::LoggingFlushContinuation
    - ink_atomiclist_init
    - LoggingPreprocContinuation::LoggingPreprocContinuation
    - spawn_thread
    - snprintf
    - EventNotify::EventNotify
    - InkAtomicList::InkAtomicList
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void Log::create_threads()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Log::transaction_logging_enabled
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1182,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1186,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1187,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1198,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1199,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1203,1
    - Dst: log_object_manager::get_num_objects
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1208,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1209,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1210,1
    - Dst: LogAccess*::init
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1216,1
    - Dst: log_object_manager::log
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1221
    functionName: Log::access
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - log_object_manager::log
    - log_object_manager::get_num_objects
    - Log::transaction_logging_enabled
    - LogAccess*::init
    - Dbg
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Log::access(LogAccess *lad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1236,1
    - Dst: Log::va_error
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1237,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1241
    functionName: Log::error
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 0
    functionsReached:
    - Log::va_error
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int Log::error(const char *format, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1249,1
    - Dst: va_log
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1250,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1254,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1257,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1260,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1263,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1266,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1269,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - format
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1278
    functionName: Log::va_error
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - va_log
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Log::va_error(const char *format, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1291,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1293,1
    - Dst: lock
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1295,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1298,1
    - Dst: static_cast<LogConfig *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1301,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1301,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1303,1
    - Dst: LogConfig*::log_object_manager::preproc_buffers
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1304,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1309,1
    - Dst: LogConfig*::refcount
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1310,1
    - Dst: release
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1312,1
    - Dst: wait
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1319,1
    - Dst: unlock
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1325
    functionName: Log::preproc_thread_main
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - get
    - likely
    - release
    - TSSystemState::is_event_system_shut_down
    - LogConfig*::log_object_manager::preproc_buffers
    - Dbg
    - static_cast<LogConfig *>
    - LogConfig*::refcount
    - unlock
    - static_cast<int *>
    - lock
    - wait
    linkageType: ''
    returnType: void
    signature: 'void *

      Log::preproc_thread_main(void *args)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SLL::SLL
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1334,1
    - Dst: lock
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1336,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1339,1
    - Dst: static_cast<LogFlushData *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1342,1
    - Dst: ink_atomiclist_popall
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1342,1
    - Dst: SLL::pop
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1347,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1348,1
    - Dst: pop
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1353,1
    - Dst: LogFlushData*::m_logfile::get
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1356,1
    - Dst: static_cast<LogBuffer *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1359,1
    - Dst: LogBuffer*::header
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1360,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1362,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1366,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1370,1
    - Dst: LogFile*::check_fd
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1374,1
    - Dst: LogFile*::is_open
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1375,1
    - Dst: SiteThrottledWarning
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1376,1
    - Dst: LogFile*::get_name
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1376,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1378,1
    - Dst: LogFile*::get_fd
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1383,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1385,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1391,1
    - Dst: LogFile*::get_name
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1391,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1394,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1398,1
    - Dst: SiteThrottledError
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1401,1
    - Dst: LogFile*::get_name
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1401,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1402,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1404,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1407,1
    - Dst: LogFile*::get_name
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1407,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1411,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1414,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1422,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1424,1
    - Dst: Log::periodic_tasks
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1425,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1426,1
    - Dst: wait
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1433,1
    - Dst: unlock
      Src: /src/trafficserver/src/proxy/logging/Log.cc:1437,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1439
    functionName: Log::flush_thread_main
    functionSourceFile: /src/trafficserver/src/proxy/logging/Log.cc
    functionUses: 1
    functionsReached:
    - LogFlushData*::m_logfile::get
    - Log::periodic_tasks
    - SiteThrottledWarning
    - strerror
    - ts::Metrics::Counter::increment
    - LogBuffer*::header
    - SLL::pop
    - LogFile*::check_fd
    - TSSystemState::is_event_system_shut_down
    - static_cast<char *>
    - ink_atomic_increment
    - static_cast<LogBuffer *>
    - wait
    - unlock
    - ink_release_assert
    - MIOBuffer::write
    - LogFile*::get_name
    - SLL::SLL
    - static_cast<LogFlushData *>
    - Dbg
    - ink_atomiclist_popall
    - ink_assert
    - ink_get_hrtime
    - LogFile*::get_fd
    - LogFile*::is_open
    - push
    - reinterpret_cast<char *>
    - pop
    - SiteThrottledError
    - lock
    linkageType: ''
    returnType: void
    signature: 'void *

      Log::flush_thread_main(void * /* args ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:68,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:70,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - name
    - field
    - action
    - oper
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: LogFilter::LogFilter
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogField::LogField
    - ink_assert
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void LogFilter::LogFilter(const char *name, LogField *field, LogFilter::Action
      action, LogFilter::Operator oper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: LogFilter::~LogFilter()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void LogFilter::~LogFilter()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:89,1
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:91,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:92,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:96,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:97,1
    - Dst: SimpleTokenizer::getRest
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:98,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:102,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:109,1
    - Dst: find_by_symbol
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:112,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:113,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:113,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:119,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:125,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:137,1
    - Dst: LogField::valid_container_name
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:139,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:141,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:145,1
    - Dst: LogField::LogField
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:145,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:146,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:151,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:158,1
    - Dst: static_cast<LogFilter::Operator>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:159,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:165,1
    - Dst: std::unique_ptr::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:170,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:175,1
    - Dst: LogFilterInt::LogFilterInt
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:175,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:179,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:183,1
    - Dst: LogFilterString::LogFilterString
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:183,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:187,1
    - Dst: LogFilterIP::LogFilterIP
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:187,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:191,1
    - Dst: LogFilter*::get_num_values
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:195,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 3
    argNames:
    - name
    - action
    - condition
    argTypes:
    - char*
    - Action
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 202
    functionName: LogFilter::parse
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 2
    functionsReached:
    - LogField::valid_container_name
    - SimpleTokenizer::getRest
    - LogField::LogField
    - strchr
    - SimpleTokenizer::getNumTokensRemaining
    - std::unique_ptr::get
    - SimpleTokenizer::getNext
    - LogFilterString::LogFilterString
    - std::unique_ptr::type
    - strcasecmp
    - ink_release_assert
    - Error
    - LogFilterInt::LogFilterInt
    - Dbg
    - LogFilter*::get_num_values
    - strlen
    - static_cast<LogFilter::Operator>
    - LogFilterIP::LogFilterIP
    - ink_assert
    - std::unique_ptr::reset
    - find_by_symbol
    linkageType: ''
    returnType: LogFilter
    signature: 'LogFilter *

      LogFilter::parse(const char *name, Action action, const char *condition)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:213,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:214,1
    - Dst: size_t::size_t
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:215,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:216,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:218,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:219,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:220,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:220,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:220,1
    - Dst: ParseRules::ink_toupper
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - n
    - value
    argTypes:
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: LogFilterString::_setValues
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - ats_strdup
    - char::char
    - static_cast<char *>
    - size_t::size_t
    - ParseRules::ink_toupper
    - strlen
    - ats_malloc
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFilterString::_setValues(size_t n, char **value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterString::strstrcase
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:240,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:240,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:244,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:252,1
    - Dst: LogFilterString::strstrcase
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:257,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - lookup_query_param
    - pattern
    - uppercase
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: findPatternFromParamName
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterString::strstrcase
    - strchr
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      findPatternFromParamName(const char *lookup_query_param, const char *pattern,
      bool uppercase)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:276,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:280,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:283,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:287,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:290,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:297,1
    - Dst: strcpy
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - field
    - pattern_str
    - buf_dest
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 309
    functionName: updatePatternForFieldValue
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - strchr
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void updatePatternForFieldValue(char *field, const char *pattern_str,
      int /* field_pos ATS_UNUSED */, char *buf_dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:320,1
    - Dst: findPatternFromParamName
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:326,1
    - Dst: updatePatternForFieldValue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:332,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:335,1
    - Dst: findPatternFromParamName
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - field
    - pattern
    - uppercase
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 344
    functionName: wipeField
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - strchr
    - findPatternFromParamName
    - updatePatternForFieldValue
    linkageType: ''
    returnType: void
    signature: void wipeField(char *field, char *pattern, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:373,1
    - Dst: wipeField
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - f
    - field_value
    - field_value_length
    - val
    - uppercase
    argTypes:
    - OperatorFunction
    - char*
    - size_t
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: LogFilterString::_checkConditionAndWipe
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - wipeField
    linkageType: ''
    returnType: bool
    signature: "bool LogFilterString::_checkConditionAndWipe(OperatorFunction f, char
      *field_value, size_t field_value_length, char **val,\n                                        bool
      uppercase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:393,1
    - Dst: char::char
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:395,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:397,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:401,1
    - Dst: LogFilterString::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - name
    - field
    - action
    - oper
    - values
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: LogFilterString::LogFilterString
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - Warning
    - LogFilterString::_setValues
    - char::char
    - SimpleTokenizer::getNext
    - SimpleTokenizer::getNumTokensRemaining
    linkageType: ''
    returnType: void
    signature: "void LogFilterString::LogFilterString(const char *name, LogField *field,
      LogFilter::Action action, LogFilter::Operator oper,\n                                 char
      *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterString::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - name
    - field
    - action
    - oper
    - num_values
    - value
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: LogFilterString::LogFilterString
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterString::_setValues
    linkageType: ''
    returnType: void
    signature: "void LogFilterString::LogFilterString(const char *name, LogField *field,
      LogFilter::Action action, LogFilter::Operator oper,\n                                 size_t
      num_values, char **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterString::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: LogFilterString::LogFilterString
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterString::_setValues
    linkageType: ''
    returnType: void
    signature: void LogFilterString::LogFilterString(const LogFilterString &rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:430,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: LogFilterString::~LogFilterString()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void LogFilterString::~LogFilterString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: LogFilterString::operator==(LogFilterString &rhs)
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool LogFilterString::operator==(LogFilterString &rhs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: marshal_len
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:488,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:492,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:492,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:492,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:493,1
    - Dst: marshal
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:496,1
    - Dst: LogFilterString::_checkConditionAndWipe
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:502,1
    - Dst: LogFilterString::_checkConditionAndWipe
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:505,1
    - Dst: LogFilterString::_checkConditionAndWipe
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:508,1
    - Dst: LogFilterString::_checkConditionAndWipe
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:512,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:515,1
    - Dst: updateField
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:520,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:520,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:523,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 526
    functionName: LogFilterString::toss_this_entry
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<unsigned int>
    - updateField
    - marshal_len
    - static_cast<char *>
    - ats_malloc
    - marshal
    - LogFilterString::_checkConditionAndWipe
    - strlen
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool LogFilterString::toss_this_entry(LogAccess *lad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:535,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:537,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:539,1
    - Dst: symbol
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:539,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:540,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:542,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 546
    functionName: LogFilterString::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - symbol
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFilterString::display(FILE *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int64_t::int64_t
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:558,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - value
    argTypes:
    - size_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: LogFilterInt::_setValues
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - int64_t::int64_t
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::_setValues(size_t n, int64_t *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:566,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:567,1
    - Dst: LogFieldAliasMap*::asInt
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:576,1
    - Dst: ink_atoui
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - value
    - ival
    - map
    argTypes:
    - char*
    - int64_t*
    - LogFieldAliasMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 586
    functionName: LogFilterInt::_convertStringToInt
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFieldAliasMap*::asInt
    - ink_atoui
    - strlen
    - ParseRules::is_digit
    linkageType: ''
    returnType: int
    signature: int LogFilterInt::_convertStringToInt(char *value, int64_t *ival, LogFieldAliasMap
      *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterInt::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - name
    - field
    - action
    - oper
    - value
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: LogFilterInt::LogFilterInt
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterInt::_setValues
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::LogFilterInt(const char *name, LogField *field,
      LogFilter::Action action, LogFilter::Operator oper, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterInt::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - name
    - field
    - action
    - oper
    - num_values
    - value
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - size_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: LogFilterInt::LogFilterInt
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterInt::_setValues
    linkageType: ''
    returnType: void
    signature: "void LogFilterInt::LogFilterInt(const char *name, LogField *field,
      LogFilter::Action action, LogFilter::Operator oper, size_t num_values,\n                           int64_t
      *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::getNumTokensRemaining
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:611,1
    - Dst: LogField*::map
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:612,1
    - Dst: Fatal
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:618,1
    - Dst: int64_t::int64_t
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:622,1
    - Dst: SimpleTokenizer::getNext
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:625,1
    - Dst: LogFilterInt::_convertStringToInt
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:627,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:627,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:634,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:639,1
    - Dst: LogFilterInt::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - name
    - field
    - action
    - oper
    - values
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 647
    functionName: LogFilterInt::LogFilterInt
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - auto::get
    - Warning
    - int64_t::int64_t
    - LogFilterInt::_convertStringToInt
    - SimpleTokenizer::getNext
    - LogFilterInt::_setValues
    - Fatal
    - SimpleTokenizer::getNumTokensRemaining
    - LogField*::map
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::LogFilterInt(const char *name, LogField *field,
      LogFilter::Action action, LogFilter::Operator oper, char *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterInt::_setValues
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: LogFilterInt::LogFilterInt
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterInt::_setValues
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::LogFilterInt(const LogFilterInt &rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: LogFilterInt::~LogFilterInt()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::~LogFilterInt()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: LogFilterInt::operator==(LogFilterInt &rhs)
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LogFilterInt::operator==(LogFilterInt &rhs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: marshal
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:704,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:704,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:721,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:725,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:729,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:733,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:737,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 741
    functionName: LogFilterInt::toss_this_entry
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - ink_assert
    - marshal
    linkageType: ''
    returnType: bool
    signature: bool LogFilterInt::toss_this_entry(LogAccess *lad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:750,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:752,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:754,1
    - Dst: symbol
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:754,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:755,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:757,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: LogFilterInt::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - symbol
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFilterInt::display(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:769,1
    - Dst: LogFilterIP::init
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - name
    - field
    - action
    - oper
    - value
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: LogFilterIP::LogFilterIP
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - mark
    - LogFilterIP::init
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::LogFilterIP(const char *name, LogField *field, LogFilter::Action
      action, LogFilter::Operator oper, swoc::IPAddr value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:778,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:778,1
    - Dst: LogFilterIP::init
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - name
    - field
    - action
    - oper
    - num_values
    - value
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - size_t
    - IpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: LogFilterIP::LogFilterIP
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - mark
    - LogFilterIP::init
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: void
    signature: "void LogFilterIP::LogFilterIP(const char *name, LogField *field, LogFilter::Action
      action, LogFilter::Operator oper, size_t num_values,\n                         IpAddr
      *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts::swoc::TextView
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:786,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:790,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:791,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:793,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:794,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:795,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:796,1
    - Dst: swoc::Errata::note
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:799,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:802,1
    - Dst: swoc::Errata::assign_annotation_glue_text
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:804,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:805,1
    - Dst: swoc::Errata::length
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:806,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:807,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:807,1
    - Dst: LogFilterIP::init
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - name
    - field
    - action
    - oper
    - values
    argTypes:
    - char*
    - LogField*
    - LogFilter::Action
    - LogFilter::Operator
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 811
    functionName: LogFilterIP::LogFilterIP
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterIP::init
    - ts::swoc::TextView
    - swoc::TextView::take_prefix_at
    - Warning
    - swoc::TextView::empty
    - std::string::c_str
    - mark
    - swoc::IPRange::load
    - swoc::Errata::length
    - swoc::TextView::ltrim_if
    - swoc::Errata::note
    - swoc::Errata::assign_annotation_glue_text
    - swoc::SWOC_VERSION_NS::bwprint
    - swoc::Errata::is_ok
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::LogFilterIP(const char *name, LogField *field, LogFilter::Action
      action, LogFilter::Operator oper, char *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:816,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::IPRange
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:816,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:816,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:816,1
    - Dst: LogFilterIP::init
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterIP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 819
    functionName: LogFilterIP::LogFilterIP
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - LogFilterIP::init
    - mark
    - min
    - swoc::SWOC_VERSION_NS::IPRange::IPRange
    - max
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::LogFilterIP(const LogFilterIP &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 826
    functionName: LogFilterIP::init
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 4
    functionsReached:
    - count
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: LogFilterIP::~LogFilterIP()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::~LogFilterIP()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:844,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:845,1
    - Dst: LogFilterIP::m_addrs::begin
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:846,1
    - Dst: LogFilterIP::m_addrs::end
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:847,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterIP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 860
    functionName: LogFilterIP::operator==(LogFilterIP &rhs)
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - begin
    - LogFilterIP::m_addrs::begin
    - LogFilterIP::m_addrs::end
    - end
    linkageType: ''
    returnType: bool
    signature: bool LogFilterIP::operator==(LogFilterIP &rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: marshal
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:873,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:873,1
    - Dst: contains
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 886
    functionName: LogFilterIP::is_match
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - contains
    - reinterpret_cast<char *>
    - marshal
    linkageType: ''
    returnType: bool
    signature: bool LogFilterIP::is_match(LogAccess *lad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterIP::is_match
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 893
    functionName: LogFilterIP::toss_this_entry
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterIP::is_match
    linkageType: ''
    returnType: bool
    signature: bool LogFilterIP::toss_this_entry(LogAccess *lad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:902,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:904,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:905,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:909,1
    - Dst: symbol
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:909,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:911,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:911,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:912,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:912,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 917
    functionName: LogFilterIP::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - symbol
    - fprintf
    - swoc::SWOC_VERSION_NS::bwf::If
    - std::string::c_str
    - swoc::SWOC_VERSION_NS::bwprint
    - count
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFilterIP::display(FILE *fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:925,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:925,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:926,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:927,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:929,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:931,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:934,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - filt1
    - filt2
    argTypes:
    - LogFilter*
    - LogFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 940
    functionName: filters_are_equal
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - LogFilter*::type
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool filters_are_equal(LogFilter *filt1, LogFilter *filt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 951
    functionName: LogFilterList::LogFilterList
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFilterList::LogFilterList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::clear
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: LogFilterList::~LogFilterList()
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterList::clear
    linkageType: ''
    returnType: void
    signature: void LogFilterList::~LogFilterList()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:967,1
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:968,1
    - Dst: filters_are_equal
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:975,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:978,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 982
    functionName: LogFilterList::operator==(LogFilterList &rhs)
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterList::first
    - filters_are_equal
    - LogFilterList::next
    linkageType: ''
    returnType: bool
    signature: bool LogFilterList::operator==(LogFilterList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 994
    functionName: LogFilterList::clear
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached:
    - dequeue
    linkageType: ''
    returnType: void
    signature: void LogFilterList::clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1002,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1004,1
    - Dst: LogFilterInt::LogFilterInt
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1005,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1006,1
    - Dst: LogFilter*::type
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1007,1
    - Dst: LogFilterIP::LogFilterIP
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1008,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1009,1
    - Dst: LogFilterString::LogFilterString
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1011,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1012,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1015,1
    - Dst: LogFilter*::is_wipe
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - filter
    - copy
    argTypes:
    - LogFilter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1019
    functionName: LogFilterList::add
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilter*::is_wipe
    - LogFilter*::type
    - enqueue
    - LogFilterInt::LogFilterInt
    - LogFilterString::LogFilterString
    - LogFilterIP::LogFilterIP
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogFilterList::add(LogFilter *filter, bool copy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1029,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1029,1
    - Dst: LogFilter*::toss_this_entry
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - lad
    argTypes:
    - LogAccess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1039
    functionName: LogFilterList::toss_this_entry
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterList::first
    - LogFilter*::toss_this_entry
    - LogFilterList::next
    linkageType: ''
    returnType: bool
    signature: bool LogFilterList::toss_this_entry(LogAccess *lad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1047,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1047,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1048,1
    - Dst: LogFilter*::name
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: LogFilterList::find_by_name
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterList::first
    - strcmp
    - LogFilter*::name
    - LogFilterList::next
    linkageType: ''
    returnType: LogFilter
    signature: 'LogFilter *

      LogFilterList::find_by_name(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1063,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1067
    functionName: LogFilterList::count
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilterList::first
    - LogFilterList::next
    linkageType: ''
    returnType: unsigned
    signature: unsigned LogFilterList::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterList::first
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1072,1
    - Dst: LogFilterList::next
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1072,1
    - Dst: LogFilter*::display
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: LogFilterList::display
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilter*::display
    - LogFilterList::first
    - LogFilterList::next
    linkageType: ''
    returnType: void
    signature: void LogFilterList::display(FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1094,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1095,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1097,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1098,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1100,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1101,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1103,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1104,1
    - Dst: LogFilter::parse
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1106,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1107,1
    - Dst: CHECK_FORMAT_PARSE
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1110,1
    - Dst: CHECK_FORMAT_PARSE
      Src: /src/trafficserver/src/proxy/logging/LogFilter.cc:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1114
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 0
    functionsReached:
    - LogFilter::parse
    - TestBox::check
    - CHECK_FORMAT_PARSE
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(Log_FilterParse)(RegressionTest *t, int /* atype
      */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1090
    functionName: CHECK_FORMAT_PARSE
    functionSourceFile: /src/trafficserver/src/proxy/logging/LogFilter.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FORMAT_PARSE(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:38,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:38,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:39,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - deleter
    argTypes:
    - RolledLogDeleter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: verify_there_are_no_candidates
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - CHECK_FALSE
    - CHECK
    - RolledLogDeleter::has_candidates
    - RolledLogDeleter::get_candidate_count
    linkageType: ''
    returnType: void
    signature: void verify_there_are_no_candidates(RolledLogDeleter &deleter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECTION
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:45,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:50,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:50,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:50,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:52,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:52,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:53,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:53,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:55,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:56,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:56,1
    - Dst: verify_there_are_no_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:59,1
    - Dst: SECTION
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:62,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:70,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:70,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:70,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:71,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:71,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:71,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:73,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:73,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:74,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:74,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:77,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:78,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:78,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:80,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:80,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:81,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:81,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:84,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:85,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:85,1
    - Dst: verify_there_are_no_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:88,1
    - Dst: SECTION
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:91,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:100,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:100,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:100,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:101,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:101,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:101,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:102,1
    - Dst: RolledLogDeleter::consider_for_candidacy
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:102,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:102,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:104,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:104,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:105,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:105,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:108,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:109,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:109,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:111,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:111,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:112,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:112,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:115,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:116,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:116,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:118,1
    - Dst: RolledLogDeleter::has_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:118,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:119,1
    - Dst: RolledLogDeleter::get_candidate_count
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:119,1
    - Dst: RolledLogDeleter::take_next_candidate_to_delete
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:122,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:123,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:123,1
    - Dst: verify_there_are_no_candidates
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 4
    argNames:
    - deleter
    - rolled_log1
    - rolled_log2
    - rolled_log3
    argTypes:
    - RolledLogDeleter
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 128
    functionName: verify_rolled_log_behavior
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_RolledLogDeleter.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - RolledLogDeleter::get_candidate_count
    - RolledLogDeleter::consider_for_candidacy
    - REQUIRE
    - RolledLogDeleter::has_candidates
    - verify_there_are_no_candidates
    - fs::path::string
    - RolledLogDeleter::take_next_candidate_to_delete
    - SECTION
    linkageType: ''
    returnType: void
    signature: void verify_rolled_log_behavior(RolledLogDeleter &deleter, fs::path
      rolled_log1, fs::path rolled_log2, fs::path rolled_log3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: notstd::barrier
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void barrier(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc:80,1
    - Dst: wait
      Src: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: notstd::arrive_and_wait
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc
    functionUses: 0
    functionsReached:
    - notify_all
    - wait
    linkageType: ''
    returnType: void
    signature: void arrive_and_wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: notstd::barrier
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void barrier(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc:80,1
    - Dst: wait
      Src: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: notstd::arrive_and_wait
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/benchmark_LogObject.cc
    functionUses: 0
    functionsReached:
    - notify_all
    - wait
    linkageType: ''
    returnType: void
    signature: void arrive_and_wait()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: name_get
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view name_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: value_get
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view value_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - count
    argTypes:
    - MIMEField*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: MIMEHdr::MIMEHdr
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEHdr(const MIMEField *first, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::begin
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: MIMEHdr::begin
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h
    functionUses: 1
    functionsReached:
    - MIMEHdr::begin
    linkageType: ''
    returnType: auto
    signature: auto begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::end
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: MIMEHdr::end
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.h
    functionUses: 1
    functionsReached:
    - MIMEHdr::end
    linkageType: ''
    returnType: auto
    signature: auto end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:52,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:54,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:54,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:56,1
    - Dst: marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:56,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:69,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:69,1
    - Dst: unmarshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:73,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:73,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:75,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:75,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:77,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:79,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pairs
    - numPairs
    - asciiResult
    argTypes:
    - MIMEField*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: test
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc
    functionUses: 17
    functionsReached:
    - static_cast<int>
    - unmarshalMimeHdr
    - INK_ALIGN_DEFAULT
    - memcmp
    - REQUIRE
    - std::strlen
    - marshalMimeHdr
    linkageType: ''
    returnType: void
    signature: void test(const MIMEField *pairs, int numPairs, const char *asciiResult,
      int extraUnmarshalSpace = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:52,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:54,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:54,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:56,1
    - Dst: marshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:56,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:69,1
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:69,1
    - Dst: unmarshalMimeHdr
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:73,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:73,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:75,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:75,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:77,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:79,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pairs
    - numPairs
    - asciiResult
    argTypes:
    - MIMEField*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: test
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc
    functionUses: 17
    functionsReached:
    - static_cast<int>
    - unmarshalMimeHdr
    - INK_ALIGN_DEFAULT
    - memcmp
    - REQUIRE
    - std::strlen
    - marshalMimeHdr
    linkageType: ''
    returnType: void
    signature: void test(const MIMEField *pairs, int numPairs, const char *asciiResult,
      int extraUnmarshalSpace = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exit
      Src: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - f
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: _ink_assert
    functionSourceFile: /src/trafficserver/src/proxy/logging/unit-tests/test_LogUtils.cc
    functionUses: 2
    functionsReached:
    - std::exit
    linkageType: ''
    returnType: void
    signature: void _ink_assert(const char *a, const char *f, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Http3SettingsHandler::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> Http3SettingsHandler::interests()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:44,1
    - Dst: std::shared_ptr<const Http3Frame>::type
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:44,1
    - Dst: dynamic_cast<const Http3SettingsFrame *>
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:46,1
    - Dst: std::shared_ptr<const Http3Frame>::get
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:46,1
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:50,1
    - Dst: Http3SettingsFrame*::is_valid
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:53,1
    - Dst: Http3SettingsFrame*::get_error
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:54,1
    - Dst: Http3SettingsFrame*::contains
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:58,1
    - Dst: Http3SettingsFrame*::get
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:59,1
    - Dst: Http3SettingsHandler::_session::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:62,1
    - Dst: Http3SettingsFrame*::contains
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:65,1
    - Dst: Http3SettingsFrame*::get
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:66,1
    - Dst: Http3SettingsHandler::_session::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:69,1
    - Dst: Http3SettingsFrame*::contains
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:72,1
    - Dst: Http3SettingsFrame*::get
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:73,1
    - Dst: Http3SettingsHandler::_session::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:76,1
    - Dst: Http3SettingsFrame*::contains
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:79,1
    - Dst: Http3SettingsFrame*::get
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:83,1
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - frame
    argTypes:
    - std::shared_ptr<const Http3Frame>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 87
    functionName: Http3SettingsHandler::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SettingsHandler.cc
    functionUses: 0
    functionsReached:
    - Http3SettingsHandler::_session::remote_qpack
    - std::shared_ptr<const Http3Frame>::get
    - dynamic_cast<const Http3SettingsFrame *>
    - Http3SettingsFrame*::is_valid
    - Http3SettingsFrame*::get_error
    - Http3SettingsFrame*::get
    - Dbg
    - Http3SettingsFrame*::contains
    - Http3ErrorUPtr
    - ink_assert
    - std::shared_ptr<const Http3Frame>::type
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3SettingsHandler::handle_frame(std::shared_ptr<const
      Http3Frame> frame, Http3StreamType /* s_type */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_done
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:41,1
    - Dst: generate_frame
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:45,1
    - Dst: Http3FrameUPtr::to_io_buffer_block
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:47,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:48,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:48,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:50,1
    - Dst: Http3DebugNames::frame_type
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:50,1
    - Dst: Http3FrameUPtr::type
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:50,1
    - Dst: is_done
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:53,1
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - stream_id
    - writer
    - nwritten
    - all_done
    argTypes:
    - QUICStreamId
    - MIOBuffer
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: Http3FrameCollector::on_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - Http3FrameUPtr::to_io_buffer_block
    - MIOBuffer::write
    - Dbg
    - Http3FrameUPtr::type
    - Http3DebugNames::frame_type
    - generate_frame
    - is_done
    - Http3ErrorUPtr
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3FrameCollector::on_write_ready(QUICStreamId stream_id,
      MIOBuffer &writer, size_t &nwritten, bool &all_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3FrameCollector::_generators::push_back
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - generator
    argTypes:
    - Http3FrameGenerator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Http3FrameCollector::add_generator
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameCollector.cc
    functionUses: 0
    functionsReached:
    - Http3FrameCollector::_generators::push_back
    linkageType: ''
    returnType: void
    signature: void Http3FrameCollector::add_generator(Http3FrameGenerator *generator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:34,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:35,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:36,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:37,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: ts::Http3ConfigParams::initialize()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached:
    - RecEstablishStaticConfigUInt32
    linkageType: ''
    returnType: void
    signature: void ts::Http3ConfigParams::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ts::Http3ConfigParams::header_table_size() const
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts::Http3ConfigParams::header_table_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ts::Http3ConfigParams::max_field_section_size() const
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts::Http3ConfigParams::max_field_section_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ts::Http3ConfigParams::qpack_blocked_streams() const
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts::Http3ConfigParams::qpack_blocked_streams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ts::Http3ConfigParams::num_placeholders() const
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts::Http3ConfigParams::num_placeholders() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ts::Http3ConfigParams::max_settings() const
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts::Http3ConfigParams::max_settings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reconfigure
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ts::Http3Config::startup()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached:
    - reconfigure
    linkageType: ''
    returnType: void
    signature: void ts::Http3Config::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3ConfigParams::Http3ConfigParams
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:84,1
    - Dst: Http3ConfigParams*::initialize
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:86,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: ts::Http3Config::reconfigure()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached:
    - Http3ConfigParams*::initialize
    - Http3ConfigParams::Http3ConfigParams
    - set
    linkageType: ''
    returnType: void
    signature: void ts::Http3Config::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ts::Http3ConfigParams *>
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:93,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '*

      ts::Http3Config::acquire()'
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<ts::Http3ConfigParams *>
    linkageType: ''
    returnType: ts::Http3ConfigParams
    signature: 'ts::Http3ConfigParams *

      ts::Http3Config::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/proxy/http3/Http3Config.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - Http3ConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ts::Http3Config::release(Http3ConfigParams *params)
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Config.cc
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ts::Http3Config::release(Http3ConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sink
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Http3StreamDataVIOAdaptor::Http3StreamDataVIOAdaptor
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void Http3StreamDataVIOAdaptor::Http3StreamDataVIOAdaptor(VIO *sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Http3StreamDataVIOAdaptor::~Http3StreamDataVIOAdaptor()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void Http3StreamDataVIOAdaptor::~Http3StreamDataVIOAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Http3StreamDataVIOAdaptor::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> Http3StreamDataVIOAdaptor::interests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:43,1
    - Dst: std::shared_ptr<const Http3Frame>::type
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:43,1
    - Dst: dynamic_cast<const Http3DataFrame *>
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:44,1
    - Dst: std::shared_ptr<const Http3Frame>::get
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:44,1
    - Dst: Http3StreamDataVIOAdaptor::_buffer::write
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:47,1
    - Dst: Http3DataFrame*::data
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:47,1
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - frame
    argTypes:
    - std::shared_ptr<const Http3Frame>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: Http3StreamDataVIOAdaptor::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - Http3DataFrame*::data
    - dynamic_cast<const Http3DataFrame *>
    - std::shared_ptr<const Http3Frame>::get
    - Http3StreamDataVIOAdaptor::_buffer::write
    - Http3ErrorUPtr
    - ink_assert
    - std::shared_ptr<const Http3Frame>::type
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3StreamDataVIOAdaptor::handle_frame(std::shared_ptr<const
      Http3Frame> frame, Http3StreamType /* s_type */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:56,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:56,1
    - Dst: Http3StreamDataVIOAdaptor::_sink_vio::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:57,1
    - Dst: Http3StreamDataVIOAdaptor::_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:58,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:60,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:60,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:61,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:62,1
    - Dst: IOBufferBlock*::size
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:62,1
    - Dst: Http3StreamDataVIOAdaptor::_buffer::dealloc_reader
      Src: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: Http3StreamDataVIOAdaptor::finalize
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader*::get_current_block
    - SCOPED_MUTEX_LOCK
    - MIOBuffer*::append_block
    - Http3StreamDataVIOAdaptor::_buffer::alloc_reader
    - IOBufferReader*::read_avail
    - IOBufferReader*::consume
    - IOBufferBlock*::size
    - this_ethread
    - Http3StreamDataVIOAdaptor::_sink_vio::get_writer
    - Http3StreamDataVIOAdaptor::_buffer::dealloc_reader
    linkageType: ''
    returnType: void
    signature: void Http3StreamDataVIOAdaptor::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: Http3StreamDataVIOAdaptor::has_data
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3StreamDataVIOAdaptor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3StreamDataVIOAdaptor::has_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - transaction
    - source
    argTypes:
    - Http3Transaction*
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Http3DataFramer::Http3DataFramer
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3DataFramer::Http3DataFramer(Http3Transaction *transaction,
      VIO *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http3DataFramer::_transaction::is_response_header_sent
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:33,1
    - Dst: Http3FrameFactory::create_null_frame
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:34,1
    - Dst: Http3FrameFactory::create_null_frame
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:37,1
    - Dst: Http3DataFramer::_source_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:38,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:41,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:42,1
    - Dst: Http3FrameFactory::create_data_frame
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: Http3DataFramer::generate_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader*::is_read_avail_more_than
    - Http3DataFramer::_source_vio::get_reader
    - Http3DataFramer::_transaction::is_response_header_sent
    - IOBufferReader*::read_avail
    - Http3FrameFactory::create_null_frame
    - Http3FrameFactory::create_data_frame
    linkageType: ''
    returnType: Http3FrameUPtr
    signature: Http3FrameUPtr Http3DataFramer::generate_frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3DataFramer::_source_vio::ntodo
      Src: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Http3DataFramer::is_done
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DataFramer.cc
    functionUses: 0
    functionsReached:
    - Http3DataFramer::_source_vio::ntodo
    linkageType: ''
    returnType: bool
    signature: bool Http3DataFramer::is_done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: QPACKDebug
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPACKDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: QPACKDTDebug
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPACKDTDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:149,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:151,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:152,1
    - Dst: QPACK::_encoder_stream_sending_instructions::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:153,1
    - Dst: QPACK::_decoder_stream_sending_instructions::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - qc
    - max_field_section_size
    - max_table_size
    - max_blocking_streams
    argTypes:
    - QUICConnection*
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: QPACK::QPACK
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_MIOBuffer
    - QPACK::_decoder_stream_sending_instructions::alloc_reader
    - QPACK::_encoder_stream_sending_instructions::alloc_reader
    linkageType: ''
    returnType: void
    signature: void QPACK::QPACK(QUICConnection *qc, uint32_t max_field_section_size,
      uint16_t max_table_size, uint16_t max_blocking_streams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:159,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: QPACK::~QPACK()
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void QPACK::~QPACK()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter::IOInfo::IOInfo
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:166,1
    - Dst: QUICStream::direction
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:168,1
    - Dst: auto*::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:172,1
    - Dst: auto*::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:173,1
    - Dst: auto*::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:176,1
    - Dst: auto*::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:179,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:182,1
    - Dst: QUICStream::set_io_adapter
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: QPACK::on_stream_open
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - auto*::setup_write_vio
    - QUICStream::set_io_adapter
    - QUICStreamVCAdapter::IOInfo::IOInfo
    - QUICStream::direction
    - auto*::setup_read_vio
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void QPACK::on_stream_open(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: QPACK::on_stream_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::on_stream_close(QUICStream & /* stream ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:197,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:198,1
    - Dst: QUICStreamVCAdapter*::clear_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:203,1
    - Dst: QPACK::_on_read_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:204,1
    - Dst: QUICStreamVCAdapter*::clear_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:207,1
    - Dst: QUICStreamVCAdapter*::clear_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:211,1
    - Dst: QPACK::_on_write_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:212,1
    - Dst: QUICStreamVCAdapter*::clear_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:215,1
    - Dst: QUICStreamVCAdapter*::clear_eos_event
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 226
    functionName: QPACK::event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter*::clear_write_complete_event
    - static_cast<QUICStreamVCAdapter *>
    - QPACK::_on_write_ready
    - QUICStreamVCAdapter*::clear_read_complete_event
    - QPACK::_on_read_ready
    - reinterpret_cast<VIO *>
    - QUICStreamVCAdapter*::clear_write_ready_event
    - QUICStreamVCAdapter*::clear_eos_event
    - QUICStreamVCAdapter*::clear_read_ready_event
    linkageType: ''
    returnType: int
    signature: int QPACK::event_handler(int event, Event *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:241,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:242,1
    - Dst: QPACK::_encode_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:245,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:246,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:247,1
    - Dst: IOBufferBlock*::free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:249,1
    - Dst: QPACK::_references::emplace
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:254,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:257,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:258,1
    - Dst: QPACK::_encode_prefix
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:259,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:261,1
    - Dst: IOBufferBlock*::size
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:262,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:264,1
    - Dst: IOBufferBlock*::size
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - stream_id
    - header_set
    - header_block
    - header_block_len
    argTypes:
    - uint64_t
    - HTTPHdr
    - MIOBuffer*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 268
    functionName: QPACK::encode
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - QPACK::_encode_prefix
    - QPACK::_references::emplace
    - MIOBuffer*::append_block
    - min
    - IOBufferBlock*::alloc
    - max
    - IOBufferBlock*::size
    - IOBufferBlock*::free
    - QPACK::_encode_header
    - new_IOBufferBlock
    linkageType: ''
    returnType: int
    signature: int QPACK::encode(uint64_t stream_id, HTTPHdr &header_set, MIOBuffer
      *header_block, uint64_t &header_block_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:279,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:284,1
    - Dst: QPACK::_dynamic_table::is_empty
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:290,1
    - Dst: QPACK::_dynamic_table::largest_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:290,1
    - Dst: QPACK::_add_to_blocked_list
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:292,1
    - Dst: DecodeRequest::DecodeRequest
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:293,1
    - Dst: QPACK::_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:301,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - stream_id
    - header_block
    - header_block_len
    - hdr
    - cont
    - thread
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t
    - HTTPHdr
    - Continuation*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: QPACK::decode
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - xpack_decode_integer
    - QPACK::_dynamic_table::largest_index
    - DecodeRequest::DecodeRequest
    - QPACK::_dynamic_table::is_empty
    - QPACK::_decode
    - QPACK::_add_to_blocked_list
    - EThread*::schedule_imm
    linkageType: ''
    returnType: int
    signature: "int QPACK::decode(uint64_t stream_id, const uint8_t *header_block,
      size_t header_block_len, HTTPHdr &hdr, Continuation *cont,\n              EThread
      *thread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: QPACK::set_encoder_stream
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::set_encoder_stream(QUICStreamId id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: QPACK::set_decoder_stream
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::set_decoder_stream(QUICStreamId id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_field_section_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: QPACK::update_max_field_section_size
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_field_section_size(uint32_t max_field_section_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_table_size
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: QPACK::update_max_table_size
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_table_size(uint16_t max_table_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_blocking_streams
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: QPACK::update_max_blocking_streams
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_blocking_streams(uint16_t max_blocking_streams)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:340,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:340,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:340,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:341,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:341,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:341,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:344,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:347,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:349,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:355,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:355,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:355,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:356,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:356,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:356,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:359,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - largest_reference
    - base_index
    - prefix
    argTypes:
    - uint16_t
    - uint16_t
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 364
    functionName: QPACK::_encode_prefix
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - QPACKDebug
    - reinterpret_cast<uint8_t *>
    - xpack_encode_integer
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_encode_prefix(uint16_t largest_reference, uint16_t base_index,
      IOBufferBlock *prefix)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField::name_get
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:369,1
    - Dst: QPACK::_arena::str_store
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:370,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:370,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:370,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:371,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:372,1
    - Dst: MIMEField::value_get
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:374,1
    - Dst: HpackStaticTable::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:382,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:382,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:382,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:382,1
    - Dst: QPACK::_dynamic_table::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:384,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:384,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:384,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:384,1
    - Dst: QPACK::_dynamic_table::should_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:386,1
    - Dst: QPACK::_dynamic_table::duplicate_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:389,1
    - Dst: QPACK::_write_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:391,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:392,1
    - Dst: QPACK::_dynamic_table::ref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:393,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:401,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:401,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:401,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:401,1
    - Dst: QPACK::_write_insert_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:403,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:403,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:403,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:404,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:405,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:405,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:405,1
    - Dst: QPACK::_dynamic_table::should_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:410,1
    - Dst: QPACK::_dynamic_table::duplicate_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:413,1
    - Dst: QPACK::_write_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:415,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:416,1
    - Dst: QPACK::_dynamic_table::ref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:417,1
    - Dst: QPACK::_dynamic_table::should_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:421,1
    - Dst: QPACK::_dynamic_table::duplicate_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:424,1
    - Dst: QPACK::_write_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:426,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:427,1
    - Dst: QPACK::_dynamic_table::ref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:428,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:433,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:433,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:433,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:433,1
    - Dst: QPACK::_write_insert_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:435,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:435,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:435,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:436,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:437,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:437,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:437,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:444,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:444,1
    - Dst: QPACK::_write_insert_without_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:446,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:446,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:447,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:447,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:447,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:451,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:451,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:451,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:451,1
    - Dst: QPACK::_write_insert_without_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:453,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:453,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:453,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:453,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:454,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:454,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:454,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:455,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:455,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:455,1
    - Dst: QPACK::_encode_indexed_header_field
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:463,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:464,1
    - Dst: QPACK::_encode_indexed_header_field
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:469,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:470,1
    - Dst: QPACK::_encode_indexed_header_field_with_postbase_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:473,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:475,1
    - Dst: QPACK::_dynamic_table::ref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:478,1
    - Dst: QPACK::_encode_literal_header_field_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:481,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:481,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:481,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:483,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:485,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:485,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:485,1
    - Dst: QPACK::_encode_literal_header_field_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:489,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:489,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:489,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:491,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:493,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:493,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:493,1
    - Dst: QPACK::_encode_literal_header_field_with_postbase_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:495,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:495,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:496,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:497,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:498,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:498,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:498,1
    - Dst: QPACK::_dynamic_table::ref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:500,1
    - Dst: QPACK::_encode_literal_header_field_without_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:503,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:503,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:503,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:503,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:505,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:506,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:506,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:506,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:506,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:506,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:509,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 106
    argCount: 4
    argNames:
    - field
    - base_index
    - compressed_header
    - referred_index
    argTypes:
    - MIMEField
    - uint16_t
    - IOBufferBlock*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 512
    functionName: QPACK::_encode_header
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - MIMEField::name_get
    - QPACK::_write_insert_without_name_ref
    - QPACK::_dynamic_table::lookup
    - QPACK::_encode_indexed_header_field
    - QPACK::_write_insert_with_name_ref
    - HpackStaticTable::lookup
    - ParseRules::ink_tolower
    - QPACK::_encode_literal_header_field_with_postbase_name_ref
    - QPACK::_dynamic_table::insert_entry
    - QPACK::_arena::str_store
    - QPACK::_arena::str_free
    - auto::data
    - static_cast<int>
    - QPACK::_dynamic_table::ref_entry
    - QPACK::_encode_literal_header_field_without_name_ref
    - auto::length
    - QPACK::_write_duplicate
    - QPACK::_encode_indexed_header_field_with_postbase_index
    - QPACKDebug
    - QPACK::_dynamic_table::should_duplicate
    - QPACK::_dynamic_table::duplicate_entry
    - QPACK::_encode_literal_header_field_with_name_ref
    - MIMEField::value_get
    linkageType: ''
    returnType: int
    signature: int QPACK::_encode_header(const MIMEField &field, uint16_t base_index,
      IOBufferBlock *compressed_header, uint16_t &referred_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:517,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:518,1
    - Dst: QPACK::_calc_relative_index_from_absolute_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:527,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:534,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:534,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:534,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - index
    - base_index
    - dynamic_table
    - compressed_header
    argTypes:
    - uint16_t
    - uint16_t
    - bool
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 544
    functionName: QPACK::_encode_indexed_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - xpack_encode_integer
    - IOBufferBlock*::end
    - QPACK::_calc_relative_index_from_absolute_index
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_encode_indexed_header_field(uint16_t index, uint16_t base_index,
      bool dynamic_table, IOBufferBlock *compressed_header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:550,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:551,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:559,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:559,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:559,1
    - Dst: QPACK::_calc_postbase_index_from_absolute_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:560,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - index
    - base_index
    - compressed_header
    argTypes:
    - uint16_t
    - uint16_t
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 569
    functionName: QPACK::_encode_indexed_header_field_with_postbase_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - QPACK::_calc_postbase_index_from_absolute_index
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - xpack_encode_integer
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: "int QPACK::_encode_indexed_header_field_with_postbase_index(uint16_t
      index, uint16_t base_index, bool /* never_index ATS_UNUSED */,\n                                                        IOBufferBlock
      *compressed_header)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:575,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:576,1
    - Dst: QPACK::_calc_relative_index_from_absolute_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:589,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:596,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:596,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:596,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:603,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:603,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:603,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - index
    - dynamic_table
    - base_index
    - value
    - value_len
    - never_index
    - compressed_header
    argTypes:
    - uint16_t
    - bool
    - uint16_t
    - char*
    - int
    - bool
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 613
    functionName: QPACK::_encode_literal_header_field_with_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - xpack_encode_string
    - reinterpret_cast<uint8_t *>
    - xpack_encode_integer
    - IOBufferBlock*::end
    - QPACK::_calc_relative_index_from_absolute_index
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: "int QPACK::_encode_literal_header_field_with_name_ref(uint16_t index,
      bool dynamic_table, uint16_t base_index, const char *value,\n                                                  int
      value_len, bool never_index, IOBufferBlock *compressed_header)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:619,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:620,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:632,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:632,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:632,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:639,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:639,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:639,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - name
    - name_len
    - value
    - value_len
    - never_index
    - compressed_header
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 649
    functionName: QPACK::_encode_literal_header_field_without_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - xpack_encode_string
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: "int QPACK::_encode_literal_header_field_without_name_ref(const char
      *name, int name_len, const char *value, int value_len,\n                                                     bool
      never_index, IOBufferBlock *compressed_header)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:655,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:656,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:668,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:668,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:668,1
    - Dst: QPACK::_calc_postbase_index_from_absolute_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:669,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:675,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:675,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:675,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - index
    - base_index
    - value
    - value_len
    - never_index
    - compressed_header
    argTypes:
    - uint16_t
    - uint16_t
    - char*
    - int
    - bool
    - IOBufferBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 685
    functionName: QPACK::_encode_literal_header_field_with_postbase_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - QPACK::_calc_postbase_index_from_absolute_index
    - IOBufferBlock*::fill
    - xpack_encode_string
    - reinterpret_cast<uint8_t *>
    - xpack_encode_integer
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: "int QPACK::_encode_literal_header_field_with_postbase_name_ref(uint16_t
      index, uint16_t base_index, const char *value, int value_len,\n                                                           bool
      never_index, IOBufferBlock *compressed_header)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:693,1
    - Dst: HpackStaticTable::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:707,1
    - Dst: QPACK::_dynamic_table::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:709,1
    - Dst: QPACK::_calc_absolute_index_from_relative_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:709,1
    - Dst: QPACK::_attach_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:717,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:720,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:721,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - base_index
    - buf
    - buf_len
    - hdr
    - header_len
    argTypes:
    - int16_t
    - uint8_t*
    - size_t
    - HTTPHdr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 724
    functionName: QPACK::_decode_indexed_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - xpack_decode_integer
    - QPACKDebug
    - QPACK::_dynamic_table::lookup
    - QPACK::_calc_absolute_index_from_relative_index
    - QPACK::_attach_header
    - HpackStaticTable::lookup
    linkageType: ''
    returnType: int
    signature: int QPACK::_decode_indexed_header_field(int16_t base_index, const uint8_t
      *buf, size_t buf_len, HTTPHdr &hdr, uint32_t &header_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:740,1
    - Dst: HpackStaticTable::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:754,1
    - Dst: QPACK::_dynamic_table::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:756,1
    - Dst: QPACK::_calc_absolute_index_from_relative_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:756,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:766,1
    - Dst: QPACK::_attach_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:772,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:775,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:776,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:776,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - base_index
    - buf
    - buf_len
    - hdr
    - header_len
    argTypes:
    - int16_t
    - uint8_t*
    - size_t
    - HTTPHdr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 781
    functionName: QPACK::_decode_literal_header_field_with_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - xpack_decode_integer
    - xpack_decode_string
    - QPACKDebug
    - QPACK::_dynamic_table::lookup
    - QPACK::_calc_absolute_index_from_relative_index
    - QPACK::_attach_header
    - QPACK::_arena::str_free
    - HpackStaticTable::lookup
    linkageType: ''
    returnType: int
    signature: "int QPACK::_decode_literal_header_field_with_name_ref(int16_t base_index,
      const uint8_t *buf, size_t buf_len, HTTPHdr &hdr,\n                                                  uint32_t
      &header_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:798,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:805,1
    - Dst: QPACK::_attach_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:811,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:814,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:814,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:815,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:817,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - buf_len
    - hdr
    - header_len
    argTypes:
    - uint8_t*
    - size_t
    - HTTPHdr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 821
    functionName: QPACK::_decode_literal_header_field_without_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - QPACKDebug
    - xpack_decode_string
    - QPACK::_attach_header
    - QPACK::_arena::str_free
    - static_cast<uint16_t>
    linkageType: ''
    returnType: int
    signature: int QPACK::_decode_literal_header_field_without_name_ref(const uint8_t
      *buf, size_t buf_len, HTTPHdr &hdr, uint32_t &header_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:830,1
    - Dst: QPACK::_dynamic_table::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:843,1
    - Dst: QPACK::_calc_absolute_index_from_postbase_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:843,1
    - Dst: QPACK::_attach_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:850,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:853,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:854,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - base_index
    - buf
    - buf_len
    - hdr
    - header_len
    argTypes:
    - int16_t
    - uint8_t*
    - size_t
    - HTTPHdr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 857
    functionName: QPACK::_decode_indexed_header_field_with_postbase_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - xpack_decode_integer
    - QPACKDebug
    - QPACK::_dynamic_table::lookup
    - QPACK::_attach_header
    - QPACK::_calc_absolute_index_from_postbase_index
    linkageType: ''
    returnType: int
    signature: "int QPACK::_decode_indexed_header_field_with_postbase_index(int16_t
      base_index, const uint8_t *buf, size_t buf_len, HTTPHdr &hdr,\n                                                        uint32_t
      &header_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:873,1
    - Dst: QPACK::_dynamic_table::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:886,1
    - Dst: QPACK::_calc_absolute_index_from_postbase_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:886,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:895,1
    - Dst: QPACK::_attach_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:901,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:904,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:905,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:905,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:905,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - base_index
    - buf
    - buf_len
    - hdr
    - header_len
    argTypes:
    - int16_t
    - uint8_t*
    - size_t
    - HTTPHdr
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 910
    functionName: QPACK::_decode_literal_header_field_with_postbase_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - xpack_decode_integer
    - xpack_decode_string
    - QPACKDebug
    - QPACK::_dynamic_table::lookup
    - QPACK::_attach_header
    - QPACK::_arena::str_free
    - QPACK::_calc_absolute_index_from_postbase_index
    - static_cast<uint16_t>
    linkageType: ''
    returnType: int
    signature: "int QPACK::_decode_literal_header_field_with_postbase_name_ref(int16_t
      base_index, const uint8_t *buf, size_t buf_len, HTTPHdr &hdr,\n                                                           uint32_t
      &header_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:921,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:929,1
    - Dst: QPACK::_decode_indexed_header_field
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:950,1
    - Dst: QPACK::_decode_literal_header_field_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:952,1
    - Dst: QPACK::_decode_literal_header_field_without_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:954,1
    - Dst: QPACK::_decode_indexed_header_field_with_postbase_index
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:956,1
    - Dst: QPACK::_decode_literal_header_field_with_postbase_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:958,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - header_block
    - header_block_len
    - hdr
    argTypes:
    - uint8_t*
    - size_t
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 975
    functionName: QPACK::_decode_header
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - xpack_decode_integer
    - QPACK::_decode_literal_header_field_with_name_ref
    - QPACK::_decode_indexed_header_field_with_postbase_index
    - QPACK::_decode_literal_header_field_with_postbase_name_ref
    - QPACK::_decode_literal_header_field_without_name_ref
    - QPACK::_decode_indexed_header_field
    linkageType: ''
    returnType: int
    signature: int QPACK::_decode_header(const uint8_t *header_block, size_t header_block_len,
      HTTPHdr &hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPACK::_decode_header
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:982,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:985,1
    - Dst: QPACK::_write_header_acknowledgement
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:988,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - ethread
    - cont
    - stream_id
    - header_block
    - header_block_len
    - hdr
    argTypes:
    - EThread*
    - Continuation*
    - uint64_t
    - uint8_t*
    - size_t
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 977
    functionDepth: 4
    functionLinenumber: 977
    functionLinenumberEnd: 991
    functionName: QPACK::_decode
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - QPACK::_write_header_acknowledgement
    - EThread*::schedule_imm
    - QPACKDebug
    - QPACK::_decode_header
    linkageType: ''
    returnType: void
    signature: "void QPACK::_decode(EThread *ethread, Continuation *cont, uint64_t
      stream_id, const uint8_t *header_block, size_t header_block_len,\n               HTTPHdr
      &hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPACK::_blocked_list::count
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:996,1
    - Dst: QPACK::_blocked_list::append
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decode_request
    argTypes:
    - DecodeRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1002
    functionName: QPACK::_add_to_blocked_list
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - QPACK::_blocked_list::append
    - QPACK::_blocked_list::count
    linkageType: ''
    returnType: bool
    signature: bool QPACK::_add_to_blocked_list(DecodeRequest *decode_request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insert_count
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: QPACK::_update_largest_known_received_index_by_insert_count
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::_update_largest_known_received_index_by_insert_count(uint16_t
      insert_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1017
    functionName: QPACK::_update_largest_known_received_index_by_stream_id
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::_update_largest_known_received_index_by_stream_id(uint64_t
      stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPACK::_dynamic_table::unref_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: QPACK::_update_reference_counts
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - QPACK::_dynamic_table::unref_entry
    linkageType: ''
    returnType: void
    signature: void QPACK::_update_reference_counts(uint64_t stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPACK::_blocked_list::head
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1031,1
    - Dst: DecodeRequest*::largest_reference
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1033,1
    - Dst: QPACK::_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::thread
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::continuation
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::stream_id
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::header_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::header_block_len
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest*::hdr
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1034,1
    - Dst: DecodeRequest::Linkage::next_ptr
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1036,1
    - Dst: QPACK::_blocked_list::erase
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1037,1
    - Dst: DecodeRequest::Linkage::next_ptr
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1028
    functionDepth: 5
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    functionName: QPACK::_resume_decode
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - DecodeRequest*::thread
    - QPACK::_blocked_list::head
    - QPACK::_blocked_list::erase
    - DecodeRequest*::largest_reference
    - DecodeRequest*::header_block_len
    - DecodeRequest*::stream_id
    - DecodeRequest*::header_block
    - DecodeRequest*::hdr
    - QPACK::_decode
    - DecodeRequest*::continuation
    - DecodeRequest::Linkage::next_ptr
    linkageType: ''
    returnType: void
    signature: void QPACK::_resume_decode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPACK::_blocked_list::head
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1050,1
    - Dst: DecodeRequest*::largest_reference
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1052,1
    - Dst: DecodeRequest*::thread
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1053,1
    - Dst: DecodeRequest*::continuation
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1053,1
    - Dst: DecodeRequest::Linkage::next_ptr
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1055,1
    - Dst: QPACK::_blocked_list::erase
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1056,1
    - Dst: DecodeRequest::Linkage::next_ptr
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1062
    functionName: QPACK::_abort_decode
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - DecodeRequest*::thread
    - QPACK::_blocked_list::head
    - QPACK::_blocked_list::erase
    - DecodeRequest*::largest_reference
    - DecodeRequest*::continuation
    - DecodeRequest::Linkage::next_ptr
    linkageType: ''
    returnType: void
    signature: void QPACK::_abort_decode()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1068,1
    - Dst: QPACK::_on_decoder_stream_read_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1071,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1071,1
    - Dst: QPACK::_on_encoder_stream_read_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1073,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1073,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1080
    functionName: QPACK::_on_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - VIO*::get_reader
    - static_cast<QUICStreamVCAdapter *>
    - QPACK::_on_decoder_stream_read_ready
    - QPACK::_on_encoder_stream_read_ready
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_read_ready(VIO *vio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1085,1
    - Dst: QPACK::_on_decoder_write_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1088,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1088,1
    - Dst: QPACK::_on_encoder_write_ready
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1090,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1090,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1095
    functionName: QPACK::_on_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - static_cast<QUICStreamVCAdapter *>
    - QPACK::_on_decoder_write_ready
    - QPACK::_on_encoder_write_ready
    - VIO*::get_writer
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_write_ready(VIO *vio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1100,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1102,1
    - Dst: QPACK::_read_header_acknowledgement
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1105,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1106,1
    - Dst: QPACK::_update_largest_known_received_index_by_stream_id
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1107,1
    - Dst: QPACK::_update_reference_counts
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1108,1
    - Dst: QPACK::_references::erase
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1109,1
    - Dst: QPACK::_read_stream_cancellation
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1113,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1114,1
    - Dst: QPACK::_update_reference_counts
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1115,1
    - Dst: QPACK::_references::erase
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1116,1
    - Dst: QPACK::_read_table_state_synchronize
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1120,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1121,1
    - Dst: QPACK::_update_largest_known_received_index_by_insert_count
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1128
    functionName: QPACK::_on_decoder_stream_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::is_read_avail_more_than
    - QPACK::_update_largest_known_received_index_by_insert_count
    - QPACKDebug
    - QPACK::_update_reference_counts
    - QPACK::_update_largest_known_received_index_by_stream_id
    - QPACK::_read_table_state_synchronize
    - IOBufferReader::memcpy
    - QPACK::_read_stream_cancellation
    - QPACK::_references::erase
    - QPACK::_read_header_acknowledgement
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_decoder_stream_read_ready(IOBufferReader &reader)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1133,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1135,1
    - Dst: QPACK::_read_insert_with_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1145,1
    - Dst: QPACK::_abort_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1146,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1149,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1149,1
    - Dst: HpackStaticTable::lookup
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1151,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1152,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1153,1
    - Dst: QPACK::_read_insert_without_name_ref
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1159,1
    - Dst: QPACK::_abort_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1160,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1163,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1163,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1164,1
    - Dst: QPACK::_dynamic_table::insert_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1165,1
    - Dst: QPACK::_arena::str_free
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1166,1
    - Dst: QPACK::_read_dynamic_table_size_update
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1169,1
    - Dst: QPACK::_abort_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1170,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1173,1
    - Dst: QPACK::_dynamic_table::update_maximum_size
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1174,1
    - Dst: QPACK::_read_duplicate
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1177,1
    - Dst: QPACK::_abort_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1178,1
    - Dst: QPACKDebug
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1181,1
    - Dst: QPACK::_dynamic_table::duplicate_entry
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1182,1
    - Dst: QPACK::_resume_decode
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1130
    functionDepth: 6
    functionLinenumber: 1130
    functionLinenumberEnd: 1189
    functionName: QPACK::_on_encoder_stream_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - IOBufferReader::is_read_avail_more_than
    - QPACK::_read_insert_without_name_ref
    - QPACKDebug
    - QPACK::_abort_decode
    - QPACK::_dynamic_table::insert_entry
    - QPACK::_read_insert_with_name_ref
    - IOBufferReader::memcpy
    - QPACK::_dynamic_table::duplicate_entry
    - QPACK::_arena::str_free
    - HpackStaticTable::lookup
    - QPACK::_read_dynamic_table_size_update
    - QPACK::_read_duplicate
    - QPACK::_resume_decode
    - QPACK::_dynamic_table::update_maximum_size
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_encoder_stream_read_ready(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1194,1
    - Dst: QPACK::_decoder_stream_sending_instructions_reader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - MIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1197
    functionName: QPACK::_on_decoder_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - MIOBuffer::write
    - QPACK::_decoder_stream_sending_instructions_reader::consume
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_decoder_write_ready(MIOBuffer &writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1202,1
    - Dst: QPACK::_encoder_stream_sending_instructions_reader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - MIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1205
    functionName: QPACK::_on_encoder_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - MIOBuffer::write
    - QPACK::_encoder_stream_sending_instructions_reader::consume
    linkageType: ''
    returnType: int
    signature: int QPACK::_on_encoder_write_ready(MIOBuffer &writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1212
    functionName: QPACK::estimate_header_block_size
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t QPACK::estimate_header_block_size(const HTTPHdr & /* hdr ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - index
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - uint16_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1223
    functionName: QPACK::StaticTable::lookup(uint16_t index, const char **name, size_t
      *name_len, const char **value, size_t *value_len)
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult QPACK::StaticTable::lookup(uint16_t index, const
      char **name, size_t *name_len, const char **value, size_t *value_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1231,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1236,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1250
    functionName: QPACK::StaticTable::lookup(const char *name, size_t name_len, const
      char *value, size_t value_len)
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - countof
    linkageType: ''
    returnType: XpackLookupResult
    signature: XpackLookupResult QPACK::StaticTable::lookup(const char *name, size_t
      name_len, const char *value, size_t value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_index
    - relative_index
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: QPACK::_calc_absolute_index_from_relative_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QPACK::_calc_absolute_index_from_relative_index(uint16_t base_index,
      uint16_t relative_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_index
    - postbase_index
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1262
    functionName: QPACK::_calc_absolute_index_from_postbase_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QPACK::_calc_absolute_index_from_postbase_index(uint16_t base_index,
      uint16_t postbase_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_index
    - absolute_index
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    functionName: QPACK::_calc_relative_index_from_absolute_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QPACK::_calc_relative_index_from_absolute_index(uint16_t base_index,
      uint16_t absolute_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_index
    - absolute_index
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: QPACK::_calc_postbase_index_from_absolute_index
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t QPACK::_calc_postbase_index_from_absolute_index(uint16_t base_index,
      uint16_t absolute_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1281,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1281,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1282,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1282,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - hdr
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - HTTPHdr
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1284
    functionName: QPACK::_attach_header
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 5
    functionsReached:
    - MIMEField*::value_set
    - static_cast<std::string_view::size_type>
    - HTTPHdr::field_attach
    - HTTPHdr::field_create
    linkageType: ''
    returnType: void
    signature: "void QPACK::_attach_header(HTTPHdr &hdr, const char *name, int name_len,
      const char *value, int value_len,\n                      bool /* never_index
      ATS_UNUSED */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1289,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1290,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1292,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1293,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1306,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1306,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1306,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1313,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1313,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1313,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1320,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - index
    - dynamic
    - value
    - value_len
    argTypes:
    - uint16_t
    - bool
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1324
    functionName: QPACK::_write_insert_with_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - xpack_encode_string
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_insert_with_name_ref(uint16_t index, bool dynamic,
      const char *value, uint16_t value_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1329,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1330,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1332,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1333,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1341,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1341,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1341,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1348,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1348,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1348,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1355,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1359
    functionName: QPACK::_write_insert_without_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - xpack_encode_string
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_insert_without_name_ref(const char *name, int name_len,
      const char *value, uint16_t value_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1364,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1365,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1367,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1368,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1373,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1373,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1373,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1380,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1384
    functionName: QPACK::_write_duplicate
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_duplicate(uint16_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1389,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1390,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1392,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1393,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1401,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1401,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1401,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1408,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1412
    functionName: QPACK::_write_dynamic_table_size_update
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_dynamic_table_size_update(uint16_t max_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1417,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1418,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1420,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1421,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1426,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1426,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1426,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1433,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - insert_count
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1437
    functionName: QPACK::_write_table_state_synchronize
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_table_state_synchronize(uint16_t insert_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1442,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1443,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1445,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1446,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1454,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1454,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1454,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1461,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1465
    functionName: QPACK::_write_header_acknowledgement
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_header_acknowledgement(uint64_t stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1470,1
    - Dst: IOBufferBlock*::alloc
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1471,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1473,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1474,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1482,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1482,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1482,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1489,1
    - Dst: QPACK::_encoder_stream_sending_instructions::append_block
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1493
    functionName: QPACK::_write_stream_cancellation
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::fill
    - reinterpret_cast<uint8_t *>
    - IOBufferBlock*::alloc
    - QPACK::_encoder_stream_sending_instructions::append_block
    - xpack_encode_integer
    - IOBufferBlock*::end
    - new_IOBufferBlock
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int QPACK::_write_stream_cancellation(uint64_t stream_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1502,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1502,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1510,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1517,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - reader
    - is_static
    - index
    - arena
    - value
    - value_len
    argTypes:
    - IOBufferReader
    - bool
    - uint16_t
    - Arena
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1526
    functionName: QPACK::_read_insert_with_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - xpack_decode_integer
    - xpack_decode_string
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    - IOBufferReader::memcpy
    linkageType: ''
    returnType: int
    signature: "int QPACK::_read_insert_with_name_ref(IOBufferReader &reader, bool
      &is_static, uint16_t &index, Arena &arena, char **value,\n                                  size_t
      &value_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1535,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1535,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1540,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1547,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - reader
    - arena
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - IOBufferReader
    - Arena
    - char**
    - size_t
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1556
    functionName: QPACK::_read_insert_without_name_ref
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - IOBufferReader::consume
    - xpack_decode_string
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: "int QPACK::_read_insert_without_name_ref(IOBufferReader &reader, Arena
      &arena, char **name, size_t &name_len, char **value,\n                                     size_t
      &value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1564,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1564,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1569,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - reader
    - index
    argTypes:
    - IOBufferReader
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1578
    functionName: QPACK::_read_duplicate
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - xpack_decode_integer
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: int QPACK::_read_duplicate(IOBufferReader &reader, uint16_t &index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1586,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1586,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1591,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - reader
    - max_size
    argTypes:
    - IOBufferReader
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1600
    functionName: QPACK::_read_dynamic_table_size_update
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - xpack_decode_integer
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: int QPACK::_read_dynamic_table_size_update(IOBufferReader &reader,
      uint16_t &max_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1608,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1608,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1613,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - reader
    - insert_count
    argTypes:
    - IOBufferReader
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1622
    functionName: QPACK::_read_table_state_synchronize
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - xpack_decode_integer
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: int QPACK::_read_table_state_synchronize(IOBufferReader &reader, uint16_t
      &insert_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1630,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1630,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1635,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - reader
    - stream_id
    argTypes:
    - IOBufferReader
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1643
    functionName: QPACK::_read_header_acknowledgement
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - xpack_decode_integer
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: int QPACK::_read_header_acknowledgement(IOBufferReader &reader, uint64_t
      &stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1651,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1651,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1656,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/QPACK.cc:1661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - reader
    - stream_id
    argTypes:
    - IOBufferReader
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1664
    functionName: QPACK::_read_stream_cancellation
    functionSourceFile: /src/trafficserver/src/proxy/http3/QPACK.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader::memcpy
    - xpack_decode_integer
    - IOBufferReader::consume
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: int
    signature: int QPACK::_read_stream_cancellation(IOBufferReader &reader, uint64_t
      &stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:35,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:36,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:36,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:36,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:36,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: HQSession::HQSession
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::length
    - min
    - NetVConnection*::get_service
    - auto::data
    linkageType: ''
    returnType: void
    signature: void HQSession::HQSession(NetVConnection *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: HQSession::~HQSession()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQSession::~HQSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQSession::_transaction_list::enqueue
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - trans
    argTypes:
    - HQTransaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: HQSession::add_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - HQSession::_transaction_list::enqueue
    linkageType: ''
    returnType: void
    signature: void HQSession::add_transaction(HQTransaction *trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQSession::_transaction_list::remove
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - trans
    argTypes:
    - HQTransaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: HQSession::remove_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - HQSession::_transaction_list::remove
    linkageType: ''
    returnType: void
    signature: void HQSession::remove_transaction(HQTransaction *trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: HQSession::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HQSession::get_protocol_string() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HQSession::_vc::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:73,1
    - Dst: SSLNetVConnection::populate_protocol
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - size
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: HQSession::populate_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::populate_protocol
    - HQSession::_vc::get_service
    linkageType: ''
    returnType: int
    signature: int HQSession::populate_protocol(std::string_view *result, int size)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HQTransaction *>
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:84,1
    - Dst: HQTransaction*::get_transaction_id
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: HQSession::get_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HQTransaction*::get_transaction_id
    - static_cast<HQTransaction *>
    linkageType: ''
    returnType: HQTransaction
    signature: 'HQTransaction *

      HQSession::get_transaction(QUICStreamId id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: HQSession::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQSession::do_io_close(int /* lerrno ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: HQSession::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQSession::do_io_shutdown(ShutdownHowTo_t /* howto ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: HQSession::reenable
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQSession::reenable(VIO * /* vio ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:117,1
    - Dst: HQSession::_handle_if_ssl
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:118,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: HQSession::new_connection
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - do_api_callout
    - NetVConnection*::get_service
    - HQSession::_handle_if_ssl
    linkageType: ''
    returnType: void
    signature: void HQSession::new_connection(NetVConnection *new_vc, MIOBuffer *
      /* iobuf ATS_UNUSED */, IOBufferReader * /* reader ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:126,1
    - Dst: HQSession::do_io_read
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:127,1
    - Dst: HQSession::do_io_write
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: HQSession::start
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - HQSession::do_io_read
    - HQSession::do_io_write
    linkageType: ''
    returnType: void
    signature: void HQSession::start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: HQSession::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQSession::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: HQSession::free
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQSession::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: HQSession::release
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQSession::release(ProxyTransaction * /* trans ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: HQSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HQSession::get_transact_count() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HQSession::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:164,1
    - Dst: static_cast<HQTransaction *>
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:165,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:166,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:166,1
    - Dst: HQTransaction*::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: HQSession::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - static_cast<HQTransaction *>
    - this_ethread
    - HQTransaction*::handleEvent
    - HQSession::do_io_close
    linkageType: ''
    returnType: int
    signature: int HQSession::main_event_handler(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:180,1
    - Dst: QPACK::QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:182,1
    - Dst: QPACK::QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Http3Session::Http3Session
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::get_service
    - QPACK::QPACK
    linkageType: ''
    returnType: void
    signature: void Http3Session::Http3Session(NetVConnection *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: Http3Session::~Http3Session()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Session::~Http3Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: Http3Session::get_version
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion Http3Session::get_version(HTTPHdr & /* hdr ATS_UNUSED */)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: Http3Session::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Session::increment_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: Http3Session::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Session::decrement_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Http3Session::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3Session::get_protocol_string() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Http3Session::local_qpack
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPACK
    signature: 'QPACK *

      Http3Session::local_qpack()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: Http3Session::remote_qpack
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPACK
    signature: 'QPACK *

      Http3Session::remote_qpack()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: Http3Session::get_received_frame_counter
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http3FrameCounter
    signature: 'Http3FrameCounter *

      Http3Session::get_received_frame_counter()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: Http3Session::is_protocol_framed
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3Session::is_protocol_framed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Session::_received_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http3/Http3Session.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: Http3Session::get_received_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached:
    - Http3Session::_received_frame_counter::get_count
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3Session::get_received_frame_count(uint64_t type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: Http09Session::~Http09Session()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09Session::~Http09Session()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: Http09Session::get_version
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion Http09Session::get_version(HTTPHdr & /* hdr ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: Http09Session::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09Session::increment_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: Http09Session::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Session.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09Session::decrement_current_active_connections_stat()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Types.cc:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Types.cc:32,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Types.cc:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Types.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: Http3Stream::type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Types.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Http3StreamType
    signature: Http3StreamType Http3Stream::type(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http09Session::Http09Session
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:51,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:52,1
    - Dst: Http09App::_ssn::new_connection
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:54,1
    - Dst: Http09App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:56,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - client_vc
    - qc
    - session_acl
    - options
    argTypes:
    - NetVConnection*
    - QUICConnection*
    - IpAllow::ACL
    - HttpSessionAccept::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: Http09App::Http09App
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http09App.cc
    functionUses: 0
    functionsReached:
    - Http09App::_ssn::new_connection
    - Http09App::_qc::stream_manager
    - Http09Session::Http09Session
    - SET_HANDLER
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Http09App::Http09App(NetVConnection *client_vc, QUICConnection
      *qc, IpAllow::ACL &&session_acl,\n                     const HttpSessionAccept::Options
      &options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Http09App::~Http09App()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http09App.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09App::~Http09App()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http09App::_streams::emplace
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:69,1
    - Dst: QUICStream::id
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:69,1
    - Dst: QUICStream::direction
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:72,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:74,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:75,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:78,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:81,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:84,1
    - Dst: QUICStream::set_io_adapter
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: Http09App::on_stream_open
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http09App.cc
    functionUses: 0
    functionsReached:
    - Http09App::_streams::emplace
    - QUICStream::id
    - QUICStream::set_io_adapter
    - auto::setup_read_vio
    - QUICStream::direction
    - auto::setup_write_vio
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http09App::on_stream_open(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Http09App::on_stream_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http09App.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09App::on_stream_close(QUICStream & /* stream ATS_UNUSED */)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:99,1
    - Dst: Http09App::_qc::cids
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:99,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:99,1
    - Dst: reinterpret_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:101,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:102,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:105,1
    - Dst: Http09App::_qc::cids
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:105,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:109,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:111,1
    - Dst: static_cast<Http09Transaction *>
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:112,1
    - Dst: Http09App::_ssn::get_transaction
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:112,1
    - Dst: Http09App::_streams::find
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:123,1
    - Dst: Http09App::_streams::end
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:123,1
    - Dst: Http09Transaction::Http09Transaction
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:124,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:125,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:125,1
    - Dst: Http09Transaction*::new_transaction
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:126,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:128,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:131,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:131,1
    - Dst: Http09Transaction*::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:132,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:138,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:138,1
    - Dst: Http09Transaction*::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:139,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http09App.cc:146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: Http09App::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http09App.cc
    functionUses: 0
    functionsReached:
    - Http09App::_streams::end
    - Http09App::_ssn::get_transaction
    - static_cast<QUICStreamVCAdapter *>
    - Http09Transaction::Http09Transaction
    - Http09Transaction*::new_transaction
    - Http09Transaction*::handleEvent
    - SCOPED_MUTEX_LOCK
    - static_cast<Http09Transaction *>
    - Dbg
    - reinterpret_cast<VIO *>
    - Http09App::_streams::find
    - this_ethread
    - Http09App::_qc::cids
    - QUICStreamVCAdapter*::stream
    - get_vc_event_name
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Http09App::main_event_handler(int event, Event *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Http3FrameCounter::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> Http3FrameCounter::interests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:40,1
    - Dst: std::shared_ptr<const Http3Frame>::type
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:41,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:45,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:46,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - frame
    argTypes:
    - std::shared_ptr<const Http3Frame>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: Http3FrameCounter::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - Http3ErrorUPtr
    - std::shared_ptr<const Http3Frame>::type
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3FrameCounter::handle_frame(std::shared_ptr<const
      Http3Frame> frame, Http3StreamType /* s_type ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Http3FrameCounter::get_count
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameCounter.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3FrameCounter::get_count(uint64_t type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: Http3ProtocolEnforcer::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> Http3ProtocolEnforcer::interests()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:39,1
    - Dst: std::shared_ptr<const Http3Frame>::type
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:40,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:43,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:46,1
    - Dst: Http3DebugNames::frame_type
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:50,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:51,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:52,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:52,1
    - Dst: Http3DebugNames::frame_type
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:60,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:61,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc:62,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - frame
    - s_type
    argTypes:
    - std::shared_ptr<const Http3Frame>
    - Http3StreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 67
    functionName: Http3ProtocolEnforcer::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3ProtocolEnforcer.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - std::make_unique<Http3Error>
    - Http3DebugNames::frame_type
    - Http3ErrorUPtr
    - std::string::c_str
    - std::shared_ptr<const Http3Frame>::type
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3ProtocolEnforcer::handle_frame(std::shared_ptr<const
      Http3Frame> frame, Http3StreamType s_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - transaction
    - source
    - qpack
    - stream_id
    argTypes:
    - Http3Transaction*
    - VIO*
    - QPACK*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Http3HeaderFramer::Http3HeaderFramer
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc
    functionUses: 0
    functionsReached:
    - http_parser_init
    linkageType: ''
    returnType: void
    signature: void Http3HeaderFramer::Http3HeaderFramer(Http3Transaction *transaction,
      VIO *source, QPACK *qpack, uint64_t stream_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:47,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: Http3HeaderFramer::~Http3HeaderFramer()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    - destroy
    linkageType: ''
    returnType: void
    signature: void Http3HeaderFramer::~Http3HeaderFramer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http3HeaderFramer::_source_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:56,1
    - Dst: Http3FrameFactory::create_null_frame
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:57,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:60,1
    - Dst: Http3HeaderFramer::_transaction::is_response_header_sent
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:60,1
    - Dst: Http3HeaderFramer::_generate_header_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:64,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:68,1
    - Dst: UINT64_C
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:68,1
    - Dst: Http3FrameFactory::create_headers_frame
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:70,1
    - Dst: Http3FrameFactory::create_null_frame
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: Http3HeaderFramer::generate_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc
    functionUses: 0
    functionsReached:
    - Http3HeaderFramer::_transaction::is_response_header_sent
    - Http3FrameFactory::create_headers_frame
    - Http3HeaderFramer::_generate_header_block
    - Http3HeaderFramer::_source_vio::get_reader
    - min
    - UINT64_C
    - Http3FrameFactory::create_null_frame
    - ink_assert
    linkageType: ''
    returnType: Http3FrameUPtr
    signature: Http3FrameUPtr Http3HeaderFramer::generate_frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: Http3HeaderFramer::is_done
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3HeaderFramer::is_done() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http3HeaderFramer::_transaction::direction
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:96,1
    - Dst: Http3HeaderFramer::_header::create
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:97,1
    - Dst: Http3HeaderFramer::_header::parse_req
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:98,1
    - Dst: Http3HeaderFramer::_source_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:98,1
    - Dst: Http3HeaderFramer::_header::create
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:100,1
    - Dst: Http3HeaderFramer::_header::parse_resp
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:101,1
    - Dst: Http3HeaderFramer::_source_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:101,1
    - Dst: Http3HeaderFramer::_hvc::convert
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:107,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:109,1
    - Dst: Http3HeaderFramer::_header_block::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:110,1
    - Dst: Http3HeaderFramer::_qpack::encode
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 121
    functionName: Http3HeaderFramer::_generate_header_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderFramer.cc
    functionUses: 1
    functionsReached:
    - new_MIOBuffer
    - Http3HeaderFramer::_header::parse_req
    - Http3HeaderFramer::_header::create
    - Http3HeaderFramer::_source_vio::get_reader
    - Http3HeaderFramer::_transaction::direction
    - Http3HeaderFramer::_qpack::encode
    - Dbg
    - Http3HeaderFramer::_header_block::alloc_reader
    - Http3HeaderFramer::_hvc::convert
    - Http3HeaderFramer::_header::parse_resp
    linkageType: ''
    returnType: void
    signature: void Http3HeaderFramer::_generate_header_block()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:40,1
    - Dst: Http3HeaderVIOAdaptor::_header::create
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sink
    - http_type
    - qpack
    - stream_id
    argTypes:
    - VIO*
    - HTTPType
    - QPACK*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Http3HeaderVIOAdaptor::Http3HeaderVIOAdaptor
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Http3HeaderVIOAdaptor::_header::create
    linkageType: ''
    returnType: void
    signature: void Http3HeaderVIOAdaptor::Http3HeaderVIOAdaptor(VIO *sink, HTTPType
      http_type, QPACK *qpack, uint64_t stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3HeaderVIOAdaptor::_header::destroy
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Http3HeaderVIOAdaptor::~Http3HeaderVIOAdaptor()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - Http3HeaderVIOAdaptor::_header::destroy
    linkageType: ''
    returnType: void
    signature: void Http3HeaderVIOAdaptor::~Http3HeaderVIOAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Http3HeaderVIOAdaptor::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> Http3HeaderVIOAdaptor::interests()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:59,1
    - Dst: std::shared_ptr<const Http3Frame>::type
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:59,1
    - Dst: dynamic_cast<const Http3HeadersFrame *>
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:60,1
    - Dst: std::shared_ptr<const Http3Frame>::get
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:60,1
    - Dst: Http3HeaderVIOAdaptor::_qpack::decode
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:62,1
    - Dst: Http3HeadersFrame*::header_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:62,1
    - Dst: Http3HeadersFrame*::header_block_length
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:62,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:68,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:70,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:72,1
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - frame
    argTypes:
    - std::shared_ptr<const Http3Frame>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: Http3HeaderVIOAdaptor::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Http3HeadersFrame *>
    - ink_abort
    - std::shared_ptr<const Http3Frame>::get
    - Http3HeaderVIOAdaptor::_qpack::decode
    - Dbg
    - Http3HeadersFrame*::header_block_length
    - Http3HeadersFrame*::header_block
    - Http3ErrorUPtr
    - ink_assert
    - std::shared_ptr<const Http3Frame>::type
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3HeaderVIOAdaptor::handle_frame(std::shared_ptr<const
      Http3Frame> frame, Http3StreamType /* s_type */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: Http3HeaderVIOAdaptor::is_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3HeaderVIOAdaptor::is_complete()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:89,1
    - Dst: Http3HeaderVIOAdaptor::_on_qpack_decode_complete
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: Http3HeaderVIOAdaptor::event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Http3HeaderVIOAdaptor::_on_qpack_decode_complete
    linkageType: ''
    returnType: int
    signature: int Http3HeaderVIOAdaptor::event_handler(int event, Event * /* data
      ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HeaderValidator::is_h2_h3_header_valid
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:108,1
    - Dst: http_hdr_type_get
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:108,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:110,1
    - Dst: Http3HeaderVIOAdaptor::_hvc::convert
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:113,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:115,1
    - Dst: http_hdr_type_get
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:121,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:125,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:125,1
    - Dst: Http3HeaderVIOAdaptor::_sink_vio::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:126,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:141,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:143,1
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:144,1
    - Dst: Http3HeaderVIOAdaptor::_header::print
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:146,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:146,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:146,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:148,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 156
    functionName: Http3HeaderVIOAdaptor::_on_qpack_decode_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3HeaderVIOAdaptor.cc
    functionUses: 1
    functionsReached:
    - MIOBuffer*::get_current_block
    - MIOBuffer*::add_block
    - HeaderValidator::is_h2_h3_header_valid
    - SCOPED_MUTEX_LOCK
    - Dbg
    - MIOBuffer*::fill
    - this_ethread
    - Http3HeaderVIOAdaptor::_sink_vio::get_writer
    - Http3HeaderVIOAdaptor::_hvc::convert
    - http_hdr_type_get
    - IOBufferBlock*::end
    - Http3HeaderVIOAdaptor::_header::print
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: int
    signature: int Http3HeaderVIOAdaptor::_on_qpack_decode_complete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3FrameHandler*::interests
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:46,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - Http3FrameHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: Http3FrameDispatcher::add_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Http3FrameHandler*::interests
    - push_back
    linkageType: ''
    returnType: void
    signature: void Http3FrameDispatcher::add_handler(Http3FrameHandler *handler)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:53,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:59,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:61,1
    - Dst: QUICVariableInt::size
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:65,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:67,1
    - Dst: QUICVariableInt::size
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:75,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:77,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:87,1
    - Dst: IOBufferReader::clone
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:104,1
    - Dst: Http3FrameDispatcher::_frame_factory::fast_create
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:106,1
    - Dst: auto::dealloc
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:108,1
    - Dst: Http3FrameDispatcher::_current_frame::total_length
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:111,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:114,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:114,1
    - Dst: IOBufferReader::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:114,1
    - Dst: IOBufferReader::consume
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:115,1
    - Dst: Http3FrameDispatcher::_current_frame::update
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:119,1
    - Dst: Http3FrameDispatcher::_current_frame::type
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:121,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:122,1
    - Dst: Http3DebugNames::frame_type
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:122,1
    - Dst: Http3FrameDispatcher::_current_frame::total_length
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:123,1
    - Dst: Http3FrameDispatcher::_current_frame::total_length
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:123,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:124,1
    - Dst: handle_frame
      Src: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc:126,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - stream_id
    - stream_type
    - reader
    - nread
    argTypes:
    - QUICStreamId
    - Http3StreamType
    - IOBufferReader
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 141
    functionName: Http3FrameDispatcher::on_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3FrameDispatcher.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    - handle_frame
    - min
    - Http3FrameDispatcher::_current_frame::total_length
    - IOBufferReader::read_avail
    - Http3FrameDispatcher::_frame_factory::fast_create
    - IOBufferReader::consume
    - static_cast<uint8_t>
    - Http3ErrorUPtr
    - Http3FrameDispatcher::_current_frame::update
    - IOBufferReader::clone
    - Http3FrameDispatcher::_current_frame::type
    - Dbg
    - Http3DebugNames::frame_type
    - auto::dealloc
    - static_cast<uint64_t>
    - IOBufferReader::memcpy
    - reinterpret_cast<char *>
    - QUICVariableInt::size
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3FrameDispatcher::on_read_ready(QUICStreamId stream_id,
      Http3StreamType stream_type, IOBufferReader &reader, uint64_t &nread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Session::Http3Session
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:58,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:59,1
    - Dst: Http3App::_ssn::new_connection
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:61,1
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:63,1
    - Dst: Http3App::_control_stream_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:65,1
    - Dst: Http3App::_ssn::get_received_frame_counter
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:65,1
    - Dst: Http3ProtocolEnforcer::Http3ProtocolEnforcer
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:67,1
    - Dst: Http3App::_control_stream_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:68,1
    - Dst: Http3SettingsHandler::Http3SettingsHandler
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:70,1
    - Dst: Http3App::_control_stream_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:71,1
    - Dst: NetVConnection*::get_context
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:73,1
    - Dst: Http3SettingsFramer::Http3SettingsFramer
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:73,1
    - Dst: Http3App::_control_stream_collector::add_generator
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:74,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - client_vc
    - qc
    - session_acl
    - options
    argTypes:
    - NetVConnection*
    - QUICConnection*
    - IpAllow::ACL
    - HttpSessionAccept::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: Http3App::Http3App
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - Http3App::_qc::stream_manager
    - Http3Session::Http3Session
    - Http3SettingsHandler::Http3SettingsHandler
    - Http3App::_ssn::new_connection
    - Http3ProtocolEnforcer::Http3ProtocolEnforcer
    - Http3App::_ssn::get_received_frame_counter
    - NetVConnection*::get_context
    - Http3App::_control_stream_collector::add_generator
    - SET_HANDLER
    - std::move
    - Http3App::_control_stream_dispatcher::add_handler
    - Http3SettingsFramer::Http3SettingsFramer
    linkageType: ''
    returnType: void
    signature: "void Http3App::Http3App(NetVConnection *client_vc, QUICConnection
      *qc, IpAllow::ACL &&session_acl,\n                   const HttpSessionAccept::Options
      &options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Http3App::~Http3App()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3App::~Http3App()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::create_uni_stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: Http3App::start
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - Http3App::create_uni_stream
    linkageType: ''
    returnType: void
    signature: void Http3App::start()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_streams::emplace
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:109,1
    - Dst: QUICStream::id
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:109,1
    - Dst: QUICStream::direction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:112,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:114,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:115,1
    - Dst: auto::setup_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:118,1
    - Dst: auto::setup_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:121,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:124,1
    - Dst: QUICStream::set_io_adapter
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: Http3App::on_stream_open
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - QUICStream::id
    - QUICStream::set_io_adapter
    - auto::setup_read_vio
    - Http3App::_streams::emplace
    - QUICStream::direction
    - auto::setup_write_vio
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http3App::on_stream_open(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_streams::erase
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:134,1
    - Dst: QUICStream::id
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Http3App::on_stream_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - QUICStream::id
    - Http3App::_streams::erase
    linkageType: ''
    returnType: void
    signature: void Http3App::on_stream_close(QUICStream &stream)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:140,1
    - Dst: Http3App::_qc::cids
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:140,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:140,1
    - Dst: reinterpret_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:142,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:146,1
    - Dst: Http3App::_qc::cids
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:146,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:150,1
    - Dst: QUICStreamVCAdapter*::clear_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:154,1
    - Dst: Http3App::_handle_bidi_stream_on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:156,1
    - Dst: Http3App::_handle_uni_stream_on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:158,1
    - Dst: QUICStreamVCAdapter*::clear_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:162,1
    - Dst: Http3App::_handle_bidi_stream_on_read_complete
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:164,1
    - Dst: Http3App::_handle_uni_stream_on_read_complete
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:166,1
    - Dst: QUICStreamVCAdapter*::clear_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:170,1
    - Dst: Http3App::_handle_bidi_stream_on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:172,1
    - Dst: Http3App::_handle_uni_stream_on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:174,1
    - Dst: QUICStreamVCAdapter*::clear_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:178,1
    - Dst: Http3App::_handle_bidi_stream_on_write_complete
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:180,1
    - Dst: Http3App::_handle_uni_stream_on_write_complete
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:182,1
    - Dst: QUICStreamVCAdapter*::clear_eos_event
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:186,1
    - Dst: Http3App::_handle_bidi_stream_on_eos
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:188,1
    - Dst: Http3App::_handle_uni_stream_on_eos
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:190,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:196,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 203
    functionName: Http3App::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - QUICStreamVCAdapter*::clear_write_complete_event
    - reinterpret_cast<VIO *>
    - Http3App::_handle_bidi_stream_on_read_complete
    - QUICStreamVCAdapter*::clear_eos_event
    - QUICStreamVCAdapter*::stream
    - Http3App::_handle_uni_stream_on_read_complete
    - Http3App::_handle_bidi_stream_on_write_ready
    - QUICStreamVCAdapter*::clear_read_complete_event
    - Http3App::_handle_bidi_stream_on_eos
    - QUICStreamVCAdapter*::clear_write_ready_event
    - get_vc_event_name
    - QUICStreamVCAdapter*::clear_read_ready_event
    - Http3App::_handle_uni_stream_on_read_ready
    - Http3App::_handle_uni_stream_on_write_complete
    - Http3App::_handle_bidi_stream_on_write_complete
    - Dbg
    - Http3App::_handle_uni_stream_on_eos
    - ink_assert
    - Http3App::_handle_uni_stream_on_write_ready
    - Http3App::_qc::cids
    - static_cast<QUICStreamVCAdapter *>
    - Http3App::_handle_bidi_stream_on_read_ready
    linkageType: ''
    returnType: int
    signature: int Http3App::main_event_handler(int event, Event *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:208,1
    - Dst: Http3App::_local_uni_stream_map::insert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:211,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:211,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:213,1
    - Dst: Http3DebugNames::stream_type
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:215,1
    - Dst: Http3DebugNames::stream_type
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - new_stream_id
    - type
    argTypes:
    - QUICStreamId
    - Http3StreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: Http3App::create_uni_stream
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_qc::stream_manager
    - Http3DebugNames::stream_type
    - Http3App::_local_uni_stream_map::insert
    - std::make_pair
    - Dbg
    linkageType: ''
    returnType: QUICConnectionErrorUPtr
    signature: QUICConnectionErrorUPtr Http3App::create_uni_stream(QUICStreamId &new_stream_id,
      Http3StreamType type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:224,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:226,1
    - Dst: Http3App::_remote_uni_stream_map::find
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:227,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:227,1
    - Dst: Http3App::_remote_uni_stream_map::end
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:228,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:231,1
    - Dst: Http3Stream::type
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:234,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:234,1
    - Dst: Http3DebugNames::stream_type
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:234,1
    - Dst: Http3App::_remote_uni_stream_map::insert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:236,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:236,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:236,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:248,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:249,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:250,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:252,1
    - Dst: Http3ErrorUPtr::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:252,1
    - Dst: Http3App::_control_stream_dispatcher::on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:256,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:256,1
    - Dst: VIO*::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:258,1
    - Dst: Http3ErrorUPtr::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:258,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:267,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:268,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:268,1
    - Dst: Http3ErrorUPtr::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:268,1
    - Dst: Http3App::_set_qpack_stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:275,1
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:282,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:283,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:283,1
    - Dst: Http3ErrorUPtr::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 289
    functionName: Http3App::_handle_uni_stream_on_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - VIO*::get_reader
    - static_cast<QUICStreamVCAdapter *>
    - Http3DebugNames::stream_type
    - Http3Stream::type
    - Http3App::_remote_uni_stream_map::end
    - Http3App::_remote_uni_stream_map::insert
    - std::make_pair
    - Http3App::_set_qpack_stream
    - std::make_unique<Http3Error>
    - Dbg
    - Http3App::_remote_uni_stream_map::find
    - Http3App::_control_stream_dispatcher::on_read_ready
    - Http3ErrorUPtr::get_code
    - Http3ErrorUPtr
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_uni_stream_on_read_ready(int /* event */, VIO
      *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_handle_uni_stream_on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:294,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:296,1
    - Dst: QUICStreamVCAdapter*::is_writable
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:297,1
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:298,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: Http3App::_handle_uni_stream_on_read_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_qc::stream_manager
    - Http3App::_handle_uni_stream_on_read_ready
    - static_cast<QUICStreamVCAdapter *>
    - QUICStreamVCAdapter*::is_writable
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_uni_stream_on_read_complete(int event, VIO *vio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:305,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:307,1
    - Dst: static_cast<Http3Transaction *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:308,1
    - Dst: Http3App::_ssn::get_transaction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:308,1
    - Dst: Http3App::_streams::find
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:311,1
    - Dst: Http3App::_streams::end
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:311,1
    - Dst: Http3Transaction::Http3Transaction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:312,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:313,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:313,1
    - Dst: Http3Transaction*::new_transaction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:314,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:316,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:319,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:319,1
    - Dst: Http3Transaction*::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 322
    functionName: Http3App::_handle_bidi_stream_on_read_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - static_cast<QUICStreamVCAdapter *>
    - Http3App::_streams::end
    - Http3Transaction::Http3Transaction
    - Http3App::_ssn::get_transaction
    - static_cast<Http3Transaction *>
    - SCOPED_MUTEX_LOCK
    - Http3Transaction*::new_transaction
    - Http3Transaction*::handleEvent
    - Http3App::_streams::find
    - this_ethread
    - QUICStreamVCAdapter*::stream
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_bidi_stream_on_read_ready(int event, VIO *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_handle_bidi_stream_on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:327,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:329,1
    - Dst: QUICStreamVCAdapter*::is_writable
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:330,1
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:331,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: Http3App::_handle_bidi_stream_on_read_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_qc::stream_manager
    - static_cast<QUICStreamVCAdapter *>
    - QUICStreamVCAdapter*::is_writable
    - Http3App::_handle_bidi_stream_on_read_ready
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_bidi_stream_on_read_complete(int event, VIO
      *vio)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:338,1
    - Dst: Http3App::_local_uni_stream_map::find
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:340,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:340,1
    - Dst: Http3App::_local_uni_stream_map::end
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:341,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:342,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:349,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:350,1
    - Dst: Http3App::_control_stream_collector::on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:355,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:355,1
    - Dst: VIO*::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:355,1
    - Dst: VIO*::done
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:358,1
    - Dst: Http3App::_set_qpack_stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: Http3App::_handle_uni_stream_on_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_local_uni_stream_map::end
    - static_cast<QUICStreamVCAdapter *>
    - ink_abort
    - VIO*::get_writer
    - VIO*::done
    - Http3App::_set_qpack_stream
    - static_cast<uint8_t>
    - Http3App::_control_stream_collector::on_write_ready
    - Http3App::_local_uni_stream_map::find
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_uni_stream_on_write_ready(int /* event */, VIO
      *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_handle_uni_stream_on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:376,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:378,1
    - Dst: QUICStreamVCAdapter*::is_readable
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:379,1
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:380,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: Http3App::_handle_uni_stream_on_write_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_qc::stream_manager
    - static_cast<QUICStreamVCAdapter *>
    - QUICStreamVCAdapter*::is_readable
    - QUICStreamVCAdapter*::stream
    - Http3App::_handle_uni_stream_on_write_ready
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_uni_stream_on_write_complete(int event, VIO
      *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: Http3App::_handle_bidi_stream_on_eos
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_bidi_stream_on_eos(int /* event ATS_UNUSED */,
      VIO * /* vio ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: Http3App::_handle_uni_stream_on_eos
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_uni_stream_on_eos(int /* event ATS_UNUSED */,
      VIO * /* v ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_qc::direction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:401,1
    - Dst: Http3App::_ssn::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:402,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:402,1
    - Dst: Http3App::_update_vio_cont_to_QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:403,1
    - Dst: Http3App::_ssn::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:403,1
    - Dst: Http3App::_ssn::local_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:405,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:405,1
    - Dst: Http3App::_update_vio_cont_to_QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:406,1
    - Dst: Http3App::_ssn::local_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:406,1
    - Dst: Http3App::_qc::direction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:409,1
    - Dst: Http3App::_ssn::local_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:410,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:410,1
    - Dst: Http3App::_update_vio_cont_to_QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:411,1
    - Dst: Http3App::_ssn::local_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:411,1
    - Dst: Http3App::_ssn::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:413,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:413,1
    - Dst: Http3App::_update_vio_cont_to_QPACK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:414,1
    - Dst: Http3App::_ssn::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:414,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - type
    - adapter
    argTypes:
    - Http3StreamType
    - QUICStreamVCAdapter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 419
    functionName: Http3App::_set_qpack_stream
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 2
    functionsReached:
    - Http3App::_update_vio_cont_to_QPACK
    - ink_abort
    - Http3App::_ssn::local_qpack
    - Http3App::_ssn::remote_qpack
    - Http3App::_qc::direction
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_set_qpack_stream(Http3StreamType type, QUICStreamVCAdapter
      *adapter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Http3App::_streams::find'
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:424,1
    - Dst: '&

        Http3App::_streams::end'
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:425,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: '&

      Http3App::_get_stream_info(QUICStreamId stream_id)'
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 0
    functionsReached:
    - '&

      Http3App::_streams::end'
    - '&

      Http3App::_streams::find'
    - ink_abort
    linkageType: ''
    returnType: QUICStreamVCAdapter::IOInfo
    signature: 'QUICStreamVCAdapter::IOInfo &

      Http3App::_get_stream_info(QUICStreamId stream_id)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:434,1
    - Dst: Http3App::_get_stream_info
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:436,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:436,1
    - Dst: Http3App::_get_stream_info
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:437,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:437,1
    - Dst: Http3App::_get_stream_info
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:440,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:440,1
    - Dst: Http3App::_get_stream_info
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:443,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:443,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - qpack
    - adapter
    argTypes:
    - QPACK*
    - QUICStreamVCAdapter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 449
    functionName: Http3App::_update_vio_cont_to_QPACK
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_get_stream_info
    - QUICStreamVCAdapter*::stream
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http3App::_update_vio_cont_to_QPACK(QPACK *qpack, QUICStreamVCAdapter
      *adapter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:454,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:456,1
    - Dst: static_cast<Http3Transaction *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:457,1
    - Dst: Http3App::_ssn::get_transaction
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:457,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:459,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:459,1
    - Dst: Http3Transaction*::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: Http3App::_handle_bidi_stream_on_write_ready
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - static_cast<QUICStreamVCAdapter *>
    - SCOPED_MUTEX_LOCK
    - Http3App::_ssn::get_transaction
    - static_cast<Http3Transaction *>
    - Http3Transaction*::handleEvent
    - this_ethread
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_bidi_stream_on_write_ready(int event, VIO *vio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3App::_handle_bidi_stream_on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:467,1
    - Dst: static_cast<QUICStreamVCAdapter *>
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:469,1
    - Dst: QUICStreamVCAdapter*::is_readable
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:470,1
    - Dst: Http3App::_qc::stream_manager
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:471,1
    - Dst: QUICStreamVCAdapter*::stream
      Src: /src/trafficserver/src/proxy/http3/Http3App.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - event
    - vio
    argTypes:
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: Http3App::_handle_bidi_stream_on_write_complete
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3App.cc
    functionUses: 1
    functionsReached:
    - Http3App::_handle_bidi_stream_on_write_ready
    - Http3App::_qc::stream_manager
    - static_cast<QUICStreamVCAdapter *>
    - QUICStreamVCAdapter*::is_readable
    - QUICStreamVCAdapter*::stream
    linkageType: ''
    returnType: void
    signature: void Http3App::_handle_bidi_stream_on_write_complete(int event, VIO
      *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:41,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:42,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:43,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:44,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:45,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:46,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:47,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:48,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:50,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:51,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:52,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:53,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:54,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:55,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:56,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:57,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:58,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:59,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:63,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: Http3::init
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void Http3::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - length
    argTypes:
    - uint8_t*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Http3Frame::length
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    linkageType: ''
    returnType: int
    signature: int Http3Frame::length(const uint8_t *buf, size_t buf_len, uint64_t
      &length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:61,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:62,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:63,1
    - Dst: static_cast<Http3FrameType>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: Http3Frame::type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    - static_cast<uint64_t>
    - static_cast<Http3FrameType>
    - ink_assert
    linkageType: ''
    returnType: Http3FrameType
    signature: Http3FrameType Http3Frame::type(const uint8_t *buf, size_t buf_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:80,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:80,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:88,1
    - Dst: static_cast<Http3FrameType>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:93,1
    - Dst: QUICVariableInt::decode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:103,1
    - Dst: Http3Frame::_reader::consume
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: Http3Frame::Http3Frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - QUICVariableInt::decode
    - static_cast<Http3FrameType>
    - reinterpret_cast<uint8_t *>
    - IOBufferReader::memcpy
    - Http3Frame::_reader::consume
    linkageType: ''
    returnType: void
    signature: void Http3Frame::Http3Frame(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - Http3FrameType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Http3Frame::Http3Frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Frame::Http3Frame(Http3FrameType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame::_reader::dealloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: Http3Frame::~Http3Frame()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3Frame::_reader::dealloc
    linkageType: ''
    returnType: void
    signature: void Http3Frame::~Http3Frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: Http3Frame::is_valid
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3Frame::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame::length
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Http3Frame::total_length
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3Frame::length
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3Frame::total_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Http3Frame::length
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3Frame::length() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:144,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: Http3Frame::type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: Http3FrameType
    signature: Http3FrameType Http3Frame::type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame::_parse
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Http3Frame::update
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3Frame::_parse
    linkageType: ''
    returnType: bool
    signature: bool Http3Frame::update()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Http3Frame::_parse
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3Frame::_parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: Http3Frame::to_io_buffer_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> Http3Frame::to_io_buffer_block() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame::~Http3Frame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:177,1
    - Dst: Http3Frame::Http3Frame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: Http3Frame::reset
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3Frame::~Http3Frame
    - Http3Frame::Http3Frame
    linkageType: ''
    returnType: void
    signature: void Http3Frame::reset(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Http3UnknownFrame::Http3UnknownFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3UnknownFrame::Http3UnknownFrame(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:192,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:192,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:193,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:193,1
    - Dst: Http3UnknownFrame::length
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:193,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:194,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:194,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:195,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: Http3UnknownFrame::to_io_buffer_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Ptr::fill
    - Http3UnknownFrame::length
    - make_ptr
    - reinterpret_cast<uint8_t *>
    - Ptr::alloc
    - new_IOBufferBlock
    - iobuffer_size_to_index
    - Ptr::start
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> Http3UnknownFrame::to_io_buffer_block() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: Http3DataFrame::Http3DataFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3DataFrame::Http3DataFrame(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:223,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:224,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:225,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:225,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:227,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:230,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:231,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - payload_len
    argTypes:
    - IOBufferReader
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: Http3DataFrame::Http3DataFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - MIOBuffer*::write
    - free_MIOBuffer
    - QUICVariableInt::encode
    - static_cast<uint64_t>
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: void
    signature: void Http3DataFrame::Http3DataFrame(IOBufferReader &reader, size_t
      payload_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: Http3DataFrame::to_io_buffer_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> Http3DataFrame::to_io_buffer_block() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3DataFrame::~Http3DataFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:244,1
    - Dst: Http3DataFrame::Http3DataFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Http3DataFrame::reset
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3DataFrame::Http3DataFrame
    - Http3DataFrame::~Http3DataFrame
    linkageType: ''
    returnType: void
    signature: void Http3DataFrame::reset(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: Http3DataFrame::payload_length
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3DataFrame::payload_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: Http3DataFrame::data
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      Http3DataFrame::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Http3HeadersFrame::Http3HeadersFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3HeadersFrame::Http3HeadersFrame(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:266,1
    - Dst: Http3HeadersFrame::_header_block_uptr::get
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - header_block
    - header_block_len
    argTypes:
    - ats_unique_buf
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: Http3HeadersFrame::Http3HeadersFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Http3HeadersFrame::_header_block_uptr::get
    linkageType: ''
    returnType: void
    signature: void Http3HeadersFrame::Http3HeadersFrame(ats_unique_buf header_block,
      size_t header_block_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: Http3HeadersFrame::~Http3HeadersFrame()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void Http3HeadersFrame::~Http3HeadersFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:286,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:286,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:287,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:287,1
    - Dst: Http3HeadersFrame::length
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:287,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:288,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:288,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:290,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:290,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:292,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:294,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 299
    functionName: Http3HeadersFrame::to_io_buffer_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Ptr::fill
    - Http3HeadersFrame::length
    - make_ptr
    - reinterpret_cast<uint8_t *>
    - Ptr::alloc
    - QUICVariableInt::encode
    - static_cast<uint64_t>
    - new_IOBufferBlock
    - iobuffer_size_to_index
    - Ptr::start
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> Http3HeadersFrame::to_io_buffer_block() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3HeadersFrame::~Http3HeadersFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:304,1
    - Dst: Http3HeadersFrame::Http3HeadersFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: Http3HeadersFrame::reset
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3HeadersFrame::~Http3HeadersFrame
    - Http3HeadersFrame::Http3HeadersFrame
    linkageType: ''
    returnType: void
    signature: void Http3HeadersFrame::reset(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: Http3HeadersFrame::header_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      Http3HeadersFrame::header_block() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: Http3HeadersFrame::header_block_length
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3HeadersFrame::header_block_length() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3HeadersFrame::_reader::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:323,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:323,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:329,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:329,1
    - Dst: Http3HeadersFrame::_reader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: Http3HeadersFrame::_parse
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    - Http3HeadersFrame::_reader::read_avail
    - ats_malloc
    - Http3HeadersFrame::_reader::memcpy
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool Http3HeadersFrame::_parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - reader
    - max_settings
    argTypes:
    - IOBufferReader
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: Http3SettingsFrame::Http3SettingsFrame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SettingsFrame::Http3SettingsFrame(IOBufferReader &reader,
      uint32_t max_settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:352,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:352,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:353,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:353,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:354,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:354,1
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:357,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:357,1
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:359,1
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:364,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:364,1
    - Dst: QUICIntUtil::write_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:366,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:368,1
    - Dst: make_ptr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:373,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:373,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:374,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:374,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:375,1
    - Dst: Ptr::start
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:375,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:377,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:377,1
    - Dst: QUICVariableInt::encode
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:379,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 386
    functionName: Http3SettingsFrame::to_io_buffer_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Ptr::fill
    - make_ptr
    - reinterpret_cast<uint8_t *>
    - Ptr::alloc
    - QUICVariableInt::encode
    - QUICIntUtil::write_QUICVariableInt
    - static_cast<uint64_t>
    - new_IOBufferBlock
    - iobuffer_size_to_index
    - Ptr::start
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> Http3SettingsFrame::to_io_buffer_block() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3SettingsFrame::~Http3SettingsFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:391,1
    - Dst: Http3SettingsFrame::Http3SettingsFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: Http3SettingsFrame::reset
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3SettingsFrame::~Http3SettingsFrame
    - Http3SettingsFrame::Http3SettingsFrame
    linkageType: ''
    returnType: void
    signature: void Http3SettingsFrame::reset(IOBufferReader &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Http3Error>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: Http3SettingsFrame::get_error
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Http3Error>
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr Http3SettingsFrame::get_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3SettingsFrame::_settings::find
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:404,1
    - Dst: Http3SettingsFrame::_settings::end
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http3SettingsId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: Http3SettingsFrame::contains
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3SettingsFrame::_settings::end
    - Http3SettingsFrame::_settings::find
    linkageType: ''
    returnType: bool
    signature: bool Http3SettingsFrame::contains(Http3SettingsId id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3SettingsFrame::_settings::find
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:411,1
    - Dst: Http3SettingsFrame::_settings::end
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http3SettingsId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: Http3SettingsFrame::get
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3SettingsFrame::_settings::end
    - Http3SettingsFrame::_settings::find
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http3SettingsFrame::get(Http3SettingsId id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - Http3SettingsId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: Http3SettingsFrame::set
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SettingsFrame::set(Http3SettingsId id, uint64_t value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Http3SettingsFrame::_reader::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:428,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:428,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:433,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:433,1
    - Dst: Http3SettingsFrame::_reader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:434,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:442,1
    - Dst: QUICVariableInt::size
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:447,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:451,1
    - Dst: QUICIntUtil::read_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:454,1
    - Dst: QUICVariableInt::size
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:457,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:460,1
    - Dst: QUICIntUtil::read_QUICVariableInt
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:463,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:469,1
    - Dst: Http3SettingsFrame::_settings::insert
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:479,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:479,1
    - Dst: static_cast<Http3SettingsId>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:479,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:488,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 491
    functionName: Http3SettingsFrame::_parse
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<uint8_t *>
    - reinterpret_cast<const char *>
    - std::make_pair
    - static_cast<Http3SettingsId>
    - Http3SettingsFrame::_settings::insert
    - ats_malloc
    - static_cast<int64_t>
    - QUICIntUtil::read_QUICVariableInt
    - Http3SettingsFrame::_reader::read_avail
    - QUICVariableInt::size
    - static_cast<uint64_t>
    - Http3SettingsFrame::_reader::memcpy
    linkageType: ''
    returnType: bool
    signature: bool Http3SettingsFrame::_parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: Http3FrameFactory::create_null_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Http3FrameUPtr
    signature: Http3FrameUPtr Http3FrameFactory::create_null_frame()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:509,1
    - Dst: Http3Frame::type
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:510,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:514,1
    - Dst: Http3HeadersFrame::Http3HeadersFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:515,1
    - Dst: Http3FrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:516,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:518,1
    - Dst: Http3DataFrame::Http3DataFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:519,1
    - Dst: Http3FrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:520,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:522,1
    - Dst: ts::Http3Config::scoped_config::max_settings
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:523,1
    - Dst: Http3SettingsFrame::Http3SettingsFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:523,1
    - Dst: Http3FrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:524,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:527,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:527,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:528,1
    - Dst: Http3Frame::Http3Frame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:529,1
    - Dst: Http3FrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 532
    functionName: Http3FrameFactory::create
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 0
    functionsReached:
    - Http3DataFrame::Http3DataFrame
    - Http3HeadersFrame::Http3HeadersFrame
    - Http3FrameUPtr
    - IOBufferReader::memcpy
    - Dbg
    - Http3Frame::type
    - alloc
    - static_cast<uint8_t>
    - ts::Http3Config::scoped_config::max_settings
    - Http3SettingsFrame::Http3SettingsFrame
    - Http3Frame::Http3Frame
    linkageType: ''
    returnType: Http3FrameUPtr
    signature: Http3FrameUPtr Http3FrameFactory::create(IOBufferReader &reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:538,1
    - Dst: Http3Frame::type
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:539,1
    - Dst: Http3FrameFactory::create
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:542,1
    - Dst: Http3FrameFactory::_unknown_frame::reset
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:544,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:549,1
    - Dst: Http3FrameFactory::create
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:552,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:554,1
    - Dst: std::shared_ptr::reset
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 561
    functionName: Http3FrameFactory::fast_create
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached:
    - Http3FrameFactory::create
    - IOBufferReader::memcpy
    - std::shared_ptr::reset
    - Http3Frame::type
    - Http3FrameFactory::_unknown_frame::reset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::shared_ptr<Http3Frame>
    signature: std::shared_ptr<Http3Frame> Http3FrameFactory::fast_create(IOBufferReader
      &reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_unique_malloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:566,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:567,1
    - Dst: ats_unique_buf::get
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:567,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:569,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:570,1
    - Dst: Http3HeadersFrame::Http3HeadersFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:570,1
    - Dst: Http3HeadersFrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - header_block
    - header_block_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: Http3FrameFactory::create_headers_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ats_unique_malloc
    - Http3HeadersFrame::Http3HeadersFrame
    - ats_unique_buf::get
    - alloc
    - Http3HeadersFrameUPtr
    - std::move
    linkageType: ''
    returnType: Http3HeadersFrameUPtr
    signature: Http3HeadersFrameUPtr Http3FrameFactory::create_headers_frame(const
      uint8_t *header_block, size_t header_block_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_unique_malloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:577,1
    - Dst: IOBufferReader*::read
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:580,1
    - Dst: ats_unique_buf::get
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:580,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:584,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:585,1
    - Dst: Http3HeadersFrame::Http3HeadersFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:585,1
    - Dst: Http3HeadersFrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - header_block_reader
    - header_block_len
    argTypes:
    - IOBufferReader*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: Http3FrameFactory::create_headers_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached:
    - ats_unique_malloc
    - IOBufferReader*::read
    - Http3HeadersFrame::Http3HeadersFrame
    - ats_unique_buf::get
    - alloc
    - Http3HeadersFrameUPtr
    - std::move
    linkageType: ''
    returnType: Http3HeadersFrameUPtr
    signature: Http3HeadersFrameUPtr Http3FrameFactory::create_headers_frame(IOBufferReader
      *header_block_reader, size_t header_block_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:592,1
    - Dst: Http3DataFrame::Http3DataFrame
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:593,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:594,1
    - Dst: Http3DataFrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3Frame.cc:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - reader
    - payload_len
    argTypes:
    - IOBufferReader*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 597
    functionName: Http3FrameFactory::create_data_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Frame.cc
    functionUses: 1
    functionsReached:
    - Http3DataFrame::Http3DataFrame
    - IOBufferReader*::consume
    - Http3DataFrameUPtr
    - alloc
    linkageType: ''
    returnType: Http3DataFrameUPtr
    signature: Http3DataFrameUPtr Http3FrameFactory::create_data_frame(IOBufferReader
      *reader, size_t payload_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _o
    argTypes:
    - HttpSessionAccept::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Http3SessionAccept::Http3SessionAccept
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http3SessionAccept::Http3SessionAccept(const HttpSessionAccept::Options
      &_o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Http3SessionAccept::~Http3SessionAccept()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SessionAccept::~Http3SessionAccept()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:51,1
    - Dst: IpAllow::match
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:52,1
    - Dst: IpAllow::ACL::isValid
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:53,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:55,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:55,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:59,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:61,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:61,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:67,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:69,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:72,1
    - Dst: QUICConnection*::cids
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:72,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:73,1
    - Dst: QUICConnection*::negotiated_application_name
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:75,1
    - Dst: compare
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:77,1
    - Dst: compare
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:78,1
    - Dst: QUICConnection*::cids
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:78,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:78,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:78,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:78,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:79,1
    - Dst: Http09App::Http09App
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:79,1
    - Dst: compare
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:80,1
    - Dst: compare
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:81,1
    - Dst: QUICConnection*::cids
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:81,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:81,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:81,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:81,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:83,1
    - Dst: Http3App::Http3App
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:83,1
    - Dst: Http3App*::start
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:84,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - netvc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: Http3SessionAccept::accept
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    - Http3App*::start
    - std::string_view::data
    - std::string_view::length
    - ats_ip_ntop
    - NetVConnection*::get_service
    - std::move
    - QUICConnection*::cids
    - static_cast<int>
    - Warning
    - Http3App::Http3App
    - ats_ip_nptop
    - compare
    - Dbg
    - NetVConnection*::get_remote_addr
    - 'on'
    - DbgPrint
    - Http09App::Http09App
    - QUICConnection*::negotiated_application_name
    - IpAllow::match
    - auto::get_sni_server_name
    - IpAllow::ACL::isValid
    linkageType: ''
    returnType: bool
    signature: bool Http3SessionAccept::accept(NetVConnection *netvc, MIOBuffer *
      /* iobuf ATS_UNUSED */, IOBufferReader * /* reader ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:96,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:97,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:100,1
    - Dst: Http3SessionAccept::accept
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:101,1
    - Dst: NetVConnection*::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: Http3SessionAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SessionAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<NetVConnection *>
    - ink_release_assert
    - Http3SessionAccept::accept
    - NetVConnection*::do_io_close
    linkageType: ''
    returnType: int
    signature: int Http3SessionAccept::mainEvent(int event, void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - Http3FrameType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: Http3DebugNames::frame_type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3DebugNames::frame_type(Http3FrameType type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3DebugNames::stream_type
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Http3StreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Http3DebugNames::stream_type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc
    functionUses: 3
    functionsReached:
    - Http3DebugNames::stream_type
    - static_cast<uint8_t>
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3DebugNames::stream_type(Http3StreamType type)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:67,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: Http3DebugNames::stream_type
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3DebugNames::stream_type(uint8_t type)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:84,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:86,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:88,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: Http3DebugNames::settings_id
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3DebugNames::settings_id(uint16_t id)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:101,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:103,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:105,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:107,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:109,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:111,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:115,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:117,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:119,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:121,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:123,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:125,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:127,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:129,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:131,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:133,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:135,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:137,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 148
    functionName: Http3DebugNames::error_code
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3DebugNames.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: char
    signature: 'char *

      Http3DebugNames::error_code(uint16_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - netvc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: NetVC2QUICCon
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NetVC2QUICCon(netvc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Http3TransDebug
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http3TransDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Http3TransVDebug
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http3TransVDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:68,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:69,1
    - Dst: HQTransaction::_read_vio_buf::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:71,1
    - Dst: static_cast<HQSession *>
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:73,1
    - Dst: static_cast<HQTransaction *>
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - session
    - info
    argTypes:
    - HQSession*
    - QUICStreamVCAdapter::IOInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: HQTransaction::HQTransaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    - HQTransaction::_read_vio_buf::alloc_reader
    - static_cast<HQSession *>
    - static_cast<HQTransaction *>
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HQTransaction::HQTransaction(HQSession *session, QUICStreamVCAdapter::IOInfo
      &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_unschedule_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:78,1
    - Dst: HQTransaction::_unschedule_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:79,1
    - Dst: HQTransaction::_unschedule_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:80,1
    - Dst: HQTransaction::_unschedule_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:81,1
    - Dst: static_cast<HQSession *>
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: HQTransaction::~HQTransaction()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_unschedule_write_complete_event
    - static_cast<HQSession *>
    - HQTransaction::_unschedule_read_ready_event
    - HQTransaction::_unschedule_read_complete_event
    - HQTransaction::_unschedule_write_ready_event
    linkageType: ''
    returnType: void
    signature: void HQTransaction::~HQTransaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_proxy_ssn::set_active_timeout
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: HQTransaction::set_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_proxy_ssn::set_active_timeout
    linkageType: ''
    returnType: void
    signature: void HQTransaction::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_proxy_ssn::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: HQTransaction::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_proxy_ssn::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void HQTransaction::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_proxy_ssn::cancel_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: HQTransaction::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_proxy_ssn::cancel_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void HQTransaction::cancel_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: HQTransaction::release
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::do_io_close
    linkageType: ''
    returnType: void
    signature: void HQTransaction::release()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_read_vio::set_writer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:121,1
    - Dst: HQTransaction::_read_vio::buffer::clear
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:123,1
    - Dst: HQTransaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:134,1
    - Dst: HQTransaction::_schedule_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: HQTransaction::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_process_read_vio
    - HQTransaction::_schedule_read_ready_event
    - HQTransaction::_read_vio::set_writer
    - HQTransaction::_read_vio::buffer::clear
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      HQTransaction::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_write_vio::set_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:145,1
    - Dst: HQTransaction::_write_vio::buffer::clear
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:147,1
    - Dst: HQTransaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:159,1
    - Dst: HQTransaction::_schedule_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: HQTransaction::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_schedule_write_ready_event
    - HQTransaction::_write_vio::set_reader
    - HQTransaction::_write_vio::buffer::clear
    - HQTransaction::_process_write_vio
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      HQTransaction::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *buf,
      bool /* owner ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_read_vio::buffer::clear
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:169,1
    - Dst: HQTransaction::_write_vio::buffer::clear
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: HQTransaction::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_write_vio::buffer::clear
    - HQTransaction::_read_vio::buffer::clear
    linkageType: ''
    returnType: void
    signature: void HQTransaction::do_io_close(int /* lerrno ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: HQTransaction::do_io_shutdown
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQTransaction::do_io_shutdown(ShutdownHowTo_t /* howto ATS_UNUSED
      */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:190,1
    - Dst: HQTransaction::_info::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:191,1
    - Dst: HQTransaction::_signal_read_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:194,1
    - Dst: HQTransaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:197,1
    - Dst: HQTransaction::_info::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:198,1
    - Dst: HQTransaction::_signal_write_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: HQTransaction::reenable
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_signal_read_event
    - HQTransaction::_info::read_vio::reenable
    - HQTransaction::_signal_write_event
    - HQTransaction::_process_write_vio
    - HQTransaction::_info::write_vio::reenable
    - HQTransaction::_process_read_vio
    linkageType: ''
    returnType: void
    signature: void HQTransaction::reenable(VIO *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::transaction_done
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: HQTransaction::transaction_done
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - ProxyTransaction::transaction_done
    linkageType: ''
    returnType: void
    signature: void HQTransaction::transaction_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_info::adapter::stream
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: HQTransaction::get_transaction_id
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_info::adapter::stream
    linkageType: ''
    returnType: int
    signature: int HQTransaction::get_transaction_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: HQTransaction::increment_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQTransaction::increment_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: HQTransaction::decrement_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQTransaction::decrement_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_proxy_ssn::get_netvc
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: HQTransaction::direction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_proxy_ssn::get_netvc
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t HQTransaction::direction() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_thread::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: HQTransaction::_schedule_read_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_thread::schedule_imm
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_schedule_read_ready_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_read_ready_event::cancel
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: HQTransaction::_unschedule_read_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_read_ready_event::cancel
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_unschedule_read_ready_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: HQTransaction::_close_read_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_close_read_ready_event(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_thread::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: HQTransaction::_schedule_read_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_thread::schedule_imm
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_schedule_read_complete_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_read_complete_event::cancel
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: HQTransaction::_unschedule_read_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_read_complete_event::cancel
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_unschedule_read_complete_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: HQTransaction::_close_read_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_close_read_complete_event(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_thread::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: HQTransaction::_schedule_write_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_thread::schedule_imm
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_schedule_write_ready_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_write_ready_event::cancel
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: HQTransaction::_unschedule_write_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_write_ready_event::cancel
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_unschedule_write_ready_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: HQTransaction::_close_write_ready_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_close_write_ready_event(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_thread::schedule_imm
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: HQTransaction::_schedule_write_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_thread::schedule_imm
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_schedule_write_complete_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_write_complete_event::cancel
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: HQTransaction::_unschedule_write_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_write_complete_event::cancel
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_unschedule_write_complete_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: HQTransaction::_close_write_complete_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_close_write_complete_event(Event *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:359,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:359,1
    - Dst: HQTransaction::_write_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:360,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:363,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:363,1
    - Dst: HQTransaction::_read_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: HQTransaction::_signal_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - HQTransaction::_read_vio::cont::handleEvent
    - SCOPED_MUTEX_LOCK
    - HQTransaction::_write_vio::cont::handleEvent
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_signal_event(int event, Event *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:379,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:379,1
    - Dst: HQTransaction::_read_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:380,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:382,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: HQTransaction::_signal_read_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_read_vio::cont::handleEvent
    - SCOPED_MUTEX_LOCK
    - Http3TransVDebug
    - this_ethread
    - get_vc_event_name
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_signal_read_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HQTransaction::_write_vio::ntodo
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:394,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:396,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:396,1
    - Dst: HQTransaction::_write_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:397,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:399,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: HQTransaction::_signal_write_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - HQTransaction::_write_vio::cont::handleEvent
    - SCOPED_MUTEX_LOCK
    - Http3TransVDebug
    - this_ethread
    - HQTransaction::_write_vio::ntodo
    - get_vc_event_name
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_signal_write_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: HQTransaction::_delete_if_possible
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HQTransaction::_delete_if_possible()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http3Transaction::_info::adapter::stream
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:419,1
    - Dst: Http3Session*::local_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:421,1
    - Dst: Http3HeaderFramer::Http3HeaderFramer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:421,1
    - Dst: Http3DataFramer::Http3DataFramer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:422,1
    - Dst: Http3Transaction::_frame_collector::add_generator
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:423,1
    - Dst: Http3Transaction::_frame_collector::add_generator
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:424,1
    - Dst: Http3Transaction::direction
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:428,1
    - Dst: Http3Session*::remote_qpack
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:433,1
    - Dst: Http3HeaderVIOAdaptor::Http3HeaderVIOAdaptor
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:433,1
    - Dst: Http3StreamDataVIOAdaptor::Http3StreamDataVIOAdaptor
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:434,1
    - Dst: Http3Transaction::_frame_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:436,1
    - Dst: Http3Session*::get_received_frame_counter
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:436,1
    - Dst: Http3Transaction::_frame_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:437,1
    - Dst: Http3Transaction::_frame_dispatcher::add_handler
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:438,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - session
    - info
    argTypes:
    - Http3Session*
    - QUICStreamVCAdapter::IOInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 441
    functionName: Http3Transaction::Http3Transaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 2
    functionsReached:
    - Http3Transaction::_info::adapter::stream
    - Http3Session*::remote_qpack
    - Http3Transaction::direction
    - Http3HeaderVIOAdaptor::Http3HeaderVIOAdaptor
    - Http3HeaderFramer::Http3HeaderFramer
    - Http3Session*::local_qpack
    - Http3Transaction::_frame_dispatcher::add_handler
    - Http3Transaction::_frame_collector::add_generator
    - Http3StreamDataVIOAdaptor::Http3StreamDataVIOAdaptor
    - Http3DataFramer::Http3DataFramer
    - SET_HANDLER
    - Http3Session*::get_received_frame_counter
    linkageType: ''
    returnType: void
    signature: void Http3Transaction::Http3Transaction(Http3Session *session, QUICStreamVCAdapter::IOInfo
      &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:445,1
    - Dst: Http3Transaction::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: Http3Transaction::~Http3Transaction()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3TransDebug
    - Http3Transaction::do_io_close
    linkageType: ''
    returnType: void
    signature: void Http3Transaction::~Http3Transaction()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:464,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:464,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:465,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:465,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:469,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:469,1
    - Dst: Http3Transaction::_close_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:470,1
    - Dst: Http3Transaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:472,1
    - Dst: Http3Transaction::_signal_read_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:473,1
    - Dst: Http3Transaction::_info::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:475,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:478,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:478,1
    - Dst: Http3Transaction::_close_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:479,1
    - Dst: Http3Transaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:480,1
    - Dst: Http3Transaction::_header_handler::is_complete
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:481,1
    - Dst: Http3Transaction::_schedule_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:483,1
    - Dst: Http3Transaction::_data_handler::finalize
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:486,1
    - Dst: Http3Transaction::_signal_read_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:488,1
    - Dst: Http3Transaction::_info::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:489,1
    - Dst: Http3Transaction::_close_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:492,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:493,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:493,1
    - Dst: Http3Transaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:495,1
    - Dst: Http3Transaction::_signal_write_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:496,1
    - Dst: Http3Transaction::_info::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:498,1
    - Dst: Http3Transaction::_close_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:501,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:502,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:502,1
    - Dst: Http3Transaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:503,1
    - Dst: Http3Transaction::_signal_write_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:505,1
    - Dst: Http3Transaction::_info::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:506,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:512,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:512,1
    - Dst: Http3Transaction::_signal_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:513,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:517,1
    - Dst: Http3Transaction::_delete_if_possible
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 522
    functionName: Http3Transaction::state_stream_open
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3Transaction::_close_read_ready_event
    - Http3Transaction::_data_handler::finalize
    - Http3Transaction::_close_write_ready_event
    - Http3Transaction::_info::read_vio::reenable
    - Http3TransDebug
    - Http3Transaction::_schedule_read_complete_event
    - Http3Transaction::_signal_event
    - this_ethread
    - Http3Transaction::_info::write_vio::reenable
    - Http3Transaction::_signal_read_event
    - Http3Transaction::_signal_write_event
    - get_vc_event_name
    - ink_release_assert
    - Http3Transaction::_process_write_vio
    - Http3Transaction::_close_write_complete_event
    - Http3Transaction::_process_read_vio
    - Http3Transaction::_close_read_complete_event
    - Http3Transaction::_delete_if_possible
    - SCOPED_MUTEX_LOCK
    - Http3TransVDebug
    - Http3Transaction::_header_handler::is_complete
    linkageType: ''
    returnType: int
    signature: int Http3Transaction::state_stream_open(int event, Event *edata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:527,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:527,1
    - Dst: Http3Transaction::_close_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:531,1
    - Dst: Http3Transaction::_close_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:534,1
    - Dst: Http3Transaction::_close_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:537,1
    - Dst: Http3Transaction::_close_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:540,1
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:547,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:547,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:551,1
    - Dst: Http3Transaction::_delete_if_possible
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 556
    functionName: Http3Transaction::state_stream_closed
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3Transaction::_close_read_ready_event
    - Http3Transaction::_close_read_complete_event
    - Http3Transaction::_close_write_ready_event
    - Http3Transaction::_delete_if_possible
    - Http3TransDebug
    - Http3TransVDebug
    - Http3Transaction::_close_write_complete_event
    - get_vc_event_name
    linkageType: ''
    returnType: int
    signature: int Http3Transaction::state_stream_closed(int event, Event *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:561,1
    - Dst: INKVConnInternal::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: Http3Transaction::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - INKVConnInternal::do_io_close
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http3Transaction::do_io_close(int lerrno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Transaction::_header_framer::is_done
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: Http3Transaction::is_response_header_sent
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3Transaction::_header_framer::is_done
    linkageType: ''
    returnType: bool
    signature: bool Http3Transaction::is_response_header_sent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Transaction::_data_framer::is_done
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: Http3Transaction::is_response_body_sent
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3Transaction::_data_framer::is_done
    linkageType: ''
    returnType: bool
    signature: bool Http3Transaction::is_response_body_sent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:584,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:584,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:585,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:585,1
    - Dst: Http3Transaction::_frame_dispatcher::on_read_ready
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:588,1
    - Dst: Http3Transaction::_info::adapter::stream
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:588,1
    - Dst: Http3Transaction::_info::read_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:589,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:591,1
    - Dst: auto::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 596
    functionName: Http3Transaction::_process_read_vio
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - Http3Transaction::_info::adapter::stream
    - ink_release_assert
    - auto::get_code
    - Http3TransDebug
    - SCOPED_MUTEX_LOCK
    - Http3Transaction::_frame_dispatcher::on_read_ready
    - this_ethread
    - Http3Transaction::_info::read_vio::get_reader
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http3Transaction::_process_read_vio()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:605,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:605,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:606,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:606,1
    - Dst: Http3Transaction::_frame_collector::on_write_ready
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:610,1
    - Dst: Http3Transaction::_info::adapter::stream
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:610,1
    - Dst: Http3Transaction::_info::write_vio::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:610,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:613,1
    - Dst: auto::get_code
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 622
    functionName: Http3Transaction::_process_write_vio
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - Http3Transaction::_info::adapter::stream
    - ink_release_assert
    - Http3Transaction::_frame_collector::on_write_ready
    - Http3Transaction::_info::write_vio::get_writer
    - auto::get_code
    - Http3TransDebug
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http3Transaction::_process_write_vio()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http3Transaction::_data_handler::has_data
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:633,1
    - Dst: Http3Transaction::_info::adapter::stream
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - content_length
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 650
    functionName: Http3Transaction::has_request_body
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http3Transaction::_info::adapter::stream
    - Http3Transaction::_data_handler::has_data
    linkageType: ''
    returnType: bool
    signature: bool Http3Transaction::has_request_body(int64_t content_length, bool
      /* is_chunked_set ATS_UNUSED */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - info
    argTypes:
    - Http09Session*
    - QUICStreamVCAdapter::IOInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: Http09Transaction::Http09Transaction
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http09Transaction::Http09Transaction(Http09Session *session, QUICStreamVCAdapter::IOInfo
      &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: Http09Transaction::~Http09Transaction()
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09Transaction::~Http09Transaction()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:666,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:666,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:668,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:668,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:669,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:669,1
    - Dst: Http09Transaction::_close_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:673,1
    - Dst: Http09Transaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:675,1
    - Dst: Http09Transaction::_signal_read_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:676,1
    - Dst: Http09Transaction::_info::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:678,1
    - Dst: Http09Transaction::_close_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:681,1
    - Dst: Http09Transaction::_process_read_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:683,1
    - Dst: Http09Transaction::_signal_read_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:684,1
    - Dst: Http09Transaction::_info::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:686,1
    - Dst: Http09Transaction::_close_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:689,1
    - Dst: Http09Transaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:690,1
    - Dst: Http09Transaction::_signal_write_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:691,1
    - Dst: Http09Transaction::_info::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:693,1
    - Dst: Http09Transaction::_close_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:696,1
    - Dst: Http09Transaction::_process_write_vio
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:697,1
    - Dst: Http09Transaction::_signal_write_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:698,1
    - Dst: Http09Transaction::_info::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:700,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:706,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:710,1
    - Dst: Http09Transaction::_delete_if_possible
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 715
    functionName: Http09Transaction::state_stream_open
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http09Transaction::_signal_write_event
    - Http09Transaction::_close_write_complete_event
    - ink_release_assert
    - Http09Transaction::_process_write_vio
    - Http09Transaction::_close_write_ready_event
    - Http09Transaction::_process_read_vio
    - Http3TransDebug
    - SCOPED_MUTEX_LOCK
    - Http09Transaction::_info::read_vio::reenable
    - Http09Transaction::_delete_if_possible
    - Http3TransVDebug
    - Http09Transaction::_close_read_ready_event
    - Http09Transaction::_close_read_complete_event
    - this_ethread
    - get_vc_event_name
    - Http09Transaction::_info::write_vio::reenable
    - Http09Transaction::_signal_read_event
    linkageType: ''
    returnType: int
    signature: int Http09Transaction::state_stream_open(int event, Event *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:720,1
    - Dst: INKVConnInternal::do_io_close
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: Http09Transaction::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal::do_io_close
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http09Transaction::do_io_close(int lerrno)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Http3TransVDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:727,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:727,1
    - Dst: Http09Transaction::_close_read_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:731,1
    - Dst: Http09Transaction::_close_read_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:734,1
    - Dst: Http09Transaction::_close_write_ready_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:737,1
    - Dst: Http09Transaction::_close_write_complete_event
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:740,1
    - Dst: Http3TransDebug
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:750,1
    - Dst: Http09Transaction::_delete_if_possible
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 755
    functionName: Http09Transaction::state_stream_closed
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 0
    functionsReached:
    - Http09Transaction::_close_write_complete_event
    - Http09Transaction::_close_write_ready_event
    - Http3TransDebug
    - Http09Transaction::_delete_if_possible
    - Http3TransVDebug
    - Http09Transaction::_close_read_ready_event
    - Http09Transaction::_close_read_complete_event
    - get_vc_event_name
    linkageType: ''
    returnType: int
    signature: int Http09Transaction::state_stream_closed(int event, Event *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:765,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:765,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:766,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:766,1
    - Dst: Http09Transaction::_info::read_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:767,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:772,1
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:775,1
    - Dst: Http09Transaction::_read_vio::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:787,1
    - Dst: IOBufferReader*::read
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:791,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:805,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:808,1
    - Dst: IOBufferReader*::read
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:812,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:814,1
    - Dst: IOBufferReader*::read
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:826,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 832
    functionName: Http09Transaction::_process_read_vio
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - IOBufferReader*::is_read_avail_more_than
    - ink_release_assert
    - Http09Transaction::_read_vio::get_writer
    - IOBufferReader*::memcpy
    - IOBufferReader*::read
    - MIOBuffer*::write
    - Http09Transaction::_info::read_vio::get_reader
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http09Transaction::_process_read_vio()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:845,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:845,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:846,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:846,1
    - Dst: Http09Transaction::_write_vio::get_reader
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:848,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:857,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:858,1
    - Dst: IOBufferReader*::start
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:858,1
    - Dst: IOBufferReader*::get_current_block
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:860,1
    - Dst: IOBufferBlock*::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:861,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:862,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:867,1
    - Dst: IOBufferReader*::block_read_avail
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:871,1
    - Dst: Http09Transaction::_info::write_vio::get_writer
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:872,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:877,1
    - Dst: Http09Transaction::_write_vio::ntodo
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:884,1
    - Dst: Http09Transaction::_info::write_vio::done
      Src: /src/trafficserver/src/proxy/http3/Http3Transaction.cc:886,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 894
    functionName: Http09Transaction::_process_write_vio
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3Transaction.cc
    functionUses: 1
    functionsReached:
    - memcmp
    - IOBufferReader*::is_read_avail_more_than
    - ink_release_assert
    - IOBufferReader*::get_current_block
    - IOBufferReader*::block_read_avail
    - Http09Transaction::_info::write_vio::done
    - Http09Transaction::_write_vio::get_reader
    - IOBufferReader*::start
    - SCOPED_MUTEX_LOCK
    - IOBufferBlock*::read_avail
    - IOBufferReader*::consume
    - IOBufferReader*::read_avail
    - Http09Transaction::_write_vio::ntodo
    - this_ethread
    - Http09Transaction::_info::write_vio::get_writer
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http09Transaction::_process_write_vio()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Http3FrameFactory::create_null_frame
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:31,1
    - Dst: alloc
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:38,1
    - Dst: Http3SettingsFrame::Http3SettingsFrame
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:39,1
    - Dst: ts::Http3Config::scoped_config::header_table_size
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:41,1
    - Dst: Http3SettingsFrame*::set
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:42,1
    - Dst: ts::Http3Config::scoped_config::header_table_size
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:42,1
    - Dst: ts::Http3Config::scoped_config::max_field_section_size
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:45,1
    - Dst: Http3SettingsFrame*::set
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:46,1
    - Dst: ts::Http3Config::scoped_config::max_field_section_size
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:46,1
    - Dst: ts::Http3Config::scoped_config::qpack_blocked_streams
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:49,1
    - Dst: Http3SettingsFrame*::set
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:50,1
    - Dst: ts::Http3Config::scoped_config::qpack_blocked_streams
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:50,1
    - Dst: ts::Http3Config::scoped_config::num_placeholders
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:55,1
    - Dst: Http3SettingsFrame*::set
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:56,1
    - Dst: ts::Http3Config::scoped_config::num_placeholders
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:56,1
    - Dst: Http3SettingsFrameUPtr
      Src: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: Http3SettingsFramer::generate_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc
    functionUses: 0
    functionsReached:
    - Http3SettingsFrame*::set
    - ts::Http3Config::scoped_config::max_field_section_size
    - ts::Http3Config::scoped_config::header_table_size
    - alloc
    - ts::Http3Config::scoped_config::qpack_blocked_streams
    - ts::Http3Config::scoped_config::num_placeholders
    - Http3FrameFactory::create_null_frame
    - Http3SettingsFrameUPtr
    - Http3SettingsFrame::Http3SettingsFrame
    linkageType: ''
    returnType: Http3FrameUPtr
    signature: Http3FrameUPtr Http3SettingsFramer::generate_frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Http3SettingsFramer::is_done
    functionSourceFile: /src/trafficserver/src/proxy/http3/Http3SettingsFramer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http3SettingsFramer::is_done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:45,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:46,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:46,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:47,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:48,1
    - Dst: enabled
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:48,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:49,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:51,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:52,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:53,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:55,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:56,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:58,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:59,1
    - Dst: SocksServerConfig::startup
      Src: /src/trafficserver/src/proxy/http3/test/main.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/main.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - start
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - LibRecordsConfigInit
    - enabled
    - EThread::EThread
    - SocksServerConfig::startup
    - Thread*::set_specific
    - diags
    - Diags::Diags
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:57,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:58,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:58,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:59,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:60,1
    - Dst: enabled
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:60,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:61,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:63,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:64,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:65,1
    - Dst: QUICConfig::startup
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:67,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:69,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:70,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:72,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:73,1
    - Dst: url_init
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:75,1
    - Dst: mime_init
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:76,1
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:77,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - testRunInfo
    argTypes:
    - Catch::TestRunInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/main_qpack.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - start
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - LibRecordsConfigInit
    - QUICConfig::startup
    - enabled
    - EThread::EThread
    - url_init
    - http_init
    - hpack_huffman_init
    - mime_init
    - Thread*::set_specific
    - diags
    - Diags::Diags
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const &testRunInfo) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Catch::Session::Session
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:86,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:89,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:89,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:90,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:91,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:92,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:93,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:94,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:95,1
    - Dst: Opt
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:96,1
    - Dst: Catch::Session::cli
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:98,1
    - Dst: Catch::Session::applyCommandLine
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:100,1
    - Dst: Catch::Session::run
      Src: /src/trafficserver/src/proxy/http3/test/main_qpack.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/main_qpack.cc
    functionUses: 5
    functionsReached:
    - Catch::Session::applyCommandLine
    - Catch::Session::Session
    - Catch::Session::cli
    - Catch::Session::run
    - Opt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: QPACK::update_max_field_section_size
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_field_section_size(uint32_t /* max_field_section_size
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: QPACK::update_max_table_size
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_table_size(uint16_t /* max_table_size ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: QPACK::update_max_blocking_streams
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPACK::update_max_blocking_streams(uint16_t /* max_blocking_streams
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Http3Session::remote_qpack
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/stub.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPACK
    signature: 'QPACK *

      Http3Session::remote_qpack()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Http3MockFrameHandler::interests
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Http3FrameType>
    signature: std::vector<Http3FrameType> interests() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3ErrorUPtr
      Src: /src/trafficserver/src/proxy/http3/test/Mock.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Http3MockFrameHandler::handle_frame
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/Mock.h
    functionUses: 0
    functionsReached:
    - Http3ErrorUPtr
    linkageType: ''
    returnType: Http3ErrorUPtr
    signature: Http3ErrorUPtr handle_frame(std::shared_ptr<const Http3Frame> /* frame
      ATS_UNUSED */, Http3StreamType /* s_type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: QUICApplicationDriver::QUICApplicationDriver
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICApplicationDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: QUICApplicationDriver::get_connection
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConnection
    signature: "QUICConnection *\n  get_connection()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockQUICConnectionInfoProvider::MockQUICConnectionInfoProvider
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sid
    argTypes:
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: TestQUICStream::TestQUICStream
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - MockQUICConnectionInfoProvider::MockQUICConnectionInfoProvider
    linkageType: ''
    returnType: void
    signature: void TestQUICStream(QUICStreamId sid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestQUICStream::_adapter::write
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:77,1
    - Dst: TestQUICStream::_adapter::encourge_read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - buf_len
    - offset
    - last
    argTypes:
    - uint8_t*
    - size_t
    - QUICOffset
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: TestQUICStream::write
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - TestQUICStream::_adapter::write
    - TestQUICStream::_adapter::encourge_read
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t *buf, size_t buf_len, QUICOffset offset, bool
      last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestQUICStream::_adapter::encourge_read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:84,1
    - Dst: TestQUICStream::_adapter::read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:85,1
    - Dst: IOBufferReader::IOBufferReader
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:86,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: TestQUICStream::read
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - TestQUICStream::_adapter::encourge_read
    - IOBufferReader::read
    - TestQUICStream::_adapter::read
    - IOBufferReader::IOBufferReader
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: TestQPACKEventHandler::TestQPACKEventHandler
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void TestQPACKEventHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: TestQPACKEventHandler::event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_handler(int event, Event * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: TestQPACKEventHandler::last_event
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int last_event()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:122,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:123,1
    - Dst: std::string::at
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:130,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:134,1
    - Dst: HTTPHdr*::create
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:135,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:137,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:138,1
    - Dst: std::string::substr
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:139,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:140,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:140,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:141,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:142,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:142,1
    - Dst: std::string::length
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - filename
    - headers
    argTypes:
    - char*
    - HTTPHdr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 150
    functionName: load_qif_file
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_create
    - auto::c_str
    - HTTPHdr*::field_attach
    - HTTPHdr*::create
    - std::string::substr
    - std::string::empty
    - std::string::find_first_of
    - std::string::length
    - std::getline
    - std::string::at
    - HTTPHdr::HTTPHdr
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: int
    signature: int load_qif_file(const char *filename, HTTPHdr **headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:159,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:159,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:162,1
    - Dst: TestQUICStream*::read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:167,1
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:168,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:173,1
    - Dst: htobe32
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:176,1
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:177,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:177,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - stream
    argTypes:
    - FILE*
    - TestQUICStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: output_encoder_stream_data
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - TestQUICStream*::read
    - fwrite
    - reinterpret_cast<uint8_t *>
    - fseek
    - htobe32
    linkageType: ''
    returnType: void
    signature: void output_encoder_stream_data(FILE *fd, TestQUICStream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:189,1
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:190,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:190,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:193,1
    - Dst: IOBufferReader*::read
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:198,1
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:199,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:204,1
    - Dst: htobe32
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:207,1
    - Dst: fwrite
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:208,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:208,1
    - Dst: fseek
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - stream_id
    - header_block_reader
    argTypes:
    - FILE*
    - uint64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: output_encoded_data
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader*::read
    - fwrite
    - reinterpret_cast<uint8_t *>
    - fseek
    - htobe32
    - htobe64
    linkageType: ''
    returnType: void
    signature: void output_encoded_data(FILE *fd, uint64_t stream_id, IOBufferReader
      *header_block_reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:218,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:222,1
    - Dst: Arena::Arena
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:225,1
    - Dst: name_get
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:226,1
    - Dst: Arena::str_store
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:227,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:227,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:227,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:228,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:229,1
    - Dst: value_get
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:231,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:232,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - headers
    - n
    argTypes:
    - FILE*
    - std::vector<std::unique_ptr<HTTPHdr>>
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: output_decoded_headers
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - get
    - Arena::str_store
    - fprintf
    - static_cast<int>
    - auto::length
    - name_get
    - value_get
    - ParseRules::ink_tolower
    - auto::data
    - Arena::Arena
    linkageType: ''
    returnType: void
    signature: void output_decoded_headers(FILE *fd, std::vector<std::unique_ptr<HTTPHdr>>
      &headers, uint64_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:244,1
    - Dst: be64toh
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:248,1
    - Dst: fread
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:251,1
    - Dst: be32toh
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:255,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:258,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:258,1
    - Dst: fread
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:259,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - fd
    - stream_id
    - head
    - block_len
    argTypes:
    - FILE*
    - uint64_t
    - uint8_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 266
    functionName: read_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - be64toh
    - reinterpret_cast<uint8_t *>
    - be32toh
    - ats_malloc
    - fread
    linkageType: ''
    returnType: int
    signature: int read_block(FILE *fd, uint64_t &stream_id, uint8_t **head, uint32_t
      &block_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:274,1
    - Dst: TestQUICStream*::write
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - stream_id
    argTypes:
    - TestQUICStream*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: acknowledge_header_block
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - xpack_encode_integer
    - TestQUICStream*::write
    linkageType: ''
    returnType: void
    signature: void acknowledge_header_block(TestQUICStream *stream, uint64_t stream_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:283,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:286,1
    - Dst: load_qif_file
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:291,1
    - Dst: QUICApplicationDriver::QUICApplicationDriver
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:293,1
    - Dst: QUICApplicationDriver::get_connection
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:294,1
    - Dst: QPACK::QPACK
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:294,1
    - Dst: TestQUICStream::TestQUICStream
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:295,1
    - Dst: TestQUICStream::TestQUICStream
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:296,1
    - Dst: QPACK*::on_stream_open
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:297,1
    - Dst: QPACK*::on_stream_open
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:298,1
    - Dst: QPACK*::set_encoder_stream
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:299,1
    - Dst: TestQUICStream*::id
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:299,1
    - Dst: QPACK*::set_decoder_stream
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:300,1
    - Dst: TestQUICStream*::id
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:300,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:303,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:305,1
    - Dst: QPACK*::encode
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:308,1
    - Dst: output_encoder_stream_data
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:313,1
    - Dst: output_encoded_data
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:314,1
    - Dst: acknowledge_header_block
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:317,1
    - Dst: fflush
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:323,1
    - Dst: fclose
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - qif_file
    - out_file
    - dts
    - mbs
    - am
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 327
    functionName: test_encode
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - acknowledge_header_block
    - TestQUICStream*::id
    - REQUIRE
    - output_encoded_data
    - QUICApplicationDriver::get_connection
    - fclose
    - load_qif_file
    - QPACK*::encode
    - QPACK::QPACK
    - QPACK*::set_encoder_stream
    - output_encoder_stream_data
    - QUICApplicationDriver::QUICApplicationDriver
    - MIOBuffer*::alloc_reader
    - QPACK*::set_decoder_stream
    - TestQUICStream::TestQUICStream
    - fopen
    - QPACK*::on_stream_open
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_encode(const char *qif_file, const char *out_file, int dts,
      int mbs, int am)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:334,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:337,1
    - Dst: fopen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:341,1
    - Dst: fclose
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:344,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:345,1
    - Dst: TestQPACKEventHandler::TestQPACKEventHandler
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:352,1
    - Dst: QUICApplicationDriver::QUICApplicationDriver
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:354,1
    - Dst: QUICApplicationDriver::get_connection
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:355,1
    - Dst: QPACK::QPACK
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:355,1
    - Dst: TestQUICStream::TestQUICStream
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:356,1
    - Dst: QPACK*::on_stream_open
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:357,1
    - Dst: read_block
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:367,1
    - Dst: TestQUICStream*::id
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:368,1
    - Dst: TestQUICStream*::write
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:369,1
    - Dst: std::make_unique<HTTPHdr>
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:373,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:374,1
    - Dst: QPACK*::decode
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:377,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:379,1
    - Dst: feof
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:382,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:383,1
    - Dst: sleep
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:387,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:389,1
    - Dst: TestQPACKEventHandler*::last_event
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:389,1
    - Dst: output_decoded_headers
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:391,1
    - Dst: std::vector::size
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:393,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:395,1
    - Dst: fflush
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:398,1
    - Dst: fclose
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:399,1
    - Dst: fflush
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:400,1
    - Dst: fclose
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - enc_file
    - out_file
    - dts
    - mbs
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 403
    functionName: test_decode
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 0
    functionsReached:
    - feof
    - TestQUICStream*::id
    - REQUIRE
    - create
    - TestQPACKEventHandler*::last_event
    - ats_free
    - CHECK
    - QUICApplicationDriver::get_connection
    - fclose
    - output_decoded_headers
    - TestQPACKEventHandler::TestQPACKEventHandler
    - std::vector::size
    - destroy
    - QPACK::QPACK
    - std::make_unique<HTTPHdr>
    - QUICApplicationDriver::QUICApplicationDriver
    - read_block
    - QPACK*::decode
    - sleep
    - TestQUICStream*::write
    - TestQUICStream::TestQUICStream
    - fopen
    - QPACK*::on_stream_open
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_decode(const char *enc_file, const char *out_file, int dts,
      int mbs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:426,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:427,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:428,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:429,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:430,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:430,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:430,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:431,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:431,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:431,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:433,1
    - Dst: test_encode
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: SECTION
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 1
    functionsReached:
    - S_ISREG
    - CHECK
    - stat
    - strstr
    - snprintf
    - strlen
    - ink_strlcat
    - test_encode
    linkageType: ''
    returnType: void
    signature: void SECTION(section_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:463,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:463,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:463,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:464,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:465,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:465,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:466,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:466,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:466,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:467,1
    - Dst: test_decode
      Src: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: SECTION
    functionSourceFile: /src/trafficserver/src/proxy/http3/test/test_QPACK.cc
    functionUses: 1
    functionsReached:
    - S_ISREG
    - CHECK
    - stat
    - strstr
    - snprintf
    - strlen
    - test_decode
    linkageType: ''
    returnType: void
    signature: void SECTION(section_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: PreWarmSMDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PreWarmSMDbg(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: PreWarmSMVDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PreWarmSMVDbg(fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - alpn_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: alpn_name_for_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view alpn_name_for_stat(int alpn_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:83,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:84,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fqdn
    - port
    - authority
    argTypes:
    - std::string
    - int32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: parse_authority
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - static_cast<in_port_t>
    - std::stoi
    - std::string_view::find
    linkageType: ''
    returnType: void
    signature: void parse_authority(std::string &fqdn, int32_t &port, std::string_view
      authority)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - alpn_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: alpn_name_for_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view alpn_name_for_stat(int alpn_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:83,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:84,1
    - Dst: static_cast<in_port_t>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    - Dst: std::stoi
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fqdn
    - port
    - authority
    argTypes:
    - std::string
    - int32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: parse_authority
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - static_cast<in_port_t>
    - std::stoi
    - std::string_view::find
    linkageType: ''
    returnType: void
    signature: void parse_authority(std::string &fqdn, int32_t &port, std::string_view
      authority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:120,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:124,1
    - Dst: PreWarm::SPtrConstDst::host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:124,1
    - Dst: use_count
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:124,1
    - Dst: use_count
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:124,1
    - Dst: use_count
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - conf
    - stats_ids
    argTypes:
    - PreWarm::SPtrConstDst
    - PreWarm::SPtrConstConf
    - PreWarm::SPtrConstStatsIds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: PreWarmSM::PreWarmSM
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - use_count
    - PreWarm::SPtrConstDst::host::data
    - new_ProxyMutex
    - Dbg
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: "void PreWarmSM::PreWarmSM(const PreWarm::SPtrConstDst &dst, const
      PreWarm::SPtrConstConf &conf,\n                     const PreWarm::SPtrConstStatsIds
      &stats_ids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: PreWarmSM::~PreWarmSM()
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::~PreWarmSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::_reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:136,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: PreWarmSM::start
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - PreWarmSM::_reset
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::_reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:148,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:150,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:155,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:155,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:157,1
    - Dst: EThread*::schedule_in_local
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:158,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:161,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:161,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: PreWarmSM::retry
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - Warning
    - host::size
    - host::data
    - PreWarmSM::_reset
    - HRTIME_SECONDS
    - this_ethread
    - EThread*::schedule_in_local
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::retry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::_reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:177,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:178,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: PreWarmSM::stop
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - mark
    - SET_HANDLER
    - PreWarmSM::_reset
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::_reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:185,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:187,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:188,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: PreWarmSM::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - reset
    - PreWarmSM::_reset
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::destroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:211,1
    - Dst: NetVConnection*::do_io_write
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:212,1
    - Dst: cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:214,1
    - Dst: cancel_inactive_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:215,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:218,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: PreWarmSM::move_netvc
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::do_io_read
    - NetVConnection*::do_io_write
    - cancel_inactive_timeout
    - cancel
    - cancel_active_timeout
    - SET_HANDLER
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      PreWarmSM::move_netvc()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:236,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:237,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:238,1
    - Dst: PreWarmSMDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:240,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:240,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:240,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:247,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:247,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:247,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:248,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:250,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:250,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:250,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:251,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:253,1
    - Dst: getSRVbyname_imm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:255,1
    - Dst: static_cast<cb_process_result_pfn>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:256,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:261,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:261,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:261,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:263,1
    - Dst: static_cast<cb_process_result_pfn>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:264,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:264,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:264,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:273,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 278
    functionName: PreWarmSM::state_init
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - host::size
    - host::data
    - memcpy
    - PreWarmSMVDbg
    - getbyname_imm
    - ink_abort
    - mark
    - PreWarmSMDbg
    - static_cast<cb_process_result_pfn>
    - set_active_timeout
    - data
    - getSRVbyname_imm
    - size
    - get_vc_event_name
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int PreWarmSM::state_init(int event, void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:283,1
    - Dst: HostDBRecord*::is_failed
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:289,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:290,1
    - Dst: PreWarmSM::retry
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:292,1
    - Dst: HostDBRecord*::select_next_rr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:296,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:296,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:299,1
    - Dst: PreWarmSM::retry
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:300,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:304,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:306,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:306,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:308,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:310,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:310,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:313,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:314,1
    - Dst: PreWarmSM::_connect
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:316,1
    - Dst: HostDBRecord*::is_srv
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:328,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:332,1
    - Dst: HostDBRecord*::select_best_srv
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:335,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:335,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:342,1
    - Dst: static_cast<cb_process_result_pfn>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:343,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:343,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:343,1
    - Dst: PreWarmSM::retry
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:351,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:354,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:354,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 359
    functionName: PreWarmSM::state_dns_lookup
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    - IpEndpoint::network_order_port
    - PreWarmSM::_connect
    - PreWarmSM::retry
    - SET_HANDLER
    - std::string_view::data
    - IpEndpoint::assign
    - std::string_view::size
    - static_cast<cb_process_result_pfn>
    - get_vc_event_name
    - HostDBRecord*::is_srv
    - PreWarmSMVDbg
    - htons
    - getbyname_imm
    - ats_ip_nptop
    - mark
    - HostDBRecord*::select_next_rr
    - std::string_view
    - failover_now
    - 'on'
    - HostDBRecord*::is_failed
    - HostDBRecord*::select_best_srv
    - static_cast<HostDBRecord *>
    linkageType: ''
    returnType: int
    signature: int PreWarmSM::state_dns_lookup(int event, void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:367,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:371,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:372,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:373,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:375,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:376,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:377,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:384,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:385,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:387,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:388,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:390,1
    - Dst: cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:391,1
    - Dst: set_inactive_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:392,1
    - Dst: mark
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:393,1
    - Dst: PreWarmSM::_record_handshake_time
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:394,1
    - Dst: NetVConnection*::do_io_write
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:398,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:400,1
    - Dst: EThread*::prewarm_queue::push
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:401,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:407,1
    - Dst: PreWarmSM::stop
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:410,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:413,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:413,1
    - Dst: PreWarmSM::retry
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:422,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:425,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 430
    functionName: PreWarmSM::state_net_open
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - ink_abort
    - PreWarmSM::retry
    - this_ethread
    - SET_HANDLER
    - strerror
    - reinterpret_cast<intptr_t>
    - EThread*::prewarm_queue::push
    - get_vc_event_name
    - PreWarmSMVDbg
    - Warning
    - ink_release_assert
    - set_inactive_timeout
    - mark
    - PreWarmSM::_record_handshake_time
    - static_cast<VIO *>
    - NetVConnection*::do_io_write
    - static_cast<NetVConnection *>
    - do_io_write
    - PreWarmSM::stop
    - cancel_active_timeout
    linkageType: ''
    returnType: int
    signature: int PreWarmSM::state_net_open(int event, void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:440,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:441,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:443,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:445,1
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:446,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:447,1
    - Dst: PreWarmSMDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:448,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:450,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:452,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:452,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:453,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:456,1
    - Dst: swoc::MemSpan<void const>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:456,1
    - Dst: PreWarmSMVDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:458,1
    - Dst: swoc::LocalBufferWriter::extent
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:458,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:458,1
    - Dst: PreWarmSMDbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:469,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:469,1
    - Dst: PreWarmSM::stop
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:470,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:480,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 485
    functionName: PreWarmSM::state_open
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - PreWarmSMVDbg
    - ink_release_assert
    - 'on'
    - ink_abort
    - static_cast<NetVConnection *>
    - get_vc_event_name
    - read_avail
    - swoc::LocalBufferWriter::print
    - is_read_avail_more_than
    - min
    - swoc::LocalBufferWriter::data
    - PreWarmSMDbg
    - swoc::MemSpan<void const>
    - PreWarmSM::stop
    - static_cast<uint64_t>
    - static_cast<VIO *>
    - swoc::LocalBufferWriter::extent
    linkageType: ''
    returnType: int
    signature: int PreWarmSM::state_open(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:492,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: PreWarmSM::state_closed
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - get_vc_event_name
    - ink_abort
    linkageType: ''
    returnType: int
    signature: int PreWarmSM::state_closed(int event, void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: PreWarmSM::server_buf_reader
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      PreWarmSM::server_buf_reader()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: PreWarmSM::has_data_from_origin_server
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - is_read_avail_more_than
    linkageType: ''
    returnType: bool
    signature: bool PreWarmSM::has_data_from_origin_server() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::is_active_timeout_expired
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: PreWarmSM::is_active_timeout_expired
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - PreWarmSM::is_active_timeout_expired
    linkageType: ''
    returnType: bool
    signature: bool PreWarmSM::is_active_timeout_expired(ink_hrtime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmSM::is_inactive_timeout_expired
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: PreWarmSM::is_inactive_timeout_expired
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - PreWarmSM::is_inactive_timeout_expired
    linkageType: ''
    returnType: bool
    signature: bool PreWarmSM::is_inactive_timeout_expired(ink_hrtime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:530,1
    - Dst: PreWarmSM::handleEvent
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: PreWarmSM::process_hostdb_info
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - PreWarmSM::handleEvent
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::process_hostdb_info(HostDBRecord *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:538,1
    - Dst: PreWarmSM::handleEvent
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: PreWarmSM::process_srv_info
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - PreWarmSM::handleEvent
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::process_srv_info(HostDBRecord *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetVCOptions::reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:551,1
    - Dst: NetVCOptions::set_sock_param
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:553,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:560,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:560,1
    - Dst: connect_re
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:562,1
    - Dst: NetVCOptions::set_sni_servername
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:567,1
    - Dst: sni::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:567,1
    - Dst: sni::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:567,1
    - Dst: SessionProtocolNameRegistry::convert_openssl_alpn_wire_format
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:570,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:581,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:581,1
    - Dst: connect_re
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 591
    functionName: PreWarmSM::_connect
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - connect_re
    - SessionProtocolNameRegistry::convert_openssl_alpn_wire_format
    - NetVCOptions::reset
    - SCOPED_MUTEX_LOCK
    - sni::data
    - sni::size
    - NetVCOptions::set_sock_param
    - this_ethread
    - NetVCOptions::set_sni_servername
    linkageType: ''
    returnType: Action
    signature: 'Action *

      PreWarmSM::_connect(const IpEndpoint &addr)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:599,1
    - Dst: cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:601,1
    - Dst: cancel_inactive_timeout
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:602,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:605,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:610,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:616,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:623,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 632
    functionName: PreWarmSM::_reset
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 4
    functionsReached:
    - do_io_close
    - free_MIOBuffer
    - cancel_inactive_timeout
    - cancel
    - cancel_active_timeout
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::_reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elapsed
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:637,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:639,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:646,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:646,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:647,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 648
    functionName: PreWarmSM::_record_handshake_time
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - elapsed
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PreWarmSM::_record_handshake_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:653,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: PreWarmQueue::PreWarmQueue
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::PreWarmQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:660,1
    - Dst: PreWarmQueue::_make_queue_empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:666,1
    - Dst: PreWarmQueue::_make_queue_empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 674
    functionName: PreWarmQueue::~PreWarmQueue()
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - PreWarmQueue::_make_queue_empty
    - cancel
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::~PreWarmQueue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmQueue::_reconfigure
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:681,1
    - Dst: ActivityCop<PreWarmSM>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:683,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:684,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:687,1
    - Dst: EThread*::schedule_every_local
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:688,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:690,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:695,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 700
    functionName: PreWarmQueue::state_init
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - start
    - EThread*::schedule_every_local
    - ink_abort
    - PreWarmQueue::_reconfigure
    - ActivityCop<PreWarmSM>
    - this_ethread
    - SET_HANDLER
    - get_vc_event_name
    linkageType: ''
    returnType: int
    signature: int PreWarmQueue::state_init(int event, void * /* data ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmQueue::_delete_closed_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:709,1
    - Dst: PreWarmQueue::_delete_closed_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:710,1
    - Dst: PreWarmQueue::_prewarm_on_event_interval
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:713,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:716,1
    - Dst: host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:716,1
    - Dst: host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:717,1
    - Dst: init_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:717,1
    - Dst: open_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:718,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:722,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:722,1
    - Dst: init_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:722,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:723,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:723,1
    - Dst: open_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:723,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:724,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:724,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:725,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:725,1
    - Dst: PreWarmQueue::_reconfigure
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:734,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:737,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:738,1
    - Dst: EThread*::schedule_every_local
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:739,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:744,1
    - Dst: get_vc_event_name
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 749
    functionName: PreWarmQueue::state_running
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - PreWarmQueue::_prewarm_on_event_interval
    - host::data
    - host::size
    - init_list::size
    - open_list::size
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - EThread*::schedule_every_local
    - ink_abort
    - ts::Metrics::Gauge::store
    - PreWarmQueue::_delete_closed_sm
    - PreWarmQueue::_reconfigure
    - Dbg
    - cancel
    - this_ethread
    - get_vc_event_name
    linkageType: ''
    returnType: int
    signature: int PreWarmQueue::state_running(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:754,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:756,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:756,1
    - Dst: Queue*::begin
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:760,1
    - Dst: Queue*::end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:760,1
    - Dst: Queue*::erase
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:762,1
    - Dst: auto::second::open_list::push_front
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - sm
    argTypes:
    - PreWarm::SPtrConstDst
    - PreWarmSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 769
    functionName: PreWarmQueue::push
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Queue*::begin
    - find
    - Queue*::erase
    - Queue*::end
    - end
    - auto::second::open_list::push_front
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::push(const PreWarm::SPtrConstDst &dst, PreWarmSM
      *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:780,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:781,1
    - Dst: Queue*::empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:790,1
    - Dst: Queue*::front
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:791,1
    - Dst: Queue*::pop_front
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:792,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:795,1
    - Dst: PreWarmQueue::_delete_prewarm_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:799,1
    - Dst: PreWarmQueue::_prewarm_on_dequeue
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - target
    argTypes:
    - PreWarm::SPtrConstDst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 813
    functionName: PreWarmQueue::dequeue
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - Queue*::empty
    - Queue*::pop_front
    - find
    - remove
    - end
    - Queue*::front
    - PreWarmQueue::_prewarm_on_dequeue
    - PreWarmQueue::_delete_prewarm_sm
    linkageType: ''
    returnType: PreWarmSM
    signature: 'PreWarmSM *

      PreWarmQueue::dequeue(const PreWarm::SPtrConstDst &target)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:819,1
    - Dst: THREAD_ALLOC
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:821,1
    - Dst: PreWarmSM::PreWarmSM
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:822,1
    - Dst: PreWarmQueue::push
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:823,1
    - Dst: init_list::push_back
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:825,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:827,1
    - Dst: PreWarmSM*::start
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - conf
    - stats_ids
    argTypes:
    - PreWarm::SPtrConstDst
    - PreWarm::SPtrConstConf
    - PreWarm::SPtrConstStatsIds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: PreWarmQueue::_new_prewarm_sm
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - THREAD_ALLOC
    - init_list::push_back
    - SCOPED_MUTEX_LOCK
    - PreWarmQueue::push
    - PreWarmSM::PreWarmSM
    - this_ethread
    - PreWarmSM*::start
    linkageType: ''
    returnType: void
    signature: "void PreWarmQueue::_new_prewarm_sm(const PreWarm::SPtrConstDst &dst,
      const PreWarm::SPtrConstConf &conf,\n                              const PreWarm::SPtrConstStatsIds
      &stats_ids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:834,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:836,1
    - Dst: PreWarmSM*::destroy
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:838,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:839,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - PreWarmSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 840
    functionName: PreWarmQueue::_delete_prewarm_sm
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - PreWarmSM*::destroy
    - ink_release_assert
    - remove
    - this_ethread
    - THREAD_FREE
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_delete_prewarm_sm(PreWarmSM *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Info::init_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:853,1
    - Dst: Info::open_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:853,1
    - Dst: PreWarm::prewarm_size_v2_on_event_interval
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:858,1
    - Dst: PreWarm::prewarm_size_v1_on_event_interval
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:865,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:869,1
    - Dst: PreWarmQueue::_new_prewarm_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dst
    - info
    argTypes:
    - PreWarm::SPtrConstDst
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 850
    functionDepth: 4
    functionLinenumber: 850
    functionLinenumberEnd: 874
    functionName: PreWarmQueue::_prewarm_on_event_interval
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - PreWarm::prewarm_size_v1_on_event_interval
    - Info::open_list::size
    - Dbg
    - Info::init_list::size
    - PreWarmQueue::_new_prewarm_sm
    - PreWarm::prewarm_size_v2_on_event_interval
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_prewarm_on_event_interval(const PreWarm::SPtrConstDst
      &dst, const Info &info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Info::init_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:887,1
    - Dst: Info::open_list::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:887,1
    - Dst: PreWarmQueue::_new_prewarm_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - info
    argTypes:
    - PreWarm::SPtrConstDst
    - Info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 882
    functionDepth: 4
    functionLinenumber: 882
    functionLinenumberEnd: 899
    functionName: PreWarmQueue::_prewarm_on_dequeue
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - Info::init_list::size
    - Info::open_list::size
    - PreWarmQueue::_new_prewarm_sm
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_prewarm_on_dequeue(const PreWarm::SPtrConstDst
      &dst, const Info &info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:910,1
    - Dst: PreWarm::algorithm_version
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:911,1
    - Dst: get_parsed_conf
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:915,1
    - Dst: get_stats_id_map
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:916,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:923,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:923,1
    - Dst: PreWarm::StatsIdMap::find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:931,1
    - Dst: PreWarm::StatsIdMap::end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:931,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:934,1
    - Dst: PreWarm::SPtrConstDst::host::c_str
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:934,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:938,1
    - Dst: Queue::Queue
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:939,1
    - Dst: PreWarm::ParsedSNIConf::find
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:946,1
    - Dst: PreWarm::ParsedSNIConf::end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:946,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:949,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:949,1
    - Dst: ts::Metrics::Gauge::store
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:950,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:950,1
    - Dst: PreWarmQueue::_make_queue_empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:952,1
    - Dst: PreWarmQueue::_make_queue_empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:955,1
    - Dst: conf::reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:958,1
    - Dst: stats_ids::reset
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:959,1
    - Dst: std::swap
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 964
    functionName: PreWarmQueue::_reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 2
    functionsReached:
    - PreWarmQueue::_make_queue_empty
    - PreWarm::StatsIdMap::find
    - PreWarm::ParsedSNIConf::find
    - get_stats_id_map
    - conf::reset
    - Queue::Queue
    - static_cast<int>
    - PreWarm::SPtrConstDst::host::c_str
    - PreWarm::algorithm_version
    - find
    - ts::Metrics::Gauge::store
    - Error
    - get_parsed_conf
    - end
    - PreWarm::ParsedSNIConf::end
    - std::swap
    - stats_ids::reset
    - PreWarm::StatsIdMap::end
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue*::empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:972,1
    - Dst: Queue*::front
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:973,1
    - Dst: Queue*::pop_front
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:974,1
    - Dst: PreWarmSM*::stop
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:975,1
    - Dst: PreWarmQueue::_delete_prewarm_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 978
    functionName: PreWarmQueue::_make_queue_empty
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 2
    functionsReached:
    - Queue*::empty
    - Queue*::pop_front
    - PreWarmSM*::stop
    - Queue*::front
    - PreWarmQueue::_delete_prewarm_sm
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_make_queue_empty(Queue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue*::begin
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:986,1
    - Dst: Queue*::end
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:986,1
    - Dst: PreWarmQueue::_delete_prewarm_sm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:988,1
    - Dst: Queue*::erase
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 994
    functionName: PreWarmQueue::_delete_closed_sm
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - Queue*::end
    - Queue*::erase
    - PreWarmQueue::_delete_prewarm_sm
    - Queue*::begin
    linkageType: ''
    returnType: void
    signature: void PreWarmQueue::_delete_closed_sm(Queue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1003,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1003,1
    - Dst: EventProcessor::ThreadGroupDescriptor*::_name::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1003,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1005,1
    - Dst: PreWarmQueue::PreWarmQueue
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1010,1
    - Dst: EThread*::schedule_imm
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1014
    functionName: PreWarmManager::reconfigure_prewarming_on_threads
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - ink_release_assert
    - Dbg
    - PreWarmQueue::PreWarmQueue
    - EventProcessor::ThreadGroupDescriptor*::_name::data
    - EThread*::schedule_imm
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::reconfigure_prewarming_on_threads()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmConfig::startup
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1019,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1021,1
    - Dst: PreWarmManager::reconfigure
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1024
    functionName: PreWarmManager::start
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - PreWarmManager::reconfigure
    - PreWarmConfig::startup
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1034,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1034,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1048,1
    - Dst: PreWarmManager::_parse_sni_conf
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1049,1
    - Dst: PreWarmManager::_register_stats
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1050,1
    - Dst: PreWarmManager::reconfigure_prewarming_on_threads
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1026
    functionDepth: 3
    functionLinenumber: 1026
    functionLinenumberEnd: 1054
    functionName: PreWarmManager::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - PreWarmManager::_register_stats
    - PreWarmManager::_parse_sni_conf
    - SCOPED_MUTEX_LOCK
    - PreWarmManager::reconfigure_prewarming_on_threads
    - this_ethread
    - clear
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: PreWarmManager::stop
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: '&

      PreWarmManager::get_parsed_conf() const'
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreWarm::ParsedSNIConf
    signature: 'PreWarm::ParsedSNIConf &

      PreWarmManager::get_parsed_conf() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: '&

      PreWarmManager::get_stats_id_map() const'
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreWarm::StatsIdMap
    signature: 'PreWarm::StatsIdMap &

      PreWarmManager::get_stats_id_map() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tunnel_alpn::empty
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1096,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1098,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1103,1
    - Dst: fqdn::c_str
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1103,1
    - Dst: tunnel_destination::c_str
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1104,1
    - Dst: parse_authority
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1109,1
    - Dst: std::make_shared<const PreWarm::Dst>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1119,1
    - Dst: std::make_shared<const PreWarm::Conf>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1122,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1126,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1127,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1131,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - parsed_conf
    - sni_conf
    argTypes:
    - PreWarm::ParsedSNIConf
    - SNIConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1138
    functionName: PreWarmManager::_parse_sni_conf
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - parse_authority
    - std::vector::push_back
    - tunnel_alpn::empty
    - std::make_shared<const PreWarm::Dst>
    - HRTIME_SECONDS
    - Dbg
    - fqdn::c_str
    - std::make_shared<const PreWarm::Conf>
    - tunnel_destination::c_str
    - std::move
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::_parse_sni_conf(PreWarm::ParsedSNIConf &parsed_conf,
      const SNIConfigParams *sni_conf) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alpn_name_for_stat
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1150,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1152,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1152,1
    - Dst: PreWarm::SPtrConstDst::host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1152,1
    - Dst: PreWarm::SPtrConstDst::host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1152,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1153,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1153,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1155,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1155,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1155,1
    - Dst: PreWarm::SPtrConstDst::host::size
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1155,1
    - Dst: PreWarm::SPtrConstDst::host::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1155,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dst
    - statname
    - name
    - namesize
    argTypes:
    - PreWarm::SPtrConstDst
    - std::string_view
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1158
    functionName: _makeName
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - PreWarm::SPtrConstDst::host::data
    - snprintf
    - PreWarm::SPtrConstDst::host::size
    - alpn_name_for_stat
    - data
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void _makeName(const PreWarm::SPtrConstDst &dst, std::string_view statname,
      char *name, size_t namesize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1171,1
    - Dst: _makeName
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1174,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1176,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1179,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1183,1
    - Dst: ts::Metrics::Counter::lookup
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1183,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1188,1
    - Dst: _makeName
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1191,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1193,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1196,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1200,1
    - Dst: ts::Metrics::Gauge::lookup
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1200,1
    - Dst: std::make_shared<const PreWarm::StatsIds>
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1204,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/http/PreWarmManager.cc:1207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - parsed_conf
    argTypes:
    - PreWarm::ParsedSNIConf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1208
    functionName: PreWarmManager::_register_stats
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmManager.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::lookup
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::lookup
    - ts::Metrics::Gauge::createPtr
    - std::make_shared<const PreWarm::StatsIds>
    - Error
    - Dbg
    - Note
    - _makeName
    linkageType: ''
    returnType: void
    signature: void PreWarmManager::_register_stats(const PreWarm::ParsedSNIConf &parsed_conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Http1ServerSession::Http1ServerSession
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::Http1ServerSession()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:55,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:56,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:59,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:63,1
    - Dst: get_pool_type
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:64,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:65,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:65,1
    - Dst: Http1ServerSession::free
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: Http1ServerSession::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - free_MIOBuffer
    - THREAD_FREE
    - this_thread
    - get_pool_type
    - Http1ServerSession::free
    - clear
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Http1ServerSession::free
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::free()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:80,1
    - Dst: ProxySession::next_connection_id
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:87,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:90,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:91,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:94,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:100,1
    - Dst: NetVConnection*::set_tcp_congestion_control
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - new_vc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: Http1ServerSession::new_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - new_MIOBuffer
    - alloc_reader
    - ProxySession::next_connection_id
    - Dbg
    - NetVConnection*::set_tcp_congestion_control
    - ts::Metrics::Gauge::increment
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::new_connection(NetVConnection *new_vc, MIOBuffer
      *iobuf, IOBufferReader *reader)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:112,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:117,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:120,1
    - Dst: Http1ServerSession::release_outbound_connection_tracking
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:126,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:126,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:126,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:126,1
    - Dst: Http1ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:130,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:135,1
    - Dst: Http1ServerSession::destroy
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - alerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 142
    functionName: Http1ServerSession::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Gauge::decrement
    - Http1ServerSession::do_io_close
    - 'on'
    - Http1ServerSession::destroy
    - swoc::LocalBufferWriter::print
    - Dbg
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    - Http1ServerSession::release_outbound_connection_tracking
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::do_io_close(int alerrno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:151,1
    - Dst: Http1ServerSession::is_private
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:151,1
    - Dst: cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:158,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: Http1ServerSession::release
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - cancel_active_timeout
    - Dbg
    - ink_release_assert
    - Http1ServerSession::is_private
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::release(ProxyTransaction * /* trans ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:169,1
    - Dst: get_remote_endpoint
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: '&

      Http1ServerSession::get_server_ip() const'
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - get_remote_endpoint
    - ink_release_assert
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      Http1ServerSession::get_server_ip() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: Http1ServerSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http1ServerSession::get_transact_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: Http1ServerSession::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http1ServerSession::get_protocol_string() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: Http1ServerSession::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::increment_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: Http1ServerSession::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::decrement_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: Http1ServerSession::start
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession::start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: Http1ServerSession::is_chunked_encoding_supported
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http1ServerSession::is_chunked_encoding_supported() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Http1ServerSession::is_private
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:215,1
    - Dst: Http1ServerSession::is_private
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:216,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:217,1
    - Dst: Http1ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:219,1
    - Dst: control_flags::set_flags
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:221,1
    - Dst: release_session
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:228,1
    - Dst: Http1ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:234,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:235,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:240,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:242,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:247,1
    - Dst: Http1ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:248,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 253
    functionName: Http1ServerSession::release_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - release_session
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - control_flags::set_flags
    - Http1ServerSession::is_private
    - Http1ServerSession::do_io_close
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession ::release_transaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:260,1
    - Dst: set_reader
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:261,1
    - Dst: Http1ServerSession::get_remote_reader
      Src: /src/trafficserver/src/proxy/http/Http1ServerSession.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: Http1ServerSession::new_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerSession.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - set_reader
    - Http1ServerSession::get_remote_reader
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      Http1ServerSession::new_transaction()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - http_config_param
    - method
    argTypes:
    - OverridableHttpConfigParams*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: HttpTransactHeaders::is_method_cacheable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_method_cacheable(const OverridableHttpConfigParams
      *http_config_param, const int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: HttpTransactHeaders::is_method_cache_lookupable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_method_cache_lookupable(int method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:72,1
    - Dst: hdrtoken_wks_to_flags
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:75,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: HttpTransactHeaders::is_this_a_hop_by_hop_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - hdrtoken_wks_to_flags
    - c_str
    - hdrtoken_is_wks
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_this_a_hop_by_hop_header(const char *field_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransactHeaders::is_this_http_method_supported
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - the_scheme
    - the_method
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: HttpTransactHeaders::is_this_method_supported
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HttpTransactHeaders::is_this_http_method_supported
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_this_method_supported(int the_scheme,
      int the_method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: HttpTransactHeaders::is_method_safe
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_method_safe(int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - response_code
    argTypes:
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: HttpTransactHeaders::is_status_an_error_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_status_an_error_response(HTTPStatus response_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: HttpTransactHeaders::is_method_idempotent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_method_idempotent(int method)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:123,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:123,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:123,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:123,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:124,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:124,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:124,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:124,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:125,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:125,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:131,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:142,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:142,1
    - Dst: HttpTransactHeaders::is_this_method_supported
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:144,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:144,1
    - Dst: hdrtoken_wks_to_length
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:148,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:159,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:159,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:161,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:161,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:162,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:169,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:169,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:177,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:190,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - response
    - scheme
    argTypes:
    - HTTPHdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 194
    functionName: HttpTransactHeaders::insert_supported_methods_in_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - memcpy
    - ats_free
    - static_cast<std::string_view>
    - MIMEField*::value_append
    - HTTPHdr*::field_find
    - hdrtoken_wks_to_length
    - static_cast<char *>
    - c_str
    - ats_malloc
    - hdrtoken_is_wks
    - hdrtoken_wks_to_index
    - ink_assert
    - HttpTransactHeaders::is_this_method_supported
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::insert_supported_methods_in_response(HTTPHdr
      *response, int scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:200,1
    - Dst: HTTPHdr*::create
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:201,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:204,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:204,1
    - Dst: HTTPHdr*::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:206,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:206,1
    - Dst: HTTPHdr*::status_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:207,1
    - Dst: HTTPHdr*::reason_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:208,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:208,1
    - Dst: HTTPHdr*::set_date
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - outgoing_response
    - status
    - reason_phrase
    - reason_phrase_len
    - date
    argTypes:
    - HTTPHdr*
    - HTTPStatus
    - char*
    - int
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: HttpTransactHeaders::build_base_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - HTTPHdr*::create
    - HTTPHdr*::type_get
    - HTTPHdr*::valid
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::set_date
    - HTTPHdr*::reason_set
    - HTTPHdr*::version_set
    - HTTPHdr*::status_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void HttpTransactHeaders::build_base_response(HTTPHdr *outgoing_response,
      HTTPStatus status, const char *reason_phrase,\n                                         int
      reason_phrase_len, ink_time_t date)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:219,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:219,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:220,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:220,1
    - Dst: HTTPHdr*::copy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:225,1
    - Dst: hdrtoken_index_to_flags
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:249,1
    - Dst: name_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:252,1
    - Dst: value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:253,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:254,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:264,1
    - Dst: HTTPHdr*::set_date
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - src_hdr
    - new_hdr
    - retain_proxy_auth_hdrs
    - date
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    - bool
    - ink_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 274
    functionName: HttpTransactHeaders::copy_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::copy
    - HTTPHdr*::valid
    - HTTPHdr*::field_delete
    - name_get
    - hdrtoken_index_to_flags
    - c_str
    - value_get
    - HTTPHdr*::set_date
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::copy_header_fields(HTTPHdr *src_hdr, HTTPHdr
      *new_hdr, bool retain_proxy_auth_hdrs, ink_time_t date)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:281,1
    - Dst: HttpTransactHeaders::convert_to_1_1_request_header
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:282,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:283,1
    - Dst: HttpTransactHeaders::convert_to_1_0_request_header
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:284,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - outgoing_ver
    - outgoing_request
    argTypes:
    - HTTPVersion
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: HttpTransactHeaders::convert_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - HttpTransactHeaders::convert_to_1_1_request_header
    - Dbg
    - HttpTransactHeaders::convert_to_1_0_request_header
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_request(HTTPVersion outgoing_ver,
      HTTPHdr *outgoing_request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:296,1
    - Dst: HttpTransactHeaders::convert_to_1_1_response_header
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:297,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:298,1
    - Dst: HttpTransactHeaders::convert_to_1_0_response_header
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:299,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - outgoing_ver
    - outgoing_response
    - reason_phrase
    argTypes:
    - HTTPVersion
    - HTTPHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: HttpTransactHeaders::convert_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPVersion
    - HttpTransactHeaders::convert_to_1_0_response_header
    - Dbg
    - HttpTransactHeaders::convert_to_1_1_response_header
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_response(HTTPVersion outgoing_ver,
      HTTPHdr *outgoing_response, char const *reason_phrase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:312,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:312,1
    - Dst: HTTPHdr*::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:315,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:315,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:320,1
    - Dst: HTTPHdr*::is_pragma_no_cache_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:320,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:321,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - outgoing_request
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 327
    functionName: HttpTransactHeaders::convert_to_1_0_request_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 1
    functionsReached:
    - HTTPVersion
    - HTTPHdr*::value_append
    - static_cast<std::string_view>
    - HTTPHdr*::url_get
    - HTTPHdr*::presence
    - HTTPHdr*::version_set
    - HTTPHdr*::is_pragma_no_cache_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_to_1_0_request_header(HTTPHdr *outgoing_request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:335,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:335,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:336,1
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:336,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:336,1
    - Dst: HTTPHdr*::get_cooked_pragma_no_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:338,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:338,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:339,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - outgoing_request
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: HttpTransactHeaders::convert_to_1_1_request_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 1
    functionsReached:
    - HTTPVersion
    - HTTPHdr*::get_cooked_cc_mask
    - HTTPHdr*::value_append
    - static_cast<std::string_view>
    - HTTPHdr*::url_get
    - HTTPHdr*::get_cooked_pragma_no_cache
    - HTTPHdr*::version_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_to_1_1_request_header(HTTPHdr *outgoing_request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:357,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:357,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:361,1
    - Dst: HTTPHdr*::reason_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - outgoing_response
    - reason_phrase
    argTypes:
    - HTTPHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: HttpTransactHeaders::convert_to_1_0_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::version_set
    - HTTPVersion
    - Dbg
    - HTTPHdr*::reason_set
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_to_1_0_response_header(HTTPHdr *outgoing_response,
      char const *reason_phrase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:376,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:376,1
    - Dst: HTTPHdr*::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:379,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:379,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:383,1
    - Dst: HTTPHdr*::reason_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - outgoing_response
    - reason_phrase
    argTypes:
    - HTTPHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: HttpTransactHeaders::convert_to_1_1_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 1
    functionsReached:
    - HTTPVersion
    - Dbg
    - HTTPHdr*::status_get
    - HTTPHdr*::reason_set
    - HTTPHdr*::version_set
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::convert_to_1_1_response_header(HTTPHdr *outgoing_response,
      char const *reason_phrase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:396,1
    - Dst: HTTPHdr*::get_cooked_pragma_no_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:396,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - resp
    - ignore_no_store_and_no_cache_directives
    argTypes:
    - HTTPHdr*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 403
    functionName: HttpTransactHeaders::does_server_allow_response_to_be_stored
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::get_cooked_cc_mask
    - HTTPHdr*::get_cooked_pragma_no_cache
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::does_server_allow_response_to_be_stored(HTTPHdr
      *resp, bool ignore_no_store_and_no_cache_directives)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:414,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:414,1
    - Dst: HttpTransactHeaders::convert_to_1_0_request_header
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - origin_server_keep_alive
    - outgoing_request
    argTypes:
    - bool*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 421
    functionName: HttpTransactHeaders::downgrade_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::version_get
    - HTTPVersion
    - HttpTransactHeaders::convert_to_1_0_request_header
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::downgrade_request(bool *origin_server_keep_alive,
      HTTPHdr *outgoing_request)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::reason_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:445,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:447,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:447,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 141
    argCount: 3
    argNames:
    - header
    - via_string
    - squid_codes
    argTypes:
    - HTTPHdr*
    - char*
    - HttpTransact::SquidLogInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 583
    functionName: HttpTransactHeaders::generate_and_set_squid_codes
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::reason_get
    - auto::length
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::generate_and_set_squid_codes(HTTPHdr *header,
      char *via_string, HttpTransact::SquidLogInfo *squid_codes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:602,1
    - Dst: alloca
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:602,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:604,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:604,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:606,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:606,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - http_config_param
    - header
    - code
    - warn_text
    - warn_text_len
    argTypes:
    - HttpConfigParams*
    - HTTPHdr*
    - HTTPWarningCode
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 608
    functionName: HttpTransactHeaders::insert_warning_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::value_set
    - static_cast<std::string_view>
    - static_cast<std::string_view::size_type>
    - static_cast<char *>
    - alloca
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void HttpTransactHeaders::insert_warning_header(HttpConfigParams *http_config_param,
      HTTPHdr *header, HTTPWarningCode code,\n                                           const
      char *warn_text, int warn_text_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:614,1
    - Dst: HttpTransactCache::calculate_document_age
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:615,1
    - Dst: HTTPHdr*::set_age
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:617,1
    - Dst: HTTPHdr*::set_date
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - request_sent_time
    - response_received_time
    - now
    - base
    - outgoing
    argTypes:
    - ink_time_t
    - ink_time_t
    - ink_time_t
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: HttpTransactHeaders::insert_time_and_age_headers_in_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::get_date
    - HttpTransactCache::calculate_document_age
    - HTTPHdr*::set_date
    - HTTPHdr*::set_age
    linkageType: ''
    returnType: void
    signature: "void HttpTransactHeaders::insert_time_and_age_headers_in_response(ink_time_t
      request_sent_time, ink_time_t response_received_time,\n                                                             ink_time_t
      now, HTTPHdr *base, HTTPHdr *outgoing)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view*::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:639,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:643,1
    - Dst: std::string_view*::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:643,1
    - Dst: std::string_view*::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:643,1
    - Dst: std::string_view*::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:644,1
    - Dst: std::find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:648,1
    - Dst: std::find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:649,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:652,1
    - Dst: IsPrefixOf
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:652,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:654,1
    - Dst: std::find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:664,1
    - Dst: std::find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:665,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:671,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 6
    argNames:
    - hdr_string
    - len
    - pSDetail
    - proto_buf
    - n_proto
    - separator
    argTypes:
    - char*
    - size_t
    - ProtocolStackDetail
    - std::string_view*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 681
    functionName: HttpTransactHeaders::write_hdr_protocol_stack
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - IsPrefixOf
    - std::string_view*::size
    - std::string_view*::data
    - std::find_if
    - std::find
    linkageType: ''
    returnType: int
    signature: "int HttpTransactHeaders::write_hdr_protocol_stack(char *hdr_string,
      size_t len, ProtocolStackDetail pSDetail,\n                                              std::string_view
      *proto_buf, int n_proto, char separator)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:735,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:735,1
    - Dst: HttpTransact::State*::state_machine::populate_client_protocol
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:741,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:741,1
    - Dst: std::array::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:741,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:744,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:744,1
    - Dst: HttpTransactHeaders::nstrcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:747,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:750,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:750,1
    - Dst: getString
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:750,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:756,1
    - Dst: HttpTransactHeaders::nstrcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:765,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:767,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:777,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:777,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:785,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:786,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:786,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - s
    - header
    argTypes:
    - HttpTransact::State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 789
    functionName: HttpTransactHeaders::insert_via_header_in_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_append
    - memcpy
    - static_cast<std::string_view>
    - Machine::instance
    - HttpTransactHeaders::write_hdr_protocol_stack
    - ink_assert
    - static_cast<std::string_view::size_type>
    - HttpTransactHeaders::nstrcpy
    - std::array::size
    - HttpTransact::State*::state_machine::populate_client_protocol
    - getString
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::insert_via_header_in_request(HttpTransact::State
      *s, HTTPHdr *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:799,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:804,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:808,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:808,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - header
    argTypes:
    - HttpTransact::State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 810
    functionName: HttpTransactHeaders::insert_hsts_header_in_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - HTTPHdr*::value_set
    - static_cast<std::string_view>
    - static_cast<std::string_view::size_type>
    - snprintf
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::insert_hsts_header_in_response(HttpTransact::State
      *s, HTTPHdr *header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:820,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:820,1
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:830,1
    - Dst: HttpTransact::State*::state_machine::get_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:832,1
    - Dst: auto::populate_protocol
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:834,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:834,1
    - Dst: std::array::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:834,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:837,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:837,1
    - Dst: HttpTransactHeaders::nstrcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:840,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:844,1
    - Dst: HttpTransactHeaders::nstrcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:853,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:855,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:864,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:864,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:872,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:873,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:873,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - s
    - header
    argTypes:
    - HttpTransact::State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 876
    functionName: HttpTransactHeaders::insert_via_header_in_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_append
    - memcpy
    - static_cast<std::string_view>
    - HttpTransactHeaders::write_hdr_protocol_stack
    - HttpTransact::State*::state_machine::get_server_txn
    - ink_assert
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::version_get
    - HttpTransactHeaders::nstrcpy
    - std::array::size
    - auto::populate_protocol
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::insert_via_header_in_response(HttpTransact::State
      *s, HTTPHdr *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:881,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:883,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:883,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:884,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:884,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:885,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:885,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:886,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - outgoing
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 889
    functionName: HttpTransactHeaders::remove_conditional_headers
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::presence
    - HTTPHdr*::field_delete
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::remove_conditional_headers(HTTPHdr *outgoing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::hdr_info::client_request::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:894,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:894,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:896,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:896,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:897,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - outgoing
    argTypes:
    - HttpTransact::State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 899
    functionName: HttpTransactHeaders::remove_100_continue_headers
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_delete
    - static_cast<std::string_view>
    - strcasecmp
    - HttpTransact::State*::hdr_info::client_request::value_get
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::remove_100_continue_headers(HttpTransact::State
      *s, HTTPHdr *outgoing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:906,1
    - Dst: URL*::nuke_proxy_stuff
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outgoing_request
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 908
    functionName: HttpTransactHeaders::remove_host_name_from_url
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - URL*::nuke_proxy_stuff
    - HTTPHdr*::url_get
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::remove_host_name_from_url(HTTPHdr *outgoing_request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:916,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:916,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:918,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:918,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:919,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:919,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:919,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:920,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:924,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - http_txn_conf
    - header
    argTypes:
    - OverridableHttpConfigParams*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 929
    functionName: HttpTransactHeaders::add_global_user_agent_header_to_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - static_cast<std::string_view>
    - likely
    - Dbg
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::add_global_user_agent_header_to_request(const
      OverridableHttpConfigParams *http_txn_conf, HTTPHdr *header)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: HttpForwarded::OptionBitSet::any
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:936,1
    - Dst: HttpTransact::State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:941,1
    - Dst: HttpTransact::State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:941,1
    - Dst: HttpTransact::State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:942,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:949,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:954,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:960,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:960,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:960,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:961,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:966,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:966,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:968,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:968,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:968,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:976,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:984,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:991,1
    - Dst: Machine::process_uuid::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:993,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:994,1
    - Dst: Machine::process_uuid::getString
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:998,1
    - Dst: Machine::ip::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1001,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1002,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1008,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1014,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1014,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1014,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1015,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1020,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1020,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1022,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1022,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1022,1
    - Dst: HttpForwarded::OptionBitSet
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1032,1
    - Dst: any
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1038,1
    - Dst: HttpTransact::State*::state_machine::populate_client_protocol
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1039,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1039,1
    - Dst: std::array::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1039,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1043,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1049,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1049,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1049,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1050,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1052,1
    - Dst: HttpTransact::State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1057,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1057,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1062,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1064,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1081,1
    - Dst: swoc::LocalBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1082,1
    - Dst: swoc::LocalBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1082,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1084,1
    - Dst: HttpTransactHeaders::write_hdr_protocol_stack
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1091,1
    - Dst: swoc::FixedBufferWriter::aux_data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1091,1
    - Dst: swoc::FixedBufferWriter::remaining
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1091,1
    - Dst: std::array::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1091,1
    - Dst: swoc::FixedBufferWriter::commit
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1092,1
    - Dst: swoc::FixedBufferWriter::error
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1092,1
    - Dst: swoc::LocalBufferWriter::commit
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1093,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1093,1
    - Dst: Conn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1098,1
    - Dst: Conn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1099,1
    - Dst: Conn
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1100,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1106,1
    - Dst: swoc::LocalBufferWriter::error
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1106,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1106,1
    - Dst: swoc::LocalBufferWriter::capacity
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1106,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1107,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1109,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1112,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1113,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1113,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1113,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 105
    argCount: 2
    argNames:
    - s
    - request
    argTypes:
    - HttpTransact::State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 1117
    functionName: HttpTransactHeaders::add_forwarded_field_to_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HttpTransactHeaders::write_hdr_protocol_stack
    - Machine::ip::isValid
    - swoc::FixedBufferWriter::commit
    - Machine::process_uuid::getString
    - HttpForwarded::OptionBitSet
    - Machine::process_uuid::valid
    - swoc::LocalBufferWriter::remaining
    - std::array::data
    - any
    - swoc::FixedBufferWriter::aux_data
    - HTTPHdr*::value_append
    - HttpTransact::State*::hdr_info::client_request::field_find
    - ats_ip_ntop
    - swoc::LocalBufferWriter::commit
    - ats_is_ip6
    - swoc::LocalBufferWriter::capacity
    - HttpTransact::State*::state_machine::get_ua_txn
    - ats_is_ip
    - static_cast<int>
    - swoc::FixedBufferWriter::size
    - static_cast<std::string_view>
    - Dbg
    - std::string_view::find
    - swoc::LocalBufferWriter::view
    - strlen
    - swoc::LocalBufferWriter::aux_data
    - swoc::FixedBufferWriter::remaining
    - Machine::instance
    - HttpForwarded::OptionBitSet::any
    - swoc::FixedBufferWriter::error
    - swoc::LocalBufferWriter::error
    - swoc::LocalBufferWriter::data
    - std::array::size
    - swoc::LocalBufferWriter::size
    - HttpTransact::State*::state_machine::populate_client_protocol
    - Conn
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::add_forwarded_field_to_request(HttpTransact::State
      *s, HTTPHdr *request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1126,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1126,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1127,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1127,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1127,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1128,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1136,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1137,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - http_txn_conf
    - header
    argTypes:
    - OverridableHttpConfigParams*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1142
    functionName: HttpTransactHeaders::add_server_header_to_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - static_cast<std::string_view>
    - likely
    - Dbg
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::add_server_header_to_response(const OverridableHttpConfigParams
      *http_txn_conf, HTTPHdr *header)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1154,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1155,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1155,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1159,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1160,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1160,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1164,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1165,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1165,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1169,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1170,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1174,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1175,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1189,1
    - Dst: HttpCompat::parse_comma_list
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1190,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1192,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - http_config_param
    - http_txn_conf
    - header
    argTypes:
    - HttpConfigParams*
    - OverridableHttpConfigParams*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1196
    functionName: HttpTransactHeaders::remove_privacy_headers_from_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - HTTPHdr*::field_delete
    - HttpCompat::parse_comma_list
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: "void HttpTransactHeaders::remove_privacy_headers_from_request(HttpConfigParams
      \                 *http_config_param,\n                                                         const
      OverridableHttpConfigParams *http_txn_conf, HTTPHdr *header)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1204,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1204,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1209,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1210,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1211,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1213,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1214,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1218,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1219,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1220,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1221,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1222,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1223,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1225,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1226,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1230,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1231,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1232,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1233,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1234,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1235,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1236,1
    - Dst: HttpTransactCache::match_content_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1237,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1238,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1239,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1241,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1242,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1248,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - ohcp
    - header
    argTypes:
    - OverridableHttpConfigParams*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1198
    functionDepth: 3
    functionLinenumber: 1198
    functionLinenumberEnd: 1254
    functionName: HttpTransactHeaders::normalize_accept_encoding
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - HTTPHdr*::field_delete
    - Error
    - Dbg
    - HttpTransactCache::match_content_encoding
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::normalize_accept_encoding(const OverridableHttpConfigParams
      *ohcp, HTTPHdr *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1259,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1259,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1261,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1261,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1262,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1264,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1265
    functionName: HttpTransactHeaders::add_connection_close
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransactHeaders.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - static_cast<std::string_view>
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void HttpTransactHeaders::add_connection_close(HTTPHdr *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: TRANSACT_SETUP_RETURN
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSACT_SETUP_RETURN(n, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: TRANSACT_RETURN
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSACT_RETURN(n, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - r
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: TRANSACT_RETURN_VAL
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSACT_RETURN_VAL(n, r, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: SET_UNPREPARE_CACHE_ACTION
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_UNPREPARE_CACHE_ACTION(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctl
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: TxnDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TxnDbg(ctl, fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:131,1
    - Dst: HttpTransact::State*::parent_result::bypass_ok
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: bypass_ok
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::State*::url_map::getMapping
    - HttpTransact::State*::parent_result::bypass_ok
    linkageType: ''
    returnType: bool
    signature: bool bypass_ok(HttpTransact::State *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:149,1
    - Dst: HttpTransact::State*::parent_result::is_api_result
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: is_api_result
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - HttpTransact::State*::url_map::getMapping
    - HttpTransact::State*::parent_result::is_api_result
    linkageType: ''
    returnType: bool
    signature: bool is_api_result(HttpTransact::State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::parent_result::max_retries
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - method
    argTypes:
    - HttpTransact::State*
    - ParentRetry_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: max_retries
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::State*::parent_result::max_retries
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_retries(HttpTransact::State *s, ParentRetry_t method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::parent_params::numParents
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: numParents
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - HttpTransact::State*::parent_params::numParents
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t numParents(HttpTransact::State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:187,1
    - Dst: HttpTransact::State*::parent_result::parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: parent_is_proxy
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::State*::url_map::getMapping
    - HttpTransact::State*::parent_result::parent_is_proxy
    linkageType: ''
    returnType: bool
    signature: bool parent_is_proxy(HttpTransact::State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::parent_result::retry_type
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: retry_type
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::State*::parent_result::retry_type
    linkageType: ''
    returnType: ParentRetry_t
    signature: ParentRetry_t retry_type(HttpTransact::State *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:214,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:215,1
    - Dst: url_mapping*::strategy::findNextHop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:228,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:228,1
    - Dst: HttpTransact::State*::parent_params::findParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: findParent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - ts::Metrics::Counter::increment
    - reinterpret_cast<TSHttpTxn>
    - HttpTransact::State*::parent_params::findParent
    - HttpTransact::State*::url_map::getMapping
    - url_mapping*::strategy::findNextHop
    linkageType: ''
    returnType: void
    signature: void findParent(HttpTransact::State *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:240,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:242,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:246,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:254,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:257,1
    - Dst: url_mapping*::strategy::markNextHop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:262,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:262,1
    - Dst: HttpTransact::State*::parent_params::markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: markParentDown
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - ts::Metrics::Counter::increment
    - reinterpret_cast<TSHttpTxn>
    - url_mapping*::strategy::markNextHop
    - TxnDbg
    - HttpTransact::State*::url_map::getMapping
    - HttpTransact::State*::parent_params::markParentDown
    linkageType: ''
    returnType: void
    signature: void markParentDown(HttpTransact::State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:274,1
    - Dst: url_mapping*::strategy::markNextHop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:278,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:278,1
    - Dst: HttpTransact::State*::parent_params::markParentUp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: markParentUp
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - HttpTransact::State*::url_map::getMapping
    - reinterpret_cast<TSHttpTxn>
    - HttpTransact::State*::parent_params::markParentUp
    - url_mapping*::strategy::markNextHop
    linkageType: ''
    returnType: void
    signature: void markParentUp(HttpTransact::State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:290,1
    - Dst: url_mapping*::strategy::nextHopExists
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:294,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:294,1
    - Dst: HttpTransact::State*::parent_params::parentExists
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: parentExists
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - HttpTransact::State*::parent_params::parentExists
    - HttpTransact::State*::url_map::getMapping
    - url_mapping*::strategy::nextHopExists
    linkageType: ''
    returnType: bool
    signature: bool parentExists(HttpTransact::State *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:307,1
    - Dst: HttpDebugNames::get_server_state_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:308,1
    - Dst: HttpTransact::State*::request_data::get_host
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:308,1
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:309,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:310,1
    - Dst: url_mapping*::strategy::findNextHop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:324,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:324,1
    - Dst: HttpTransact::State*::parent_params::nextParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 329
    functionName: nextParent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - HttpTransact::State*::parent_params::nextParent
    - ts::Metrics::Counter::increment
    - HttpTransact::State*::request_data::get_host
    - reinterpret_cast<TSHttpTxn>
    - HttpDebugNames::get_server_state_name
    - TxnDbg
    - HttpTransact::State*::url_map::getMapping
    - url_mapping*::strategy::findNextHop
    linkageType: ''
    returnType: void
    signature: void nextParent(HttpTransact::State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: is_localhost
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_localhost(std::string_view name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:341,1
    - Dst: HttpTransact::check_response_validity
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:350,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:360,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:364,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:368,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:372,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:377,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:382,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:387,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - s
    - incoming_response
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 396
    functionName: HttpTransact::is_response_valid
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::check_response_validity
    - TxnDbg
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_response_valid(State *s, HTTPHdr *incoming_response)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::is_response_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:401,1
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:407,1
    - Dst: url_mapping*::strategy::responseIsRetryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:409,1
    - Dst: HttpTransact::State*::parent_result::response_is_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:412,1
    - Dst: HttpTransact::State*::parent_result::retry_type
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:412,1
    - Dst: retry_type
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:415,1
    - Dst: HttpTransact::State*::parent_result::response_is_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:418,1
    - Dst: max_retries
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:419,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:420,1
    - Dst: numParents
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:421,1
    - Dst: HttpTransact::State*::parent_result::response_is_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:428,1
    - Dst: HttpTransact::State*::parent_result::response_is_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:429,1
    - Dst: max_retries
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:430,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:431,1
    - Dst: numParents
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:432,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - s
    - response_code
    argTypes:
    - HttpTransact::State*
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 438
    functionName: response_is_retryable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::State*::parent_result::response_is_retryable
    - TxnDbg
    - max_retries
    - HttpTransact::State*::url_map::getMapping
    - retry_type
    - url_mapping*::strategy::responseIsRetryable
    - HttpTransact::is_response_valid
    - numParents
    - HttpTransact::State*::parent_result::retry_type
    linkageType: ''
    returnType: ParentRetry_t
    signature: ParentRetry_t response_is_retryable(HttpTransact::State *s, HTTPStatus
      response_code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::is_response_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:443,1
    - Dst: http_hdr_status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:447,1
    - Dst: response_is_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:448,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 463
    functionName: simple_or_unavailable_server_retry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - http_hdr_status_get
    - ink_assert
    - response_is_retryable
    - HttpTransact::is_response_valid
    linkageType: ''
    returnType: void
    signature: void simple_or_unavailable_server_retry(HttpTransact::State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:470,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:471,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: is_request_conditional
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::presence
    - HTTPHdr*::method_get_wksidx
    linkageType: ''
    returnType: bool
    signature: bool is_request_conditional(HTTPHdr *header)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - port
    - pr
    argTypes:
    - int
    - HttpConfigPortRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: is_port_in_range
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_port_in_range(int port, HttpConfigPortRange *pr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCacheControl
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:493,1
    - Dst: HttpTransact::does_client_request_permit_storing
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:499,1
    - Dst: HttpTransact::does_client_request_permit_cached_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:501,1
    - Dst: HttpTransact::does_client_request_permit_dns_caching
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:505,1
    - Dst: HttpTransact::State*::my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 516
    functionName: update_cache_control_information_from_config
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::State*::my_txn_conf
    - getCacheControl
    - HttpTransact::does_client_request_permit_storing
    - HttpTransact::does_client_request_permit_dns_caching
    - HttpTransact::does_client_request_permit_cached_response
    linkageType: ''
    returnType: void
    signature: void update_cache_control_information_from_config(HttpTransact::State
      *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: State*::dns_info::active::last_fail_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:521,1
    - Dst: State*::dns_info::active::last_fail_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:522,1
    - Dst: ts_clock::from_time_t
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:522,1
    - Dst: ts_clock::from_time_t
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:531,1
    - Dst: State*::dns_info::active::last_fail_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:531,1
    - Dst: State*::dns_info::active::mark_up
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:532,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: HttpTransact::is_server_negative_cached
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::dns_info::active::last_fail_time
    - State*::dns_info::active::mark_up
    - ink_assert
    - ts_clock::from_time_t
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_server_negative_cached(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::CurrentInfo*::retry_attempts::clear
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - into
    - from
    - who
    - clear_retry_attempts
    argTypes:
    - HttpTransact::CurrentInfo*
    - HttpTransact::ConnectionAttributes*
    - ResolveInfo::UpstreamResolveStyle
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: update_current_info
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::CurrentInfo*::retry_attempts::clear
    linkageType: ''
    returnType: void
    signature: "void update_current_info(HttpTransact::CurrentInfo *into, HttpTransact::ConnectionAttributes
      *from,\n                    ResolveInfo::UpstreamResolveStyle who, bool clear_retry_attempts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dns
    - from
    argTypes:
    - ResolveInfo*
    - HttpTransact::CurrentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: update_dns_info
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_dns_info(ResolveInfo *dns, HttpTransact::CurrentInfo *from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::cache_info::object_store::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:566,1
    - Dst: HttpTransact::State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:567,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:568,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:573,1
    - Dst: HttpTransact::State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: find_appropriate_cached_resp
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::valid
    - HttpTransact::State*::cache_info::object_store::response_get
    - HttpTransact::State*::cache_info::object_store::valid
    - HttpTransact::State*::cache_info::object_read::response_get
    - ink_assert
    linkageType: ''
    returnType: HTTPHdr
    signature: 'HTTPHdr *

      find_appropriate_cached_resp(HttpTransact::State *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::hdr_info::server_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:582,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:586,1
    - Dst: HttpTransact::State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:586,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:589,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 595
    functionName: is_negative_caching_appropriate
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpTransact::State*::hdr_info::server_response::status_get
    - HttpTransact::State*::hdr_info::server_response::valid
    - TxnDbg
    linkageType: ''
    returnType: bool
    signature: bool is_negative_caching_appropriate(HttpTransact::State *s)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::State*::hdr_info::client_request::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:600,1
    - Dst: is_localhost
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:602,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:606,1
    - Dst: nextParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:610,1
    - Dst: findParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:612,1
    - Dst: HttpTransact::State*::parent_result::is_some
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:614,1
    - Dst: is_api_result
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:614,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:614,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:615,1
    - Dst: HttpTransact::is_request_cache_lookupable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:619,1
    - Dst: nextParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:627,1
    - Dst: findParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:629,1
    - Dst: HttpTransact::State*::parent_result::is_some
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:631,1
    - Dst: is_api_result
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:631,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:631,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:632,1
    - Dst: findParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:638,1
    - Dst: nextParent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:641,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:648,1
    - Dst: HttpTransact::State*::server_info::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:648,1
    - Dst: bypass_ok
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:658,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:658,1
    - Dst: HttpTransact::State*::parent_params::apiParentExists
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:659,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:664,1
    - Dst: HttpTransact::State*::arena::str_store
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:676,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:676,1
    - Dst: update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:677,1
    - Dst: update_dns_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:678,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:679,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:692,1
    - Dst: update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:698,1
    - Dst: update_dns_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:699,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:700,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 704
    functionName: find_server_and_update_current_info
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::State*::server_info::dst_addr::isValid
    - is_api_result
    - Warning
    - TxnDbg
    - is_localhost
    - HttpTransact::State*::parent_result::is_some
    - bypass_ok
    - HttpTransact::State*::hdr_info::client_request::host_get
    - update_dns_info
    - findParent
    - HttpTransact::State*::arena::str_store
    - parent_is_proxy
    - HttpTransact::State*::parent_params::apiParentExists
    - strlen
    - HttpTransact::is_request_cache_lookupable
    - update_current_info
    - nextParent
    - ink_assert
    linkageType: ''
    returnType: ResolveInfo::UpstreamResolveStyle
    signature: ResolveInfo::UpstreamResolveStyle find_server_and_update_current_info(HttpTransact::State
      *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:719,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:719,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:720,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:720,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:722,1
    - Dst: type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:722,1
    - Dst: static_cast<CookiesConfig>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:727,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:743,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:743,1
    - Dst: presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:744,1
    - Dst: static_cast<CookiesConfig>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:750,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:754,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:754,1
    - Dst: static_cast<CookiesConfig>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:756,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:757,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:767,1
    - Dst: static_cast<CookiesConfig>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:772,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:773,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:773,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:773,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - cookies_conf
    - request
    - response
    argTypes:
    - int
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 779
    functionName: do_cookies_prevent_caching
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_get
    - HTTPHdr*::is_cache_control_set
    - static_cast<std::string_view>
    - HTTPHdr*::type_get
    - HTTPHdr*::presence
    - auto::starts_with
    - type_get
    - static_cast<CookiesConfig>
    - c_str
    - presence
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool do_cookies_prevent_caching(int cookies_conf, HTTPHdr *request,
      HTTPHdr *response, HTTPHdr *cached_request = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - http_config_param
    - method
    argTypes:
    - OverridableHttpConfigParams*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 787
    functionName: does_method_require_cache_copy_deletion
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool does_method_require_cache_copy_deletion(const OverridableHttpConfigParams
      *http_config_param, const int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: does_method_effect_cache
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool does_method_effect_cache(int method)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:799,1
    - Dst: version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:836,1
    - Dst: HttpTransactHeaders::convert_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 841
    functionName: how_to_open_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransactHeaders::convert_request
    - version_set
    - ink_assert
    linkageType: ''
    returnType: HttpTransact::StateMachineAction_t
    signature: HttpTransact::StateMachineAction_t how_to_open_connection(HttpTransact::State
      *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:857,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:858,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:882,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 885
    functionName: HttpTransact::BadRequest
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::BadRequest(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:890,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:891,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:892,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 894
    functionName: HttpTransact::PostActiveTimeoutResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::PostActiveTimeoutResponse(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:899,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:900,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:901,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 903
    functionName: HttpTransact::PostInactiveTimeoutResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::PostInactiveTimeoutResponse(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:908,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:909,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:910,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: HttpTransact::Forbidden
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::Forbidden(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:917,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:918,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 920
    functionName: HttpTransact::SelfLoop
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::SelfLoop(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:925,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:926,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:927,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: HttpTransact::TooEarly
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::bootstrap_state_variables_from_request
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::TooEarly(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:934,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:935,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:936,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:937,1
    - Dst: State*::hdr_info::client_request::url_string_get_ref
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:938,1
    - Dst: State*::unmapped_url::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:939,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:940,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::FirstOf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:941,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:942,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:942,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 945
    functionName: HttpTransact::OriginDown
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - TxnDbg
    - swoc::SWOC_VERSION_NS::bwf::FirstOf
    - TRANSACT_RETURN
    - State*::unmapped_url::host_get
    - Log::error
    - State*::hdr_info::client_request::url_string_get_ref
    - c_str
    - HttpTransact::build_error_response
    - HttpTransact::bootstrap_state_variables_from_request
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void HttpTransact::OriginDown(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:950,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:954,1
    - Dst: State*::hdr_info::client_request::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:960,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:963,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:965,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:966,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:967,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:967,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:967,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:967,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:968,1
    - Dst: HttpTransact::HandleRequest
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 977
    functionName: HttpTransact::HandleBlindTunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - URL::URL
    - auto::length
    - 'on'
    - TxnDbg
    - State*::hdr_info::client_request::url_get
    - HttpTransact::HandleRequest
    - State*::hdr_info::client_request::version_set
    - auto::data
    - HttpTransact::bootstrap_state_variables_from_request
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleBlindTunnel(State *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: State*::unmapped_url::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:983,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:983,1
    - Dst: State*::unmapped_url::copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:984,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:984,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:987,1
    - Dst: State*::hdr_info::client_request::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:989,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:997,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1000,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1003,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1022,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1022,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1023,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1024,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1026,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1026,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1035,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1037,1
    - Dst: HttpTransact::handle_upgrade_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1038,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1040,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 979
    functionDepth: 3
    functionLinenumber: 979
    functionLinenumberEnd: 1045
    functionName: HttpTransact::StartRemapRequest
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - obj_describe
    - State*::state_machine_id
    - State*::hdr_info::client_request::set_url_target_from_host_field
    - TxnDbg
    - 'on'
    - TRANSACT_RETURN
    - State*::unmapped_url::copy
    - State*::hdr_info::client_request::url_get
    - HttpTransact::handle_upgrade_request
    - State*::unmapped_url::create
    - dump_header
    linkageType: ''
    returnType: void
    signature: void HttpTransact::StartRemapRequest(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1050,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1052
    functionName: HttpTransact::PerformRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::PerformRemap(State *s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1057,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1060,1
    - Dst: HTTPHdr*::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1061,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1062,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1062,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1062,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1062,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1063,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1064,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1064,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1077,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1093,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1093,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1095,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1096,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1100,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1101,1
    - Dst: HttpTransact::process_quick_http_filter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1108,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1113,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1121,1
    - Dst: HttpTransact::handleIfRedirect
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1138,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1139,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1140,1
    - Dst: HTTPHdr*::is_target_in_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1143,1
    - Dst: State*::hdr_info::client_request::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1144,1
    - Dst: HTTPHdr*::is_target_in_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1150,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1163,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1165,1
    - Dst: State*::hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1166,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1167,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1168,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1170,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1171,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1174,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1184,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1185,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1198,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1198,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1202,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1203,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1203,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1206,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1206,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1206,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1207,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1208,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1216,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1217,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1229,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1230,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1231,1
    - Dst: State*::hdr_info::client_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1233,1
    - Dst: State*::hdr_info::client_response::clear
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1234,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1235,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1238,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1244,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 115
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1245
    functionName: HttpTransact::EndRemapRequest
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::hdr_info::client_response::destroy
    - State*::hdr_info::client_response::value_set
    - ts::Metrics::Counter::increment
    - ats_free
    - State*::hdr_info::client_request::set_url_target_from_host_field
    - SET_VIA_STRING
    - HttpTransact::handleIfRedirect
    - auto::data
    - HTTPHdr*::method_get_wksidx
    - static_cast<int>
    - Warning
    - auto::length
    - static_cast<std::string_view>
    - HttpTransact::process_quick_http_filter
    - HTTPHdr*::host_get
    - ink_assert
    - obj_describe
    - TxnDbg
    - 'on'
    - TRANSACT_RETURN
    - State*::state_machine::get_ua_txn
    - HRTIME_SECONDS
    - static_cast<std::string_view::size_type>
    - State*::hdr_info::client_response::clear
    - HttpTransact::build_error_response
    - HTTPHdr*::is_target_in_url
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void HttpTransact::EndRemapRequest(State *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1251,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1256,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1257,1
    - Dst: State*::hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1258,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1262,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1262,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1263,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1263,1
    - Dst: StrList::StrList
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1265,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1268,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1269,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1269,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1270,1
    - Dst: StrList::get_idx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1282,1
    - Dst: ptr_len_casecmp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1283,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1283,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1283,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1283,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1290,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1310,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1310,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1310,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1311,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1313,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1313,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1315,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1315,1
    - Dst: MIMEField*::value_get_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1317,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1318,1
    - Dst: HttpTransact::handle_websocket_upgrade_pre_remap
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1319,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1322,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1324,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1331,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1331,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1334,1
    - Dst: TRANSACT_RETURN_VAL
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1338,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1247
    functionDepth: 3
    functionLinenumber: 1247
    functionLinenumberEnd: 1339
    functionName: HttpTransact::handle_upgrade_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - MIMEField*::value_get
    - std::string_view::data
    - MIMEField*::value_get_comma_list
    - HttpTransact::handle_websocket_upgrade_pre_remap
    - State*::hdr_info::client_request::presence
    - std::string_view::length
    - length
    - ptr_len_casecmp
    - State*::hdr_info::client_request::version_get
    - data
    - StrList::StrList
    - State*::hdr_info::client_request::field_find
    - static_cast<int>
    - TRANSACT_RETURN_VAL
    - static_cast<std::string_view>
    - HTTPHdr::method_get_wksidx
    - MIMEField*::value_get_int
    - TxnDbg
    - StrList::get_idx
    - c_str
    - HttpTransact::build_error_response
    - hdrtoken_tokenize
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::handle_upgrade_request(State *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1344,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1354,1
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1355,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1356,1
    - Dst: URL*::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1357,1
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1358,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1359,1
    - Dst: URL*::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1360,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1362,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1363,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1364,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1368
    functionName: HttpTransact::handle_websocket_upgrade_pre_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - URL*::scheme_set
    - TxnDbg
    - TRANSACT_RETURN
    - State*::hdr_info::client_request::url_get
    - URL*::scheme_get_wksidx
    - HttpTransact::build_error_response
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_websocket_upgrade_pre_remap(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1373,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: HttpTransact::handle_websocket_upgrade_post_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_websocket_upgrade_post_remap(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1381,1
    - Dst: HttpTransact::HandleRequest
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1384
    functionName: HttpTransact::handle_websocket_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TxnDbg
    - HttpTransact::HandleRequest
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_websocket_connection(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1389,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1391,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1391,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1391,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1392,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - field
    - value
    - value_len
    argTypes:
    - MIMEField*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: mimefield_value_equal
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - strncasecmp
    - MIMEField*::value_get
    - auto::data
    linkageType: ''
    returnType: bool
    signature: bool mimefield_value_equal(MIMEField *field, const char *value, const
      int value_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1405,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1408,1
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1413,1
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1415,1
    - Dst: HTTPHdr::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1417,1
    - Dst: URL*::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1420,1
    - Dst: URL*::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1423,1
    - Dst: HTTPHdr::is_port_in_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1428,1
    - Dst: URL*::port_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1429,1
    - Dst: HTTPHdr::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1437,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1438,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1438,1
    - Dst: HTTPHdr::is_target_in_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1439,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1444,1
    - Dst: alloca
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1444,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1445,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1445,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1448,1
    - Dst: HTTPHdr::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1454,1
    - Dst: HTTPHdr::get_max_forwards
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1455,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1459,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1459,1
    - Dst: URL*::port_get_raw
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1460,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1465,1
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1470,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1470,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1471,1
    - Dst: mimefield_value_equal
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1474,1
    - Dst: HTTPHdr::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1475,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1475,1
    - Dst: HTTPHdr::mark_target_dirty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1476,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1480,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1482,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1483
    functionName: HttpTransact::ModifyRequest
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - mimefield_value_equal
    - HTTPHdr::field_attach
    - HTTPHdr::mark_target_dirty
    - alloca
    - snprintf
    - HttpTransact::bootstrap_state_variables_from_request
    - URL*::port_get_raw
    - HTTPHdr::is_target_in_url
    - static_cast<char *>
    - URL*::scheme_get_wksidx
    - HTTPHdr::field_find
    - URL*::port_set
    - auto::data
    - HTTPHdr::url_get
    - static_cast<int>
    - URL*::scheme_set
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr::presence
    - HTTPHdr::method_get_wksidx
    - ink_assert
    - HTTPHdr::field_create
    - HTTPHdr::field_value_set
    - TxnDbg
    - HTTPHdr::get_max_forwards
    - HTTPHdr::host_get
    - TRANSACT_RETURN
    - static_cast<std::string_view::size_type>
    - HTTPHdr::is_port_in_header
    linkageType: ''
    returnType: void
    signature: void HttpTransact::ModifyRequest(State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1491,1
    - Dst: request_url_remap_redirect
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1493,1
    - Dst: URL::string_get_ref
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1495,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1498,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1500,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1503,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1511
    functionName: HttpTransact::handleIfRedirect
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - URL::destroy
    - URL::URL
    - request_url_remap_redirect
    - URL::string_get_ref
    - HttpTransact::build_error_response
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::handleIfRedirect(State *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1516,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1519,1
    - Dst: State*::hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1519,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1521,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1524,1
    - Dst: HttpTransact::is_request_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1531,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1532,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1533,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1538,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1540,1
    - Dst: obj_describe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1541,1
    - Dst: HttpTransact::initialize_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1546,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1549,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1552,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1553,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1554,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1555,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1562,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1564,1
    - Dst: HttpTransact::bootstrap_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1565,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1566,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1568,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1573,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1573,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1576,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1577,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1577,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1579,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1580,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1581,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1582,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1587,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1589,1
    - Dst: update_cache_control_information_from_config
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1600,1
    - Dst: HttpTransact::is_request_cache_lookupable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1604,1
    - Dst: HttpTransact::setup_plugin_request_intercept
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1609,1
    - Dst: State*::my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1615,1
    - Dst: State*::server_info::name_addr::is_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1615,1
    - Dst: HttpTransact::handle_trace_and_options_requests
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1623,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1624,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1627,1
    - Dst: State*::server_info::name_addr::is_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1633,1
    - Dst: State*::server_info::name_addr::copy_to
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1634,1
    - Dst: parentExists
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1637,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1642,1
    - Dst: HttpTransact::StartAccessControl
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1643,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1646,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1648,1
    - Dst: State*::server_info::name_addr::is_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1655,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1666,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1668,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1673,1
    - Dst: HttpTransact::StartAccessControl
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1677,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 95
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1513
    functionDepth: 3
    functionLinenumber: 1513
    functionLinenumberEnd: 1679
    functionName: HttpTransact::HandleRequest
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - State*::server_info::name_addr::is_valid
    - MIMEField*::value_get
    - HttpTransact::is_request_cache_lookupable
    - HttpTransact::bootstrap_state_variables_from_request
    - HttpTransact::is_request_valid
    - State*::server_info::name_addr::copy_to
    - HttpTransact::CallOSDNSLookup
    - ts::Metrics::Counter::increment
    - HttpTransact::StartAccessControl
    - State*::my_txn_conf
    - HttpTransact::initialize_state_variables_from_request
    - HttpTransact::setup_plugin_request_intercept
    - strcasecmp
    - State*::hdr_info::server_request::valid
    - State*::hdr_info::client_request::field_find
    - strcmp
    - parentExists
    - static_cast<std::string_view>
    - HttpTransact::handle_trace_and_options_requests
    - update_cache_control_information_from_config
    - ink_assert
    - obj_describe
    - TxnDbg
    - 'on'
    - TRANSACT_RETURN
    - State*::state_machine::get_ua_txn
    - ats_ip_invalidate
    - HttpTransact::build_error_response
    - ts::Metrics::Gauge::load
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleRequest(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HttpTransact::HandleRequestBufferDone
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleRequestBufferDone(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1690,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1699,1
    - Dst: update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1706,1
    - Dst: State*::server_info::dst_addr::setToAnyAddr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1713,1
    - Dst: State*::server_info::dst_addr::network_order_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1714,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1714,1
    - Dst: State*::hdr_info::client_request::port_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1714,1
    - Dst: HttpTransact::build_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1717,1
    - Dst: State*::hdr_info::server_request::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1721,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1721,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1724
    functionName: HttpTransact::setup_plugin_request_intercept
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - State*::server_info::dst_addr::setToAnyAddr
    - static_cast<std::string_view>
    - htons
    - HttpTransact::build_request
    - TRANSACT_RETURN
    - State*::hdr_info::client_request::port_get
    - State*::hdr_info::server_request::field_delete
    - State*::server_info::dst_addr::network_order_port
    - update_current_info
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::setup_plugin_request_intercept(State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1735,1
    - Dst: State*::hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1749,1
    - Dst: State*::hdr_info::client_response::fields_clear
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1750,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1761,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1763,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1765,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1770
    functionName: HttpTransact::HandleApiErrorJump
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TxnDbg
    - TRANSACT_RETURN
    - State*::hdr_info::client_response::fields_clear
    - State*::hdr_info::client_response::valid
    - HttpTransact::build_response
    - http_hdr_reason_lookup
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleApiErrorJump(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1781,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1783,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1787
    functionName: HttpTransact::PPDNSLookupAPICall
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::PPDNSLookupAPICall(State *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1812,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1814,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1817,1
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1819,1
    - Dst: HttpTransact::is_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1820,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1820,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1822,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1823,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1826,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1827,1
    - Dst: State*::current::server::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1831,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1833,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1836,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1840,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1841,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1847,1
    - Dst: State*::parent_info::dst_addr::network_order_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1848,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1848,1
    - Dst: HttpTransact::get_ka_info_from_host_db
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1849,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1852,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1853,1
    - Dst: State*::hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1858,1
    - Dst: HttpTransact::build_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1859,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1863,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1869,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1809
    functionDepth: 3
    functionLinenumber: 1809
    functionLinenumberEnd: 1870
    functionName: HttpTransact::PPDNSLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    - HttpTransact::CallOSDNSLookup
    - HttpTransact::is_cache_hit
    - HttpTransact::is_stale_cache_response_returnable
    - State*::hdr_info::server_request::valid
    - htons
    - HttpTransact::get_ka_info_from_host_db
    - ats_ip_nptop
    - ink_assert
    - find_server_and_update_current_info
    - how_to_open_connection
    - TxnDbg
    - HttpTransact::build_request
    - TRANSACT_RETURN
    - HttpTransact::handle_parent_down
    - State*::current::server::dst_addr::isValid
    - markParentDown
    - State*::parent_info::dst_addr::network_order_port
    - HttpTransact::build_response_from_cache
    linkageType: ''
    returnType: void
    signature: void HttpTransact::PPDNSLookup(State *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1901,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1903,1
    - Dst: State*::dns_info::addr::assign
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1910,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1910,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1913,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1915,1
    - Dst: HttpTransact::is_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1919,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1919,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1921,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1922,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1926,1
    - Dst: State*::dns_info::record::is_failed
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1927,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1929,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1932,1
    - Dst: State*::hdr_info::client_request::url_string_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1935,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1936,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::FirstOf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1936,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1937,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1937,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1939,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1945,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1946,1
    - Dst: ats_is_ip_any
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1949,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1950,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1951,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1952,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1953,1
    - Dst: State*::dns_info::set_active
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1961,1
    - Dst: State*::dns_info::select_next_rr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1961,1
    - Dst: State*::dns_info::set_active
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1965,1
    - Dst: State*::dns_info::set_upstream_address
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1966,1
    - Dst: State*::server_info::dst_addr::assign
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1971,1
    - Dst: State*::server_info::dst_addr::network_order_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1974,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1974,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1975,1
    - Dst: State*::server_info::dst_addr::network_order_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1978,1
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1978,1
    - Dst: State*::hdr_info::client_request::port_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1978,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1980,1
    - Dst: HttpTransact::get_ka_info_from_host_db
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1981,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1984,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1985,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1990,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1992,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1994,1
    - Dst: auto::find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1996,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1996,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1997,1
    - Dst: auto::end
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1997,1
    - Dst: std::get<1>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1998,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:1999,1
    - Dst: State*::dns_info::active::data::ip::family
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2000,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2004,1
    - Dst: State*::hdr_info::server_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2005,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2007,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2010,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2011,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2011,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2013,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2014,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2015,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2019,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2021,1
    - Dst: HttpTransact::build_response_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2023,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2024,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2040,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2040,1
    - Dst: State*::server_info::name_addr::is_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2041,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2045,1
    - Dst: HttpTransact::StartAccessControl
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2048,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2052,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2054,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2056,1
    - Dst: HttpTransact::is_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2059,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2061,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2063,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2072,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2074,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2075,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2075,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2076,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 122
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 1898
    functionDepth: 3
    functionLinenumber: 1898
    functionLinenumberEnd: 2080
    functionName: HttpTransact::OSDNSLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::dns_info::record::is_failed
    - ats_ip_copy
    - State*::dns_info::addr::assign
    - State*::dns_info::active::data::ip::family
    - State*::dns_info::set_active
    - State*::server_info::name_addr::is_valid
    - State*::hdr_info::server_response::valid
    - HttpTransact::StartAccessControl
    - HttpTransact::is_cache_hit
    - State*::hdr_info::client_request::presence
    - swoc::SWOC_VERSION_NS::bwf::FirstOf
    - ats_is_ip_any
    - SET_VIA_STRING
    - HttpTransact::is_stale_cache_response_returnable
    - std::get<1>
    - swoc::SWOC_VERSION_NS::bwprint
    - static_cast<int>
    - ink_release_assert
    - auto::end
    - State*::dns_info::select_next_rr
    - htons
    - HttpTransact::get_ka_info_from_host_db
    - State*::dns_info::set_upstream_address
    - Log::error
    - ats_ip_nptop
    - Error
    - State*::hdr_info::client_request::url_string_get
    - auto::find
    - ats_ip_port_cast
    - ink_assert
    - how_to_open_connection
    - Machine::instance
    - TxnDbg
    - State*::server_info::dst_addr::assign
    - TRANSACT_RETURN
    - State*::state_machine::get_ua_txn
    - State*::hdr_info::client_request::port_get
    - State*::server_info::dst_addr::network_order_port
    - HttpTransact::build_response_copy
    - c_str
    - HttpTransact::build_error_response
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - HttpTransact::build_response_from_cache
    linkageType: ''
    returnType: void
    signature: void HttpTransact::OSDNSLookup(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::HandleRequestAuthorized
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2086
    functionName: HttpTransact::StartAccessControl
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - HttpTransact::HandleRequestAuthorized
    linkageType: ''
    returnType: void
    signature: void HttpTransact::StartAccessControl(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2092,1
    - Dst: HttpTransact::DecideCacheLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2088
    functionDepth: 1
    functionLinenumber: 2088
    functionLinenumberEnd: 2096
    functionName: HttpTransact::HandleRequestAuthorized
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::DecideCacheLookup
    - TRANSACT_RETURN
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleRequestAuthorized(State *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::is_request_cache_lookupable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2108,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2114,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2123,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2124,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2125,1
    - Dst: State*::cache_info::lookup_url_storage::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2131,1
    - Dst: State*::cache_info::lookup_url_storage::copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2132,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2132,1
    - Dst: HTTPHdr*::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2136,1
    - Dst: HTTPHdr*::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2139,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2140,1
    - Dst: HTTPHdr*::get_host_port_values
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2150,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2152,1
    - Dst: State*::cache_info::lookup_url::host_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2153,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2154,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2154,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2154,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2154,1
    - Dst: State*::cache_info::lookup_url::host_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2156,1
    - Dst: State*::cache_info::lookup_url::port_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2158,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2161,1
    - Dst: State*::cache_info::lookup_url::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2161,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2164,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2166,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2168,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2169,1
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2173,1
    - Dst: HttpTransact::set_cache_prepare_write_action_for_new_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2180,1
    - Dst: HttpTransact::LookupSkipOpenServer
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2182,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2188,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2191,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2197
    functionName: HttpTransact::DecideCacheLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HttpTransact::LookupSkipOpenServer
    - HTTPHdr*::url_get
    - HttpTransact::is_request_cache_lookupable
    - ts::Metrics::Counter::increment
    - HttpTransact::set_cache_prepare_write_action_for_new_request
    - length
    - HttpTransact::HandlePushError
    - ink_atoi
    - empty
    - data
    - static_cast<int>
    - HTTPHdr*::set_url_target_from_host_field
    - State*::cache_info::lookup_url::host_set
    - HTTPHdr*::get_host_port_values
    - State*::cache_info::lookup_url::port_set
    - ink_assert
    - TxnDbg
    - TRANSACT_RETURN
    - State*::cache_info::lookup_url_storage::create
    - State*::cache_info::lookup_url::valid
    - State*::cache_info::lookup_url_storage::copy
    linkageType: ''
    returnType: void
    signature: void HttpTransact::DecideCacheLookup(State *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2204,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2207,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2209,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2213,1
    - Dst: HttpTransact::build_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2216,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2218,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2223
    functionName: HttpTransact::LookupSkipOpenServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - how_to_open_connection
    - HttpTransact::build_request
    - TRANSACT_RETURN
    - HttpTransact::handle_parent_down
    - ink_assert
    - find_server_and_update_current_info
    linkageType: ''
    returnType: void
    signature: void HttpTransact::LookupSkipOpenServer(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - read_successful
    argTypes:
    - State*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2233
    functionDepth: 1
    functionLinenumber: 2233
    functionLinenumberEnd: 2243
    functionName: HttpTransact::HandleCacheOpenReadPush
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleCacheOpenReadPush(State *s, bool read_successful)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2259,1
    - Dst: State*::hdr_info::server_request::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2263,1
    - Dst: State*::hdr_info::server_request::copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2264,1
    - Dst: State*::hdr_info::server_request::method_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2265,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2265,1
    - Dst: State*::hdr_info::server_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2266,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2268,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2268,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2270,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2270,1
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2272,1
    - Dst: HttpTransact::is_response_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2274,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2275,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2277,1
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2281
    functionName: HttpTransact::HandlePushResponseHdr
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::state_machine_id
    - State*::hdr_info::server_request::create
    - static_cast<std::string_view>
    - State*::hdr_info::server_request::value_set
    - HttpTransact::is_response_cacheable
    - State*::hdr_info::server_request::method_set
    - TRANSACT_RETURN
    - HttpTransact::HandlePushError
    - State*::hdr_info::server_request::copy
    - ink_local_time
    - dump_header
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandlePushResponseHdr(State *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2302,1
    - Dst: HttpTransact::set_headers_for_cache_write
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2304,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2306,1
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2312,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2291
    functionDepth: 1
    functionLinenumber: 2291
    functionLinenumberEnd: 2318
    functionName: HttpTransact::HandlePushCacheWrite
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    - ink_release_assert
    - HttpTransact::set_headers_for_cache_write
    - HttpTransact::HandlePushError
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandlePushCacheWrite(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2323,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2328,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2331
    functionName: HttpTransact::HandlePushTunnelSuccess
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::build_response
    - TRANSACT_RETURN
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandlePushTunnelSuccess(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2337
    functionName: HttpTransact::HandlePushTunnelFailure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::HandlePushError
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandlePushTunnelFailure(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::HandlePushError
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2343
    functionName: HttpTransact::HandleBadPushRespHdr
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::HandlePushError
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleBadPushRespHdr(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: State*::state_machine::set_ua_half_close_flag
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2352,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - reason
    argTypes:
    - State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2355
    functionName: HttpTransact::HandlePushError
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - HttpTransact::build_error_response
    - State*::state_machine::set_ua_half_close_flag
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandlePushError(State *s, const char *reason)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2375,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2377,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2393,1
    - Dst: CacheHTTPInfo*::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2396,1
    - Dst: HttpTransact::HandleCacheOpenReadPush
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2402,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2405,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2406,1
    - Dst: HttpTransact::HandleCacheOpenReadMiss
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2410,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2413,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2372
    functionDepth: 2
    functionLinenumber: 2372
    functionLinenumberEnd: 2418
    functionName: HttpTransact::HandleCacheOpenRead
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::response_get
    - TxnDbg
    - HttpTransact::HandleCacheOpenReadMiss
    - TRANSACT_RETURN
    - SET_VIA_STRING
    - HttpTransact::HandleCacheOpenReadPush
    - CacheHTTPInfo*::request_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleCacheOpenRead(State *s)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: find_appropriate_cached_resp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2441,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2442,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2443,1
    - Dst: GET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2443,1
    - Dst: State*::hdr_info::server_request::method_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2446,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2446,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2451,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2451,1
    - Dst: does_method_require_cache_copy_deletion
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2461,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2463,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2466,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2471,1
    - Dst: State*::hdr_info::client_request::is_pragma_no_cache_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2489,1
    - Dst: State*::hdr_info::client_request::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2490,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2490,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2491,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2495,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2496,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2498,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2505,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2515,1
    - Dst: State*::hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2516,1
    - Dst: State*::hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2517,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2520,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2520,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2520,1
    - Dst: State*::hdr_info::server_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2521,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2521,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2523,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2523,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2526,1
    - Dst: State*::hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2526,1
    - Dst: State*::hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2527,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2528,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2528,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2529,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2530,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2531,1
    - Dst: State*::hdr_info::server_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2533,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2533,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2535,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2535,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2547,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2551,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2554
    functionName: HttpTransact::issue_revalidate
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - GET_VIA_STRING
    - State*::hdr_info::server_request::method_get_wksidx
    - dump_header
    - State*::hdr_info::client_request::is_pragma_no_cache_set
    - State*::hdr_info::server_request::value_set
    - State*::hdr_info::client_request::presence
    - auto::remove_prefix
    - State*::hdr_info::server_request::method_set
    - SET_VIA_STRING
    - HTTPHdr*::value_get
    - HTTPHdr*::get_last_modified
    - State*::state_machine_id
    - static_cast<std::string_view>
    - auto::starts_with
    - find_appropriate_cached_resp
    - ink_assert
    - does_method_require_cache_copy_deletion
    - TxnDbg
    - HTTPHdr*::presence
    - c_str
    - HTTPHdr*::status_get
    - auto::empty
    - State*::hdr_info::client_request::is_cache_control_set
    linkageType: ''
    returnType: void
    signature: void HttpTransact::issue_revalidate(State *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2561,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2562,1
    - Dst: HttpTransact::delete_all_document_alternates_and_return
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2564,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2565,1
    - Dst: CacheHTTPInfo*::request_sent_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2571,1
    - Dst: CacheHTTPInfo*::response_received_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2572,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2579,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2580,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2582,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2584,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2585,1
    - Dst: HttpTransact::what_is_document_freshness
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2591,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2591,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2594,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2598,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2602,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2606,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2611,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2613,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2614,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2556
    functionDepth: 1
    functionLinenumber: 2556
    functionLinenumberEnd: 2618
    functionName: HttpTransact::HandleCacheOpenReadHitFreshness
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - CacheHTTPInfo*::response_get
    - TxnDbg
    - TRANSACT_RETURN
    - HttpTransact::what_is_document_freshness
    - SET_VIA_STRING
    - min
    - HttpTransact::delete_all_document_alternates_and_return
    - CacheHTTPInfo*::response_received_time_get
    - CacheHTTPInfo*::request_sent_time_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleCacheOpenReadHitFreshness(State *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2629,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2630,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2631,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2633,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2633,1
    - Dst: HttpTransact::handle_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2641,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2626
    functionDepth: 2
    functionLinenumber: 2626
    functionLinenumberEnd: 2645
    functionName: HttpTransact::CallOSDNSLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - HostStatus::getHostStatus
    - TxnDbg
    - TRANSACT_RETURN
    - RegexContext::get_instance
    - HttpTransact::handle_server_connection_not_open
    linkageType: ''
    returnType: void
    signature: void HttpTransact::CallOSDNSLookup(State *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2663,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2663,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2664,1
    - Dst: HttpTransact::AuthenticationNeeded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2673,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2673,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2677,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2681,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2682,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2686,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2690,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2695,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2700,1
    - Dst: HttpTransact::is_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2700,1
    - Dst: HttpTransact::is_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2714
    functionName: HttpTransact::need_to_revalidate
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::response_get
    - TxnDbg
    - HttpTransact::is_cache_hit
    - CacheHTTPInfo*::valid
    - SET_VIA_STRING
    - HttpTransact::AuthenticationNeeded
    - HttpTransact::is_cache_response_returnable
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::need_to_revalidate(State *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2759,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2759,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2764,1
    - Dst: HttpTransact::HandleCacheOpenReadMiss
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2765,1
    - Dst: HttpTransact::AuthenticationNeeded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2771,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2771,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2775,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2779,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2780,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2784,1
    - Dst: HttpTransact::HandleCacheOpenReadMiss
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2785,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2788,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2793,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2797,1
    - Dst: HttpTransact::is_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2797,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2808,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2811,1
    - Dst: HttpTransact::is_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2828,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2836,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2841,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2842,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2843,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2844,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2845,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2848,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2850,1
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2852,1
    - Dst: HttpTransact::is_server_negative_cached
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2862,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2863,1
    - Dst: update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2865,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2866,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2871,1
    - Dst: update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2873,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2874,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2876,1
    - Dst: HTTPVersion::HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2883,1
    - Dst: HttpTransact::get_ka_info_from_config
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2886,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2887,1
    - Dst: State*::current::server::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2888,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2899,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2902,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2904,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2906,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2914,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2914,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2914,1
    - Dst: HttpTransact::build_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2915,1
    - Dst: HttpTransact::issue_revalidate
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2917,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2922,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2924,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2927,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2948,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2950,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2951,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2955,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2957,1
    - Dst: State*::state_machine::get_cache_sm
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2960,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2961,1
    - Dst: HttpCacheSM::is_readwhilewrite_inprogress
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2961,1
    - Dst: HttpCacheSM::is_readwhilewrite_inprogress
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2962,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2963,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2966,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2968,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2969,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:2971,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 121
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2748
    functionDepth: 3
    functionLinenumber: 2748
    functionLinenumberEnd: 2979
    functionName: HttpTransact::HandleCacheOpenReadHit
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - CacheHTTPInfo*::response_get
    - HTTPVersion::get_minor
    - HttpTransact::get_ka_info_from_config
    - HttpTransact::AuthenticationNeeded
    - HttpTransact::issue_revalidate
    - HttpCacheSM::is_readwhilewrite_inprogress
    - HttpTransact::CallOSDNSLookup
    - HTTPVersion::get_major
    - HttpTransact::is_cache_hit
    - HttpTransact::HandleCacheOpenReadMiss
    - CacheHTTPInfo*::valid
    - SET_VIA_STRING
    - HttpTransact::is_stale_cache_response_returnable
    - update_current_info
    - HttpTransact::is_server_negative_cached
    - ink_release_assert
    - HTTPVersion::HTTPVersion
    - State*::state_machine::get_cache_sm
    - ink_assert
    - find_server_and_update_current_info
    - how_to_open_connection
    - TxnDbg
    - HttpTransact::build_request
    - TRANSACT_RETURN
    - HttpTransact::handle_parent_down
    - State*::current::server::dst_addr::isValid
    - HttpTransact::is_cache_response_returnable
    - HttpTransact::build_response_from_cache
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleCacheOpenReadHit(State *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3004,1
    - Dst: CacheHTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3004,1
    - Dst: CacheHTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3008,1
    - Dst: HttpTransactCache::match_response_to_request_conditionals
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3018,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3024,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3025,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3027,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3035,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3036,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3038,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3049,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3053,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3059,1
    - Dst: HttpTransactCache::validate_ifrange_header_if_any
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3060,1
    - Dst: State*::state_machine::do_range_setup_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3061,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3063,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3072,1
    - Dst: HttpTransact::HandleCacheOpenReadMiss
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3075,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3077,1
    - Dst: State*::state_machine::do_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3083,1
    - Dst: HttpTransact::set_header_for_transform
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3084,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3087,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3093,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3095,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3102,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3103,1
    - Dst: HttpTransact::delete_warning_value
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3113,1
    - Dst: HttpTransactHeaders::insert_warning_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3114,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - s
    - warning_code
    argTypes:
    - State*
    - HTTPWarningCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 2994
    functionDepth: 3
    functionLinenumber: 2994
    functionLinenumberEnd: 3116
    functionName: HttpTransact::build_response_from_cache
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - CacheHTTPInfo*::response_get
    - TxnDbg
    - HttpTransactHeaders::insert_warning_header
    - HTTPHdr*::presence
    - HttpTransactCache::validate_ifrange_header_if_any
    - HttpTransact::HandleCacheOpenReadMiss
    - CacheHTTPInfo*::valid
    - SET_VIA_STRING
    - State*::state_machine::do_range_setup_if_necessary
    - HttpTransact::build_error_response
    - HttpTransact::set_header_for_transform
    - HttpTransact::build_response
    - HttpTransactCache::match_response_to_request_conditionals
    - State*::state_machine::do_transform_open
    - HttpTransact::delete_warning_value
    - ink_assert
    - HttpTransact::CallOSDNSLookup
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_response_from_cache(State *s, HTTPWarningCode
      warning_code)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3135,1
    - Dst: SET_UNPREPARE_CACHE_ACTION
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3141,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3146,1
    - Dst: static_cast<CacheOpenWriteFailAction_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3148,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3152,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3154,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3158,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3158,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3159,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3159,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3159,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3160,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3163,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3165,1
    - Dst: HTTPHdr*::field_value_set_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3166,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3168,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3171,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3186,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3186,1
    - Dst: State*::hdr_info::server_request::destroy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3191,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3192,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3198,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3202,1
    - Dst: State*::hdr_info::server_request::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3211,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3211,1
    - Dst: State*::hdr_info::server_request::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3212,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3212,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3213,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3213,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3214,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3214,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3217,1
    - Dst: State*::hdr_info::server_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3218,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3218,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3221,1
    - Dst: State*::hdr_info::server_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3222,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3222,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3227,1
    - Dst: State*::hdr_info::server_request::destroy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3228,1
    - Dst: HttpTransact::HandleCacheOpenReadHitFreshness
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3229,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3232,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3235,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3130
    functionDepth: 3
    functionLinenumber: 3130
    functionLinenumberEnd: 3243
    functionName: HttpTransact::handle_cache_write_lock
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::field_create
    - State*::hdr_info::server_request::destroy
    - MIMEField*::value_get
    - HTTPHdr*::field_value_set_int
    - ts::Metrics::Counter::increment
    - HTTPHdr*::field_attach
    - State*::hdr_info::server_request::value_set
    - likely
    - HttpTransact::HandleCacheOpenReadHitFreshness
    - SET_VIA_STRING
    - State*::hdr_info::server_request::field_delete
    - State*::hdr_info::client_request::field_find
    - ink_release_assert
    - static_cast<std::string_view>
    - static_cast<CacheOpenWriteFailAction_t>
    - ink_assert
    - how_to_open_connection
    - TxnDbg
    - SET_UNPREPARE_CACHE_ACTION
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - HTTPHdr*::field_find
    - static_cast<MgmtByte>
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_cache_write_lock(State *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3263,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3264,1
    - Dst: HttpTransact::delete_all_document_alternates_and_return
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3266,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3267,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3276,1
    - Dst: GET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3277,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3278,1
    - Dst: does_method_require_cache_copy_deletion
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3282,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3284,1
    - Dst: does_method_effect_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3285,1
    - Dst: HttpTransact::set_cache_prepare_write_action_for_new_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3291,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3303,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3303,1
    - Dst: State*::current::server::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3306,1
    - Dst: HttpTransact::get_ka_info_from_config
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3310,1
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3312,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3316,1
    - Dst: State*::current::server::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3319,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3320,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3323,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3326,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3328,1
    - Dst: HttpTransact::build_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3332,1
    - Dst: State*::current::retry_attempts::clear
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3333,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3334,1
    - Dst: HttpTransactHeaders::remove_host_name_from_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3336,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3339,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3260
    functionDepth: 3
    functionLinenumber: 3260
    functionLinenumberEnd: 3344
    functionName: HttpTransact::HandleCacheOpenReadMiss
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - GET_VIA_STRING
    - HttpTransact::get_ka_info_from_config
    - does_method_effect_cache
    - HttpTransact::CallOSDNSLookup
    - HttpTransact::set_cache_prepare_write_action_for_new_request
    - State*::hdr_info::client_request::presence
    - SET_VIA_STRING
    - HttpTransactHeaders::remove_host_name_from_url
    - ink_release_assert
    - State*::current::retry_attempts::clear
    - find_server_and_update_current_info
    - HTTPHdr*::is_cache_control_set
    - how_to_open_connection
    - does_method_require_cache_copy_deletion
    - TxnDbg
    - HttpTransact::build_request
    - TRANSACT_RETURN
    - State*::current::server::dst_addr::isValid
    - HttpTransact::delete_all_document_alternates_and_return
    - HttpTransact::handle_parent_down
    - c_str
    - HttpTransact::build_error_response
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleCacheOpenReadMiss(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3366
    functionName: HttpTransact::set_cache_prepare_write_action_for_new_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::set_cache_prepare_write_action_for_new_request(State
      *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3387,1
    - Dst: HttpTransact::handle_server_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3400,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3402,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3406,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3408,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3417
    functionName: HttpTransact::OriginServerRawOpen
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::build_response
    - HttpTransact::handle_server_down
    - ink_assert
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::OriginServerRawOpen(State *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3443,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3444,1
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3447,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3448,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3451,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3452,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3452,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3454,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3456,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3458,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3459,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3460,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3461,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3462,1
    - Dst: HttpTransact::is_response_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3465,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3466,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3468,1
    - Dst: HttpTransact::initialize_state_variables_from_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3469,1
    - Dst: HttpTransact::handle_response_from_parent
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3474,1
    - Dst: HttpTransact::handle_response_from_server
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3477,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3440
    functionDepth: 2
    functionLinenumber: 3440
    functionLinenumberEnd: 3485
    functionName: HttpTransact::HandleResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::state_machine_id
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - TxnDbg
    - HttpTransact::handle_response_from_server
    - HttpTransact::handle_response_from_parent
    - HttpTransact::is_response_valid
    - ink_local_time
    - HttpTransact::initialize_state_variables_from_response
    - dump_header
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleResponse(State *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3504,1
    - Dst: State*::cache_info::object_store::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3504,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3505,1
    - Dst: State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3505,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3506,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3507,1
    - Dst: State*::cache_info::object_read::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3507,1
    - Dst: State*::cache_info::object_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3509,1
    - Dst: State*::cache_info::object_store::request_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3510,1
    - Dst: State*::cache_info::object_read::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3510,1
    - Dst: State*::cache_info::object_read::request_sent_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3512,1
    - Dst: State*::cache_info::object_read::response_received_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3513,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3515,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3517,1
    - Dst: HttpTransact::HandleUpdateCachedObjectContinue
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3521,1
    - Dst: HttpTransact::HandleApiErrorJump
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3500
    functionDepth: 3
    functionLinenumber: 3500
    functionLinenumberEnd: 3526
    functionName: HttpTransact::HandleUpdateCachedObject
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::cache_info::object_read::request_sent_time_get
    - State*::cache_info::object_read::valid
    - State*::cache_info::object_store::valid
    - TRANSACT_RETURN
    - HttpTransact::HandleApiErrorJump
    - State*::cache_info::object_store::request_set
    - State*::cache_info::object_store::request_get
    - HttpTransact::HandleUpdateCachedObjectContinue
    - State*::cache_info::object_read::response_received_time_get
    - State*::cache_info::object_store::response_get
    - State*::cache_info::object_read::request_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleUpdateCachedObject(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3528
    functionDepth: 1
    functionLinenumber: 3528
    functionLinenumberEnd: 3534
    functionName: HttpTransact::HandleUpdateCachedObjectContinue
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::HandleUpdateCachedObjectContinue(State *s)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3558,1
    - Dst: HTTP_RELEASE_ASSERT
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3559,1
    - Dst: markParentUp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3564,1
    - Dst: simple_or_unavailable_server_retry
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3567,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3572,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3574,1
    - Dst: markParentUp
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3576,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3582,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3587,1
    - Dst: HttpTransact::handle_forward_server_connection_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3591,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3597,1
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3600,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3604,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3605,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3607,1
    - Dst: State*::hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3607,1
    - Dst: State*::state_machine::do_hostdb_update_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3613,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3617,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3617,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3618,1
    - Dst: HttpTransact::is_request_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3621,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3623,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3626,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3630,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3631,1
    - Dst: State*::current::retry_attempts::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3632,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3635,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3637,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3638,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3639,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3640,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3643,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3644,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3645,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3651,1
    - Dst: find_server_and_update_current_info
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3654,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3659,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3660,1
    - Dst: markParentDown
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3662,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3674,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3675,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3679,1
    - Dst: HttpTransact::handle_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3684,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3692
      start: 3554
    functionDepth: 3
    functionLinenumber: 3554
    functionLinenumberEnd: 3692
    functionName: HttpTransact::handle_response_from_parent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::current::retry_attempts::get
    - HttpTransact::handle_forward_server_connection_open
    - HttpTransact::handle_server_connection_not_open
    - markParentUp
    - HttpTransact::CallOSDNSLookup
    - ts::Metrics::Counter::increment
    - SET_VIA_STRING
    - HTTP_RELEASE_ASSERT
    - State*::hdr_info::server_request::valid
    - State*::state_machine::do_hostdb_update_if_necessary
    - ats_ip_nptop
    - simple_or_unavailable_server_retry
    - ink_assert
    - find_server_and_update_current_info
    - HttpTransact::is_request_retryable
    - how_to_open_connection
    - TxnDbg
    - TRANSACT_RETURN
    - HttpTransact::handle_parent_down
    - markParentDown
    - State*::current::retry_attempts::increment
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_response_from_parent(State *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3714,1
    - Dst: HTTP_RELEASE_ASSERT
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3715,1
    - Dst: State*::os_response_plugin_inst::osResponse
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3721,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3721,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3726,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3727,1
    - Dst: State*::current::server::clear_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3728,1
    - Dst: HttpTransact::handle_forward_server_connection_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3729,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3732,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3733,1
    - Dst: State*::set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3734,1
    - Dst: HttpTransact::handle_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3735,1
    - Dst: HttpTransact::is_server_negative_cached
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3745,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3752,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3753,1
    - Dst: HttpTransact::is_request_retryable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3755,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3755,1
    - Dst: HttpTransact::is_response_valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3756,1
    - Dst: ats_force_order_by_family
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3768,1
    - Dst: State*::current::server::dst_addr::family
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3768,1
    - Dst: State*::my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3768,1
    - Dst: HttpTransact::CallOSDNSLookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3769,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3772,1
    - Dst: State*::dns_info::select_next_rr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3773,1
    - Dst: HttpTransact::retry_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3775,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3776,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3777,1
    - Dst: HttpTransact::error_log_connection_failure
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3780,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3781,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3782,1
    - Dst: HttpTransact::handle_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3783,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3787,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3788,1
    - Dst: State*::set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3789,1
    - Dst: HttpTransact::handle_server_connection_not_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3790,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3793,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3711
    functionDepth: 3
    functionLinenumber: 3711
    functionLinenumberEnd: 3798
    functionName: HttpTransact::handle_response_from_server
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - State*::current::retry_attempts::get
    - HttpTransact::handle_forward_server_connection_open
    - HttpTransact::handle_server_connection_not_open
    - State*::os_response_plugin_inst::osResponse
    - ats_force_order_by_family
    - HttpTransact::CallOSDNSLookup
    - HttpTransact::retry_server_connection_not_open
    - State*::set_connect_fail
    - State*::current::server::dst_addr::family
    - State*::my_txn_conf
    - SET_VIA_STRING
    - HTTP_RELEASE_ASSERT
    - HttpTransact::is_response_valid
    - HttpTransact::is_server_negative_cached
    - State*::dns_info::select_next_rr
    - ink_assert
    - HttpTransact::is_request_retryable
    - how_to_open_connection
    - TxnDbg
    - HttpTransact::error_log_connection_failure
    - State*::current::server::clear_connect_fail
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_response_from_server(State *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3804,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3804,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3805,1
    - Dst: State*::current::server::had_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3807,1
    - Dst: State*::hdr_info::client_request::url_string_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3808,1
    - Dst: State*::unmapped_url::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3810,1
    - Dst: State*::unmapped_url::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3811,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3813,1
    - Dst: HttpDebugNames::get_server_state_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3816,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3817,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3817,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3818,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::FirstOf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3818,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3819,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3819,1
    - Dst: State*::arena::str_free
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - conn_state
    argTypes:
    - State*
    - ServerState_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3800
    functionDepth: 2
    functionLinenumber: 3800
    functionLinenumberEnd: 3823
    functionName: HttpTransact::error_log_connection_failure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::current::retry_attempts::get
    - swoc::SWOC_VERSION_NS::bwf::Errno
    - TxnDbg
    - HttpDebugNames::get_server_state_name
    - State*::arena::str_free
    - swoc::SWOC_VERSION_NS::bwf::FirstOf
    - State*::unmapped_url::host_get
    - State*::unmapped_url::valid
    - Log::error
    - ats_ip_nptop
    - State*::hdr_info::client_request::url_string_get
    - c_str
    - State*::current::server::had_connect_fail
    - swoc::SWOC_VERSION_NS::bwprint
    linkageType: ''
    returnType: void
    signature: void HttpTransact::error_log_connection_failure(State *s, ServerState_t
      conn_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3840,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3841,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3842,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3842,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3843,1
    - Dst: HttpTransact::error_log_connection_failure
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3845,1
    - Dst: State*::current::retry_attempts::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3851,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3853,1
    - Dst: State*::current::retry_attempts::get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - s
    - conn_state
    - max_retries
    argTypes:
    - State*
    - ServerState_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3837
    functionDepth: 3
    functionLinenumber: 3837
    functionLinenumberEnd: 3856
    functionName: HttpTransact::retry_server_connection_not_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::current::retry_attempts::get
    - HttpTransact::error_log_connection_failure
    - TxnDbg
    - State*::current::retry_attempts::increment
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::retry_server_connection_not_open(State *s, ServerState_t
      conn_state, unsigned max_retries)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3873,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3874,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3875,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3877,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3878,1
    - Dst: State*::state_machine::do_hostdb_update_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3881,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3886,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3894,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3899,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3920,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3921,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3922,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3924,1
    - Dst: HttpTransact::build_response_from_cache
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3925,1
    - Dst: HttpTransact::handle_parent_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3929,1
    - Dst: HttpTransact::handle_server_down
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3932,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3868
    functionDepth: 4
    functionLinenumber: 3868
    functionLinenumberEnd: 3942
    functionName: HttpTransact::handle_server_connection_not_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - HttpTransact::handle_server_down
    - State*::state_machine::do_hostdb_update_if_necessary
    - TxnDbg
    - SET_VIA_STRING
    - HttpTransact::handle_parent_down
    - HttpTransact::is_stale_cache_response_returnable
    - HttpTransact::build_response_from_cache
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_server_connection_not_open(State *s)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3962,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3963,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3964,1
    - Dst: State*::state_machine::get_server_version
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3966,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3970,1
    - Dst: State*::updated_server_version::get_flat_version
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3970,1
    - Dst: State*::state_machine::do_hostdb_update_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3973,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3975,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3976,1
    - Dst: HttpTransact::handle_100_continue_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3977,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3984,1
    - Dst: State*::state_machine::get_cache_sm
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3994,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:3998,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4008,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4023,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4023,1
    - Dst: HttpTransact::handle_cache_operation_on_forward_server_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4024,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4031,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4036,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4044,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4044,1
    - Dst: HttpTransact::handle_no_cache_operation_on_forward_server_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4045,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 3959
    functionDepth: 1
    functionLinenumber: 3959
    functionLinenumberEnd: 4050
    functionName: HttpTransact::handle_forward_server_connection_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - State*::state_machine::do_hostdb_update_if_necessary
    - TxnDbg
    - HttpTransact::handle_cache_operation_on_forward_server_response
    - ink_assert
    - HttpTransact::handle_100_continue_response
    - HttpDebugNames::get_cache_action_name
    - State*::state_machine::get_cache_sm
    - HttpTransact::handle_no_cache_operation_on_forward_server_response
    - State*::state_machine::get_server_version
    - State*::hdr_info::server_response::status_get
    - State*::updated_server_version::get_flat_version
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_forward_server_connection_open(State *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: State*::hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4063,1
    - Dst: State*::hdr_info::client_request::value_get_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4067,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4067,1
    - Dst: HttpTransact::build_response_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4076,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4077,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4058
    functionDepth: 1
    functionLinenumber: 4058
    functionLinenumberEnd: 4081
    functionName: HttpTransact::handle_100_continue_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::hdr_info::client_request::value_get_int
    - static_cast<std::string_view>
    - TRANSACT_RETURN
    - HttpTransact::build_response_copy
    - State*::hdr_info::client_request::version_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_100_continue_response(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransactHeaders::copy_header_fields
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4090,1
    - Dst: HttpTransactHeaders::convert_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4091,1
    - Dst: HttpTransactHeaders::add_server_header_to_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4092,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4094,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - base_response
    - outgoing_response
    - outgoing_version
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4095
      start: 4087
    functionDepth: 2
    functionLinenumber: 4087
    functionLinenumberEnd: 4095
    functionName: HttpTransact::build_response_copy
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - State*::state_machine_id
    - HttpTransactHeaders::convert_response
    - HttpTransactHeaders::copy_header_fields
    - HttpTransactHeaders::add_server_header_to_response
    - dump_header
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_response_copy(State *s, HTTPHdr *base_response,
      HTTPHdr *outgoing_response, HTTPVersion outgoing_version)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4152,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4153,1
    - Dst: HttpTransact::is_response_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4161,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4162,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4166,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4169,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4176,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4177,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4179,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4180,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4182,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4184,1
    - Dst: HttpTransactCache::match_response_to_request_conditionals
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4185,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4186,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4195,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4208,1
    - Dst: State*::state_machine::do_range_setup_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4209,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4215,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4216,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4219,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4221,1
    - Dst: HttpTransactCache::match_response_to_request_conditionals
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4223,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4224,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4249,1
    - Dst: auto*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4250,1
    - Dst: HttpTransactCache::validate_ifrange_header_if_any
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4251,1
    - Dst: State*::state_machine::do_range_setup_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4252,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4268,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4271,1
    - Dst: HttpTransact::is_request_likely_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4281,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4293,1
    - Dst: HttpTransactHeaders::downgrade_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4296,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4297,1
    - Dst: field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4303,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4303,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4307,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4313,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4313,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4314,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4315,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4322,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4323,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4324,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4327,1
    - Dst: State*::cache_info::object_store::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4329,1
    - Dst: State*::cache_info::object_store::request_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4330,1
    - Dst: State*::cache_info::object_store::response_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4331,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4331,1
    - Dst: State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4332,1
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4333,1
    - Dst: HTTPHdr*::set_expires
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4334,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4336,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4337,1
    - Dst: HTTPHdr*::unset_cooked_cc_need_revalidate_once
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4343,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4345,1
    - Dst: HttpTransactCache::match_response_to_request_conditionals
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4346,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4347,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4360,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4363,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4363,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4366,1
    - Dst: GET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4366,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4367,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4368,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4370,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4373,1
    - Dst: State*::state_machine::do_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4375,1
    - Dst: HttpTransact::set_header_for_transform
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4376,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4378,1
    - Dst: is_negative_caching_appropriate
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4389,1
    - Dst: State*::hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4395,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4401,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4402,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4404,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4407,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4409,1
    - Dst: HttpTransactHeaders::is_status_an_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4416,1
    - Dst: HttpTransactHeaders::is_method_safe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4417,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4434,1
    - Dst: auto*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4438,1
    - Dst: HttpTransactCache::validate_ifrange_header_if_any
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4439,1
    - Dst: State*::state_machine::do_range_setup_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4440,1
    - Dst: auto*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4452,1
    - Dst: HttpTransactCache::validate_ifrange_header_if_any
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4453,1
    - Dst: State*::state_machine::do_range_setup_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4454,1
    - Dst: HttpTransactHeaders::is_status_an_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4459,1
    - Dst: HttpTransactHeaders::is_method_safe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4460,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4474,1
    - Dst: State*::cache_info::object_store::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4491,1
    - Dst: State*::cache_info::object_store::request_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4492,1
    - Dst: State*::cache_info::object_store::response_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4493,1
    - Dst: State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4494,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4495,1
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4496,1
    - Dst: HTTPHdr*::set_expires
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4498,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4500,1
    - Dst: HttpTransactCache::match_response_to_request_conditionals
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4501,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4504,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4507,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4522,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4538,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4539,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4540,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4543,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4544,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4545,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4552,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4553,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4554,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4563,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4564,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4565,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4567,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4570,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4577,1
    - Dst: HttpTransact::merge_and_update_headers_for_cache_update
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4578,1
    - Dst: State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4579,1
    - Dst: HTTPHdr*::unset_cooked_cc_need_revalidate_once
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4583,1
    - Dst: HttpTransact::delete_warning_value
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4586,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4588,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4588,1
    - Dst: HttpTransact::set_headers_for_cache_write
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4591,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4599,1
    - Dst: State*::hdr_info::server_response::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4603,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4603,1
    - Dst: State*::hdr_info::client_response::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4607,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4607,1
    - Dst: State*::hdr_info::client_response::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4609,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4609,1
    - Dst: State*::hdr_info::client_response::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4610,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4612,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4613,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4613,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4613,1
    - Dst: State*::hdr_info::client_response::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4614,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4618,1
    - Dst: State*::hdr_info::client_response::field_value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4619,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4622,1
    - Dst: State*::hdr_info::client_response::field_value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4623,1
    - Dst: HttpTransactHeaders::insert_warning_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4628,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4629,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4632,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4632,1
    - Dst: State*::state_machine::do_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4638,1
    - Dst: HttpTransact::set_header_for_transform
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4639,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4641,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 315
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4646
      start: 4149
    functionDepth: 3
    functionLinenumber: 4149
    functionLinenumberEnd: 4646
    functionName: HttpTransact::handle_cache_operation_on_forward_server_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - GET_VIA_STRING
    - State*::hdr_info::server_request::method_get_wksidx
    - HttpTransact::merge_and_update_headers_for_cache_update
    - State*::state_machine::do_range_setup_if_necessary
    - ink_local_time
    - HttpTransact::set_header_for_transform
    - MIMEField*::value_get
    - State*::cache_info::object_store::response_get
    - State*::state_machine::do_transform_open
    - HttpTransact::delete_warning_value
    - dump_header
    - State*::cache_info::object_store::response_set
    - ts::Metrics::Counter::increment
    - HttpTransactHeaders::is_status_an_error_response
    - HttpTransact::is_response_cacheable
    - State*::hdr_info::client_request::presence
    - HttpTransactCache::validate_ifrange_header_if_any
    - SET_VIA_STRING
    - HttpDebugNames::get_cache_action_name
    - HttpTransact::is_stale_cache_response_returnable
    - HTTPHdr*::set_expires
    - State*::hdr_info::client_response::field_find
    - auto::data
    - HttpTransact::build_response
    - static_cast<int>
    - State*::state_machine_id
    - State*::cache_info::object_read::response_get
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr*::valid
    - HttpTransact::is_request_likely_cacheable
    - State*::hdr_info::client_response::field_value_append
    - auto*::presence
    - State*::cache_info::object_store::create
    - State*::hdr_info::client_response::field_attach
    - State*::hdr_info::server_response::field_find
    - strlen
    - HttpTransactCache::match_response_to_request_conditionals
    - HttpTransactHeaders::downgrade_request
    - ink_assert
    - HTTPHdr*::unset_cooked_cc_need_revalidate_once
    - HttpTransactHeaders::insert_warning_header
    - how_to_open_connection
    - field_delete
    - TxnDbg
    - is_request_conditional
    - swoc::LocalBufferWriter::write
    - HTTPHdr*::presence
    - State*::hdr_info::client_response::field_value_set
    - State*::cache_info::object_store::request_set
    - State*::hdr_info::client_response::field_create
    - HTTPHdr*::status_get
    - HttpTransact::build_error_response
    - HttpTransactHeaders::is_method_safe
    - swoc::LocalBufferWriter::size
    - is_negative_caching_appropriate
    - HttpTransact::set_headers_for_cache_write
    - State*::hdr_info::server_response::status_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_cache_operation_on_forward_server_response(State
      *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4662,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4663,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4668,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4670,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4671,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4672,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4674,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4677,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4679,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4687,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4688,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4689,1
    - Dst: is_request_conditional
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4691,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4700,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4704,1
    - Dst: HttpTransactHeaders::downgrade_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4707,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4709,1
    - Dst: how_to_open_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4713,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4718,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4722,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4725,1
    - Dst: State*::state_machine::do_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4731,1
    - Dst: HttpTransact::set_header_for_transform
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4732,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4735,1
    - Dst: HttpTransactHeaders::insert_warning_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4740,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4741,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4659
    functionDepth: 3
    functionLinenumber: 4659
    functionLinenumberEnd: 4745
    functionName: HttpTransact::handle_no_cache_operation_on_forward_server_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - how_to_open_connection
    - HttpTransactHeaders::insert_warning_header
    - TxnDbg
    - is_request_conditional
    - ink_assert
    - SET_VIA_STRING
    - HttpTransact::build_error_response
    - HttpTransact::set_header_for_transform
    - strlen
    - HttpTransact::build_response
    - State*::state_machine::do_transform_open
    - HttpTransactHeaders::downgrade_request
    - State*::hdr_info::server_response::status_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_no_cache_operation_on_forward_server_response(State
      *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: State*::cache_info::object_store::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4753,1
    - Dst: State*::cache_info::object_store::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4754,1
    - Dst: State*::cache_info::object_store::request_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4757,1
    - Dst: State*::cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4758,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4765,1
    - Dst: State*::cache_info::object_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4767,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4767,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4767,1
    - Dst: State*::cache_info::object_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4769,1
    - Dst: State*::cache_info::object_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4770,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4770,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4774,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4774,1
    - Dst: State*::cache_info::object_store::response_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4777,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4777,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4787,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4787,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4788,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4788,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4789,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4789,1
    - Dst: HttpTransact::merge_response_header_with_cached_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4791,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4794,1
    - Dst: State*::hdr_info::server_response::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4798,1
    - Dst: HTTPHdr*::set_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4801,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4808,1
    - Dst: static_cast<ink_time_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4808,1
    - Dst: State*::hdr_info::server_response::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4809,1
    - Dst: State*::hdr_info::server_response::get_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4810,1
    - Dst: HTTPHdr*::set_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4813,1
    - Dst: HTTPHdr*::set_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4815,1
    - Dst: HttpTransact::delete_warning_value
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4819,1
    - Dst: State*::cache_info::object_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4822,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4822,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4747
    functionDepth: 1
    functionLinenumber: 4747
    functionLinenumberEnd: 4823
    functionName: HttpTransact::merge_and_update_headers_for_cache_update
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::hdr_info::server_response::get_age
    - State*::cache_info::object_store::valid
    - State*::cache_info::object_store::response_get
    - HttpTransact::delete_warning_value
    - State*::cache_info::object_store::response_set
    - static_cast<ink_time_t>
    - HTTPHdr*::set_age
    - HTTPHdr*::field_delete
    - max
    - State*::hdr_info::server_response::presence
    - HTTPHdr*::set_date
    - State*::cache_info::object_read::response_get
    - static_cast<std::string_view>
    - HTTPHdr*::valid
    - State*::cache_info::object_store::create
    - URL*::valid
    - State*::cache_info::object_store::request_get
    - State*::hdr_info::server_response::get_date
    - ink_assert
    - State*::cache_info::object_store::request_set
    - State*::hdr_info::client_request::url_get
    - HttpTransact::merge_response_header_with_cached_header
    - State*::hdr_info::server_response::status_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::merge_and_update_headers_for_cache_update(State
      *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4828,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4841,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4845
      start: 4825
    functionDepth: 1
    functionLinenumber: 4825
    functionLinenumberEnd: 4845
    functionName: HttpTransact::handle_transform_cache_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TRANSACT_RETURN
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_transform_cache_write(State *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4850,1
    - Dst: State*::hdr_info::transform_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4850,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4855,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4855,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4857,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4873,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4875,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4875,1
    - Dst: HttpTransact::set_headers_for_cache_write
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4876,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4879,1
    - Dst: State*::cache_info::transform_store::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4880,1
    - Dst: State*::cache_info::transform_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4881,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4885,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4847
    functionDepth: 1
    functionLinenumber: 4847
    functionLinenumberEnd: 4890
    functionName: HttpTransact::handle_transform_ready
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::hdr_info::transform_response::valid
    - State*::state_machine_id
    - ink_release_assert
    - HTTPHdr*::valid
    - TRANSACT_RETURN
    - State*::cache_info::transform_store::request_get
    - is_action_tag_set
    - HttpTransact::build_response
    - HttpTransact::set_headers_for_cache_write
    - dump_header
    - ink_assert
    - State*::cache_info::transform_store::response_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_transform_ready(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: State*::hdr_info::transform_response::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4895,1
    - Dst: State*::hdr_info::transform_response::copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4896,1
    - Dst: State*::hdr_info::transform_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4901,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4901,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4903,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - base_header
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4904
      start: 4892
    functionDepth: 1
    functionLinenumber: 4892
    functionLinenumberEnd: 4904
    functionName: HttpTransact::set_header_for_transform
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - State*::state_machine_id
    - static_cast<std::string_view>
    - State*::hdr_info::transform_response::field_delete
    - State*::hdr_info::transform_response::create
    - State*::hdr_info::transform_response::copy
    - dump_header
    linkageType: ''
    returnType: void
    signature: void HttpTransact::set_header_for_transform(State *s, HTTPHdr *base_header)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4910,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4910,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4911,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4911,1
    - Dst: HTTPInfo*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4913,1
    - Dst: HTTPInfo*::create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4914,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4929,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4929,1
    - Dst: HTTPHdr*::url_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4930,1
    - Dst: valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4931,1
    - Dst: HTTPHdr*::url_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4932,1
    - Dst: HTTPHdr*::url_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4934,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4934,1
    - Dst: HTTPInfo*::request_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4936,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4943,1
    - Dst: HTTPInfo*::response_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4944,1
    - Dst: HTTPInfo*::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4948,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4948,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4953,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4953,1
    - Dst: HTTPInfo*::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4954,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4954,1
    - Dst: HTTPInfo*::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4956,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4956,1
    - Dst: HTTPInfo*::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4960,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4960,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4963,1
    - Dst: HTTPInfo*::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4963,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4963,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - s
    - cache_info
    - request
    - response
    argTypes:
    - State*
    - HTTPInfo*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4964
      start: 4906
    functionDepth: 1
    functionLinenumber: 4906
    functionLinenumberEnd: 4964
    functionName: HttpTransact::set_headers_for_cache_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - State*::state_machine_id
    - static_cast<std::string_view>
    - HTTPInfo*::create
    - HTTPHdr*::type_get
    - HTTPInfo*::request_get
    - State*::hdr_info::client_request::url_get
    - HTTPInfo*::response_get
    - HTTPInfo*::valid
    - URL*::valid
    - valid
    - HTTPInfo*::request_set
    - HTTPInfo*::response_set
    - HTTPHdr*::url_set
    - dump_header
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::set_headers_for_cache_write(State *s, HTTPInfo *cache_info,
      HTTPHdr *request, HTTPHdr *response)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::begin
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4972,1
    - Dst: HTTPHdr*::end
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4972,1
    - Dst: MIMEField::name_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4974,1
    - Dst: HttpTransactHeaders::is_this_a_hop_by_hop_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4979,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4979,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4985,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4985,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4985,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4985,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4991,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4991,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4999,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:4999,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5007,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5007,1
    - Dst: MIMEField::name_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5031,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5041,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5041,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5044,1
    - Dst: MIMEField::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5050,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5053,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5055,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5056,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5057,1
    - Dst: HttpTransact::merge_warning_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5061,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5063,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - cached_header
    - response_header
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5064
      start: 4966
    functionDepth: 2
    functionLinenumber: 4966
    functionLinenumberEnd: 5064
    functionName: HttpTransact::merge_response_header_with_cached_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::end
    - HTTPHdr*::value_set
    - HTTPHdr*::begin
    - MIMEField::name_get
    - HTTPHdr*::field_attach
    - HTTPHdr*::field_delete
    - Dbg
    - c_str
    - HttpTransactHeaders::is_this_a_hop_by_hop_header
    - MIMEField::value_get
    - auto::data
    - HttpTransact::merge_warning_header
    - HTTPHdr*::field_value_set
    linkageType: ''
    returnType: void
    signature: void HttpTransact::merge_response_header_with_cached_header(HTTPHdr
      *cached_header, HTTPHdr *response_header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5084,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5084,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5085,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5085,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5093,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5095,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5097,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5101,1
    - Dst: HTTPHdr*::field_value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5106,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5107,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5110,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5114,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5114,1
    - Dst: MIMEField*::name_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5118,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5118,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5119,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5125,1
    - Dst: HTTPHdr*::field_value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5128,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5130,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5130,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5131,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - cached_header
    - response_header
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5137
      start: 5066
    functionDepth: 1
    functionLinenumber: 5066
    functionLinenumberEnd: 5137
    functionName: HttpTransact::merge_warning_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - static_cast<std::string_view>
    - HTTPHdr*::field_delete
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::field_value_append
    - ink_atoi
    - MIMEField*::name_set
    - MIMEField*::value_get
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: void
    signature: void HttpTransact::merge_warning_header(HTTPHdr *cached_header, HTTPHdr
      *response_header)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5151,1
    - Dst: ConnectionAttributes*::http_version::get_major
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5151,1
    - Dst: ConnectionAttributes*::http_version::get_minor
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5152,1
    - Dst: static_cast<HttpConfigParams::SendHttp11>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5155,1
    - Dst: State*::hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5165,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5172,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5178,1
    - Dst: ConnectionAttributes*::http_version::get_major
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5178,1
    - Dst: ConnectionAttributes*::http_version::get_minor
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - s
    - server_info
    argTypes:
    - State*
    - ConnectionAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5145
    functionDepth: 1
    functionLinenumber: 5145
    functionLinenumberEnd: 5185
    functionName: HttpTransact::get_ka_info_from_config
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - ConnectionAttributes*::http_version::get_minor
    - static_cast<HttpConfigParams::SendHttp11>
    - TxnDbg
    - State*::hdr_info::client_request::version_get
    - ConnectionAttributes*::http_version::get_major
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::get_ka_info_from_config(State *s, ConnectionAttributes
      *server_info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams::SendHttp11>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5200,1
    - Dst: State*::hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5209,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - s
    - server_info
    - host_db_info
    argTypes:
    - State*
    - ConnectionAttributes*
    - HostDBInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5193
    functionDepth: 1
    functionLinenumber: 5193
    functionLinenumberEnd: 5248
    functionName: HttpTransact::get_ka_info_from_host_db
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - static_cast<HttpConfigParams::SendHttp11>
    - ink_assert
    - State*::hdr_info::client_request::version_get
    linkageType: ''
    returnType: void
    signature: "void HttpTransact::get_ka_info_from_host_db(State *s, ConnectionAttributes
      \                                 *server_info,\n                                       ConnectionAttributes
      * /* client_info ATS_UNUSED */, HostDBInfo *host_db_info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5256,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5261,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5262,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5278,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5279,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5288,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5288,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5289,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5290,1
    - Dst: HTTPHdr*::value_append_or_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5300,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5300,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - s
    - request
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5304
      start: 5250
    functionDepth: 1
    functionLinenumber: 5250
    functionLinenumberEnd: 5304
    functionName: HttpTransact::add_client_ip_to_outgoing_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_set
    - static_cast<std::string_view>
    - TxnDbg
    - HTTPHdr*::value_append_or_set
    - HTTPHdr*::presence
    - static_cast<std::string_view::size_type>
    - ats_ip_ntop
    - strlen
    - ats_is_ip
    linkageType: ''
    returnType: void
    signature: void HttpTransact::add_client_ip_to_outgoing_request(State *s, HTTPHdr
      *request)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::set_client_request_state
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5322,1
    - Dst: HttpTransactHeaders::is_request_proxy_authorized
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5327,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5331,1
    - Dst: HTTPHdr*::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5332,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5333,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5333,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5335,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5339,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5339,1
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5343,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5344,1
    - Dst: HttpTransactHeaders::is_this_method_supported
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5356,1
    - Dst: is_port_in_range
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5360,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5360,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5361,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5361,1
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5365,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5382,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5382,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5384,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5390,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5390,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5391,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5401,1
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5401,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5404,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5410,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5411,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5411,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5415,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5417,1
    - Dst: http_parse_te
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5420,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5421,1
    - Dst: State*::arena::free
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5423,1
    - Dst: State*::arena::free
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5427,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5428,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 67
    argCount: 2
    argNames:
    - s
    - incoming_hdr
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5434
      start: 5317
    functionDepth: 3
    functionLinenumber: 5317
    functionLinenumberEnd: 5434
    functionName: HttpTransact::check_request_validity
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransactHeaders::is_request_proxy_authorized
    - HTTPHdr*::url_get
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - HttpTransactHeaders::is_this_method_supported
    - HTTPHdr*::value_append
    - ts::Metrics::Counter::increment
    - HttpTransact::set_client_request_state
    - State*::arena::free
    - URL*::scheme_get_wksidx
    - auto::data
    - memchr
    - HTTPHdr*::method_get_wksidx
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr*::host_get
    - http_parse_te
    - HdrCsvIter::get_first
    - is_port_in_range
    - TxnDbg
    - HTTPHdr*::presence
    - State*::state_machine::get_ua_txn
    - HTTPHdr*::version_get
    - c_str
    - auto::empty
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: HttpTransact::RequestError_t
    signature: HttpTransact::RequestError_t HttpTransact::check_request_validity(State
      *s, HTTPHdr *incoming_hdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5444,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5445,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5445,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5447,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5449,1
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5452,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5453,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5457,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5468,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5469,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - s
    - incoming_hdr
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5436
    functionDepth: 4
    functionLinenumber: 5436
    functionLinenumberEnd: 5475
    functionName: HttpTransact::set_client_request_state
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::string_view>
    - hdrtoken_string_to_wks
    - TxnDbg
    - HTTPHdr*::presence
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - c_str
    - HTTPHdr*::get_content_length
    - HTTPHdr*::field_find
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: void
    signature: void HttpTransact::set_client_request_state(State *s, HTTPHdr *incoming_hdr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5480,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5487,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5491,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5500,1
    - Dst: HTTPHdr*::set_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5501,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5506,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5507,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5509,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5513,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - s
    - incoming_hdr
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5477
    functionDepth: 1
    functionLinenumber: 5477
    functionLinenumberEnd: 5519
    functionName: HttpTransact::check_response_validity
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - TxnDbg
    - HTTPHdr*::type_get
    - HTTPHdr*::presence
    - HTTPHdr*::status_get
    - HTTPHdr*::get_date
    - HTTPHdr*::set_date
    - ink_assert
    linkageType: ''
    returnType: HttpTransact::ResponseError_t
    signature: HttpTransact::ResponseError_t HttpTransact::check_response_validity(State
      *s, HTTPHdr *incoming_hdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5524,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5524,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5532,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5536,1
    - Dst: HTTPHdr*::get_max_forwards
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5540,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5546,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5547,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5548,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5555,1
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5556,1
    - Dst: HTTP_RELEASE_ASSERT
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5557,1
    - Dst: State*::free_internal_msg_buffer
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5559,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5562,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5564,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5565,1
    - Dst: alloc_void
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5565,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5568,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5568,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5572,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5577,1
    - Dst: HTTP_RELEASE_ASSERT
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5578,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5580,1
    - Dst: State*::hdr_info::client_response::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5582,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5585,1
    - Dst: HttpTransactHeaders::insert_supported_methods_in_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5586,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5596,1
    - Dst: HTTPHdr*::set_max_forwards
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5597,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - s
    - incoming_hdr
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5606
      start: 5521
    functionDepth: 3
    functionLinenumber: 5521
    functionLinenumberEnd: 5606
    functionName: HttpTransact::handle_trace_and_options_requests
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - State*::free_internal_msg_buffer
    - ts::Metrics::Counter::increment
    - HttpTransactHeaders::insert_supported_methods_in_response
    - HTTPHdr*::set_max_forwards
    - SET_VIA_STRING
    - HTTP_RELEASE_ASSERT
    - static_cast<char *>
    - alloc_void
    - HttpTransact::build_response
    - HTTPHdr*::length_get
    - HTTPHdr*::type_get
    - ats_strdup
    - State*::hdr_info::client_response::set_content_length
    - ink_assert
    - memset
    - TxnDbg
    - HTTPHdr*::presence
    - HTTPHdr*::get_max_forwards
    - HTTPHdr*::print
    - ats_malloc
    - buffer_size_to_index
    - BUFFER_SIZE_FOR_INDEX
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::handle_trace_and_options_requests(State *s, HTTPHdr
      *incoming_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5611,1
    - Dst: HTTPHdr*::version_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - incoming_request
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5613
      start: 5608
    functionDepth: 1
    functionLinenumber: 5608
    functionLinenumberEnd: 5613
    functionName: HttpTransact::bootstrap_state_variables_from_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 10
    functionsReached:
    - HTTPHdr*::version_get
    - ink_local_time
    linkageType: ''
    returnType: void
    signature: void HttpTransact::bootstrap_state_variables_from_request(State *s,
      HTTPHdr *incoming_request)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5621,1
    - Dst: HTTPHdr*::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5623,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5626,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5627,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5629,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5643,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5643,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5651,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5652,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5656,1
    - Dst: NetVConnection*::get_is_internal_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5657,1
    - Dst: NetVConnection*::get_is_internal_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5661,1
    - Dst: HTTPHdr*::keep_alive_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5664,1
    - Dst: State*::arena::str_store
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5668,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5668,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5668,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5668,1
    - Dst: State*::server_info::name_addr::load
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5669,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5672,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5681,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5686,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5691,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5698,1
    - Dst: HttpTransact::update_method_stat
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5703,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5708,1
    - Dst: State*::arena::str_store
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5719,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5719,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5719,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5719,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5720,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5721,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5723,1
    - Dst: NetVConnection*::get_proxy_protocol_version
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5724,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5726,1
    - Dst: NetVConnection*::get_proxy_protocol_src_addr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5726,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5727,1
    - Dst: NetVConnection*::get_proxy_protocol_dst_addr
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5727,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 2
    argNames:
    - s
    - obsolete_incoming_request
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5743
      start: 5615
    functionDepth: 1
    functionLinenumber: 5615
    functionLinenumberEnd: 5743
    functionName: HttpTransact::initialize_state_variables_from_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::url_get
    - ats_ip_copy
    - State*::server_info::name_addr::load
    - NetVConnection*::get_proxy_protocol_src_addr
    - NetVConnection*::get_local_port
    - SET_VIA_STRING
    - auto::data
    - State*::arena::str_store
    - HttpTransact::update_method_stat
    - NetVConnection*::get_proxy_protocol_version
    - HTTPHdr*::method_get_wksidx
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - NetVConnection*::get_proxy_protocol_dst_addr
    - NetVConnection*::get_is_internal_request
    - Error
    - HTTPHdr*::host_get
    - HTTPHdr*::keep_alive_get
    - ink_assert
    - memset
    - TxnDbg
    - HTTPHdr*::presence
    - State*::state_machine::get_ua_txn
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: void
    signature: void HttpTransact::initialize_state_variables_from_request(State *s,
      HTTPHdr *obsolete_incoming_request)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5749,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5751,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5753,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5755,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5757,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5759,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5761,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5763,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5765,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5767,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5769,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5771
      start: 5745
    functionDepth: 1
    functionLinenumber: 5745
    functionLinenumberEnd: 5771
    functionName: HttpTransact::update_method_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: void
    signature: void HttpTransact::update_method_stat(int method)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransactHeaders::does_server_allow_response_to_be_stored
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5777,1
    - Dst: State*::hdr_info::server_response::keep_alive_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5786,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5794,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5795,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5795,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5804,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5805,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5810,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5811,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5821,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5822,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5822,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5823,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5825,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5827,1
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5830,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5832,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5832,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5833,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5843,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5845,1
    - Dst: hdrtoken_string_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5850,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5853,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5855,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5856,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5857,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5861,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5866,1
    - Dst: MIMEField*::name_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5871,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5872,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5873,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5879,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - s
    - incoming_response
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5884
      start: 5773
    functionDepth: 4
    functionLinenumber: 5773
    functionLinenumberEnd: 5884
    functionName: HttpTransact::initialize_state_variables_from_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::field_create
    - MIMEField*::value_append
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - HTTPHdr*::field_attach
    - HTTPHdr*::field_delete
    - HttpTransactHeaders::does_server_allow_response_to_be_stored
    - static_cast<std::string_view>
    - hdrtoken_string_to_wks
    - HTTPHdr*::get_content_length
    - ink_assert
    - HdrCsvIter::get_first
    - HTTPHdr*::field_value_set
    - is_response_body_precluded
    - MIMEField*::name_set
    - TxnDbg
    - HTTPHdr*::presence
    - State*::state_machine::get_ua_txn
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::status_get
    - c_str
    - State*::hdr_info::server_response::keep_alive_get
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: void
    signature: void HttpTransact::initialize_state_variables_from_response(State *s,
      HTTPHdr *incoming_response)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5890,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5895,1
    - Dst: HttpTransactHeaders::is_method_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5899,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5900,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5901,1
    - Dst: State*::hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5910,1
    - Dst: State*::cache_info::object_read::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5911,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5914,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5915,1
    - Dst: do_cookies_prevent_caching
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5920,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5920,1
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5921,1
    - Dst: State*::cache_info::object_read::request_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5921,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5922,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5928
      start: 5886
    functionDepth: 2
    functionLinenumber: 5886
    functionLinenumberEnd: 5928
    functionName: HttpTransact::is_cache_response_returnable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - State*::cache_info::object_read::response_get
    - HttpTransactHeaders::is_method_cacheable
    - SET_VIA_STRING
    - do_cookies_prevent_caching
    - State*::hdr_info::client_request::method_get_wksidx
    - State*::cache_info::object_read::request_get
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_cache_response_returnable(State *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: State*::cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5947,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5962,1
    - Dst: HTTPHdr*::is_pragma_no_cache_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5962,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5963,1
    - Dst: HttpTransactCache::calculate_document_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5968,1
    - Dst: State*::cache_info::object_read::request_sent_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5968,1
    - Dst: State*::cache_info::object_read::response_received_time_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5969,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5970,1
    - Dst: HttpTransact::get_max_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5972,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5973,1
    - Dst: HttpTransact::AuthenticationNeeded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5977,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5980,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5986
      start: 5940
    functionDepth: 2
    functionLinenumber: 5940
    functionLinenumberEnd: 5986
    functionName: HttpTransact::is_stale_cache_response_returnable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - HTTPHdr*::get_cooked_cc_mask
    - State*::cache_info::object_read::response_get
    - State*::cache_info::object_read::request_sent_time_get
    - TxnDbg
    - HttpTransact::get_max_age
    - HTTPHdr*::get_date
    - HttpTransactCache::calculate_document_age
    - HttpTransact::AuthenticationNeeded
    - HTTPHdr*::is_pragma_no_cache_set
    - State*::cache_info::object_read::response_received_time_get
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_stale_cache_response_returnable(State *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5994,1
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:5994,1
    - Dst: URL*::query_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6001,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6008,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6009,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6010,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6013,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6014,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6014,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6029,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6029,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6030,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6030,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 5988
    functionDepth: 1
    functionLinenumber: 5988
    functionLinenumberEnd: 6039
    functionName: HttpTransact::url_looks_dynamic
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - auto::length
    - URL*::query_get
    - URL*::scheme_get_wksidx
    - ParseRules::ink_tolower
    - auto::data
    - URL*::path_get
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::url_looks_dynamic(URL *url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6065,1
    - Dst: HttpTransactHeaders::is_method_cache_lookupable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6069,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6070,1
    - Dst: HttpTransact::url_looks_dynamic
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6080,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6080,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6085,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6086,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6086,1
    - Dst: MIMEField*::value_get_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6089,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6094,1
    - Dst: State*::hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6100,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6101,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6111
      start: 6052
    functionDepth: 2
    functionLinenumber: 6052
    functionLinenumberEnd: 6111
    functionName: HttpTransact::is_request_cache_lookupable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - HttpTransact::url_looks_dynamic
    - MIMEField*::value_get_int
    - static_cast<std::string_view>
    - HttpTransactHeaders::is_method_cache_lookupable
    - State*::hdr_info::client_request::presence
    - SET_VIA_STRING
    - State*::hdr_info::client_request::url_get
    - State*::hdr_info::client_request::field_find
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_request_cache_lookupable(State *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6134,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - response
    - ignore_no_store_and_no_cache_directives
    argTypes:
    - HTTPHdr*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6145
      start: 6128
    functionDepth: 0
    functionLinenumber: 6128
    functionLinenumberEnd: 6145
    functionName: response_cacheable_indicated_by_cc
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::get_cooked_cc_mask
    linkageType: ''
    returnType: int
    signature: int response_cacheable_indicated_by_cc(HTTPHdr *response, bool ignore_no_store_and_no_cache_directives)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6166,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6179,1
    - Dst: HttpTransactHeaders::is_method_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6180,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6181,1
    - Dst: HttpTransact::is_request_cache_lookupable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6188,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6189,1
    - Dst: do_cookies_prevent_caching
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6200,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6200,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6201,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6205,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6206,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6212,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6222,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6230,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6234,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6236,1
    - Dst: static_cast<HttpConfigParams::CacheRequiredHeaders>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6248,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6250,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6254,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6254,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6255,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6256,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6258,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6264,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6264,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6265,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6277,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6277,1
    - Dst: response_cacheable_indicated_by_cc
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6283,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6285,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6294,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6296,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6303,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6304,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6309,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6316,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6318,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6326,1
    - Dst: is_negative_caching_appropriate
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6337,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 109
    argCount: 3
    argNames:
    - s
    - request
    - response
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6347
      start: 6157
    functionDepth: 3
    functionLinenumber: 6157
    functionLinenumberEnd: 6347
    functionName: HttpTransact::is_response_cacheable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::get_cooked_cc_mask
    - static_cast<HttpConfigParams::CacheRequiredHeaders>
    - TxnDbg
    - HttpTransactHeaders::is_method_cacheable
    - HTTPHdr*::presence
    - response_cacheable_indicated_by_cc
    - do_cookies_prevent_caching
    - HTTPHdr*::status_get
    - HTTPHdr*::get_date
    - HttpTransact::is_request_cache_lookupable
    - is_negative_caching_appropriate
    - HTTPHdr*::method_get_wksidx
    - HTTPHdr*::get_last_modified
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_response_cacheable(State *s, HTTPHdr *request,
      HTTPHdr *response)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_port_in_range
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6360,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6360,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6361,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6361,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6368,1
    - Dst: HttpTransact::check_request_validity
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6371,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6374,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6377,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6378,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6379,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6385,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6386,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6387,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6408,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6409,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6411,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6414,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6420,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6421,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6422,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6427,1
    - Dst: URL*::port_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6432,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6433,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6434,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6435,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6438,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6439,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6440,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6444,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6445,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6446,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6450,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6451,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 76
    argCount: 2
    argNames:
    - s
    - incoming_request
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6460
      start: 6349
    functionDepth: 4
    functionLinenumber: 6349
    functionLinenumberEnd: 6460
    functionName: HttpTransact::is_request_valid
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - is_port_in_range
    - TxnDbg
    - HTTPHdr*::url_get
    - SET_VIA_STRING
    - HttpTransact::check_request_validity
    - HttpTransact::build_error_response
    - URL*::port_get
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransactHeaders::is_method_safe
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6484,1
    - Dst: State*::state_machine::is_post_transform_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6506
      start: 6478
    functionDepth: 1
    functionLinenumber: 6478
    functionLinenumberEnd: 6506
    functionName: HttpTransact::is_request_retryable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - State*::state_machine::is_post_transform_request
    - HttpTransactHeaders::is_method_safe
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_request_retryable(State *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6517,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6527,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6528,1
    - Dst: auto::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6529,1
    - Dst: auto::isValid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6532,1
    - Dst: auto::isAllowAll
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6532,1
    - Dst: auto::isMethodAllowed
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6534,1
    - Dst: State*::hdr_info::client_request::method_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6536,1
    - Dst: auto::isNonstandardMethodAllowed
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6537,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6541,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6544,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6545,1
    - Dst: State*::hdr_info::client_request::method_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6546,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6548,1
    - Dst: auto::source_line
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6548,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6548,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6548,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6549,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - s
    - method
    argTypes:
    - State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6554
      start: 6508
    functionDepth: 1
    functionLinenumber: 6508
    functionLinenumberEnd: 6554
    functionName: HttpTransact::process_quick_http_filter
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - auto::isMethodAllowed
    - static_cast<int>
    - 'on'
    - TxnDbg
    - State*::state_machine::get_ua_txn
    - std::string_view::length
    - hdrtoken_index_to_wks
    - std::string_view::empty
    - State*::hdr_info::client_request::method_get
    - auto::isValid
    - auto::isNonstandardMethodAllowed
    - auto::isAllowAll
    - State*::url_map::getMapping
    - auto::source_line
    - ats_ip_ntop
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void HttpTransact::process_quick_http_filter(State *s, int method)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6571,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6573,1
    - Dst: State*::client_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6574,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6577,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6578,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6582,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6585,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6588,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6591,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6592,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6593,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6600,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6600,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6601,1
    - Dst: getString
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6601,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6606,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6608,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6609,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6611,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6611,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6611,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6612,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6612,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6614,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6615,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6617,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6617,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6617,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6617,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6624,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6625,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6626,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6627,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6630,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6556
    functionDepth: 2
    functionLinenumber: 6556
    functionLinenumberEnd: 6634
    functionName: HttpTransact::will_this_request_self_loop
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - auto::length
    - Machine::instance
    - TxnDbg
    - static_cast<std::string_view>
    - std::string_view::remove_prefix
    - std::string_view::length
    - SET_VIA_STRING
    - State*::hdr_info::client_request::url_get
    - std::string_view::data
    - std::string_view::find
    - HttpTransact::build_error_response
    - MIMEField*::value_get
    - auto::data
    - State*::hdr_info::client_request::field_find
    - State*::client_info::dst_addr::host_order_port
    - getString
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::will_this_request_self_loop(State *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6645,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6645,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6646,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6647,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6650,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6650,1
    - Dst: HttpTransact::change_response_header_because_of_range_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6665,1
    - Dst: State*::cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6674,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6677,1
    - Dst: HTTPHdr*::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6685,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6695,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6699,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6699,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6702,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6702,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6710,1
    - Dst: State*::cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6717,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6719,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6719,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6722,1
    - Dst: HttpTransact::change_response_header_because_of_range_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6728,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6731,1
    - Dst: HTTPHdr*::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6732,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6740,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6740,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6748,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6748,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6749,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 3
    argNames:
    - s
    - header
    - base
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6753
      start: 6641
    functionDepth: 1
    functionLinenumber: 6641
    functionLinenumberEnd: 6753
    functionName: HttpTransact::handle_content_length_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - static_cast<std::string_view>
    - TxnDbg
    - HTTPHdr*::set_content_length
    - is_response_body_precluded
    - HTTPHdr*::type_get
    - HTTPHdr*::presence
    - HttpTransact::change_response_header_because_of_range_request
    - HTTPHdr*::field_delete
    - State*::cache_info::object_read::object_size_get
    - HTTPHdr*::status_get
    - HTTPHdr*::get_content_length
    - State*::hdr_info::server_response::status_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_content_length_header(State *s, HTTPHdr *header,
      HTTPHdr *base)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6779,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6779,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6784,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6789,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6796,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6804,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6808,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6808,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6809,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6809,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6815,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6817,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6818,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6818,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6820,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6820,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6831,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6832,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6832,1
    - Dst: State*::state_machine::get_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6834,1
    - Dst: ProxyTransaction*::set_close_connection
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6836,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6844,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6850,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6850,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6850,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6853,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6853,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - s
    - ver
    - heads
    argTypes:
    - State*
    - HTTPVersion
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6856
      start: 6766
    functionDepth: 1
    functionLinenumber: 6766
    functionLinenumberEnd: 6856
    functionName: HttpTransact::handle_request_keep_alive_headers
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_set
    - ProxyTransaction*::set_close_connection
    - HTTPVersion::get_major
    - static_cast<std::string_view>
    - HTTPHdr*::type_get
    - HTTPHdr*::field_delete
    - parent_is_proxy
    - State*::state_machine::get_server_txn
    - HTTPHdr*::get_content_length
    - HTTPHdr*::method_get_wksidx
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_request_keep_alive_headers(State *s, HTTPVersion
      ver, HTTPHdr *heads)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6882,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6882,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6886,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6886,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6887,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6887,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6890,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6893,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6895,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6895,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6895,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6896,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6896,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6908,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6909,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6909,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6911,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6912,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6912,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6916,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6918,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6920,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6933,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6933,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6935,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6937,1
    - Dst: State*::hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6937,1
    - Dst: State*::hdr_info::server_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6940,1
    - Dst: State*::hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6943,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6953,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6953,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6954,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6964,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6964,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6972,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6973,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6982,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6987,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6990,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6990,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6998,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6998,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:6999,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7000,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7008,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 68
    argCount: 3
    argNames:
    - s
    - ver
    - heads
    argTypes:
    - State*
    - HTTPVersion
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7011
      start: 6871
    functionDepth: 1
    functionLinenumber: 6871
    functionLinenumberEnd: 7011
    functionName: HttpTransact::handle_response_keep_alive_headers
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_append
    - State*::hdr_info::server_response::valid
    - HTTPVersion::get_major
    - HTTPHdr*::field_delete
    - length
    - static_cast<int>
    - static_cast<std::string_view>
    - HTTPHdr*::type_get
    - State*::hdr_info::client_response::status_get
    - HTTPHdr*::get_content_length
    - is_response_body_precluded
    - ink_assert
    - HTTPHdr*::value_set
    - TxnDbg
    - State*::state_machine::get_ua_txn
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::status_get
    - c_str
    - State*::hdr_info::server_response::status_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_response_keep_alive_headers(State *s, HTTPVersion
      ver, HTTPHdr *heads)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7019,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7021,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7024,1
    - Dst: State*::hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7030,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7030,1
    - Dst: MIMEField*::value_get_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7035,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7041,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7043,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7050,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7057,1
    - Dst: State*::hdr_info::client_request::value_set_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7058,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - s
    - cache_hit
    argTypes:
    - State*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 7013
    functionDepth: 1
    functionLinenumber: 7013
    functionLinenumberEnd: 7064
    functionName: HttpTransact::delete_all_document_alternates_and_return
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - MIMEField*::value_get_int
    - static_cast<std::string_view>
    - TxnDbg
    - State*::hdr_info::client_request::value_set_int
    - SET_VIA_STRING
    - HttpTransact::build_response
    - State*::hdr_info::client_request::field_find
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::delete_all_document_alternates_and_return(State
      *s, bool cache_hit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7075,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7075,1
    - Dst: HTTPHdr*::is_pragma_no_cache_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p
    - c
    - h
    - via_string
    argTypes:
    - OverridableHttpConfigParams*
    - CacheControlResult*
    - HTTPHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7089
      start: 7066
    functionDepth: 0
    functionLinenumber: 7066
    functionLinenumberEnd: 7089
    functionName: HttpTransact::does_client_request_permit_cached_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::is_cache_control_set
    - c_str
    - HTTPHdr*::is_pragma_no_cache_set
    linkageType: ''
    returnType: bool
    signature: "bool HttpTransact::does_client_request_permit_cached_response(const
      OverridableHttpConfigParams *p, CacheControlResult *c, HTTPHdr *h,\n                                                         char
      *via_string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::is_pragma_no_cache_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7094,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7094,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - c
    - h
    argTypes:
    - CacheControlResult*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7098
      start: 7091
    functionDepth: 0
    functionLinenumber: 7091
    functionLinenumberEnd: 7098
    functionName: HttpTransact::does_client_request_permit_dns_caching
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::is_pragma_no_cache_set
    - c_str
    - HTTPHdr*::is_cache_control_set
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::does_client_request_permit_dns_caching(CacheControlResult
      *c, HTTPHdr *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7107,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - c
    - h
    argTypes:
    - CacheControlResult*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7113
      start: 7100
    functionDepth: 0
    functionLinenumber: 7100
    functionLinenumberEnd: 7113
    functionName: HttpTransact::does_client_request_permit_storing
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::is_cache_control_set
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::does_client_request_permit_storing(CacheControlResult
      *c, HTTPHdr *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7119,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7124,1
    - Dst: HTTPHdr*::get_cooked_cc_s_maxage
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7124,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7128,1
    - Dst: HTTPHdr*::get_cooked_cc_max_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - response
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7149
      start: 7115
    functionDepth: 0
    functionLinenumber: 7115
    functionLinenumberEnd: 7149
    functionName: HttpTransact::get_max_age
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - HTTPHdr*::get_cooked_cc_mask
    - HTTPHdr*::get_cooked_cc_s_maxage
    - HTTPHdr*::get_cooked_cc_max_age
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int HttpTransact::get_max_age(HTTPHdr *response)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::get_max_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7158,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7163,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7163,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7163,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7164,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7167,1
    - Dst: HTTPHdr*::get_expires
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7168,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7175,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7178,1
    - Dst: State*::state_machine::get_cache_sm
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7181,1
    - Dst: HttpCacheSM::is_readwhilewrite_inprogress
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7184,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7187,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7189,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7191,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7194,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7194,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7194,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7197,1
    - Dst: HTTPHdr*::get_last_modified
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7199,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7200,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7206,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7215,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7216,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7217,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7222,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7228,1
    - Dst: static_cast<MgmtInt>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7228,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7233,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7234,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7244,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 4
    argNames:
    - s
    - response
    - response_date
    - heuristic
    argTypes:
    - State*
    - HTTPHdr*
    - time_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7247
      start: 7151
    functionDepth: 1
    functionLinenumber: 7151
    functionLinenumberEnd: 7247
    functionName: HttpTransact::calculate_document_freshness_limit
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<MgmtInt>
    - TxnDbg
    - HttpTransact::get_max_age
    - HTTPHdr*::presence
    - HTTPHdr*::get_expires
    - min
    - max
    - State*::state_machine::get_cache_sm
    - HTTPHdr*::get_last_modified
    - HttpCacheSM::is_readwhilewrite_inprogress
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpTransact::calculate_document_freshness_limit(State *s, HTTPHdr
      *response, time_t response_date, bool *heuristic)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7272,1
    - Dst: HttpTransact::is_stale_cache_response_returnable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7273,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7274,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7289,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7297,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7304,1
    - Dst: HTTPHdr*::get_date
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7308,1
    - Dst: HttpTransact::calculate_document_freshness_limit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7309,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7310,1
    - Dst: HttpTransactCache::calculate_document_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7312,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7322,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7322,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7324,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7324,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7327,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7329,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7331,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7338,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7343,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7346,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7349,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7350,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7367,1
    - Dst: HTTPHdr*::get_cooked_cc_mask
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7369,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7377,1
    - Dst: HTTPHdr*::get_cooked_cc_max_stale
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7379,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7386,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7393,1
    - Dst: HTTPHdr*::get_cooked_cc_min_fresh
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7393,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7394,1
    - Dst: HTTPHdr*::get_cooked_cc_max_age
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7400,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7404,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7405,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7419,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7422,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7423,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7424,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7425,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7426,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7427,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7433,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7438,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7442,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7446,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 3
    argNames:
    - s
    - client_request
    - cached_obj_response
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7449
      start: 7262
    functionDepth: 3
    functionLinenumber: 7262
    functionLinenumberEnd: 7449
    functionName: HttpTransact::what_is_document_freshness
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::get_cooked_cc_mask
    - static_cast<time_t>
    - TxnDbg
    - HTTPHdr*::url_get
    - HTTPHdr*::presence
    - HTTPHdr*::get_cooked_cc_max_stale
    - ink_assert
    - HttpTransact::calculate_document_freshness_limit
    - min
    - max
    - HTTPHdr*::get_date
    - HttpTransact::is_stale_cache_response_returnable
    - HttpTransactCache::calculate_document_age
    - HTTPHdr*::get_cooked_cc_min_fresh
    - HTTPHdr*::get_cooked_cc_max_age
    - static_cast<MgmtByte>
    linkageType: ''
    returnType: HttpTransact::Freshness_t
    signature: HttpTransact::Freshness_t HttpTransact::what_is_document_freshness(State
      *s, HTTPHdr *client_request, HTTPHdr *cached_obj_response)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7481,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7482,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7482,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7483,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7483,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7485,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7485,1
    - Dst: HTTPHdr*::is_cache_control_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7487,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7487,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7490,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7490,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7497,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - p
    - client_request
    - obj_response
    argTypes:
    - OverridableHttpConfigParams*
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7502
    functionName: HttpTransact::AuthenticationNeeded
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - HTTPHdr*::is_cache_control_set
    - HTTPHdr*::presence
    - c_str
    - HTTPHdr*::field_find
    - HTTPHdr*::method_get_wksidx
    linkageType: ''
    returnType: HttpTransact::Authentication_t
    signature: HttpTransact::Authentication_t HttpTransact::AuthenticationNeeded(const
      OverridableHttpConfigParams *p, HTTPHdr *client_request, HTTPHdr *obj_response)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7507,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7511,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7514,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7517,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7520,1
    - Dst: TRANSACT_RETURN
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7523
      start: 7504
    functionDepth: 1
    functionLinenumber: 7504
    functionLinenumberEnd: 7523
    functionName: HttpTransact::handle_parent_down
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 6
    functionsReached:
    - TRANSACT_RETURN
    - HttpTransact::build_error_response
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_parent_down(State *s)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7538,1
    - Dst: HttpTransact::get_error_string
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7545,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7560,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7568,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7589,1
    - Dst: HttpTransact::build_error_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7631,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7634
      start: 7525
    functionDepth: 1
    functionLinenumber: 7525
    functionLinenumberEnd: 7634
    functionName: HttpTransact::handle_server_down
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 2
    functionsReached:
    - HttpTransact::get_error_string
    - ink_release_assert
    - HttpTransact::build_error_response
    - TxnDbg
    linkageType: ''
    returnType: void
    signature: void HttpTransact::handle_server_down(State *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7643,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - s
    - request
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7648
      start: 7639
    functionDepth: 0
    functionLinenumber: 7639
    functionLinenumberEnd: 7648
    functionName: HttpTransact::is_request_likely_cacheable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::presence
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_request_likely_cacheable(State *s, HTTPHdr *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - CacheLookupResult_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7654
      start: 7650
    functionDepth: 0
    functionLinenumber: 7650
    functionLinenumberEnd: 7654
    functionName: HttpTransact::is_fresh_cache_hit
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_fresh_cache_hit(CacheLookupResult_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::is_fresh_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - CacheLookupResult_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7660
      start: 7656
    functionDepth: 1
    functionLinenumber: 7656
    functionLinenumberEnd: 7660
    functionName: HttpTransact::is_cache_hit
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 4
    functionsReached:
    - HttpTransact::is_fresh_cache_hit
    linkageType: ''
    returnType: bool
    signature: bool HttpTransact::is_cache_hit(CacheLookupResult_t r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7674,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7675,1
    - Dst: HttpTransactHeaders::normalize_accept_encoding
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7682,1
    - Dst: HttpTransactHeaders::copy_header_fields
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7685,1
    - Dst: HttpTransact::add_client_ip_to_outgoing_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7686,1
    - Dst: HttpTransactHeaders::add_forwarded_field_to_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7687,1
    - Dst: HttpTransactHeaders::remove_privacy_headers_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7688,1
    - Dst: HttpTransactHeaders::add_global_user_agent_header_to_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7689,1
    - Dst: HttpTransact::handle_request_keep_alive_headers
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7690,1
    - Dst: HttpTransactHeaders::insert_via_header_in_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7700,1
    - Dst: HTTPHdr*::version_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7705,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7708,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7711,1
    - Dst: URL*::fragment_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7714,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7717,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7718,1
    - Dst: URL*::port_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7722,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7723,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7724,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7724,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7725,1
    - Dst: alloca
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7725,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7726,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7726,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7727,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7728,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7728,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7729,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7731,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7731,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7736,1
    - Dst: HTTPHdr*::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7738,1
    - Dst: parent_is_proxy
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7739,1
    - Dst: HTTPHdr*::is_target_in_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7741,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7742,1
    - Dst: HTTPHdr*::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7743,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7749,1
    - Dst: HttpTransactHeaders::remove_host_name_from_url
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7750,1
    - Dst: State*::unmapped_url::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7755,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7756,1
    - Dst: HttpTransact::is_request_likely_cacheable
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7765,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7767,1
    - Dst: HttpTransactHeaders::remove_conditional_headers
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7768,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7770,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7775,1
    - Dst: HttpTransactHeaders::remove_100_continue_headers
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7780,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7781,1
    - Dst: HTTPHdr*::is_early_data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7784,1
    - Dst: HTTPHdr*::value_set_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7785,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7785,1
    - Dst: ink_local_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7788,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7792,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7794,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7795,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7795,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7797,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 4
    argNames:
    - s
    - base_request
    - outgoing_request
    - outgoing_version
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7798
      start: 7662
    functionDepth: 3
    functionLinenumber: 7662
    functionLinenumberEnd: 7798
    functionName: HttpTransact::build_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - memcpy
    - HttpTransact::add_client_ip_to_outgoing_request
    - HTTPHdr*::url_get
    - HTTPHdr*::is_early_data
    - alloca
    - snprintf
    - ink_local_time
    - url_canonicalize_port
    - HTTPHdr*::version_set
    - HttpTransactHeaders::add_forwarded_field_to_request
    - HttpTransactHeaders::remove_100_continue_headers
    - dump_header
    - ts::Metrics::Counter::increment
    - HttpTransactHeaders::copy_header_fields
    - static_cast<char *>
    - HTTPHdr*::value_set_int
    - URL*::host_get
    - parent_is_proxy
    - auto::data
    - HttpTransactHeaders::remove_host_name_from_url
    - HTTPHdr*::method_get_wksidx
    - static_cast<int>
    - HttpTransactHeaders::normalize_accept_encoding
    - State*::state_machine_id
    - auto::length
    - static_cast<std::string_view>
    - HTTPHdr*::set_url_target_from_host_field
    - State*::unmapped_url::host_get
    - HttpTransact::is_request_likely_cacheable
    - URL*::valid
    - HttpTransactHeaders::insert_via_header_in_request
    - HttpTransactHeaders::remove_privacy_headers_from_request
    - HttpTransactHeaders::remove_conditional_headers
    - ink_assert
    - HTTPHdr*::value_set
    - TxnDbg
    - HttpTransact::handle_request_keep_alive_headers
    - HTTPHdr*::presence
    - URL*::fragment_set
    - static_cast<std::string_view::size_type>
    - HTTPHdr*::is_target_in_url
    - HttpTransactHeaders::add_global_user_agent_header_to_request
    - URL*::port_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_request(State *s, HTTPHdr *base_request, HTTPHdr
      *outgoing_request, HTTPVersion outgoing_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - base_response
    - outgoing_response
    - outgoing_version
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7807
      start: 7802
    functionDepth: 1
    functionLinenumber: 7802
    functionLinenumberEnd: 7807
    functionName: HttpTransact::build_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 10
    functionsReached:
    - HttpTransact::build_response
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_response(State *s, HTTPHdr *base_response,
      HTTPHdr *outgoing_response, HTTPVersion outgoing_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - s
    - outgoing_response
    - outgoing_version
    - status_code
    - reason_phrase
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPVersion
    - HTTPStatus
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7815
      start: 7809
    functionDepth: 1
    functionLinenumber: 7809
    functionLinenumberEnd: 7815
    functionName: HttpTransact::build_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 11
    functionsReached:
    - HttpTransact::build_response
    linkageType: ''
    returnType: void
    signature: "void HttpTransact::build_response(State *s, HTTPHdr *outgoing_response,
      HTTPVersion outgoing_version, HTTPStatus status_code,\n                             const
      char *reason_phrase)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7823,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7824,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7824,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7825,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7826,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7827,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7828,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7828,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7833,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7834,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7834,1
    - Dst: HttpTransactHeaders::build_base_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7839,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7839,1
    - Dst: HTTPHdr*::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7841,1
    - Dst: HttpTransactHeaders::copy_header_fields
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7842,1
    - Dst: HttpTransactHeaders::insert_time_and_age_headers_in_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7845,1
    - Dst: HttpTransact::handle_content_length_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7855,1
    - Dst: HttpTransactHeaders::build_base_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7859,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7859,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7874,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7875,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7876,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7877,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7878,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7881,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7882,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7885,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7886,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7887,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7888,1
    - Dst: MIMEField*::has_dups
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7889,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7892,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7893,1
    - Dst: HttpTransactHeaders::build_base_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7905,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7905,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7919,1
    - Dst: HttpTransact::handle_response_keep_alive_headers
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7923,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7932,1
    - Dst: HttpTransactHeaders::insert_hsts_header_in_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7933,1
    - Dst: HttpTransactHeaders::insert_via_header_in_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7937,1
    - Dst: HTTPHdr*::reason_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7943,1
    - Dst: HttpTransactHeaders::convert_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7946,1
    - Dst: response_url_remap
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7950,1
    - Dst: HttpTransactHeaders::generate_and_set_squid_codes
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7953,1
    - Dst: HttpTransactHeaders::add_server_header_to_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7956,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7958,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7958,1
    - Dst: HttpTransactHeaders::add_connection_close
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7959,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7962,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7964,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7964,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7967,1
    - Dst: State*::state_machine_id
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:7967,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 6
    argNames:
    - s
    - base_response
    - outgoing_response
    - outgoing_version
    - status_code
    - reason_phrase
    argTypes:
    - State*
    - HTTPHdr*
    - HTTPHdr*
    - HTTPVersion
    - HTTPStatus
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7971
      start: 7817
    functionDepth: 3
    functionLinenumber: 7817
    functionLinenumberEnd: 7971
    functionName: HttpTransact::build_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 11
    functionsReached:
    - response_url_remap
    - HTTPHdr*::reason_get
    - HttpTransactHeaders::add_server_header_to_response
    - HttpTransact::handle_response_keep_alive_headers
    - MIMEField*::value_get
    - HttpTransactHeaders::insert_time_and_age_headers_in_response
    - dump_header
    - HTTPHdr*::value_append
    - HttpTransactHeaders::copy_header_fields
    - HttpTransactHeaders::convert_response
    - countof
    - static_cast<int>
    - State*::state_machine_id
    - HttpTransactHeaders::insert_hsts_header_in_response
    - HttpTransactHeaders::build_base_response
    - static_cast<std::string_view>
    - Dbg
    - HttpTransactHeaders::add_connection_close
    - strlen
    - http_hdr_reason_lookup
    - HttpTransactHeaders::insert_via_header_in_response
    - is_response_body_precluded
    - ink_assert
    - TxnDbg
    - 'on'
    - HTTPHdr*::presence
    - State*::state_machine::get_ua_txn
    - HTTPHdr*::status_get
    - HttpTransactHeaders::generate_and_set_squid_codes
    - MIMEField*::has_dups
    - HttpTransact::handle_content_length_header
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: void
    signature: "void HttpTransact::build_response(State *s, HTTPHdr *base_response,
      HTTPHdr *outgoing_response, HTTPVersion outgoing_version,\n                             HTTPStatus
      status_code, const char *reason_phrase)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::initialize_state_variables_from_request
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8010,1
    - Dst: State*::hdr_info::client_request::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8018,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8029,1
    - Dst: State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8029,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8042,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8045,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8049,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8052,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8055,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8058,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8059,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8062,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8063,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8067,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8069,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8073,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8076,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8077,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8080,1
    - Dst: SET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8081,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8088,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8088,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8089,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8095,1
    - Dst: State*::hdr_info::client_response::value_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8100,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8100,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8101,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8102,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8102,1
    - Dst: State*::hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8113,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8113,1
    - Dst: State*::hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8115,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8115,1
    - Dst: State*::hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8116,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8116,1
    - Dst: State*::hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8121,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8121,1
    - Dst: fabricate_with_old_api
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8134,1
    - Dst: State*::free_internal_msg_buffer
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8140,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8143,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8143,1
    - Dst: State*::hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8150,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8150,1
    - Dst: State*::hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8151,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8151,1
    - Dst: State*::hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8153,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8153,1
    - Dst: State*::hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8154,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8154,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 99
    argCount: 4
    argNames:
    - s
    - status_code
    - reason_phrase_or_null
    - error_body_type
    argTypes:
    - State*
    - HTTPStatus
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8159
      start: 8000
    functionDepth: 2
    functionLinenumber: 8000
    functionLinenumberEnd: 8159
    functionName: HttpTransact::build_error_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 22
    functionsReached:
    - State*::free_internal_msg_buffer
    - State*::hdr_info::client_response::value_set
    - fabricate_with_old_api
    - State*::hdr_info::client_request::get_content_length
    - HttpTransact::initialize_state_variables_from_request
    - ats_free_null
    - State*::hdr_info::client_response::field_delete
    - SET_VIA_STRING
    - static_cast<char *>
    - HttpTransact::build_response
    - unlikely
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - State*::hdr_info::client_response::value_get
    - http_hdr_reason_lookup
    - const_cast<char *>
    - State*::state_machine::get_ua_txn
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_error_response(State *s, HTTPStatus status_code,
      const char *reason_phrase_or_null, const char *error_body_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8164,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8171,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8171,1
    - Dst: HttpTransact::build_response
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8173,1
    - Dst: State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8180,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8181,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8182,1
    - Dst: URL*::string_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8183,1
    - Dst: assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8184,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8190,1
    - Dst: HTTPHdr*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8199,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8201,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8203,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8203,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8204,1
    - Dst: State*::free_internal_msg_buffer
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8209,1
    - Dst: getFormat
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8212,1
    - Dst: HTTPHdr*::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8216,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8217,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8217,1
    - Dst: State*::arena::str_free
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts:
    - condition: (to_free != nullptr)
      pos:
        line_end: 8183
        line_start: 8183
        source_file: /src/trafficserver/src/proxy/http/HttpTransact.cc
    constantsTouched: []
    func_position:
      end: 8220
      start: 8161
    functionDepth: 2
    functionLinenumber: 8161
    functionLinenumberEnd: 8220
    functionName: HttpTransact::build_redirect_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::value_append
    - HTTPHdr*::value_set
    - URL*::host_set
    - static_cast<std::string_view>
    - TxnDbg
    - HTTPHdr*::set_content_length
    - State*::arena::str_free
    - const_cast<char *>
    - State*::free_internal_msg_buffer
    - static_cast<std::string_view::size_type>
    - State*::hdr_info::client_request::url_get
    - getFormat
    - URL*::host_get
    - URL*::string_get
    - HttpTransact::build_response
    - http_hdr_reason_lookup
    - assert
    linkageType: ''
    returnType: void
    signature: void HttpTransact::build_redirect_response(State *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - erno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8249
      start: 8222
    functionDepth: 0
    functionLinenumber: 8222
    functionLinenumberEnd: 8249
    functionName: HttpTransact::get_error_string
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpTransact::get_error_string(int erno)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8255
      start: 8251
    functionDepth: 1
    functionLinenumber: 8251
    functionLinenumberEnd: 8255
    functionName: ink_local_time
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 5
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: ink_time_t
    signature: ink_time_t ink_local_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8265
      start: 8261
    functionDepth: 1
    functionLinenumber: 8261
    functionLinenumberEnd: 8265
    functionName: HttpTransact::milestone_start_api_time
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void HttpTransact::milestone_start_api_time(State *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: State*::state_machine::milestone_update_api_time
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8271
      start: 8267
    functionDepth: 0
    functionLinenumber: 8267
    functionLinenumberEnd: 8271
    functionName: HttpTransact::milestone_update_api_time
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - State*::state_machine::milestone_update_api_time
    linkageType: ''
    returnType: void
    signature: void HttpTransact::milestone_update_api_time(State *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8277,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8277,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8277,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8278,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8281,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8283,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8285,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8287,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8289,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8291,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8293,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8295,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8297,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8299,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - transfer_time
    - nbytes
    argTypes:
    - ink_hrtime
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8304
      start: 8273
    functionDepth: 1
    functionLinenumber: 8273
    functionLinenumberEnd: 8304
    functionName: HttpTransact::origin_server_connection_speed
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - static_cast<float>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void HttpTransact::origin_server_connection_speed(ink_hrtime transfer_time,
      int64_t nbytes)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8310,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8310,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8310,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8311,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8314,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8316,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8318,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8320,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8322,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8324,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8326,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8328,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8330,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8332,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - transfer_time
    - nbytes
    argTypes:
    - ink_hrtime
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8336
      start: 8306
    functionDepth: 1
    functionLinenumber: 8306
    functionLinenumberEnd: 8336
    functionName: HttpTransact::user_agent_connection_speed
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - static_cast<float>
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void HttpTransact::user_agent_connection_speed(ink_hrtime transfer_time,
      int64_t nbytes)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: State*::hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8350,1
    - Dst: State*::hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8351,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8360,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8365,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8370,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8375,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8380,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8385,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8390,1
    - Dst: GET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8395,1
    - Dst: GET_VIA_STRING
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8395,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8396,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8400,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8406,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8411,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8416,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8421,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8452,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8454,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8457,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8460,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8463,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8466,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8469,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8472,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8475,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8478,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8481,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8484,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8487,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8490,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8493,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8496,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8499,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8502,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8505,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8508,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8511,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8514,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8517,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8520,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8523,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8526,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8529,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8532,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8535,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8538,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8541,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8544,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8547,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8550,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8553,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8556,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8559,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8562,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8565,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8568,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8571,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8576,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8578,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8581,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8584,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8587,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8590,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8598,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8601,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8602,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8605,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8606,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8607,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8608,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8611,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8612,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8615,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8616,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8619,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8620,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8623,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8624,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8627,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8628,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8631,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8632,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8635,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8636,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8639,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8640,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8643,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8644,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8647,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8648,1
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8650,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 264
    argCount: 3
    argNames:
    - s
    - total_time
    - request_process_time
    argTypes:
    - State*
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8653
      start: 8341
    functionDepth: 1
    functionLinenumber: 8341
    functionLinenumberEnd: 8653
    functionName: HttpTransact::client_result_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - GET_VIA_STRING
    - TxnDbg
    - ink_hrtime_to_msec
    - State*::hdr_info::client_response::valid
    - State*::hdr_info::client_response::status_get
    linkageType: ''
    returnType: void
    signature: void HttpTransact::client_result_stat(State *s, ink_hrtime total_time,
      ink_hrtime request_process_time)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8676,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8676,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8677,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8686,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8693,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8702,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8703,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8704,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8707,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8708,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8709,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8712,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8713,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8714,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8717,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8718,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8719,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8722,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8723,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8724,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8727,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8728,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8729,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8732,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8733,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8734,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8737,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8738,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8739,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8742,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8743,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8744,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8747,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8748,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8749,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8752,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8753,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8754,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8757,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8758,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8759,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8764,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8767,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8768,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8769,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8770,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8774,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8776,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8778,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8783,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8784,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8785,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8786,1
    - Dst: HttpTransact::user_agent_connection_speed
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8790,1
    - Dst: HttpTransact::origin_server_connection_speed
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8794,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8798,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8799,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8803,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8803,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8804,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8805,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8806,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8807,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8808,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8809,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8810,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8810,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8811,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8812,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8813,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8814,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8815,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8816,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8817,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8818,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8819,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8820,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8821,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8822,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8823,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8824,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8825,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8826,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8827,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8828,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8829,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8830,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8831,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8832,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8833,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8834,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8835,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8836,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8837,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8837,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8838,1
    - Dst: TransactionMilestones::difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8839,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 130
    argCount: 15
    argNames:
    - s
    - total_time
    - user_agent_write_time
    - origin_server_read_time
    - user_agent_request_header_size
    - user_agent_request_body_size
    - user_agent_response_header_size
    - user_agent_response_body_size
    - origin_server_request_header_size
    - origin_server_request_body_size
    - origin_server_response_header_size
    - origin_server_response_body_size
    - pushed_response_header_size
    - pushed_response_body_size
    - milestones
    argTypes:
    - State*
    - ink_hrtime
    - ink_hrtime
    - ink_hrtime
    - int
    - int64_t
    - int
    - int64_t
    - int
    - int64_t
    - int
    - int64_t
    - int
    - int64_t
    - TransactionMilestones
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8840
      start: 8655
    functionDepth: 2
    functionLinenumber: 8655
    functionLinenumberEnd: 8840
    functionName: HttpTransact::update_size_and_time_stats
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - TransactionMilestones::difference_msec
    - ts::Metrics::Counter::increment
    - HttpTransact::user_agent_connection_speed
    - HttpTransact::origin_server_connection_speed
    - max
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: "void HttpTransact::update_size_and_time_stats(State *s, ink_hrtime
      total_time, ink_hrtime user_agent_write_time,\n                                         ink_hrtime
      origin_server_read_time, int user_agent_request_header_size,\n                                         int64_t
      user_agent_request_body_size, int user_agent_response_header_size,\n                                         int64_t
      user_agent_response_body_size, int origin_server_request_header_size,\n                                         int64_t
      origin_server_request_body_size, int origin_server_response_header_size,\n                                         int64_t
      origin_server_response_body_size, int pushed_response_header_size,\n                                         int64_t
      pushed_response_body_size, const TransactionMilestones &milestones)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8845,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8846,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8846,1
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8850,1
    - Dst: HdrCsvIter::get_first_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8854,1
    - Dst: HdrCsvIter::get_first_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8860,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8863,1
    - Dst: HdrCsvIter::get_current
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8864,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8866,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8866,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8866,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8868,1
    - Dst: HTTPHdr*::field_value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8869,1
    - Dst: HdrCsvIter::get_next_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8872,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8875,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8875,1
    - Dst: MIMEField*::name_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8877,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8877,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8878,1
    - Dst: HdrCsvIter::get_next_int
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - to_warn
    - warning_code
    argTypes:
    - HTTPHdr*
    - HTTPWarningCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8886
      start: 8842
    functionDepth: 1
    functionLinenumber: 8842
    functionLinenumberEnd: 8886
    functionName: HttpTransact::delete_warning_value
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - static_cast<std::string_view>
    - MIMEField*::value_append
    - HdrCsvIter::get_first_int
    - auto::size
    - HTTPHdr*::field_delete
    - HdrCsvIter::HdrCsvIter
    - HdrCsvIter::get_current
    - auto::data
    - HdrCsvIter::get_next_int
    - HTTPHdr*::field_find
    - HTTPHdr*::field_value_set
    - MIMEField*::name_set
    linkageType: ''
    returnType: void
    signature: void HttpTransact::delete_warning_value(HTTPHdr *to_warn, HTTPWarningCode
      warning_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TxnDbg
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8894,1
    - Dst: HTTPHdr*::status_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8896,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8897,1
    - Dst: http_hdr_reason_lookup
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8897,1
    - Dst: HTTPHdr*::reason_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8898,1
    - Dst: HTTPHdr*::field_find
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8902,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8902,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8905,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8905,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8908,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8908,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8909,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8911,1
    - Dst: HTTPHdr*::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8914,1
    - Dst: State*::cache_info::object_read::valid
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8916,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8922,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8922,1
    - Dst: HTTPHdr*::field_create
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8923,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8923,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8924,1
    - Dst: State*::cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8925,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8926,1
    - Dst: HTTPHdr*::field_attach
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8927,1
    - Dst: HTTPHdr*::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - s
    - header
    argTypes:
    - State*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8932
      start: 8888
    functionDepth: 2
    functionLinenumber: 8888
    functionLinenumberEnd: 8932
    functionName: HttpTransact::change_response_header_because_of_range_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 1
    functionsReached:
    - HTTPHdr*::field_create
    - HTTPHdr*::field_attach
    - State*::cache_info::object_read::valid
    - static_cast<std::string_view>
    - TxnDbg
    - MIMEField*::value_append
    - HTTPHdr*::set_content_length
    - const_cast<char *>
    - HTTPHdr*::field_delete
    - State*::cache_info::object_read::object_size_get
    - snprintf
    - MIMEField*::value_set
    - HTTPHdr*::reason_set
    - http_hdr_reason_lookup
    - HTTPHdr*::status_set
    - HTTPHdr*::field_find
    linkageType: ''
    returnType: void
    signature: void HttpTransact::change_response_header_because_of_range_request(State
      *s, HTTPHdr *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forceLinkRegressionHttpTransact
      Src: /src/trafficserver/src/proxy/http/HttpTransact.cc:8939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8940
      start: 8936
    functionDepth: 1
    functionLinenumber: 8936
    functionLinenumberEnd: 8940
    functionName: forceLinkRegressionHttpTransactCaller
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTransact.cc
    functionUses: 0
    functionsReached:
    - forceLinkRegressionHttpTransact
    linkageType: ''
    returnType: void
    signature: void forceLinkRegressionHttpTransactCaller()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerSessionPool::ServerSessionPool
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: initialize_thread_for_http_sessions
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - ServerSessionPool::ServerSessionPool
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_http_sessions(EThread *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:56,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:58,1
    - Dst: set_expansion_policy
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:59,1
    - Dst: set_expansion_policy
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ServerSessionPool::ServerSessionPool
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    - set_expansion_policy
    linkageType: ''
    returnType: void
    signature: void ServerSessionPool::ServerSessionPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:68,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:68,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:69,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ServerSessionPool::purge
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - do_io_close
    - apply
    - clear
    linkageType: ''
    returnType: void
    signature: void ServerSessionPool::purge()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:79,1
    - Dst: PoolableSession*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:79,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:82,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:82,1
    - Dst: PoolableSession*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ss
    - addr
    - hostname_hash
    - match_style
    argTypes:
    - PoolableSession*
    - sockaddr*
    - CryptoHash
    - TSServerSessionSharingMatchMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: ServerSessionPool::match
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - ats_ip_port_cast
    - ats_ip_addr_port_eq
    - PoolableSession*::get_remote_addr
    linkageType: ''
    returnType: bool
    signature: "bool ServerSessionPool::match(PoolableSession *ss, sockaddr const
      *addr, CryptoHash const &hostname_hash,\n                         TSServerSessionSharingMatchMask
      match_style)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:96,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:97,1
    - Dst: HttpSM*::t_state::hdr_info::server_request::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:101,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:102,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:102,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:102,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:103,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:103,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:103,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - netvc
    argTypes:
    - HttpSM*
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: ServerSessionPool::validate_host_sni
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - strncasecmp
    - Dbg
    - NetVConnection*::get_service
    - auto::data
    - auto::get_sni_server_name
    - HttpSM*::t_state::hdr_info::server_request::host_get
    linkageType: ''
    returnType: bool
    signature: bool ServerSessionPool::validate_host_sni(HttpSM *sm, NetVConnection
      *netvc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:121,1
    - Dst: auto::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:122,1
    - Dst: HttpSM*::get_outbound_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:124,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:124,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:124,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:124,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:126,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:127,1
    - Dst: std::string_view::compare
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - netvc
    argTypes:
    - HttpSM*
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: ServerSessionPool::validate_sni
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::length
    - Dbg
    - NetVConnection*::get_service
    - HttpSM*::get_outbound_sni
    - std::string_view::compare
    - auto::get_sni_server_name
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool ServerSessionPool::validate_sni(HttpSM *sm, NetVConnection *netvc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM*::get_outbound_cert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:148,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:148,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:148,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:148,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:150,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:151,1
    - Dst: std::string_view::compare
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - netvc
    argTypes:
    - HttpSM*
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: ServerSessionPool::validate_cert
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpSM*::get_outbound_cert
    - std::string_view::length
    - Dbg
    - std::string_view::compare
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool ServerSessionPool::validate_cert(HttpSM *sm, NetVConnection *netvc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:167,1
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:167,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:170,1
    - Dst: equal_range
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:171,1
    - Dst: std::make_reverse_iterator
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:172,1
    - Dst: auto::end
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:172,1
    - Dst: std::make_reverse_iterator
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:173,1
    - Dst: auto::begin
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:173,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:175,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:175,1
    - Dst: auto::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:175,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:176,1
    - Dst: auto::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:176,1
    - Dst: ServerSessionPool::validate_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:177,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:177,1
    - Dst: ServerSessionPool::validate_host_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:178,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:178,1
    - Dst: ServerSessionPool::validate_cert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:179,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:179,1
    - Dst: PoolableSession*::is_multiplexing
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:187,1
    - Dst: ServerSessionPool::removeSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:188,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:191,1
    - Dst: equal_range
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:194,1
    - Dst: std::make_reverse_iterator
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:196,1
    - Dst: auto::end
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:196,1
    - Dst: std::make_reverse_iterator
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:197,1
    - Dst: auto::begin
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:197,1
    - Dst: ServerSessionPool::validate_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:204,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:204,1
    - Dst: ServerSessionPool::validate_host_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:205,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:205,1
    - Dst: ServerSessionPool::validate_cert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:206,1
    - Dst: auto::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:206,1
    - Dst: PoolableSession*::is_multiplexing
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:217,1
    - Dst: ServerSessionPool::removeSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:218,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    argCount: 5
    argNames:
    - addr
    - hostname_hash
    - match_style
    - sm
    - to_return
    argTypes:
    - sockaddr*
    - CryptoHash
    - TSServerSessionSharingMatchMask
    - HttpSM*
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 223
    functionName: ServerSessionPool::acquireSession
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - ServerSessionPool::validate_sni
    - ServerSessionPool::validate_cert
    - equal_range
    - PoolableSession*::is_multiplexing
    - auto::begin
    - Dbg
    - auto::get_netvc
    - ServerSessionPool::validate_host_sni
    - ServerSessionPool::removeSession
    - ats_ip_port_cast
    - ServerSessionPool::count
    - std::make_reverse_iterator
    - auto::get_remote_addr
    linkageType: ''
    returnType: HSMresult_t
    signature: "HSMresult_t ServerSessionPool::acquireSession(sockaddr const *addr,
      CryptoHash const &hostname_hash,\n                                  TSServerSessionSharingMatchMask
      match_style, HttpSM *sm, PoolableSession *&to_return)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PoolableSession*::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:235,1
    - Dst: PoolableSession*::get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:235,1
    - Dst: PoolableSession*::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:238,1
    - Dst: PoolableSession*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:240,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:240,1
    - Dst: PoolableSession*::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:241,1
    - Dst: ServerSessionPool::addSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:244,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:246,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ss
    argTypes:
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: ServerSessionPool::releaseSession
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - PoolableSession*::do_io_read
    - PoolableSession*::do_io_write
    - PoolableSession*::connection_id
    - PoolableSession*::get_netvc
    - Dbg
    - PoolableSession*::set_inactivity_timeout
    - ServerSessionPool::addSession
    - PoolableSession*::get_remote_reader
    - PoolableSession*::cancel_active_timeout
    linkageType: ''
    returnType: void
    signature: void ServerSessionPool::releaseSession(PoolableSession *ss)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:270,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:270,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:274,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:278,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:281,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:281,1
    - Dst: auto::_ip_link::equal
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:281,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:282,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:293,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:296,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:296,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:297,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:297,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:305,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:305,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:306,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:307,1
    - Dst: ServerSessionPool::removeSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:309,1
    - Dst: PoolableSession*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:311,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:320,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:323,1
    - Dst: UnixNetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:323,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:325,1
    - Dst: UnixNetVConnection*::get_fd
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:325,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:328,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 331
    functionName: ServerSessionPool::eventHandler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - PoolableSession*::connection_id
    - UnixNetVConnection*::get_remote_addr
    - PoolableSession*::do_io_close
    - get_netvc
    - PoolableSession*::get_netvc
    - ServerSessionPool::removeSession
    - Warning
    - ink_release_assert
    - HttpDebugNames::get_event_name
    - find
    - ats_ip_nptop
    - end
    - Dbg
    - NetVConnection*::get_remote_addr
    - static_cast<VIO *>
    - ink_assert
    - dynamic_cast<UnixNetVConnection *>
    - static_cast<NetVConnection *>
    - auto::_ip_link::equal
    - UnixNetVConnection*::get_fd
    linkageType: ''
    returnType: int
    signature: int ServerSessionPool::eventHandler(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerSessionPool::ServerSessionPool
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:336,1
    - Dst: schedule_spawn
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: HttpSessionManager::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - ServerSessionPool::ServerSessionPool
    - schedule_spawn
    linkageType: ''
    returnType: void
    signature: void HttpSessionManager::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:345,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:347,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:348,1
    - Dst: purge
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: HttpSessionManager::purge_keepalives
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - is_locked
    - purge
    - MUTEX_TRY_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HttpSessionManager::purge_keepalives()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSServerSessionSharingMatchMask>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:358,1
    - Dst: CryptoContext
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:362,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:362,1
    - Dst: ProxyTransaction*::get_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:366,1
    - Dst: ProxyTransaction*::attach_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:368,1
    - Dst: ServerSessionPool::match
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:374,1
    - Dst: ServerSessionPool::validate_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:376,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:376,1
    - Dst: ServerSessionPool::validate_host_sni
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:378,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:378,1
    - Dst: ServerSessionPool::validate_cert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:380,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:380,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:381,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:381,1
    - Dst: HttpSM*::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:388,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:391,1
    - Dst: PoolableSession*::release
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:392,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:397,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:398,1
    - Dst: HttpSessionManager::_acquire_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:399,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:404,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:405,1
    - Dst: HttpSessionManager::_acquire_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:406,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:407,1
    - Dst: HttpSessionManager::_acquire_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - sm
    - ip
    - hostname
    - ua_txn
    argTypes:
    - HttpSM*
    - sockaddr*
    - char*
    - ProxyTransaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 412
    functionName: HttpSessionManager::acquire_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - ServerSessionPool::validate_cert
    - PoolableSession*::release
    - HttpSessionManager::_acquire_session
    - PoolableSession*::connection_id
    - ServerSessionPool::match
    - PoolableSession*::get_netvc
    - ServerSessionPool::validate_host_sni
    - Dbg
    - strlen
    - CryptoContext
    - HttpSessionManager::get_pool_type
    - static_cast<TSServerSessionSharingMatchMask>
    - ProxyTransaction*::get_server_session
    - ProxyTransaction*::attach_server_session
    - ServerSessionPool::validate_sni
    - HttpSM*::create_server_txn
    linkageType: ''
    returnType: HSMresult_t
    signature: HSMresult_t HttpSessionManager::acquire_session(HttpSM *sm, sockaddr
      const *ip, const char *hostname, ProxyTransaction *ua_txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:425,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:426,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:429,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:430,1
    - Dst: MutexTryLock*::is_locked
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mutex
    - ethread
    - pool_type
    - mlock
    - tlock
    argTypes:
    - Ptr<ProxyMutex>
    - EThread*
    - TSServerSessionSharingPoolType
    - MutexLock*
    - MutexTryLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: lockSessionPool
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - MutexTryLock*::is_locked
    - std::move
    - SCOPED_MUTEX_LOCK
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool lockSessionPool(Ptr<ProxyMutex> &mutex, EThread *const ethread,
      TSServerSessionSharingPoolType const pool_type,\n                MutexLock *const
      mlock, MutexTryLock *const tlock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:425,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:426,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:429,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:430,1
    - Dst: MutexTryLock*::is_locked
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mutex
    - ethread
    - pool_type
    - mlock
    - tlock
    argTypes:
    - Ptr<ProxyMutex>
    - EThread*
    - TSServerSessionSharingPoolType
    - MutexLock*
    - MutexTryLock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: lockSessionPool
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 0
    functionsReached:
    - MutexTryLock*::is_locked
    - std::move
    - SCOPED_MUTEX_LOCK
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: bool
    signature: "bool lockSessionPool(Ptr<ProxyMutex> &mutex, EThread *const ethread,
      TSServerSessionSharingPoolType const pool_type,\n                MutexLock *const
      mlock, MutexTryLock *const tlock)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:450,1
    - Dst: lockSessionPool
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:456,1
    - Dst: EThread*::server_session_pool::acquireSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:460,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:461,1
    - Dst: acquireSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:463,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:464,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:468,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:468,1
    - Dst: UnixNetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:472,1
    - Dst: UnixNetVConnection*::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:473,1
    - Dst: UnixNetVConnection*::migrateToCurrentThread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:474,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:477,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:480,1
    - Dst: PoolableSession*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:481,1
    - Dst: UnixNetVConnection*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:486,1
    - Dst: UnixNetVConnection*::get_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:486,1
    - Dst: PoolableSession*::set_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:487,1
    - Dst: UnixNetVConnection*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:491,1
    - Dst: UnixNetVConnection*::get_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:491,1
    - Dst: HttpSM*::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:501,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:502,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:502,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:506,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:507,1
    - Dst: PoolableSession*::is_multiplexing
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:509,1
    - Dst: PoolableSession*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:510,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 5
    argNames:
    - ip
    - hostname_hash
    - sm
    - match_style
    - pool_type
    argTypes:
    - sockaddr*
    - CryptoHash
    - HttpSM*
    - TSServerSessionSharingMatchMask
    - TSServerSessionSharingPoolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 518
    functionName: HttpSessionManager::_acquire_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 1
    functionsReached:
    - EThread*::server_session_pool::acquireSession
    - UnixNetVConnection*::migrateToCurrentThread
    - PoolableSession*::is_multiplexing
    - PoolableSession*::connection_id
    - PoolableSession*::set_netvc
    - this_ethread
    - UnixNetVConnection*::do_io_write
    - ts::Metrics::Counter::increment
    - lockSessionPool
    - PoolableSession*::do_io_close
    - PoolableSession*::get_netvc
    - HttpSM*::create_server_txn
    - UnixNetVConnection*::do_io_read
    - UnixNetVConnection*::set_inactivity_timeout
    - Dbg
    - acquireSession
    - ink_assert
    - dynamic_cast<UnixNetVConnection *>
    - UnixNetVConnection*::get_inactivity_timeout
    linkageType: ''
    returnType: HSMresult_t
    signature: "HSMresult_t HttpSessionManager::_acquire_session(sockaddr const *ip,
      CryptoHash const &hostname_hash, HttpSM *sm,\n                                     TSServerSessionSharingMatchMask
      match_style, TSServerSessionSharingPoolType pool_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:523,1
    - Dst: lockSessionPool
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:533,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:533,1
    - Dst: ServerSessionPool*::releaseSession
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:536,1
    - Dst: HttpSessionManager::get_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:537,1
    - Dst: HttpSessionManager::release_session
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:540,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:542,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - to_release
    argTypes:
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 549
    functionName: HttpSessionManager::release_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 1
    functionsReached:
    - lockSessionPool
    - ServerSessionPool*::releaseSession
    - PoolableSession*::connection_id
    - HttpSessionManager::release_session
    - Dbg
    - this_ethread
    - HttpSessionManager::get_pool_type
    linkageType: ''
    returnType: HSMresult_t
    signature: HSMresult_t HttpSessionManager::release_session(PoolableSession *to_release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:554,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:555,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:557,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:558,1
    - Dst: PoolableSession*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:558,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:559,1
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:559,1
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:560,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:562,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:563,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:564,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:565,1
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:565,1
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:566,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - to_remove
    argTypes:
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 570
    functionName: ServerSessionPool::removeSession
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 2
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - erase
    - 'on'
    - SCOPED_MUTEX_LOCK
    - ats_ip_nptop
    - Dbg
    - PoolableSession*::get_remote_addr
    - this_ethread
    - ServerSessionPool::count
    linkageType: ''
    returnType: void
    signature: void ServerSessionPool::removeSession(PoolableSession *to_remove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:575,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:576,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:578,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:579,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:581,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:583,1
    - Dst: PoolableSession*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:583,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:584,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:584,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpSessionManager.cc:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ss
    argTypes:
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: ServerSessionPool::addSession
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionManager.cc
    functionUses: 1
    functionsReached:
    - 'on'
    - insert
    - PoolableSession*::connection_id
    - SCOPED_MUTEX_LOCK
    - ats_ip_nptop
    - Dbg
    - PoolableSession*::get_remote_addr
    - this_ethread
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void ServerSessionPool::addSession(PoolableSession *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: BadOptionsErrMsg::BadOptionsErrMsg
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BadOptionsErrMsg(swoc::FixedBufferWriter &err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:49,1
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - badOpt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: BadOptionsErrMsg::add
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - BadOptionsErrMsg::_addQuoted
    linkageType: ''
    returnType: void
    signature: void add(swoc::TextView badOpt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: BadOptionsErrMsg::done
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - BadOptionsErrMsg::_addQuoted
    linkageType: ''
    returnType: bool
    signature: bool done()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: BadOptionsErrMsg::_addQuoted
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _addQuoted(swoc::TextView sv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:101,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:106,1
    - Dst: std::isspace
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:107,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sv
    - target
    argTypes:
    - swoc::TextView
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: eqIgnoreCaseWs
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::size
    - tolower
    - std::isspace
    linkageType: ''
    returnType: bool
    signature: bool eqIgnoreCaseWs(swoc::TextView sv, const char *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: BadOptionsErrMsg::BadOptionsErrMsg
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BadOptionsErrMsg(swoc::FixedBufferWriter &err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:49,1
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - badOpt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: BadOptionsErrMsg::add
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - BadOptionsErrMsg::_addQuoted
    linkageType: ''
    returnType: void
    signature: void add(swoc::TextView badOpt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BadOptionsErrMsg::_addQuoted
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: BadOptionsErrMsg::done
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - BadOptionsErrMsg::_addQuoted
    linkageType: ''
    returnType: bool
    signature: bool done()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: BadOptionsErrMsg::_addQuoted
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _addQuoted(swoc::TextView sv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:101,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:106,1
    - Dst: std::isspace
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:107,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sv
    - target
    argTypes:
    - swoc::TextView
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: eqIgnoreCaseWs
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::size
    - tolower
    - std::isspace
    linkageType: ''
    returnType: bool
    signature: bool eqIgnoreCaseWs(swoc::TextView sv, const char *target)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:134,1
    - Dst: OptionBitSet
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:135,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:141,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:143,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:144,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:146,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:147,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:149,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:150,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:152,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:153,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:155,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:156,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:158,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:159,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:161,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:162,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:164,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:165,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:167,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:168,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:170,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:171,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:173,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:174,1
    - Dst: BadOptionsErrMsg::add
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:177,1
    - Dst: BadOptionsErrMsg::done
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:181,1
    - Dst: OptionBitSet
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - optConfigStr
    - error
    argTypes:
    - std::string_view
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 187
    functionName: HttpForwarded::optStrToBitset
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - BadOptionsErrMsg::add
    - BadOptionsErrMsg::done
    - OptionBitSet::set
    - eqIgnoreCaseWs
    - OptionBitSet
    linkageType: ''
    returnType: OptionBitSet
    signature: OptionBitSet optStrToBitset(std::string_view optConfigStr, swoc::FixedBufferWriter
      &error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:134,1
    - Dst: OptionBitSet
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:135,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:141,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:143,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:144,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:146,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:147,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:149,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:150,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:152,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:153,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:155,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:156,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:158,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:159,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:161,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:162,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:164,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:165,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:167,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:168,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:170,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:171,1
    - Dst: eqIgnoreCaseWs
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:173,1
    - Dst: OptionBitSet::set
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:174,1
    - Dst: BadOptionsErrMsg::add
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:177,1
    - Dst: BadOptionsErrMsg::done
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:181,1
    - Dst: OptionBitSet
      Src: /src/trafficserver/src/proxy/http/ForwardedConfig.cc:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - optConfigStr
    - error
    argTypes:
    - std::string_view
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 187
    functionName: HttpForwarded::optStrToBitset
    functionSourceFile: /src/trafficserver/src/proxy/http/ForwardedConfig.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - BadOptionsErrMsg::add
    - BadOptionsErrMsg::done
    - OptionBitSet::set
    - eqIgnoreCaseWs
    - OptionBitSet
    linkageType: ''
    returnType: OptionBitSet
    signature: OptionBitSet optStrToBitset(std::string_view optConfigStr, swoc::FixedBufferWriter
      &error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ix
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: HttpEstablishStaticConfigStringAlloc
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpEstablishStaticConfigStringAlloc(_ix, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ix
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: HttpEstablishStaticConfigLongLong
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpEstablishStaticConfigLongLong(_ix, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ix
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: HttpEstablishStaticConfigFloat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpEstablishStaticConfigFloat(_ix, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ix
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: HttpEstablishStaticConfigByte
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpEstablishStaticConfigByte(_ix, _n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:84,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:84,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:84,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:84,1
    - Dst: std::string_view::compare
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - (list)
    - value
    argTypes:
    - std::string_view
    - ConfigEnumPair<T>[]
    - MgmtByte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: http_config_enum_search
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Dbg
    - std::string_view::compare
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool http_config_enum_search(std::string_view key, const ConfigEnumPair<T>
      (&list)[N], MgmtByte &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:104,1
    - Dst: http_config_enum_search
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:105,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - (list)
    - value
    argTypes:
    - char*
    - ConfigEnumPair<T>[]
    - MgmtByte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: http_config_enum_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - http_config_enum_search
    - RecGetRecordString
    linkageType: ''
    returnType: bool
    signature: bool http_config_enum_read(const char *name, const ConfigEnumPair<T>
      (&list)[N], MgmtByte &value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:135,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:135,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:135,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:135,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:137,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:139,1
    - Dst: http_config_enum_search
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:140,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:144,1
    - Dst: http_config_enum_search
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - key
    - mask
    argTypes:
    - std::string_view
    - MgmtByte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: HttpConfig::load_server_session_sharing_match
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - http_config_enum_search
    - std::string_view::substr
    - std::string_view::length
    - Dbg
    - std::string_view::find
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool HttpConfig::load_server_session_sharing_match(std::string_view
      key, MgmtByte &mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:166,1
    - Dst: HttpConfig::load_server_session_sharing_match
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:167,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - MgmtByte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: http_config_enum_mask_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - HttpConfig::load_server_session_sharing_match
    - RecGetRecordString
    linkageType: ''
    returnType: bool
    signature: bool http_config_enum_mask_read(const char *name, MgmtByte &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:185,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: HttpConfigCont::HttpConfigCont
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void HttpConfigCont::HttpConfigCont()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:193,1
    - Dst: HttpConfig::reconfigure
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: HttpConfigCont::handle_event
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - HttpConfig::reconfigure
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: int HttpConfigCont::handle_event(int /* event ATS_UNUSED */, void *
      /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:203,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:207,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: http_config_cb
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - schedule_in
    - ink_atomic_increment
    linkageType: ''
    returnType: int
    signature: "int http_config_cb(const char * /* name ATS_UNUSED */, RecDataT /*
      data_type ATS_UNUSED */, RecData /* data ATS_UNUSED */,\n               void
      * /* cookie ATS_UNUSED */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:218,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:220,1
    - Dst: static_cast<TSServerSessionSharingMatchType>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:223,1
    - Dst: HttpConfig::load_server_session_sharing_match
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:224,1
    - Dst: http_config_cb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 239
    functionName: http_server_session_sharing_cb
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSServerSessionSharingMatchType>
    - static_cast<HttpConfigParams *>
    - HttpConfig::load_server_session_sharing_match
    - http_config_cb
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int http_server_session_sharing_cb(const char *name, RecDataT dtype,
      RecData data, void *cookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:245,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:247,1
    - Dst: HttpForwarded::optStrToBitset
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:250,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:250,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:251,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:255,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:255,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:255,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:255,1
    - Dst: http_config_cb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: http_insert_forwarded_cb
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpForwarded::optStrToBitset
    - static_cast<HttpConfigParams *>
    - Error
    - swoc::LocalBufferWriter::data
    - http_config_cb
    - strcasecmp
    - swoc::LocalBufferWriter::size
    - std::string_view
    linkageType: ''
    returnType: int
    signature: int http_insert_forwarded_cb(const char *name, RecDataT dtype, RecData
      data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:271,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:272,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:273,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:274,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:275,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:276,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:277,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:278,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:279,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:280,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:281,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:282,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:283,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:284,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:285,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:286,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:287,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:288,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:289,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:290,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:291,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:292,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:293,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:294,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:295,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:296,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:297,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:298,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:299,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:300,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:301,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:302,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:303,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:304,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:305,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:306,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:307,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:308,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:309,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:310,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:311,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:312,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:313,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:314,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:316,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:317,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:318,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:320,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:322,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:323,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:325,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:326,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:327,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:328,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:329,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:330,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:331,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:332,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:333,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:334,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:335,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:336,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:337,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:338,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:339,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:340,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:341,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:342,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:343,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:344,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:345,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:346,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:347,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:348,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:349,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:350,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:351,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:353,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:355,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:357,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:359,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:360,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:361,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:363,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:365,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:367,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:368,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:369,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:371,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:372,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:374,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:375,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:376,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:377,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:379,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:380,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:382,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:384,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:386,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:387,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:388,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:389,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:390,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:391,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:392,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:393,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:394,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:395,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:396,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:397,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:398,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:399,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:400,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:401,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:402,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:403,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:404,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:405,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:406,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:407,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:408,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:409,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:410,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:411,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:412,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:413,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:414,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:415,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:416,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:417,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:418,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:419,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:420,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:421,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:422,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:423,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:424,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:425,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:426,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:427,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:428,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:429,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:430,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:431,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:432,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:433,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:434,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:435,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:436,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:437,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:438,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:439,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:440,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:441,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:442,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:443,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:444,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:445,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:446,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:447,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:448,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:449,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:450,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:451,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:452,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:453,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:454,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:455,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:456,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:458,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:460,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:461,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:463,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:464,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:465,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:466,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:467,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:468,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:469,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:470,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:471,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:472,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:473,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:474,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:475,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:476,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:477,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:479,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:480,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:481,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:483,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:484,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:485,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:486,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:487,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:488,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:489,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:490,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:491,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:492,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:493,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:494,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:495,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:496,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:497,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:498,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:499,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:500,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:501,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:502,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:503,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:504,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:505,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:507,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:508,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:510,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:512,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:513,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:514,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:515,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:516,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:518,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:519,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:520,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:521,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:522,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:523,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:525,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:526,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:528,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:530,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:531,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:532,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:533,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:534,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:536,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:537,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:538,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:539,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:540,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:542,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:544,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:546,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:548,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:550,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:554,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:555,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:557,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:559,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:560,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:562,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:564,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:566,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:568,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:570,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:571,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:573,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:575,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:577,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:579,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:581,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:583,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:585,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:587,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:589,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:591,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:593,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:594,1
    - Dst: Metrics::Derived::derive
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 270
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 637
    functionName: register_stat_callbacks
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Gauge::createPtr
    - Metrics::Derived::derive
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: void register_stat_callbacks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:648,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:650,1
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:652,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:653,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:654,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:654,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:655,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:655,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:655,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:655,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:657,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:657,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:657,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - status_list
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 664
    functionName: parse_http_status_code_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::TextView::data
    - isspace
    - Error
    - swoc::TextView::take_prefix_if
    - swoc::TextView::ltrim_if
    - swoc::TextView::size
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: HttpStatusBitset
    signature: HttpStatusBitset parse_http_status_code_list(swoc::TextView status_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:673,1
    - Dst: parse_http_status_code_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:675,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - name
    - dtype
    - data
    - c
    - update
    argTypes:
    - char*
    - RecDataT
    - RecData
    - HttpConfigParams*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 685
    functionName: set_negative_caching_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - parse_http_status_code_list
    - strlen
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool set_negative_caching_list(const char *name, RecDataT dtype, RecData
      data, HttpConfigParams *c, bool update)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:691,1
    - Dst: set_negative_caching_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:693,1
    - Dst: http_config_cb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: negative_caching_list_cb
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<HttpConfigParams *>
    - http_config_cb
    - set_negative_caching_list
    linkageType: ''
    returnType: int
    signature: int negative_caching_list_cb(const char *name, RecDataT dtype, RecData
      data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:703,1
    - Dst: set_negative_caching_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cookie
    argTypes:
    - RecRecord*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: load_negative_caching_var
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<HttpConfigParams *>
    - set_negative_caching_list
    linkageType: ''
    returnType: void
    signature: void load_negative_caching_var(RecRecord const *r, void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:714,1
    - Dst: parse_http_status_code_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:716,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - name
    - dtype
    - data
    - c
    - update
    argTypes:
    - char*
    - RecDataT
    - RecData
    - HttpConfigParams*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 726
    functionName: set_negative_revalidating_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - parse_http_status_code_list
    - strlen
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool set_negative_revalidating_list(const char *name, RecDataT dtype,
      RecData data, HttpConfigParams *c, bool update)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:732,1
    - Dst: set_negative_revalidating_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:734,1
    - Dst: http_config_cb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - dtype
    - data
    - cookie
    argTypes:
    - char*
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 738
    functionName: negative_revalidating_list_cb
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<HttpConfigParams *>
    - set_negative_revalidating_list
    - http_config_cb
    linkageType: ''
    returnType: int
    signature: int negative_revalidating_list_cb(const char *name, RecDataT dtype,
      RecData data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:744,1
    - Dst: set_negative_revalidating_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cookie
    argTypes:
    - RecRecord*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: load_negative_revalidating_var
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<HttpConfigParams *>
    - set_negative_revalidating_list
    linkageType: ''
    returnType: void
    signature: void load_negative_revalidating_var(RecRecord const *r, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: ConfigDuration
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigDuration(V &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MgmtInt>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:770,1
    - Dst: static_cast<V const *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: to_mgmt
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<V const *>
    - static_cast<MgmtInt>
    linkageType: ''
    returnType: MgmtInt
    signature: MgmtInt to_mgmt(void const *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<V *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - i
    argTypes:
    - void*
    - MgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: from_mgmt
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<V *>
    linkageType: ''
    returnType: void
    signature: void from_mgmt(void *data, MgmtInt i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - data
    - var
    argTypes:
    - RecDataT
    - RecData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: callback
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool callback(char const *, RecDataT type, RecData data, void *var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Enable_Config_Var
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: Enable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 0
    functionsReached:
    - Enable_Config_Var
    linkageType: ''
    returnType: void
    signature: void Enable(std::string_view name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: register_stat_callbacks
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:834,1
    - Dst: HttpConfigCont::HttpConfigCont
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:838,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:840,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:844,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:844,1
    - Dst: RecHttpLoadIp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:848,1
    - Dst: RecHttpLoadIp
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:849,1
    - Dst: RecHttpLoadIpAddrsFromConfVar
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:850,1
    - Dst: SSLConfigInit
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:851,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:853,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:854,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:855,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:856,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:858,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:860,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:862,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:863,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:865,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:866,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:868,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:869,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:870,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:872,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:873,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:874,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:875,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:877,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:878,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:879,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:880,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:882,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:884,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:887,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:888,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:889,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:890,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:891,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:892,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:893,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:894,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:895,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:896,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:897,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:898,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:899,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:902,1
    - Dst: http_config_enum_mask_read
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:903,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:904,1
    - Dst: http_config_enum_read
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:905,1
    - Dst: set_pool_type
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:906,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:908,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:912,1
    - Dst: HttpForwarded::optStrToBitset
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:914,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:914,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:915,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:918,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:918,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:918,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:918,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:923,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:925,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:927,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:929,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:931,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:933,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:935,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:936,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:938,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:939,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:940,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:942,1
    - Dst: HttpEstablishStaticConfigFloat
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:943,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:945,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:946,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:949,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:951,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:952,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:953,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:954,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:955,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:956,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:958,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:959,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:961,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:963,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:964,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:965,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:966,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:967,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:968,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:970,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:972,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:973,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:974,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:975,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:976,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:977,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:978,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:980,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:981,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:983,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:984,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:986,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:988,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:990,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:992,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:993,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:994,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:996,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:997,1
    - Dst: HttpEstablishStaticConfigFloat
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:998,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1000,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1001,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1003,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1005,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1007,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1010,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1013,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1014,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1015,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1018,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1019,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1022,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1023,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1024,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1025,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1026,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1027,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1029,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1030,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1031,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1033,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1034,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1035,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1036,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1038,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1039,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1041,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1043,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1044,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1045,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1046,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1048,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1050,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1051,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1053,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1055,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1056,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1058,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1060,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1061,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1062,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1063,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1065,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1067,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1068,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1071,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1072,1
    - Dst: Enable
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1074,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1077,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1078,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1079,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1080,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1081,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1082,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1083,1
    - Dst: RecLookupRecord
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1084,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1087,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1088,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1091,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1092,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1095,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1096,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1097,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1106,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1107,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1108,1
    - Dst: HttpEstablishStaticConfigLongLong
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1109,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1110,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1111,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1112,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1113,1
    - Dst: HttpEstablishStaticConfigStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1114,1
    - Dst: HttpEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1115,1
    - Dst: ConnectionTracker::config_init
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1117,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1119,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1119,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1120,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1121,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 830
    functionDepth: 5
    functionLinenumber: 830
    functionLinenumberEnd: 1126
    functionName: HttpConfig::startup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - HttpEstablishStaticConfigStringAlloc
    - HttpForwarded::optStrToBitset
    - register_stat_callbacks
    - RecHttpLoadIp
    - set_pool_type
    - HttpEstablishStaticConfigLongLong
    - this_ethread
    - HttpEstablishStaticConfigFloat
    - handleEvent
    - HttpEstablishStaticConfigByte
    - RecRegisterConfigUpdateCb
    - is_locked
    - Enable
    - RecLookupRecord
    - SSLConfigInit
    - static_cast<char *>
    - RecGetRecordString
    - MUTEX_TRY_LOCK
    - http_config_enum_mask_read
    - static_cast<int>
    - ink_release_assert
    - Error
    - ConnectionTracker::config_init
    - strlen
    - auto::value
    - HttpConfigCont::HttpConfigCont
    - swoc::LocalBufferWriter::data
    - RecHttpLoadIpAddrsFromConfVar
    - ats_malloc
    - swoc::LocalBufferWriter::size
    - http_config_enum_read
    linkageType: ''
    returnType: void
    signature: void HttpConfig::startup()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HttpConfigParams::HttpConfigParams
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1140,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1146,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1147,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1148,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1149,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1150,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1152,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1153,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1155,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1156,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1173,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1174,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1180,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1181,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1182,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1183,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1187,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1188,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1189,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1196,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1197,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1199,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1201,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1212,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1219,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1239,1
    - Dst: UnixSocket::client_fastopen_supported
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1264,1
    - Dst: Status
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1265,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1269,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1271,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1272,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1273,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1274,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1275,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1277,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1279,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1281,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1283,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1285,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1288,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1290,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1291,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1297,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1297,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1318,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1319,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1320,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1321,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1322,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1324,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1325,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1326,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1333,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1334,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1337,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1339,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1352,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1353,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1356,1
    - Dst: HttpConfig::parse_ports_list
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1357,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1362,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1364,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1365,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1366,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1369,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1372,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1374,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1376,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1378,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1380,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1381,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1387,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1389,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1392,1
    - Dst: INT_TO_BOOL
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1393,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1396,1
    - Dst: HttpConfig::parse_redirect_actions
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1397,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1401,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1402,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1408,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1133
    functionDepth: 3
    functionLinenumber: 1133
    functionLinenumberEnd: 1416
    functionName: HttpConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - Warning
    - HttpConfig::parse_ports_list
    - ats_strdup
    - UnixSocket::client_fastopen_supported
    - Status
    - min
    - max
    - HttpConfig::parse_redirect_actions
    - strlen
    - set
    - HttpConfigParams::HttpConfigParams
    - data
    - static_cast<MgmtByte>
    - INT_TO_BOOL
    linkageType: ''
    returnType: void
    signature: void HttpConfig::reconfigure()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1431
    functionName: HttpConfig::acquire
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: HttpConfigParams
    signature: 'HttpConfigParams *

      HttpConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpConfig::release
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - HttpConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1442
    functionName: HttpConfig::release
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 3
    functionsReached:
    - HttpConfig::release
    linkageType: ''
    returnType: void
    signature: void HttpConfig::release(HttpConfigParams *params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1458,1
    - Dst: HttpConfigPortRange::HttpConfigPortRange
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1459,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1474,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1480,1
    - Dst: HttpConfigPortRange::HttpConfigPortRange
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1489,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1490,1
    - Dst: ParseRules::is_space
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1505,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1510,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1518,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1523,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ports_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1527
    functionName: HttpConfig::parse_ports_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - HttpConfigPortRange::HttpConfigPortRange
    - ParseRules::is_digit
    - ParseRules::is_space
    - atoi
    - strchr
    linkageType: ''
    returnType: HttpConfigPortRange
    signature: 'HttpConfigPortRange *

      HttpConfig::parse_ports_list(char *ports_string)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1543,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1547,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1552,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1554,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1559,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1559,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1560,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1560,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1563,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1563,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1563,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1563,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1566,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1566,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1566,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1566,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1573,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1573,1
    - Dst: RedirectEnabled::ActionMap::ActionMap
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1577,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1581,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1581,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1583,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1583,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1584,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1584,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1585,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1585,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1586,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1586,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1587,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::IP6Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1587,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1590,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1590,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1593,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1593,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1594,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1594,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1597,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1597,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1599,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1599,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1600,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::IP6Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1600,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1603,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1603,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1605,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1605,1
    - Dst: auto*::mark
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1606,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::IP6Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1606,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1611,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1611,1
    - Dst: std::map::find
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1616,1
    - Dst: std::map::end
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1616,1
    - Dst: auto*::fill
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1619,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1619,1
    - Dst: auto*::fill
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1620,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::IP6Range
      Src: /src/trafficserver/src/proxy/http/HttpConfig.cc:1620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - input_string
    - self_action
    argTypes:
    - char*
    - RedirectEnabled::Action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1623
    functionName: HttpConfig::parse_redirect_actions
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpConfig.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::map::find
    - RedirectEnabled::ActionMap::ActionMap
    - swoc::SWOC_VERSION_NS::IP6Range::IP6Range
    - auto*::fill
    - find
    - std::string::size
    - std::string::data
    - size
    - Error
    - auto*::mark
    - swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
    - end
    - std::map::end
    - swoc::SWOC_VERSION_NS::IP4Range::IP4Range
    - data
    - Tokenizer::Initialize
    linkageType: ''
    returnType: RedirectEnabled::ActionMap
    signature: 'RedirectEnabled::ActionMap *

      HttpConfig::parse_redirect_actions(char *input_string, RedirectEnabled::Action
      &self_action)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigByte
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:33,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:36,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: PreWarmConfigParams::PreWarmConfigParams
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmConfig.cc
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    - RecEstablishStaticConfigByte
    linkageType: ''
    returnType: void
    signature: void PreWarmConfigParams::PreWarmConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigUpdateHandler<PreWarmConfig>>
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:46,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:49,1
    - Dst: attach
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:50,1
    - Dst: PreWarmConfig::reconfigure
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: PreWarmConfig::startup
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmConfig.cc
    functionUses: 1
    functionsReached:
    - attach
    - std::make_unique<ConfigUpdateHandler<PreWarmConfig>>
    - PreWarmConfig::reconfigure
    linkageType: ''
    returnType: void
    signature: void PreWarmConfig::startup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmConfigParams::PreWarmConfigParams
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:58,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:59,1
    - Dst: PreWarmConfig::reconfigure
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: PreWarmConfig::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmConfig.cc
    functionUses: 2
    functionsReached:
    - PreWarmConfigParams::PreWarmConfigParams
    - PreWarmConfig::reconfigure
    - set
    linkageType: ''
    returnType: void
    signature: void PreWarmConfig::reconfigure()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PreWarmConfigParams *>
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:67,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: PreWarmConfig::acquire
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmConfig.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<PreWarmConfigParams *>
    linkageType: ''
    returnType: PreWarmConfigParams
    signature: 'PreWarmConfigParams *

      PreWarmConfig::acquire()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmConfig::release
      Src: /src/trafficserver/src/proxy/http/PreWarmConfig.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - PreWarmConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: PreWarmConfig::release
    functionSourceFile: /src/trafficserver/src/proxy/http/PreWarmConfig.cc
    functionUses: 1
    functionsReached:
    - PreWarmConfig::release
    linkageType: ''
    returnType: void
    signature: void PreWarmConfig::release(PreWarmConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: hsm_release_assert
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hsm_release_assert(EX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:149,1
    - Dst: NetVConnection*::get_proxy_protocol_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:151,1
    - Dst: proxy_protocol_version_cast
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:152,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:159,1
    - Dst: NetVConnection*::get_local_endpoint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:161,1
    - Dst: IpEndpoint::family
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:162,1
    - Dst: NetVConnection*::get_remote_endpoint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:162,1
    - Dst: NetVConnection*::set_proxy_protocol_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:166,1
    - Dst: MIOBuffer*::first_write_block
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:168,1
    - Dst: proxy_protocol_build
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:169,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:169,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:169,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:169,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - miob
    - vc_out
    - vc_in
    - conf
    argTypes:
    - MIOBuffer*
    - NetVConnection*
    - NetVConnection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: do_outbound_proxy_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - proxy_protocol_version_cast
    - NetVConnection*::get_proxy_protocol_info
    - proxy_protocol_build
    - MIOBuffer*::first_write_block
    - NetVConnection*::get_remote_endpoint
    - IpEndpoint::family
    - NetVConnection*::set_proxy_protocol_info
    - reinterpret_cast<uint8_t *>
    - Dbg
    - IOBufferBlock*::buf
    - MIOBuffer*::fill
    - IOBufferBlock*::write_avail
    - NetVConnection*::get_local_endpoint
    linkageType: ''
    returnType: int64_t
    signature: int64_t do_outbound_proxy_protocol(MIOBuffer *miob, NetVConnection
      *vc_out, NetVConnection *vc_in, int conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectingPool::ConnectingPool
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: initialize_thread_for_connecting_pools
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ConnectingPool::ConnectingPool
    linkageType: ''
    returnType: void
    signature: void initialize_thread_for_connecting_pools(EThread *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: SMDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SMDbg(tag, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state_name
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: HTTP_SM_SET_DEFAULT_HANDLER
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_SM_SET_DEFAULT_HANDLER(_h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:220,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: HttpSM::get_server_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime HttpSM::get_server_inactivity_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:232,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: HttpSM::get_server_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime HttpSM::get_server_active_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:244,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: HttpSM::get_server_connect_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime HttpSM::get_server_connect_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: HttpSM::HttpSM
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::HttpSM()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:256,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:257,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:258,1
    - Dst: HttpConfig::release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:260,1
    - Dst: release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:261,1
    - Dst: cancel_pending_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:263,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:265,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:266,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:267,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:268,1
    - Dst: HttpSM::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:273,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:274,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: HttpSM::cleanup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - http_parser_clear
    - release
    - THREAD_FREE
    - cancel_pending_action
    - this_ethread
    - HttpConfig::release
    - mutex::clear
    - HttpSM::destroy
    - clear
    linkageType: ''
    returnType: void
    signature: void HttpSM::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::cleanup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:282,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:283,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: HttpSM::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - this_thread
    - HttpSM::cleanup
    - THREAD_FREE
    linkageType: ''
    returnType: void
    signature: void HttpSM::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:289,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:299,1
    - Dst: HttpConfig::acquire
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:302,1
    - Dst: acquire
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:304,1
    - Dst: HttpSM::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:310,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:311,1
    - Dst: ip_rule_in_CacheControlTable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:316,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:319,1
    - Dst: HttpSM::setThreadAffinity
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:322,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:322,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:325,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:326,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - from_early_data
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 329
    functionName: HttpSM::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - HttpSM::init
    - HttpSM::setThreadAffinity
    - http_parser_init
    - acquire
    - ATS_PROBE1
    - ink_mutex_acquire
    - push
    - this_ethread
    - HttpConfig::acquire
    - SET_HANDLER
    - ink_mutex_release
    - ip_rule_in_CacheControlTable
    linkageType: ''
    returnType: void
    signature: void HttpSM::init(bool from_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: HttpSM::set_ua_half_close_flag
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_txn
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_ua_half_close_flag()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::do_api_callout_internal
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:341,1
    - Dst: HttpSM::handle_api_return
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: HttpSM::do_api_callout
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::handle_api_return
    - HttpSM::do_api_callout_internal
    linkageType: ''
    returnType: int
    signature: int HttpSM::do_api_callout()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:352,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:354,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:358,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:358,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: HttpSM::state_add_to_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - do_io_read
    - HttpSM::do_api_callout
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_add_to_list(int /* event ATS_UNUSED */, void * /*
      data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: HttpSM::state_remove_from_list
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_remove_from_list(int /* event ATS_UNUSED */, void
      * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:378,1
    - Dst: HttpSM::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:379,1
    - Dst: HttpSM::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: HttpSM::start_sub_sm
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::init
    linkageType: ''
    returnType: void
    signature: void HttpSM::start_sub_sm()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:386,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:387,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:388,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:390,1
    - Dst: set_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:394,1
    - Dst: NetVConnection*::get_is_internal_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:399,1
    - Dst: NetVConnection*::get_mptcp_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:400,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:402,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:402,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:404,1
    - Dst: setup_per_txn_configs
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:408,1
    - Dst: NetVConnection*::get_is_unmanaged_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:409,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:411,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:411,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:412,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:412,1
    - Dst: my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:415,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:415,1
    - Dst: HttpSM::start_sub_sm
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:417,1
    - Dst: set_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:421,1
    - Dst: new_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:421,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:422,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:423,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:425,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:425,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:426,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:426,1
    - Dst: NetVConnection*::get_is_transparent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:427,1
    - Dst: static_cast<HttpProxyPort::TransportType>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:428,1
    - Dst: ProxyTransaction*::has_hooks
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:431,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:434,1
    - Dst: hdr_info::client_request::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:435,1
    - Dst: hdr_info::client_request::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:436,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:439,1
    - Dst: HttpSM::is_transparent_passthrough_allowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:440,1
    - Dst: auto::is_decryption_needed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:440,1
    - Dst: set_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:441,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:441,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:448,1
    - Dst: ProxyTransaction*::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:448,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:448,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:449,1
    - Dst: ProxyTransaction*::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:449,1
    - Dst: ProxyTransaction*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:454,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:454,1
    - Dst: ProxyTransaction*::set_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:455,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:455,1
    - Dst: HttpSM::state_add_to_list
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:459,1
    - Dst: HttpSM::kill_this
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:465,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - txn
    argTypes:
    - ProxyTransaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 470
    functionName: HttpSM::attach_client_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - ats_ip_copy
    - static_cast<HttpProxyPort::TransportType>
    - set_txn
    - ProxyTransaction*::do_io_read
    - HttpSM::start_sub_sm
    - new_entry
    - NetVConnection*::get_service
    - HttpSM::kill_this
    - ink_release_assert
    - NetVConnection*::get_local_addr
    - hdr_info::client_request::destroy
    - NetVConnection*::get_is_internal_request
    - ProxyTransaction*::has_hooks
    - set_entry
    - ProxyTransaction*::set_active_timeout
    - get_txn
    - ProxyTransaction*::get_netvc
    - NetVConnection*::get_remote_addr
    - NetVConnection*::get_is_transparent
    - setup_per_txn_configs
    - NetVConnection*::get_mptcp_state
    - ink_assert
    - ProxyTransaction*::set_inactivity_timeout
    - ink_get_hrtime
    - auto::is_decryption_needed
    - HRTIME_SECONDS
    - set_raw_buffer_reader
    - ATS_PROBE1
    - my_txn_conf
    - ProxyTransaction*::do_io_write
    - HttpSM::is_transparent_passthrough_allowed
    - hdr_info::client_request::create
    - NetVConnection*::get_is_unmanaged_request
    - HttpSM::state_add_to_list
    linkageType: ''
    returnType: void
    signature: void HttpSM::attach_client_session(ProxyTransaction *txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:475,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:475,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:477,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:477,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:477,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:480,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: HttpSM::setup_client_read_request_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - get_entry
    - get_txn
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_client_read_request_header()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:486,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:487,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:490,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:492,1
    - Dst: hdr_info::client_request::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:494,1
    - Dst: hdr_info::client_request::method_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:495,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:495,1
    - Dst: hdr_info::client_request::url_create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:496,1
    - Dst: URL::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:497,1
    - Dst: hdr_info::client_request::url_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:498,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:502,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:502,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:503,1
    - Dst: TLSTunnelSupport*::has_tunnel_destination
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:504,1
    - Dst: TLSTunnelSupport*::get_tunnel_host
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:505,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:506,1
    - Dst: TLSTunnelSupport*::get_tunnel_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:507,1
    - Dst: TLSTunnelSupport*::tunnel_port_is_dynamic
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:508,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:509,1
    - Dst: TLSTunnelSupport*::get_tunnel_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:509,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:511,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:511,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:515,1
    - Dst: auto*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:516,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:518,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:519,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:519,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:524,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:524,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:526,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:527,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:527,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 531
    functionName: HttpSM::setup_blind_tunnel_port
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - TLSTunnelSupport*::get_tunnel_host
    - auto*::get_sni_server_name
    - URL::URL
    - NetVConnection*::get_local_port
    - TLSTunnelSupport*::tunnel_port_is_dynamic
    - hdr_info::client_request::url_get
    - NetVConnection*::get_service
    - ats_ip_ntop
    - ink_release_assert
    - NetVConnection*::get_local_addr
    - hdr_info::client_request::method_set
    - static_cast<std::string_view>
    - hdr_info::client_request::url_set
    - HttpSM::do_api_callout
    - get_txn
    - TLSTunnelSupport*::get_tunnel_port
    - TLSTunnelSupport*::has_tunnel_destination
    - hdr_info::client_request::url_create
    - URL::scheme_set
    - hdr_info::client_request::create
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_blind_tunnel_port()
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:536,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:538,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:538,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:539,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:540,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:543,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:543,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:545,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:557,1
    - Dst: HttpSM::is_transparent_passthrough_allowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:558,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:558,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:567,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:567,1
    - Dst: set_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:568,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:569,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:578,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:579,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:580,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:581,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:581,1
    - Dst: hdr_info::client_request::parse_req
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:587,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:587,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:588,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:596,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:603,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:612,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:613,1
    - Dst: hdr_info::client_request::is_keep_alive_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:613,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:617,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:620,1
    - Dst: NetVConnection*::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:625,1
    - Dst: HttpSM::setup_blind_tunnel_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:629,1
    - Dst: HttpSM::set_ua_half_close_flag
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:633,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:641,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:642,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:643,1
    - Dst: set_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:644,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:646,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:647,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:648,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:649,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:650,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:656,1
    - Dst: URL*::print
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:658,1
    - Dst: ATS_PROBE3
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:659,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:667,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:670,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:670,1
    - Dst: is_http1_hdr_version_supported
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:676,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:676,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:680,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:684,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:685,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:686,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:689,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:689,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:691,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:694,1
    - Dst: HttpSM::is_transparent_passthrough_allowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:697,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:697,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:698,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:701,1
    - Dst: set_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:702,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:704,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:704,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:708,1
    - Dst: hdr_info::client_request::check_hdr_implements
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:710,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:712,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:717,1
    - Dst: get_client_connection_is_ssl
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:718,1
    - Dst: get_client_connection_is_ssl
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:719,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:720,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:720,1
    - Dst: get_client_connection_is_ssl
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:721,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:724,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:733,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:733,1
    - Dst: HttpTransactHeaders::is_method_safe
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:734,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:734,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:735,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:736,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:740,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:741,1
    - Dst: hdr_info::client_request::mark_early_data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:744,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:747,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:749,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:750,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:751,1
    - Dst: hdr_info::client_request::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:752,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:752,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:753,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:753,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:757,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:758,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:759,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:759,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:760,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:762,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:762,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:763,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:763,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:764,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:765,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:765,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:766,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:766,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:774,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:776,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:777,1
    - Dst: HttpTransact::set_client_request_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:782,1
    - Dst: hdr_info::client_request::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:784,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:787,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:787,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:788,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:790,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:797,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:797,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:800,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:804,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 173
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 533
    functionDepth: 5
    functionLinenumber: 533
    functionLinenumberEnd: 808
    functionName: HttpSM::state_read_client_request_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - new_MIOBuffer
    - SMDbg
    - alloc_reader
    - HttpSM::set_ua_half_close_flag
    - hdr_info::client_request::version_get
    - hdrtoken_index_to_wks
    - hdr_info::client_request::mark_early_data
    - hdr_info::client_request::method_get_wksidx
    - http_parser_clear
    - get_client_connection_is_ssl
    - HttpTransact::set_client_request_state
    - free_MIOBuffer
    - hdr_info::client_request::url_get
    - HttpSM::set_ua_abort
    - hdr_info::client_request::check_hdr_implements
    - hdr_info::client_request::is_keep_alive_set
    - hdr_info::client_request::parse_req
    - strcasecmp
    - ATS_PROBE3
    - write
    - Warning
    - static_cast<std::string_view>
    - HttpSM::call_transact_and_set_next_state
    - reenable
    - cleanup_entry
    - set_entry
    - get_txn
    - HttpSM::setup_blind_tunnel_port
    - ink_assert
    - URL*::print
    - NetVConnection*::do_io_read
    - ink_get_hrtime
    - STATE_ENTER
    - HRTIME_SECONDS
    - set_raw_buffer_reader
    - ATS_PROBE1
    - is_http1_hdr_version_supported
    - hdr_info::client_request::value_get
    - HttpTransactHeaders::is_method_safe
    - hdr_info::client_request::get_content_length
    - buffer_size_to_index
    - HttpSM::is_transparent_passthrough_allowed
    - get_raw_buffer_reader
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_read_client_request_header(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:814,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:821,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:826,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:828,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:829,1
    - Dst: HttpSM::_postbuf::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:831,1
    - Dst: MIOBuffer*::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:831,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:840,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:840,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:840,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:842,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:842,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:847,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:850,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:851,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:851,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 853
    functionName: HttpSM::wait_for_full_body
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - set_producer_chunking_action
    - tunnel_run
    - MIOBuffer*::write
    - HRTIME_SECONDS
    - add_producer
    - MIOBuffer*::clone_reader
    - HttpSM::_postbuf::init
    - get_txn
    - buffer_size_to_index
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: void
    signature: void HttpSM::wait_for_full_body()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:858,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:860,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:860,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:860,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:861,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:861,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:861,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:872,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:873,1
    - Dst: has_consumer_besides_client
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:873,1
    - Dst: NetVConnection*::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:875,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:878,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:879,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:879,1
    - Dst: set_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:880,1
    - Dst: kill_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:881,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:883,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:885,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:886,1
    - Dst: is_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:894,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:899,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:899,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:901,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:901,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:902,1
    - Dst: kill_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:905,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:909,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:910,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:910,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:912,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:913,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:914,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:927,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:928,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:928,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:932,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:933,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:934,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:934,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:934,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:934,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:935,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:935,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:936,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:940,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 945
    functionName: HttpSM::state_watch_for_client_abort
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - SMDbg
    - handleEvent
    - free_MIOBuffer
    - HttpSM::set_ua_abort
    - NetVConnection*::do_io_shutdown
    - has_consumer_besides_client
    - ntodo
    - ink_release_assert
    - get_consumer
    - HttpDebugNames::get_event_name
    - reenable
    - cleanup_entry
    - set_entry
    - is_tunnel_active
    - kill_tunnel
    - get_txn
    - ink_assert
    - ink_get_hrtime
    - STATE_ENTER
    - ATS_PROBE1
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_watch_for_client_abort(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:950,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:951,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:952,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:952,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:953,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:956,1
    - Dst: hdr_info::server_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:966,1
    - Dst: hdr_info::server_response::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:967,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:968,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:972,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:972,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:978,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:979,1
    - Dst: HttpSM::state_read_push_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:980,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:980,1
    - Dst: HttpSM::state_read_push_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:982,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:982,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:990,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:990,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:991,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:991,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 993
    functionName: HttpSM::setup_push_read_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - http_parser_clear
    - hdr_info::server_response::destroy
    - HttpSM::state_read_push_response_header
    - hdr_info::server_response::create
    - get_txn
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_push_read_response_header()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:998,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:999,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:999,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1000,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1004,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1016,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1017,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1022,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1023,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1025,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1026,1
    - Dst: hdr_info::server_response::parse_resp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1031,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1036,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1037,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1045,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1046,1
    - Dst: hdr_info::server_response::parse_resp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1047,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1049,1
    - Dst: hdr_info::server_response::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1053,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1059,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1059,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1060,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1061,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1062,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1067,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1068,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1072,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1072,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1076,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1077,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1080,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1084
    functionName: HttpSM::state_read_push_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - get_entry
    - STATE_ENTER
    - ink_release_assert
    - http_parser_clear
    - ink_get_hrtime
    - SMDbg
    - HttpSM::call_transact_and_set_next_state
    - reenable
    - hdr_info::server_response::version_get
    - ATS_PROBE1
    - HttpSM::set_ua_abort
    - get_txn
    - hdr_info::server_response::parse_resp
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_read_push_response_header(int event, void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1094,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1095,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1096,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1097,1
    - Dst: new_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1104,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1105,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1108,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1108,1
    - Dst: NetVConnection*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1110,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1110,1
    - Dst: NetVConnection*::set_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1111,1
    - Dst: HttpSM::get_server_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1111,1
    - Dst: current::server::clear_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1112,1
    - Dst: HttpSM::get_tunnel_type
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1114,1
    - Dst: mark_tls_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1115,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1132,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1135,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1141
    functionName: HttpSM::state_raw_http_server_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::get_server_inactivity_timeout
    - ink_get_hrtime
    - STATE_ENTER
    - NetVConnection*::get_local_addr
    - NetVConnection*::set_active_timeout
    - current::server::clear_connect_fail
    - HttpSM::do_http_server_open
    - ats_ip_copy
    - ink_release_assert
    - static_cast<NetVConnection *>
    - new_entry
    - HttpSM::get_server_active_timeout
    - HttpSM::call_transact_and_set_next_state
    - ATS_PROBE1
    - mark_tls_tunnel_active
    - NetVConnection*::set_inactivity_timeout
    - HttpSM::get_tunnel_type
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_raw_http_server_open(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1153,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1158,1
    - Dst: hdr_info::server_request::value_set_int64
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1163,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1163,1
    - Dst: HttpSM::setup_server_send_request_api
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1164,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1172,1
    - Dst: HttpSM::state_common_wait_for_transform_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1181
    functionName: HttpSM::state_request_wait_for_transform_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - HttpSM::state_common_wait_for_transform_read
    - static_cast<std::string_view>
    - Log::error
    - HttpSM::setup_server_send_request_api
    - hdr_info::server_request::value_set_int64
    - static_cast<int64_t *>
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_request_wait_for_transform_read(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1193,1
    - Dst: static_cast<int64_t *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1194,1
    - Dst: hdr_info::transform_response::value_set_int64
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1201,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1201,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1205,1
    - Dst: HttpSM::state_common_wait_for_transform_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1213
    functionName: HttpSM::state_response_wait_for_transform_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - HttpSM::state_common_wait_for_transform_read
    - static_cast<std::string_view>
    - hdr_info::transform_response::value_set_int64
    - HttpSM::call_transact_and_set_next_state
    - static_cast<int64_t *>
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_response_wait_for_transform_read(int event, void
      *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1223,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1234,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1235,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1236,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1248,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1254,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1268,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1269,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1271,1
    - Dst: kill_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1294,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1295,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 4
    argNames:
    - t_info
    - tunnel_handler
    - event
    - data
    argTypes:
    - HttpTransformInfo*
    - HttpSMHandler
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1303
    functionName: HttpSM::state_common_wait_for_transform_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - STATE_ENTER
    - ink_release_assert
    - get_consumer
    - HttpSM::call_transact_and_set_next_state
    - cleanup_entry
    - kill_tunnel
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_common_wait_for_transform_read(HttpTransformInfo
      *t_info, HttpSMHandler tunnel_handler, int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1316,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1318,1
    - Dst: HttpSM::milestone_update_api_time
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1321,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1323,1
    - Dst: HttpSM::state_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1325,1
    - Dst: HttpSM::kill_this
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1337,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1344
    functionName: HttpSM::state_api_callback
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - ink_release_assert
    - HttpSM::milestone_update_api_time
    - HttpSM::state_api_callout
    - HttpSM::kill_this
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_api_callback(int event, void *data)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1363,1
    - Dst: HttpSM::milestone_update_api_time
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1371,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1388,1
    - Dst: hdr_info::client_request::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1390,1
    - Dst: hdr_info::client_request::method_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1391,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1391,1
    - Dst: hdr_info::client_request::url_create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1392,1
    - Dst: URL::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1393,1
    - Dst: hdr_info::client_request::url_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1394,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1396,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1397,1
    - Dst: auto::has_tunnel_destination
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1398,1
    - Dst: auto::get_tunnel_host
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1399,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1400,1
    - Dst: auto::get_tunnel_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1401,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1403,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1405,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1405,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1409,1
    - Dst: auto*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1410,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1412,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1413,1
    - Dst: NetVConnection*::get_local_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1413,1
    - Dst: getNext
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1420,1
    - Dst: WEAK_MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1427,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1430,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1431,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1432,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1433,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1433,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1434,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1434,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1438,1
    - Dst: HttpDebugNames::get_api_hook_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1438,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1446,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1449,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1449,1
    - Dst: HttpSM::milestone_update_api_time
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1451,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1452,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1475,1
    - Dst: HttpSM::set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1477,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1480,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1494,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1495,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1496,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1514,1
    - Dst: HttpSM::handle_api_return
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1525,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1528,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1529,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1532,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1533,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1534,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1537,1
    - Dst: HttpSM::do_cache_prepare_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1542,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1546,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 147
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1550
    functionName: HttpSM::state_api_callout
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - auto*::get_sni_server_name
    - URL::URL
    - SMDbg
    - HttpSM::do_cache_prepare_update
    - close_read
    - auto::has_tunnel_destination
    - NetVConnection*::get_local_port
    - this_ethread
    - is_locked
    - hdr_info::client_request::url_get
    - auto::get_tunnel_port
    - NetVConnection*::get_service
    - APIHook*::invoke
    - empty
    - HttpSM::release_server_session
    - static_cast<int>
    - ink_release_assert
    - hdr_info::client_request::method_set
    - static_cast<std::string_view>
    - HttpSM::call_transact_and_set_next_state
    - HttpSM::handle_api_return
    - hdr_info::client_request::url_set
    - HttpSM::do_api_callout
    - get_txn
    - getNext
    - ink_assert
    - ink_get_hrtime
    - STATE_ENTER
    - auto::get_tunnel_host
    - HttpSM::milestone_update_api_time
    - hdr_info::client_request::url_create
    - HRTIME_MSECONDS
    - URL::scheme_set
    - HttpDebugNames::get_api_hook_name
    - WEAK_MUTEX_TRY_LOCK
    - HttpSM::set_next_state
    - hdr_info::client_request::create
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_api_callout(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1565,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1566,1
    - Dst: auto*::is_decryption_needed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1567,1
    - Dst: HttpSM::setup_blind_tunnel_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1569,1
    - Dst: HttpSM::setup_client_read_request_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1571,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1582,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1583,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1593,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1597,1
    - Dst: HttpSM::setup_server_send_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1600,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1604,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1605,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1605,1
    - Dst: HttpSM::is_redirect_required
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1612,1
    - Dst: HttpSM::do_redirect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1613,1
    - Dst: HttpSM::state_remove_from_list
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1619,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1622,1
    - Dst: HttpSM::setup_transfer_from_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1628,1
    - Dst: HttpSM::perform_transform_cache_write_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1629,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1630,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1634,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1639,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1641,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1644,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1645,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1648,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1648,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1649,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1649,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1653,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1656,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1656,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1657,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1657,1
    - Dst: HttpSM::setup_blind_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1661,1
    - Dst: HttpSM::setup_server_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1663,1
    - Dst: HttpSM::perform_cache_write_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1664,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1665,1
    - Dst: HttpSM::setup_cache_read_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1670,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1671,1
    - Dst: HttpSM::setup_internal_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1677,1
    - Dst: HttpSM::setup_internal_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1679,1
    - Dst: HttpSM::setup_internal_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1688,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1694,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1696,1
    - Dst: HttpSM::setup_blind_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1700,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1704,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1560
    functionDepth: 3
    functionLinenumber: 1560
    functionLinenumberEnd: 1707
    functionName: HttpSM::handle_api_return
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - SMDbg
    - HttpSM::do_redirect
    - get_remote_reader
    - close_read
    - HttpSM::setup_client_read_request_header
    - HttpSM::setup_server_transfer
    - HttpSM::state_remove_from_list
    - set_inactivity_timeout
    - HttpSM::setup_server_send_request
    - tunnel_run
    - NetVConnection*::get_service
    - unlikely
    - HttpSM::perform_transform_cache_write_action
    - HttpSM::release_server_session
    - ink_release_assert
    - HttpSM::call_transact_and_set_next_state
    - HttpSM::setup_internal_transfer
    - get_txn
    - HttpSM::setup_blind_tunnel_port
    - set_active_timeout
    - HttpSM::perform_cache_write_action
    - HttpSM::setup_cache_read_transfer
    - HRTIME_SECONDS
    - HttpSM::setup_blind_tunnel
    - auto*::is_decryption_needed
    - HttpSM::is_redirect_required
    - HttpSM::setup_transfer_from_transform
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_api_return()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1714,1
    - Dst: auto::get_negotiated_protocol_id
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1715,1
    - Dst: ProxySession::create_outbound_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1722,1
    - Dst: static_cast<TSServerSessionSharingPoolType>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1724,1
    - Dst: static_cast<TSServerSessionSharingMatchMask>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1725,1
    - Dst: PoolableSession*::attach_hostname
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1726,1
    - Dst: PoolableSession*::new_connection
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1727,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1729,1
    - Dst: PoolableSession*::set_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1730,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1732,1
    - Dst: NetVConnection::get_local_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1732,1
    - Dst: outbound_conn_track_state::is_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1737,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1738,1
    - Dst: PoolableSession*::enable_outbound_connection_tracking
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1739,1
    - Dst: outbound_conn_track_state::drop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - netvc
    - netvc_read_buffer
    - netvc_reader
    argTypes:
    - NetVConnection
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1709
    functionDepth: 2
    functionLinenumber: 1709
    functionLinenumberEnd: 1742
    functionName: HttpSM::create_server_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - NetVConnection::get_local_addr
    - PoolableSession*::new_connection
    - SMDbg
    - outbound_conn_track_state::drop
    - ats_ip_copy
    - PoolableSession*::enable_outbound_connection_tracking
    - ProxySession::create_outbound_session
    - NetVConnection::get_service
    - outbound_conn_track_state::is_active
    - PoolableSession*::attach_hostname
    - ATS_PROBE1
    - PoolableSession*::set_active
    - auto::get_negotiated_protocol_id
    - static_cast<TSServerSessionSharingPoolType>
    - static_cast<TSServerSessionSharingMatchMask>
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *

      HttpSM::create_server_session(NetVConnection &netvc, MIOBuffer *netvc_read_buffer,
      IOBufferReader *netvc_reader)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1747,1
    - Dst: PoolableSession*::new_transaction
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1750,1
    - Dst: attach_transaction
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1753,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1756,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1759,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1760,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1765,1
    - Dst: HttpSM::attach_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - new_session
    argTypes:
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1772
    functionName: HttpSM::create_server_txn
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - PoolableSession*::new_transaction
    - ts::Metrics::Counter::increment
    - get_proxy_ssn
    - attach_transaction
    - do_io_write
    - ts::Metrics::Gauge::increment
    - ink_assert
    - HttpSM::attach_server_session
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::create_server_txn(PoolableSession *new_session)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1782,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1782,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1783,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1784,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1785,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1789,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1790,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1797,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1798,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1799,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1800,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1801,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1801,1
    - Dst: get_continuation
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1801,1
    - Dst: UnixNetVConnection*::get_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1801,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1805,1
    - Dst: HttpSM::get_server_connect_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1805,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1808,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1809,1
    - Dst: HttpSM::get_server_connect_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1809,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1812,1
    - Dst: HttpSM::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1813,1
    - Dst: HttpSM::create_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1813,1
    - Dst: HttpSM::handle_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1814,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1816,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1816,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1821,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1824,1
    - Dst: HttpSM::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1825,1
    - Dst: static_cast<PoolableSession *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1825,1
    - Dst: HttpSM::handle_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1826,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1829,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1836,1
    - Dst: HttpSM::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1837,1
    - Dst: HttpSM::create_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1837,1
    - Dst: current::server::clear_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1838,1
    - Dst: HttpSM::handle_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1839,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1843,1
    - Dst: outbound_conn_track_state::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1849,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1852,1
    - Dst: provided_cert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1854,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1855,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1856,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1874,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1876,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1877,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1878,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1883,1
    - Dst: HttpSM::send_origin_throttled_response
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1884,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1888,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1889,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1895,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1899,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1900,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 94
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1779
    functionDepth: 3
    functionLinenumber: 1779
    functionLinenumberEnd: 1905
    functionName: HttpSM::state_http_server_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - SMDbg
    - alloc_reader
    - get_continuation
    - HttpSM::do_http_server_open
    - provided_cert
    - HttpSM::get_server_connect_timeout
    - HttpSM::send_origin_throttled_response
    - static_cast<PoolableSession *>
    - UnixNetVConnection*::get_action
    - set_inactivity_timeout
    - ts::Metrics::Counter::increment
    - HttpSM::handle_http_server_open
    - empty
    - HttpSM::release_server_session
    - ink_release_assert
    - HttpDebugNames::get_event_name
    - do_io_close
    - HttpSM::call_transact_and_set_next_state
    - Error
    - ats_ip_nptop
    - outbound_conn_track_state::clear
    - static_cast<UnixNetVConnection *>
    - ink_assert
    - HttpSM::create_server_session
    - HttpSM::create_server_txn
    - ink_get_hrtime
    - STATE_ENTER
    - set_connect_fail
    - current::server::clear_connect_fail
    - 'on'
    - static_cast<NetVConnection *>
    - do_io_write
    - ATS_PROBE1
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_http_server_open(int event, void *data)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1910,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1917,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1918,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1919,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1920,1
    - Dst: current::retry_attempts::maximize
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1933,1
    - Dst: configured_connect_attempts_max_retries
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1933,1
    - Dst: HttpSM::handle_server_setup_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1940,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1949,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1950,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1952,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1952,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1955,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1956,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1958,1
    - Dst: hdr_info::server_response::parse_resp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1965,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1965,1
    - Dst: hdr_info::server_response::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1971,1
    - Dst: get_transaction_id
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1972,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1984,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1985,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1986,1
    - Dst: is_tunnel_alive
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1995,1
    - Dst: abort_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:1996,1
    - Dst: hdr_info::server_response::type_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2012,1
    - Dst: hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2013,1
    - Dst: hdr_info::server_response::field_find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2014,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2014,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2020,1
    - Dst: HttpSM::handle_server_setup_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2030,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2032,1
    - Dst: hdr_info::server_response::check_hdr_implements
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2042,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2044,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2048,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2058,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2058,1
    - Dst: HttpSM::disable_redirect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2066,1
    - Dst: is_tunnel_alive
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2070,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2071,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2072,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2074,1
    - Dst: read_vio::disable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2075,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2079,1
    - Dst: read_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2080,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2084,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 1907
    functionDepth: 2
    functionLinenumber: 1907
    functionLinenumberEnd: 2088
    functionName: HttpSM::state_read_server_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::disable_redirect
    - SMDbg
    - read_vio::reenable
    - get_remote_reader
    - hdr_info::server_response::field_find
    - hdr_info::server_response::version_get
    - configured_connect_attempts_max_retries
    - read_vio::disable
    - set_inactivity_timeout
    - http_parser_clear
    - hdr_info::server_response::status_get
    - get_transaction_id
    - hdr_info::server_response::parse_resp
    - HttpSM::get_server_inactivity_timeout
    - hdr_info::server_response::type_get
    - static_cast<std::string_view>
    - HttpSM::call_transact_and_set_next_state
    - HttpSM::do_api_callout
    - abort_tunnel
    - get_txn
    - current::retry_attempts::maximize
    - ink_assert
    - ink_get_hrtime
    - STATE_ENTER
    - hdr_info::server_response::check_hdr_implements
    - HRTIME_SECONDS
    - ATS_PROBE1
    - is_tunnel_alive
    - HttpSM::handle_server_setup_error
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_read_server_response_header(int event, void *data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2093,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2094,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2095,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2096,1
    - Dst: write_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2102,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2109,1
    - Dst: hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2111,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2113,1
    - Dst: HttpSM::setup_transform_to_server_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2116,1
    - Dst: HttpSM::do_setup_client_request_body_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2120,1
    - Dst: HttpSM::handle_server_setup_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2162,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2167,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2176
    functionName: HttpSM::state_send_server_request_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_setup_client_request_body_tunnel
    - STATE_ENTER
    - SMDbg
    - ink_release_assert
    - hdr_info::server_request::method_get_wksidx
    - free_MIOBuffer
    - ink_assert
    - HttpSM::handle_server_setup_error
    - get_txn
    - HttpSM::setup_transform_to_server_transfer
    - write_vio::reenable
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_send_server_request_header(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2182
    functionName: HttpSM::origin_multiplexed
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::origin_multiplexed() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2187,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2192,1
    - Dst: EThread*::connecting_pool::m_ip_pool::equal_range
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2193,1
    - Dst: ConnectingEntry*::connect_sms::find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2197,1
    - Dst: ConnectingEntry*::connect_sms::end
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2198,1
    - Dst: ConnectingEntry*::connect_sms::erase
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2200,1
    - Dst: ConnectingEntry*::connect_sms::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2201,1
    - Dst: ConnectingEntry*::netvc::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2203,1
    - Dst: ConnectingEntry*::netvc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2204,1
    - Dst: EThread*::connecting_pool::m_ip_pool::erase
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2214
    functionName: HttpSM::cancel_pending_server_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ConnectingEntry*::connect_sms::end
    - ConnectingEntry*::netvc::do_io_write
    - ConnectingEntry*::connect_sms::erase
    - ConnectingEntry*::connect_sms::find
    - EThread*::connecting_pool::m_ip_pool::equal_range
    - EThread*::connecting_pool::m_ip_pool::erase
    - ConnectingEntry*::netvc::do_io_close
    - ConnectingEntry*::connect_sms::empty
    - this_ethread
    - IpEndpoint::assign
    linkageType: ''
    returnType: void
    signature: void HttpSM::cancel_pending_server_connection()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2223,1
    - Dst: initialize_thread_for_connecting_pools
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2230,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2232,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2233,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2233,1
    - Dst: dynamic_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2234,1
    - Dst: get_NetHandler
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2234,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2234,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2236,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2239,1
    - Dst: HttpSM::get_outbound_sni
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2240,1
    - Dst: HttpSM::get_outbound_cert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2241,1
    - Dst: EThread*::connecting_pool::m_ip_pool::equal_range
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2243,1
    - Dst: auto::second::connect_sms::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2248,1
    - Dst: HttpSM::t_state::set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2251,1
    - Dst: auto::second::connect_sms::insert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2252,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2253,1
    - Dst: auto::second::connect_sms::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2218
    functionDepth: 2
    functionLinenumber: 2218
    functionLinenumberEnd: 2259
    functionName: HttpSM::add_to_existing_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<UnixNetVConnection *>
    - HTTP_SM_SET_DEFAULT_HANDLER
    - get_NetHandler
    - auto::second::connect_sms::size
    - IpEndpoint::assign
    - EThread*::connecting_pool::m_ip_pool::equal_range
    - HttpSM::get_outbound_sni
    - auto::second::connect_sms::insert
    - HttpSM::get_outbound_cert
    - Dbg
    - get_txn
    - this_ethread
    - initialize_thread_for_connecting_pools
    - ink_assert
    - HttpSM::t_state::set_connect_fail
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::add_to_existing_request()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2264,1
    - Dst: HostDBRecord*::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2268,1
    - Dst: my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2271,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2272,1
    - Dst: HostDBRecord*::select_best_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2274,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2274,1
    - Dst: my_txn_conf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2279,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2280,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2284,1
    - Dst: makeHostHash
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2284,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - record
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2261
    functionDepth: 2
    functionLinenumber: 2261
    functionLinenumberEnd: 2289
    functionName: HttpSM::process_srv_info
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - HostDBRecord*::select_best_srv
    - ink_assert
    - my_txn_conf
    - makeHostHash
    - HostDBRecord*::is_srv
    - failover_now
    linkageType: ''
    returnType: void
    signature: void HttpSM::process_srv_info(HostDBRecord *record)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_info::set_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2299,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2302,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2302,1
    - Dst: dns_info::set_upstream_address
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2304,1
    - Dst: NetVConnection*::get_local_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2304,1
    - Dst: HostDBRecord*::is_failed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2309,1
    - Dst: dns_info::set_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2312,1
    - Dst: HostDBRecord*::select_best_http
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2313,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2313,1
    - Dst: HostDBRecord*::find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2318,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2319,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2324,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2328,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2331,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2332,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2334,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2336,1
    - Dst: difference_msec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2336,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - record
    argTypes:
    - HostDBRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2340
    functionName: HttpSM::process_hostdb_info
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - dns_info::set_active
    - ink_get_hrtime
    - NetVConnection*::get_local_addr
    - SMDbg
    - 'on'
    - HostDBRecord*::is_failed
    - difference_msec
    - ATS_PROBE1
    - HostDBRecord*::select_best_http
    - HostDBRecord*::find
    - get_txn
    - dns_info::set_upstream_address
    - failover_now
    linkageType: ''
    returnType: void
    signature: void HttpSM::process_hostdb_info(HostDBRecord *record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2347
    functionName: HttpSM::state_pre_resolve
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_pre_resolve(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2357,1
    - Dst: HttpSM::process_hostdb_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2362,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2362,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2363,1
    - Dst: HttpSM::process_srv_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2367,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2367,1
    - Dst: dns_info::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2369,1
    - Dst: dns_info::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2371,1
    - Dst: server_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2371,1
    - Dst: ats_host_res_from
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2376,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2376,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2378,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2379,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2380,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2384,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2354
    functionDepth: 3
    functionLinenumber: 2354
    functionLinenumberEnd: 2390
    functionName: HttpSM::state_hostdb_lookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ats_host_res_from
    - STATE_ENTER
    - HttpSM::process_hostdb_info
    - getbyname_imm
    - HttpSM::call_transact_and_set_next_state
    - dns_info::is_srv
    - get_txn
    - static_cast<HostDBRecord *>
    - server_info::dst_addr::host_order_port
    - empty
    - HttpSM::process_srv_info
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_hostdb_lookup(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2395,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2399,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2400,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2406,1
    - Dst: name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2406,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2408,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2410,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2392
    functionDepth: 2
    functionLinenumber: 2392
    functionLinenumberEnd: 2417
    functionName: HttpSM::state_hostdb_reverse_lookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - STATE_ENTER
    - SMDbg
    - HttpSM::call_transact_and_set_next_state
    - name
    - static_cast<HostDBRecord *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_hostdb_reverse_lookup(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2427,1
    - Dst: static_cast<HostDBRecord *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2430,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2433,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2434,1
    - Dst: auto::find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2435,1
    - Dst: auto*::mark_down
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2436,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2436,1
    - Dst: HttpSM::state_hostdb_lookup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2424
    functionDepth: 4
    functionLinenumber: 2424
    functionLinenumberEnd: 2442
    functionName: HttpSM::state_mark_os_down
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - auto*::mark_down
    - HttpSM::state_hostdb_lookup
    - auto::find
    - static_cast<HostDBRecord *>
    - ink_assert
    - failover_now
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_mark_os_down(int event, void *data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2454,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2457,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2458,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2459,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2460,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2463,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2464,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2464,1
    - Dst: clear_if_action_is
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2467,1
    - Dst: reinterpret_cast<Action *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2467,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2469,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2470,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2485,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2486,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2490,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2496,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2498,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2511,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2511,1
    - Dst: cache_read_vc::get_http_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2518,1
    - Dst: cache_read_vc::is_ram_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2520,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2526,1
    - Dst: HttpSM::state_common_wait_for_transform_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2542,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2548,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2552,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2451
    functionDepth: 2
    functionLinenumber: 2451
    functionLinenumberEnd: 2555
    functionName: HttpSM::state_cache_open_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - STATE_ENTER
    - ink_release_assert
    - ink_get_hrtime
    - SMDbg
    - HttpSM::state_common_wait_for_transform_read
    - HttpSM::call_transact_and_set_next_state
    - clear_if_action_is
    - reinterpret_cast<Action *>
    - ink_assert
    - ATS_PROBE1
    - cache_read_vc::get_http_info
    - get_txn
    - cache_read_vc::is_ram_cache_hit
    - this_ethread
    - empty
    - static_cast<MgmtByte>
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_cache_open_write(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2557
    functionDepth: 2
    functionLinenumber: 2557
    functionLinenumberEnd: 2562
    functionName: HttpSM::setup_cache_lookup_complete_api
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_api_callout
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_cache_lookup_complete_api()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2576,1
    - Dst: clear_if_action_is
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2578,1
    - Dst: reinterpret_cast<Action *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2578,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2580,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2581,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2587,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2592,1
    - Dst: cache_read_vc::get_http_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2595,1
    - Dst: cache_read_vc::is_ram_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2597,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2604,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2607,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2608,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2614,1
    - Dst: InkStrerror
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2614,1
    - Dst: get_last_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2614,1
    - Dst: get_last_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2615,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2617,1
    - Dst: get_last_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2620,1
    - Dst: HttpSM::do_cache_lookup_and_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2627,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2633,1
    - Dst: HttpSM::setup_cache_lookup_complete_api
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2635,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2639,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2643,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2573
    functionDepth: 3
    functionLinenumber: 2573
    functionLinenumberEnd: 2647
    functionName: HttpSM::state_cache_open_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - STATE_ENTER
    - SMDbg
    - ink_release_assert
    - ink_get_hrtime
    - HttpSM::call_transact_and_set_next_state
    - clear_if_action_is
    - reinterpret_cast<Action *>
    - HttpSM::setup_cache_lookup_complete_api
    - cache_read_vc::get_http_info
    - get_last_error
    - HttpSM::do_cache_lookup_and_read
    - ATS_PROBE1
    - cache_read_vc::is_ram_cache_hit
    - ink_assert
    - InkStrerror
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_cache_open_read(int event, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2652,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2655,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2660,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2660,1
    - Dst: find_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2669,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2669,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2674,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2675,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2676,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2679,1
    - Dst: HttpSM::kill_this
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2693,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2649
    functionDepth: 1
    functionLinenumber: 2649
    functionLinenumberEnd: 2700
    functionName: HttpSM::main_handler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - ink_release_assert
    - find_entry
    - HttpDebugNames::get_event_name
    - HttpSM::kill_this
    - static_cast<VIO *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::main_handler(int event, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2710,1
    - Dst: static_cast<HttpSmPost_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2711,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2721,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2722,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2723,1
    - Dst: static_cast<HttpSmPost_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2727,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2729,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2730,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2734,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2739,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2740,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2741,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2742,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2745,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2707
    functionDepth: 2
    functionLinenumber: 2707
    functionLinenumberEnd: 2752
    functionName: HttpSM::tunnel_handler_post_or_put
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - ink_release_assert
    - get_consumer
    - static_cast<HttpSmPost_t>
    - deallocate_buffers
    - cleanup_entry
    - reset
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::tunnel_handler_post_or_put(HttpTunnelProducer *p)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2762,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2765,1
    - Dst: get_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2765,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2765,1
    - Dst: get_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2765,1
    - Dst: static_cast<HttpSmPost_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2772,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2776,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2779,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2782,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2796,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2797,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2797,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2798,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2800,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2801,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2807,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2811,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2812,1
    - Dst: HttpSM::is_postbuf_valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2816,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2817,1
    - Dst: HttpSM::tunnel_handler_post_or_put
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2820,1
    - Dst: static_cast<HttpSmPost_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2823,1
    - Dst: HttpSM::handle_post_failure
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2825,1
    - Dst: HttpSM::postbuf_buffer_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2836,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2838,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2847,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2851,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2759
    functionDepth: 3
    functionLinenumber: 2759
    functionLinenumberEnd: 2855
    functionName: HttpSM::tunnel_handler_post
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - get_entry
    - STATE_ENTER
    - ink_release_assert
    - get_producer
    - HttpSM::call_transact_and_set_next_state
    - static_cast<HttpSmPost_t>
    - HttpSM::handle_post_failure
    - HttpSM::postbuf_buffer_avail
    - free_MIOBuffer
    - HttpSM::do_api_callout
    - get_txn
    - HttpSM::tunnel_handler_post_or_put
    - HttpSM::is_postbuf_valid
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_post(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2864,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2867,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2868,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2869,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2857
    functionDepth: 1
    functionLinenumber: 2857
    functionLinenumberEnd: 2872
    functionName: HttpSM::setup_tunnel_handler_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - get_txn
    - SMDbg
    - local_finish_all
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_tunnel_handler_trailer(HttpTunnelProducer *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2877,1
    - Dst: HttpSM::tunnel_handler
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2885,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2888,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2891,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2893,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2894,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2897,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2897,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2897,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2898,1
    - Dst: is_read_closed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2900,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2904,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2905,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2906,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2907,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2909,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2909,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2912,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2874
    functionDepth: 2
    functionLinenumber: 2874
    functionLinenumberEnd: 2918
    functionName: HttpSM::tunnel_handler_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - STATE_ENTER
    - new_MIOBuffer
    - get_entry
    - tunnel_run
    - get_remote_reader
    - MIOBuffer*::alloc_reader
    - MIOBuffer*::write
    - is_read_closed
    - deallocate_buffers
    - add_producer
    - HttpSM::tunnel_handler
    - reset
    - get_txn
    - add_consumer
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_trailer(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2923,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2925,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2926,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2928,1
    - Dst: HttpSM::find_server_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2930,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2931,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2932,1
    - Dst: HttpSM::server_transfer_init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2939,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2941,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2944,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2949,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2950,1
    - Dst: HttpSM::setup_cache_write_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2952,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2959
    functionName: HttpSM::tunnel_handler_cache_fill
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - STATE_ENTER
    - ink_release_assert
    - set_producer_chunking_action
    - tunnel_run
    - MIOBuffer*::alloc_reader
    - add_producer
    - HttpSM::setup_cache_write_transfer
    - set_producer_chunking_size
    - HttpSM::server_transfer_init
    - ink_assert
    - HttpSM::find_server_buffer_size
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_cache_fill(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2964,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2966,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2967,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2972,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2972,1
    - Dst: hdr_info::client_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2977,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2978,1
    - Dst: HttpSM::postbuf_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2979,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2980,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2986,1
    - Dst: hdr_info::server_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2990,1
    - Dst: hdr_info::server_response::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2991,1
    - Dst: HttpSM::handle_server_setup_error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2992,1
    - Dst: HttpSM::do_setup_client_request_body_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:2994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2961
    functionDepth: 1
    functionLinenumber: 2961
    functionLinenumberEnd: 3001
    functionName: HttpSM::tunnel_handler_100_continue
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_setup_client_request_body_tunnel
    - STATE_ENTER
    - SMDbg
    - hdr_info::server_response::destroy
    - get_consumer
    - deallocate_buffers
    - HttpSM::postbuf_clear
    - reset
    - hdr_info::server_response::create
    - get_txn
    - HttpSM::handle_server_setup_error
    - hdr_info::client_response::destroy
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_100_continue(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3006,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3008,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3009,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3013,1
    - Dst: get_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3013,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3013,1
    - Dst: get_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3013,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3023,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3028,1
    - Dst: HttpSM::postbuf_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3029,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3030,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3033,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3039
    functionName: HttpSM::tunnel_handler_push
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - ink_release_assert
    - get_producer
    - HttpSM::call_transact_and_set_next_state
    - deallocate_buffers
    - HttpSM::postbuf_clear
    - reset
    - get_txn
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_push(int event, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3044,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3052,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3056,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3041
    functionDepth: 1
    functionLinenumber: 3041
    functionLinenumberEnd: 3061
    functionName: HttpSM::tunnel_handler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - unlikely
    - STATE_ENTER
    - ts::Metrics::Gauge::decrement
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler(int event, void * /* data ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::server_response::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3088,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3067
    functionDepth: 1
    functionLinenumber: 3067
    functionLinenumberEnd: 3096
    functionName: HttpSM::is_http_server_eos_truncation
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - hdr_info::server_response::get_content_length
    - SMDbg
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_http_server_eos_truncation(HttpTunnelProducer *p)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3101,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3108,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3109,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3119,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3121,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3123,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3156,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3159,1
    - Dst: HttpSM::is_http_server_eos_truncation
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3161,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3162,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3163,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3178,1
    - Dst: expect_receive_trailer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3194,1
    - Dst: HttpSM::setup_tunnel_handler_trailer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3195,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3198,1
    - Dst: abort_cache_write_finish_others
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3214,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3220,1
    - Dst: expect_receive_trailer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3223,1
    - Dst: HttpSM::setup_tunnel_handler_trailer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3224,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3235,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3244,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3256,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3260,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3261,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3266,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3269,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3276,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3276,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3286,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3288,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3289,1
    - Dst: static_cast<PoolableSession *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3289,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3289,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3295,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3295,1
    - Dst: release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3296,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 129
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3098
    functionDepth: 2
    functionLinenumber: 3098
    functionLinenumberEnd: 3301
    functionName: HttpSM::tunnel_handler_server
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - HttpTunnelProducer*::vc::do_io_close
    - chain_abort_all
    - release
    - static_cast<PoolableSession *>
    - HttpSM::is_http_server_eos_truncation
    - ts::Metrics::Counter::increment
    - set_inactivity_timeout
    - get_proxy_ssn
    - expect_receive_trailer
    - get_txn
    - HttpSM::setup_tunnel_handler_trailer
    - ink_assert
    - ink_get_hrtime
    - STATE_ENTER
    - abort_cache_write_finish_others
    - ts::Metrics::Gauge::decrement
    - HRTIME_SECONDS
    - ATS_PROBE1
    - remove_entry
    - local_finish_all
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_server(int event, HttpTunnelProducer *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3306,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3333,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3335,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3336,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3359,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3364,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3365,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3366,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3371,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3379
    functionName: HttpSM::tunnel_handler_trailer_server
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - SMDbg
    - HttpTunnelProducer*::vc::do_io_close
    - chain_abort_all
    - remove_entry
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_trailer_server(int event, HttpTunnelProducer
      *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3390,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3392,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3392,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3396,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3401,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3402,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3402,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3403,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3409,1
    - Dst: HttpTunnelConsumer*::vc::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3387
    functionDepth: 2
    functionLinenumber: 3387
    functionLinenumberEnd: 3419
    functionName: HttpSM::tunnel_handler_100_continue_ua
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - STATE_ENTER
    - HttpTunnelConsumer*::vc::do_io_close
    - HttpSM::set_ua_abort
    - remove_entry
    - get_txn
    - HttpTunnelConsumer*::vc::do_io_write
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_100_continue_ua(int event, HttpTunnelConsumer
      *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3424,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3433,1
    - Dst: hdr_info::client_response::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3449,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3453,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3468
    functionName: HttpSM::is_bg_fill_necessary
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - hdr_info::client_response::get_content_length
    - get_netvc
    - static_cast<float>
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_bg_fill_necessary(HttpTunnelConsumer *c)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3477,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3478,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3478,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3479,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3480,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3484,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3493,1
    - Dst: HttpSM::is_bg_fill_necessary
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3495,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3497,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3504,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3505,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3507,1
    - Dst: HttpTunnelConsumer*::is_downstream_from
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3507,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3508,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3508,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3513,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3513,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3514,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3520,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3529,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3539,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3550,1
    - Dst: expect_receive_trailer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3582,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3592,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3595,1
    - Dst: HttpSM::_ua::get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3595,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3596,1
    - Dst: find_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3596,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3596,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3597,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3599,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3599,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3600,1
    - Dst: HttpSM::_ua::get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3600,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3601,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3470
    functionDepth: 2
    functionLinenumber: 3470
    functionLinenumberEnd: 3605
    functionName: HttpSM::tunnel_handler_ua
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - SMDbg
    - chain_abort_all
    - HttpSM::is_bg_fill_necessary
    - ts::Metrics::Counter::increment
    - HttpTunnelConsumer*::vc::do_io_close
    - HttpSM::set_ua_abort
    - HttpSM::_ua::get_entry
    - expect_receive_trailer
    - ink_release_assert
    - find_entry
    - get_txn
    - HttpTunnelConsumer*::is_downstream_from
    - set_active_timeout
    - ink_assert
    - ink_get_hrtime
    - STATE_ENTER
    - HRTIME_SECONDS
    - ATS_PROBE1
    - remove_entry
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_ua(int event, HttpTunnelConsumer *c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3613,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3614,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3614,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3615,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3616,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3620,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3629,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3632,1
    - Dst: HttpSM::is_bg_fill_necessary
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3632,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3634,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3643,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3657,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3661,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3661,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3662,1
    - Dst: HttpSM::_ua::get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3662,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3663,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3664,1
    - Dst: find_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3664,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3607
    functionDepth: 2
    functionLinenumber: 3607
    functionLinenumberEnd: 3666
    functionName: HttpSM::tunnel_handler_trailer_ua
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - STATE_ENTER
    - get_entry
    - ink_release_assert
    - chain_abort_all
    - find_entry
    - ATS_PROBE1
    - HttpSM::set_ua_abort
    - remove_entry
    - get_txn
    - HttpSM::_ua::get_entry
    - HttpSM::is_bg_fill_necessary
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_trailer_ua(int event, HttpTunnelConsumer
      *c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3671,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3682,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3683,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3685,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3693,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3706
      start: 3668
    functionDepth: 2
    functionLinenumber: 3668
    functionLinenumberEnd: 3706
    functionName: HttpSM::tunnel_handler_ua_push
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - STATE_ENTER
    - HttpTunnelProducer*::vc::do_io_close
    - chain_abort_all
    - HttpSM::set_ua_abort
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_ua_push(int event, HttpTunnelProducer *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3711,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3716,1
    - Dst: cache_info::object_read::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3716,1
    - Dst: cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3717,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3720,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3722,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3723,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3726,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3736,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3740,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3708
    functionDepth: 1
    functionLinenumber: 3708
    functionLinenumberEnd: 3746
    functionName: HttpSM::tunnel_handler_cache_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - STATE_ENTER
    - HttpTunnelProducer*::vc::do_io_close
    - ink_release_assert
    - ts::Metrics::Gauge::decrement
    - chain_abort_all
    - cache_info::object_read::object_size_get
    - cache_info::object_read::valid
    - local_finish_all
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_cache_read(int event, HttpTunnelProducer
      *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3751,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3752,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3752,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3764,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3766,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3767,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3767,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3770,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3782,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3786,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3792,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3748
    functionDepth: 1
    functionLinenumber: 3748
    functionLinenumberEnd: 3802
    functionName: HttpSM::tunnel_handler_cache_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - STATE_ENTER
    - SMDbg
    - ts::Metrics::Gauge::decrement
    - HttpTunnelConsumer*::vc::do_io_close
    - HttpDebugNames::get_event_name
    - chain_abort_all
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_cache_write(int event, HttpTunnelConsumer
      *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3807,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3816,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3821,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3821,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3822,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3824,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3825,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3833,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3834,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3836,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3836,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3838,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3840,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3840,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3842,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3842,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3853,1
    - Dst: HttpSM::set_ua_abort
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3854,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3855,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3860,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3860,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3862,1
    - Dst: remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3867,1
    - Dst: HttpSM::_ua::get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3867,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3868,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3873,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3875,1
    - Dst: abort_cache_write_finish_others
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3879,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3881,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3887,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3888,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3891,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3892,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3893,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3893,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3893,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3897,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3804
    functionDepth: 2
    functionLinenumber: 3804
    functionLinenumberEnd: 3901
    functionName: HttpSM::tunnel_handler_post_ua
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - get_entry
    - STATE_ENTER
    - SMDbg
    - hsm_release_assert
    - abort_cache_write_finish_others
    - ink_release_assert
    - chain_abort_all
    - HRTIME_SECONDS
    - min
    - IOBufferReader*::read_avail
    - IOBufferReader*::consume
    - get_txn
    - HttpSM::set_ua_abort
    - remove_entry
    - HttpSM::_ua::get_entry
    - HttpTunnelProducer*::vc::do_io_read
    - local_finish_all
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_post_ua(int event, HttpTunnelProducer *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3911,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3912,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3913,1
    - Dst: HttpSM::handle_post_failure
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3920,1
    - Dst: HttpSM::do_setup_client_request_body_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3926
      start: 3908
    functionDepth: 1
    functionLinenumber: 3908
    functionLinenumberEnd: 3926
    functionName: HttpSM::tunnel_handler_for_partial_post
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_setup_client_request_body_tunnel
    - STATE_ENTER
    - deallocate_buffers
    - HttpSM::handle_post_failure
    - reset
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_for_partial_post(int event, void * /* data
      ATS_UNUSED */)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3931,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3951,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3955,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3959,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3963,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3963,1
    - Dst: HttpTunnelConsumer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3985,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3992,1
    - Dst: HttpTunnelConsumer*::producer::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:3993,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4001,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4002,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4002,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4003,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4003,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4008,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4009,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4016,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4016,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4016,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4024,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4024,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4024,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4033,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4034,1
    - Dst: is_tunnel_alive
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4034,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4043,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 3928
    functionDepth: 2
    functionLinenumber: 3928
    functionLinenumberEnd: 4047
    functionName: HttpSM::tunnel_handler_post_server
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HttpTunnelConsumer*::producer::vc::do_io_close
    - STATE_ENTER
    - get_entry
    - ink_release_assert
    - get_netvc
    - HttpTunnelConsumer*::vc::do_io_shutdown
    - is_tunnel_alive
    - set_connect_fail
    - get_txn
    - HttpTunnelProducer*::vc::do_io_read
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_post_server(int event, HttpTunnelConsumer
      *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4052,1
    - Dst: HttpTunnelProducer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4069,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4070,1
    - Dst: close_vc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4081,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4082,1
    - Dst: HttpTunnelProducer*::self_consumer::producer::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4090,1
    - Dst: close_vc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4092,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4049
    functionDepth: 1
    functionLinenumber: 4049
    functionLinenumberEnd: 4119
    functionName: HttpSM::tunnel_handler_ssl_producer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - close_vc
    - STATE_ENTER
    - ink_release_assert
    - HttpTunnelProducer*::self_consumer::producer::vc::do_io_shutdown
    - local_finish_all
    - HttpTunnelProducer*::vc::do_io_shutdown
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_ssl_producer(int event, HttpTunnelProducer
      *p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4124,1
    - Dst: HttpTunnelConsumer*::producer::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4136,1
    - Dst: close_vc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4138,1
    - Dst: close_vc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4143,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4144,1
    - Dst: HttpTunnelConsumer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4160,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4162,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4186
      start: 4121
    functionDepth: 1
    functionLinenumber: 4121
    functionLinenumberEnd: 4186
    functionName: HttpSM::tunnel_handler_ssl_consumer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelConsumer*::producer::vc::do_io_shutdown
    - close_vc
    - STATE_ENTER
    - ink_release_assert
    - HttpTunnelConsumer*::vc::do_io_close
    - HttpTunnelConsumer*::vc::do_io_shutdown
    - local_finish_all
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_ssl_consumer(int event, HttpTunnelConsumer
      *c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4191,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4202,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4203,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4209,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4211,1
    - Dst: producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4224,1
    - Dst: HttpTunnelConsumer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4230,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4241,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4245,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4188
    functionDepth: 1
    functionLinenumber: 4188
    functionLinenumberEnd: 4271
    functionName: HttpSM::tunnel_handler_transform_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - ink_release_assert
    - HttpTunnelConsumer*::vc::do_io_close
    - chain_abort_all
    - HttpTunnelConsumer*::vc::do_io_shutdown
    - producer_handler
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_transform_write(int event, HttpTunnelConsumer
      *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4276,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4278,1
    - Dst: chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4283,1
    - Dst: abort_cache_write_finish_others
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4291,1
    - Dst: local_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4299,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4302,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4309,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4273
    functionDepth: 1
    functionLinenumber: 4273
    functionLinenumberEnd: 4315
    functionName: HttpSM::tunnel_handler_transform_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - STATE_ENTER
    - abort_cache_write_finish_others
    - ink_release_assert
    - HttpTunnelProducer*::vc::do_io_close
    - chain_abort_all
    - local_finish_all
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_transform_read(int event, HttpTunnelProducer
      *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4320,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4324,1
    - Dst: producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4327,1
    - Dst: producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4332,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4337,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4344
      start: 4317
    functionDepth: 1
    functionLinenumber: 4317
    functionLinenumberEnd: 4344
    functionName: HttpSM::tunnel_handler_plugin_agent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - producer_handler
    - ink_release_assert
    - HttpTunnelConsumer*::vc::do_io_close
    linkageType: ''
    returnType: int
    signature: int HttpSM::tunnel_handler_plugin_agent(int event, HttpTunnelConsumer
      *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4349,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4353,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4355,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4356,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4362,1
    - Dst: finish_remap
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4363,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4364,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4374
      start: 4346
    functionDepth: 1
    functionLinenumber: 4346
    functionLinenumberEnd: 4374
    functionName: HttpSM::state_remap_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - SMDbg
    - finish_remap
    - HttpSM::call_transact_and_set_next_state
    - Error
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::state_remap_request(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::client_request::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4383,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4384,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4384,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4386,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4390,1
    - Dst: auto*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4395,1
    - Dst: auto*::would_have_actions_for
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4401,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4401,1
    - Dst: auto*::get_remote_endpoint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4401,1
    - Dst: auto*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4406,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4409,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4409,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4410,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4410,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4412,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4414,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4414,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4417,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4417,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4418,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4418,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4419,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4419,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4422,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4424,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4424,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4428,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4428,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4431,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4431,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4378
    functionDepth: 1
    functionLinenumber: 4378
    functionLinenumberEnd: 4433
    functionName: HttpSM::check_sni_host
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto*::get_remote_endpoint
    - auto*::get_sni_server_name
    - auto::length
    - Warning
    - auto*::would_have_actions_for
    - SMDbg
    - strncasecmp
    - Log::error
    - auto*::get_service
    - get_txn
    - c_str
    - auto::data
    - hdr_info::client_request::host_get
    - swoc::SWOC_VERSION_NS::bwprint
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void HttpSM::check_sni_host()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4438,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4439,1
    - Dst: setup_for_remap
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4440,1
    - Dst: HttpSM::check_sni_host
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4442,1
    - Dst: hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4449,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4449,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4451,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4452,1
    - Dst: auto::starts_with
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4456,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4457,1
    - Dst: auto::ends_with
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4459,1
    - Dst: auto::remove_suffix
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4460,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4462,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4464,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4464,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4464,1
    - Dst: auto::substr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4465,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4472,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4472,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4472,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4472,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4476,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4476,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4476,1
    - Dst: auto::substr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4477,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4477,1
    - Dst: unmapped_url::host_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4482,1
    - Dst: unmapped_url::port_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4484,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4491,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4492,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4494,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4499,1
    - Dst: perform_remap
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4500,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - run_inline
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4503
      start: 4435
    functionDepth: 2
    functionLinenumber: 4435
    functionLinenumberEnd: 4503
    functionName: HttpSM::do_remap_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - unmapped_url::host_set
    - SMDbg
    - perform_remap
    - auto::remove_suffix
    - MIMEField*::value_get
    - HttpSM::check_sni_host
    - handleEvent
    - ts::Metrics::Counter::increment
    - auto::substr
    - unmapped_url::port_set
    - auto::remove_prefix
    - ink_atoi
    - auto::data
    - setup_for_remap
    - memchr
    - auto::length
    - static_cast<std::string_view>
    - auto::starts_with
    - hdr_info::client_request::field_find
    - static_cast<const char *>
    - auto::ends_with
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_remap_request(bool run_inline)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4508,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4509,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4509,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4511,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4512,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4517,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4523,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4523,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4524,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4526,1
    - Dst: getSRVbyname_imm
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4532,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4533,1
    - Dst: dns_info::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4534,1
    - Dst: dns_info::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4535,1
    - Dst: server_info::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4536,1
    - Dst: server_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4536,1
    - Dst: hdr_info::client_request::port_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4537,1
    - Dst: ats_host_res_from
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4542,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4542,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4544,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4545,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4546,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4551,1
    - Dst: current::server::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4556,1
    - Dst: current::server::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4557,1
    - Dst: server_info::dst_addr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4558,1
    - Dst: server_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4559,1
    - Dst: hdr_info::client_request::port_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4561,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4565,1
    - Dst: ats_host_res_from
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4575,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4575,1
    - Dst: getbyname_imm
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4577,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4579,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4580,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4505
    functionDepth: 1
    functionLinenumber: 4505
    functionLinenumberEnd: 4586
    functionName: HttpSM::do_hostdb_lookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - hdrtoken_index_to_wks
    - snprintf
    - hdr_info::client_request::port_get
    - ink_strlcpy
    - dns_info::is_srv
    - server_info::dst_addr::host_order_port
    - empty
    - getbyname_imm
    - HttpSM::call_transact_and_set_next_state
    - get_txn
    - getSRVbyname_imm
    - ink_assert
    - server_info::dst_addr::isValid
    - ats_host_res_from
    - ink_get_hrtime
    - current::server::dst_addr::host_order_port
    - current::server::dst_addr::isValid
    - ATS_PROBE1
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_hostdb_lookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4591,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4592,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4592,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4594,1
    - Dst: ats_ip_pton
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4597,1
    - Dst: getbyaddr_re
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4601
      start: 4588
    functionDepth: 1
    functionLinenumber: 4588
    functionLinenumberEnd: 4601
    functionName: HttpSM::do_hostdb_reverse_lookup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - getbyaddr_re
    - SMDbg
    - ink_assert
    - empty
    - ats_ip_pton
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_hostdb_reverse_lookup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: current::server::had_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4616
      start: 4603
    functionDepth: 0
    functionLinenumber: 4603
    functionLinenumberEnd: 4616
    functionName: HttpSM::track_connect_fail
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - current::server::had_connect_fail
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::track_connect_fail() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::track_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4639,1
    - Dst: HttpSM::mark_host_failure
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4640,1
    - Dst: ts_clock::from_time_t
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4640,1
    - Dst: dns_info::mark_active_server_alive
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4642,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4644,1
    - Dst: ATS_PROBE2
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4645,1
    - Dst: dns_info::record::is_srv
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4646,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4647,1
    - Dst: dns_info::record::name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4647,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4650,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4656,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4658
      start: 4618
    functionDepth: 1
    functionLinenumber: 4618
    functionLinenumberEnd: 4658
    functionName: HttpSM::do_hostdb_update_if_necessary
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - dns_info::mark_active_server_alive
    - ats_ip_nptop
    - dns_info::record::name
    - HttpSM::track_connect_fail
    - ATS_PROBE2
    - dns_info::record::is_srv
    - HttpSM::mark_host_failure
    - ts_clock::from_time_t
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_hostdb_update_if_necessary()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::HdrCsvIter
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4680,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4685,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4698,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4698,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4704,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4707,1
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4710,1
    - Dst: ptr_len_ncmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4711,1
    - Dst: RangeRecord::RangeRecord
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4715,1
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4722,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4723,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4723,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4732,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4751,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4765,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4791,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4826,1
    - Dst: cache_read_vc::is_pread_capable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4834,1
    - Dst: cache_info::object_read::get_frag_table
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4836,1
    - Dst: cache_info::object_read::get_frag_offset_count
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4837,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4839,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4840,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 148
    argCount: 2
    argNames:
    - field
    - content_length
    argTypes:
    - MIMEField*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4865
      start: 4671
    functionDepth: 1
    functionLinenumber: 4671
    functionLinenumberEnd: 4865
    functionName: HttpSM::parse_range_and_compare
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - SMDbg
    - cache_info::object_read::get_frag_table
    - RangeRecord::RangeRecord
    - ptr_len_ncmp
    - HdrCsvIter::get_next
    - HdrCsvIter::HdrCsvIter
    - ParseRules::is_ws
    - cache_read_vc::is_pread_capable
    - static_cast<const char *>
    - cache_info::object_read::get_frag_offset_count
    - static_cast<uint64_t>
    - memchr
    - ink_assert
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: void
    signature: void HttpSM::parse_range_and_compare(MIMEField *field, int64_t content_length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4875,1
    - Dst: num_chars_for_int
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4885,1
    - Dst: num_chars_for_int
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4885,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - num_chars_for_ct
    - num_chars_for_cl
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4867
    functionDepth: 1
    functionLinenumber: 4867
    functionLinenumberEnd: 4895
    functionName: HttpSM::calculate_output_cl
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - num_chars_for_int
    - SMDbg
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::calculate_output_cl(int64_t num_chars_for_ct, int64_t
      num_chars_for_cl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4905,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4905,1
    - Dst: cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4906,1
    - Dst: hdr_info::server_response::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4908,1
    - Dst: hdr_info::server_response::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4909,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4909,1
    - Dst: num_chars_for_int
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4911,1
    - Dst: HttpSM::parse_range_and_compare
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4913,1
    - Dst: HttpSM::calculate_output_cl
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4914,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - range_field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4915
      start: 4897
    functionDepth: 2
    functionLinenumber: 4897
    functionLinenumberEnd: 4915
    functionName: HttpSM::do_range_parse
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - hdr_info::server_response::get_content_length
    - static_cast<std::string_view>
    - HttpSM::parse_range_and_compare
    - hdr_info::server_response::value_get
    - num_chars_for_int
    - std::string_view::length
    - cache_info::object_read::response_get
    - cache_info::object_read::object_size_get
    - HttpSM::calculate_output_cl
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_range_parse(MIMEField *range_field)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::client_request::field_find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4925,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4925,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4926,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4930,1
    - Dst: HttpSM::do_range_parse
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4931,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4937,1
    - Dst: hdr_info::client_request::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4945,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4946,1
    - Dst: hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4957,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4958,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4961,1
    - Dst: cache_read_vc::is_pread_capable
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4963,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4973,1
    - Dst: cache_info::object_read::response_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4979,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4979,1
    - Dst: cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4980,1
    - Dst: hdr_info::server_response::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4983,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4984,1
    - Dst: hdr_info::server_response::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4991,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4991,1
    - Dst: hdr_info::server_response::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4992,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4995,1
    - Dst: range_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4998,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4999,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:4999,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5000,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5000,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5001,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5009
      start: 4920
    functionDepth: 3
    functionLinenumber: 4920
    functionLinenumberEnd: 5009
    functionName: HttpSM::do_range_setup_if_necessary
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - hdr_info::client_request::version_get
    - hdr_info::server_response::presence
    - std::string_view::data
    - get
    - hdr_info::server_response::status_get
    - hdr_info::server_response::value_get
    - std::string_view::length
    - append
    - static_cast<int>
    - hdr_info::server_response::get_content_length
    - static_cast<std::string_view>
    - hdr_info::client_request::field_find
    - Dbg
    - cache_read_vc::is_pread_capable
    - cache_info::object_read::response_get
    - HttpSM::do_range_parse
    - cache_info::object_read::object_size_get
    - ink_assert
    - range_transform
    - hdr_info::client_request::field_delete
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_range_setup_if_necessary()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5016,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5016,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5021,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5023,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5024,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5032,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5037,1
    - Dst: URL*::string_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5037,1
    - Dst: Cache::generate_key92
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5041,1
    - Dst: Cache::generate_key
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5043,1
    - Dst: hdr_info::cache_request::copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5046,1
    - Dst: HttpTransactHeaders::normalize_accept_encoding
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5047,1
    - Dst: open_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5048,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5050,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5057,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5060
      start: 5011
    functionDepth: 1
    functionLinenumber: 5011
    functionLinenumberEnd: 5060
    functionName: HttpSM::do_cache_lookup_and_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - hdr_info::cache_request::copy
    - ink_get_hrtime
    - ts::Metrics::Counter::increment
    - SMDbg
    - Cache::generate_key92
    - HttpTransactHeaders::normalize_accept_encoding
    - static_cast<time_t>
    - REMEMBER
    - get
    - open_read
    - ATS_PROBE1
    - hdr_info::client_request::url_get
    - URL*::string_get
    - empty
    - Cache::generate_key
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_lookup_and_read()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5066,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5068,1
    - Dst: cache_info::lookup_url::string_get_ref
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5068,1
    - Dst: Cache::generate_key
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5071,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5076
      start: 5062
    functionDepth: 1
    functionLinenumber: 5062
    functionLinenumberEnd: 5076
    functionName: HttpSM::do_cache_delete_all_alts
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - cache_info::lookup_url::string_get_ref
    - remove
    - Cache::generate_key
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_delete_all_alts(Continuation *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5081,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5082,1
    - Dst: HttpSM::do_cache_prepare_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5078
    functionDepth: 1
    functionLinenumber: 5078
    functionLinenumberEnd: 5084
    functionName: HttpSM::do_cache_prepare_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_cache_prepare_action
    - ink_get_hrtime
    - ATS_PROBE1
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_prepare_write()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_cache_writer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5089,1
    - Dst: HttpSM::do_cache_prepare_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5090,1
    - Dst: HttpSM::do_cache_prepare_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5094
      start: 5086
    functionDepth: 1
    functionLinenumber: 5086
    functionLinenumberEnd: 5094
    functionName: HttpSM::do_cache_prepare_write_transform
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::do_cache_prepare_action
    - has_cache_writer
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_prepare_write_transform()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_info::object_read::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5099,1
    - Dst: cache_info::object_store::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5100,1
    - Dst: cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5100,1
    - Dst: cache_info::object_store::response_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5101,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5102,1
    - Dst: cache_info::object_store::request_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5103,1
    - Dst: cache_info::object_read::request_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5103,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5108,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5109,1
    - Dst: HttpSM::do_cache_prepare_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5111,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5116
    functionName: HttpSM::do_cache_prepare_update
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HttpSM::do_cache_prepare_action
    - HTTP_SM_SET_DEFAULT_HANDLER
    - cache_info::object_store::request_set
    - cache_info::object_read::request_get
    - HttpSM::call_transact_and_set_next_state
    - cache_info::object_store::response_get
    - hdr_info::client_request::method_get_wksidx
    - cache_info::object_read::valid
    - cache_info::object_store::valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_prepare_update()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5124,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5124,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5128,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5128,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5133,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5143,1
    - Dst: copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5144,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5147,1
    - Dst: valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5147,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5148,1
    - Dst: string_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5148,1
    - Dst: Cache::generate_key
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5151,1
    - Dst: HttpCacheSM*::open_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5154,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - c_sm
    - object_read_info
    - retry
    - allow_multiple
    argTypes:
    - HttpCacheSM*
    - CacheHTTPInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5118
    functionDepth: 1
    functionLinenumber: 5118
    functionLinenumberEnd: 5157
    functionName: HttpSM::do_cache_prepare_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - static_cast<time_t>
    - SMDbg
    - copy
    - HttpCacheSM*::open_write
    - hdr_info::client_request::url_get
    - URL*::valid
    - valid
    - string_get
    - empty
    - Cache::generate_key
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_cache_prepare_action(HttpCacheSM *c_sm, CacheHTTPInfo
      *object_read_info, bool retry, bool allow_multiple)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: current::retry_attempts::maximize
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5166,1
    - Dst: configured_connect_attempts_max_retries
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5166,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5170
      start: 5159
    functionDepth: 1
    functionLinenumber: 5159
    functionLinenumberEnd: 5170
    functionName: HttpSM::send_origin_throttled_response
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HttpSM::call_transact_and_set_next_state
    - current::retry_attempts::maximize
    - configured_connect_attempts_max_retries
    linkageType: ''
    returnType: void
    signature: void HttpSM::send_origin_throttled_response()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5180,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5182,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5184,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5187,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5196,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5198,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5200,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5202,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - opt
    - txn_conf
    argTypes:
    - NetVCOptions
    - OverridableHttpConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5210
      start: 5172
    functionDepth: 1
    functionLinenumber: 5172
    functionLinenumberEnd: 5210
    functionName: set_tls_options
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - Warning
    linkageType: ''
    returnType: void
    signature: void set_tls_options(NetVCOptions &opt, const OverridableHttpConfigParams
      *txn_conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5212
    functionDepth: 0
    functionLinenumber: 5212
    functionLinenumberEnd: 5220
    functionName: HttpSM::get_outbound_cert
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HttpSM::get_outbound_cert() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5230,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5231,1
    - Dst: auto*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5232,1
    - Dst: TLSSNISupport*::hints_from_sni::outbound_sni_policy::has_value
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5233,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5234,1
    - Dst: TLSSNISupport*::hints_from_sni::outbound_sni_policy::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5234,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5239,1
    - Dst: hdr_info::server_request::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5241,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5242,1
    - Dst: TLSSNISupport*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5243,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5245,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5247,1
    - Dst: TLSSNISupport*::get_sni_server_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5247,1
    - Dst: swoc::TextView::front
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5249,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5250,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5256
      start: 5222
    functionDepth: 1
    functionLinenumber: 5222
    functionLinenumberEnd: 5256
    functionName: HttpSM::get_outbound_sni
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::empty
    - TLSSNISupport*::hints_from_sni::outbound_sni_policy::has_value
    - hdr_info::server_request::host_get
    - swoc::TextView::remove_prefix
    - TLSSNISupport*::hints_from_sni::outbound_sni_policy::data
    - get_txn
    - swoc::TextView::front
    - swoc::TextView::assign
    - TLSSNISupport*::get_sni_server_name
    - auto*::get_service
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HttpSM::get_outbound_sni() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::match
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5262,1
    - Dst: HttpSM::get_server_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5262,1
    - Dst: HttpSM::ip_allow_is_request_forbidden
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5264,1
    - Dst: HttpSM::ip_allow_deny_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5269
      start: 5258
    functionDepth: 1
    functionLinenumber: 5258
    functionLinenumberEnd: 5269
    functionName: HttpSM::apply_ip_allow_filter
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::ip_allow_is_request_forbidden
    - HttpSM::ip_allow_deny_request
    - HttpSM::get_server_remote_addr
    - IpAllow::match
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::apply_ip_allow_filter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::ACL::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5275,1
    - Dst: IpAllow::ACL::isDenyAll
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5276,1
    - Dst: IpAllow::ACL::isAllowAll
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5278,1
    - Dst: HttpSM::get_request_method_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5279,1
    - Dst: IpAllow::ACL::isMethodAllowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5280,1
    - Dst: HttpSM::get_request_method_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5280,1
    - Dst: hdr_info::server_request::method_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5282,1
    - Dst: IpAllow::ACL::isNonstandardMethodAllowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - acl
    argTypes:
    - IpAllow::ACL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5289
      start: 5271
    functionDepth: 1
    functionLinenumber: 5271
    functionLinenumberEnd: 5289
    functionName: HttpSM::ip_allow_is_request_forbidden
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - IpAllow::ACL::isDenyAll
    - hdr_info::server_request::method_get
    - HttpSM::get_request_method_wksidx
    - IpAllow::ACL::isAllowAll
    - IpAllow::ACL::isNonstandardMethodAllowed
    - IpAllow::ACL::isValid
    - IpAllow::ACL::isMethodAllowed
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::ip_allow_is_request_forbidden(const IpAllow::ACL &acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5294,1
    - Dst: hdr_info::client_request::method_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5296,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5298,1
    - Dst: HttpSM::get_server_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5298,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5299,1
    - Dst: IpAllow::ACL::source_line
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5299,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5300,1
    - Dst: IpAllow::ACL::source_line
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5300,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5300,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5300,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5301,1
    - Dst: current::retry_attempts::maximize
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5304,1
    - Dst: configured_connect_attempts_max_retries
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5305,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - acl
    argTypes:
    - IpAllow::ACL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5307
      start: 5291
    functionDepth: 1
    functionLinenumber: 5291
    functionLinenumberEnd: 5307
    functionName: HttpSM::ip_allow_deny_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - Warning
    - SMDbg
    - auto::length
    - 'on'
    - HttpSM::call_transact_and_set_next_state
    - hdr_info::client_request::method_get
    - IpAllow::ACL::source_line
    - ats_ip_ntop
    - HttpSM::get_server_remote_addr
    - auto::data
    - current::retry_attempts::maximize
    - configured_connect_attempts_max_retries
    linkageType: ''
    returnType: void
    signature: void HttpSM::ip_allow_deny_request(const IpAllow::ACL &acl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::is_prewarm_enabled_or_sni_overridden
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5314,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5315,1
    - Dst: EThread*::prewarm_queue::dequeue
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5316,1
    - Dst: TLSTunnelSupport::create_dst
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5316,1
    - Dst: HttpSM::open_prewarmed_connection
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5319,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - tts
    - pid
    argTypes:
    - TLSTunnelSupport
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5309
    functionDepth: 2
    functionLinenumber: 5309
    functionLinenumberEnd: 5327
    functionName: HttpSM::grab_pre_warmed_net_v_connection_if_possible
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - EThread*::prewarm_queue::dequeue
    - SMDbg
    - HttpSM::is_prewarm_enabled_or_sni_overridden
    - HttpSM::open_prewarmed_connection
    - TLSTunnelSupport::create_dst
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::grab_pre_warmed_net_v_connection_if_possible(const TLSTunnelSupport
      &tts, int pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLSTunnelSupport::get_tunnel_prewarm_configuration
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5335,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tts
    argTypes:
    - TLSTunnelSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5341
    functionName: HttpSM::is_prewarm_enabled_or_sni_overridden
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<bool>
    - TLSTunnelSupport::get_tunnel_prewarm_configuration
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_prewarm_enabled_or_sni_overridden(const TLSTunnelSupport
      &tts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: move_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5346,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5347,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5349,1
    - Dst: current::retry_attempts::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5351,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5353,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5355
      start: 5343
    functionDepth: 2
    functionLinenumber: 5343
    functionLinenumberEnd: 5355
    functionName: HttpSM::open_prewarmed_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - handleEvent
    - SMDbg
    - ink_release_assert
    - current::retry_attempts::clear
    - move_netvc
    linkageType: ''
    returnType: void
    signature: void HttpSM::open_prewarmed_connection()
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_family_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5366,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5367,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5367,1
    - Dst: auto::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5367,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5367,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5369,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5370,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5370,1
    - Dst: outbound_conn_track_state::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5375,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5379,1
    - Dst: transaction_done
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5380,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5387,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5387,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5390,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5390,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5391,1
    - Dst: current::server::dst_addr::network_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5391,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5394,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5395,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5397,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5400,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5401,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5403,1
    - Dst: PluginVCCore*::connect_re
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5410,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5413,1
    - Dst: url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5419,1
    - Dst: HttpSM::apply_ip_allow_filter
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5420,1
    - Dst: HttpTransact::is_server_negative_cached
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5424,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5426,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5427,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5432,1
    - Dst: HttpTransact::will_this_request_self_loop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5432,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5433,1
    - Dst: hdr_info::server_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5454,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5456,1
    - Dst: hdr_info::server_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5459,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5460,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5467,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5474,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5475,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5477,1
    - Dst: acquire_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5478,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5481,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5487,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5488,1
    - Dst: HttpSM::handle_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5489,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5492,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5493,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5496,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5501,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5506,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5507,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5508,1
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5515,1
    - Dst: PoolableSession*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5515,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5516,1
    - Dst: PoolableSession*::set_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5517,1
    - Dst: HttpSM::create_server_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5518,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5519,1
    - Dst: HttpSM::handle_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5520,1
    - Dst: PoolableSession*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5525,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5525,1
    - Dst: PoolableSession*::release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5526,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5527,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5534,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5535,1
    - Dst: PoolableSession*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5537,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5537,1
    - Dst: PoolableSession*::release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5538,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5539,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5544,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5546,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5548,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5549,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5550,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5552,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5554,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5554,1
    - Dst: HttpSM::origin_multiplexed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5558,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5558,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5560,1
    - Dst: HttpSM::add_to_existing_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5561,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5562,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5573,1
    - Dst: purge_keepalives
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5574,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5578,1
    - Dst: ConnectionTracker::obtain_outbound
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5587,1
    - Dst: auto::reserve
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5594,1
    - Dst: auto::release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5597,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5599,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5599,1
    - Dst: auto::blocked
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5601,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5602,1
    - Dst: auto::Warn_Blocked
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5603,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5604,1
    - Dst: HttpSM::send_origin_throttled_response
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5605,1
    - Dst: auto::Note_Unblocked
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5608,1
    - Dst: auto::update_max_count
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5611,1
    - Dst: auto::reserve
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5614,1
    - Dst: NetVCOptions::set_sock_param
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5620,1
    - Dst: set_tls_options
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5624,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5630,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5631,1
    - Dst: auto::is_upstream_tls
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5633,1
    - Dst: auto::get_tunnel_type
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5634,1
    - Dst: auto::get_tunnel_type
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5638,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5639,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5640,1
    - Dst: auto::get_negotiated_protocol_id
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5641,1
    - Dst: SessionProtocolNameRegistry::convert_openssl_alpn_wire_format
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5643,1
    - Dst: HttpSM::grab_pre_warmed_net_v_connection_if_possible
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5647,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5651,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5653,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5653,1
    - Dst: IpAddr::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5654,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5657,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5666,1
    - Dst: NetVConnection*::get_remote_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5668,1
    - Dst: hdr_info::server_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5674,1
    - Dst: hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5677,1
    - Dst: HttpTransactHeaders::is_method_idempotent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5690,1
    - Dst: NetVCOptions::set_ssl_client_cert_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5694,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5697,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5700,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5703,1
    - Dst: convert_alpn_to_wire_format
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5704,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5710,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5712,1
    - Dst: ConnectingEntry::ConnectingEntry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5713,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5715,1
    - Dst: ConnectingEntry*::ipaddr::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5717,1
    - Dst: HttpSM::get_outbound_sni
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5719,1
    - Dst: HttpSM::get_outbound_cert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5720,1
    - Dst: HttpSM::t_state::set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5722,1
    - Dst: ConnectingEntry*::connect_sms::insert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5723,1
    - Dst: EThread*::connecting_pool::m_ip_pool::insert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5724,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5724,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5733,1
    - Dst: HttpSM::get_outbound_sni
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5735,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5736,1
    - Dst: NetVCOptions::set_sni_servername
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5737,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5737,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5737,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5740,1
    - Dst: hdr_info::server_request::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5742,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5743,1
    - Dst: NetVCOptions::set_sni_hostname
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5744,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5744,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5744,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5744,1
    - Dst: NetVCOptions::set_ssl_servername
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5748,1
    - Dst: connect_re
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5751,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5755,1
    - Dst: connect_re
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5756,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 247
    argCount: 2
    argNames:
    - raw
    - only_direct
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5362
    functionDepth: 3
    functionLinenumber: 5362
    functionLinenumberEnd: 5762
    functionName: HttpSM::do_http_server_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - SMDbg
    - IpAddr::isValid
    - HttpSM::is_private
    - ConnectionTracker::obtain_outbound
    - HttpSM::send_origin_throttled_response
    - this_ethread
    - std::string_view::data
    - HttpSM::t_state::set_connect_fail
    - ts::Metrics::Counter::increment
    - auto::size
    - transaction_done
    - hdr_info::client_request::url_get
    - auto::reserve
    - convert_alpn_to_wire_format
    - PluginVCCore*::connect_re
    - HttpSM::call_transact_and_set_next_state
    - outbound_conn_track_state::clear
    - get_txn
    - HttpSM::grab_pre_warmed_net_v_connection_if_possible
    - PoolableSession*::release
    - ATS_PROBE1
    - auto::blocked
    - NetVConnection*::get_remote_port
    - set_tls_options
    - auto::Note_Unblocked
    - HttpSM::origin_multiplexed
    - HttpTransact::is_server_negative_cached
    - static_cast<int>
    - strcmp
    - ink_release_assert
    - auto::length
    - reset
    - ink_assert
    - HttpSM::create_server_txn
    - ink_get_hrtime
    - HttpSM::add_to_existing_request
    - ats_ip_family_name
    - HRTIME_SECONDS
    - ats_ip_addr_port_eq
    - auto::get_negotiated_protocol_id
    - auto::empty
    - HttpSM::apply_ip_allow_filter
    - HttpSM::get_outbound_sni
    - std::make_pair
    - url_map::getMapping
    - auto::data
    - NetVCOptions::set_ssl_servername
    - NetVCOptions::set_sock_param
    - PoolableSession*::get_remote_addr
    - auto::get_tunnel_type
    - connect_re
    - 'on'
    - ConnectingEntry*::connect_sms::insert
    - hdr_info::server_request::presence
    - acquire_session
    - ts::Metrics::Gauge::load
    - current::server::dst_addr::network_order_port
    - NetVCOptions::set_sni_servername
    - get_entry
    - EThread*::connecting_pool::m_ip_pool::insert
    - hdr_info::server_request::url_get
    - auto::release
    - HttpSM::handle_http_server_open
    - auto::is_upstream_tls
    - HttpTransactHeaders::is_method_idempotent
    - std::string_view::length
    - PoolableSession*::set_active
    - ConnectingEntry::ConnectingEntry
    - PoolableSession*::set_inactivity_timeout
    - empty
    - auto::update_max_count
    - auto::Warn_Blocked
    - hsm_release_assert
    - NetVCOptions::set_sni_hostname
    - HttpSM::get_outbound_cert
    - ats_ip_nptop
    - ConnectingEntry*::ipaddr::assign
    - NetVCOptions::set_ssl_client_cert_name
    - SessionProtocolNameRegistry::convert_openssl_alpn_wire_format
    - HttpTransact::will_this_request_self_loop
    - hdr_info::server_request::host_get
    - purge_keepalives
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_http_server_open(bool raw, bool only_direct)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5803,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5804,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5815,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5816,1
    - Dst: HttpSM::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5819,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5819,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5819,1
    - Dst: HttpSM::state_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5822,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5764
    functionDepth: 3
    functionLinenumber: 5764
    functionLinenumberEnd: 5823
    functionName: HttpSM::do_api_callout_internal
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - HttpSM::init
    - HttpSM::state_api_callout
    - ATS_PROBE1
    - get_txn
    - ink_assert
    - static_cast<TSHttpHookID>
    linkageType: ''
    returnType: int
    signature: int HttpSM::do_api_callout_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5828,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5830,1
    - Dst: HttpSM::txn_hook_add
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5831,1
    - Dst: null_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5831,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5831,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5834,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5834,1
    - Dst: new_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5843
      start: 5825
    functionDepth: 1
    functionLinenumber: 5825
    functionLinenumberEnd: 5843
    functionName: HttpSM::do_post_transform_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get
    - new_entry
    - null_transform
    - is_action_tag_set
    - HttpSM::txn_hook_add
    - open
    - ink_assert
    linkageType: ''
    returnType: VConnection
    signature: 'VConnection *

      HttpSM::do_post_transform_open()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5848,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5851,1
    - Dst: HttpSM::txn_hook_add
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5852,1
    - Dst: null_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5852,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5852,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5855,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5857,1
    - Dst: new_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5868
      start: 5845
    functionDepth: 1
    functionLinenumber: 5845
    functionLinenumberEnd: 5868
    functionName: HttpSM::do_transform_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get
    - new_entry
    - null_transform
    - is_action_tag_set
    - HttpSM::txn_hook_add
    - open
    - ink_assert
    linkageType: ''
    returnType: VConnection
    signature: 'VConnection *

      HttpSM::do_transform_open()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5877,1
    - Dst: ResolveInfo*::active::increment_fail_count
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5879,1
    - Dst: hdr_info::client_request::url_string_get_ref
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5881,1
    - Dst: unmapped_url::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5882,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5883,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5884,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::FirstOf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5885,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5886,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5886,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5887,1
    - Dst: ATS_PROBE2
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5888,1
    - Dst: ATS_PROBE3
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5890,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5891,1
    - Dst: ResolveInfo*::active::mark_up
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5894,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5898,1
    - Dst: failover_now
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - info
    - time_down
    argTypes:
    - ResolveInfo*
    - ts_time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5900
      start: 5870
    functionDepth: 2
    functionLinenumber: 5870
    functionLinenumberEnd: 5900
    functionName: HttpSM::mark_host_failure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - SMDbg
    - hdr_info::client_request::url_string_get_ref
    - swoc::SWOC_VERSION_NS::bwf::Errno
    - swoc::SWOC_VERSION_NS::bwf::FirstOf
    - ResolveInfo*::active::mark_up
    - Log::error
    - ats_ip_nptop
    - ATS_PROBE2
    - c_str
    - unmapped_url::host_get
    - ATS_PROBE3
    - swoc::SWOC_VERSION_NS::bwprint
    - failover_now
    - ink_assert
    - ResolveInfo*::active::increment_fail_count
    linkageType: ''
    returnType: void
    signature: void HttpSM::mark_host_failure(ResolveInfo *info, ts_time time_down)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ua_abort
    - event
    argTypes:
    - HttpTransact::AbortState_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5902
    functionDepth: 0
    functionLinenumber: 5902
    functionLinenumberEnd: 5945
    functionName: HttpSM::set_ua_abort
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_ua_abort(HttpTransact::AbortState_t ua_abort, int
      event)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::server_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5961,1
    - Dst: hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5962,1
    - Dst: hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5963,1
    - Dst: hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5964,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5969,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5969,1
    - Dst: release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5970,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5975,1
    - Dst: static_cast<PoolableSession *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5975,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5975,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5978,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5980,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5982,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5984,1
    - Dst: hdr_info::server_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5985,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5986,1
    - Dst: hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5987,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5988,1
    - Dst: hdr_info::server_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5989,1
    - Dst: hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5990,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5992,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:5994,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - serve_from_cache
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 5953
    functionDepth: 1
    functionLinenumber: 5953
    functionLinenumberEnd: 6004
    functionName: HttpSM::release_server_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - set_inactivity_timeout
    - ts::Metrics::Counter::increment
    - hdr_info::server_response::status_get
    - hdr_info::server_request::method_get_wksidx
    - get_proxy_ssn
    - do_io_close
    - release
    - HRTIME_SECONDS
    - hdr_info::server_request::valid
    - hdr_info::server_response::valid
    - get_txn
    - static_cast<PoolableSession *>
    linkageType: ''
    returnType: void
    signature: void HttpSM::release_server_session(bool serve_from_cache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6018,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6020,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6020,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6020,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6021,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6024,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6033,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6033,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6035,1
    - Dst: HttpSM::disable_redirect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6040,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6046,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6047,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6050,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6050,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6015
    functionDepth: 2
    functionLinenumber: 6015
    functionLinenumberEnd: 6054
    functionName: HttpSM::handle_post_failure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - HttpSM::disable_redirect
    - get_entry
    - STATE_ENTER
    - get_netvc
    - HttpSM::call_transact_and_set_next_state
    - deallocate_buffers
    - reset
    - set_connect_fail
    - get_txn
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_post_failure()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6070,1
    - Dst: NetVConnection*::provided_cert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6072,1
    - Dst: NetVConnection*::apply_options
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6081,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6084,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6084,1
    - Dst: hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6086,1
    - Dst: has_request_body
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6088,1
    - Dst: HttpSM::do_post_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6090,1
    - Dst: HttpSM::do_setup_client_request_body_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6091,1
    - Dst: HttpSM::setup_server_send_request_api
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6094,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6097,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6062
    functionDepth: 2
    functionLinenumber: 6062
    functionLinenumberEnd: 6099
    functionName: HttpSM::handle_http_server_open
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - HttpSM::get_server_inactivity_timeout
    - set_inactivity_timeout
    - HttpSM::do_setup_client_request_body_tunnel
    - ink_release_assert
    - NetVConnection*::provided_cert
    - get_netvc
    - hdr_info::server_request::method_get_wksidx
    - HttpSM::do_post_transform_open
    - HttpSM::setup_server_send_request_api
    - has_request_body
    - NetVConnection*::apply_options
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_http_server_open()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6112,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6113,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6115,1
    - Dst: is_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6120,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6121,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6122,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6122,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6123,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6129,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6136,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6136,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6138,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6139,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6140,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6140,1
    - Dst: HttpTunnelProducer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6141,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6144,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6145,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6151,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6158,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6160,1
    - Dst: deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6162,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6163,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6172,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6176,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6176,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6179,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6189,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6197,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6204,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6205,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6211,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6234,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6237,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6109
    functionDepth: 2
    functionLinenumber: 6109
    functionLinenumberEnd: 6238
    functionName: HttpSM::handle_server_setup_error
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - get_entry
    - SMDbg
    - handleEvent
    - get_netvc
    - static_cast<int>
    - ink_release_assert
    - get_consumer
    - HttpDebugNames::get_event_name
    - HttpSM::call_transact_and_set_next_state
    - cleanup_entry
    - is_tunnel_active
    - reset
    - static_cast<VIO *>
    - set_connect_fail
    - HttpTunnelProducer*::vc::do_io_shutdown
    - ink_assert
    - STATE_ENTER
    - deallocate_buffers
    - HttpTunnelProducer*::vc::do_io_read
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_server_setup_error(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6243,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6244,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6247,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6248,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6249,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6251,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6253,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6255,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6257,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6260,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6265
      start: 6240
    functionDepth: 2
    functionLinenumber: 6240
    functionLinenumberEnd: 6265
    functionName: HttpSM::setup_transform_to_server_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - tunnel_run
    - get_consumer
    - chain
    - add_producer
    - ink_assert
    - buffer_size_to_index
    - add_consumer
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_transform_to_server_transfer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::client_request::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6270,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6271,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6274,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6280,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6283,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6285,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - response
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6294
      start: 6267
    functionDepth: 1
    functionLinenumber: 6267
    functionLinenumberEnd: 6294
    functionName: HttpSM::do_drain_request_body
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - SMDbg
    - get_txn
    - hdr_info::client_request::get_content_length
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_drain_request_body(HTTPHdr &response)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6316,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6317,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6319,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6322,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6328,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6334,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6336,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6337,1
    - Dst: HttpSM::_postbuf::init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6341,1
    - Dst: MIOBuffer*::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6341,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6359,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6359,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6360,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6366,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6369,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6369,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6372,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6376,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6377,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6378,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6379,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6379,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6389,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6390,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6393,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6394,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6394,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6400,1
    - Dst: HttpSM::setup_client_request_plugin_agents
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6404,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6410,1
    - Dst: is_chunked_encoding_supported
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6411,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6412,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6415,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6417,1
    - Dst: is_chunked_encoding_supported
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6420,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6421,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6423,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6425,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6431,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6431,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6432,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6432,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6434,1
    - Dst: static_cast<HttpSmPost_t>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6439,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6439,1
    - Dst: HttpTunnelProducer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6440,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 1
    argNames:
    - to_vc_type
    argTypes:
    - HttpVC_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6442
      start: 6296
    functionDepth: 2
    functionLinenumber: 6296
    functionLinenumberEnd: 6442
    functionName: HttpSM::do_setup_client_request_body_tunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 4
    functionsReached:
    - get_entry
    - new_MIOBuffer
    - HTTP_SM_SET_DEFAULT_HANDLER
    - set_producer_chunking_action
    - is_chunked_encoding_supported
    - add_producer
    - HttpSM::_postbuf::init
    - set_inactivity_timeout
    - tunnel_run
    - HttpSM::setup_client_request_plugin_agents
    - add_consumer
    - static_cast<int>
    - HttpSM::get_server_inactivity_timeout
    - ink_release_assert
    - get_txn
    - ink_assert
    - MIOBuffer*::alloc_reader
    - HttpTunnelProducer*::vc::do_io_shutdown
    - MIOBuffer*::write
    - static_cast<HttpSmPost_t>
    - HRTIME_SECONDS
    - new_empty_MIOBuffer
    - MIOBuffer*::clone_reader
    - set_producer_chunking_size
    - buffer_size_to_index
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_setup_client_request_body_tunnel(HttpVC_t to_vc_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6451,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6451,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6454,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6455,1
    - Dst: end_both
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6461,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6467,1
    - Dst: HttpSM::setup_cache_write_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6469,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6479
      start: 6448
    functionDepth: 1
    functionLinenumber: 6448
    functionLinenumberEnd: 6479
    functionName: HttpSM::perform_transform_cache_write_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - SMDbg
    - ink_release_assert
    - end_both
    - close_read
    - HttpSM::setup_cache_write_transfer
    - HttpDebugNames::get_cache_action_name
    linkageType: ''
    returnType: void
    signature: void HttpSM::perform_transform_cache_write_action()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6490,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6490,1
    - Dst: end_both
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6497,1
    - Dst: abort_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6502,1
    - Dst: close_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6508,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6509,1
    - Dst: HttpSM::issue_cache_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6521,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6526,1
    - Dst: HttpSM::issue_cache_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6527,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6536,1
    - Dst: HttpSM::setup_cache_write_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6538,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6543,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6550,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6553
      start: 6487
    functionDepth: 1
    functionLinenumber: 6487
    functionLinenumberEnd: 6553
    functionName: HttpSM::perform_cache_write_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - SMDbg
    - ink_release_assert
    - end_both
    - close_read
    - HttpDebugNames::get_cache_action_name
    - HttpSM::setup_cache_write_transfer
    - abort_write
    - close_write
    - ink_assert
    - HttpSM::issue_cache_update
    linkageType: ''
    returnType: void
    signature: void HttpSM::perform_cache_write_action()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6558,1
    - Dst: cache_info::object_store::request_sent_time_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6560,1
    - Dst: cache_info::object_store::response_received_time_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6561,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6562,1
    - Dst: cache_info::object_store::request_sent_time_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6562,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6563,1
    - Dst: cache_info::object_store::response_received_time_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6563,1
    - Dst: cache_write_vc::set_http_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6564,1
    - Dst: cache_info::object_store::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6565,1
    - Dst: close_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6570
      start: 6555
    functionDepth: 1
    functionLinenumber: 6555
    functionLinenumberEnd: 6570
    functionName: HttpSM::issue_cache_update
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - cache_write_vc::set_http_info
    - cache_info::object_store::request_sent_time_set
    - cache_info::object_store::clear
    - cache_info::object_store::request_sent_time_get
    - cache_info::object_store::response_received_time_get
    - cache_info::object_store::response_received_time_set
    - close_write
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::issue_cache_update()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer*::get_current_block
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6580,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6584,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6584,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6585,1
    - Dst: IOBufferBlock*::start
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6585,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6585,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6587,1
    - Dst: MIOBuffer*::fill
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6588,1
    - Dst: MIOBuffer*::add_block
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - h
    - b
    argTypes:
    - HTTPHdr*
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6595
      start: 6572
    functionDepth: 3
    functionLinenumber: 6572
    functionLinenumberEnd: 6595
    functionName: HttpSM::write_header_into_buffer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::get_current_block
    - MIOBuffer*::add_block
    - IOBufferBlock*::start
    - HTTPHdr*::print
    - MIOBuffer*::fill
    - IOBufferBlock*::write_avail
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::write_header_into_buffer(HTTPHdr *h, MIOBuffer *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6600,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6604,1
    - Dst: IpEndpoint::assign
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6609,1
    - Dst: get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6609,1
    - Dst: ats_ip_addr_eq
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6610,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6612,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6613,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6614,1
    - Dst: get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6614,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6615,1
    - Dst: get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6615,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6619,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6620,1
    - Dst: set_flags
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6620,1
    - Dst: get_cont_flags
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6620,1
    - Dst: increment_transactions_stat
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6629,1
    - Dst: new_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6632,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6637,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6637,1
    - Dst: UnixNetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6640,1
    - Dst: UnixNetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6644,1
    - Dst: auto::getSSLOriginSessionCacheHit
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6645,1
    - Dst: get_protocol_string
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6648,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6667,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6667,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6670,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6676,1
    - Dst: HttpSM::get_server_connect_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6676,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6677,1
    - Dst: HttpSM::get_server_active_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6677,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6680,1
    - Dst: is_chunked_encoding_supported
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6682,1
    - Dst: hdr_info::server_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6684,1
    - Dst: hdr_info::server_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6685,1
    - Dst: hdr_info::server_request::value_append
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6688,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6688,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6689,1
    - Dst: HttpSM::is_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6694,1
    - Dst: HttpSM::set_server_session_private
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6695,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6697
      start: 6597
    functionDepth: 2
    functionLinenumber: 6597
    functionLinenumberEnd: 6697
    functionName: HttpSM::attach_server_session
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - increment_transactions_stat
    - SMDbg
    - do_io_read
    - get_remote_reader
    - ats_ip_copy
    - is_chunked_encoding_supported
    - HttpSM::is_private
    - HttpSM::get_server_connect_timeout
    - UnixNetVConnection*::get_service
    - IpEndpoint::assign
    - set_inactivity_timeout
    - get_protocol_string
    - get_proxy_ssn
    - get_netvc
    - new_entry
    - HttpSM::get_server_active_timeout
    - HttpSM::set_server_session_private
    - ats_ip_ntop
    - set_flags
    - hsm_release_assert
    - static_cast<std::string_view>
    - get_txn
    - set_active_timeout
    - static_cast<UnixNetVConnection *>
    - do_io_write
    - ats_ip_addr_eq
    - hdr_info::server_request::presence
    - auto::getSSLOriginSessionCacheHit
    - hdr_info::server_request::value_append
    - get_cont_flags
    - get_remote_addr
    linkageType: ''
    returnType: void
    signature: void HttpSM::attach_server_session()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6703,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6703,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6699
    functionDepth: 2
    functionLinenumber: 6699
    functionLinenumberEnd: 6706
    functionName: HttpSM::setup_server_send_request_api
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - HttpSM::get_server_inactivity_timeout
    - set_inactivity_timeout
    - HttpSM::do_api_callout
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_server_send_request_api()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6714,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6715,1
    - Dst: hsm_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6716,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6720,1
    - Dst: hdr_info::server_request::value_set_int64
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6724,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6724,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6727,1
    - Dst: write_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6731,1
    - Dst: HttpSM::write_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6732,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6736,1
    - Dst: write_buffer::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6737,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6741,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6742,1
    - Dst: vc::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6743,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6746,1
    - Dst: HttpSM::get_server_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6746,1
    - Dst: HttpSM::setup_server_read_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6750
      start: 6708
    functionDepth: 4
    functionLinenumber: 6708
    functionLinenumberEnd: 6750
    functionName: HttpSM::setup_server_send_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HttpSM::get_server_inactivity_timeout
    - ink_get_hrtime
    - new_MIOBuffer
    - SMDbg
    - hsm_release_assert
    - static_cast<std::string_view>
    - set_inactivity_timeout
    - HttpSM::setup_server_read_response_header
    - ATS_PROBE1
    - write_buffer::write
    - write_buffer::alloc_reader
    - hdr_info::server_request::value_set_int64
    - HttpSM::write_header_into_buffer
    - dump_header
    - vc::do_io_write
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_server_send_request()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6755,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6756,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6758,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6758,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6761,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6761,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6763,1
    - Dst: hdr_info::server_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6775,1
    - Dst: hdr_info::server_response::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6776,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6777,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6782,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6782,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6788,1
    - Dst: HttpSM::state_read_server_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6791
      start: 6752
    functionDepth: 3
    functionLinenumber: 6752
    functionLinenumberEnd: 6791
    functionName: HttpSM::setup_server_read_response_header
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - SMDbg
    - http_parser_clear
    - hdr_info::server_response::destroy
    - get_remote_reader
    - do_io_read
    - hdr_info::server_response::create
    - get_txn
    - HttpSM::state_read_server_response_header
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_server_read_response_header()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6799,1
    - Dst: cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6801,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6802,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6802,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6806,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6808,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6809,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6812,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6814,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6817,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6817,1
    - Dst: HttpSM::write_response_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6818,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6821,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6827,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6829,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6829,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6837,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6839,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6844
      start: 6793
    functionDepth: 2
    functionLinenumber: 6793
    functionLinenumberEnd: 6844
    functionName: HttpSM::setup_cache_read_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - hdr_info::client_response::status_get
    - set_producer_chunking_action
    - MIOBuffer*::alloc_reader
    - new_empty_MIOBuffer
    - MIOBuffer*::append_block
    - add_producer
    - index_to_buffer_size
    - set_producer_chunking_size
    - cache_info::object_read::object_size_get
    - HttpSM::write_response_header_into_buffer
    - buffer_size_to_index
    - add_consumer
    - ink_assert
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_cache_read_transfer()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6852,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6853,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6854,1
    - Dst: hdr_info::cache_response::length_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6857,1
    - Dst: cache_info::object_read::object_size_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6859,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6860,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6861,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6862,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6864,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6866,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6846
    functionDepth: 2
    functionLinenumber: 6846
    functionLinenumberEnd: 6875
    functionName: HttpSM::setup_cache_transfer_to_transform
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - hdr_info::cache_response::length_get
    - MIOBuffer*::alloc_reader
    - add_producer
    - cache_info::object_read::object_size_get
    - buffer_size_to_index
    - add_consumer
    - ink_assert
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_cache_transfer_to_transform()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6881,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6882,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6883,1
    - Dst: HTTPInfo*::request_sent_time_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6885,1
    - Dst: HTTPInfo*::response_received_time_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6886,1
    - Dst: HttpCacheSM*::cache_write_vc::set_http_info
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6888,1
    - Dst: HTTPInfo*::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6889,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - c_sm
    - source_vc
    - store_info
    - skip_bytes
    - name
    argTypes:
    - HttpCacheSM*
    - VConnection*
    - HTTPInfo*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6895
      start: 6877
    functionDepth: 1
    functionLinenumber: 6877
    functionLinenumberEnd: 6895
    functionName: HttpSM::setup_cache_write_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - HttpCacheSM*::cache_write_vc::set_http_info
    - ink_assert
    - HTTPInfo*::request_sent_time_set
    - HTTPInfo*::response_received_time_set
    - add_consumer
    - HTTPInfo*::clear
    linkageType: ''
    returnType: void
    signature: "void HttpSM::setup_cache_write_transfer(HttpCacheSM *c_sm, VConnection
      *source_vc, HTTPInfo *store_info, int64_t skip_bytes,\n                                   const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6900,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6901,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6904,1
    - Dst: HttpSM::write_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6905,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6906,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6908,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6912,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6916,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6918,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6918,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6922,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6923,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6924,1
    - Dst: HttpSM::setup_server_read_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6928
      start: 6897
    functionDepth: 4
    functionLinenumber: 6897
    functionLinenumberEnd: 6928
    functionName: HttpSM::setup_100_continue_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - tunnel_run
    - MIOBuffer*::alloc_reader
    - HttpSM::setup_server_read_response_header
    - add_producer
    - reset
    - get_txn
    - add_consumer
    - HttpSM::write_header_into_buffer
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_100_continue_transfer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_response_suppressed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6950,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6951,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6954,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6954,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6956,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6958,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6959,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6959,1
    - Dst: set_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6965
      start: 6947
    functionDepth: 2
    functionLinenumber: 6947
    functionLinenumberEnd: 6965
    functionName: HttpSM::setup_error_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - SMDbg
    - is_response_body_precluded
    - is_response_suppressed
    - cleanup_entry
    - set_entry
    - HttpSM::do_api_callout
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_error_transfer()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6974,1
    - Dst: hdr_info::client_response::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6978,1
    - Dst: hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6979,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6979,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6983,1
    - Dst: hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6986,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6987,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6988,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6990,1
    - Dst: hdr_info::client_response::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6993,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:6993,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7001,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7001,1
    - Dst: hdr_info::client_response::set_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7002,1
    - Dst: hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7003,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7003,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7010,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7012,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7012,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7013,1
    - Dst: HttpSM::write_response_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7016,1
    - Dst: MIOBuffer*::append_xmalloced
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7033,1
    - Dst: MIOBuffer*::append_fast_allocated
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7035,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7045,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7047,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7047,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7051,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7054,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7056,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7056,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7059,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - handler_arg
    argTypes:
    - HttpSMHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 6967
    functionDepth: 2
    functionLinenumber: 6967
    functionLinenumberEnd: 7064
    functionName: HttpSM::setup_internal_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - hdr_info::client_response::status_get
    - add_producer
    - index_to_buffer_size
    - MIOBuffer*::append_xmalloced
    - hdr_info::client_response::set_content_length
    - ats_free
    - tunnel_run
    - hdr_info::client_response::field_delete
    - HttpSM::write_response_header_into_buffer
    - add_consumer
    - static_cast<std::string_view>
    - reset
    - hdr_info::client_response::value_set
    - strlen
    - is_response_body_precluded
    - MIOBuffer*::alloc_reader
    - ink_assert
    - static_cast<std::string_view::size_type>
    - buffer_size_to_index
    - MIOBuffer*::append_fast_allocated
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_internal_transfer(HttpSMHandler handler_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7079,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7084,1
    - Dst: buffer_size_to_index
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - content_length
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7089
      start: 7071
    functionDepth: 2
    functionLinenumber: 7071
    functionLinenumberEnd: 7089
    functionName: HttpSM::find_http_resp_buffer_size
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - index_to_buffer_size
    - buffer_size_to_index
    linkageType: ''
    returnType: int
    signature: int HttpSM::find_http_resp_buffer_size(int64_t content_length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7103,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7108,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7123,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7123,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7124,1
    - Dst: get_remote_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - hdr_size
    argTypes:
    - MIOBuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7135
      start: 7097
    functionDepth: 1
    functionLinenumber: 7097
    functionLinenumberEnd: 7135
    functionName: HttpSM::server_transfer_init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - MIOBuffer*::write
    - get_remote_reader
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpSM::server_transfer_init(MIOBuffer *buf, int hdr_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_server_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7143,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7144,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7145,1
    - Dst: HttpSM::server_transfer_init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7146,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7148,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7150,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7153,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7167
      start: 7137
    functionDepth: 2
    functionLinenumber: 7137
    functionLinenumberEnd: 7167
    functionName: HttpSM::setup_server_transfer_to_transform
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - set_producer_chunking_action
    - add_producer
    - add_consumer
    - HttpSM::server_transfer_init
    - MIOBuffer*::alloc_reader
    - HttpSM::find_server_buffer_size
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_server_transfer_to_transform()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_server_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7172,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7175,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7176,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7177,1
    - Dst: get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7179,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7180,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7181,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7182,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7185,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7185,1
    - Dst: HttpSM::write_response_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7186,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7188,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7190,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7192,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7194,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7194,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7198,1
    - Dst: HttpSM::setup_client_response_plugin_agents
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7200,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7205,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7211
      start: 7169
    functionDepth: 2
    functionLinenumber: 7169
    functionLinenumberEnd: 7211
    functionName: HttpSM::setup_transfer_from_transform
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - hdr_info::client_response::status_get
    - set_producer_chunking_action
    - get_consumer
    - HttpSM::setup_client_response_plugin_agents
    - chain
    - add_producer
    - ink_assert
    - set_producer_chunking_size
    - HttpSM::write_response_header_into_buffer
    - add_consumer
    - MIOBuffer*::alloc_reader
    - HttpSM::find_server_buffer_size
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_transfer_from_transform()'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7216,1
    - Dst: HttpSM::find_server_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7220,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7222,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7224,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7225,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7227,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7228,1
    - Dst: hdr_info::client_response::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7252,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7252,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7255,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7255,1
    - Dst: HttpSM::write_response_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7256,1
    - Dst: HttpSM::server_transfer_init
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7258,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7260,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7262,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7265,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7265,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7268,1
    - Dst: HttpSM::setup_client_response_plugin_agents
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7271,1
    - Dst: set_producer_chunking_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7275,1
    - Dst: set_producer_chunking_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7278
      start: 7213
    functionDepth: 2
    functionLinenumber: 7213
    functionLinenumberEnd: 7278
    functionName: HttpSM::setup_server_transfer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - SMDbg
    - hdr_info::client_response::status_get
    - get_entry
    - set_producer_chunking_action
    - add_producer
    - HttpSM::find_server_buffer_size
    - hdr_info::client_response::field_delete
    - HttpSM::write_response_header_into_buffer
    - add_consumer
    - static_cast<int>
    - static_cast<std::string_view>
    - HttpSM::server_transfer_init
    - MIOBuffer*::alloc_reader
    - ink_assert
    - HttpSM::setup_client_response_plugin_agents
    - new_empty_MIOBuffer
    - MIOBuffer*::append_block
    - set_producer_chunking_size
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_server_transfer()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_http_resp_buffer_size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7285,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7286,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7287,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7289,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7291,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7293,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7297,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7308,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7308,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7309,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7312,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7314,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7314,1
    - Dst: HttpSM::setup_cache_write_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7316,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7316,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7320
      start: 7280
    functionDepth: 3
    functionLinenumber: 7280
    functionLinenumberEnd: 7320
    functionName: HttpSM::setup_push_transfer_to_cache
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get_entry
    - new_MIOBuffer
    - ink_release_assert
    - HTTP_SM_SET_DEFAULT_HANDLER
    - MIOBuffer*::write
    - add_producer
    - HttpSM::setup_cache_write_transfer
    - HttpSM::find_http_resp_buffer_size
    - get_txn
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpSM::setup_push_transfer_to_cache()'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7325,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7331,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7332,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7333,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7334,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7336,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7337,1
    - Dst: HttpSM::write_response_header_into_buffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7339,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7340,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7341,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7342,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7343,1
    - Dst: do_outbound_proxy_protocol
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7351,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7351,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7351,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7356,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7357,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7357,1
    - Dst: get_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7358,1
    - Dst: set_raw_buffer_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7359,1
    - Dst: has_data_from_origin_server
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7363,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7364,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7365,1
    - Dst: server_buf_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7365,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7370,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7370,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7372,1
    - Dst: HttpSM::do_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7374,1
    - Dst: HttpSM::do_post_transform_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7375,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7377,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7381,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7383,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7384,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7385,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7387,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7387,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7389,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7392,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7392,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7396,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7396,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7401,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7401,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7403,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7404,1
    - Dst: add_producer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7405,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7407,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7409,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7412,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7412,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7416,1
    - Dst: mark_as_tunnel_endpoint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7416,1
    - Dst: vc::mark_as_tunnel_endpoint
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7417,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7420,1
    - Dst: chain
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7421,1
    - Dst: get_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7423,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7426,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7430,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7430,1
    - Dst: HttpTunnelProducer*::vc::do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - send_response_hdr
    - initial
    argTypes:
    - bool
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7433
      start: 7322
    functionDepth: 4
    functionLinenumber: 7322
    functionLinenumberEnd: 7433
    functionName: HttpSM::setup_blind_tunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    - new_MIOBuffer
    - get_entry
    - add_producer
    - do_outbound_proxy_protocol
    - IOBufferReader*::read_avail
    - HttpSM::do_transform_open
    - tunnel_run
    - chain
    - HttpSM::do_post_transform_open
    - HttpSM::write_response_header_into_buffer
    - add_consumer
    - server_buf_reader
    - ink_release_assert
    - get_txn
    - mark_as_tunnel_endpoint
    - vc::mark_as_tunnel_endpoint
    - ink_assert
    - MIOBuffer*::alloc_reader
    - HttpTunnelProducer*::vc::do_io_shutdown
    - ink_get_hrtime
    - MIOBuffer*::write
    - static_cast<NetVConnection *>
    - set_raw_buffer_reader
    - ATS_PROBE1
    - IOBufferReader*::consume
    - has_data_from_origin_server
    - get_raw_buffer_reader
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_blind_tunnel(bool send_response_hdr, IOBufferReader
      *initial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::txn_hook_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7438,1
    - Dst: static_cast<INKVConnInternal *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7441,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7442,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - num_header_bytes
    argTypes:
    - HttpTunnelProducer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7448
      start: 7435
    functionDepth: 1
    functionLinenumber: 7435
    functionLinenumberEnd: 7448
    functionName: HttpSM::setup_client_response_plugin_agents
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - add_consumer
    - HttpSM::txn_hook_get
    - APIHook*::next
    - static_cast<INKVConnInternal *>
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_client_response_plugin_agents(HttpTunnelProducer
      *p, int num_header_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::txn_hook_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7453,1
    - Dst: static_cast<INKVConnInternal *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7456,1
    - Dst: add_consumer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7457,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - num_header_bytes
    argTypes:
    - HttpTunnelProducer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7463
      start: 7450
    functionDepth: 1
    functionLinenumber: 7450
    functionLinenumberEnd: 7463
    functionName: HttpSM::setup_client_request_plugin_agents
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - add_consumer
    - HttpSM::txn_hook_get
    - APIHook*::next
    - static_cast<INKVConnInternal *>
    linkageType: ''
    returnType: void
    signature: void HttpSM::setup_client_request_plugin_agents(HttpTunnelProducer
      *p, int num_header_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7468,1
    - Dst: VConnection*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hook
    - info
    argTypes:
    - TSHttpHookID
    - HttpTransformInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7476
      start: 7465
    functionDepth: 1
    functionLinenumber: 7465
    functionLinenumberEnd: 7476
    functionName: HttpSM::transform_cleanup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - get
    - VConnection*::do_io_close
    linkageType: ''
    returnType: void
    signature: void HttpSM::transform_cleanup(TSHttpHookID hook, HttpTransformInfo
      *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::txn_hook_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7485,1
    - Dst: static_cast<INKVConnInternal *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7487,1
    - Dst: INKVConnInternal*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7488,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7489,1
    - Dst: HttpSM::txn_hook_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7493,1
    - Dst: static_cast<INKVConnInternal *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7495,1
    - Dst: INKVConnInternal*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7496,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7500
      start: 7478
    functionDepth: 1
    functionLinenumber: 7478
    functionLinenumberEnd: 7500
    functionName: HttpSM::plugin_agents_cleanup
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - INKVConnInternal*::do_io_close
    - APIHook*::next
    - HttpSM::txn_hook_get
    - static_cast<INKVConnInternal *>
    linkageType: ''
    returnType: void
    signature: void HttpSM::plugin_agents_cleanup()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7515,1
    - Dst: HttpSM::postbuf_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7516,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7528,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7530,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7531,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7531,1
    - Dst: end_both
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7534,1
    - Dst: end_both
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7535,1
    - Dst: cleanup_all
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7536,1
    - Dst: kill_tunnel
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7540,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7543,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7544,1
    - Dst: HttpSM::cancel_pending_server_connection
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7546,1
    - Dst: HttpSM::transform_cleanup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7554,1
    - Dst: HttpSM::transform_cleanup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7555,1
    - Dst: HttpSM::plugin_agents_cleanup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7556,1
    - Dst: kill_no_connect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7561,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7570,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7590,1
    - Dst: HttpSM::update_stats
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7598,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7604,1
    - Dst: Log::transaction_logging_enabled
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7605,1
    - Dst: Log::access
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7608,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7611,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7614,1
    - Dst: transaction_done
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7619,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7622,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7623,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7624,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7626,1
    - Dst: kill_no_connect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7633,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7637,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7637,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7638,1
    - Dst: is_table_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7638,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7639,1
    - Dst: is_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7639,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7641,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7643,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7648,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7649,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7650,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7653,1
    - Dst: HttpSM::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7654,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7656
      start: 7512
    functionDepth: 2
    functionLinenumber: 7512
    functionLinenumberEnd: 7656
    functionName: HttpSM::kill_this
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - is_table_clear
    - HTTP_SM_SET_DEFAULT_HANDLER
    - kill_no_connect
    - SMDbg
    - HttpSM::plugin_agents_cleanup
    - ats_free
    - HttpSM::postbuf_clear
    - Log::transaction_logging_enabled
    - free_MIOBuffer
    - transaction_done
    - remove
    - HttpSM::transform_cleanup
    - empty
    - HttpSM::destroy
    - ink_release_assert
    - do_io_close
    - end_both
    - Log::error
    - is_tunnel_active
    - kill_tunnel
    - HttpSM::cancel_pending_server_connection
    - HttpSM::do_api_callout
    - get_txn
    - cleanup_all
    - ink_assert
    - Log::access
    - HttpSM::update_stats
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void HttpSM::kill_this()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7661,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7662,1
    - Dst: is_action_tag_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7664,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7665,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7665,1
    - Dst: hdr_info::client_response::get_content_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7666,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7669,1
    - Dst: HttpSM::dump_state_on_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7670,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7673,1
    - Dst: HttpSM::dump_state_on_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7674,1
    - Dst: elapsed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7678,1
    - Dst: ATS_PROBE1
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7683,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7684,1
    - Dst: HttpTransact::client_result_stat
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7690,1
    - Dst: elapsed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7694,1
    - Dst: elapsed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7701,1
    - Dst: HttpTransact::update_size_and_time_stats
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7706,1
    - Dst: ink_hrtime_from_msec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7717,1
    - Dst: hdr_info::client_request::url_print
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7722,1
    - Dst: hdr_info::client_request::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7727,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7727,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7727,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7728,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7728,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7729,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7729,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7736,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7737,1
    - Dst: NetVConnection*::get_socket
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7739,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7746,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7747,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7747,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7750,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7751,1
    - Dst: client_info::src_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7782,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7783,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7783,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7785,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7786,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7787,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7788,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7789,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7790,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7791,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7792,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7793,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7794,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7795,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7796,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7797,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7798,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7799,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7800,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7801,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7802,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7803,1
    - Dst: difference_sec
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7804,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7806
      start: 7658
    functionDepth: 4
    functionLinenumber: 7658
    functionLinenumberEnd: 7806
    functionName: HttpSM::update_stats
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - hdr_info::client_response::status_get
    - min
    - HttpTransact::update_size_and_time_stats
    - HttpSM::dump_state_on_assert
    - difference_sec
    - elapsed
    - ats_ip_ntop
    - auto::data
    - NetVConnection*::get_socket
    - static_cast<int>
    - hdr_info::client_response::get_content_length
    - hdr_info::client_request::url_print
    - static_cast<std::string_view>
    - auto::length
    - Error
    - client_info::src_addr::host_order_port
    - get_txn
    - is_action_tag_set
    - ink_get_hrtime
    - ATS_PROBE1
    - ink_hrtime_from_msec
    - hdr_info::client_request::value_get
    - HttpTransact::client_result_stat
    - auto::empty
    - hdr_info::client_response::valid
    linkageType: ''
    returnType: void
    signature: void HttpSM::update_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7818,1
    - Dst: overflowed
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7820,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7821,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7821,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7824,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7828,1
    - Dst: location::str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7828,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7832,1
    - Dst: HttpSM::dump_state_hdr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7835,1
    - Dst: HttpSM::dump_state_hdr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7836,1
    - Dst: HttpSM::dump_state_hdr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7837,1
    - Dst: HttpSM::dump_state_hdr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7838,1
    - Dst: HttpSM::dump_state_hdr
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7839,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7842
      start: 7815
    functionDepth: 1
    functionLinenumber: 7815
    functionLinenumberEnd: 7842
    functionName: HttpSM::dump_state_on_assert
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - location::str
    - Error
    - overflowed
    - HttpSM::dump_state_hdr
    - size
    linkageType: ''
    returnType: void
    signature: void HttpSM::dump_state_on_assert()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7848,1
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7849,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7850,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7850,1
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7854,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7857,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - HTTPHdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7860
      start: 7844
    functionDepth: 1
    functionLinenumber: 7844
    functionLinenumberEnd: 7860
    functionName: HttpSM::dump_state_hdr
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - ats_free
    - HTTPHdr*::valid
    - Error
    - HTTPHdr*::print
    - static_cast<char *>
    - ats_malloc
    - HTTPHdr*::length_get
    linkageType: ''
    returnType: void
    signature: void HttpSM::dump_state_hdr(HTTPHdr *h, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7894,1
    - Dst: transact_return_point
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7895,1
    - Dst: f
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7897,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7900,1
    - Dst: HttpDebugNames::get_action_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7900,1
    - Dst: HttpDebugNames::get_action_name
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7901,1
    - Dst: HttpSM::set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - TransactEntryFunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7906
      start: 7885
    functionDepth: 1
    functionLinenumber: 7885
    functionLinenumberEnd: 7906
    functionName: HttpSM::call_transact_and_set_next_state
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 23
    functionsReached:
    - HttpDebugNames::get_action_name
    - SMDbg
    - ink_release_assert
    - transact_return_point
    - HttpSM::set_next_state
    - f
    linkageType: ''
    returnType: void
    signature: void HttpSM::call_transact_and_set_next_state(TransactEntryFunc_t f)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7937,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7942,1
    - Dst: HttpSM::do_remap_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7947,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7948,1
    - Dst: finish_remap
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7949,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7957,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7968,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7968,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7974,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7976,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7976,1
    - Dst: dns_info::set_upstream_address
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7979,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7984,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7984,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7986,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7986,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7988,1
    - Dst: HTTPVersion
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7988,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7994,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:7999,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8002,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8003,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8007,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8012,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8013,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8025,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8026,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8028,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8029,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8029,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8035,1
    - Dst: HttpSM::do_hostdb_lookup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8036,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8041,1
    - Dst: HttpSM::do_hostdb_reverse_lookup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8042,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8047,1
    - Dst: HttpSM::do_cache_lookup_and_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8048,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8055,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8056,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8060,1
    - Dst: cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8061,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8073,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8074,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8076,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8077,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8083,1
    - Dst: HttpSM::setup_server_read_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8090,1
    - Dst: HttpSM::setup_100_continue_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8095,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8103,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8103,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8104,1
    - Dst: hdr_info::transform_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8104,1
    - Dst: HttpSM::setup_server_transfer_to_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8105,1
    - Dst: HttpSM::perform_cache_write_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8106,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8107,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8109,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8109,1
    - Dst: HttpSM::is_redirect_required
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8113,1
    - Dst: HttpSM::do_api_callout_internal
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8114,1
    - Dst: HttpSM::do_redirect
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8116,1
    - Dst: HttpSM::handle_api_return
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8117,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8124,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8127,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8131,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8131,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8132,1
    - Dst: hdr_info::transform_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8132,1
    - Dst: HttpSM::do_drain_request_body
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8133,1
    - Dst: hdr_info::cache_response::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8134,1
    - Dst: hdr_info::cache_response::copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8135,1
    - Dst: HttpSM::setup_cache_transfer_to_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8137,1
    - Dst: HttpSM::perform_cache_write_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8138,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8139,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8141,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8141,1
    - Dst: HttpSM::do_drain_request_body
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8142,1
    - Dst: hdr_info::cache_response::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8143,1
    - Dst: hdr_info::cache_response::copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8144,1
    - Dst: HttpSM::perform_cache_write_action
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8146,1
    - Dst: HttpSM::do_api_callout_internal
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8151,1
    - Dst: HttpSM::handle_api_return
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8153,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8160,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8161,1
    - Dst: HttpSM::do_cache_prepare_write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8162,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8168,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8174,1
    - Dst: HttpSM::do_drain_request_body
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8177,1
    - Dst: HttpSM::handle_api_return
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8183,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8186,1
    - Dst: end_both
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8194,1
    - Dst: HttpSM::do_cache_delete_all_alts
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8195,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8197,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8199,1
    - Dst: HttpSM::issue_cache_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8204,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8205,1
    - Dst: HttpSM::release_server_session
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8207,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8209,1
    - Dst: HttpSM::setup_error_transfer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8214,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8219,1
    - Dst: ATS_PROBE
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8220,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8222,1
    - Dst: HttpSM::do_hostdb_update_if_necessary
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8227,1
    - Dst: HttpSM::do_hostdb_lookup
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8229,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8235,1
    - Dst: set_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8242,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8243,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8245,1
    - Dst: HttpSM::do_http_server_open
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8246,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8251,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8256,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8257,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8259,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8261,1
    - Dst: HttpSM::do_cache_prepare_write_transform
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8263,1
    - Dst: HttpSM::do_api_callout
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8270,1
    - Dst: HttpSM::setup_push_read_response_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8275,1
    - Dst: HttpSM::setup_push_transfer_to_cache
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8282,1
    - Dst: tunnel_run
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8283,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8288,1
    - Dst: HttpSM::do_cache_prepare_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8289,1
    - Dst: close_read
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8295,1
    - Dst: HttpSM::issue_cache_update
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8297,1
    - Dst: HttpSM::call_transact_and_set_next_state
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8298,1
    - Dst: HttpSM::wait_for_full_body
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8303,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8308,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8313,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8316
      start: 7919
    functionDepth: 5
    functionLinenumber: 7919
    functionLinenumberEnd: 8316
    functionName: HttpSM::set_next_state
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - HTTPVersion
    - HTTP_SM_SET_DEFAULT_HANDLER
    - SMDbg
    - HttpSM::do_http_server_open
    - HttpSM::do_redirect
    - HttpSM::do_cache_prepare_update
    - HttpSM::wait_for_full_body
    - hdr_info::cache_response::create
    - hdr_info::client_request::version_get
    - close_read
    - HttpSM::setup_push_read_response_header
    - HttpSM::do_cache_lookup_and_read
    - HttpSM::setup_server_transfer_to_transform
    - HttpSM::setup_error_transfer
    - HttpSM::setup_100_continue_transfer
    - HttpSM::issue_cache_update
    - HttpSM::do_hostdb_update_if_necessary
    - HttpSM::do_cache_prepare_write_transform
    - finish_remap
    - tunnel_run
    - HttpSM::setup_cache_transfer_to_transform
    - HttpSM::setup_server_read_response_header
    - HttpSM::do_cache_prepare_write
    - HttpSM::do_remap_request
    - ats_ip_ntop
    - HttpSM::release_server_session
    - ats_is_ip
    - ink_release_assert
    - HttpSM::call_transact_and_set_next_state
    - end_both
    - cleanup_entry
    - HttpSM::handle_api_return
    - HttpSM::do_api_callout
    - ATS_PROBE
    - HttpSM::do_hostdb_reverse_lookup
    - get_txn
    - HttpSM::do_api_callout_internal
    - HttpSM::do_cache_delete_all_alts
    - ink_assert
    - set_connect_fail
    - HttpSM::do_hostdb_lookup
    - dns_info::set_upstream_address
    - HttpSM::perform_cache_write_action
    - 'on'
    - HttpSM::setup_push_transfer_to_cache
    - HttpSM::is_redirect_required
    - HttpSM::do_drain_request_body
    - hdr_info::cache_response::copy
    - hdr_info::transform_response::valid
    - hdr_info::client_response::valid
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_next_state()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8321,1
    - Dst: HttpSM::postbuf_clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8323,1
    - Dst: HttpSM::is_redirect_required
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8333,1
    - Dst: hdr_info::client_response::field_find
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8335,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8335,1
    - Dst: Log::transaction_logging_enabled
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8336,1
    - Dst: Log::access
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8352,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8355,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8358,1
    - Dst: HttpSM::redirect_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8364,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8365,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8368,1
    - Dst: hdr_info::client_response::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8371,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8371,1
    - Dst: HttpSM::redirect_request
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8372,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8372,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8372,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8372,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8381
      start: 8318
    functionDepth: 2
    functionLinenumber: 8318
    functionLinenumberEnd: 8381
    functionName: HttpSM::do_redirect
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - hdr_info::client_response::field_find
    - ats_free
    - SMDbg
    - ts::Metrics::Counter::increment
    - static_cast<std::string_view>
    - auto::length
    - Log::access
    - HttpSM::postbuf_clear
    - Log::transaction_logging_enabled
    - Log::error
    - hdr_info::client_response::value_get
    - HttpSM::is_redirect_required
    - auto::data
    - HttpSM::redirect_request
    linkageType: ''
    returnType: void
    signature: void HttpSM::do_redirect()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8386,1
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8389,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8390,1
    - Dst: hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8400,1
    - Dst: hdr_info::server_request::port_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8401,1
    - Dst: hdr_info::server_request::value_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8403,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8403,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8404,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8405,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8405,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8405,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8406,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8406,1
    - Dst: hdr_info::server_request::method_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8411,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8412,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8413,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8414,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8414,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8414,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8414,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8419,1
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8426,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8427,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8429,1
    - Dst: URL::scheme_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8431,1
    - Dst: URL::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8431,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8440,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8440,1
    - Dst: url_nuke_proxy_stuff
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8442,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8443,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8443,1
    - Dst: URL::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8449,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8450,1
    - Dst: URL::copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8451,1
    - Dst: URL::copy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8454,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8456,1
    - Dst: hdr_info::client_response::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8459,1
    - Dst: hdr_info::client_response::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8461,1
    - Dst: hdrtoken_index_to_length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8465,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8466,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8470,1
    - Dst: hdr_info::server_request::destroy
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8475,1
    - Dst: parent_result::reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8480,1
    - Dst: server_info::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8487,1
    - Dst: parent_info::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8488,1
    - Dst: hdr_info::client_request::presence
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8505,1
    - Dst: URL::host_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8506,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8507,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8507,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8509,1
    - Dst: URL::port_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8510,1
    - Dst: URL::scheme_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8512,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8512,1
    - Dst: URL::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8513,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8513,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8514,1
    - Dst: URL::scheme_get_wksidx
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8518,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8530,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8530,1
    - Dst: hdr_info::client_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8531,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8531,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8532,1
    - Dst: hdr_info::client_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8534,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8534,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8544,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8545,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8551,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8565,1
    - Dst: hdr_info::client_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8566,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8566,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8567,1
    - Dst: hdr_info::client_request::value_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8569,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8570,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8571,1
    - Dst: url_nuke_proxy_stuff
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8575,1
    - Dst: url_nuke_proxy_stuff
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8576,1
    - Dst: hdr_info::client_request::method_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8577,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8578,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8578,1
    - Dst: URL::scheme_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8581,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8581,1
    - Dst: URL::user_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8584,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8585,1
    - Dst: URL::password_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8586,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8587,1
    - Dst: URL::host_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8588,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8589,1
    - Dst: URL::port_set
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8590,1
    - Dst: URL::port_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8590,1
    - Dst: hdr_info::client_request::field_delete
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8595,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8595,1
    - Dst: dump_header
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8600,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8603,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 122
    argCount: 2
    argNames:
    - arg_redirect_url
    - arg_redirect_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8604
      start: 8383
    functionDepth: 1
    functionLinenumber: 8383
    functionLinenumberEnd: 8604
    functionName: HttpSM::redirect_request
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - URL::valid
    - memcpy
    - SMDbg
    - URL::URL
    - URL::destroy
    - hdr_info::server_request::method_get
    - std::string::data
    - server_info::clear
    - hdrtoken_index_to_wks
    - min
    - URL::parse
    - snprintf
    - URL::host_get
    - dump_header
    - hdr_info::client_request::presence
    - hdr_info::client_request::value_set
    - parent_info::clear
    - hdr_info::server_request::port_get
    - URL::scheme_get
    - strtok_r
    - auto::data
    - hdr_info::server_request::destroy
    - std::string::c_str
    - HTTPHdr::url_get
    - static_cast<int>
    - URL::copy
    - auto::length
    - static_cast<std::string_view>
    - hdr_info::client_request::method_set
    - URL::port_set
    - hdr_info::server_request::valid
    - hdrtoken_index_to_length
    - URL::scheme_get_wksidx
    - reset
    - parent_result::reset
    - URL::password_set
    - strlen
    - URL::port_get
    - hdr_info::client_response::destroy
    - hdr_info::server_request::value_get
    - URL::create
    - URL::user_set
    - static_cast<std::string_view::size_type>
    - url_nuke_proxy_stuff
    - URL::scheme_set
    - auto::empty
    - hdr_info::client_request::field_delete
    - URL::host_set
    - hdr_info::client_response::valid
    linkageType: ''
    returnType: void
    signature: void HttpSM::redirect_request(const char *arg_redirect_url, const int
      arg_redirect_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contp
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8611
      start: 8606
    functionDepth: 1
    functionLinenumber: 8606
    functionLinenumberEnd: 8611
    functionName: HttpSM::set_http_schedule
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HTTP_SM_SET_DEFAULT_HANDLER
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_http_schedule(Continuation *contp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TAKE_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8620,1
    - Dst: HTTP_SM_SET_DEFAULT_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8623,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8624,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8624,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8625,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8625,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8635,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8641
      start: 8613
    functionDepth: 2
    functionLinenumber: 8613
    functionLinenumberEnd: 8641
    functionName: HttpSM::get_http_schedule
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - HTTP_SM_SET_DEFAULT_HANDLER
    - thread_holding::schedule_in
    - HRTIME_MSECONDS
    - Mutex_unlock
    - MUTEX_TAKE_TRY_LOCK
    - empty
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpSM::get_http_schedule(int event, void * /* data ATS_UNUSED
      */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PoolableSession *>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8650,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - private_session
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8654
      start: 8646
    functionDepth: 0
    functionLinenumber: 8646
    functionLinenumberEnd: 8654
    functionName: HttpSM::set_server_session_private
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached:
    - static_cast<PoolableSession *>
    - get_proxy_ssn
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::set_server_session_private(bool private_session)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8664
      start: 8656
    functionDepth: 0
    functionLinenumber: 8656
    functionLinenumberEnd: 8664
    functionName: HttpSM::is_private
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_private() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::is_fresh_cache_hit
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8671,1
    - Dst: SMDbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8673,1
    - Dst: hdr_info::client_response::status_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8699
      start: 8667
    functionDepth: 1
    functionLinenumber: 8667
    functionLinenumberEnd: 8699
    functionName: HttpSM::is_redirect_required
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 3
    functionsReached:
    - HttpTransact::is_fresh_cache_hit
    - SMDbg
    - hdr_info::client_response::status_get
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_redirect_required()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8705
      start: 8701
    functionDepth: 0
    functionLinenumber: 8701
    functionLinenumberEnd: 8705
    functionName: HttpSM::get_tunnel_type
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SNIRoutingType
    signature: SNIRoutingType HttpSM::get_tunnel_type() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_proto_string
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8713,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8713,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8714,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8716,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - result
    - n
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8722
      start: 8708
    functionDepth: 1
    functionLinenumber: 8708
    functionLinenumberEnd: 8722
    functionName: HttpSM::populate_client_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::find_proto_string
    - get_txn
    - hdr_info::client_request::version_get
    - std::string_view::empty
    linkageType: ''
    returnType: int
    signature: int HttpSM::populate_client_protocol(std::string_view *result, int
      n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_proto_string
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8729,1
    - Dst: hdr_info::client_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8729,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8730,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8732,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8733,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8734,1
    - Dst: get_txn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - tag_prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8739
      start: 8725
    functionDepth: 1
    functionLinenumber: 8725
    functionLinenumberEnd: 8739
    functionName: HttpSM::client_protocol_contains
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::find_proto_string
    - hdr_info::client_request::version_get
    - std::string_view::empty
    - std::string_view::size
    - get_txn
    - strncmp
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpSM::client_protocol_contains(std::string_view tag_prefix) const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::server_request::valid
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8746,1
    - Dst: HttpSM::find_proto_string
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8750,1
    - Dst: hdr_info::server_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8750,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8751,1
    - Dst: populate_protocol
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - result
    - n
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8759
      start: 8742
    functionDepth: 1
    functionLinenumber: 8742
    functionLinenumberEnd: 8759
    functionName: HttpSM::populate_server_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - hdr_info::server_request::version_get
    - HttpSM::find_proto_string
    - hdr_info::server_request::valid
    - std::string_view::empty
    - populate_protocol
    linkageType: ''
    returnType: int
    signature: int HttpSM::populate_server_protocol(std::string_view *result, int
      n) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_proto_string
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8766,1
    - Dst: hdr_info::server_request::version_get
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8766,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8767,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8769,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8770,1
    - Dst: protocol_contains
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - tag_prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8778
      start: 8762
    functionDepth: 1
    functionLinenumber: 8762
    functionLinenumberEnd: 8778
    functionName: HttpSM::server_protocol_contains
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - hdr_info::server_request::version_get
    - HttpSM::find_proto_string
    - std::string_view::empty
    - std::string_view::size
    - protocol_contains
    - strncmp
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpSM::server_protocol_contains(std::string_view tag_prefix) const'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - version
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8793
      start: 8780
    functionDepth: 0
    functionLinenumber: 8780
    functionLinenumberEnd: 8793
    functionName: HttpSM::find_proto_string
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HttpSM::find_proto_string(HTTPVersion version) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8799
      start: 8795
    functionDepth: 0
    functionLinenumber: 8795
    functionLinenumberEnd: 8799
    functionName: HttpSM::rewind_state_machine
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::rewind_state_machine()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8809,1
    - Dst: PostDataBuffers::ua_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8809,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8810,1
    - Dst: PostDataBuffers::ua_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8812,1
    - Dst: PostDataBuffers::postdata_copy_buffer::write
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8813,1
    - Dst: PostDataBuffers::ua_buffer_reader::consume
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - consumed_bytes
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8816
      start: 8803
    functionDepth: 1
    functionLinenumber: 8803
    functionLinenumberEnd: 8816
    functionName: PostDataBuffers::copy_partial_post_data
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - PostDataBuffers::postdata_copy_buffer::write
    - min
    - Dbg
    - PostDataBuffers::ua_buffer_reader::consume
    - PostDataBuffers::ua_buffer_reader::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t PostDataBuffers::copy_partial_post_data(int64_t consumed_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostDataBuffers::postdata_copy_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8822
      start: 8818
    functionDepth: 0
    functionLinenumber: 8818
    functionLinenumberEnd: 8822
    functionName: PostDataBuffers::get_post_data_buffer_clone_reader
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - PostDataBuffers::postdata_copy_buffer::clone_reader
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      PostDataBuffers::get_post_data_buffer_clone_reader()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8829,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8835,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8836,1
    - Dst: PostDataBuffers::postdata_copy_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8837,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ua_reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8841
      start: 8826
    functionDepth: 1
    functionLinenumber: 8826
    functionLinenumberEnd: 8841
    functionName: PostDataBuffers::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - PostDataBuffers::postdata_copy_buffer::alloc_reader
    - new_empty_MIOBuffer
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers::init(IOBufferReader *ua_reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8848,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8856
      start: 8845
    functionDepth: 2
    functionLinenumber: 8845
    functionLinenumberEnd: 8856
    functionName: PostDataBuffers::clear
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostDataBuffers::clear
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8861
      start: 8858
    functionDepth: 0
    functionLinenumber: 8858
    functionLinenumberEnd: 8861
    functionName: PostDataBuffers::~PostDataBuffers()
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - PostDataBuffers::clear
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers::~PostDataBuffers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::server_txn::get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8863
    functionDepth: 0
    functionLinenumber: 8863
    functionLinenumberEnd: 8867
    functionName: HttpSM::get_server_version
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 0
    functionsReached:
    - HttpSM::server_txn::get_proxy_ssn
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion HttpSM::get_server_version(HTTPHdr &hdr) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::max<ink_hrtime>
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8885,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8885,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8898,1
    - Dst: record_api_time
      Src: /src/trafficserver/src/proxy/http/HttpSM.cc:8898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8900
      start: 8870
    functionDepth: 1
    functionLinenumber: 8870
    functionLinenumberEnd: 8900
    functionName: HttpSM::milestone_update_api_time
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSM.cc
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - std::max<ink_hrtime>
    - record_api_time
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HttpSM::milestone_update_api_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http1ClientTransaction::do_io_read
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:34,1
    - Dst: clear_session_active
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: Http1ClientTransaction::release
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc
    functionUses: 0
    functionsReached:
    - Http1ClientTransaction::do_io_read
    - clear_session_active
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction::release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:41,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:41,1
    - Dst: ProxyTransaction::transaction_done
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:42,1
    - Dst: static_cast<Http1ClientSession *>
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: Http1ClientTransaction::transaction_done
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc
    functionUses: 0
    functionsReached:
    - ProxyTransaction::transaction_done
    - static_cast<Http1ClientSession *>
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction::transaction_done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http1ClientSession *>
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: Http1ClientTransaction::allow_half_open
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc
    functionUses: 0
    functionsReached:
    - static_cast<Http1ClientSession *>
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientTransaction::allow_half_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Http1ClientTransaction::increment_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction::increment_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Http1ClientTransaction::decrement_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientTransaction.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction::decrement_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:66,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:67,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:67,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:69,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:70,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: ''
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 7634
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    - this_thread
    - bwformat
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: 'bool '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:78,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:78,1
    - Dst: next
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:80,1
    - Dst: SSLNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - protocol
    - contp
    argTypes:
    - char*
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: ssl_register_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 1
    functionsReached:
    - next
    - SSLNextProtocolAccept*::registerEndpoint
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool ssl_register_protocol(const char *protocol, Continuation *contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: HttpProxyAcceptor
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpProxyAcceptor()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:130,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:131,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:132,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:133,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:134,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:135,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:138,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:142,1
    - Dst: HttpProxyPort*::m_inbound_ip::isValid
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:152,1
    - Dst: inbound::has_ip6
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:154,1
    - Dst: inbound::ip6
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:155,1
    - Dst: inbound::has_ip4
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:156,1
    - Dst: inbound::ip4
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - port
    - nthreads
    argTypes:
    - HttpProxyPort*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 165
    functionName: make_net_accept_options
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 3
    functionsReached:
    - inbound::has_ip6
    - HttpProxyPort*::m_inbound_ip::isValid
    - inbound::has_ip4
    - inbound::ip6
    - RecGetRecordInt
    - inbound::ip4
    linkageType: ''
    returnType: NetProcessor::AcceptOptions
    signature: NetProcessor::AcceptOptions make_net_accept_options(const HttpProxyPort
      *port, unsigned nthreads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_net_accept_options
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:173,1
    - Dst: HttpSessionAccept::Options::setHostResPreference
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:177,1
    - Dst: HttpSessionAccept::Options::setTransparentPassthrough
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:178,1
    - Dst: HttpSessionAccept::Options::setSessionProtocolPreference
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:179,1
    - Dst: ProtocolProbeSessionAccept::ProtocolProbeSessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:191,1
    - Dst: HttpProxyPort::m_session_protocol_preference::intersects
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:196,1
    - Dst: HttpSessionAccept::HttpSessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:197,1
    - Dst: ProtocolProbeSessionAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:198,1
    - Dst: HttpProxyPort::m_session_protocol_preference::intersects
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:201,1
    - Dst: ProtocolProbeSessionAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:202,1
    - Dst: Http2SessionAccept::Http2SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:202,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:204,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:205,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:206,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:208,1
    - Dst: SSLNextProtocolAccept::SSLNextProtocolAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:209,1
    - Dst: SSLNextProtocolAccept*::enableProtocols
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:218,1
    - Dst: SSLNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:219,1
    - Dst: SSLNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:220,1
    - Dst: SSLNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:221,1
    - Dst: Http2SessionAccept::Http2SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:221,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:223,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:223,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:224,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:228,1
    - Dst: QUICNextProtocolAccept::QUICNextProtocolAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:229,1
    - Dst: QUICNextProtocolAccept*::enableProtocols
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:231,1
    - Dst: QUICNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:234,1
    - Dst: Http3SessionAccept::Http3SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:234,1
    - Dst: QUICNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:237,1
    - Dst: Http3SessionAccept::Http3SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:237,1
    - Dst: QUICNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:240,1
    - Dst: Http3SessionAccept::Http3SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:240,1
    - Dst: QUICNextProtocolAccept*::registerEndpoint
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:243,1
    - Dst: Http3SessionAccept::Http3SessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - acceptor
    - port
    - nthreads
    argTypes:
    - HttpProxyAcceptor
    - HttpProxyPort
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 251
    functionName: MakeHttpProxyAcceptor
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 0
    functionsReached:
    - insert
    - this_ethread
    - QUICNextProtocolAccept*::enableProtocols
    - ProtocolProbeSessionAccept*::registerEndpoint
    - HttpProxyPort::isQUIC
    - QUICNextProtocolAccept::QUICNextProtocolAccept
    - HttpSessionAccept::Options::setSessionProtocolPreference
    - HttpSessionAccept::HttpSessionAccept
    - SSLNextProtocolAccept*::enableProtocols
    - Http3SessionAccept::Http3SessionAccept
    - Http2SessionAccept::Http2SessionAccept
    - SSLNextProtocolAccept*::registerEndpoint
    - HttpSessionAccept::Options::setTransparentPassthrough
    - HttpProxyPort::isSSL
    - make_net_accept_options
    - ProtocolProbeSessionAccept::ProtocolProbeSessionAccept
    - QUICNextProtocolAccept*::registerEndpoint
    - SSLNextProtocolAccept::SSLNextProtocolAccept
    - SCOPED_MUTEX_LOCK
    - HttpSessionAccept::Options::setHostResPreference
    - push
    - HttpProxyPort::m_session_protocol_preference::intersects
    linkageType: ''
    returnType: void
    signature: void MakeHttpProxyAcceptor(HttpProxyAcceptor &acceptor, HttpProxyPort
      &port, unsigned nthreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: prep_HttpProxyServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void prep_HttpProxyServer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cont_global
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:265,1
    - Dst: init_reverse_proxy
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:267,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:270,1
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:271,1
    - Dst: HttpSessionAccept::HttpSessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:279,1
    - Dst: HttpSessionAccept::Options::setOutboundTransparent
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:285,1
    - Dst: HttpSessionAccept::HttpSessionAccept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:286,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:290,1
    - Dst: assign
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:295,1
    - Dst: HttpProxyPort::Group::size
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:295,1
    - Dst: HttpProxyAcceptor
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:295,1
    - Dst: HttpProxyPort::Group::size
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:296,1
    - Dst: MakeHttpProxyAcceptor
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:297,1
    - Dst: at
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - n_accept_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 299
    functionName: init_accept_HttpProxyServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 1
    functionsReached:
    - HttpSessionAccept::HttpSessionAccept
    - at
    - HttpSessionAccept::Options::setOutboundTransparent
    - new_ProxyMutex
    - HttpProxyAcceptor
    - HttpProxyPort::Group::size
    - MakeHttpProxyAcceptor
    - assign
    - ink_mutex_init
    - cont_global
    - init_reverse_proxy
    linkageType: ''
    returnType: void
    signature: void init_accept_HttpProxyServer(int n_accept_threads)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_tg_started
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:311,1
    - Dst: std::unique_lock::unlock
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:314,1
    - Dst: notify_one
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:315,1
    - Dst: has_tg_started
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:319,1
    - Dst: std::unique_lock::unlock
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:322,1
    - Dst: notify_one
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: init_HttpProxyServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 0
    functionsReached:
    - std::unique_lock::unlock
    - has_tg_started
    - notify_one
    linkageType: ''
    returnType: void
    signature: void init_HttpProxyServer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cont_global
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:332,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:338,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:339,1
    - Dst: HttpProxyPort::Group::size
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:339,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:339,1
    - Dst: HttpProxyPort::Group::size
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:341,1
    - Dst: HttpProxyPort::isSSL
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:344,1
    - Dst: main_accept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:345,1
    - Dst: HttpProxyPort::isQUIC
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:349,1
    - Dst: main_accept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:350,1
    - Dst: HttpProxyPort::isPlugin
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:354,1
    - Dst: main_accept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:355,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:364,1
    - Dst: APIHook*::invoke
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:366,1
    - Dst: APIHook*::next
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:367,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 371
    functionName: start_HttpProxyServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 3
    functionsReached:
    - get
    - start
    - HttpProxyPort::isQUIC
    - main_accept
    - cont_global
    - HttpProxyPort::isPlugin
    - APIHook*::next
    - APIHook*::invoke
    - HttpProxyPort::Group::size
    - size
    - HttpProxyPort::isSSL
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void start_HttpProxyServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop_accept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:376,1
    - Dst: stop_accept
      Src: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: stop_HttpProxyServer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpProxyServerMain.cc
    functionUses: 2
    functionsReached:
    - stop_accept
    linkageType: ''
    returnType: void
    signature: void stop_HttpProxyServer()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:87,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:88,1
    - Dst: HttpTransact::State*::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:95,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:97,1
    - Dst: URL*::string_get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:99,1
    - Dst: HttpTransact::State*::arena::str_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:105,1
    - Dst: HttpBodyFactory::is_response_suppressed
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:113,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:115,1
    - Dst: HttpBodyFactory::lock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:120,1
    - Dst: HttpTransact::State*::hdr_info::client_request::value_get_comma_list
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:130,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:130,1
    - Dst: HttpTransact::State*::hdr_info::client_request::value_get_comma_list
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:132,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:132,1
    - Dst: ats_strndup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:139,1
    - Dst: HttpBodyFactory::fabricate
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:149,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:156,1
    - Dst: HttpBodyFactory::unlock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:158,1
    - Dst: HttpBodyFactory::fabricate
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:161,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:170,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:175,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:175,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:183,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:184,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:189,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:193,1
    - Dst: Log::error
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:200,1
    - Dst: HttpBodyFactory::unlock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:203,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 10
    argNames:
    - type
    - context
    - max_buffer_length
    - resulting_buffer_length
    - content_language_out_buf
    - content_language_buf_size
    - content_type_out_buf
    - content_type_buf_size
    - format_size
    - format
    argTypes:
    - char*
    - HttpTransact::State*
    - int64_t
    - int64_t*
    - char*
    - size_t
    - char*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 206
    functionName: HttpBodyFactory::fabricate_with_old_api
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - ats_strndup
    - HttpBodyFactory::lock
    - HttpTransact::State*::hdr_info::client_request::url_get
    - static_cast<std::string_view>
    - ink_strlcpy
    - ats_free_null
    - Log::error
    - static_cast<char *>
    - HttpBodyFactory::fabricate
    - URL*::valid
    - snprintf
    - HttpTransact::State*::arena::str_free
    - URL*::string_get
    - HttpBodyFactory::is_response_suppressed
    - HttpBodyFactory::unlock
    - is_response_body_precluded
    - HttpTransact::State*::hdr_info::client_request::value_get_comma_list
    linkageType: ''
    returnType: char
    signature: "char *\nHttpBodyFactory::fabricate_with_old_api(const char *type,
      HttpTransact::State *context, int64_t max_buffer_length,\n                                        int64_t
      *resulting_buffer_length, char *content_language_out_buf,\n                                        size_t
      content_language_buf_size, char *content_type_out_buf, size_t content_type_buf_size,\n
      \                                       int format_size, const char *format)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpBodyFactory::lock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:211,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:213,1
    - Dst: static_cast<HttpBodySet *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:214,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:216,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:216,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:223,1
    - Dst: HttpBodySet*::is_sane
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:223,1
    - Dst: HttpBodySet*::table_of_pages::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:225,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:226,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:226,1
    - Dst: HttpBodyFactory::unlock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: HttpBodyFactory::dump_template_tables
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - get
    - fprintf
    - static_cast<HttpBodySet *>
    - first::c_str
    - HttpBodyFactory::unlock
    - HttpBodySet*::table_of_pages::get
    - HttpBodyFactory::lock
    - HttpBodySet*::is_sane
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpBodyFactory::dump_template_tables(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpBodyFactory *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:246,1
    - Dst: HttpBodyFactory*::reconfigure
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: config_callback
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - HttpBodyFactory*::reconfigure
    - static_cast<HttpBodyFactory *>
    linkageType: ''
    returnType: int
    signature: "int config_callback(const char * /* name ATS_UNUSED */, RecDataT /*
      data_type ATS_UNUSED */, RecData /* data ATS_UNUSED */,\n                void
      *cookie)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HttpBodyFactory::lock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:256,1
    - Dst: HttpBodyFactory::sanity_check
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:257,1
    - Dst: HttpBodyFactory::unlock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:268,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:273,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:274,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:274,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:275,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:276,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:276,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:278,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:279,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:279,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:280,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:281,1
    - Dst: auto::has_value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:281,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:283,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:286,1
    - Dst: Layout::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:289,1
    - Dst: auto::value
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:289,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:290,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:291,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:291,1
    - Dst: TSSystemState::is_initializing
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:292,1
    - Dst: Emergency
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:293,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:295,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:301,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:304,1
    - Dst: HttpBodyFactory::nuke_template_tables
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:311,1
    - Dst: HttpBodyFactory::load_sets_from_directory
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:319,1
    - Dst: HttpBodyFactory::unlock
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 323
    functionName: HttpBodyFactory::reconfigure
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - HttpBodyFactory::nuke_template_tables
    - ats_scoped_str::ats_scoped_str
    - auto::value
    - Warning
    - HttpBodyFactory::load_sets_from_directory
    - RecGetRecordStringAlloc
    - strerror
    - Emergency
    - Dbg
    - auto::has_value
    - Layout::get
    - HttpBodyFactory::unlock
    - HttpBodyFactory::lock
    - TSSystemState::is_initializing
    - HttpBodyFactory::sanity_check
    - RecGetRecordInt
    - access
    linkageType: ''
    returnType: void
    signature: void HttpBodyFactory::reconfigure()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:339,1
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:351,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:353,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:359,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:361,1
    - Dst: HttpBodyFactory::reconfigure
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 365
    functionName: HttpBodyFactory::HttpBodyFactory
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - RecRegisterConfigUpdateCb
    - Warning
    - HttpBodyFactory::reconfigure
    - Dbg
    - ink_mutex_init
    linkageType: ''
    returnType: void
    signature: void HttpBodyFactory::HttpBodyFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: HttpBodyFactory::~HttpBodyFactory()
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void HttpBodyFactory::~HttpBodyFactory()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:390,1
    - Dst: HttpBodyFactory::is_response_suppressed
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:394,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:395,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:400,1
    - Dst: HttpBodyFactory::determine_set_by_language
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:406,1
    - Dst: HttpBodyFactory::determine_set_by_host
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:408,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:409,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:420,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:421,1
    - Dst: HttpBodyFactory::find_template
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:422,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:425,1
    - Dst: HttpBodyFactory::find_template
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:426,1
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:432,1
    - Dst: HttpBodyFactory::find_template
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:435,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:439,1
    - Dst: HttpBodyTemplate*::build_instantiated_buffer
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 8
    argNames:
    - acpt_language_list
    - acpt_charset_list
    - type
    - context
    - buffer_length_return
    - content_language_return
    - content_charset_return
    - set_return
    argTypes:
    - StrList*
    - StrList*
    - char*
    - HttpTransact::State*
    - int64_t*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 449
    functionName: HttpBodyFactory::fabricate
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - is_response_body_precluded
    - HttpBodyFactory::determine_set_by_language
    - HttpBodyTemplate*::build_instantiated_buffer
    - Dbg
    - snprintf
    - HttpBodyFactory::is_response_suppressed
    - strncmp
    - HttpBodyFactory::find_template
    - HttpBodyFactory::determine_set_by_host
    linkageType: ''
    returnType: char
    signature: "char *\nHttpBodyFactory::fabricate(StrList *acpt_language_list, StrList
      *acpt_charset_list, const char *type, HttpTransact::State *context,\n                           int64_t
      *buffer_length_return, const char **content_language_return, const char **content_charset_return,\n
      \                          const char **set_return)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:458,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:460,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:460,1
    - Dst: auto::first::c_str
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: HttpBodyFactory::determine_set_by_host
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - find
    - strncpy
    - auto::first::c_str
    - end
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpBodyFactory::determine_set_by_host(HttpTransact::State *context)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:485,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:494,1
    - Dst: std::unique_ptr<BodySetTable>::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:502,1
    - Dst: first::c_str
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:503,1
    - Dst: first::empty
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:506,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:524,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:526,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:536,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:539,1
    - Dst: HttpCompat::match_accept_language
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:540,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:541,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:564,1
    - Dst: HttpCompat::match_accept_charset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:566,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:566,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:568,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:579,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:595,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:596,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:607,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:610,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 7
    argNames:
    - table_of_sets
    - acpt_language_list
    - acpt_charset_list
    - Q_best_ptr
    - La_best_ptr
    - Lc_best_ptr
    - I_best_ptr
    argTypes:
    - std::unique_ptr<BodySetTable>
    - StrList*
    - StrList*
    - float*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 623
    functionName: HttpBodyFactory::determine_set_by_language
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - first::c_str
    - HttpCompat::match_accept_charset
    - min
    - Dbg
    - HttpCompat::match_accept_language
    - strlen
    - std::unique_ptr<BodySetTable>::get
    - first::empty
    linkageType: ''
    returnType: char
    signature: "char *\nHttpBodyFactory::determine_set_by_language(std::unique_ptr<BodySetTable>
      &table_of_sets, StrList *acpt_language_list,\n                                           StrList
      *acpt_charset_list, float *Q_best_ptr, int *La_best_ptr, int *Lc_best_ptr,\n
      \                                          int *I_best_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpBodyFactory::determine_set_by_language
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - acpt_language_list
    - acpt_charset_list
    argTypes:
    - StrList*
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 636
    functionName: HttpBodyFactory::determine_set_by_language
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 2
    functionsReached:
    - HttpBodyFactory::determine_set_by_language
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpBodyFactory::determine_set_by_language(StrList *acpt_language_list, StrList
      *acpt_charset_list)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:642,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:649,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:649,1
    - Dst: static_cast<HttpBodySet *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:650,1
    - Dst: HttpBodySet*::table_of_pages::find
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:655,1
    - Dst: HttpBodySet*::table_of_pages::end
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:655,1
    - Dst: auto::is_sane
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:657,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:662,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - set
    - type
    - body_set_return
    argTypes:
    - char*
    - char*
    - HttpBodySet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 671
    functionName: HttpBodyFactory::find_template
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - auto::get
    - static_cast<HttpBodySet *>
    - find
    - end
    - Dbg
    - HttpBodySet*::table_of_pages::end
    - auto::is_sane
    - HttpBodySet*::table_of_pages::find
    linkageType: ''
    returnType: HttpBodyTemplate
    signature: 'HttpBodyTemplate *

      HttpBodyFactory::find_template(const char *set, const char *type, HttpBodySet
      **body_set_return)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - context
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 696
    functionName: HttpBodyFactory::is_response_suppressed
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpBodyFactory::is_response_suppressed(HttpTransact::State *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:703,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:705,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:711,1
    - Dst: static_cast<HttpBodySet *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:712,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:713,1
    - Dst: HttpBodySet*::is_sane
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:713,1
    - Dst: HttpBodySet*::table_of_pages::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:718,1
    - Dst: second::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:719,1
    - Dst: HttpBodySet*::table_of_pages::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:721,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 727
    functionName: HttpBodyFactory::nuke_template_tables
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - get
    - static_cast<HttpBodySet *>
    - HttpBodySet*::table_of_pages::reset
    - reset
    - Dbg
    - second::reset
    - HttpBodySet*::table_of_pages::get
    - HttpBodySet*::is_sane
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpBodyFactory::nuke_template_tables()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:741,1
    - Dst: opendir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:747,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:749,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:749,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:749,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:750,1
    - Dst: std::unique_ptr::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:754,1
    - Dst: HttpBodyFactory::BodySetTable::BodySetTable
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:754,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:760,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:773,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:774,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:779,1
    - Dst: HttpBodyFactory::load_body_set_from_directory
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:787,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:789,1
    - Dst: std::unique_ptr::emplace
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:790,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - set_dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 797
    functionName: HttpBodyFactory::load_sets_from_directory
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - S_ISDIR
    - Warning
    - ink_filepath_make
    - closedir
    - HttpBodyFactory::load_body_set_from_directory
    - stat
    - std::unique_ptr::reset
    - Dbg
    - HttpBodyFactory::BodySetTable::BodySetTable
    - opendir
    - std::unique_ptr::emplace
    - strerror
    - readdir
    linkageType: ''
    returnType: std::unique_ptr<HttpBodyFactory::BodySetTable>
    signature: std::unique_ptr<HttpBodyFactory::BodySetTable> HttpBodyFactory::load_sets_from_directory(char
      *set_dir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:814,1
    - Dst: opendir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:815,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:824,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:825,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:826,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:827,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:828,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:831,1
    - Dst: HttpBodySet::HttpBodySet
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:837,1
    - Dst: HttpBodySet*::init
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:838,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:840,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:843,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:844,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:854,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:854,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:855,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:859,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:860,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:865,1
    - Dst: std::make_unique<HttpBodyTemplate>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:873,1
    - Dst: auto::load_from_file
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:874,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:875,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:875,1
    - Dst: HttpBodySet*::set_template_by_name
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:876,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:876,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:880,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - set_name
    - tmpl_dir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 882
    functionName: HttpBodyFactory::load_body_set_from_directory
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - stat
    - strchr
    - snprintf
    - HttpBodySet*::init
    - std::make_unique<HttpBodyTemplate>
    - std::move
    - HttpBodySet*::set_template_by_name
    - strcmp
    - Warning
    - ink_filepath_make
    - closedir
    - auto::load_from_file
    - Dbg
    - strlen
    - S_ISREG
    - HttpBodySet::HttpBodySet
    - auto::get
    - opendir
    - readdir
    linkageType: ''
    returnType: HttpBodySet
    signature: 'HttpBodySet *

      HttpBodyFactory::load_body_set_from_directory(char *set_name, char *tmpl_dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: HttpBodySet::HttpBodySet
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBodySet::HttpBodySet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:903,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:904,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:905,1
    - Dst: reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 907
    functionName: HttpBodySet::~HttpBodySet()
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - reset
    - ats_free
    linkageType: ''
    returnType: void
    signature: void HttpBodySet::~HttpBodySet()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:917,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:918,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:923,1
    - Dst: HttpBodySet::table_of_pages::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:924,1
    - Dst: TemplateTable::TemplateTable
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:924,1
    - Dst: ink_file_fd_readline
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:932,1
    - Dst: index
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:941,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:950,1
    - Dst: ParseRules::is_http_field_name
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:955,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:968,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:972,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:976,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:979,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:980,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:988,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:991,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:998,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:999,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1000,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1001,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1002,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1003,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1012,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1013,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1015,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1019,1
    - Dst: close
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1022,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - set
    - dir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 1024
    functionName: HttpBodySet::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - ParseRules::is_http_field_name
    - memcpy
    - Warning
    - ink_filepath_make
    - TemplateTable::TemplateTable
    - index
    - ats_free
    - strcmp
    - close
    - ats_strdup
    - ink_file_fd_readline
    - strlen
    - ParseRules::is_wslfcr
    - strcasecmp
    - HttpBodySet::table_of_pages::reset
    - open
    linkageType: ''
    returnType: int
    signature: int HttpBodySet::init(char *set, char *dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1029,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1035,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1035,1
    - Dst: auto::is_sane
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1037,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1040,1
    - Dst: auto::get
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1042,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1046
    functionName: HttpBodySet::get_template_by_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - find
    - end
    - Dbg
    - auto::is_sane
    linkageType: ''
    returnType: HttpBodyTemplate
    signature: 'HttpBodyTemplate *

      HttpBodySet::get_template_by_name(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1052,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - t
    argTypes:
    - char*
    - std::unique_ptr<HttpBodyTemplate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1054
    functionName: HttpBodySet::set_template_by_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    linkageType: ''
    returnType: void
    signature: void HttpBodySet::set_template_by_name(const char *name, std::unique_ptr<HttpBodyTemplate>
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1068
    functionName: HttpBodyTemplate::HttpBodyTemplate
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBodyTemplate::HttpBodyTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpBodyTemplate::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1073
    functionName: HttpBodyTemplate::~HttpBodyTemplate()
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - HttpBodyTemplate::reset
    linkageType: ''
    returnType: void
    signature: void HttpBodyTemplate::~HttpBodyTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1078,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: HttpBodyTemplate::reset
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 1
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void HttpBodyTemplate::reset()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1098,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1100,1
    - Dst: S_ISREG
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1104,1
    - Dst: open
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1113,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1123,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1123,1
    - Dst: read
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1124,1
    - Dst: close
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1126,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1133,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1134,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1134,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1135,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1139,1
    - Dst: HttpBodyTemplate::reset
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1145,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1151
    functionName: HttpBodyTemplate::load_from_file
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - S_ISREG
    - Warning
    - ats_free
    - stat
    - read
    - close
    - static_cast<char *>
    - ats_strdup
    - Dbg
    - snprintf
    - ats_malloc
    - HttpBodyTemplate::reset
    - strerror
    - open
    linkageType: ''
    returnType: int
    signature: int HttpBodyTemplate::load_from_file(char *dir, char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1158,1
    - Dst: resolve_logfield_string
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1162,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1164,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1165,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - context
    - buflen_return
    argTypes:
    - HttpTransact::State*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1153
    functionDepth: 4
    functionLinenumber: 1153
    functionLinenumberEnd: 1169
    functionName: HttpBodyTemplate::build_instantiated_buffer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpBodyFactory.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - resolve_logfield_string
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpBodyTemplate::build_instantiated_buffer(HttpTransact::State *context, int64_t
      *buflen_return)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http1ServerTransaction::release
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Http1ServerTransaction::release
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc
    functionUses: 1
    functionsReached:
    - Http1ServerTransaction::release
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Http1ServerTransaction::increment_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction::increment_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Http1ServerTransaction::decrement_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction::decrement_transactions_stat()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:48,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:48,1
    - Dst: ProxyTransaction::transaction_done
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:49,1
    - Dst: static_cast<Http1ServerSession *>
      Src: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Http1ServerTransaction::transaction_done
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ServerTransaction.cc
    functionUses: 0
    functionsReached:
    - ProxyTransaction::transaction_done
    - static_cast<Http1ServerSession *>
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction::transaction_done()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::ACL::ACL
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:39,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:44,1
    - Dst: NetVConnection*::get_proxy_protocol_version
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:47,1
    - Dst: NetVConnection*::get_proxy_protocol_src_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:48,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:55,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:58,1
    - Dst: IpAllow::match
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:59,1
    - Dst: IpAllow::ACL::isValid
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:60,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:61,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:61,1
    - Dst: IpAllow::makeAllowAllACL
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:66,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:75,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:76,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:79,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:79,1
    - Dst: static_cast<Options *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:81,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:82,1
    - Dst: Http1ClientSession*::setThreadAffinity
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:85,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:85,1
    - Dst: Http1ClientSession*::new_connection
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - netvc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 89
    functionName: HttpSessionAccept::accept
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc
    functionUses: 1
    functionsReached:
    - THREAD_ALLOC_INIT
    - NetVConnection*::get_proxy_protocol_src_addr
    - Http1ClientSession*::new_connection
    - this_ethread
    - IpAllow::makeAllowAllACL
    - ats_ip_ntop
    - std::move
    - ats_is_ip
    - static_cast<Options *>
    - Warning
    - ats_ip_nptop
    - Dbg
    - Http1ClientSession*::setThreadAffinity
    - IpAllow::ACL::ACL
    - NetVConnection*::get_remote_addr
    - 'on'
    - IpAllow::match
    - IpAllow::ACL::isValid
    - NetVConnection*::get_proxy_protocol_version
    linkageType: ''
    returnType: bool
    signature: bool HttpSessionAccept::accept(NetVConnection *netvc, MIOBuffer *iobuf,
      IOBufferReader *reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:95,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:96,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:99,1
    - Dst: HttpSessionAccept::accept
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:100,1
    - Dst: NetVConnection*::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:101,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:111,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:115,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: HttpSessionAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpSessionAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - HttpSessionAccept::accept
    - ink_abort
    - static_cast<NetVConnection *>
    - NetVConnection*::do_io_close
    linkageType: ''
    returnType: int
    signature: int HttpSessionAccept::mainEvent(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mysm
    argTypes:
    - HttpSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: HttpVCTable::HttpVCTable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::HttpVCTable(HttpSM *mysm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: HttpVCTable::new_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: HttpVCTableEntry
    signature: 'HttpVCTableEntry *

      HttpVCTable::new_entry()'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vc
    argTypes:
    - VConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: HttpVCTable::find_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVCTableEntry
    signature: 'HttpVCTableEntry *

      HttpVCTable::find_entry(VConnection *vc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: HttpVCTable::find_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: HttpVCTableEntry
    signature: 'HttpVCTableEntry *

      HttpVCTable::find_entry(VIO *vio)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:90,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - e
    argTypes:
    - HttpVCTableEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: HttpVCTable::remove_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::remove_entry(HttpVCTableEntry *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:117,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:120,1
    - Dst: HttpVCTableEntry*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:122,1
    - Dst: HttpVCTable::remove_entry
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - HttpVCTableEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: HttpVCTable::cleanup_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - HttpVCTable::remove_entry
    - HttpVCTableEntry*::vc::do_io_close
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::cleanup_entry(HttpVCTableEntry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpVCTable::cleanup_entry
      Src: /src/trafficserver/src/proxy/http/HttpVCTable.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: HttpVCTable::cleanup_all
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpVCTable.cc
    functionUses: 0
    functionsReached:
    - HttpVCTable::cleanup_entry
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::cleanup_all()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: HttpSsnDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HttpSsnDbg(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - state_name
    - ','
    - event
    - ','
    - vio
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event, vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Http1ClientSession::Http1ClientSession
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::Http1ClientSession()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:84,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:85,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:86,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:87,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: Http1ClientSession::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - Warning
    - ink_release_assert
    - do_api_callout
    - HttpSsnDbg
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::destroy()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:99,1
    - Dst: is_active
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:100,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:102,1
    - Dst: Http1ClientSession::release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:104,1
    - Dst: Http1ClientSession::destroy
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:106,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: Http1ClientSession::release_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Http1ClientSession::do_io_close
    - Http1ClientSession::destroy
    - is_active
    - Http1ClientSession::release
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::release_transaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:118,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:123,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:124,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:125,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:129,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:134,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:138,1
    - Dst: this_thread
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: Http1ClientSession::free
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - Http1ClientSession::do_io_close
    - free_MIOBuffer
    - remove
    - this_thread
    - ink_mutex_acquire
    - THREAD_FREE
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::free()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:144,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:145,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:152,1
    - Dst: TLSEarlyDataSupport*::get_early_data_len
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:154,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:157,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:157,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:158,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:158,1
    - Dst: ProxySession::next_connection_id
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:161,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:165,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:167,1
    - Dst: static_cast<HttpProxyPort::TransportType>
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:168,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:169,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:174,1
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:179,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:181,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:184,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:187,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:197,1
    - Dst: push
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:198,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:199,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:202,1
    - Dst: set_tcp_congestion_control
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:204,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:206,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:207,1
    - Dst: set_reader
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:209,1
    - Dst: _handle_if_ssl
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:212,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:217,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:219,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:220,1
    - Dst: MUTEX_UNTAKE_LOCK
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:221,1
    - Dst: Ptr::clear
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 3
    argNames:
    - new_vc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 223
    functionName: Http1ClientSession::new_connection
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - ProxySession::next_connection_id
    - static_cast<HttpProxyPort::TransportType>
    - Ptr::clear
    - _handle_if_ssl
    - do_api_callout
    - this_ethread
    - HttpSsnDbg
    - ts::Metrics::Counter::increment
    - is_locked
    - NetVConnection*::get_service
    - set_reader
    - MUTEX_TRY_LOCK
    - MUTEX_UNTAKE_LOCK
    - set_tcp_congestion_control
    - Dbg
    - NetVConnection*::get_remote_addr
    - ink_assert
    - MUTEX_TAKE_LOCK
    - TLSEarlyDataSupport*::get_early_data_len
    - push
    - ink_mutex_acquire
    - ts::Metrics::Gauge::increment
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::new_connection(NetVConnection *new_vc, MIOBuffer
      *iobuf, IOBufferReader *reader)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Http1ClientSession::destroy
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:230,1
    - Dst: clear_session_active
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:235,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:239,1
    - Dst: Http1ClientSession::release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:244,1
    - Dst: Http1ClientSession::trans::get_sm
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:254,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:256,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:257,1
    - Dst: do_io_shutdown
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:260,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:262,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:263,1
    - Dst: set_active_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:268,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:268,1
    - Dst: get_sm
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:268,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:274,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:274,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:276,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:280,1
    - Dst: Http1ClientSession::destroy
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - alerrno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 287
    functionName: Http1ClientSession::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 3
    functionsReached:
    - ink_release_assert
    - do_io_read
    - Http1ClientSession::destroy
    - Http1ClientSession::do_io_close
    - do_io_shutdown
    - HRTIME_SECONDS
    - read_avail
    - consume
    - set_active_timeout
    - get_sm
    - Http1ClientSession::trans::get_sm
    - HttpSsnDbg
    - SET_HANDLER
    - Http1ClientSession::release
    - clear_session_active
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::do_io_close(int alerrno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:292,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:294,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:295,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:297,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:308,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:312,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:312,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 321
    functionName: Http1ClientSession::state_wait_for_close
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - ink_release_assert
    - Http1ClientSession::do_io_close
    - read_avail
    - consume
    - static_cast<Event *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Http1ClientSession::state_wait_for_close(int event, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:326,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:328,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:330,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:339,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:345,1
    - Dst: Http1ClientSession::release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 360
    functionName: Http1ClientSession::state_slave_keep_alive
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - Http1ClientSession::do_io_close
    - static_cast<Event *>
    - Http1ClientSession::release
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Http1ClientSession::state_slave_keep_alive(int event, void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Http1ClientSession::state_slave_keep_alive
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:369,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:373,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:374,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:380,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:384,1
    - Dst: Http1ClientSession::new_transaction
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:390,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:394,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:400,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 411
    functionName: Http1ClientSession::state_keep_alive
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - STATE_ENTER
    - Http1ClientSession::do_io_close
    - Http1ClientSession::state_slave_keep_alive
    - cancel
    - Http1ClientSession::new_transaction
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Http1ClientSession::state_keep_alive(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction*::get_sm
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:420,1
    - Dst: static_cast<Http1Transaction *>
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:421,1
    - Dst: ProxyTransaction*::get_sm
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:423,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:424,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:424,1
    - Dst: Http1ClientSession::clear_session_active
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:426,1
    - Dst: Http1ClientSession::do_io_write
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:429,1
    - Dst: Http1Transaction*::reset
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:432,1
    - Dst: Http1ClientSession::_reader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:439,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:441,1
    - Dst: Http1ClientSession::new_transaction
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:442,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:444,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:446,1
    - Dst: Http1ClientSession::do_io_read
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:447,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:448,1
    - Dst: cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:453,1
    - Dst: add_to_keep_alive_queue
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - trans
    argTypes:
    - ProxyTransaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 457
    functionName: Http1ClientSession::release
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 3
    functionsReached:
    - cancel_active_timeout
    - set_inactivity_timeout
    - ProxyTransaction*::get_sm
    - Http1ClientSession::do_io_write
    - add_to_keep_alive_queue
    - Http1ClientSession::_reader::is_read_avail_more_than
    - HRTIME_SECONDS
    - Http1ClientSession::clear_session_active
    - ink_assert
    - static_cast<Http1Transaction *>
    - Http1Transaction*::reset
    - HttpSsnDbg
    - Http1ClientSession::new_transaction
    - SET_HANDLER
    - Http1ClientSession::do_io_read
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::release(ProxyTransaction *trans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:464,1
    - Dst: add_to_active_queue
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:468,1
    - Dst: Http1ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:470,1
    - Dst: Http1ClientSession::new_transaction
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 484
    functionName: Http1ClientSession::new_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 3
    functionsReached:
    - add_to_active_queue
    - Http1ClientSession::do_io_close
    - Http1ClientSession::new_transaction
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      Http1ClientSession::new_transaction()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:490,1
    - Dst: HttpSsnDbg
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:493,1
    - Dst: PoolableSession*::connection_id
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:493,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:494,1
    - Dst: PoolableSession*::get_netvc
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:494,1
    - Dst: Http1ClientSession::get_netvc
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:494,1
    - Dst: clear_session_active
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:497,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:502,1
    - Dst: PoolableSession*::do_io_read
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:503,1
    - Dst: PoolableSession*::get_remote_reader
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:503,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:504,1
    - Dst: PoolableSession*::do_io_write
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:507,1
    - Dst: PoolableSession*::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:510,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:510,1
    - Dst: get_sm
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:510,1
    - Dst: PoolableSession*::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:511,1
    - Dst: PoolableSession*::cancel_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:514,1
    - Dst: PoolableSession*::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:515,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - ssession
    - transaction_done
    argTypes:
    - PoolableSession*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 523
    functionName: Http1ClientSession::attach_server_session
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - PoolableSession*::do_io_read
    - PoolableSession*::cancel_inactivity_timeout
    - PoolableSession*::do_io_write
    - Http1ClientSession::get_netvc
    - PoolableSession*::connection_id
    - HRTIME_SECONDS
    - PoolableSession*::get_netvc
    - PoolableSession*::get_remote_reader
    - get_sm
    - PoolableSession*::set_inactivity_timeout
    - SET_HANDLER
    - HttpSsnDbg
    - PoolableSession*::cancel_active_timeout
    - clear_session_active
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientSession::attach_server_session(PoolableSession *ssession,
      bool transaction_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: Http1ClientSession::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::increment_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: Http1ClientSession::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::decrement_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http1ClientSession::release
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: Http1ClientSession::start
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - Http1ClientSession::release
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_service
      Src: /src/trafficserver/src/proxy/http/Http1ClientSession.cc:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: Http1ClientSession::allow_half_open
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached:
    - get_service
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientSession::allow_half_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: Http1ClientSession::set_half_close_flag
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientSession::set_half_close_flag(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: Http1ClientSession::get_half_close_flag
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientSession::get_half_close_flag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: Http1ClientSession::is_chunked_encoding_supported
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientSession::is_chunked_encoding_supported() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: Http1ClientSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http1ClientSession::get_transact_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: Http1ClientSession::is_outbound_transparent
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http1ClientSession::is_outbound_transparent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: Http1ClientSession::get_server_session
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *

      Http1ClientSession::get_server_session() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: Http1ClientSession::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http/Http1ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http1ClientSession::get_protocol_string() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sm
    - ','
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: SM_REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_REMEMBER(sm, e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state_name
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:54,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:55,1
    - Dst: cancel_pending_action
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: HttpCacheAction::cancel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached:
    - cancel_pending_action
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpCacheAction::cancel(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::reset
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: HttpCacheSM::reset
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 1
    functionsReached:
    - HttpCacheSM::reset
    linkageType: ''
    returnType: void
    signature: void HttpCacheSM::reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:78,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: HttpCacheSM::cancel_pending_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCacheSM::cancel_pending_action()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:118,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:119,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:128,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:129,1
    - Dst: HttpCacheSM::close_read
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:132,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:134,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:135,1
    - Dst: HttpCacheSM::set_readwhilewrite_inprogress
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:139,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:143,1
    - Dst: HttpCacheSM::_schedule_read_retry
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:148,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:152,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:156,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:161,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:168,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:169,1
    - Dst: HttpCacheSM::do_cache_open_read
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:174,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 182
    functionName: HttpCacheSM::state_cache_open_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - STATE_ENTER
    - HttpCacheSM::close_read
    - HttpCacheSM::set_readwhilewrite_inprogress
    - reinterpret_cast<intptr_t>
    - Dbg
    - static_cast<Event *>
    - HttpCacheSM::do_cache_open_read
    - HttpCacheSM::_schedule_read_retry
    - ts::Metrics::Gauge::increment
    - static_cast<CacheVConnection *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpCacheSM::state_cache_open_read(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:189,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: HttpCacheSM::write_retry_done
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: bool
    signature: bool HttpCacheSM::write_retry_done() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:200,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:201,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:211,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:212,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:213,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:214,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:219,1
    - Dst: HttpCacheSM::write_retry_done
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:227,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:230,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:242,1
    - Dst: ink_hrtime_from_msec
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:242,1
    - Dst: HttpCacheSM::write_retry_done
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:247,1
    - Dst: HttpCacheSM::_schedule_read_retry
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:249,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:253,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:257,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:258,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:263,1
    - Dst: static_cast<MgmtByte>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:268,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:269,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:273,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:275,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:282,1
    - Dst: HttpCacheSM::write_retry_done
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:282,1
    - Dst: HttpCacheSM::open_write
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:284,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:285,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:292,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 296
    functionName: HttpCacheSM::state_cache_open_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - ink_get_hrtime
    - STATE_ENTER
    - reinterpret_cast<intptr_t>
    - static_cast<time_t>
    - ink_release_assert
    - ink_hrtime_from_msec
    - HttpCacheSM::write_retry_done
    - Dbg
    - static_cast<MgmtByte>
    - static_cast<Event *>
    - HttpCacheSM::open_write
    - HttpCacheSM::_schedule_read_retry
    - ts::Metrics::Gauge::increment
    - static_cast<CacheVConnection *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpCacheSM::state_cache_open_write(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:305,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:305,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:308,1
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:312,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: HttpCacheSM::_schedule_read_retry
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - thread_holding::schedule_in
    - HRTIME_MSECONDS
    - cancel
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HttpCacheSM::_schedule_read_retry()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:321,1
    - Dst: HttpCacheSM::open_read
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - HttpCacheKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 343
    functionName: HttpCacheSM::do_cache_open_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 1
    functionsReached:
    - HttpCacheSM::open_read
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: 'Action *

      HttpCacheSM::do_cache_open_read(const HttpCacheKey &key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:356,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:357,1
    - Dst: HttpCacheSM::do_cache_open_read
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:361,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:367,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - key
    - url
    - hdr
    - params
    - pin_in_cache
    argTypes:
    - HttpCacheKey*
    - URL*
    - HTTPHdr*
    - OverridableHttpConfigParams*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 382
    functionName: HttpCacheSM::open_read
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - HttpCacheSM::do_cache_open_read
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: "Action *\nHttpCacheSM::open_read(const HttpCacheKey *key, URL *url,
      HTTPHdr *hdr, const OverridableHttpConfigParams *params,\n                       time_t
      pin_in_cache)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:388,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:389,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:390,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:394,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:402,1
    - Dst: HttpCacheSM::write_retry_done
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:413,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:415,1
    - Dst: reinterpret_cast<CacheHTTPInfo *>
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:420,1
    - Dst: HttpCacheSM::open_write
      Src: /src/trafficserver/src/proxy/http/HttpCacheSM.cc:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 7
    argNames:
    - key
    - url
    - request
    - old_info
    - pin_in_cache
    - retry
    - allow_multiple
    argTypes:
    - HttpCacheKey*
    - URL*
    - HTTPHdr*
    - CacheHTTPInfo*
    - time_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 439
    functionName: HttpCacheSM::open_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpCacheSM.cc
    functionUses: 2
    functionsReached:
    - handleEvent
    - ink_get_hrtime
    - reinterpret_cast<CacheHTTPInfo *>
    - HttpCacheSM::write_retry_done
    - SET_HANDLER
    - HttpCacheSM::open_write
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: "Action *\nHttpCacheSM::open_write(const HttpCacheKey *key, URL *url,
      HTTPHdr *request, CacheHTTPInfo *old_info, time_t pin_in_cache,\n                        bool
      retry, bool allow_multiple)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ConnectingEntry::~ConnectingEntry()
    functionSourceFile: /src/trafficserver/src/proxy/http/ConnectingEntry.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void ConnectingEntry::~ConnectingEntry()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:48,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:52,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:53,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:54,1
    - Dst: UnixNetVConnection*::get_action
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:56,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:59,1
    - Dst: alloc_reader
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:60,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:61,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:61,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:62,1
    - Dst: do_io_read
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:66,1
    - Dst: do_outbound_proxy_protocol
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:69,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:69,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:72,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:73,1
    - Dst: HttpSM*::get_server_connect_timeout
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:73,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:80,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:80,1
    - Dst: ConnectingEntry::remove_entry
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:81,1
    - Dst: do_io_write
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:82,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:83,1
    - Dst: rbegin
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:84,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:85,1
    - Dst: rend
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:85,1
    - Dst: create_server_session
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:86,1
    - Dst: PoolableSession*::is_multiplexing
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:92,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:94,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:95,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:96,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:98,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:98,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:99,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:104,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:106,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:106,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:107,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:108,1
    - Dst: base
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:108,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:110,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:112,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:113,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:113,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:114,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:115,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:130,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:130,1
    - Dst: ConnectingEntry::remove_entry
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:131,1
    - Dst: provided_cert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:135,1
    - Dst: do_io_close
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:137,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:139,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:140,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:141,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:141,1
    - Dst: t_state::set_connect_fail
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:142,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:144,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:145,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:153,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 83
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 159
    functionName: ConnectingEntry::state_http_server_open
    functionSourceFile: /src/trafficserver/src/proxy/http/ConnectingEntry.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - create_server_session
    - PoolableSession*::is_multiplexing
    - provided_cert
    - do_outbound_proxy_protocol
    - this_ethread
    - size
    - UnixNetVConnection*::get_action
    - begin
    - set_inactivity_timeout
    - handleEvent
    - get_netvc
    - ConnectingEntry::remove_entry
    - empty
    - rbegin
    - ink_release_assert
    - erase
    - do_io_close
    - Error
    - Dbg
    - t_state::set_connect_fail
    - rend
    - static_cast<UnixNetVConnection *>
    - static_cast<NetVConnection *>
    - SCOPED_MUTEX_LOCK
    - do_io_write
    - base
    - HttpSM*::get_server_connect_timeout
    linkageType: ''
    returnType: int
    signature: int ConnectingEntry::state_http_server_open(int event, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:164,1
    - Dst: EThread*::connecting_pool::m_ip_pool::equal_range
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:165,1
    - Dst: EThread*::connecting_pool::m_ip_pool::erase
      Src: /src/trafficserver/src/proxy/http/ConnectingEntry.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: ConnectingEntry::remove_entry
    functionSourceFile: /src/trafficserver/src/proxy/http/ConnectingEntry.cc
    functionUses: 1
    functionsReached:
    - EThread*::connecting_pool::m_ip_pool::equal_range
    - EThread*::connecting_pool::m_ip_pool::erase
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void ConnectingEntry::remove_entry()
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - HttpTransact::ServerState_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: HttpDebugNames::get_server_state_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_server_state_name(HttpTransact::ServerState_t state)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:75,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:77,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:79,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:81,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:83,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:85,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:87,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:89,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - method
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: HttpDebugNames::get_method_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_method_name(const char *method)'
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:108,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:108,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:111,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:111,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:112,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:112,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:115,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:115,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:116,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:116,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:121,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:121,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:124,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:124,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:127,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:127,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:130,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:130,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:133,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:133,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:136,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:136,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:139,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:139,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:146,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:146,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:149,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:149,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:152,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:159,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:159,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:182,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:182,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:185,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:185,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:188,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:188,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:191,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:191,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:194,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:194,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:197,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:197,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:204,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:204,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:221,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:221,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:224,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 194
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 350
    functionName: HttpDebugNames::get_event_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 8
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_event_name(int event)'
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 88
    argCount: 1
    argNames:
    - e
    argTypes:
    - HttpTransact::StateMachineAction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 482
    functionName: HttpDebugNames::get_action_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_action_name(HttpTransact::StateMachineAction_t e)'
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - t
    argTypes:
    - HttpTransact::CacheAction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 524
    functionName: HttpDebugNames::get_cache_action_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_cache_action_name(HttpTransact::CacheAction_t t)'
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 1
    argNames:
    - t
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 600
    functionName: HttpDebugNames::get_api_hook_name
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpDebugNames::get_api_hook_name(TSHttpHookID t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:605,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:606,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:606,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:608,1
    - Dst: HttpDebugNames::get_server_state_name
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - state
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - HttpTransact::ServerState_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 17
    functionsReached:
    - static_cast<uintmax_t>
    - bwformat
    - HttpDebugNames::get_server_state_name
    - swoc::bwf::Spec::has_numeric_type
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, HttpTransact::ServerState_t
      state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:615,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:616,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:616,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:618,1
    - Dst: HttpDebugNames::get_cache_action_name
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - state
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - HttpTransact::CacheAction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 18
    functionsReached:
    - static_cast<uintmax_t>
    - bwformat
    - HttpDebugNames::get_cache_action_name
    - swoc::bwf::Spec::has_numeric_type
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, HttpTransact::CacheAction_t
      state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:625,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:626,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:626,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:628,1
    - Dst: HttpDebugNames::get_action_name
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - state
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - HttpTransact::StateMachineAction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 19
    functionsReached:
    - HttpDebugNames::get_action_name
    - static_cast<uintmax_t>
    - bwformat
    - swoc::bwf::Spec::has_numeric_type
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, HttpTransact::StateMachineAction_t
      state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwf::Spec::has_numeric_type
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:635,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:636,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:636,1
    - Dst: bwformat
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:638,1
    - Dst: HttpDebugNames::get_api_hook_name
      Src: /src/trafficserver/src/proxy/http/HttpDebugNames.cc:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - id
    argTypes:
    - swoc::BufferWriter
    - swoc::bwf::Spec
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: bwformat
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpDebugNames.cc
    functionUses: 20
    functionsReached:
    - static_cast<uintmax_t>
    - bwformat
    - HttpDebugNames::get_api_hook_name
    - swoc::bwf::Spec::has_numeric_type
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: 'swoc::BufferWriter &

      bwformat(swoc::BufferWriter &w, swoc::bwf::Spec const &spec, TSHttpHookID id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ChunkedHandler::ChunkedHandler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::ChunkedHandler()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ChunkedHandler::init_by_action
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:69,1
    - Dst: ChunkedHandler::init_by_action
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:71,1
    - Dst: ChunkedHandler::init_by_action
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - buffer_in
    - p
    - drop_chunked_trailers
    - parse_chunk_strictly
    argTypes:
    - IOBufferReader*
    - HttpTunnelProducer*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: ChunkedHandler::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ChunkedHandler::init_by_action
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::init(IOBufferReader *buffer_in, HttpTunnelProducer
      *p, bool drop_chunked_trailers, bool parse_chunk_strictly)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::mbuf::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:91,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:93,1
    - Dst: IOBufferReader*::mbuf::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:97,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:98,1
    - Dst: IOBufferReader*::mbuf::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:102,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:112,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - buffer_in
    - action
    - drop_chunked_trailers
    - parse_chunk_strictly
    argTypes:
    - IOBufferReader*
    - Action
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 121
    functionName: ChunkedHandler::init_by_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - new_MIOBuffer
    - ink_release_assert
    - IOBufferReader*::mbuf::clone_reader
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::init_by_action(IOBufferReader *buffer_in, Action
      action, bool drop_chunked_trailers, bool parse_chunk_strictly)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:130,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: ChunkedHandler::clear
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: ChunkedHandler::set_max_chunk_size
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::set_max_chunk_size(int64_t size)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:156,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:157,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:158,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:160,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:167,1
    - Dst: can_safely_shift_left
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:169,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:179,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:182,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:187,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:187,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:188,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:194,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:203,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:210,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:216,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:225,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:228,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:239,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:241,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:256,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:259,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 263
    functionName: ChunkedHandler::read_size
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - start
    - ParseRules::is_hex
    - block_read_avail
    - write
    - ParseRules::is_digit
    - consume
    - is_read_avail_more_than
    - ParseRules::is_ws
    - Dbg
    - ParseRules::ink_tolower
    - ParseRules::is_lf
    - can_safely_shift_left
    - ParseRules::is_cr
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ChunkedHandler::read_size()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:278,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:278,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:280,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:283,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:289,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:291,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:297,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:303,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:303,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 316
    functionName: ChunkedHandler::transfer_bytes
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - write
    - start
    - block_read_avail
    - read_avail
    - consume
    - min
    linkageType: ''
    returnType: int64_t
    signature: int64_t ChunkedHandler::transfer_bytes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ChunkedHandler::transfer_bytes
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:321,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:323,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:325,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: ChunkedHandler::read_chunk
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_assert
    - ChunkedHandler::transfer_bytes
    linkageType: ''
    returnType: int64_t
    signature: int64_t ChunkedHandler::read_chunk()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:340,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:341,1
    - Dst: block_read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:342,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:344,1
    - Dst: ParseRules::is_cr
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:349,1
    - Dst: ParseRules::is_lf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:354,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:360,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:365,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:365,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:365,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:366,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 386
    functionName: ChunkedHandler::read_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - start
    - write
    - block_read_avail
    - consume
    - is_read_avail_more_than
    - Dbg
    - ParseRules::is_lf
    - data
    - size
    - ParseRules::is_cr
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ChunkedHandler::read_trailer()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:392,1
    - Dst: ChunkedHandler::read_size
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:397,1
    - Dst: ChunkedHandler::read_chunk
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:400,1
    - Dst: ChunkedHandler::read_trailer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:405,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:408,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:410,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 416
    functionName: ChunkedHandler::process_chunked_content
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ChunkedHandler::read_size
    - ChunkedHandler::read_chunk
    - ink_release_assert
    - ChunkedHandler::read_trailer
    - std::make_pair
    - is_read_avail_more_than
    linkageType: ''
    returnType: std::pair<int64_t, bool>
    signature: std::pair<int64_t, bool> ChunkedHandler::process_chunked_content()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:426,1
    - Dst: read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:436,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:437,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:440,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:444,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:445,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:448,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:462,1
    - Dst: consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:464,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:468,1
    - Dst: write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:476,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:478,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 481
    functionName: ChunkedHandler::generate_chunked_content
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - write
    - read_avail
    - std::make_pair
    - consume
    - min
    - Dbg
    - snprintf
    - ink_assert
    linkageType: ''
    returnType: std::pair<int64_t, bool>
    signature: std::pair<int64_t, bool> ChunkedHandler::generate_chunked_content()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: HttpTunnelProducer::HttpTunnelProducer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::HttpTunnelProducer()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransformVCChain *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:496,1
    - Dst: HttpTunnelConsumer*::write_vio::get_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:498,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:500,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:500,1
    - Dst: HttpTunnelConsumer*::is_sink
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:507,1
    - Dst: HttpTunnelProducer*::backlog
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:510,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:523,1
    - Dst: chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 527
    functionName: HttpTunnelProducer::backlog
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelConsumer*::is_sink
    - chunked_reader::read_avail
    - HttpTunnelProducer*::backlog
    - IOBufferReader*::read_avail
    - HttpTunnelConsumer*::write_vio::get_reader
    - static_cast<TransformVCChain *>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HttpTunnelProducer::backlog(uint64_t limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelConsumer*::is_sink
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:540,1
    - Dst: HttpTunnelProducer*::set_throttle_src
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - srcp
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 547
    functionName: HttpTunnelProducer::set_throttle_src
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelConsumer*::is_sink
    - HttpTunnelProducer*::set_throttle_src
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::set_throttle_src(HttpTunnelProducer *srcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: HttpTunnelConsumer::HttpTunnelConsumer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelConsumer::HttpTunnelConsumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: HttpTunnel::HttpTunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::HttpTunnel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:560,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:561,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sm_arg
    - amutex
    argTypes:
    - HttpSM*
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: HttpTunnel::init
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::init(HttpSM *sm_arg, Ptr<ProxyMutex> &amutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:576,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:579,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:582,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:589,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 591
    functionName: HttpTunnel::reset
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_zero
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:598,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:600,1
    - Dst: HttpTunnel::mark_tls_tunnel_inactive
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:603,1
    - Dst: HttpTunnel::deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:604,1
    - Dst: HttpTunnel::reset
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 606
    functionName: HttpTunnel::kill_tunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnel::reset
    - HttpTunnel::deallocate_buffers
    - HttpTunnel::chain_abort_all
    - HttpTunnel::mark_tls_tunnel_inactive
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::kill_tunnel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::deallocate_buffers
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:612,1
    - Dst: vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:615,1
    - Dst: vc::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:621,1
    - Dst: HttpTunnel::reset
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 626
    functionName: HttpTunnel::abort_tunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnel::reset
    - vc::do_io_write
    - vc::do_io_read
    - HttpTunnel::deallocate_buffers
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::abort_tunnel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:634,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 640
    functionName: HttpTunnel::alloc_producer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpTunnel::alloc_producer()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:648,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 654
    functionName: HttpTunnel::alloc_consumer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ink_assert
    linkageType: ''
    returnType: HttpTunnelConsumer
    signature: 'HttpTunnelConsumer *

      HttpTunnel::alloc_consumer()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:660,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:663,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:664,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:671,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:672,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:678,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 686
    functionName: HttpTunnel::deallocate_buffers
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - free_MIOBuffer
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpTunnel::deallocate_buffers()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - p
    - skip_bytes
    - action
    - drop_chunked_trailers
    - parse_chunk_strictly
    argTypes:
    - HttpTunnelProducer*
    - int64_t
    - TunnelChunkingAction_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 708
    functionName: HttpTunnel::set_producer_chunking_action
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpTunnel::set_producer_chunking_action(HttpTunnelProducer *p,
      int64_t skip_bytes, TunnelChunkingAction_t action,\n                                         bool
      drop_chunked_trailers, bool parse_chunk_strictly)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer*::chunked_handler::set_max_chunk_size
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - HttpTunnelProducer*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: HttpTunnel::set_producer_chunking_size
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::chunked_handler::set_max_chunk_size
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::set_producer_chunking_size(HttpTunnelProducer *p,
      int64_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:726,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:728,1
    - Dst: HttpTunnel::alloc_producer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:729,1
    - Dst: HttpTunnelProducer*::buffer_start::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:743,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:752,1
    - Dst: INT64_C
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:752,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:753,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - vc
    - nbytes_arg
    - reader_start
    - sm_handler
    - vc_type
    - name_arg
    argTypes:
    - VConnection*
    - int64_t
    - IOBufferReader*
    - HttpProducerHandler
    - HttpTunnelType_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 767
    functionName: HttpTunnel::add_producer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::buffer_start::read_avail
    - INT64_C
    - max
    - Dbg
    - HttpTunnel::alloc_producer
    - ink_assert
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: "HttpTunnelProducer *\nHttpTunnel::add_producer(VConnection *vc, int64_t
      nbytes_arg, IOBufferReader *reader_start, HttpProducerHandler sm_handler,\n
      \                        HttpTunnelType_t vc_type, const char *name_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:782,1
    - Dst: HttpTunnel::get_producer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:785,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:786,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:791,1
    - Dst: HttpTunnel::alloc_consumer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:795,1
    - Dst: HttpTunnelProducer*::consumer_list::push
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - vc
    - producer
    - sm_handler
    - vc_type
    - name_arg
    - skip_bytes
    argTypes:
    - VConnection*
    - VConnection*
    - HttpConsumerHandler
    - HttpTunnelType_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 809
    functionName: HttpTunnel::add_consumer
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - HttpTunnelProducer*::consumer_list::push
    - Dbg
    - HttpTunnel::alloc_consumer
    - HttpTunnel::get_producer
    linkageType: ''
    returnType: HttpTunnelConsumer
    signature: "HttpTunnelConsumer *\nHttpTunnel::add_consumer(VConnection *vc, VConnection
      *producer, HttpConsumerHandler sm_handler, HttpTunnelType_t vc_type,\n                         const
      char *name_arg, int64_t skip_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelConsumer*::producer::is_throttled
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:817,1
    - Dst: HttpTunnelProducer*::set_throttle_src
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - p
    argTypes:
    - HttpTunnelConsumer*
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: HttpTunnel::chain
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::set_throttle_src
    - HttpTunnelConsumer*::producer::is_throttled
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::chain(HttpTunnelConsumer *c, HttpTunnelProducer *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:830,1
    - Dst: HttpTunnel::producer_run
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:832,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:836,1
    - Dst: HttpTunnel::producer_run
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:841,1
    - Dst: HttpTunnel::is_tunnel_alive
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:851,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p_arg
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 855
    functionName: HttpTunnel::tunnel_run
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - HttpTunnel::producer_run
    - Dbg
    - HttpTunnel::is_tunnel_alive
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::tunnel_run(HttpTunnelProducer *p_arg)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:900,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:904,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:910,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:916,1
    - Dst: HttpTunnelProducer*::chunked_handler::init
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:920,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:925,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:926,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:930,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:931,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:934,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_buffer::write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:939,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:941,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:946,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:947,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:954,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:965,1
    - Dst: HttpTunnelProducer*::read_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:980,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:984,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:992,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:994,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:997,1
    - Dst: HttpTunnelProducer*::read_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:999,1
    - Dst: HttpTunnelProducer*::read_buffer::clone_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1002,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1007,1
    - Dst: HttpTunnelConsumer*::buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1007,1
    - Dst: HttpTunnelConsumer*::buffer_reader::consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1008,1
    - Dst: is_postbuf_valid
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1015,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1018,1
    - Dst: HttpTunnelProducer*::buffer_start::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1019,1
    - Dst: HttpTunnelProducer*::buffer_start::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1022,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1023,1
    - Dst: HttpTunnelProducer*::buffer_start::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1024,1
    - Dst: disable_redirect
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1025,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1027,1
    - Dst: postbuf_copy_partial_data
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1031,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::dealloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1038,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_reader::consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1039,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1043,1
    - Dst: HttpTunnelProducer*::chunked_handler::dechunked_buffer::dealloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1047,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_buffer::dealloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1050,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1055,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1056,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1057,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_reader::consume
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1058,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1060,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1064,1
    - Dst: get_postbuf_done
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1065,1
    - Dst: HttpTunnel::final_consumer_bytes_to_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1085,1
    - Dst: HttpTunnel::consumer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1106,1
    - Dst: static_cast<ProxyTransaction *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1113,1
    - Dst: ProxyTransaction*::get_half_close_flag
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1114,1
    - Dst: HttpTunnelConsumer*::buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1115,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1120,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1123,1
    - Dst: HttpTunnelConsumer*::vc::do_io_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1125,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1126,1
    - Dst: HttpTunnel::consumer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1128,1
    - Dst: HttpTunnelConsumer*::write_vio::ntodo
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1129,1
    - Dst: HttpTunnel::consumer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1130,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1135,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1144,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1145,1
    - Dst: static_cast<CacheVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1148,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1150,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1151,1
    - Dst: HttpTunnelProducer*::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1152,1
    - Dst: HttpTunnelConsumer*::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1159,1
    - Dst: HttpTunnelProducer*::read_buffer::dealloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1167,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 206
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 1170
    functionName: HttpTunnel::producer_run
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - HttpTunnelProducer*::buffer_start::read_avail
    - HttpTunnelProducer*::read_vio::reenable
    - HttpTunnel::final_consumer_bytes_to_write
    - postbuf_copy_partial_data
    - HttpTunnelProducer*::chunked_handler::dechunked_buffer::dealloc_reader
    - min
    - HttpTunnelConsumer*::buffer_reader::consume
    - HttpTunnelProducer*::chunked_handler::dechunked_reader::consume
    - HttpTunnelConsumer*::vc::do_io_write
    - HttpTunnelProducer*::chunked_handler::chunked_buffer::clone_reader
    - HttpTunnelProducer*::is_handling_chunked_content
    - HttpTunnel::consumer_handler
    - HttpTunnelProducer*::chunked_handler::dechunked_buffer::clone_reader
    - HttpTunnelProducer*::chunked_handler::chunked_buffer::alloc_reader
    - HttpTunnelProducer*::chunked_handler::chunked_reader::consume
    - ProxyTransaction*::get_half_close_flag
    - HttpTunnelProducer*::chunked_handler::chunked_buffer::write
    - disable_redirect
    - static_cast<CacheVConnection *>
    - HttpTunnelProducer*::read_buffer::dealloc_reader
    - HttpTunnel::producer_handler
    - static_cast<int>
    - Warning
    - ink_release_assert
    - HttpTunnelConsumer*::write_vio::ntodo
    - HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
    - is_postbuf_valid
    - get_postbuf_done
    - Dbg
    - HttpTunnelProducer*::chunked_handler::chunked_buffer::dealloc_reader
    - HttpTunnelConsumer*::buffer_reader::read_avail
    - ink_assert
    - static_cast<ProxyTransaction *>
    - HttpTunnelProducer*::read_buffer::clone_reader
    - HttpTunnelConsumer*::write_vio::reenable
    - HttpTunnelProducer*::chunked_handler::dechunked_buffer::write
    - HttpTunnelProducer*::vc::do_io_read
    - HttpTunnelProducer*::chunked_handler::dechunked_buffer::alloc_reader
    - HttpTunnelProducer*::chunked_handler::init
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::producer_run(HttpTunnelProducer *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1175,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1177,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1178,1
    - Dst: HttpTunnelProducer*::chunked_handler::generate_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1189,1
    - Dst: HttpTunnel::final_consumer_bytes_to_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1207
    functionName: HttpTunnel::producer_handler_dechunked
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpDebugNames::get_event_name
    - HttpTunnel::final_consumer_bytes_to_write
    - Dbg
    - HttpTunnelProducer*::chunked_handler::generate_chunked_content
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int HttpTunnel::producer_handler_dechunked(int event, HttpTunnelProducer
      *p)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1218,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1220,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1221,1
    - Dst: HttpTunnelProducer*::chunked_handler::process_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1236,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1265
    functionName: HttpTunnel::producer_handler_chunked
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - HttpTunnelProducer*::chunked_handler::process_chunked_content
    - ink_assert
    - HttpDebugNames::get_event_name
    linkageType: ''
    returnType: int
    signature: int HttpTunnel::producer_handler_chunked(int event, HttpTunnelProducer
      *p)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1285,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1285,1
    - Dst: HttpTunnel::producer_handler_dechunked
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1290,1
    - Dst: HttpTunnel::producer_handler_chunked
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1293,1
    - Dst: is_postbuf_valid
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1301,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1304,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1304,1
    - Dst: postbuf_buffer_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1306,1
    - Dst: postbuf_reader_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1306,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1307,1
    - Dst: postbuf_buffer_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1309,1
    - Dst: postbuf_reader_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1309,1
    - Dst: disable_redirect
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1310,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1315,1
    - Dst: postbuf_copy_partial_data
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1319,1
    - Dst: set_postbuf_done
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1322,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1327,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1329,1
    - Dst: get_tunnel_type
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1333,1
    - Dst: HttpTunnel::mark_tls_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1334,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1340,1
    - Dst: HttpTunnelConsumer*::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1341,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1358,1
    - Dst: HttpTunnelProducer*::update_state_if_not_set
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1379,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1379,1
    - Dst: HttpTunnelConsumer*::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1387,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1401,1
    - Dst: HttpTunnelProducer*::vc::do_io_read
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1409,1
    - Dst: HttpTunnelProducer*::update_state_if_not_set
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1415,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1415,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1423,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 2
    argNames:
    - event
    - p
    argTypes:
    - int
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1428
    functionName: HttpTunnel::producer_handler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - postbuf_copy_partial_data
    - postbuf_reader_avail
    - HttpTunnelProducer*::is_handling_chunked_content
    - disable_redirect
    - static_cast<int>
    - Warning
    - ink_release_assert
    - is_postbuf_valid
    - HttpTunnel::producer_handler_chunked
    - HttpTunnel::producer_handler_dechunked
    - HttpDebugNames::get_event_name
    - set_postbuf_done
    - Dbg
    - HttpTunnelProducer*::update_state_if_not_set
    - postbuf_buffer_avail
    - HttpTunnel::mark_tls_tunnel_active
    - HttpTunnelConsumer*::write_vio::reenable
    - HttpTunnelProducer*::vc::do_io_read
    - get_tunnel_type
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::producer_handler(int event, HttpTunnelProducer *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer*::is_source
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1441,1
    - Dst: HttpTunnelProducer*::backlog
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1441,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1445,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1446,1
    - Dst: HttpTunnelProducer*::backlog
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1446,1
    - Dst: HttpTunnelProducer*::throttle
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1448,1
    - Dst: HttpTunnelConsumer*::is_sink
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1450,1
    - Dst: HttpTunnelProducer*::backlog
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1457,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1460,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1461,1
    - Dst: HttpTunnelProducer*::backlog
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1461,1
    - Dst: HttpTunnelProducer*::unthrottle
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1463,1
    - Dst: HttpTunnelProducer*::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1465,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1468,1
    - Dst: dynamic_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1474,1
    - Dst: NetVConnection*::trapWriteBufferEmpty
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1476,1
    - Dst: HttpTunnelProducer*::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - c
    argTypes:
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1486
    functionName: HttpTunnel::consumer_reenable
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - NetVConnection*::trapWriteBufferEmpty
    - HttpTunnelConsumer*::is_sink
    - dynamic_cast<NetVConnection *>
    - 'on'
    - HttpTunnelProducer*::read_vio::reenable
    - HttpTunnelProducer*::backlog
    - HttpTunnelProducer*::is_source
    - Dbg
    - HttpTunnelProducer*::throttle
    - HttpTunnelProducer*::unthrottle
    - HttpTunnel::producer_handler
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::consumer_reenable(HttpTunnelConsumer *c)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1506,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1506,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1508,1
    - Dst: HttpTunnel::consumer_reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1512,1
    - Dst: t_state::current::server::clear_connect_fail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1515,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1524,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1525,1
    - Dst: HttpTunnelConsumer*::write_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1527,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1540,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1545,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1548,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1550,1
    - Dst: HttpTunnelConsumer*::buffer_reader::mbuf::dealloc_reader
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1559,1
    - Dst: HttpTunnelProducer*::is_throttled
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1570,1
    - Dst: HttpTunnel::consumer_reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1571,1
    - Dst: HttpTunnelProducer*::read_vio::reenable
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1573,1
    - Dst: HttpTunnelProducer*::is_throttled
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1578,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1579,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1579,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1587,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - event
    - c
    argTypes:
    - int
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1499
    functionDepth: 4
    functionLinenumber: 1499
    functionLinenumberEnd: 1592
    functionName: HttpTunnel::consumer_handler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - t_state::current::server::clear_connect_fail
    - HttpTunnelConsumer*::buffer_reader::mbuf::dealloc_reader
    - HttpTunnelProducer*::is_throttled
    - ink_release_assert
    - HttpDebugNames::get_event_name
    - HttpTunnelProducer*::read_vio::reenable
    - HttpTunnel::consumer_reenable
    - HttpTunnelConsumer*::write_vio::reenable
    - Dbg
    - ink_assert
    - HttpTunnel::producer_handler
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::consumer_handler(int event, HttpTunnelConsumer *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1608,1
    - Dst: HttpTunnel::update_stats_after_abort
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1609,1
    - Dst: HttpTunnel::chain_abort_all
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1618,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1628,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1636,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1637,1
    - Dst: HttpTunnel::update_stats_after_abort
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1640
    functionName: HttpTunnel::chain_abort_all
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 2
    functionsReached:
    - ts::Metrics::Counter::increment
    - HttpTunnelProducer*::vc::do_io_close
    - HttpTunnelConsumer*::vc::do_io_close
    - HttpTunnel::chain_abort_all
    - HttpTunnelProducer*::is_handling_chunked_content
    - HttpTunnel::update_stats_after_abort
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::chain_abort_all(HttpTunnelProducer *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - p
    - c
    argTypes:
    - HttpTunnelProducer*
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1681
    functionName: HttpTunnel::final_consumer_bytes_to_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpTunnel::final_consumer_bytes_to_write(HttpTunnelProducer
      *p, HttpTunnelConsumer *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1693,1
    - Dst: HttpTunnelProducer*::buffer_start::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1701,1
    - Dst: HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1701,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1702,1
    - Dst: HttpTunnel::final_consumer_bytes_to_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1711,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1712,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1715,1
    - Dst: HttpTunnel::chain_finish_all
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1720,1
    - Dst: HttpTunnel::consumer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1727,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - p
    - chain
    argTypes:
    - HttpTunnelProducer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1690
    functionDepth: 5
    functionLinenumber: 1690
    functionLinenumberEnd: 1733
    functionName: HttpTunnel::finish_all_internal
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::buffer_start::read_avail
    - ink_release_assert
    - HttpTunnelProducer*::chunked_handler::chunked_reader::read_avail
    - HttpTunnel::final_consumer_bytes_to_write
    - Error
    - HttpTunnel::chain_finish_all
    - HttpTunnel::consumer_handler
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::finish_all_internal(HttpTunnelProducer *p, bool chain)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1748,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1750,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1752,1
    - Dst: HttpTunnel::chain_abort_cache_write
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1759
    functionName: HttpTunnel::chain_abort_cache_write
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - HttpTunnel::chain_abort_cache_write
    - ts::Metrics::Gauge::decrement
    - ink_assert
    - HttpTunnelConsumer*::vc::do_io_close
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::chain_abort_cache_write(HttpTunnelProducer *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1769,1
    - Dst: HttpTunnelProducer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1780
    functionName: HttpTunnel::close_vc
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::vc::do_io_close
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::close_vc(HttpTunnelProducer *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1790,1
    - Dst: HttpTunnelProducer*::is_handling_chunked_content
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1797,1
    - Dst: HttpTunnelConsumer*::vc::do_io_close
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - HttpTunnelConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1804
    functionName: HttpTunnel::close_vc
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::is_handling_chunked_content
    - ink_assert
    - HttpTunnelConsumer*::vc::do_io_close
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::close_vc(HttpTunnelConsumer *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::_is_tls_tunnel_active
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1816,1
    - Dst: HttpTunnel::mark_tls_tunnel_inactive
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1817,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1829,1
    - Dst: HttpTunnel::get_producer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1832,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1832,1
    - Dst: HttpTunnel::producer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1833,1
    - Dst: HttpTunnel::get_consumer
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1835,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1835,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1836,1
    - Dst: HttpTunnel::consumer_handler
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1837,1
    - Dst: HttpTunnel::internal_error
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1840,1
    - Dst: HttpTunnel::is_tunnel_alive
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1849,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1812
    functionDepth: 5
    functionLinenumber: 1812
    functionLinenumberEnd: 1861
    functionName: HttpTunnel::main_handler
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - HttpTunnel::producer_handler
    - HttpTunnel::get_consumer
    - HttpTunnel::internal_error
    - HttpTunnel::_is_tls_tunnel_active
    - HttpTunnel::is_tunnel_alive
    - static_cast<VIO *>
    - HttpTunnel::consumer_handler
    - HttpTunnel::mark_tls_tunnel_inactive
    - ink_assert
    - HttpTunnel::get_producer
    linkageType: ''
    returnType: int
    signature: int HttpTunnel::main_handler(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - HttpTunnelType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1877
    functionName: HttpTunnel::update_stats_after_abort
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::update_stats_after_abort(HttpTunnelType_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1882
    functionName: HttpTunnel::internal_error
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::internal_error()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1887,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1894,1
    - Dst: HttpTunnel::_schedule_tls_tunnel_activity_check_event
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 1897
    functionName: HttpTunnel::mark_tls_tunnel_active
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - ts::Metrics::Gauge::increment
    - HttpTunnel::_schedule_tls_tunnel_activity_check_event
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::mark_tls_tunnel_active()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1907,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1913
    functionName: HttpTunnel::mark_tls_tunnel_inactive
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 2
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::mark_tls_tunnel_inactive()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1922,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1925,1
    - Dst: EThread*::schedule_every_local
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1928
    functionName: HttpTunnel::_schedule_tls_tunnel_activity_check_event
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - EThread*::schedule_every_local
    - HRTIME_SECONDS
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::_schedule_tls_tunnel_activity_check_event()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1933,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1936,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1938,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/HttpTunnel.cc:1940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1930
    functionDepth: 1
    functionLinenumber: 1930
    functionLinenumberEnd: 1949
    functionName: HttpTunnel::_is_tls_tunnel_active
    functionSourceFile: /src/trafficserver/src/proxy/http/HttpTunnel.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - ink_get_hrtime
    - HRTIME_SECONDS
    - ink_release_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::_is_tls_tunnel_active() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: forceLinkRegressionHttpTransact
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void forceLinkRegressionHttpTransact()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM*::init
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:40,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::create
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - HttpSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: init_sm
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpSM*::t_state::hdr_info::client_request::create
    - HttpSM*::init
    linkageType: ''
    returnType: void
    signature: void init_sm(HttpSM *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_sm
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:47,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:49,1
    - Dst: MIOBuffer*::alloc_reader
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:50,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:51,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:51,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:54,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::parse_req
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:56,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::url_get
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:57,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:58,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - scheme
    - request
    argTypes:
    - HttpSM*
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: setup_client_request
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - http_parser_init
    - MIOBuffer*::write
    - free_MIOBuffer
    - HttpSM*::t_state::hdr_info::client_request::parse_req
    - init_sm
    - strlen
    - HttpSM*::t_state::hdr_info::client_request::url_get
    - HttpSM*::t_state::hdr_info::client_request::method_get_wksidx
    - MIOBuffer*::alloc_reader
    linkageType: ''
    returnType: void
    signature: void setup_client_request(HttpSM *sm, std::string_view scheme, const
      char *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::HttpSM
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:72,1
    - Dst: setup_client_request
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:101,1
    - Dst: HttpTransact::is_request_valid
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:103,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 0
    functionsReached:
    - rprintf
    - HttpTransact::is_request_valid
    - setup_client_request
    - HttpSM::HttpSM
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HttpTransact_is_request_valid)(RegressionTest
      *t, int /* level */, int *pstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::HttpSM
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:114,1
    - Dst: setup_client_request
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:127,1
    - Dst: HttpTransact::is_request_valid
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:129,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:130,1
    - Dst: HttpTransact::handle_trace_and_options_requests
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:134,1
    - Dst: rprintf
      Src: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 0
    functionsReached:
    - HttpTransact::handle_trace_and_options_requests
    - rprintf
    - HttpTransact::is_request_valid
    - setup_client_request
    - HttpSM::HttpSM
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HttpTransact_handle_trace_and_options_requests)(RegressionTest
      *t, int /* level */, int *pstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pstatus
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/http/RegressionHttpTransact.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HttpTransact_handle_request)(RegressionTest *
      /* t */, int /* level */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wrap_around
    - groups
    argTypes:
    - std::vector<bool>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: isWrapped
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWrapped(std::vector<bool> &wrap_around, uint32_t groups)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64Sip24::ATSHash64Sip24
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:61,1
    - Dst: NextHopConsistentHash::getHashKey
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:66,1
    - Dst: static_cast<HostRecord *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:67,1
    - Dst: std::shared_ptr<ATSConsistentHash>::lookup_by_hashval
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:67,1
    - Dst: static_cast<HostRecord *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:70,1
    - Dst: std::shared_ptr<ATSConsistentHash>::lookup
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - ring
    - cur_ring
    - result
    - request_info
    - wrapped
    - sm_id
    argTypes:
    - std::shared_ptr<ATSConsistentHash>
    - uint32_t
    - ParentResult
    - HttpRequestData
    - bool*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: NextHopConsistentHash::chashLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr<ATSConsistentHash>::lookup
    - static_cast<HostRecord *>
    - ATSHash64Sip24::ATSHash64Sip24
    - NextHopConsistentHash::getHashKey
    - std::shared_ptr<ATSConsistentHash>::lookup_by_hashval
    linkageType: ''
    returnType: std::shared_ptr<HostRecord>
    signature: "std::shared_ptr<HostRecord> NextHopConsistentHash::chashLookup(const
      std::shared_ptr<ATSConsistentHash> &ring, uint32_t cur_ring, ParentResult &result,\n
      \                                  HttpRequestData &request_info, bool *wrapped,
      uint64_t sm_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:88,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: NextHopConsistentHash::~NextHopConsistentHash()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 0
    functionsReached:
    - c_str
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopConsistentHash::~NextHopConsistentHash()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64Sip24::ATSHash64Sip24
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:94,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:98,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:107,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:107,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:108,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:108,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:112,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:112,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:118,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:134,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:134,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:135,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:135,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:139,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:139,1
    - Dst: std::make_shared<ATSConsistentHash>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:145,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:146,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:148,1
    - Dst: HostRecord*::hash_string::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:150,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:151,1
    - Dst: HostRecord*::hash_string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:151,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:153,1
    - Dst: HostRecord*::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:153,1
    - Dst: std::shared_ptr::insert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:157,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:158,1
    - Dst: HostRecord*::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:159,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:159,1
    - Dst: ATSHash64Sip24::clear
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:161,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:162,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:162,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - name
    - policy
    - n
    argTypes:
    - std::string_view
    - NHPolicyType
    - ts::Yaml::Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 164
    functionName: NextHopConsistentHash::NextHopConsistentHash
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 0
    functionsReached:
    - ATSHash64Sip24::ATSHash64Sip24
    - size
    - get
    - auto::c_str
    - std::make_shared<ATSConsistentHash>
    - what
    - Scalar
    - HostRecord*::hash_string::c_str
    - ATSHash64Sip24::clear
    - data
    - std::move
    - std::shared_ptr::insert
    - NH_Note
    - push_back
    - HostRecord*::hash_string::empty
    - NH_Dbg
    - std::invalid_argument
    - HostRecord*::hostname::c_str
    - const_cast<char *>
    - c_str
    linkageType: ''
    returnType: void
    signature: void NextHopConsistentHash::NextHopConsistentHash(const std::string_view
      name, const NHPolicyType &policy, ts::Yaml::Map &n)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestData::hdr::url_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:192,1
    - Dst: URL*::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:198,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:200,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:201,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:206,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:206,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:207,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:207,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:207,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:212,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:213,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:213,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:214,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:214,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:214,1
    - Dst: URL*::query_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:216,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:216,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:217,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:218,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:218,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:218,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:223,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:224,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:224,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:225,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:225,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:225,1
    - Dst: URL*::fragment_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:227,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:227,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:228,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:229,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:229,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:229,1
    - Dst: URL*::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:237,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:239,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:240,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:244,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:245,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:245,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:246,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:247,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:247,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:247,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:248,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:248,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:248,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:255,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:256,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:256,1
    - Dst: ATSHash64*::update
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:257,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:257,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:257,1
    - Dst: ATSHash64*::final
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:262,1
    - Dst: ATSHash64*::get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:263,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 3
    argNames:
    - sm_id
    - hrdata
    - h
    argTypes:
    - uint64_t
    - HttpRequestData
    - ATSHash64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 264
    functionName: NextHopConsistentHash::getHashKey
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - HttpRequestData::hdr::url_get
    - ATSHash64*::get
    - auto::length
    - ATSHash64*::final
    - ATSHash64*::update
    - URL*::string_get_ref
    - URL*::query_get
    - URL*::fragment_get
    - URL*::host_get
    - auto::data
    - auto::empty
    - URL*::path_get
    - NH_Dbg
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NextHopConsistentHash::getHashKey(uint64_t sm_id, const HttpRequestData
      &hrdata, ATSHash64 *h)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:271,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:284,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:287,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:301,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:302,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:315,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:316,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:329,1
    - Dst: isWrapped
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:345,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:346,1
    - Dst: NextHopConsistentHash::chashLookup
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:353,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:354,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:354,1
    - Dst: Machine*::is_self
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:360,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:360,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:389,1
    - Dst: std::shared_ptr::getPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:389,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:396,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:397,1
    - Dst: std::shared_ptr::failedAt::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:398,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:404,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:404,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:410,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:434,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:434,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:442,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:449,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:451,1
    - Dst: std::shared_ptr::getPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:457,1
    - Dst: std::shared_ptr::getPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:460,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:469,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:477,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:480,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:481,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:482,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:483,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:494,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:495,1
    - Dst: setHostHeader
      Src: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc:498,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 157
    argCount: 2
    argNames:
    - txnp
    - now
    argTypes:
    - TSHttpTxn
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 501
    functionName: NextHopConsistentHash::findNextHop
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopConsistentHash.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - setHostHeader
    - Machine::instance
    - HostStatus::getHostStatus
    - NextHopConsistentHash::chashLookup
    - std::shared_ptr::getPort
    - Machine*::is_self
    - std::shared_ptr::available::load
    - ink_assert
    - RegexContext::get_instance
    - reinterpret_cast<HttpSM *>
    - std::shared_ptr::hostname::c_str
    - std::string_view::size
    - std::shared_ptr::failedAt::load
    - isWrapped
    - time
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopConsistentHash::findNextHop(TSHttpTxn txnp, void * /* ih
      ATS_UNUSED */, time_t now)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:45,1
    - Dst: HttpTransact::State*::url_map::set
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:54,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:56,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:58,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:59,1
    - Dst: UrlRewrite*::forward_mappings::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:59,1
    - Dst: UrlRewrite*::forward_mappings_with_recv_port::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:60,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:67,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:67,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:67,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:68,1
    - Dst: HTTPHdr*::host_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:72,1
    - Dst: HTTPHdr*::port_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:73,1
    - Dst: HTTPHdr*::is_target_in_url
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:74,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:76,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:83,1
    - Dst: HttpTransact::State*::client_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:84,1
    - Dst: UrlRewrite*::forwardMappingWithRecvPortLookup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:85,1
    - Dst: HttpTransact::State*::client_info::dst_addr::host_order_port
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:85,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:86,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:87,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:90,1
    - Dst: UrlRewrite*::forward_mappings::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:91,1
    - Dst: UrlRewrite*::forwardMappingLookup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:97,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:97,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:98,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:98,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:104,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:105,1
    - Dst: UrlRewrite*::forwardMappingLookup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:106,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:113,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:113,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:114,1
    - Dst: HTTPHdr*::set_url_target_from_host_field
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:122,1
    - Dst: HTTPHdr*::mark_target_dirty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - s
    - table
    argTypes:
    - HttpTransact::State*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 133
    functionName: RemapProcessor::setup_for_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::url_get
    - HttpTransact::State*::client_info::dst_addr::host_order_port
    - auto::data
    - unlikely
    - UrlRewrite*::forwardMappingWithRecvPortLookup
    - HTTPHdr*::mark_target_dirty
    - static_cast<int>
    - auto::length
    - HTTPHdr*::set_url_target_from_host_field
    - UrlRewrite*::forward_mappings::empty
    - Error
    - Dbg
    - URL*::valid
    - HTTPHdr*::host_get
    - HTTPHdr*::port_get
    - ink_assert
    - HTTPHdr*::is_target_in_url
    - UrlRewrite*::forward_mappings_with_recv_port::empty
    - HttpTransact::State*::url_map::set
    - UrlRewrite*::forwardMappingLookup
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool RemapProcessor::setup_for_remap(HttpTransact::State *s, UrlRewrite
      *table)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:140,1
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:147,1
    - Dst: UrlRewrite*::PerformACLFiltering
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:157,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:164,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:165,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:165,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:165,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:166,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:166,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:166,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:167,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:167,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:167,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:168,1
    - Dst: referer_info*::regex::exec
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:175,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:175,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:175,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:195,1
    - Dst: url_mapping*::fromURL::string_get_buf
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:201,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:201,1
    - Dst: getToURL
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:202,1
    - Dst: string_get_buf
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:202,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:202,1
    - Dst: HttpTransact::State*::unmapped_url::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:208,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:212,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:213,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:217,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:220,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:224,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:236,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:236,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:237,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:238,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:239,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:239,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:241,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:241,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:241,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:241,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:248,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:249,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:249,1
    - Dst: URL*::port_get_raw
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:251,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:256,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:256,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:258,1
    - Dst: HTTPHdr*::field_delete
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:269,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:269,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:270,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:272,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:273,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:273,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:274,1
    - Dst: HTTPHdr*::mark_target_dirty
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:278,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 2
    argNames:
    - s
    - table
    argTypes:
    - HttpTransact::State*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 281
    functionName: RemapProcessor::finish_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - string_get_buf
    - HTTPHdr*::url_get
    - min
    - snprintf
    - URL*::port_get_raw
    - std::string_view::data
    - url_mapping*::fromURL::string_get_buf
    - std::string_view::substr
    - HttpTransact::State*::url_map::getMapping
    - std::string_view::length
    - HTTPHdr*::field_delete
    - URL*::host_get
    - auto::data
    - empty
    - referer_info*::regex::exec
    - HttpTransact::State*::unmapped_url::string_get_ref
    - HTTPHdr*::value_get
    - HTTPHdr*::mark_target_dirty
    - static_cast<int>
    - getToURL
    - static_cast<std::string_view>
    - auto::length
    - ats_strdup
    - Dbg
    - std::string_view
    - UrlRewrite*::PerformACLFiltering
    - HTTPHdr*::value_set
    - 'on'
    - HTTPHdr*::presence
    - std::string_view::empty
    - static_cast<std::string_view::size_type>
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool RemapProcessor::finish_remap(HttpTransact::State *s, UrlRewrite
      *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:286,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:288,1
    - Dst: HttpTransact::State*::url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:289,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:293,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:294,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:295,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:296,1
    - Dst: RemapPlugins::run_single_remap
      Src: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cont
    - s
    argTypes:
    - Continuation*
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: RemapProcessor::perform_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapProcessor.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::url_get
    - RemapPlugins::run_single_remap
    - HttpTransact::State*::url_map::getMapping
    - Error
    - Dbg
    - Continuation*::handleEvent
    - ink_assert
    linkageType: ''
    returnType: Action
    signature: 'Action *

      RemapProcessor::perform_remap(Continuation *cont, HttpTransact::State *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:57,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:58,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:58,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:58,1
    - Dst: reinterpret_cast<T *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: RemapPluginInfo::getFunctionSymbol
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - PluginDbg
    - c_str
    - _dbg_ctl
    - getSymbol
    linkageType: ''
    returnType: T
    signature: 'T *

      RemapPluginInfo::getFunctionSymbol(const char *symbol)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:67,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pluginName
    - required
    - requiring
    argTypes:
    - std::string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: RemapPluginInfo::missingRequiredSymbolError
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string RemapPluginInfo::missingRequiredSymbolError(const std::string
      &pluginName, const char *required, const char *requiring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - configPath
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: RemapPluginInfo::RemapPluginInfo
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::RemapPluginInfo(const fs::path &configPath, const
      fs::path &effectivePath, const fs::path &runtimePath)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::clear
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:82,1
    - Dst: PluginDso::load
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:84,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:88,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:89,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:90,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:91,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:92,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:93,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:94,1
    - Dst: RemapPluginInfo::getFunctionSymbol
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:95,1
    - Dst: RemapPluginInfo::missingRequiredSymbolError
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:100,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:100,1
    - Dst: RemapPluginInfo::missingRequiredSymbolError
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:103,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:103,1
    - Dst: RemapPluginInfo::missingRequiredSymbolError
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:106,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:106,1
    - Dst: RemapPluginInfo::missingRequiredSymbolError
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:109,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:109,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:114,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:114,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:114,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:116,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:116,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - error
    - compilerPath
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: RemapPluginInfo::load
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - std::string::clear
    - RemapPluginInfo::getFunctionSymbol
    - string
    - PluginDso::load
    - PluginDbg
    - c_str
    - _dbg_ctl
    - RemapPluginInfo::missingRequiredSymbolError
    - std::string::c_str
    - PluginError
    linkageType: ''
    returnType: bool
    signature: bool RemapPluginInfo::load(std::string &error, const fs::path &compilerPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:128,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:128,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:128,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:132,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:134,1
    - Dst: reinterpret_cast<TSRemapPluginInfo>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:137,1
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:139,1
    - Dst: init_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:141,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:142,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:143,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:149,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:151,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:151,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - error
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: RemapPluginInfo::init
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - string
    - ink_zero
    - RemapPluginInfo::resetPluginContext
    - std::string::assign
    - PluginDbg
    - c_str
    - _dbg_ctl
    - reinterpret_cast<TSRemapPluginInfo>
    - init_cb
    linkageType: ''
    returnType: bool
    signature: bool RemapPluginInfo::init(std::string &error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: done_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: RemapPluginInfo::done
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - done_cb
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::done()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:171,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:171,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:171,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:175,1
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:189,1
    - Dst: new_instance_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:191,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:193,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:196,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:197,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:204,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:204,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - argc
    - argv
    - ih
    - error
    argTypes:
    - int
    - char**
    - void**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 207
    functionName: RemapPluginInfo::initInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - string
    - ink_zero
    - RemapPluginInfo::resetPluginContext
    - std::string::assign
    - PluginDbg
    - c_str
    - _dbg_ctl
    - new_instance_cb
    linkageType: ''
    returnType: bool
    signature: bool RemapPluginInfo::initInstance(int argc, char **argv, void **ih,
      std::string &error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:212,1
    - Dst: delete_instance_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:215,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: RemapPluginInfo::doneInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - delete_instance_cb
    - RemapPluginInfo::setPluginContext
    - RemapPluginInfo::resetPluginContext
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::doneInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:226,1
    - Dst: do_remap_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:229,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: RemapPluginInfo::doRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - RemapPluginInfo::resetPluginContext
    - do_remap_cb
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus RemapPluginInfo::doRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:240,1
    - Dst: os_response_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:243,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ih
    - rh
    - os_response_type
    argTypes:
    - void*
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: RemapPluginInfo::osResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - RemapPluginInfo::resetPluginContext
    - os_response_cb
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::osResponse(void *ih, TSHttpTxn rh, int os_response_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: RemapPluginInfo::~RemapPluginInfo()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::~RemapPluginInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:254,1
    - Dst: pre_config_reload_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:257,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: RemapPluginInfo::indicatePreReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - RemapPluginInfo::resetPluginContext
    - pre_config_reload_cb
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::indicatePreReload()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInfo::setPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:266,1
    - Dst: post_config_reload_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:269,1
    - Dst: RemapPluginInfo::resetPluginContext
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reloadStatus
    argTypes:
    - TSRemapReloadStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: RemapPluginInfo::indicatePostReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo::setPluginContext
    - RemapPluginInfo::resetPluginContext
    - post_config_reload_cb
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::indicatePostReload(TSRemapReloadStatus reloadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:280,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: RemapPluginInfo::setPluginContext
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 7
    functionsReached:
    - PluginDbg
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::setPluginContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:286,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: RemapPluginInfo::resetPluginContext
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPluginInfo.cc
    functionUses: 7
    functionsReached:
    - PluginDbg
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void RemapPluginInfo::resetPluginContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_mapping*::fromURL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:51,1
    - Dst: URL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:52,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:54,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - new_mapping
    - new_to_url
    argTypes:
    - url_mapping*
    - URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: SetHomePageRedirectFlag
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - url_mapping*::fromURL::path_get
    - auto::empty
    - URL::path_get
    linkageType: ''
    returnType: void
    signature: void SetHomePageRedirectFlag(url_mapping *new_mapping, URL &new_to_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_mapping*::fromURL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:51,1
    - Dst: URL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:52,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:54,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - new_mapping
    - new_to_url
    argTypes:
    - url_mapping*
    - URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: SetHomePageRedirectFlag
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - url_mapping*::fromURL::path_get
    - auto::empty
    - URL::path_get
    linkageType: ''
    returnType: void
    signature: void SetHomePageRedirectFlag(url_mapping *new_mapping, URL &new_to_url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:62,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - policy
    argTypes:
    - ACLBehaviorPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: UrlRewrite::get_acl_behavior_policy
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - Warning
    - RecGetRecordInt
    linkageType: ''
    returnType: bool
    signature: bool UrlRewrite::get_acl_behavior_policy(ACLBehaviorPolicy &policy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:80,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:82,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:84,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:89,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:90,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:93,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:94,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:98,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:99,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:102,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:103,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:106,1
    - Dst: setRuntimeDir
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:109,1
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:109,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:109,1
    - Dst: RecGetRecordString
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:115,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:116,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:118,1
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_regular_file
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:121,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:122,1
    - Dst: setCompilerPath
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:126,1
    - Dst: RecConfigReadConfigDir
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:126,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:132,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:132,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:133,1
    - Dst: NextHopStrategyFactory::NextHopStrategyFactory
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:133,1
    - Dst: UrlRewrite::BuildTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:135,1
    - Dst: UrlRewrite::rule_count
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:136,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:138,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:141,1
    - Dst: UrlRewrite::Print
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:142,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:145,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:148,1
    - Dst: UrlRewrite::get_acl_behavior_policy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 157
    functionName: UrlRewrite::load
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - get_yaml_path
    - NextHopStrategyFactory::NextHopStrategyFactory
    - RecGetRecordInt
    - RecConfigReadConfigDir
    - UrlRewrite::get_acl_behavior_policy
    - RecGetRecordString
    - swoc::SWOC_VERSION_NS::file::is_regular_file
    - std::string::c_str
    - setRuntimeDir
    - RecConfigReadPluginDir
    - ats_scoped_str::ats_scoped_str
    - Warning
    - UrlRewrite::Print
    - RecGetRecordStringAlloc
    - RecConfigReadRuntimeDir
    - Error
    - setCompilerPath
    - ats_strdup
    - UrlRewrite::BuildTable
    - Dbg
    - strlen
    - Recv_from_vconn::_status
    - UrlRewrite::rule_count
    - 'on'
    - ats_stringdup
    linkageType: ''
    returnType: bool
    signature: bool UrlRewrite::load()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:161,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:162,1
    - Dst: UrlRewrite::DestroyStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:164,1
    - Dst: UrlRewrite::DestroyStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:165,1
    - Dst: UrlRewrite::DestroyStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:166,1
    - Dst: UrlRewrite::DestroyStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:167,1
    - Dst: UrlRewrite::DestroyStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:168,1
    - Dst: deactivate
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: UrlRewrite::~UrlRewrite()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - deactivate
    - ats_free
    - UrlRewrite::DestroyStore
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::~UrlRewrite()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:181,1
    - Dst: UrlRewrite::Print
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: UrlRewrite::SetReverseFlag
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - UrlRewrite::Print
    - 'on'
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::SetReverseFlag(int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h_table
    argTypes:
    - std::unique_ptr<URLTable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: UrlRewrite::_destroyTable
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::_destroyTable(std::unique_ptr<URLTable> &h_table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:201,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:203,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:205,1
    - Dst: UrlRewrite::PrintStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:206,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:208,1
    - Dst: UrlRewrite::PrintStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:209,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:211,1
    - Dst: UrlRewrite::PrintStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:212,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:214,1
    - Dst: UrlRewrite::PrintStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:215,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:217,1
    - Dst: UrlRewrite::PrintStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:218,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 223
    functionName: UrlRewrite::Print
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 2
    functionsReached:
    - printf
    - UrlRewrite::PrintStore
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::Print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: second::Print
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:231,1
    - Dst: MappingsStore::regex_list::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:235,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:236,1
    - Dst: forl_LL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:237,1
    - Dst: url_map::Print
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - store
    argTypes:
    - MappingsStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: UrlRewrite::PrintStore
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 1
    functionsReached:
    - MappingsStore::regex_list::empty
    - forl_LL
    - printf
    - url_map::Print
    - second::Print
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::PrintStore(const MappingsStore &store) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::PrintRemapHitsStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:248,1
    - Dst: UrlRewrite::PrintRemapHitsStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:249,1
    - Dst: UrlRewrite::PrintRemapHitsStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:250,1
    - Dst: UrlRewrite::PrintRemapHitsStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:251,1
    - Dst: UrlRewrite::PrintRemapHitsStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:252,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:254,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:255,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: UrlRewrite::PrintRemapHits
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - UrlRewrite::PrintRemapHitsStore
    - std::string::size
    - std::string::pop_back
    linkageType: ''
    returnType: std::string
    signature: std::string UrlRewrite::PrintRemapHits()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: second::PrintUrlMappingPathIndex
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:270,1
    - Dst: MappingsStore::regex_list::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:274,1
    - Dst: forl_LL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:275,1
    - Dst: url_map::PrintRemapHitCount
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - store
    argTypes:
    - MappingsStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: UrlRewrite::PrintRemapHitsStore
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 1
    functionsReached:
    - forl_LL
    - url_map::PrintRemapHitCount
    - second::PrintUrlMappingPathIndex
    - MappingsStore::regex_list::empty
    linkageType: ''
    returnType: std::string
    signature: std::string UrlRewrite::PrintRemapHitsStore(MappingsStore &store)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<URLTable>::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:295,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:295,1
    - Dst: std::unique_ptr<URLTable>::find
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:301,1
    - Dst: std::unique_ptr<URLTable>::end
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:301,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:306,1
    - Dst: UrlMappingPathIndex*::Search
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - h_table
    - request_url
    - request_port
    - request_host
    - request_host_len
    argTypes:
    - std::unique_ptr<URLTable>
    - URL*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: UrlRewrite::_tableLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<URLTable>::reset
    - likely
    - URLTable::URLTable
    - UrlMappingPathIndex*::Search
    - std::unique_ptr<URLTable>::end
    - std::unique_ptr<URLTable>::find
    linkageType: ''
    returnType: url_mapping
    signature: "url_mapping *\nUrlRewrite::_tableLookup(std::unique_ptr<URLTable>
      &h_table, URL *request_url, int request_port, char *request_host,\n                         int
      request_host_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UrlMappingContainer::getToURL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:318,1
    - Dst: UrlMappingContainer::getFromURL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:319,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:321,1
    - Dst: UrlMappingContainer::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:321,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:323,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:323,1
    - Dst: URL*::port_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:324,1
    - Dst: URL*::port_get_raw
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:324,1
    - Dst: URL*::scheme_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:329,1
    - Dst: URL*::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:329,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:331,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:331,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:332,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:333,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:333,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:334,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:335,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:335,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:342,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:343,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:343,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:354,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:357,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:361,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:368,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:368,1
    - Dst: URL*::path_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:375,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:375,1
    - Dst: URL*::path_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:377,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:377,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - mapping_container
    - request_url
    - method
    argTypes:
    - UrlMappingContainer
    - URL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 380
    functionName: url_rewrite_remap_request
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - UrlMappingContainer::getMapping
    - URL*::host_set
    - URL*::scheme_set
    - auto::length
    - auto::empty
    - UrlMappingContainer::getToURL
    - URL*::path_set
    - static_cast<std::string_view::size_type>
    - Dbg
    - URL*::port_get_raw
    - URL*::host_get
    - URL*::port_set
    - auto::data
    - URL*::scheme_get
    - UrlMappingContainer::getFromURL
    - URL*::path_get
    linkageType: ''
    returnType: void
    signature: void url_rewrite_remap_request(const UrlMappingContainer &mapping_container,
      URL *request_url, int method)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: URL::URL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:387,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:393,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:394,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:399,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:400,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:400,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:405,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:407,1
    - Dst: URL::create
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:411,1
    - Dst: URL::parse
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:412,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:412,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:412,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:412,1
    - Dst: URL::host_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:414,1
    - Dst: UrlRewrite::reverseMappingLookup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:418,1
    - Dst: URL::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:418,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:418,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:418,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:418,1
    - Dst: url_rewrite_remap_request
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:423,1
    - Dst: URL::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:424,1
    - Dst: HTTPHdr*::value_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:425,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:426,1
    - Dst: URL::destroy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - response_header
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 432
    functionName: UrlRewrite::ReverseMap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - URL::destroy
    - URL::URL
    - URL::parse
    - URL::host_get
    - URL::string_get_ref
    - UrlRewrite::empty
    - UrlRewrite::reverseMappingLookup
    - auto::data
    - unlikely
    - HTTPHdr*::value_get
    - static_cast<int>
    - auto::length
    - static_cast<std::string_view>
    - URL::port_get
    - URL::create
    - ink_assert
    - HTTPHdr*::value_set
    - static_cast<std::string_view::size_type>
    - url_rewrite_remap_request
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool UrlRewrite::ReverseMap(HTTPHdr *response_header)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:438,1
    - Dst: HttpTransact::State*::hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:445,1
    - Dst: HttpTransact::State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:450,1
    - Dst: acl_filter_rule*::nonstandard_methods::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:478,1
    - Dst: HttpTransact::State*::hdr_info::client_request::method_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:481,1
    - Dst: acl_filter_rule*::nonstandard_methods::count
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:482,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:490,1
    - Dst: contains
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:495,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:506,1
    - Dst: contains
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:525,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:534,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:536,1
    - Dst: start::toString
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:537,1
    - Dst: end::toString
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:538,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:539,1
    - Dst: contains
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:541,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:552,1
    - Dst: HttpTransact::State*::state_machine::get_ua_txn
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:558,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:561,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:566,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:570,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:574,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:576,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:584,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:601,1
    - Dst: acl_filter_rule*::get_action_description
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:602,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 125
    argCount: 2
    argNames:
    - s
    - map
    argTypes:
    - HttpTransact::State*
    - url_mapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 612
    functionName: UrlRewrite::PerformACLFiltering
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - ats_is_ip
    - HttpTransact::State*::hdr_info::client_request::method_get
    - contains
    - Dbg
    - ats_ip_ntop
    - acl_filter_rule*::get_action_description
    - end::toString
    - acl_filter_rule*::nonstandard_methods::count
    - unlikely
    - start::toString
    - acl_filter_rule*::nonstandard_methods::empty
    - HttpTransact::State*::state_machine::get_ua_txn
    - HttpTransact::State*::hdr_info::client_request::method_get_wksidx
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::PerformACLFiltering(HttpTransact::State *s, const
      url_mapping *const map)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:638,1
    - Dst: HTTPHdr*::url_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:641,1
    - Dst: URL*::valid
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:643,1
    - Dst: URL*::host_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:647,1
    - Dst: URL*::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:648,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:650,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:652,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:652,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:654,1
    - Dst: memchr
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:654,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:654,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:654,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:658,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:658,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:660,1
    - Dst: ink_atoi
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:661,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:661,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:661,1
    - Dst: URL*::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:666,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:670,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:670,1
    - Dst: UrlRewrite::temporaryRedirectLookup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:681,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:681,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:681,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:681,1
    - Dst: UrlRewrite::permanentRedirectLookup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:686,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:686,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:686,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:686,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:692,1
    - Dst: URL*::create
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:696,1
    - Dst: URL*::copy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:697,1
    - Dst: url_rewrite_remap_request
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:700,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:704,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - request_header
    - redirect_url
    argTypes:
    - HTTPHdr*
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 707
    functionName: UrlRewrite::Remap_redirect
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - URL*::create
    - HTTPHdr*::url_get
    - UrlRewrite::temporaryRedirectLookup
    - URL*::copy
    - ink_atoi
    - URL*::host_get
    - auto::data
    - memchr
    - HTTPHdr*::value_get
    - static_cast<int>
    - UrlRewrite::permanentRedirectLookup
    - auto::length
    - static_cast<std::string_view>
    - Dbg
    - URL*::valid
    - static_cast<const char *>
    - ink_assert
    - static_cast<std::string_view::size_type>
    - url_rewrite_remap_request
    - URL*::port_get
    - auto::empty
    linkageType: ''
    returnType: mapping_type
    signature: mapping_type UrlRewrite::Remap_redirect(HTTPHdr *request_header, URL
      *redirect_url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url_mapping*::setRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:715,1
    - Dst: url_mapping*::setRemapKey
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:716,1
    - Dst: MappingsStore::regex_list::enqueue
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:718,1
    - Dst: UrlRewrite::TableInsert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - store
    - new_mapping
    - reg_map
    - src_host
    - is_cur_mapping_regex
    - count
    argTypes:
    - MappingsStore
    - url_mapping*
    - RegexMapping*
    - char*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: UrlRewrite::_addToStore
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - url_mapping*::setRank
    - url_mapping*::setRemapKey
    - MappingsStore::regex_list::enqueue
    - UrlRewrite::TableInsert
    linkageType: ''
    returnType: bool
    signature: "bool UrlRewrite::_addToStore(MappingsStore &store, url_mapping *new_mapping,
      RegexMapping *reg_map, const char *src_host,\n                        bool is_cur_mapping_regex,
      int &count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_addToStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:739,1
    - Dst: SetHomePageRedirectFlag
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:742,1
    - Dst: UrlRewrite::_addToStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:746,1
    - Dst: UrlRewrite::_addToStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:750,1
    - Dst: UrlRewrite::_addToStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:753,1
    - Dst: UrlRewrite::_addToStore
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - maptype
    - new_mapping
    - reg_map
    - src_host
    - is_cur_mapping_regex
    argTypes:
    - mapping_type
    - url_mapping*
    - RegexMapping*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 766
    functionName: UrlRewrite::InsertMapping
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - SetHomePageRedirectFlag
    - UrlRewrite::_addToStore
    linkageType: ''
    returnType: bool
    signature: "bool UrlRewrite::InsertMapping(mapping_type maptype, url_mapping *new_mapping,
      RegexMapping *reg_map, const char *src_host,\n                          bool
      is_cur_mapping_regex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::TableInsert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:774,1
    - Dst: UrlRewrite::TableInsert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:776,1
    - Dst: SetHomePageRedirectFlag
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - maptype
    - mapping
    - src_host
    argTypes:
    - mapping_type
    - url_mapping*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 794
    functionName: UrlRewrite::InsertForwardMapping
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - SetHomePageRedirectFlag
    - UrlRewrite::TableInsert
    linkageType: ''
    returnType: bool
    signature: bool UrlRewrite::InsertForwardMapping(mapping_type maptype, url_mapping
      *mapping, const char *src_host)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:805,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:805,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:806,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:806,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:807,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:807,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:808,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:808,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:809,1
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:809,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:810,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:811,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:812,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:813,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:814,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:816,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:816,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:817,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:817,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:818,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:818,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:819,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:819,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:820,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:820,1
    - Dst: remap_parse_config
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:822,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:828,1
    - Dst: hash_lookup::find
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:830,1
    - Dst: hash_lookup::end
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:830,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:836,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:840,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:844,1
    - Dst: hash_lookup::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 852
    functionName: UrlRewrite::BuildTable
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 1
    functionsReached:
    - UrlRewrite::empty
    - hash_lookup::reset
    - URLTable::URLTable
    - hash_lookup::find
    - remap_parse_config
    - hash_lookup::end
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int UrlRewrite::BuildTable(const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<URLTable>::reset
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:863,1
    - Dst: URLTable::URLTable
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:863,1
    - Dst: std::unique_ptr<URLTable>::find
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:873,1
    - Dst: std::unique_ptr<URLTable>::end
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:873,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:878,1
    - Dst: UrlMappingPathIndex::UrlMappingPathIndex
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:882,1
    - Dst: std::unique_ptr<URLTable>::emplace
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:883,1
    - Dst: UrlMappingPathIndex*::Insert
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:885,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - h_table
    - mapping
    - src_host
    argTypes:
    - std::unique_ptr<URLTable>
    - url_mapping*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 891
    functionName: UrlRewrite::TableInsert
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 2
    functionsReached:
    - std::unique_ptr<URLTable>::reset
    - Warning
    - UrlMappingPathIndex*::Insert
    - URLTable::URLTable
    - UrlMappingPathIndex::UrlMappingPathIndex
    - std::unique_ptr<URLTable>::emplace
    - std::unique_ptr<URLTable>::end
    - std::unique_ptr<URLTable>::find
    linkageType: ''
    returnType: bool
    signature: bool UrlRewrite::TableInsert(std::unique_ptr<URLTable> &h_table, url_mapping
      *mapping, const char *src_host)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:906,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:912,1
    - Dst: UrlRewrite::_tableLookup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:918,1
    - Dst: url_mapping*::getRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:920,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:921,1
    - Dst: UrlMappingContainer::set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:922,1
    - Dst: UrlRewrite::_regexMappingLookup
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:925,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:927,1
    - Dst: UrlMappingContainer::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:927,1
    - Dst: getRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:927,1
    - Dst: UrlMappingContainer::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:931,1
    - Dst: incrementCount
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - mappings
    - request_url
    - request_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - MappingsStore
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 934
    functionName: UrlRewrite::_mappingLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - UrlRewrite::_tableLookup
    - UrlMappingContainer::getMapping
    - UrlRewrite::_regexMappingLookup
    - tolower
    - url_mapping*::getRank
    - UrlMappingContainer::set
    - Dbg
    - getRank
    - incrementCount
    linkageType: ''
    returnType: bool
    signature: "bool UrlRewrite::_mappingLookup(MappingsStore &mappings, URL *request_url,
      int request_port, const char *request_host,\n                           int
      request_host_len, UrlMappingContainer &mapping_container)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:951,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:960,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:972,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:975,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:980,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - matches_info
    - reg_map
    - matched_string
    - dest_buf
    - dest_buf_size
    argTypes:
    - size_t*
    - RegexMapping*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 982
    functionName: UrlRewrite::_expandSubstitutions
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - memcpy
    - Warning
    linkageType: ''
    returnType: int
    signature: "int UrlRewrite::_expandSubstitutions(size_t *matches_info, const RegexMapping
      *reg_map, const char *matched_string, char *dest_buf,\n                                 int
      dest_buf_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegexMatches::RegexMatches
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:989,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:993,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:995,1
    - Dst: URL*::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:998,1
    - Dst: auto::empty
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1002,1
    - Dst: url_map::getRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1009,1
    - Dst: url_map::fromURL::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1015,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1016,1
    - Dst: url_map::fromURL::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1020,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1021,1
    - Dst: url_map::fromURL::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1024,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1028,1
    - Dst: url_map::fromURL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1029,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1030,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1030,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1032,1
    - Dst: regular_expression::exec
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1036,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1036,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1039,1
    - Dst: UrlMappingContainer::set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1044,1
    - Dst: RegexMatches::get_ovector_pointer
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1050,1
    - Dst: UrlRewrite::_expandSubstitutions
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1051,1
    - Dst: UrlMappingContainer::createNewToURL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1052,1
    - Dst: URL*::copy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1053,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1054,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1054,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: URL*::length_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: URL*::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1060,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 7
    argNames:
    - regex_mappings
    - request_url
    - request_port
    - request_host
    - request_host_len
    - rank_ceiling
    - mapping_container
    argTypes:
    - RegexMappingList
    - URL*
    - int
    - char*
    - int
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 1066
    functionName: UrlRewrite::_regexMappingLookup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 1
    functionsReached:
    - url_map::fromURL::scheme_get
    - URL*::copy
    - URL*::string_get_ref
    - regular_expression::exec
    - RegexMatches::RegexMatches
    - auto::data
    - url_map::fromURL::path_get
    - strncmp
    - URL*::length_get
    - UrlMappingContainer::createNewToURL
    - UrlRewrite::_expandSubstitutions
    - auto::length
    - URL*::host_set
    - RegexMatches::get_ovector_pointer
    - url_map::fromURL::port_get
    - UrlMappingContainer::set
    - Dbg
    - url_map::getRank
    - std::string_view
    - static_cast<std::string_view::size_type>
    - URL*::scheme_get
    - auto::empty
    - URL*::path_get
    linkageType: ''
    returnType: bool
    signature: "bool UrlRewrite::_regexMappingLookup(RegexMappingList &regex_mappings,
      URL *request_url, int request_port, const char *request_host,\n                                int
      request_host_len, int rank_ceiling, UrlMappingContainer &mapping_container)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: url_map::getRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1009,1
    - Dst: url_map::fromURL::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1015,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1016,1
    - Dst: url_map::fromURL::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1020,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1021,1
    - Dst: url_map::fromURL::port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1024,1
    - Dst: path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1028,1
    - Dst: url_map::fromURL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1029,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1030,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1030,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1031,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1032,1
    - Dst: regular_expression::exec
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1036,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1036,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1039,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1044,1
    - Dst: get_ovector_pointer
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1050,1
    - Dst: _expandSubstitutions
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1051,1
    - Dst: createNewToURL
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1052,1
    - Dst: URL*::copy
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1053,1
    - Dst: URL*::host_set
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1054,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1054,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: URL*::length_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: URL*::string_get_ref
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1056,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1060,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1063
    functionName: forl_LL
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 4
    functionsReached:
    - set
    - url_map::fromURL::scheme_get
    - _expandSubstitutions
    - URL*::copy
    - URL*::string_get_ref
    - regular_expression::exec
    - auto::data
    - url_map::fromURL::path_get
    - strncmp
    - URL*::length_get
    - path_get
    - auto::length
    - URL*::host_set
    - url_map::fromURL::port_get
    - Dbg
    - url_map::getRank
    - std::string_view
    - static_cast<std::string_view::size_type>
    - createNewToURL
    - get_ovector_pointer
    linkageType: ''
    returnType: void
    signature: void forl_LL(RegexMapping, list_iter, regex_mappings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexMappingList::pop
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1072,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1074,1
    - Dst: RegexMappingList::clear
      Src: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mappings
    argTypes:
    - RegexMappingList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1078
    functionName: UrlRewrite::_destroyList
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlRewrite.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - RegexMappingList::pop
    - RegexMappingList::clear
    linkageType: ''
    returnType: void
    signature: void UrlRewrite::_destroyList(RegexMappingList &mappings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:52,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:53,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - error
    - msg
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: concat_error
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::empty
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void concat_error(std::string &error, const std::string &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:52,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:53,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - error
    - msg
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: concat_error
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::empty
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void concat_error(std::string &error, const std::string &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:64,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:64,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:65,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:65,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - configPath
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: PluginDso::PluginDso
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDbg
    - c_str
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void PluginDso::PluginDso(const fs::path &configPath, const fs::path
      &effectivePath, const fs::path &runtimePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::unload
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: PluginDso::~PluginDso()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDso::unload
    linkageType: ''
    returnType: void
    signature: void PluginDso::~PluginDso()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: std::string::clear
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:79,1
    - Dst: PluginDso::isLoaded
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:82,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:83,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:87,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:87,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:87,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:90,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:91,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:94,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:94,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:94,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:94,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:98,1
    - Dst: PluginDso::isDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:99,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:100,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:103,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:103,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:103,1
    - Dst: std::system
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:105,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:105,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:106,1
    - Dst: PluginDso::isDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:110,1
    - Dst: RefCountCachePartition<C>::copy
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:110,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:111,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:112,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:112,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:117,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:117,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:117,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:117,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:121,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:122,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:122,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:122,1
    - Dst: ts_clock::to_time_t
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:122,1
    - Dst: dlopen_preflight
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:126,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:126,1
    - Dst: dlopen
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:126,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:126,1
    - Dst: dlopen
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:128,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:128,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:130,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:131,1
    - Dst: PluginDso::clean
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:134,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:137,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:137,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:137,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:141,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:141,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:141,1
    - Dst: PluginDso::isLoaded
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:155,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:156,1
    - Dst: dlclose
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:160,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:165,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:166,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:167,1
    - Dst: PluginDso::clean
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:171,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:187,1
    - Dst: dlsym
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:189,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:190,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:194,1
    - Dst: PluginDso::isDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:267,1
    - Dst: remove_all
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:272,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:274,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:275,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:275,1
    - Dst: PluginDso::refcount_inc
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:282,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    - Dst: PluginDso::refcount
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: PluginDso::refcount
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: PluginDso::refcount_dec
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:290,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:292,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    - Dst: PluginDso::load
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    - Dst: PluginDso::load
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:325,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:325,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:327,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:333,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:333,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:335,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:336,1
    - Dst: DeleterContinuation<PluginDso>::DeleterContinuation<PluginDso>
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:336,1
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:351,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:354,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:354,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: PluginDso::modTime
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:357,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:358,1
    - Dst: effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:358,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:360,1
    - Dst: static_cast<PluginDso *>
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:360,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:366,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:366,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:369,1
    - Dst: apply
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:371,1
    - Dst: indicatePreReload
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:371,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:378,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:378,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:381,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:387,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:387,1
    - Dst: indicatePostReload
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:390,1
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:398,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:401,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:401,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:406,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:406,1
    - Dst: push_front
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:407,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:407,1
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:417,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:420,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:420,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:425,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:425,1
    - Dst: remove_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:426,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:433,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:433,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: std::begin
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:438,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 157
    argCount: 2
    argNames:
    - error
    - compilerPath
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 441
    functionName: PluginDso::load
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 2
    functionsReached:
    - static_cast<PluginDso *>
    - concat_error
    - fs::path::string
    - std::string::assign
    - indicatePreReload
    - dlopen
    - PluginDso::clean
    - _dbg_ctl
    - remove_all
    - this_ethread
    - dlopen_preflight
    - dlerror
    - std::begin
    - begin
    - PluginDso::refcount_inc
    - dlsym
    - push_front
    - dlclose
    - remove
    - append
    - URL::is_port_canonical
    - empty
    - std::move
    - count
    - PluginDso::modTime
    - std::string::c_str
    - PluginError
    - apply
    - indicatePostReload
    - PluginDso::load
    - erase
    - PluginDso::refcount
    - find
    - PluginDso::isLoaded
    - PluginDso::isDynamicReloadEnabled
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - end
    - PluginDbg
    - Recv_from_vconn::_status
    - std::error_code::message
    - std::string::clear
    - ts_clock::to_time_t
    - string
    - effectivePath
    - SCOPED_MUTEX_LOCK
    - PluginDso::refcount_dec
    - std::system
    - c_str
    - remove_if
    - DeleterContinuation<PluginDso>::DeleterContinuation<PluginDso>
    - std::find_if
    - RefCountCachePartition<C>::copy
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::load(std::string &error, const fs::path &compilerPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::isLoaded
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:155,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:156,1
    - Dst: dlclose
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:160,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:165,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:166,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:167,1
    - Dst: PluginDso::clean
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - error
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: PluginDso::unload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 1
    functionsReached:
    - dlclose
    - PluginDso::isLoaded
    - concat_error
    - PluginDso::clean
    - dlerror
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::unload(std::string &error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:187,1
    - Dst: dlsym
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:189,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:190,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - symbol
    - address
    - error
    argTypes:
    - char*
    - void*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: PluginDso::getSymbol
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - dlerror
    - dlsym
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::getSymbol(const char *symbol, void *&address, std::string
      &error) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: PluginDso::isLoaded
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::isLoaded()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: '&

      PluginDso::effectivePath() const'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fs::path
    signature: 'fs::path &

      PluginDso::effectivePath() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: '&

      PluginDso::runtimePath() const'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fs::path
    signature: 'fs::path &

      PluginDso::runtimePath() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: PluginDso::modTime
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: swoc::file::file_time_type
    signature: swoc::file::file_time_type PluginDso::modTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: PluginDso::dlOpenHandle
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      PluginDso::dlOpenHandle() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::isDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:267,1
    - Dst: remove_all
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:272,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:274,1
    - Dst: concat_error
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:275,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - error
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: PluginDso::clean
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 2
    functionsReached:
    - std::error_code::message
    - PluginDso::isDynamicReloadEnabled
    - remove_all
    - concat_error
    linkageType: ''
    returnType: void
    signature: void PluginDso::clean(std::string &error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::refcount_inc
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:282,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    - Dst: PluginDso::refcount
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: PluginDso::acquire
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDso::refcount
    - PluginDbg
    - PluginDso::refcount_inc
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void PluginDso::acquire()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: PluginDso::refcount
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:289,1
    - Dst: PluginDso::refcount_dec
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:290,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:291,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: PluginDso::release
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDso::refcount
    - PluginDso::refcount_dec
    - remove
    - PluginDbg
    - c_str
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void PluginDso::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    - Dst: PluginDso::load
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: PluginDso::incInstanceCount
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDbg
    - PluginDso::load
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void PluginDso::incInstanceCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    - Dst: PluginDso::load
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: PluginDso::decInstanceCount
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - PluginDbg
    - PluginDso::load
    - _dbg_ctl
    linkageType: ''
    returnType: void
    signature: void PluginDso::decInstanceCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: PluginDso::instanceCount
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PluginDso::instanceCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: PluginDso::isDynamicReloadEnabled
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::isDynamicReloadEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:325,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:325,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - PluginDso*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: PluginDso::LoadedPlugins::add(PluginDso *plugin)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - append
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void PluginDso::LoadedPlugins::add(PluginDso *plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:333,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:333,1
    - Dst: erase
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:335,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:336,1
    - Dst: DeleterContinuation<PluginDso>::DeleterContinuation<PluginDso>
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - PluginDso*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: PluginDso::LoadedPlugins::remove(PluginDso *plugin)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - DeleterContinuation<PluginDso>::DeleterContinuation<PluginDso>
    - SCOPED_MUTEX_LOCK
    - erase
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void PluginDso::LoadedPlugins::remove(PluginDso *plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:351,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:354,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:354,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:356,1
    - Dst: modTime
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:357,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:358,1
    - Dst: effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:358,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:360,1
    - Dst: static_cast<PluginDso *>
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - path
    - dynamicReloadEnabled
    argTypes:
    - fs::path
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: '*

      PluginDso::LoadedPlugins::findByEffectivePath(const fs::path &path, bool dynamicReloadEnabled)'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - begin
    - effectivePath
    - modTime
    - SCOPED_MUTEX_LOCK
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - static_cast<PluginDso *>
    - fs::path::string
    - end
    - this_ethread
    - Recv_from_vconn::_status
    - std::find_if
    linkageType: ''
    returnType: PluginDso
    signature: 'PluginDso *

      PluginDso::LoadedPlugins::findByEffectivePath(const fs::path &path, bool dynamicReloadEnabled)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:366,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:366,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:368,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:369,1
    - Dst: apply
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:371,1
    - Dst: indicatePreReload
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - factoryId
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: PluginDso::LoadedPlugins::indicatePreReload(const char *factoryId)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - indicatePreReload
    - apply
    - PluginDbg
    - _dbg_ctl
    - this_ethread
    - count
    linkageType: ''
    returnType: void
    signature: void PluginDso::LoadedPlugins::indicatePreReload(const char *factoryId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:378,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:378,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:380,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:381,1
    - Dst: std::unordered_map<PluginDso *, int>::end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:387,1
    - Dst: std::unordered_map<PluginDso *, int>::find
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:387,1
    - Dst: indicatePostReload
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - reloadSuccessful
    - pluginUsed
    - factoryId
    argTypes:
    - bool
    - std::unordered_map<PluginDso *, int>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: "PluginDso::LoadedPlugins::indicatePostReload(bool reloadSuccessful,
      const std::unordered_map<PluginDso *, int> &pluginUsed,\n                                             const
      char *factoryId)"
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - std::unordered_map<PluginDso *, int>::find
    - SCOPED_MUTEX_LOCK
    - PluginDbg
    - std::unordered_map<PluginDso *, int>::end
    - _dbg_ctl
    - this_ethread
    - count
    - indicatePostReload
    linkageType: ''
    returnType: void
    signature: "void PluginDso::LoadedPlugins::indicatePostReload(bool reloadSuccessful,
      const std::unordered_map<PluginDso *, int> &pluginUsed,\n                                             const
      char *factoryId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:398,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:401,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:401,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:406,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:406,1
    - Dst: push_front
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:407,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pluginPath
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: PluginDso::LoadedPlugins::addPluginPathToDsoOptOutTable(std::string_view
      pluginPath)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - URL::is_port_canonical
    - std::error_code::message
    - push_front
    - SCOPED_MUTEX_LOCK
    - this_ethread
    - std::move
    - PluginError
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::LoadedPlugins::addPluginPathToDsoOptOutTable(std::string_view
      pluginPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:417,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:420,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:420,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:425,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:425,1
    - Dst: remove_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pluginPath
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: PluginDso::LoadedPlugins::removePluginPathFromDsoOptOutTable(std::string_view
      pluginPath)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - URL::is_port_canonical
    - std::error_code::message
    - SCOPED_MUTEX_LOCK
    - this_ethread
    - remove_if
    - PluginError
    linkageType: ''
    returnType: void
    signature: void PluginDso::LoadedPlugins::removePluginPathFromDsoOptOutTable(std::string_view
      pluginPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:433,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:433,1
    - Dst: std::find_if
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: std::begin
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:434,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/PluginDso.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - effectivePath
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: PluginDso::LoadedPlugins::isPluginInDsoOptOutTable(const fs::path
      &effectivePath)
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginDso.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - end
    - this_ethread
    - std::find_if
    - std::begin
    linkageType: ''
    returnType: bool
    signature: bool PluginDso::LoadedPlugins::isPluginInDsoOptOutTable(const fs::path
      &effectivePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acquire
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - RemapPluginInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: RemapPluginInst::RemapPluginInst
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - acquire
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst::RemapPluginInst(RemapPluginInfo &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: RemapPluginInst::~RemapPluginInst()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst::~RemapPluginInst()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInst::RemapPluginInst
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:55,1
    - Dst: RemapPluginInfo*::initInstance
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:56,1
    - Dst: RemapPluginInfo*::incInstanceCount
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - plugin
    - argc
    - argv
    - error
    argTypes:
    - RemapPluginInfo*
    - int
    - char**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: RemapPluginInst::init
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - RemapPluginInfo*::initInstance
    - RemapPluginInfo*::incInstanceCount
    - RemapPluginInst::RemapPluginInst
    linkageType: ''
    returnType: RemapPluginInst
    signature: 'RemapPluginInst *

      RemapPluginInst::init(RemapPluginInfo *plugin, int argc, char **argv, std::string
      &error)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decInstanceCount
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:67,1
    - Dst: doneInstance
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:68,1
    - Dst: instanceCount
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:70,1
    - Dst: RemapPluginInst::done
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: RemapPluginInst::done
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - decInstanceCount
    - RemapPluginInst::done
    - instanceCount
    - doneInstance
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst::done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInst::doRemap
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rh
    - rri
    argTypes:
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: RemapPluginInst::doRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - RemapPluginInst::doRemap
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus RemapPluginInst::doRemap(TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginInst::osResponse
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rh
    - os_response_type
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: RemapPluginInst::osResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - RemapPluginInst::osResponse
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst::osResponse(TSHttpTxn rh, int os_response_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ATSUuid::ATSUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:89,1
    - Dst: initialize
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:91,1
    - Dst: valid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:92,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:99,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:99,1
    - Dst: PluginFactory::getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: PluginFactory::PluginFactory
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - initialize
    - PluginFactory::getUuid
    - ATSUuid::ATSUuid
    - PluginDbg
    - _dbg_ctl
    - valid
    linkageType: ''
    returnType: void
    signature: void PluginFactory::PluginFactory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:104,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:105,1
    - Dst: TSSystemState::is_event_system_shut_down
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:107,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:110,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:113,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:115,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:118,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:118,1
    - Dst: PluginFactory::getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: PluginFactory::~PluginFactory()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - PluginFactory::getUuid
    - swoc::SWOC_VERSION_NS::file::remove_all
    - TSSystemState::is_event_system_shut_down
    - PluginDbg
    - _dbg_ctl
    - RecGetRecordInt
    - apply
    - clear
    linkageType: ''
    returnType: void
    signature: void PluginFactory::~PluginFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:125,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:126,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:126,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - searchDir
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: '&

      PluginFactory::addSearchDir(const fs::path &searchDir)'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - push_back
    - PluginDbg
    - fs::path::c_str
    - _dbg_ctl
    linkageType: ''
    returnType: PluginFactory
    signature: 'PluginFactory &

      PluginFactory::addSearchDir(const fs::path &searchDir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:133,1
    - Dst: getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:133,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:134,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:134,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - runtimeDir
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '&

      PluginFactory::setRuntimeDir(const fs::path &runtimeDir)'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - PluginDbg
    - _dbg_ctl
    - fs::path::c_str
    - getUuid
    linkageType: ''
    returnType: PluginFactory
    signature: 'PluginFactory &

      PluginFactory::setRuntimeDir(const fs::path &runtimeDir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:142,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:142,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - compilerPath
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: '&

      PluginFactory::setCompilerPath(const fs::path &compilerPath)'
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - PluginDbg
    - fs::path::c_str
    - _dbg_ctl
    linkageType: ''
    returnType: PluginFactory
    signature: 'PluginFactory &

      PluginFactory::setCompilerPath(const fs::path &compilerPath)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getString
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: PluginFactory::getUuid
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 2
    functionsReached:
    - getString
    linkageType: ''
    returnType: char
    signature: 'char *

      PluginFactory::getUuid()'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PluginFactory::getEffectivePath
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:166,1
    - Dst: fs::path::empty
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:167,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:168,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:168,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:170,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:170,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:170,1
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:175,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:177,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:177,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:177,1
    - Dst: dynamic_cast<RemapPluginInfo *>
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:182,1
    - Dst: PluginFactory::findByEffectivePath
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:182,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:187,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:187,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:187,1
    - Dst: fs::path::relative_path
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:195,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:198,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:199,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:200,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:205,1
    - Dst: std::string::append
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:207,1
    - Dst: fs::path::parent_path
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:211,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:212,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:212,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:212,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:212,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:214,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:215,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:220,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:220,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:220,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:220,1
    - Dst: RemapPluginInfo::RemapPluginInfo
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:223,1
    - Dst: RemapPluginInfo*::load
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:225,1
    - Dst: RemapPluginInfo*::init
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:226,1
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:227,1
    - Dst: RemapPluginInst::init
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:228,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:231,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:235,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:235,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:235,1
    - Dst: RemapPluginInfo*::unload
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:236,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:242,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:242,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:242,1
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:247,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:247,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:247,1
    - Dst: RemapPluginInst::init
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:248,1
    - Dst: append
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:250,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 5
    argNames:
    - configPath
    - argc
    - argv
    - error
    - dynamicReloadEnabled
    argTypes:
    - fs::path
    - int
    - char**
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 255
    functionName: PluginFactory::getRemapPlugin
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - fs::path::relative_path
    - dynamic_cast<RemapPluginInfo *>
    - fs::path::string
    - std::string::assign
    - RemapPluginInfo*::load
    - _dbg_ctl
    - RemapPluginInfo*::unload
    - PluginFactory::getEffectivePath
    - std::string::append
    - RemapPluginInst::init
    - PluginDso::loadedPlugins
    - append
    - fs::path::empty
    - PluginFactory::findByEffectivePath
    - fs::path::c_str
    - empty
    - std::string::c_str
    - RemapPluginInfo*::init
    - PluginDbg
    - RemapPluginInfo::RemapPluginInfo
    - swoc::SWOC_VERSION_NS::file::create_directories
    - fs::path::parent_path
    linkageType: ''
    returnType: RemapPluginInst
    signature: 'RemapPluginInst *

      PluginFactory::getRemapPlugin(const fs::path &configPath, int argc, char **argv,
      std::string &error, bool dynamicReloadEnabled)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::is_absolute
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:266,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:267,1
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:268,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:270,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:278,1
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - configPath
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 285
    functionName: PluginFactory::getEffectivePath
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - get_yaml_path
    - BaseLogFile::exists
    - fs::path::is_absolute
    - URL::is_port_canonical
    linkageType: ''
    returnType: fs::path
    signature: fs::path PluginFactory::getEffectivePath(const fs::path &configPath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::starts_with
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:294,1
    - Dst: ink_file_is_directory
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:294,1
    - Dst: std::filesystem::directory_iterator
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:295,1
    - Dst: is_directory
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:296,1
    - Dst: path
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:297,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:298,1
    - Dst: std::string::begin
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:298,1
    - Dst: std::string::end
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:298,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:301,1
    - Dst: PluginError
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:307,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: PluginFactory::cleanup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - std::filesystem::directory_iterator
    - count
    - swoc::SWOC_VERSION_NS::file::remove_all
    - what
    - ink_file_is_directory
    - std::string::begin
    - std::string::end
    - is_directory
    - path
    - std::string::starts_with
    - PluginError
    linkageType: ''
    returnType: void
    signature: void PluginFactory::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - dynamicReloadEnabled
    argTypes:
    - fs::path
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: PluginFactory::findByEffectivePath
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 1
    functionsReached:
    - PluginDso::loadedPlugins
    linkageType: ''
    returnType: PluginDso
    signature: 'PluginDso *

      PluginFactory::findByEffectivePath(const fs::path &path, bool dynamicReloadEnabled)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDbg
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:333,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:333,1
    - Dst: PluginFactory::getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:333,1
    - Dst: apply
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:335,1
    - Dst: done
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: PluginFactory::deactivate
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - PluginFactory::getUuid
    - done
    - PluginDbg
    - _dbg_ctl
    - apply
    linkageType: ''
    returnType: void
    signature: void PluginFactory::deactivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:344,1
    - Dst: PluginFactory::getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: PluginFactory::indicatePreReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - PluginFactory::getUuid
    - PluginDso::loadedPlugins
    linkageType: ''
    returnType: void
    signature: void PluginFactory::indicatePreReload()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:359,1
    - Dst: PluginFactory::getUuid
      Src: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reloadSuccessful
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: PluginFactory::indicatePostReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/PluginFactory.cc
    functionUses: 0
    functionsReached:
    - PluginFactory::getUuid
    - PluginDso::loadedPlugins
    linkageType: ''
    returnType: void
    signature: void PluginFactory::indicatePostReload(bool reloadSuccessful)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: UrlMappingPathIndex::~UrlMappingPathIndex()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void UrlMappingPathIndex::~UrlMappingPathIndex()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:45,1
    - Dst: UrlMappingPathIndex::_GetTrie
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:48,1
    - Dst: UrlMappingTrie::UrlMappingTrie
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:51,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:52,1
    - Dst: value_type
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:52,1
    - Dst: UrlMappingPathIndex::UrlMappingTrieKey
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:52,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:53,1
    - Dst: url_mapping*::fromURL::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:56,1
    - Dst: UrlMappingTrie*::Insert
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:57,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:57,1
    - Dst: url_mapping*::getRank
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:57,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:57,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:57,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - mapping
    argTypes:
    - url_mapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: UrlMappingPathIndex::Insert
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::length
    - insert
    - UrlMappingPathIndex::_GetTrie
    - url_mapping*::getRank
    - Error
    - value_type
    - Dbg
    - UrlMappingPathIndex::UrlMappingTrieKey
    - auto::data
    - UrlMappingTrie*::Insert
    - url_mapping*::fromURL::path_get
    - port_get
    - UrlMappingTrie::UrlMappingTrie
    linkageType: ''
    returnType: bool
    signature: bool UrlMappingPathIndex::Insert(url_mapping *mapping)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UrlMappingPathIndex::_GetTrie
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:77,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:81,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:82,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:82,1
    - Dst: UrlMappingTrie*::Search
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:83,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:84,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - request_url
    - request_port
    - normal_search
    argTypes:
    - URL*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: UrlMappingPathIndex::Search
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - UrlMappingTrie*::Search
    - UrlMappingPathIndex::_GetTrie
    - std::string_view::length
    - Dbg
    - std::string_view::data
    - URL*::path_get
    linkageType: ''
    returnType: url_mapping
    signature: 'url_mapping *

      UrlMappingPathIndex::Search(URL *request_url, int request_port, bool normal_search
      /* = true */) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::Print
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: UrlMappingPathIndex::Print
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc
    functionUses: 0
    functionsReached:
    - second::Print
    linkageType: ''
    returnType: void
    signature: void UrlMappingPathIndex::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintRemapHitCount
      Src: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: UrlMappingPathIndex::PrintUrlMappingPathIndex
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMappingPathIndex.cc
    functionUses: 0
    functionsReached:
    - PrintRemapHitCount
    linkageType: ''
    returnType: std::string
    signature: std::string UrlMappingPathIndex::PrintUrlMappingPathIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:64,1
    - Dst: strstr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:69,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - toWhack
    - origLength
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: UrlWhack
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - strstr
    linkageType: ''
    returnType: int
    signature: int UrlWhack(char *toWhack, int *origLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:88,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - vsize
    argTypes:
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: clear_xstr_array
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - ats_free_null
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void clear_xstr_array(char *v[], size_t vsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:95,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: BUILD_TABLE_INFO::BUILD_TABLE_INFO
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void BUILD_TABLE_INFO::BUILD_TABLE_INFO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_TABLE_INFO::reset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: BUILD_TABLE_INFO::~BUILD_TABLE_INFO()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - BUILD_TABLE_INFO::reset
    linkageType: ''
    returnType: void
    signature: void BUILD_TABLE_INFO::~BUILD_TABLE_INFO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_xstr_array
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:108,1
    - Dst: clear_xstr_array
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: BUILD_TABLE_INFO::reset
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 1
    functionsReached:
    - clear_xstr_array
    linkageType: ''
    returnType: void
    signature: void BUILD_TABLE_INFO::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: BUILD_TABLE_INFO::clear_acl_rules_list
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BUILD_TABLE_INFO::clear_acl_rules_list()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:130,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:139,1
    - Dst: remap_validate_filter_args
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:151,1
    - Dst: remap_validate_filter_args
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:156,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - mp
    - bti
    - errStrBuf
    - errStrBufSize
    argTypes:
    - url_mapping*
    - BUILD_TABLE_INFO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 176
    functionName: process_filter_opt
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - unlikely
    - remap_validate_filter_args
    linkageType: ''
    returnType: char
    signature: 'char *

      process_filter_opt(url_mapping *mp, const BUILD_TABLE_INFO *bti, char *errStrBuf,
      int errStrBufSize)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:183,1
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:187,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:189,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:191,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:192,1
    - Dst: va_arg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:196,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: is_inkeylist
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - strcasecmp
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool is_inkeylist(const char *key, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:211,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:212,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:216,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:217,1
    - Dst: acl_filter_rule::find_byname
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:221,1
    - Dst: remap_validate_filter_args
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:226,1
    - Dst: name
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:230,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:232,1
    - Dst: acl_filter_rule*::add_argv
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - directive
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 237
    functionName: parse_define_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - acl_filter_rule::find_byname
    - snprintf
    - name
    - remap_validate_filter_args
    - acl_filter_rule*::add_argv
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_define_directive(const char *directive, BUILD_TABLE_INFO *bti, char *errbuf,
      size_t errbufsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:243,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:244,1
    - Dst: acl_filter_rule::delete_byname
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - directive
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: parse_delete_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - snprintf
    - acl_filter_rule::delete_byname
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_delete_directive(const char *directive, BUILD_TABLE_INFO *bti, char *errbuf,
      size_t errbufsize)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:258,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:259,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:264,1
    - Dst: acl_filter_rule::find_byname
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:269,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:270,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:271,1
    - Dst: acl_filter_rule::requeue_in_active_list
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - directive
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: parse_activate_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - acl_filter_rule::requeue_in_active_list
    - Dbg
    - acl_filter_rule::find_byname
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_activate_directive(const char *directive, BUILD_TABLE_INFO *bti, char
      *errbuf, size_t errbufsize)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:286,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:291,1
    - Dst: acl_filter_rule::find_byname
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:296,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:297,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:298,1
    - Dst: acl_filter_rule::requeue_in_passive_list
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - directive
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: parse_deactivate_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - acl_filter_rule::requeue_in_passive_list
    - Dbg
    - acl_filter_rule::find_byname
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_deactivate_directive(const char *directive, BUILD_TABLE_INFO *bti, char
      *errbuf, size_t errbufsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:310,1
    - Dst: free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n_entries
    - entrylist
    argTypes:
    - int
    - struct dirent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: free_directory_list
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_directory_list(int n_entries, struct dirent **entrylist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_TABLE_INFO::BUILD_TABLE_INFO
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:322,1
    - Dst: access
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:325,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:326,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:326,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:333,1
    - Dst: remap_parse_config_bti
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:334,1
    - Dst: load_remap_file_cb
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:342,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - path
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 349
    functionName: parse_remap_fragment
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - access
    - BUILD_TABLE_INFO::BUILD_TABLE_INFO
    - Dbg
    - load_remap_file_cb
    - snprintf
    - remap_parse_config_bti
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_remap_fragment(const char *path, BUILD_TABLE_INFO *bti, char *errbuf,
      size_t errbufsize)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:355,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:356,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:360,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:361,1
    - Dst: RecConfigReadConfigPath
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:365,1
    - Dst: ink_file_is_directory
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:367,1
    - Dst: scandir
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:371,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:373,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:373,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:373,1
    - Dst: ats_scoped_str::ats_scoped_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:378,1
    - Dst: isdot
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:380,1
    - Dst: isdotdot
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:380,1
    - Dst: Layout::relative_to
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:384,1
    - Dst: ats_scoped_str::get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:384,1
    - Dst: ink_file_is_directory
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:386,1
    - Dst: parse_remap_fragment
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:390,1
    - Dst: free_directory_list
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:396,1
    - Dst: parse_remap_fragment
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:399,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - directive
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 408
    functionName: parse_include_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadConfigPath
    - ats_scoped_str::ats_scoped_str
    - ats_scoped_str::get
    - parse_remap_fragment
    - scandir
    - ink_file_is_directory
    - Dbg
    - free_directory_list
    - snprintf
    - static_cast<unsigned>
    - isdot
    - Layout::relative_to
    - strerror
    - isdotdot
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_include_directive(const char *directive, BUILD_TABLE_INFO *bti, char *errbuf,
      size_t errbufsize)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:445,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:446,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:450,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:451,1
    - Dst: parser
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:452,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:456,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bti
    - errbuf
    - errbufsize
    argTypes:
    - BUILD_TABLE_INFO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 459
    functionName: remap_parse_directive
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - countof
    - Dbg
    - snprintf
    - unlikely
    - parser
    linkageType: ''
    returnType: char
    signature: 'char *

      remap_parse_directive(BUILD_TABLE_INFO *bti, char *errbuf, size_t errbufsize)'
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:470,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:474,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:475,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:477,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:479,1
    - Dst: acl_filter_rule::acl_filter_rule
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:483,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:484,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:485,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:489,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:498,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:499,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:500,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:513,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:514,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:526,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:526,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:531,1
    - Dst: acl_filter_rule*::nonstandard_methods::insert
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:532,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:539,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:540,1
    - Dst: ats_ip_range_parse
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:555,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:556,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:557,1
    - Dst: src_ip_info_t*::reset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:567,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:580,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:581,1
    - Dst: src_ip_category_info_t*::category::assign
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:590,1
    - Dst: src_ip_category_info_t*::reset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:596,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:609,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:610,1
    - Dst: ats_ip_range_parse
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:626,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:627,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:628,1
    - Dst: src_ip_info_t*::reset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:638,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:652,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:652,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:653,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:653,1
    - Dst: is_inkeylist
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:666,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:670,1
    - Dst: is_inkeylist
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:680,1
    - Dst: is_inkeylist
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:686,1
    - Dst: is_inkeylist
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:689,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:692,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:693,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:708,1
    - Dst: acl_filter_rule*::print
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:709,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 209
    argCount: 6
    argNames:
    - rule_pp
    - argv
    - argc
    - errStrBuf
    - errStrBufSize
    - behavior_policy
    argTypes:
    - acl_filter_rule**
    - char**
    - int
    - char*
    - size_t
    - ACLBehaviorPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 713
    functionName: remap_validate_filter_args
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 2
    functionsReached:
    - acl_filter_rule::acl_filter_rule
    - remap_check_option
    - 'on'
    - is_inkeylist
    - acl_filter_rule*::nonstandard_methods::insert
    - src_ip_info_t*::reset
    - printf
    - src_ip_category_info_t*::reset
    - Dbg
    - src_ip_category_info_t*::category::assign
    - snprintf
    - strlen
    - acl_filter_rule*::print
    - ats_ip_range_parse
    - unlikely
    - hdrtoken_tokenize
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: "char *\nremap_validate_filter_args(acl_filter_rule **rule_pp, const
      char *const *argv, int argc, char *errStrBuf, size_t errStrBufSize,\n                           ACLBehaviorPolicy
      behavior_policy)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:726,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:731,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:739,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:747,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:755,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:763,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:771,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:779,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:787,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:795,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:803,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:811,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:819,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:824,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:833,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 140
    argCount: 5
    argNames:
    - argv
    - argc
    - findmode
    - _ret_idx
    - argptr
    argTypes:
    - char**
    - int
    - unsigned long
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 848
    functionName: remap_check_option
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 1
    functionsReached:
    - Warning
    - strncasecmp
    - strcasecmp
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long remap_check_option(const char *const *argv, int argc,
      unsigned long findmode, int *_ret_idx, const char **argptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:871,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:872,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:874,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:874,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:874,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:884,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:888,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:888,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:889,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:894,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:894,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:895,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:899,1
    - Dst: url_mapping*::fromURL::string_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:902,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:903,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:906,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:907,1
    - Dst: url_mapping*::toURL::string_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:909,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:910,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:913,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:914,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:918,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:918,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:919,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:924,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:928,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:929,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:933,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:935,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:938,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:940,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:947,1
    - Dst: UrlRewrite*::pluginFactory::getRemapPlugin
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:950,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:950,1
    - Dst: const_cast<const char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:950,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:951,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:956,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:956,1
    - Dst: url_mapping*::add_plugin_instance
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:959,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:962,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:963,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 8
    argNames:
    - argv
    - argc
    - mp
    - errbuf
    - errbufsize
    - jump_to_argc
    - plugin_found_at
    - rewrite
    argTypes:
    - char**
    - int
    - url_mapping*
    - char*
    - int
    - int
    - int*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 860
    functionDepth: 6
    functionLinenumber: 860
    functionLinenumberEnd: 966
    functionName: remap_load_plugin
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - isPluginDynamicReloadEnabled
    - strchr
    - snprintf
    - static_cast<unsigned>
    - url_mapping*::fromURL::string_get
    - RecGetRecordInt
    - remap_check_option
    - ats_free
    - url_mapping*::add_plugin_instance
    - unlikely
    - countof
    - std::string::c_str
    - static_cast<int>
    - strncasecmp
    - ats_strdup
    - Dbg
    - UrlRewrite*::pluginFactory::getRemapPlugin
    - ink_assert
    - memset
    - const_cast<const char *>
    - const_cast<char *>
    - url_mapping*::toURL::string_get
    linkageType: ''
    returnType: bool
    signature: "bool remap_load_plugin(const char *const *argv, int argc, url_mapping
      *mp, char *errbuf, int errbufsize, int jump_to_argc,\n                  int
      *plugin_found_at, UrlRewrite *rewrite)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::RegexMapping*::regular_expression::compile
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:987,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:988,1
    - Dst: UrlRewrite::RegexMapping*::regular_expression::get_capture_count
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:992,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:994,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:998,1
    - Dst: url_mapping*::toURL::host_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1003,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1004,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1004,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1009,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1022,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1022,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1023,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1023,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1028,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - from_host_lower
    - new_mapping
    - reg_map
    argTypes:
    - char*
    - url_mapping*
    - UrlRewrite::RegexMapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1033
    functionName: process_regex_mapping_config
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcpy
    - Warning
    - ats_free
    - UrlRewrite::RegexMapping*::regular_expression::get_capture_count
    - UrlRewrite::RegexMapping*::regular_expression::compile
    - std::string_view::length
    - static_cast<char *>
    - ats_malloc
    - url_mapping*::toURL::host_get
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool process_regex_mapping_config(const char *from_host_lower, url_mapping
      *new_mapping, UrlRewrite::RegexMapping *reg_map)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1070,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1071,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1074,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1075,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1075,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1075,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1079,1
    - Dst: UrlRewrite::get_acl_behavior_policy
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1082,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1083,1
    - Dst: tokLine
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1088,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1088,1
    - Dst: BUILD_TABLE_INFO*::reset
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1092,1
    - Dst: isascii
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1095,1
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1095,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1099,1
    - Dst: tokLine
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1100,1
    - Dst: isascii
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1107,1
    - Dst: isspace
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1107,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1112,1
    - Dst: tokLine
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1113,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1118,1
    - Dst: Tokenizer::Initialize
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1120,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1123,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1124,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1125,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1128,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1134,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1139,1
    - Dst: remap_parse_directive
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1143,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1144,1
    - Dst: tokLine
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1149,1
    - Dst: strncasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1154,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1158,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1159,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1161,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1162,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1167,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1168,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1170,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1171,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1173,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1174,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1176,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1177,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1180,1
    - Dst: url_mapping::url_mapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1185,1
    - Dst: process_filter_opt
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1188,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1199,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1201,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1201,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1202,1
    - Dst: atoi
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1202,1
    - Dst: UrlWhack
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1207,1
    - Dst: url_mapping*::fromURL::create
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1218,1
    - Dst: url_mapping*::fromURL::parse_regex
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1219,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1224,1
    - Dst: UrlWhack
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1230,1
    - Dst: url_mapping*::toURL::create
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1234,1
    - Dst: url_mapping*::toURL::parse_no_host_check
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1235,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1235,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1239,1
    - Dst: url_mapping*::fromURL::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1244,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1247,1
    - Dst: url_mapping*::fromURL::scheme_set
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1248,1
    - Dst: url_mapping*::fromURL::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1249,1
    - Dst: url_mapping*::toURL::scheme_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1252,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1276,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1277,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1277,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1278,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1278,1
    - Dst: redirect_tag_str::parse_format_redirect_url
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1281,1
    - Dst: referer_info::referer_info
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1287,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1289,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1291,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1312,1
    - Dst: url_mapping*::fromURL::host_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1317,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1318,1
    - Dst: url_mapping*::toURL::host_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1333,1
    - Dst: empty
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1334,1
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1347,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1347,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1348,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1348,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1348,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1353,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1353,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1353,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1354,1
    - Dst: LowerCaseStr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1355,1
    - Dst: url_mapping*::fromURL::host_set
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1358,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1358,1
    - Dst: UrlRewrite::RegexMapping::RegexMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1362,1
    - Dst: process_regex_mapping_config
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1363,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1367,1
    - Dst: getaddrinfo
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1383,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1385,1
    - Dst: ats_is_ip_any
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1385,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1388,1
    - Dst: url_mapping::url_mapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1389,1
    - Dst: url_mapping*::fromURL::create
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1390,1
    - Dst: url_mapping*::fromURL::copy
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1391,1
    - Dst: url_mapping*::fromURL::host_set
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1392,1
    - Dst: url_mapping*::toURL::create
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1393,1
    - Dst: url_mapping*::toURL::copy
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1394,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1397,1
    - Dst: BUILD_TABLE_INFO*::rewrite::InsertForwardMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1400,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1402,1
    - Dst: freeaddrinfo
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1408,1
    - Dst: strchr
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1416,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1416,1
    - Dst: BUILD_TABLE_INFO*::rewrite::strategyFactory::strategyInstance
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1422,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1424,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1428,1
    - Dst: remap_check_option
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1436,1
    - Dst: remap_load_plugin
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1441,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1443,1
    - Dst: remap_load_plugin
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1450,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1452,1
    - Dst: BUILD_TABLE_INFO*::rewrite::InsertMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1461,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1466,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1466,1
    - Dst: tokLine
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1468,1
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1475,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1476,1
    - Dst: IpAllow::enableAcceptCheck
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1483,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 311
    argCount: 2
    argNames:
    - path
    - bti
    argTypes:
    - char*
    - BUILD_TABLE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1035
    functionDepth: 7
    functionLinenumber: 1035
    functionLinenumberEnd: 1485
    functionName: remap_parse_config_bti
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 1
    functionsReached:
    - url_mapping*::toURL::scheme_get
    - memcpy
    - url_mapping*::fromURL::parse_regex
    - IpAllow::enableAcceptCheck
    - url_mapping::url_mapping
    - std::string::data
    - process_regex_mapping_config
    - strchr
    - snprintf
    - isascii
    - strerror
    - std::string_view::data
    - swoc::SWOC_VERSION_NS::file::load
    - url_mapping*::fromURL::create
    - BUILD_TABLE_INFO*::rewrite::strategyFactory::strategyInstance
    - remap_check_option
    - redirect_tag_str::parse_format_redirect_url
    - ats_free_null
    - url_mapping*::toURL::copy
    - isspace
    - std::string_view::length
    - ats_is_ip_any
    - static_cast<char *>
    - ats_ip_ntop
    - UrlRewrite::get_acl_behavior_policy
    - std::error_code::value
    - strcasecmp
    - url_mapping*::toURL::host_get
    - freeaddrinfo
    - empty
    - unlikely
    - BUILD_TABLE_INFO*::rewrite::InsertForwardMapping
    - remap_load_plugin
    - ats_is_ip
    - static_cast<int>
    - Warning
    - process_filter_opt
    - url_mapping*::fromURL::copy
    - UrlRewrite::RegexMapping::RegexMapping
    - strncasecmp
    - static_cast<unsigned int>
    - url_mapping*::fromURL::scheme_get
    - getaddrinfo
    - UrlWhack
    - Error
    - ats_strdup
    - atoi
    - Dbg
    - url_mapping*::toURL::create
    - url_mapping*::fromURL::host_get
    - strlen
    - url_mapping*::fromURL::scheme_set
    - remap_parse_directive
    - Tokenizer::Initialize
    - std::string_view
    - referer_info::referer_info
    - BUILD_TABLE_INFO*::reset
    - tokLine
    - url_mapping*::fromURL::host_set
    - const_cast<char *>
    - url_mapping*::toURL::parse_no_host_check
    - std::string_view::empty
    - ats_malloc
    - LowerCaseStr
    - BUILD_TABLE_INFO*::rewrite::InsertMapping
    linkageType: ''
    returnType: bool
    signature: bool remap_parse_config_bti(const char *path, BUILD_TABLE_INFO *bti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_TABLE_INFO::BUILD_TABLE_INFO
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1490,1
    - Dst: UrlRewrite*::pluginFactory::indicatePreReload
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1494,1
    - Dst: remap_parse_config_bti
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1497,1
    - Dst: UrlRewrite*::pluginFactory::indicatePostReload
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1501,1
    - Dst: BUILD_TABLE_INFO::clear_acl_rules_list
      Src: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - path
    - rewrite
    argTypes:
    - char*
    - UrlRewrite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1487
    functionDepth: 8
    functionLinenumber: 1487
    functionLinenumberEnd: 1506
    functionName: remap_parse_config
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapConfig.cc
    functionUses: 1
    functionsReached:
    - BUILD_TABLE_INFO::BUILD_TABLE_INFO
    - BUILD_TABLE_INFO::clear_acl_rules_list
    - UrlRewrite*::pluginFactory::indicatePreReload
    - UrlRewrite*::pluginFactory::indicatePostReload
    - remap_parse_config_bti
    linkageType: ''
    returnType: bool
    signature: bool remap_parse_config(const char *path, UrlRewrite *rewrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - RemapPluginInst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: url_mapping::add_plugin_instance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool url_mapping::add_plugin_instance(RemapPluginInst *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:52,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:52,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: url_mapping::get_plugin_instance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - size
    linkageType: ''
    returnType: RemapPluginInst
    signature: 'RemapPluginInst *

      url_mapping::get_plugin_instance(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:68,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:68,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:69,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:69,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:88,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: url_mapping::~url_mapping()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - ats_free_null
    - destroy
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void url_mapping::~url_mapping()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_get_buf
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:97,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:97,1
    - Dst: string_get_buf
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:98,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:98,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:99,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:100,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: url_mapping::Print
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - string_get_buf
    - printf
    - size
    linkageType: ''
    returnType: void
    signature: void url_mapping::Print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: url_mapping::PrintRemapHitCount
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string url_mapping::PrintRemapHitCount() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:126,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:126,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:126,1
    - Dst: redirect_tag_str::redirect_tag_str
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:135,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:136,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:140,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 154
    functionName: redirect_tag_str::parse_format_redirect_url
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - likely
    - redirect_tag_str::redirect_tag_str
    - tolower
    - static_cast<char>
    - ats_strdup
    linkageType: ''
    returnType: redirect_tag_str
    signature: 'redirect_tag_str *

      redirect_tag_str::parse_format_redirect_url(char *url)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:173,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:174,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:175,1
    - Dst: compile
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:178,1
    - Dst: ink_strlcpy
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:181,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - _ref
    - error_flag
    - errmsgbuf
    - errmsgbuf_size
    argTypes:
    - char*
    - bool*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: referer_info::referer_info
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - compile
    - ink_strlcpy
    - ats_strdup
    - strlen
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void referer_info::referer_info(const char *_ref, bool *error_flag,
      char *errmsgbuf, int errmsgbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: referer_info::~referer_info()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/UrlMapping.cc
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void referer_info::~referer_info()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:38,1
    - Dst: url_map::getFromURL
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:42,1
    - Dst: url_map::getToURL
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:43,1
    - Dst: reinterpret_cast<TSMBuffer>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:47,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:48,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:51,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:52,1
    - Dst: reinterpret_cast<TSMLoc>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:53,1
    - Dst: HttpTransact::milestone_start_api_time
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:62,1
    - Dst: RemapPluginInst*::doRemap
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:63,1
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:63,1
    - Dst: HttpTransact::milestone_update_api_time
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:64,1
    - Dst: string_get
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - RemapPluginInst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: RemapPlugins::run_plugin
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc
    functionUses: 0
    functionsReached:
    - url_map::getToURL
    - reinterpret_cast<TSHttpTxn>
    - reinterpret_cast<TSMBuffer>
    - HttpTransact::milestone_start_api_time
    - RemapPluginInst*::doRemap
    - HttpTransact::milestone_update_api_time
    - url_map::getFromURL
    - string_get
    - reinterpret_cast<TSMLoc>
    - ink_assert
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus RemapPlugins::run_plugin(RemapPluginInst *plugin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: url_map::getMapping
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:91,1
    - Dst: url_mapping*::get_plugin_instance
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:102,1
    - Dst: url_rewrite_remap_request
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:103,1
    - Dst: hdr_info::client_request::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:103,1
    - Dst: RemapPlugins::run_plugin
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:121,1
    - Dst: url_mapping*::plugin_instance_count
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 130
    functionName: RemapPlugins::run_single_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/RemapPlugins.cc
    functionUses: 1
    functionsReached:
    - url_mapping*::get_plugin_instance
    - Dbg
    - url_map::getMapping
    - url_rewrite_remap_request
    - RemapPlugins::run_plugin
    - hdr_info::client_request::method_get_wksidx
    - url_mapping*::plugin_instance_count
    linkageType: ''
    returnType: bool
    signature: bool RemapPlugins::run_single_remap()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:49,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:50,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:50,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:58,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:64,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:64,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:64,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:70,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:75,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:80,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:84,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:88,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:92,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:100,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:109,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:110,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:110,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:114,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:114,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:115,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:115,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:119,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:122,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:126,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:129,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:130,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:131,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:134,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:136,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:138,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:138,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:141,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:144,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:147,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:148,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:149,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:152,1
    - Dst: add
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:154,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:156,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:156,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:159,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:162,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:165,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:166,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:167,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:169,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:169,1
    - Dst: auto::as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:170,1
    - Dst: auto::compare
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:171,1
    - Dst: auto::compare
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:174,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:180,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:187,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:188,1
    - Dst: Machine::instance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:190,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:191,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:192,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:194,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:195,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:198,1
    - Dst: reserve
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:201,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:207,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:208,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:213,1
    - Dst: std::make_shared<HostRecord>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:214,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:214,1
    - Dst: Machine*::is_self
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:217,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:217,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:219,1
    - Dst: HostStatus::setHostStatus
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:222,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:226,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:226,1
    - Dst: insert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:229,1
    - Dst: push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:230,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:230,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:235,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:236,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:239,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:239,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:246,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:246,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:250,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:251,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:255,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:255,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 156
    argCount: 3
    argNames:
    - name
    - policy
    - n
    argTypes:
    - std::string_view
    - NHPolicyType
    - ts::Yaml::Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 259
    functionName: NextHopSelectionStrategy::NextHopSelectionStrategy
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - auto::compare
    - insert
    - YAML::Node::Scalar
    - std::string
    - HostStatus::setHostStatus
    - YAML::Node::begin
    - as
    - auto::c_str
    - YAML::Node::Node
    - YAML::Node::size
    - what
    - Scalar
    - std::string::empty
    - std::shared_ptr::hostname::c_str
    - YAML::Node::end
    - reserve
    - NH_Error
    - std::make_shared<HostRecord>
    - add
    - data
    - std::move
    - std::string::c_str
    - static_cast<int>
    - ts::Yaml::Map::done
    - std::vector::push_back
    - Machine*::is_self
    - NH_Note
    - push_back
    - NH_Dbg
    - YAML::Node::Type
    - sort
    - std::invalid_argument
    - Machine::instance
    - auto::as
    - RegexContext::get_instance
    - c_str
    linkageType: ''
    returnType: void
    signature: void NextHopSelectionStrategy::NextHopSelectionStrategy(const std::string_view
      &name, const NHPolicyType &policy, ts::Yaml::Map &n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextHopSelectionStrategy::markNextHop
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - txnp
    - hostname
    - port
    - status
    - ih
    - now
    argTypes:
    - TSHttpTxn
    - char*
    - int
    - NHCmd
    - void*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: NextHopSelectionStrategy::markNextHop
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 1
    functionsReached:
    - NextHopSelectionStrategy::markNextHop
    linkageType: ''
    returnType: void
    signature: "void NextHopSelectionStrategy::markNextHop(TSHttpTxn txnp, const char
      *hostname, const int port, const NHCmd status, void *ih,\n                                      const
      time_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:272,1
    - Dst: HttpSM*::t_state::hdr_info::client_request::value_set
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:273,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:273,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - txnp
    - hostname
    argTypes:
    - TSHttpTxn
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: NextHopSelectionStrategy::setHostHeader
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<HttpSM *>
    - HttpSM*::t_state::hdr_info::client_request::value_set
    - static_cast<std::string_view>
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopSelectionStrategy::setHostHeader(TSHttpTxn txnp, const
      char *hostname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:281,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:286,1
    - Dst: HostRecord*::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:287,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:288,1
    - Dst: HostRecord*::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: NextHopSelectionStrategy::nextHopExists
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - get
    - HostRecord*::hostname::c_str
    - HostRecord*::available::load
    - reinterpret_cast<HttpSM *>
    - NH_Dbg
    linkageType: ''
    returnType: bool
    signature: bool NextHopSelectionStrategy::nextHopExists(TSHttpTxn txnp, void *
      /* ih ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:305,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:308,1
    - Dst: NextHopSelectionStrategy::resp_codes::contains
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:309,1
    - Dst: static_cast<short>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:309,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:310,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:311,1
    - Dst: NextHopSelectionStrategy::markdown_codes::contains
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:314,1
    - Dst: static_cast<short>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:314,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:316,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:317,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:320,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - sm_id
    - current_info
    - response_code
    argTypes:
    - int64_t
    - HttpTransact::CurrentInfo
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 323
    functionName: NextHopSelectionStrategy::responseIsRetryable
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<short>
    - NextHopSelectionStrategy::markdown_codes::contains
    - NextHopSelectionStrategy::resp_codes::contains
    - NH_Dbg
    linkageType: ''
    returnType: ParentRetry_t
    signature: ParentRetry_t NextHopSelectionStrategy::responseIsRetryable(int64_t
      sm_id, HttpTransact::CurrentInfo &current_info, HTTPStatus response_code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:338,1
    - Dst: std::optional::value
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:339,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:344,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:346,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:352,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:353,1
    - Dst: std::make_shared<NHProtocol>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:357,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:357,1
    - Dst: HostRecordCfg::protocols::push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:358,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:358,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:373,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:375,1
    - Dst: HostRecordCfg::hostname::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:375,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:382,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:385,1
    - Dst: ts::Yaml::Map*::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - nh
    argTypes:
    - Node
    - HostRecordCfg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 391
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - ts::Yaml::Map::done
    - YAML::Node::Scalar
    - std::optional::emplace
    - Scalar
    - std::invalid_argument
    - YAML::Node::as
    - std::move
    - NH_Note
    - std::optional::value
    - std::make_shared<NHProtocol>
    - HostRecordCfg::hostname::data
    - HostRecordCfg::protocols::push_back
    - ts::Yaml::Map*::done
    - YAML::Node::Type
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, HostRecordCfg &nh)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:402,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:408,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:408,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:412,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:414,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:414,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:418,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:418,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:422,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - node
    - nh
    argTypes:
    - Node
    - NHProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ts::Yaml::Map::done
    - Scalar
    - NH_Note
    - YAML::Mark
    - YAML::Scanner::ThrowParserException
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, NHProtocol &nh)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::optional::emplace
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:338,1
    - Dst: std::optional::value
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:339,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:344,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:346,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:352,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:353,1
    - Dst: std::make_shared<NHProtocol>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:357,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:357,1
    - Dst: HostRecordCfg::protocols::push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:358,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:358,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:373,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:375,1
    - Dst: HostRecordCfg::hostname::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:375,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:382,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:385,1
    - Dst: ts::Yaml::Map*::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - node
    - nh
    argTypes:
    - Node
    - HostRecordCfg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 391
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - ts::Yaml::Map::done
    - YAML::Node::Scalar
    - std::optional::emplace
    - Scalar
    - std::invalid_argument
    - YAML::Node::as
    - std::move
    - NH_Note
    - std::optional::value
    - std::make_shared<NHProtocol>
    - HostRecordCfg::hostname::data
    - HostRecordCfg::protocols::push_back
    - ts::Yaml::Map*::done
    - YAML::Node::Type
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, HostRecordCfg &nh)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:402,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:408,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:408,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:412,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:414,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:414,1
    - Dst: YAML::Scanner::ThrowParserException
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:418,1
    - Dst: YAML::Mark
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:418,1
    - Dst: Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:422,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - node
    - nh
    argTypes:
    - Node
    - NHProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopSelectionStrategy.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ts::Yaml::Map::done
    - Scalar
    - NH_Note
    - YAML::Mark
    - YAML::Scanner::ThrowParserException
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, NHProtocol &nh)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:36,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:37,1
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:50,1
    - Dst: find_last_of
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:50,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:52,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:55,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:55,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:58,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:58,1
    - Dst: NextHopStrategyFactory::loadConfigFile
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:64,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:64,1
    - Dst: YAML::Load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:66,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:67,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:68,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:72,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:73,1
    - Dst: as
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:81,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:84,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:84,1
    - Dst: auto::Scalar
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:87,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:102,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:102,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:103,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:105,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:105,1
    - Dst: NextHopStrategyFactory::createStrategy
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:106,1
    - Dst: ts::Yaml::Map::done
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:107,1
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:111,1
    - Dst: what
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:111,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:118,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:120,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 122
    functionName: NextHopStrategyFactory::NextHopStrategyFactory
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc
    functionUses: 1
    functionsReached:
    - find_last_of
    - stat
    - YAML::Load
    - as
    - auto::c_str
    - YAML::Node::Node
    - YAML::Node::IsNull
    - what
    - NH_Error
    - ts::Yaml::Map::done
    - Error
    - NH_Note
    - NextHopStrategyFactory::createStrategy
    - std::string_view
    - auto::Scalar
    - NH_Dbg
    - YAML::Node::Type
    - NextHopStrategyFactory::loadConfigFile
    - c_str
    linkageType: ''
    returnType: void
    signature: void NextHopStrategyFactory::NextHopStrategyFactory(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: NextHopStrategyFactory::~NextHopStrategyFactory()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc
    functionUses: 0
    functionsReached:
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopStrategyFactory::~NextHopStrategyFactory()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NextHopStrategyFactory::strategyInstance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:136,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:136,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:138,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:138,1
    - Dst: ts::Yaml::Map::bad
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:139,1
    - Dst: std::make_shared<NextHopRoundRobin>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:149,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:150,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:150,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:150,1
    - Dst: std::make_shared<NextHopConsistentHash>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:153,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:154,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:154,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:154,1
    - Dst: std::shared_ptr::reset
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - name
    - policy_type
    - node
    argTypes:
    - std::string
    - NHPolicyType
    - ts::Yaml::Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: NextHopStrategyFactory::createStrategy
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc
    functionUses: 1
    functionsReached:
    - std::make_shared<NextHopConsistentHash>
    - std::string::data
    - ts::Yaml::Map::bad
    - std::make_pair
    - std::make_shared<NextHopRoundRobin>
    - NH_Note
    - emplace
    - std::string
    - std::shared_ptr::reset
    - NextHopStrategyFactory::strategyInstance
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void NextHopStrategyFactory::createStrategy(const std::string &name,
      const NHPolicyType policy_type, ts::Yaml::Map &node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NH_Error
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:170,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:170,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:173,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:174,1
    - Dst: std::distance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:179,1
    - Dst: begin
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: NextHopStrategyFactory::strategyInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc
    functionUses: 1
    functionsReached:
    - begin
    - std::distance
    - find
    - end
    - c_str
    - NH_Error
    linkageType: ''
    returnType: std::shared_ptr<NextHopSelectionStrategy>
    signature: std::shared_ptr<NextHopSelectionStrategy> NextHopStrategyFactory::strategyInstance(const
      char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:201,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:201,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:202,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:203,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:208,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:213,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:213,1
    - Dst: opendir
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:214,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:214,1
    - Dst: strerror
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:215,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:216,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:218,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:220,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:224,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:224,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:224,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:225,1
    - Dst: sort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:229,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:229,1
    - Dst: std::vector::end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:229,1
    - Dst: compare
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:230,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:233,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:234,1
    - Dst: std::getline
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:235,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:241,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:243,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:243,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:247,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:250,1
    - Dst: std::getline
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:251,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:253,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:253,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:253,1
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:254,1
    - Dst: strtok_r
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:255,1
    - Dst: std::unordered_set<std::string>::find
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:256,1
    - Dst: std::unordered_set<std::string>::end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:256,1
    - Dst: std::unordered_set<std::string>::insert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:257,1
    - Dst: NextHopStrategyFactory::loadConfigFile
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:260,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:262,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:270,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc:272,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - fileName
    - doc
    - include_once
    argTypes:
    - std::string
    - std::stringstream
    - std::unordered_set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 275
    functionName: NextHopStrategyFactory::loadConfigFile
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopStrategyFactory.cc
    functionUses: 2
    functionsReached:
    - S_ISDIR
    - stat
    - strerror
    - std::vector::end
    - std::vector::begin
    - strtok_r
    - std::string_view::size
    - std::unordered_set<std::string>::end
    - std::ifstream::close
    - std::getline
    - std::unordered_set<std::string>::insert
    - data
    - std::string::c_str
    - strcmp
    - closedir
    - std::vector::push_back
    - compare
    - NH_Note
    - std::string_view::find
    - strlen
    - std::ifstream::is_open
    - std::invalid_argument
    - sort
    - std::unordered_set<std::string>::find
    - const_cast<char *>
    - NextHopStrategyFactory::loadConfigFile
    - opendir
    - readdir
    linkageType: ''
    returnType: void
    signature: "void NextHopStrategyFactory::loadConfigFile(const std::string &fileName,
      std::stringstream &doc,\n                                       std::unordered_set<std::string>
      &include_once)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:32,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: NextHopRoundRobin::~NextHopRoundRobin()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc
    functionUses: 0
    functionsReached:
    - c_str
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopRoundRobin::~NextHopRoundRobin()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:38,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:52,1
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:56,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:66,1
    - Dst: HttpRequestData::get_client_ip
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:81,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:82,1
    - Dst: ats_ip_hash
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:82,1
    - Dst: HttpRequestData::get_client_ip
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:82,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:92,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:96,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:98,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:105,1
    - Dst: HostStatus::getHostStatus
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:124,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:124,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:134,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:137,1
    - Dst: std::shared_ptr::failCount::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:137,1
    - Dst: std::shared_ptr::failCount::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:140,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:141,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:142,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:145,1
    - Dst: std::shared_ptr::failCount::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:145,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:150,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:155,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:155,1
    - Dst: getPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:156,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:161,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:162,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:166,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:166,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:168,1
    - Dst: std::shared_ptr::getPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:169,1
    - Dst: setHostHeader
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:173,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:174,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:175,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:176,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:189,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:210,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc:212,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 130
    argCount: 2
    argNames:
    - txnp
    - now
    argTypes:
    - TSHttpTxn
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 224
    functionName: NextHopRoundRobin::findNextHop
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopRoundRobin.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - setHostHeader
    - getPort
    - HostStatus::getHostStatus
    - static_cast<unsigned int>
    - std::shared_ptr::failCount::load
    - std::shared_ptr::getPort
    - std::shared_ptr::available::load
    - ink_assert
    - RegexContext::get_instance
    - ats_ip_hash
    - reinterpret_cast<HttpSM *>
    - std::shared_ptr::hostname::c_str
    - time
    - size
    - HttpRequestData::get_client_ip
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void NextHopRoundRobin::findNextHop(TSHttpTxn txnp, void * /* ih ATS_UNUSED
      */, time_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: protocols::begin
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:34,1
    - Dst: protocols::end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:34,1
    - Dst: getHostPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:35,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:36,1
    - Dst: std::make_pair
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:36,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:37,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - std::vector<std::shared_ptr<HostRecord>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: NextHopHealthStatus::insert
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::make_pair
    - emplace
    - NH_Dbg
    - getHostPort
    - protocols::begin
    - protocols::end
    linkageType: ''
    returnType: void
    signature: void NextHopHealthStatus::insert(std::vector<std::shared_ptr<HostRecord>>
      &hosts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:48,1
    - Dst: makeHostPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:51,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:52,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:54,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:55,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:55,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - txn
    - hostname
    - port
    argTypes:
    - TSHttpTxn
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: NextHopHealthStatus::isNextHopAvailable
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc
    functionUses: 0
    functionsReached:
    - makeHostPort
    - find
    - std::string::c_str
    - std::shared_ptr::available::load
    - end
    - reinterpret_cast<HttpSM *>
    - NH_Dbg
    linkageType: ''
    returnType: bool
    signature: bool NextHopHealthStatus::isNextHopAvailable(TSHttpTxn txn, const char
      *hostname, const int port, void * /* ih ATS_UNUSED */)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:71,1
    - Dst: reinterpret_cast<HttpSM *>
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:73,1
    - Dst: HttpSM*::t_state::request_data::get_host
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:79,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:84,1
    - Dst: ParentResult::is_api_result
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:91,1
    - Dst: makeHostPort
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:95,1
    - Dst: find
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:96,1
    - Dst: end
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:97,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:98,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:98,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:107,1
    - Dst: std::shared_ptr::set_available
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:108,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:109,1
    - Dst: std::shared_ptr::failedAt::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:114,1
    - Dst: std::shared_ptr::failedAt::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:117,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:128,1
    - Dst: std::shared_ptr::failedAt::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:134,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:141,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:141,1
    - Dst: std::shared_ptr::set_unavailable
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:145,1
    - Dst: NH_Note
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:146,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:147,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:148,1
    - Dst: std::shared_ptr::hostname::c_str
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:148,1
    - Dst: std::shared_ptr::available::load
      Src: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc:149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 5
    argNames:
    - txn
    - hostname
    - port
    - status
    - now
    argTypes:
    - TSHttpTxn
    - char*
    - int
    - NHCmd
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 153
    functionName: NextHopHealthStatus::markNextHop
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/NextHopHealthStatus.cc
    functionUses: 0
    functionsReached:
    - makeHostPort
    - find
    - ParentResult::is_api_result
    - std::string::c_str
    - std::shared_ptr::available::load
    - NH_Note
    - end
    - reinterpret_cast<HttpSM *>
    - std::shared_ptr::set_available
    - std::shared_ptr::hostname::c_str
    - std::shared_ptr::failedAt::load
    - std::shared_ptr::set_unavailable
    - HttpSM*::t_state::request_data::get_host
    - time
    - NH_Dbg
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void NextHopHealthStatus::markNextHop(TSHttpTxn txn, const char *hostname,
      const int port, const NHCmd status,\n                                 void *
      /* ih ATS_UNUSED */, const time_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::ip_category_contains_addr
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - category
    - addr
    argTypes:
    - std::string
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: src_ip_category_info_t::ask_ip_allow_about_category
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 0
    functionsReached:
    - IpAllow::ip_category_contains_addr
    linkageType: ''
    returnType: bool
    signature: bool src_ip_category_info_t::ask_ip_allow_about_category(std::string
      const &category, swoc::IPAddr const &addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:48,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:48,1
    - Dst: clear
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:54,1
    - Dst: acl_filter_rule::reset
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:56,1
    - Dst: acl_filter_rule::reset
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:60,1
    - Dst: acl_filter_rule::reset
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: acl_filter_rule::reset
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - ats_free_null
    - acl_filter_rule::reset
    - clear
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:73,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:74,1
    - Dst: acl_filter_rule::reset
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: acl_filter_rule::acl_filter_rule
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - ink_zero
    - resize
    - acl_filter_rule::reset
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::acl_filter_rule()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acl_filter_rule::reset
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:80,1
    - Dst: acl_filter_rule::name
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: acl_filter_rule::~acl_filter_rule()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 0
    functionsReached:
    - acl_filter_rule::reset
    - acl_filter_rule::name
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::~acl_filter_rule()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:88,1
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:90,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - _argc
    - _argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: acl_filter_rule::add_argv
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 0
    functionsReached:
    - ats_strdup
    - likely
    linkageType: ''
    returnType: int
    signature: int acl_filter_rule::add_argv(int _argc, char *_argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:102,1
    - Dst: ats_free_null
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:102,1
    - Dst: ats_strdup
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: acl_filter_rule::name
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - ats_free_null
    - ats_strdup
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::name(const char *_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:112,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:113,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:118,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:119,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:122,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:125,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:126,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:128,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:128,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:130,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:131,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:134,1
    - Dst: start::toString
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:134,1
    - Dst: end::toString
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:134,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:137,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:138,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:140,1
    - Dst: category::c_str
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:140,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:142,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:143,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:146,1
    - Dst: start::toString
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:146,1
    - Dst: end::toString
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:146,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:149,1
    - Dst: printf
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 153
    functionName: acl_filter_rule::print
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - category::c_str
    - c_str
    - end::toString
    - printf
    - start::toString
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::print()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: acl_filter_rule::get_action_description
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      acl_filter_rule::get_action_description() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:178,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:178,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - list
    - _name
    argTypes:
    - acl_filter_rule*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: acl_filter_rule::find_byname
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 3
    functionsReached:
    - strlen
    - strcasecmp
    - likely
    linkageType: ''
    returnType: acl_filter_rule
    signature: 'acl_filter_rule *

      acl_filter_rule::find_byname(acl_filter_rule *list, const char *_name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:193,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:193,1
    - Dst: strcasecmp
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - rpp
    - _name
    argTypes:
    - acl_filter_rule**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: acl_filter_rule::delete_byname
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - strlen
    - strcasecmp
    - likely
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::delete_byname(acl_filter_rule **rpp, const char
      *_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - list
    - rp
    argTypes:
    - acl_filter_rule**
    - acl_filter_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: acl_filter_rule::requeue_in_active_list
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::requeue_in_active_list(acl_filter_rule **list,
      acl_filter_rule *rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - list
    - rp
    argTypes:
    - acl_filter_rule**
    - acl_filter_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: acl_filter_rule::requeue_in_passive_list
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/AclFiltering.cc
    functionUses: 1
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: void acl_filter_rule::requeue_in_passive_list(acl_filter_rule **list,
      acl_filter_rule *rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:36,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:37,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::is_port_canonical
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::file::temp_directory_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:45,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:48,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:49,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:49,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:51,1
    - Dst: mkdtemp
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: getTemporaryDir
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - get_yaml_path
    - mkdtemp
    - fs::path::string
    - URL::is_port_canonical
    - fs::path::c_str
    - swoc::SWOC_VERSION_NS::file::temp_directory_path
    linkageType: ''
    returnType: fs::path
    signature: fs::path getTemporaryDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: TSRemapDone
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance([[maybe_unused]] int argc, [[maybe_unused]]
      char *argv[], [[maybe_unused]] void **ih,\n                   [[maybe_unused]]
      char *errbuf, [[maybe_unused]] int errbuf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ih
    - rh
    - os_response_type
    argTypes:
    - void*
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: TSRemapOSResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapOSResponse([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] int os_response_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSPluginInit([[maybe_unused]] int argc, [[maybe_unused]] const
      char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: TSRemapConfigReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapConfigReload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pluginDsoVersionTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pluginDsoVersionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: getPluginDebugObjectTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_misc_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      getPluginDebugObjectTest()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:50,1
    - Dst: init_diags
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:51,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:52,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:54,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:55,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:57,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tempComponent
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: PluginFactoryUnitTest::PluginFactoryUnitTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginFactoryUnitTest(const fs::path &tempComponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: PluginFactoryUnitTest::getUuid
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getUuid() override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDso::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:89,1
    - Dst: reinterpret_cast<GetPluginDebugObjectFunction *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:90,1
    - Dst: reinterpret_cast<PluginDebugObject *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:92,1
    - Dst: getObject
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - PluginDso
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: getDebugObject
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<GetPluginDebugObjectFunction *>
    - getObject
    - PluginDso::getSymbol
    - reinterpret_cast<PluginDebugObject *>
    linkageType: ''
    returnType: PluginDebugObject
    signature: 'PluginDebugObject *

      getDebugObject(const PluginDso &plugin)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: clean
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::remove_all
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:117,1
    - Dst: PluginDso::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:117,1
    - Dst: reinterpret_cast<int (*)()>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:118,1
    - Dst: version
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - PluginDso
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: getPluginVersion
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - version
    - PluginDso::getSymbol
    - reinterpret_cast<int (*)()>
    linkageType: ''
    returnType: int
    signature: int getPluginVersion(const PluginDso &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: GlobalPluginInfo::GlobalPluginInfo
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GlobalPluginInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ~GlobalPluginInfo()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: void
    signature: void ~GlobalPluginInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:137,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:137,1
    - Dst: dlopen
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:139,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - configPath
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: GlobalPluginInfo::loadDso
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - fs::path::c_str
    - CHECK
    - BaseLogFile::exists
    - dlopen
    linkageType: ''
    returnType: bool
    signature: bool loadDso(const fs::path &configPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:152,1
    - Dst: std::string::clear
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:153,1
    - Dst: dlsym
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:155,1
    - Dst: dlerror
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:156,1
    - Dst: std::string::assign
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - symbol
    - address
    - error
    argTypes:
    - char*
    - void*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: GlobalPluginInfo::getSymbol
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::clear
    - dlerror
    - dlsym
    linkageType: ''
    returnType: bool
    signature: bool getSymbol(const char *symbol, void *&address, std::string &error)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: GlobalPluginInfo::dlOpenHandle
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  dlOpenHandle()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:178,1
    - Dst: GlobalPluginInfo::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:178,1
    - Dst: reinterpret_cast<int (*)()>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:179,1
    - Dst: version
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: GlobalPluginInfo::getPluginVersion
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - GlobalPluginInfo::getSymbol
    - CHECK
    - version
    - reinterpret_cast<int (*)()>
    linkageType: ''
    returnType: int
    signature: int getPluginVersion()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:195,1
    - Dst: fs::path::is_absolute
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:198,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:199,1
    - Dst: fs::path::relative_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:200,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:206,1
    - Dst: fs::path::parent_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:206,1
    - Dst: RefCountCachePartition<C>::copy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:207,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:211,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:211,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:211,1
    - Dst: utime
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:214,1
    - Dst: fs::path::c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:214,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:217,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - configPath
    - pluginBuildPath
    - uuid
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 218
    functionName: setupConfigPathTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - fs::path::c_str
    - CHECK
    - isPluginDynamicReloadEnabled
    - fs::path::relative_path
    - utime
    - stat
    - BaseLogFile::exists
    - fs::path::is_absolute
    - fs::path::parent_path
    - swoc::SWOC_VERSION_NS::file::create_directories
    - clean
    - RefCountCachePartition<C>::copy
    linkageType: ''
    returnType: void
    signature: "void setupConfigPathTest(const fs::path &configPath, const fs::path
      &pluginBuildPath, const fs::path &uuid, fs::path &effectivePath,\n                    fs::path
      &runtimePath, time_t mtime = 0, bool append = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PluginFactoryUnitTest>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:224,1
    - Dst: auto::setRuntimeDir
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:225,1
    - Dst: auto::addSearchDir
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: getFactory
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - auto::addSearchDir
    - std::make_unique<PluginFactoryUnitTest>
    - auto::setRuntimeDir
    linkageType: ''
    returnType: std::unique_ptr<PluginFactoryUnitTest>
    signature: std::unique_ptr<PluginFactoryUnitTest> getFactory(const fs::path &uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: teardownConfigPathTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - clean
    linkageType: ''
    returnType: void
    signature: void teardownConfigPathTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:240,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:241,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:242,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:242,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:243,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pluginInst
    - error
    - effectivePath
    - runtimePath
    argTypes:
    - RemapPluginInst*
    - std::string
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: validateSuccessfulConfigPathTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - RemapPluginInst*::_plugin::effectivePath
    - RemapPluginInst*::_plugin::runtimePath
    linkageType: ''
    returnType: void
    signature: "void validateSuccessfulConfigPathTest(const RemapPluginInst *pluginInst,
      const std::string &error, const fs::path &effectivePath,\n                                 const
      fs::path &runtimePath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:590,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:591,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:591,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:591,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:592,1
    - Dst: RemapPluginInst*::_plugin::dlOpenHandle
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:592,1
    - Dst: RemapPluginInst*::_plugin::dlOpenHandle
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:592,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:595,1
    - Dst: getPluginVersion
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:595,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:596,1
    - Dst: getPluginVersion
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:596,1
    - Dst: RemapPluginInst*::_plugin::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:599,1
    - Dst: RemapPluginInst*::_plugin::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:600,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:601,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:602,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:603,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:606,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:606,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:608,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:608,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:608,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:609,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:609,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:609,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:610,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:610,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:610,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:611,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:611,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - plugin_v1
    - plugin_v2
    argTypes:
    - RemapPluginInst*
    - RemapPluginInst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 612
    functionName: checkTwoLoadedVersionsDifferent
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - isPluginDynamicReloadEnabled
    - getPluginVersion
    - RemapPluginInst*::_plugin::effectivePath
    - RemapPluginInst*::_plugin::runtimePath
    - RemapPluginInst*::_plugin::dlOpenHandle
    - BaseLogFile::exists
    - RemapPluginInst*::_plugin::getSymbol
    linkageType: ''
    returnType: void
    signature: void checkTwoLoadedVersionsDifferent(const RemapPluginInst *plugin_v1,
      const RemapPluginInst *plugin_v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:622,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:623,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:623,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:623,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:624,1
    - Dst: RemapPluginInst*::_plugin::dlOpenHandle
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:624,1
    - Dst: RemapPluginInst*::_plugin::dlOpenHandle
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:624,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:627,1
    - Dst: getPluginVersion
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:627,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:628,1
    - Dst: getPluginVersion
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:628,1
    - Dst: RemapPluginInst*::_plugin::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:631,1
    - Dst: RemapPluginInst*::_plugin::getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:632,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:633,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:634,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:635,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:640,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:641,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:641,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:641,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:642,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:642,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:642,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:644,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:644,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:644,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:645,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:645,1
    - Dst: RemapPluginInst*::_plugin::effectivePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:645,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:646,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:646,1
    - Dst: RemapPluginInst*::_plugin::runtimePath
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - plugin_v1
    - plugin_v2
    argTypes:
    - RemapPluginInst*
    - RemapPluginInst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 648
    functionName: checkTwoLoadedVersionsSame
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - isPluginDynamicReloadEnabled
    - getPluginVersion
    - RemapPluginInst*::_plugin::effectivePath
    - RemapPluginInst*::_plugin::runtimePath
    - RemapPluginInst*::_plugin::dlOpenHandle
    - BaseLogFile::exists
    - RemapPluginInst*::_plugin::getSymbol
    linkageType: ''
    returnType: void
    signature: void checkTwoLoadedVersionsSame(RemapPluginInst *plugin_v1, RemapPluginInst
      *plugin_v2, bool pluginOptOut = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupConfigPathTest
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:655,1
    - Dst: getFactory
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:656,1
    - Dst: auto::getRemapPlugin
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:657,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:657,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - configName
    - buildPath
    - uuid
    - mtime
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    - time_t
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: testSetupLoadPlugin
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - getFactory
    - isPluginDynamicReloadEnabled
    - setupConfigPathTest
    - auto::getRemapPlugin
    - std::move
    linkageType: ''
    returnType: std::tuple<RemapPluginInst *, std::unique_ptr<PluginFactoryUnitTest>>
    signature: "std::tuple<RemapPluginInst *, std::unique_ptr<PluginFactoryUnitTest>>
      testSetupLoadPlugin(const fs::path &configName, const fs::path &buildPath, const
      fs::path &uuid, const time_t mtime,\n                    fs::path &effectivePath,
      fs::path &runtimePath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disablePluginDynamicReload
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:669,1
    - Dst: setupConfigPathTest
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:670,1
    - Dst: enablePluginDynamicReload
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:671,1
    - Dst: getFactory
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:673,1
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:676,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:676,1
    - Dst: auto::getRemapPlugin
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:677,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:677,1
    - Dst: PluginDso::loadedPlugins
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:679,1
    - Dst: fs::path::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:679,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - configName
    - buildPath
    - uuid
    - mtime
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    - time_t
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 681
    functionName: testSetupLoadPluginWithOptOut
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginFactory.cc
    functionUses: 0
    functionsReached:
    - getFactory
    - isPluginDynamicReloadEnabled
    - setupConfigPathTest
    - auto::getRemapPlugin
    - fs::path::string
    - PluginDso::loadedPlugins
    - enablePluginDynamicReload
    - std::move
    - disablePluginDynamicReload
    linkageType: ''
    returnType: std::tuple<RemapPluginInst *, std::unique_ptr<PluginFactoryUnitTest>>
    signature: "std::tuple<RemapPluginInst *, std::unique_ptr<PluginFactoryUnitTest>>
      testSetupLoadPluginWithOptOut(const fs::path &configName, const fs::path &buildPath,
      const fs::path &uuid, const time_t mtime,\n                              fs::path
      &effectivePath, fs::path &runtimePath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: clean
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::remove_all
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - configPath
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: RemapPluginUnitTest::RemapPluginUnitTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPluginUnitTest(const fs::path &configPath, const fs::path
      &effectivePath, const fs::path &runtimePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: missingRequiredSymbolError
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:66,1
    - Dst: string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - required
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: RemapPluginUnitTest::getError
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - missingRequiredSymbolError
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string getError(const char *required, const char *requiring =
      nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSymbol
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:74,1
    - Dst: reinterpret_cast<GetPluginDebugObjectFunction *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:75,1
    - Dst: reinterpret_cast<PluginDebugObject *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:77,1
    - Dst: getObject
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: RemapPluginUnitTest::getDebugObject
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - getSymbol
    - getObject
    - reinterpret_cast<GetPluginDebugObjectFunction *>
    - reinterpret_cast<PluginDebugObject *>
    linkageType: ''
    returnType: PluginDebugObject
    signature: "PluginDebugObject *\n  getDebugObject()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:89,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:92,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:92,1
    - Dst: RefCountCachePartition<C>::copy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:93,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:94,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directories
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:94,1
    - Dst: RemapPluginUnitTest::RemapPluginUnitTest
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - configPath
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: setupSandBox
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - RemapPluginUnitTest::RemapPluginUnitTest
    - swoc::SWOC_VERSION_NS::file::create_directories
    - clean
    - RefCountCachePartition<C>::copy
    linkageType: ''
    returnType: RemapPluginUnitTest
    signature: 'RemapPluginUnitTest *

      setupSandBox(const fs::path &configPath)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemapPluginUnitTest*::load
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:108,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:108,1
    - Dst: RemapPluginUnitTest*::getDebugObject
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - plugin
    - error
    - debugObject
    argTypes:
    - RemapPluginUnitTest*
    - std::string
    - PluginDebugObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: loadPlugin
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - RemapPluginUnitTest*::load
    - RemapPluginUnitTest*::getDebugObject
    linkageType: ''
    returnType: bool
    signature: bool loadPlugin(RemapPluginUnitTest *plugin, std::string &error, PluginDebugObject
      *&debugObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: cleanupSandBox
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - clean
    linkageType: ''
    returnType: void
    signature: void cleanupSandBox()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebugObject*::clear
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - toFail
    - debugObject
    argTypes:
    - bool
    - PluginDebugObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: prepCallTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - PluginDebugObject*::clear
    linkageType: ''
    returnType: void
    signature: void prepCallTest(bool toFail, PluginDebugObject *debugObject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:227,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:229,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:230,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:232,1
    - Dst: CHECK
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:233,1
    - Dst: std::string::empty
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - shouldHaveFailed
    - result
    - error
    - expectedError
    - called
    argTypes:
    - bool
    - bool
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: checkCallTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapPlugin.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void checkCallTest(bool shouldHaveFailed, bool result, const std::string
      &error, std::string &expectedError, int &called)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_doremap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_newinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_newinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_newinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_instinit_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: TSRemapDone
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_instinit_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_instinit_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance([[maybe_unused]] int argc, [[maybe_unused]]
      char *argv[], [[maybe_unused]] void **ih,\n                   [[maybe_unused]]
      char *errbuf, [[maybe_unused]] int errbuf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_instinit_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_instinit_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_init.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_deleteinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_deleteinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_missing_deleteinstance.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance([[maybe_unused]] int argc, [[maybe_unused]]
      char *argv[], [[maybe_unused]] void **ih,\n                   [[maybe_unused]]
      char *errbuf, [[maybe_unused]] int errbuf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: clean
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::remove_all
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - configPath
    - effectivePath
    - runtimePath
    argTypes:
    - fs::path
    - fs::path
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: PluginDsoUnitTest::PluginDsoUnitTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginDsoUnitTest(const fs::path &configPath, const fs::path &effectivePath,
      const fs::path &runtimePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: PluginDsoUnitTest::indicatePreReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void indicatePreReload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: PluginDsoUnitTest::indicatePostReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void indicatePostReload(TSRemapReloadStatus /* reloadStatus ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: PluginDsoUnitTest::init
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool init(std::string & /* error ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: PluginDsoUnitTest::done
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_PluginDso.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void done() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_required_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_required_cb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: HttpSM::HttpSM
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::HttpSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: HttpSM::cleanup
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: HttpSM::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: HttpSM::handle_api_return
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::handle_api_return()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: HttpSM::set_next_state
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_next_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - smp
    argTypes:
    - HttpSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: HttpVCTable::HttpVCTable
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpVCTable::HttpVCTable(HttpSM *smp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: HttpCacheAction::cancel
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCacheAction::cancel(Continuation * /* c ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: PostDataBuffers::~PostDataBuffers()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers::~PostDataBuffers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: HttpTunnel::HttpTunnel
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::HttpTunnel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: HttpTunnelConsumer::HttpTunnelConsumer
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelConsumer::HttpTunnelConsumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: HttpTunnelProducer::HttpTunnelProducer
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::HttpTunnelProducer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ChunkedHandler::ChunkedHandler
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkedHandler::ChunkedHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - HttpSM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: br_destroy
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void br_destroy(HttpSM &sm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:91,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:96,1
    - Dst: HttpSM*::t_state::request_data::hdr::create
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:97,1
    - Dst: HttpSM*::t_state::arena::str_store
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:98,1
    - Dst: strlen
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:98,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:99,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:100,1
    - Dst: ink_zero
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:101,1
    - Dst: ats_ip_copy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:102,1
    - Dst: HttpApiInfo::HttpApiInfo
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:107,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:109,1
    - Dst: time
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:111,1
    - Dst: memset
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:113,1
    - Dst: reinterpret_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:114,1
    - Dst: reinterpret_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - sm_id
    - sm
    - ip
    - os_hostname
    - dest_ip
    argTypes:
    - int64_t
    - HttpSM*
    - sockaddr_in*
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: build_request
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 5
    functionsReached:
    - new_HdrHeap
    - memcpy
    - memset
    - reinterpret_cast<OverridableHttpConfigParams *>
    - ats_ip_copy
    - ink_zero
    - HttpSM*::t_state::arena::str_store
    - strlen
    - HttpApiInfo::HttpApiInfo
    - time
    - HTTPHdr::HTTPHdr
    - HttpSM*::t_state::request_data::hdr::create
    linkageType: ''
    returnType: void
    signature: void build_request(int64_t sm_id, HttpSM *sm, sockaddr_in *ip, const
      char *os_hostname, sockaddr const *dest_ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: GetConfigInteger
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void GetConfigInteger(int *v, const char *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:136,1
    - Dst: vfprintf
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:137,1
    - Dst: va_end
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: HttpRequestData::get_string
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_string()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: HttpRequestData::get_host
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpRequestData::get_host()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: HttpRequestData::get_ip
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: HttpRequestData::get_client_ip
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpRequestData::get_client_ip()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ConfigUpdateCbTable::invoke
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCbTable::invoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: HostStatRec::HostStatRec
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatRec::HostStatRec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: HostStatus::HostStatus
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatus::HostStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatus::hosts_statuses::begin
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:183,1
    - Dst: HostStatus::hosts_statuses::end
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: HostStatus::~HostStatus()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 0
    functionsReached:
    - HostStatus::hosts_statuses::end
    - HostStatus::hosts_statuses::begin
    linkageType: ''
    returnType: void
    signature: void HostStatus::~HostStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:191,1
    - Dst: HostStatRec::HostStatRec
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:193,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: HostStatus::getHostStatus
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 6
    functionsReached:
    - HostStatRec::HostStatRec
    - std::string
    linkageType: ''
    returnType: HostStatRec
    signature: 'HostStatRec *

      HostStatus::getHostStatus(const std::string_view name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:203,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:204,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:206,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:207,1
    - Dst: std::string
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:208,1
    - Dst: NH_Dbg
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:209,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:209,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - host
    - status
    - down_time
    - reason
    argTypes:
    - std::string_view
    - TSHostStatus
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: HostStatus::setHostStatus
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - std::string
    - std::string_view::size
    - std::string_view::data
    - NH_Dbg
    linkageType: ''
    returnType: void
    signature: void HostStatus::setHostStatus(const std::string_view host, TSHostStatus
      status, unsigned int down_time, unsigned int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_init_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      [[maybe_unused]] char *errbuf, [[maybe_unused]] int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: TSRemapDone
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_init_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_init_fail.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebugObject::clear
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: PluginDebugObject::PluginDebugObject
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.h
    functionUses: 0
    functionsReached:
    - PluginDebugObject::clear
    linkageType: ''
    returnType: void
    signature: void PluginDebugObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: PluginDebugObject::clear
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dbg_ctl
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: PluginDbg
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginDbg(dbg_ctl, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: PluginError
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginError(fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - errbuf
    - errbuf_size
    - counter
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: handleInitRun
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode handleInitRun(char *errbuf, int errbuf_size, int &counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleInitRun
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached:
    - handleInitRun
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit([[maybe_unused]] TSRemapInterface *api_info,
      char *errbuf, int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleInitRun
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached:
    - handleInitRun
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: TSRemapDone
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ih
    - rh
    - os_response_type
    argTypes:
    - void*
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: TSRemapOSResponse
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapOSResponse([[maybe_unused]] void *ih, [[maybe_unused]]
      TSHttpTxn rh, [[maybe_unused]] int os_response_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: TSRemapPreConfigReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapPreConfigReload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reloadStatus
    argTypes:
    - TSRemapReloadStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: TSRemapPostConfigReload
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapPostConfigReload(TSRemapReloadStatus reloadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: pluginDsoVersionTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pluginDsoVersionTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: getPluginDebugObjectTest
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/plugin_testing_calls.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      getPluginDebugObjectTest()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:51,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:52,1
    - Dst: DiagsPtr::set
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:54,1
    - Dst: BaseLogFile::BaseLogFile
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:54,1
    - Dst: Diags::Diags
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:54,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:57,1
    - Dst: url_init
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:59,1
    - Dst: mime_init
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:60,1
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:61,1
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:62,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:63,1
    - Dst: diags
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:63,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc
    functionUses: 0
    functionsReached:
    - DiagsPtr::set
    - Layout::create
    - BaseLogFile::BaseLogFile
    - RecProcessInit
    - LibRecordsConfigInit
    - EThread::EThread
    - url_init
    - http_init
    - mime_init
    - Thread*::set_specific
    - diags
    - Diags::Diags
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::temp_directory_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:73,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:74,1
    - Dst: auto::c_str
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:76,1
    - Dst: std::ofstream::write
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:77,1
    - Dst: std::string::data
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:77,1
    - Dst: std::string::size
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:77,1
    - Dst: std::ofstream::close
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - config
    - tag
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: write_test_remap
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - get_yaml_path
    - std::string::size
    - std::string::data
    - std::ofstream::write
    - swoc::SWOC_VERSION_NS::file::temp_directory_path
    - std::ofstream::close
    linkageType: ''
    returnType: swoc::file::path
    signature: swoc::file::path write_test_remap(const std::string &config, const
      std::string &tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:128,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:129,1
    - Dst: parse
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: EasyURL
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - parse
    - create
    linkageType: ''
    returnType: void
    signature: void EasyURL(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~EasyURL()
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/test_RemapRules.cc
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~EasyURL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctl
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: NH_Dbg
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Dbg(ctl, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: NH_Error
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Error(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: NH_Note
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Note(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: NH_Warn
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Warn(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: trans_config
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trans_config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: trans_state
    functionSourceFile: /src/trafficserver/src/proxy/http/remap/unit-tests/nexthop_test_stubs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trans_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Http1ClientTestSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_HttpUserAgent.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http1ClientTestSession::get_transact_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Http1ClientTestSession::set_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_HttpUserAgent.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientTestSession::set_transact_count(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: Http1ClientTestSession::set_vc
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_HttpUserAgent.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientTestSession::set_vc(NetVConnection *new_vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:42,1
    - Dst: init_diags
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:43,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:44,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:45,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:47,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:48,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:50,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/proxy/http/unit_tests/main.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - LibRecordsConfigInit
    - EThread::EThread
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo */)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: testRunEnded
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/main.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testRunEnded(Catch::TestRunStats const & /* testRunStats */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OptionBitSetListInit::set
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - il
    argTypes:
    - std::initializer_list<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: OptionBitSetListInit::OptionBitSetListInit
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - OptionBitSetListInit::set
    linkageType: ''
    returnType: void
    signature: void OptionBitSetListInit(std::initializer_list<std::size_t> il)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: nextWs
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      nextWs()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:71,1
    - Dst: islower
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:75,1
    - Dst: toupper
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:76,1
    - Dst: isupper
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:79,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:80,1
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:86,1
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: XS::XS
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - toupper
    - islower
    - tolower
    - nextWs
    - isupper
    linkageType: ''
    returnType: void
    signature: void XS(const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:91,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator std::string_view() const
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - c_str
    linkageType: ''
    returnType: void
    signature: void operator std::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: optStrToBitset
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: XS
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:102,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:103,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:103,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - spec
    - reqErr
    - bS
    argTypes:
    - char*
    - char*
    - OptionBitSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: test
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 17
    functionsReached:
    - memcmp
    - REQUIRE
    - XS
    - std::strlen
    - swoc::LocalBufferWriter::data
    - optStrToBitset
    - swoc::LocalBufferWriter::size
    linkageType: ''
    returnType: void
    signature: void test(const char *spec, const char *reqErr, const OptionBitSet
      &bS)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: nextWs
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      nextWs()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:71,1
    - Dst: islower
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:75,1
    - Dst: toupper
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:76,1
    - Dst: isupper
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:79,1
    - Dst: tolower
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:80,1
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:86,1
    - Dst: nextWs
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: XS::XS
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - toupper
    - islower
    - tolower
    - nextWs
    - isupper
    linkageType: ''
    returnType: void
    signature: void XS(const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:91,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator std::string_view() const
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - c_str
    linkageType: ''
    returnType: void
    signature: void operator std::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: optStrToBitset
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: XS
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:101,1
    - Dst: std::strlen
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:102,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:103,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:103,1
    - Dst: REQUIRE
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - spec
    - reqErr
    - bS
    argTypes:
    - char*
    - char*
    - OptionBitSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: test
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 17
    functionsReached:
    - memcmp
    - REQUIRE
    - XS
    - std::strlen
    - swoc::LocalBufferWriter::data
    - optStrToBitset
    - swoc::LocalBufferWriter::size
    linkageType: ''
    returnType: void
    signature: void test(const char *spec, const char *reqErr, const OptionBitSet
      &bS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: X
    functionSourceFile: /src/trafficserver/src/proxy/http/unit_tests/test_ForwardedConfig.cc
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: byte_pointer
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byte_pointer(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - length
    argTypes:
    - byte_pointer
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: write_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void write_and_advance(byte_pointer &dst, const uint8_t *src, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:81,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - byte_pointer
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: write_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - htonl
    linkageType: ''
    returnType: void
    signature: void write_and_advance(byte_pointer &dst, uint32_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:92,1
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - byte_pointer
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: write_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - htons
    linkageType: ''
    returnType: void
    signature: void write_and_advance(byte_pointer &dst, uint16_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - byte_pointer
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: write_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_and_advance(byte_pointer &dst, uint8_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - (dst)
    - src
    argTypes:
    - uint8_t[]
    - byte_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: memcpy_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void memcpy_and_advance(uint8_t (&dst)[N], byte_pointer &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - byte_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: memcpy_and_advance
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memcpy_and_advance(uint8_t(&dst), byte_pointer &src)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - Http2FrameHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: http2_frame_header_is_valid
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http2_frame_header_is_valid(const Http2FrameHeader &hdr, unsigned
      /* max_frame_size ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http2SettingsParameter::value
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - Http2SettingsParameter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: http2_settings_parameter_is_valid
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - Http2SettingsParameter::value
    linkageType: ''
    returnType: bool
    signature: bool http2_settings_parameter_is_valid(const Http2SettingsParameter
      &param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:186,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:190,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:191,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:192,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:194,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:195,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - iov
    - hdr
    argTypes:
    - IOVec
    - Http2FrameHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: http2_parse_frame_header
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - unlikely
    - memcpy_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_frame_header(IOVec iov, Http2FrameHeader &hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:207,1
    - Dst: htonl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:213,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:215,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:216,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:217,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:219,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:220,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - hdr
    - iov
    argTypes:
    - Http2FrameHeader
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: http2_write_frame_header
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - write_and_advance
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool http2_write_frame_header(const Http2FrameHeader &hdr, IOVec iov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - error_code
    - iov
    argTypes:
    - uint32_t
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: http2_write_rst_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - write_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_write_rst_stream(uint32_t error_code, IOVec iov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:241,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:245,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - param
    - iov
    argTypes:
    - Http2SettingsParameter
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: http2_write_settings
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - write_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_write_settings(const Http2SettingsParameter &param, const
      IOVec &iov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:256,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque_data
    - iov
    argTypes:
    - uint8_t*
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: http2_write_ping
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - write_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_write_ping(const uint8_t *opaque_data, IOVec iov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:270,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:274,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:275,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - goaway
    - iov
    argTypes:
    - Http2Goaway
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: http2_write_goaway
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - unlikely
    - write_and_advance
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool http2_write_goaway(const Http2Goaway &goaway, IOVec iov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - new_size
    - iov
    argTypes:
    - uint32_t
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: http2_write_window_update
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - write_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_write_window_update(const uint32_t new_size, const IOVec
      &iov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:293,1
    - Dst: write_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - push_promise
    - src
    - length
    - iov
    argTypes:
    - Http2PushPromise
    - uint8_t*
    - size_t
    - IOVec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: http2_write_push_promise
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - write_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_write_push_promise(const Http2PushPromise &push_promise,
      const uint8_t *src, size_t length, const IOVec &iov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iov
    - params
    argTypes:
    - IOVec
    - Http2HeadersParameter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: http2_parse_headers_parameter
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - memcpy_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_headers_parameter(IOVec iov, Http2HeadersParameter
      &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:313,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:318,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - iov
    - priority
    argTypes:
    - IOVec
    - Http2Priority
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: http2_parse_priority_parameter
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - memcpy_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_priority_parameter(IOVec iov, Http2Priority &priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:331,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iov
    - rst_stream
    argTypes:
    - IOVec
    - Http2RstStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: http2_parse_rst_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - memcpy_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_rst_stream(IOVec iov, Http2RstStream &rst_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:345,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:349,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:350,1
    - Dst: ntohs
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:352,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - iov
    - param
    argTypes:
    - IOVec
    - Http2SettingsParameter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: http2_parse_settings_parameter
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - unlikely
    - memcpy_and_advance
    - ntohs
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_settings_parameter(IOVec iov, Http2SettingsParameter
      &param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:365,1
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:366,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:368,1
    - Dst: static_cast<Http2ErrorCode>
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:369,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iov
    - goaway
    argTypes:
    - IOVec
    - Http2Goaway
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: http2_parse_goaway
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - memcpy_and_advance
    - static_cast<Http2ErrorCode>
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_goaway(IOVec iov, Http2Goaway &goaway)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy_and_advance
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:379,1
    - Dst: ntohl
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iov
    - size
    argTypes:
    - IOVec
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: http2_parse_window_update
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - memcpy_and_advance
    linkageType: ''
    returnType: bool
    signature: bool http2_parse_window_update(IOVec iov, uint32_t &size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - headers
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: http2_convert_header_from_2_to_1_1
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - convert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult http2_convert_header_from_2_to_1_1(HTTPHdr *headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - headers
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: http2_convert_header_from_1_1_to_2
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - convert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult http2_convert_header_from_1_1_to_2(HTTPHdr *headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:419,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:419,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:419,1
    - Dst: hpack_get_maximum_table_size
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:421,1
    - Dst: hpack_encode_header_block
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - in
    - out
    - out_len
    - len_written
    - handle
    - maximum_table_size
    argTypes:
    - HTTPHdr*
    - uint8_t*
    - uint32_t
    - uint32_t*
    - HpackHandle
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: http2_encode_header_blocks
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - min
    - static_cast<int32_t>
    - hpack_encode_header_block
    - hpack_get_maximum_table_size
    linkageType: ''
    returnType: Http2ErrorCode
    signature: "Http2ErrorCode http2_encode_header_blocks(HTTPHdr *in, uint8_t *out,
      uint32_t out_len, uint32_t *len_written, HpackHandle &handle,\n                           int32_t
      maximum_table_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_header_block
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:443,1
    - Dst: HeaderValidator::is_h2_h3_header_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - hdr
    - buf_start
    - buf_len
    - len_read
    - handle
    - is_trailing_header
    - maximum_table_size
    - is_outbound
    argTypes:
    - HTTPHdr*
    - uint8_t*
    - uint32_t
    - uint32_t*
    - HpackHandle
    - bool
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 459
    functionName: http2_decode_header_blocks
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 0
    functionsReached:
    - hpack_decode_header_block
    - HeaderValidator::is_h2_h3_header_valid
    linkageType: ''
    returnType: Http2ErrorCode
    signature: "Http2ErrorCode http2_decode_header_blocks(HTTPHdr *hdr, const uint8_t
      *buf_start, const uint32_t buf_len, uint32_t *len_read, HpackHandle &handle,\n
      \                          bool is_trailing_header, uint32_t maximum_table_size,
      bool is_outbound)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:510,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:511,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:512,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:513,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:515,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:516,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:518,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:520,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:522,1
    - Dst: static_cast<Http2FlowControlPolicy>
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:525,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:527,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:529,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:531,1
    - Dst: static_cast<Http2FlowControlPolicy>
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:534,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:536,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:537,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:538,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:539,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:540,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:541,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:542,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:543,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:544,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:545,1
    - Dst: RecEstablishStaticConfigFloat
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:546,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:547,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:548,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:549,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:550,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:551,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:552,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:553,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:554,1
    - Dst: RecEstablishStaticConfigInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:555,1
    - Dst: RecEstablishStaticConfigFloat
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:556,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:557,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:558,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:559,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:560,1
    - Dst: RecEstablishStaticConfigFloat
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:561,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:562,1
    - Dst: RecEstablishStaticConfigUInt32
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:563,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:565,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:568,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:568,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:569,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:569,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:570,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:570,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:571,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:571,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:572,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:572,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:573,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:573,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:574,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:574,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:575,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:575,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:578,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:579,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:581,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:583,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:584,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:585,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:586,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:587,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:588,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:589,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:590,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:591,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:592,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:593,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:594,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:595,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:596,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:597,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:598,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:599,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:600,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:601,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:603,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:605,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:607,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:609,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:611,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:613,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:614,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:616,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:618,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:619,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:620,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:621,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:622,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:623,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:624,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:625,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:626,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:627,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:628,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:629,1
    - Dst: http2_init
      Src: /src/trafficserver/src/proxy/http2/HTTP2.cc:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 644
    functionName: Http2::init
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 1
    functionsReached:
    - static_cast<Http2FlowControlPolicy>
    - ink_release_assert
    - ts::Metrics::Counter::createPtr
    - ts::Metrics::Gauge::createPtr
    - http2_init
    - Error
    - RecEstablishStaticConfigInt32
    - RecEstablishStaticConfigUInt32
    - iobuffer_size_to_index
    - http2_settings_parameter_is_valid
    - RecEstablishStaticConfigFloat
    linkageType: ''
    returnType: void
    signature: void Http2::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: http2_init
    functionSourceFile: /src/trafficserver/src/proxy/http2/HTTP2.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http2_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - session
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Http2ConDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2ConDebug(session, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - session
    - ','
    - stream_id
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Http2StreamDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2StreamDebug(session, stream_id, fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:84,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:85,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:87,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - bufsize
    - nbytes
    - frame
    argTypes:
    - char*
    - size_t
    - unsigned
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: read_rcv_buffer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - Http2Frame::reader
    linkageType: ''
    returnType: unsigned
    signature: unsigned read_rcv_buffer(char *buf, size_t bufsize, unsigned &nbytes,
      const Http2Frame &frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - session
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Http2ConDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2ConDebug(session, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - session
    - ','
    - stream_id
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Http2StreamDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2StreamDebug(session, stream_id, fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:84,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:85,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:87,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - bufsize
    - nbytes
    - frame
    argTypes:
    - char*
    - size_t
    - unsigned
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: read_rcv_buffer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - Http2Frame::reader
    linkageType: ''
    returnType: unsigned
    signature: unsigned read_rcv_buffer(char *buf, size_t bufsize, unsigned &nbytes,
      const Http2Frame &frame)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:100,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:102,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:104,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:104,1
    - Dst: Http2ConnectionState::decrement_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:107,1
    - Dst: Http2ConnectionState::get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:109,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:110,1
    - Dst: Http2ConnectionState::session::get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:110,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:116,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:117,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:121,1
    - Dst: Http2ConnectionState::is_valid_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:123,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:125,1
    - Dst: Http2ConnectionState::send_rst_stream_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:126,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:127,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:129,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:132,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:137,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:138,1
    - Dst: Http2ConnectionState::send_rst_stream_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:139,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:140,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:146,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:147,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:148,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:152,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:153,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:159,1
    - Dst: Http2Stream*::increment_data_length
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:164,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:165,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:167,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:167,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:167,1
    - Dst: Http2ConnectionState::send_rst_stream_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:168,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:169,1
    - Dst: Http2Stream*::payload_length_is_valid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:171,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:172,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:178,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:179,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:180,1
    - Dst: Http2Stream*::is_read_enabled
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:183,1
    - Dst: Http2Stream*::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:184,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:187,1
    - Dst: Http2Stream*::set_trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:191,1
    - Dst: Http2ConnectionState::increment_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:197,1
    - Dst: Http2ConnectionState::get_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:199,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:199,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:200,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:201,1
    - Dst: Http2ConnectionState::get_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:202,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:203,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:207,1
    - Dst: Http2ConnectionState::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:212,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:213,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:216,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:217,1
    - Dst: Http2Stream*::decrement_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:222,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:224,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:225,1
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:226,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:227,1
    - Dst: Http2ConnectionState::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:229,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:229,1
    - Dst: Http2Stream*::read_vio_writer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:232,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:234,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:240,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:242,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:243,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:247,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:251,1
    - Dst: IOBufferReader*::writer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:253,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:254,1
    - Dst: IOBufferReader*::consume
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:256,1
    - Dst: Http2Stream*::update_read_length
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:257,1
    - Dst: IOBufferReader*::writer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:259,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:261,1
    - Dst: Http2Stream*::set_read_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:263,1
    - Dst: Http2Stream*::is_read_enabled
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:266,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:267,1
    - Dst: Http2ConnectionState::get_peer_stream_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:268,1
    - Dst: Http2ConnectionState::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:268,1
    - Dst: Http2ConnectionState::restart_receiving
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:272,1
    - Dst: Http2Stream*::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:274,1
    - Dst: Http2Stream*::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:276,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:280,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 109
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 281
    functionName: Http2ConnectionState::rcv_data_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::find_stream
    - Http2Stream*::decrement_local_rwnd
    - Http2Stream*::get_local_rwnd
    - IOBufferReader*::writer
    - Http2ConnectionState::increment_received_empty_frame_count
    - Http2ConnectionState::get_peer_stream_count
    - Http2Stream*::is_read_enabled
    - Http2Stream*::change_state
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::session::is_outbound
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - Http2ConnectionState::get_received_empty_frame_count
    - Http2StreamDebug
    - Http2ConnectionState::send_rst_stream_frame
    - Warning
    - Http2ConnectionState::restart_receiving
    - Http2Stream*::read_vio_writer
    - Http2Error
    - Http2Frame::reader
    - Http2Stream*::increment_data_length
    - Http2ConnectionState::get_local_rwnd
    - static_cast<uint32_t>
    - Http2Stream*::update_read_length
    - http2_is_client_streamid
    - Http2Stream*::get_state
    - Http2ConnectionState::session::get_connection_id
    - Http2Stream*::initiating_close
    - Http2ConnectionState::acknowledged_local_settings::get
    - 'on'
    - Http2Stream*::set_trailing_header_is_possible
    - Http2Stream*::payload_length_is_valid
    - MIOBuffer*::write
    - Http2ConnectionState::decrement_local_rwnd
    - IOBufferReader*::consume
    - Http2ConnectionState::get_zombie_event
    - Http2Stream*::set_read_done
    - BUFFER_SIZE_FOR_INDEX
    - Http2ConnectionState::is_valid_streamid
    - Http2Stream*::signal_read_event
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_data_frame(const Http2Frame &frame)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:295,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:296,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:298,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:300,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:301,1
    - Dst: Http2ConnectionState::is_valid_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:310,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:311,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:312,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:312,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:313,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:315,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:316,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:322,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:328,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:329,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:336,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:337,1
    - Dst: dynamic_cast<Http2CommonSession *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:337,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:337,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:338,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:338,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:339,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:339,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:339,1
    - Dst: Http2ConnectionState::peer_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:340,1
    - Dst: Http2ConnectionState::create_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:345,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:351,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:361,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:362,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:364,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:364,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:364,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:365,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:369,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:377,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:382,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:384,1
    - Dst: http2_parse_headers_parameter
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:386,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:386,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:387,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:393,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:402,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:405,1
    - Dst: http2_parse_priority_parameter
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:406,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:406,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:407,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:412,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:418,1
    - Dst: Http2ConnectionState::dependency_tree::find
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:427,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:432,1
    - Dst: Http2ConnectionState::dependency_tree::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:434,1
    - Dst: Http2ConnectionState::dependency_tree::add
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:436,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:446,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:447,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:451,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:453,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:455,1
    - Dst: ats_malloc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:455,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:456,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:458,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:460,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:460,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:461,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:465,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:466,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:467,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:472,1
    - Dst: Http2Stream*::reset_receive_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:473,1
    - Dst: Http2Stream*::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:475,1
    - Dst: Http2Stream*::decode_header_blocks
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:477,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:478,1
    - Dst: Http2Stream*::reset_receive_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:484,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:486,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:486,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:488,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:493,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:496,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:499,1
    - Dst: Http2Stream*::payload_length_is_valid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:505,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:506,1
    - Dst: Http2Stream*::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:511,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:511,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:512,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:512,1
    - Dst: Http2Stream*::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:513,1
    - Dst: Http2Stream*::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:514,1
    - Dst: Http2Stream*::new_transaction
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:515,1
    - Dst: Http2Frame::is_from_early_data
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:515,1
    - Dst: Http2Stream*::send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:517,1
    - Dst: Http2Stream*::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:520,1
    - Dst: Http2Stream*::set_expect_receive_trailer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:521,1
    - Dst: Http2Stream*::send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:523,1
    - Dst: Http2Stream*::send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:526,1
    - Dst: Http2ConnectionState::session::interrupt_reading_frames
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:530,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:534,1
    - Dst: Http2ConnectionState::set_continued_stream_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:535,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:538,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 146
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 539
    functionName: Http2ConnectionState::rcv_headers_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - http2_parse_headers_parameter
    - Http2ConnectionState::find_stream
    - Http2ConnectionState::dependency_tree::find
    - Http2Frame::is_from_early_data
    - THREAD_ALLOC_INIT
    - Http2ConnectionState::peer_settings::get
    - this_ethread
    - Http2Stream*::cancel_active_timeout
    - Http2Stream*::change_state
    - Http2Stream*::trailing_header_is_possible
    - Http2ConnectionState::dependency_tree::size
    - Http2Frame::header
    - get
    - ats_free
    - Http2ConnectionState::session::is_outbound
    - http2_parse_priority_parameter
    - Http2ConnectionState::dependency_tree::add
    - max
    - Http2StreamDebug
    - Http2Stream*::decode_header_blocks
    - make_iovec
    - THREAD_FREE
    - Http2Stream*::new_transaction
    - Http2Stream*::reset_receive_headers
    - Http2Error
    - Http2Frame::reader
    - Http2ConnectionState::session::get_proxy_session
    - Http2ConnectionState::set_continued_stream_id
    - Http2Stream*::is_outbound_connection
    - Http2Stream*::send_headers
    - Http2Stream*::mark_milestone
    - get_proxy_session
    - ink_assert
    - Http2Stream*::set_expect_receive_trailer
    - http2_is_client_streamid
    - Http2Stream*::get_state
    - Http2ConnectionState::acknowledged_local_settings::get
    - Http2ConnectionState::session::interrupt_reading_frames
    - dynamic_cast<Http2CommonSession *>
    - static_cast<uint8_t *>
    - Http2Stream*::payload_length_is_valid
    - SCOPED_MUTEX_LOCK
    - ats_malloc
    - Http2ConnectionState::create_stream
    - Http2ConnectionState::is_valid_streamid
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_headers_frame(const Http2Frame
      &frame)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:548,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:549,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:551,1
    - Dst: Http2ConnectionState::get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:553,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:554,1
    - Dst: Http2ConnectionState::session::get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:554,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:560,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:567,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:572,1
    - Dst: http2_parse_priority_parameter
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:575,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:575,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:576,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:582,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:587,1
    - Dst: Http2ConnectionState::increment_received_priority_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:591,1
    - Dst: Http2ConnectionState::get_received_priority_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:594,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:594,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:595,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:596,1
    - Dst: Http2ConnectionState::get_received_priority_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:597,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:598,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:602,1
    - Dst: Http2ConnectionState::dependency_tree::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:603,1
    - Dst: Http2ConnectionState::dependency_tree::find
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:605,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:609,1
    - Dst: Http2ConnectionState::dependency_tree::reprioritize
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:610,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:611,1
    - Dst: Http2ConnectionState::dependency_tree::dump_tree
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:613,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:614,1
    - Dst: Http2ConnectionState::session::get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:614,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:614,1
    - Dst: Http2ConnectionState::_get_configured_max_concurrent_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:621,1
    - Dst: Http2ConnectionState::dependency_tree::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:621,1
    - Dst: Http2ConnectionState::get_peer_stream_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:621,1
    - Dst: Http2ConnectionState::dependency_tree::add
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:622,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 627
    functionName: Http2ConnectionState::rcv_priority_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::dependency_tree::find
    - Http2ConnectionState::get_peer_stream_count
    - Http2ConnectionState::get_received_priority_frame_count
    - Http2ConnectionState::dependency_tree::size
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::dependency_tree::dump_tree
    - http2_parse_priority_parameter
    - Http2ConnectionState::dependency_tree::add
    - Http2StreamDebug
    - make_iovec
    - std::stringstream::str
    - Warning
    - Http2ConnectionState::dependency_tree::reprioritize
    - Http2Error
    - Http2Frame::reader
    - Dbg
    - static_cast<uint32_t>
    - Http2ConnectionState::increment_received_priority_frame_count
    - Http2ConnectionState::session::get_connection_id
    - 'on'
    - Http2ConnectionState::get_zombie_event
    - Http2ConnectionState::_get_configured_max_concurrent_streams
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_priority_frame(const Http2Frame
      &frame)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:635,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:637,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:637,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:644,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:650,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:651,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:655,1
    - Dst: Http2ConnectionState::is_valid_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:657,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:658,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:660,1
    - Dst: Http2ConnectionState::increment_received_rst_stream_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:666,1
    - Dst: Http2ConnectionState::get_received_rst_stream_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:669,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:669,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:670,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:671,1
    - Dst: Http2ConnectionState::get_received_rst_stream_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:672,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:673,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:677,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:677,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:677,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:680,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:684,1
    - Dst: http2_parse_rst_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:686,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:686,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:687,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:692,1
    - Dst: Http2Stream*::set_rx_error_code
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:693,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:693,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:694,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 698
    functionName: Http2ConnectionState::rcv_rst_stream_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::find_stream
    - Http2Stream*::initiating_close
    - Http2Error
    - Http2Frame::reader
    - Http2Stream*::set_rx_error_code
    - Http2ConnectionState::increment_received_rst_stream_frame_count
    - Http2ConnectionState::get_received_rst_stream_frame_count
    - static_cast<uint32_t>
    - Http2StreamDebug
    - http2_parse_rst_stream
    - make_iovec
    - Http2Stream*::change_state
    - Http2ConnectionState::is_valid_streamid
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_rst_stream_frame(const Http2Frame
      &frame)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:706,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:708,1
    - Dst: Http2ConnectionState::get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:710,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:711,1
    - Dst: Http2ConnectionState::session::get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:711,1
    - Dst: Http2ConnectionState::increment_received_settings_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:715,1
    - Dst: Http2ConnectionState::get_received_settings_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:718,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:718,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:719,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:720,1
    - Dst: Http2ConnectionState::get_received_settings_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:721,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:722,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:731,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:738,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:739,1
    - Dst: Http2ConnectionState::_process_incoming_settings_ack_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:740,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:741,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:743,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:751,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:752,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:757,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:758,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:759,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:760,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:761,1
    - Dst: read_rcv_buffer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:765,1
    - Dst: http2_parse_settings_parameter
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:767,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:767,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:768,1
    - Dst: http2_settings_parameter_is_valid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:772,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:774,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:777,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:782,1
    - Dst: Http2DebugNames::get_settings_param_name
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:782,1
    - Dst: Http2ConnectionState::update_initial_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:789,1
    - Dst: Http2ConnectionState::peer_settings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:792,1
    - Dst: static_cast<Http2SettingsIdentifier>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:792,1
    - Dst: Http2ConnectionState::increment_received_settings_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:797,1
    - Dst: Http2ConnectionState::get_received_settings_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:800,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:800,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:801,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:802,1
    - Dst: Http2ConnectionState::get_received_settings_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:803,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:804,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:811,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:812,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:813,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 814
    functionName: Http2ConnectionState::rcv_settings_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - read_rcv_buffer
    - Http2DebugNames::get_settings_param_name
    - Http2ConnectionState::session::xmit
    - Http2ConnectionState::increment_received_settings_count
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::_process_incoming_settings_ack_frame
    - Http2StreamDebug
    - make_iovec
    - Http2ConnectionState::peer_settings::set
    - Warning
    - Http2ConnectionState::get_received_settings_frame_count
    - Http2Error
    - Http2ConnectionState::update_initial_peer_rwnd
    - static_cast<uint32_t>
    - Http2ConnectionState::increment_received_settings_frame_count
    - Http2ConnectionState::session::get_connection_id
    - Http2ConnectionState::get_zombie_event
    - http2_parse_settings_parameter
    - Http2ConnectionState::get_received_settings_count
    - http2_settings_parameter_is_valid
    - static_cast<Http2SettingsIdentifier>
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_settings_frame(const Http2Frame
      &frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:819,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:819,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: Http2ConnectionState::rcv_push_promise_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - Http2StreamDebug
    - Http2Error
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_push_promise_frame(const Http2Frame
      &frame)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:831,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:833,1
    - Dst: Http2ConnectionState::schedule_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:835,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:841,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:846,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:847,1
    - Dst: Http2ConnectionState::increment_received_ping_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:852,1
    - Dst: Http2ConnectionState::get_received_ping_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:855,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:855,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:856,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:857,1
    - Dst: Http2ConnectionState::get_received_ping_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:858,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:859,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:864,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:865,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:868,1
    - Dst: Http2ConnectionState::send_ping_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:871,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 874
    functionName: Http2ConnectionState::rcv_ping_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::send_ping_frame
    - Http2Error
    - Http2Frame::reader
    - Http2ConnectionState::increment_received_ping_frame_count
    - Http2ConnectionState::schedule_zombie_event
    - Http2StreamDebug
    - static_cast<uint32_t>
    - Http2ConnectionState::get_received_ping_frame_count
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_ping_frame(const Http2Frame &frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:882,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:884,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:889,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:893,1
    - Dst: http2_parse_goaway
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:895,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:895,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:896,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:900,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:901,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:903,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:904,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 907
    functionName: Http2ConnectionState::rcv_goaway_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - static_cast<int>
    - Http2Error
    - Http2Frame::reader
    - http2_parse_goaway
    - static_cast<uint32_t>
    - Http2StreamDebug
    - Http2ConnectionState::session::get_proxy_session
    - make_iovec
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_goaway_frame(const Http2Frame
      &frame)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:914,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:918,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:919,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:920,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:924,1
    - Dst: http2_parse_window_update
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:925,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:925,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:931,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:934,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:941,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:942,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:951,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:952,1
    - Dst: Http2ConnectionState::increment_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:956,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:958,1
    - Dst: Http2ConnectionState::restart_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:960,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:963,1
    - Dst: Http2ConnectionState::is_valid_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:966,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:967,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:969,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:974,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:975,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:984,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:985,1
    - Dst: Http2Stream*::increment_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:989,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:991,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:994,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:994,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:994,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:996,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:996,1
    - Dst: Http2Stream*::restart_sending
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:997,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1001,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 1002
    functionName: Http2ConnectionState::rcv_window_update_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - Http2ConnectionState::find_stream
    - Http2Error
    - Http2ConnectionState::increment_peer_rwnd
    - Http2Frame::reader
    - Http2ConnectionState::restart_streams
    - Http2Stream*::get_peer_rwnd
    - SCOPED_MUTEX_LOCK
    - Http2Stream*::restart_sending
    - Http2Stream*::increment_peer_rwnd
    - min
    - Http2ConnectionState::get_peer_rwnd
    - this_ethread
    - Http2StreamDebug
    - Http2ConnectionState::is_valid_streamid
    - make_iovec
    - http2_parse_window_update
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_window_update_frame(const Http2Frame
      &frame)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1014,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1015,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1017,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1019,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1020,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1024,1
    - Dst: Http2ConnectionState::increment_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1025,1
    - Dst: Http2ConnectionState::get_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1027,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1027,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1028,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1029,1
    - Dst: Http2ConnectionState::get_received_empty_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1030,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1031,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1041,1
    - Dst: Http2ConnectionState::is_valid_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1043,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1044,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1047,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1051,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1053,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1058,1
    - Dst: Http2ConnectionState::increment_received_continuation_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1064,1
    - Dst: Http2ConnectionState::get_received_continuation_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1067,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1067,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1068,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1069,1
    - Dst: Http2ConnectionState::get_received_continuation_frame_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1070,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1071,1
    - Dst: max
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1081,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1082,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1087,1
    - Dst: ats_realloc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1087,1
    - Dst: Http2Frame::reader
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1088,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1091,1
    - Dst: Http2ConnectionState::clear_continued_stream_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1093,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1095,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1095,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1096,1
    - Dst: Http2Stream*::decode_header_blocks
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1100,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1101,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1105,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1108,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1111,1
    - Dst: Http2Stream*::payload_length_is_valid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1117,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1118,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1123,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1123,1
    - Dst: Http2Stream*::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1124,1
    - Dst: Http2Stream*::new_transaction
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1127,1
    - Dst: Http2Frame::is_from_early_data
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1127,1
    - Dst: Http2Stream*::send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1129,1
    - Dst: Http2ConnectionState::session::interrupt_reading_frames
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1131,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1134,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1137,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1138
    functionName: Http2ConnectionState::rcv_continuation_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::find_stream
    - Http2Frame::is_from_early_data
    - Http2ConnectionState::increment_received_empty_frame_count
    - this_ethread
    - Http2Stream*::change_state
    - Http2Frame::header
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::clear_continued_stream_id
    - max
    - Http2ConnectionState::get_received_empty_frame_count
    - Http2StreamDebug
    - Http2Stream*::new_transaction
    - ats_realloc
    - Http2Error
    - Http2Frame::reader
    - static_cast<uint32_t>
    - Http2Stream*::send_headers
    - Http2Stream*::mark_milestone
    - http2_is_client_streamid
    - Http2Stream*::get_state
    - Http2ConnectionState::acknowledged_local_settings::get
    - Http2ConnectionState::session::interrupt_reading_frames
    - static_cast<uint8_t *>
    - Http2Stream*::payload_length_is_valid
    - Http2ConnectionState::increment_received_continuation_frame_count
    - SCOPED_MUTEX_LOCK
    - Http2ConnectionState::get_received_continuation_frame_count
    - Http2Stream*::decode_header_blocks
    - Http2ConnectionState::is_valid_streamid
    linkageType: ''
    returnType: Http2Error
    signature: Http2Error Http2ConnectionState::rcv_continuation_frame(const Http2Frame
      &frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1146,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1152
    functionName: Http2ConnectionState::_get_configured_max_concurrent_streams
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::session::is_outbound
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::_get_configured_max_concurrent_streams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1157,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: Http2ConnectionState::_get_configured_min_concurrent_streams
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::session::is_outbound
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::_get_configured_min_concurrent_streams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1168,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1174
    functionName: Http2ConnectionState::_get_configured_max_active_streams
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::session::is_outbound
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::_get_configured_max_active_streams()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1179,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1180,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1185,1
    - Dst: auto::hints_from_sni::http2_initial_window_size_in::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1186,1
    - Dst: auto::hints_from_sni::http2_initial_window_size_in::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1193
    functionName: Http2ConnectionState::_get_configured_initial_window_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - auto::hints_from_sni::http2_initial_window_size_in::has_value
    - Http2ConnectionState::session::is_outbound
    - get_netvc
    - auto::hints_from_sni::http2_initial_window_size_in::value
    - ink_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::_get_configured_initial_window_size()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1198,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1204
    functionName: Http2ConnectionState::_get_configured_flow_control_policy
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::session::is_outbound
    - ink_assert
    linkageType: ''
    returnType: Http2FlowControlPolicy
    signature: Http2FlowControlPolicy Http2ConnectionState::_get_configured_flow_control_policy()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1214,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1215,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1216,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1217,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1218,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1220
    functionName: Http2ConnectionSettings::Http2ConnectionSettings
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionSettings::indexof
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionSettings::Http2ConnectionSettings()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1226,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1227,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1229,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1230,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1232,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1233,1
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - is_outbound
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1235
    functionName: Http2ConnectionSettings::settings_from_configs
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionSettings::indexof
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionSettings::settings_from_configs(bool is_outbound)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1241,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http2SettingsIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1247
    functionName: Http2ConnectionSettings::get
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionSettings::indexof
    - ink_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned Http2ConnectionSettings::get(Http2SettingsIdentifier id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionSettings::indexof
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - Http2SettingsIdentifier
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1259
    functionName: Http2ConnectionSettings::set
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionSettings::indexof
    linkageType: ''
    returnType: unsigned
    signature: unsigned Http2ConnectionSettings::set(Http2SettingsIdentifier id, unsigned
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http2SettingsIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1267
    functionName: Http2ConnectionSettings::indexof
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 4
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned Http2ConnectionSettings::indexof(Http2SettingsIdentifier id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: Http2ConnectionState::Http2ConnectionState
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::Http2ConnectionState()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1281,1
    - Dst: Http2ConDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1293,1
    - Dst: HpackHandle::HpackHandle
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1295,1
    - Dst: HpackHandle::HpackHandle
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1296,1
    - Dst: Http2ConnectionState::_get_configured_max_concurrent_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1298,1
    - Dst: DependencyTree::DependencyTree
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1298,1
    - Dst: Http2ConnectionSettings::Http2ConnectionSettings
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1309,1
    - Dst: Http2ConnectionSettings::settings_from_configs
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1310,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1310,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1311,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1312,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1313,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1314,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1323,1
    - Dst: auto::hints_from_sni::http2_max_settings_frames_per_minute::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1324,1
    - Dst: auto::hints_from_sni::http2_max_settings_frames_per_minute::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1325,1
    - Dst: auto::hints_from_sni::http2_max_ping_frames_per_minute::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1327,1
    - Dst: auto::hints_from_sni::http2_max_ping_frames_per_minute::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1328,1
    - Dst: auto::hints_from_sni::http2_max_priority_frames_per_minute::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1330,1
    - Dst: auto::hints_from_sni::http2_max_priority_frames_per_minute::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1331,1
    - Dst: auto::hints_from_sni::http2_max_rst_stream_frames_per_minute::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1333,1
    - Dst: auto::hints_from_sni::http2_max_rst_stream_frames_per_minute::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1334,1
    - Dst: auto::hints_from_sni::http2_max_continuation_frames_per_minute::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1336,1
    - Dst: auto::hints_from_sni::http2_max_continuation_frames_per_minute::value
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1337,1
    - Dst: ActivityCop<Http2Stream>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1341,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - Http2CommonSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1343
    functionName: Http2ConnectionState::init
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConDebug
    - HpackHandle::HpackHandle
    - auto::hints_from_sni::http2_max_ping_frames_per_minute::has_value
    - auto::hints_from_sni::http2_max_rst_stream_frames_per_minute::has_value
    - set
    - auto::hints_from_sni::http2_max_rst_stream_frames_per_minute::value
    - get_netvc
    - Http2ConnectionSettings::get
    - auto::hints_from_sni::http2_max_priority_frames_per_minute::value
    - auto::hints_from_sni::http2_max_ping_frames_per_minute::value
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - ActivityCop<Http2Stream>
    - is_outbound
    - auto::hints_from_sni::http2_max_continuation_frames_per_minute::has_value
    - Http2ConnectionSettings::Http2ConnectionSettings
    - start
    - auto::hints_from_sni::http2_max_settings_frames_per_minute::has_value
    - auto::hints_from_sni::http2_max_settings_frames_per_minute::value
    - auto::hints_from_sni::http2_max_priority_frames_per_minute::has_value
    - auto::hints_from_sni::http2_max_continuation_frames_per_minute::value
    - DependencyTree::DependencyTree
    - Http2ConnectionSettings::settings_from_configs
    - Http2ConnectionState::_get_configured_max_concurrent_streams
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::init(Http2CommonSession *ssn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1358,1
    - Dst: Http2ConnectionSettings::Http2ConnectionSettings
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1360,1
    - Dst: Http2ConnectionSettings::settings_from_configs
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1361,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1361,1
    - Dst: Http2ConnectionSettings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1367,1
    - Dst: Http2ConnectionSettings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1369,1
    - Dst: Http2ConnectionState::_adjust_concurrent_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1369,1
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1371,1
    - Dst: Http2ConnectionState::_has_dynamic_stream_window
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1372,1
    - Dst: Http2ConnectionSettings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1376,1
    - Dst: Http2ConnectionState::send_settings_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1379,1
    - Dst: Http2ConDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1386,1
    - Dst: Http2ConnectionState::send_window_update_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1389
    functionName: Http2ConnectionState::send_connection_preface
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - is_outbound
    - REMEMBER
    - Http2ConnectionState::_adjust_concurrent_stream
    - Http2ConDebug
    - Http2ConnectionSettings::set
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - Http2ConnectionSettings::settings_from_configs
    - Http2ConnectionState::_has_dynamic_stream_window
    - Http2ConnectionState::send_settings_frame
    - Http2ConnectionSettings::Http2ConnectionSettings
    - Http2ConnectionState::send_window_update_frame
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_connection_preface()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::schedule_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1395,1
    - Dst: stop
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1400,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1403,1
    - Dst: Http2ConnectionState::cleanup_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1406,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1417,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1420,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1424,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1428,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1436
    functionName: Http2ConnectionState::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::cleanup_streams
    - stop
    - Http2ConnectionState::schedule_zombie_event
    - cancel
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::destroy()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1441,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1442,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1447,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1448,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1448,1
    - Dst: Http2Frame*::is_from_early_data
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1463,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1464,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1464,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1465,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1465,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1466,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1466,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1470,1
    - Dst: Http2Frame*::header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1471,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1473,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1478,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1478,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1481,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1482,1
    - Dst: get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1482,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1484,1
    - Dst: Http2ConnectionState::session::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1485,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1487,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1487,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1494,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1494,1
    - Dst: get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1495,1
    - Dst: Http2ConnectionState::send_rst_stream_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1497,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1500,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1501,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1501,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1502,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http2Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1506
    functionName: Http2ConnectionState::rcv_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - Http2ConnectionState::find_stream
    - Http2Frame*::header
    - get_connection_id
    - Http2ConnectionState::send_goaway_frame
    - this_ethread
    - static_cast<Continuation *>
    - ats_ip_ntop
    - Http2StreamDebug
    - Http2ConnectionState::send_rst_stream_frame
    - static_cast<int>
    - Http2Error
    - Error
    - Http2ConnectionState::session::set_half_close_local_flag
    - get_proxy_session
    - ink_assert
    - Http2Stream*::get_state
    - Http2Stream*::initiating_close
    - Http2Frame*::is_from_early_data
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::rcv_frame(const Http2Frame *frame)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1513,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1528,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1528,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1529,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1531,1
    - Dst: Http2ConnectionState::cleanup_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1533,1
    - Dst: Http2ConnectionState::release_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1534,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1535,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1539,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1540,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1540,1
    - Dst: Http2ConnectionState::send_data_frames_depends_on_priority
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1541,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1545,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1546,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1546,1
    - Dst: Http2ConnectionState::restart_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1550,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1555,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1556,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1556,1
    - Dst: Http2ConnectionState::session::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1557,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1561,1
    - Dst: static_cast<Http2Error *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1565,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1569,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1569,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1570,1
    - Dst: Http2ConnectionState::session::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1571,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1573,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1573,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1579,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1580,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1586,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1589,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1589,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1589,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1594,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1595,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1603,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1605,1
    - Dst: Http2ConnectionState::session::get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1605,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1605,1
    - Dst: Http2ConnectionState::session::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1606,1
    - Dst: Http2ConDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1610,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1611,1
    - Dst: Http2ConnectionState::is_recursing
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1616,1
    - Dst: Http2ConnectionState::session::ready_to_free
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1617,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1618,1
    - Dst: Http2ConnectionState::session::get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1618,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1618,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1619,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1620,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 97
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1627
    functionName: Http2ConnectionState::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - Http2ConDebug
    - Http2ConnectionState::session::flush
    - Http2ConnectionState::send_goaway_frame
    - this_ethread
    - static_cast<Continuation *>
    - SET_HANDLER
    - Http2ConnectionState::release_stream
    - is_locked
    - Http2ConnectionState::is_recursing
    - static_cast<Http2Error *>
    - Http2ConnectionState::session::ready_to_free
    - MUTEX_TRY_LOCK
    - ink_release_assert
    - Http2ConnectionState::session::set_half_close_local_flag
    - Http2ConnectionState::session::get_proxy_session
    - ink_assert
    - Http2ConnectionState::cleanup_streams
    - Http2ConnectionState::restart_streams
    - HRTIME_SECONDS
    - SCOPED_MUTEX_LOCK
    - Http2ConnectionState::session::get_mutex
    - Http2ConnectionState::send_data_frames_depends_on_priority
    linkageType: ''
    returnType: int
    signature: int Http2ConnectionState::main_event_handler(int event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1632,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1649
    functionName: Http2ConnectionState::state_closed
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - ink_release_assert
    linkageType: ''
    returnType: int
    signature: int Http2ConnectionState::state_closed(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1655
    functionName: Http2ConnectionState::is_peer_concurrent_stream_ub
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::is_peer_concurrent_stream_ub() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1661
    functionName: Http2ConnectionState::is_peer_concurrent_stream_lb
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::is_peer_concurrent_stream_lb() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream*::get_transaction_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1666,1
    - Dst: Http2Stream*::set_transaction_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1671
    functionName: Http2ConnectionState::set_stream_id
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Stream*::get_transaction_id
    - Http2Stream*::set_transaction_id
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::set_stream_id(Http2Stream *stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1677,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1678,1
    - Dst: get_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1684,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1685,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1697,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1698,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1700,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1702,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1706,1
    - Dst: Http2ConnectionState::is_peer_concurrent_stream_ub
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1706,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1707,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1711,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1717,1
    - Dst: dynamic_cast<Http2CommonSession *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1717,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1717,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1718,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1718,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1719,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1721,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1721,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1721,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1722,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1724,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1725,1
    - Dst: in
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1725,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1727,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1728,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1733,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1737,1
    - Dst: Http2ConnectionState::get_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1738,1
    - Dst: Http2ConnectionState::increment_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1739,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1742,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1744,1
    - Dst: Http2ConnectionState::_has_dynamic_stream_window
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1744,1
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1750,1
    - Dst: load
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1750,1
    - Dst: Http2ConnectionSettings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1751,1
    - Dst: Http2ConnectionState::send_settings_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1752,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - error
    argTypes:
    - Http2Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1756
    functionName: Http2ConnectionState::create_initiating_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - load
    - THREAD_ALLOC_INIT
    - enqueue
    - new_ProxyMutex
    - cancel
    - this_ethread
    - get
    - Http2ConnectionState::session::is_outbound
    - get_netvc
    - get_half_close_local_flag
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - Http2ConnectionState::send_settings_frame
    - Http2ConnectionState::increment_stream_requests
    - is_outbound
    - ink_release_assert
    - Http2Error
    - Http2ConnectionState::session::get_proxy_session
    - get_proxy_session
    - ink_assert
    - Http2ConnectionState::get_stream_requests
    - Http2ConnectionState::acknowledged_local_settings::get
    - in
    - dynamic_cast<Http2CommonSession *>
    - Http2ConnectionSettings::set
    - Http2ConnectionState::_has_dynamic_stream_window
    - Http2ConnectionState::is_peer_concurrent_stream_ub
    linkageType: ''
    returnType: Http2Stream
    signature: 'Http2Stream *

      Http2ConnectionState::create_initiating_stream(Http2Error &error)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1762,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1763,1
    - Dst: get_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1769,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1770,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1775,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1785,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1791,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1805,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1806,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1808,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1813,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1814,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1816,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1821,1
    - Dst: Http2Error
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1823,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1828,1
    - Dst: dynamic_cast<Http2CommonSession *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1828,1
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1828,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1829,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1829,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1830,1
    - Dst: Http2ConnectionState::_has_dynamic_stream_window
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1832,1
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1844,1
    - Dst: load
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1844,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1847,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1847,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1847,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1848,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1850,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1851,1
    - Dst: in
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1851,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1853,1
    - Dst: Http2ConnectionState::get_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1854,1
    - Dst: enqueue
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1856,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1859,1
    - Dst: Http2ConnectionState::_has_dynamic_stream_window
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1861,1
    - Dst: Http2ConnectionSettings::set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1863,1
    - Dst: Http2ConnectionState::send_settings_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1864,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1868,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1874,1
    - Dst: Http2ConnectionState::increment_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1877,1
    - Dst: Http2Stream*::set_active_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1882,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1882,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1885,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1886,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 2
    argNames:
    - new_id
    - error
    argTypes:
    - Http2StreamId
    - Http2Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1889
    functionName: Http2ConnectionState::create_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - load
    - THREAD_ALLOC_INIT
    - new_ProxyMutex
    - enqueue
    - cancel
    - this_ethread
    - get
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::session::is_outbound
    - get_netvc
    - get_half_close_local_flag
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - Http2Stream*::set_active_timeout
    - Http2ConnectionState::send_settings_frame
    - Http2ConnectionState::increment_stream_requests
    - is_outbound
    - Http2Error
    - Http2ConnectionState::session::get_proxy_session
    - get_proxy_session
    - ink_assert
    - Http2ConnectionState::get_stream_requests
    - http2_is_client_streamid
    - Http2ConnectionState::acknowledged_local_settings::get
    - in
    - dynamic_cast<Http2CommonSession *>
    - Http2ConnectionSettings::set
    - HRTIME_SECONDS
    - Http2ConnectionState::_has_dynamic_stream_window
    linkageType: ''
    returnType: Http2Stream
    signature: 'Http2Stream *

      Http2ConnectionState::create_stream(Http2StreamId new_id, Http2Error &error)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1894,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1895,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http2StreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1901
    functionName: Http2ConnectionState::find_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 6
    functionsReached:
    - static_cast<Http2Stream *>
    - Http2Stream*::get_id
    - ink_assert
    linkageType: ''
    returnType: Http2Stream
    signature: 'Http2Stream *

      Http2ConnectionState::find_stream(Http2StreamId id) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1916,1
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1918,1
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1922,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1923,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1923,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1924,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1924,1
    - Dst: Http2Stream*::restart_sending
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1925,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1927,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1933,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1933,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1934,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1934,1
    - Dst: Http2Stream*::restart_sending
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1940
    functionName: Http2ConnectionState::restart_streams
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached:
    - Http2Stream*::get_peer_rwnd
    - Http2Stream*::restart_sending
    - SCOPED_MUTEX_LOCK
    - static_cast<Http2Stream *>
    - Http2ConnectionState::get_peer_rwnd
    - this_ethread
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::restart_streams()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::session::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1945,1
    - Dst: Http2ConnectionState::_get_configured_receive_session_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1950,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1952,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1952,1
    - Dst: Http2ConnectionState::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1953,1
    - Dst: Http2ConnectionState::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1954,1
    - Dst: Http2ConnectionState::increment_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1956,1
    - Dst: Http2ConnectionState::send_window_update_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1958,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1963,1
    - Dst: Http2ConnectionState::acknowledged_local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1969,1
    - Dst: Http2Stream*::read_vio_read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1970,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1973,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1978,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1980,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1980,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1980,1
    - Dst: Http2Stream*::increment_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1987,1
    - Dst: Http2ConnectionState::send_window_update_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1988,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1988,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1990
    functionName: Http2ConnectionState::restart_receiving
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::acknowledged_local_settings::get
    - Http2Stream*::read_vio_read_avail
    - Http2Stream*::get_local_rwnd
    - Http2ConnectionState::_get_configured_receive_session_window_size
    - Http2Stream*::get_id
    - min
    - Http2ConnectionState::get_local_rwnd
    - Http2ConnectionState::session::get_proxy_session
    - Http2ConnectionState::increment_local_rwnd
    - Http2Stream*::increment_local_rwnd
    - Http2ConnectionState::send_window_update_frame
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::restart_receiving(Http2Stream *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1997,1
    - Dst: Http2Stream*::set_rx_error_code
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:1999,1
    - Dst: Http2Stream*::set_tx_error_code
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2002,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2004,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2005,1
    - Dst: Http2ConnectionState::is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2009,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2010,1
    - Dst: Http2ConnectionState::session::get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2010,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2010,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2012,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2012,1
    - Dst: UnixNetVConnection*::add_to_keep_alive_queue
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2017
    functionName: Http2ConnectionState::cleanup_streams
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached:
    - Http2Stream*::initiating_close
    - get_netvc
    - SCOPED_MUTEX_LOCK
    - Http2Stream*::set_rx_error_code
    - Http2ConnectionState::session::get_mutex
    - Http2Stream*::set_tx_error_code
    - static_cast<Http2Stream *>
    - UnixNetVConnection*::add_to_keep_alive_queue
    - this_ethread
    - static_cast<UnixNetVConnection *>
    - ink_assert
    - Http2ConnectionState::is_state_closed
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::cleanup_streams()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2022,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2023,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2023,1
    - Dst: in
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2026,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2030,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2030,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2031,1
    - Dst: Http2ConnectionState::dependency_tree::find
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2035,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2035,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2036,1
    - Dst: deactivate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2039,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2041,1
    - Dst: dump_tree
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2043,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2044,1
    - Dst: get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2044,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2044,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2046,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2052,1
    - Dst: Http2ConnectionState::send_rst_stream_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2053,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2053,1
    - Dst: remove
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2056,1
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2057,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2057,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2058,1
    - Dst: Http2ConnectionState::is_peer_concurrent_stream_lb
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2060,1
    - Dst: add_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2061,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2064,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2070,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2073
    functionName: Http2ConnectionState::delete_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - add_session
    - REMEMBER
    - Http2ConnectionState::dependency_tree::find
    - Http2Stream*::get_id
    - get_connection_id
    - this_ethread
    - remove
    - Http2StreamDebug
    - deactivate
    - Http2ConnectionState::send_rst_stream_frame
    - std::stringstream::str
    - ink_release_assert
    - Dbg
    - dump_tree
    - ink_assert
    - Http2Stream*::get_state
    - http2_is_client_streamid
    - in
    - Http2Stream*::initiating_close
    - 'on'
    - SCOPED_MUTEX_LOCK
    - Http2ConnectionState::is_peer_concurrent_stream_lb
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::delete_stream(Http2Stream *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2078,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2080,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2080,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2082,1
    - Dst: get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2082,1
    - Dst: do_clear_session_active
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2086,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2091,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2096,1
    - Dst: do_clear_session_active
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2099,1
    - Dst: set_no_activity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2100,1
    - Dst: static_cast<UnixNetVConnection *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2101,1
    - Dst: get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2101,1
    - Dst: UnixNetVConnection*::add_to_keep_alive_queue
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2104,1
    - Dst: Http2ConnectionState::schedule_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2107,1
    - Dst: Http2ConnectionState::schedule_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2113
    functionName: Http2ConnectionState::release_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - REMEMBER
    - get_netvc
    - SCOPED_MUTEX_LOCK
    - set_no_activity_timeout
    - UnixNetVConnection*::add_to_keep_alive_queue
    - this_ethread
    - Http2ConnectionState::schedule_zombie_event
    - get_mutex
    - do_clear_session_active
    - static_cast<UnixNetVConnection *>
    - get_proxy_session
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::release_stream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2119,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2120,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2120,1
    - Dst: Http2Stream*::set_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2132,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2132,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - Http2WindowSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2134
    functionName: Http2ConnectionState::update_initial_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - get
    - Http2Stream*::set_peer_rwnd
    - Http2Stream*::get_peer_rwnd
    - SCOPED_MUTEX_LOCK
    - static_cast<Http2Stream *>
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::update_initial_peer_rwnd(Http2WindowSize
      new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2140,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2141,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2141,1
    - Dst: Http2Stream*::set_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2153,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2153,1
    - Dst: Http2Stream*::get_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - Http2WindowSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2155
    functionName: Http2ConnectionState::update_initial_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - get
    - Http2Stream*::get_local_rwnd
    - SCOPED_MUTEX_LOCK
    - static_cast<Http2Stream *>
    - this_ethread
    - Http2Stream*::set_local_rwnd
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::update_initial_local_rwnd(Http2WindowSize
      new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2160,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2160,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2163,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2165,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2165,1
    - Dst: activate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2166,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2169,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2170,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2172
    functionName: Http2ConnectionState::schedule_stream_to_send_priority_frames
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - SCOPED_MUTEX_LOCK
    - Http2Stream*::get_id
    - Http2StreamDebug
    - activate
    - this_ethread
    - static_cast<Continuation *>
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::schedule_stream_to_send_priority_frames(Http2Stream
      *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2177,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2177,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2179,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2179,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2182,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2186,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2188,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2188,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2191
    functionName: Http2ConnectionState::schedule_stream_to_send_data_frames
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Http2Stream*::get_id
    - HRTIME_MSECONDS
    - min
    - Http2StreamDebug
    - this_ethread
    - static_cast<Continuation *>
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::schedule_stream_to_send_data_frames(Http2Stream
      *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2196,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2197,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2197,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2200,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2201,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2203
    functionName: Http2ConnectionState::schedule_retransmit
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Http2StreamDebug
    - this_ethread
    - static_cast<Continuation *>
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::schedule_retransmit(ink_hrtime t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2208,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2209,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2209,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2214
    functionName: Http2ConnectionState::cancel_retransmit
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Http2StreamDebug
    - cancel
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::cancel_retransmit()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2219,1
    - Dst: static_cast<Http2Stream *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2226,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2227,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2228,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2229,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2229,1
    - Dst: Http2ConnectionState::send_a_data_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2232,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2233,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2238,1
    - Dst: deactivate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2239,1
    - Dst: update
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2241,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2242,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2242,1
    - Dst: Http2Stream*::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2243,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2243,1
    - Dst: deactivate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2248,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2249,1
    - Dst: deactivate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2254,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2259,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2216
    functionDepth: 1
    functionLinenumber: 2216
    functionLinenumberEnd: 2263
    functionName: Http2ConnectionState::send_data_frames_depends_on_priority
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2Stream*::signal_write_event
    - ink_release_assert
    - Http2Stream*::initiating_close
    - Http2Stream*::get_id
    - SCOPED_MUTEX_LOCK
    - static_cast<Http2Stream *>
    - Http2StreamDebug
    - this_ethread
    - top
    - static_cast<Continuation *>
    - deactivate
    - Http2ConnectionState::send_a_data_frame
    - Http2Stream*::is_write_vio_done
    - update
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_data_frames_depends_on_priority()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2268,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2268,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2268,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2269,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2270,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2270,1
    - Dst: Http2Stream*::get_data_reader_for_send
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2274,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2276,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2276,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2279,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2279,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2284,1
    - Dst: is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2287,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2289,1
    - Dst: get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2289,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2293,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2293,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2294,1
    - Dst: Http2ConnectionState::peer_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2294,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2296,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2296,1
    - Dst: Http2ConnectionState::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2297,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2297,1
    - Dst: Http2ConnectionState::peer_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2297,1
    - Dst: Http2ConnectionState::session::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2298,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2302,1
    - Dst: IOBufferReader*::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2305,1
    - Dst: Http2ConnectionState::session::is_write_high_water
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2314,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2315,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2315,1
    - Dst: Http2ConnectionState::session::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2316,1
    - Dst: Http2Stream*::update_sent_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2320,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2328,1
    - Dst: Http2Stream*::expect_send_trailer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2328,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2329,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2329,1
    - Dst: Http2ConnectionState::session::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2330,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2334,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2334,1
    - Dst: Http2Stream*::expect_send_trailer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2334,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2335,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2335,1
    - Dst: Http2ConnectionState::decrement_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2340,1
    - Dst: Http2Stream*::decrement_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2341,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2344,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2344,1
    - Dst: Http2Stream*::get_peer_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2345,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2347,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2348,1
    - Dst: Http2Stream*::is_tunneling
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2348,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2351,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2351,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2354,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - stream
    - payload_length
    argTypes:
    - Http2Stream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2265
    functionDepth: 1
    functionLinenumber: 2265
    functionLinenumberEnd: 2360
    functionName: Http2ConnectionState::send_a_data_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2Stream*::is_tunneling
    - Http2ConnectionState::session::flush
    - Http2Stream*::get_peer_rwnd
    - Http2Stream*::get_id
    - Http2ConnectionState::peer_settings::get
    - min
    - IOBufferReader*::read_avail
    - Http2ConnectionState::session::xmit
    - this_ethread
    - Http2Stream*::change_state
    - IOBufferReader*::is_read_avail_more_than
    - Http2ConnectionState::session::is_write_high_water
    - Http2ConnectionState::get_peer_rwnd
    - ats_ip_ntop
    - Http2StreamDebug
    - Http2Stream*::is_write_vio_done
    - Http2ConnectionState::decrement_peer_rwnd
    - is_outbound
    - Warning
    - static_cast<size_t>
    - Http2Stream*::decrement_peer_rwnd
    - get_proxy_session
    - Http2Stream*::update_sent_count
    - SCOPED_MUTEX_LOCK
    - Http2Stream*::get_data_reader_for_send
    - Http2Stream*::expect_send_trailer
    - BUFFER_SIZE_FOR_INDEX
    linkageType: ''
    returnType: Http2SendDataFrameResult
    signature: Http2SendDataFrameResult Http2ConnectionState::send_a_data_frame(Http2Stream
      *stream, size_t &payload_length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2367,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2368,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2369,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2369,1
    - Dst: Http2Stream*::initiating_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2370,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2375,1
    - Dst: Http2Stream*::get_data_reader_for_send
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2382,1
    - Dst: Http2ConnectionState::send_a_data_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2384,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2385,1
    - Dst: Http2Stream*::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2388,1
    - Dst: Http2Stream*::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2389,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2391,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2391,1
    - Dst: Http2Stream*::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2392,1
    - Dst: Http2Stream*::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2393,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2397,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2397,1
    - Dst: Http2Stream*::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2399,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2399,1
    - Dst: Http2Stream*::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2400,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2402,1
    - Dst: Http2ConnectionState::schedule_stream_to_send_data_frames
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2406,1
    - Dst: Http2Stream*::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2410,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2362
    functionDepth: 2
    functionLinenumber: 2362
    functionLinenumberEnd: 2414
    functionName: Http2ConnectionState::send_data_frames
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Stream*::get_state
    - Http2Stream*::signal_write_event
    - IOBufferReader*::is_read_avail_more_than
    - Http2Stream*::initiating_close
    - ink_release_assert
    - Http2Stream*::do_io_close
    - Http2Stream*::get_id
    - Http2Stream*::get_data_reader_for_send
    - Http2ConnectionState::schedule_stream_to_send_data_frames
    - Http2StreamDebug
    - cancel
    - Http2Stream*::is_outbound_connection
    - Http2ConnectionState::send_a_data_frame
    - Http2Stream*::is_write_vio_done
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_data_frames(Http2Stream *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::set_stream_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2427,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2430,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2430,1
    - Dst: Http2Stream*::get_send_header
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2432,1
    - Dst: Http2Stream*::expect_send_trailer
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2433,1
    - Dst: http2_convert_header_from_1_1_to_2
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2436,1
    - Dst: HTTPHdr*::length_get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2439,1
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2441,1
    - Dst: Http2Stream*::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2443,1
    - Dst: http2_encode_header_blocks
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2444,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2445,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2451,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2451,1
    - Dst: Http2Stream*::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2454,1
    - Dst: HTTPHdr*::method_get_wksidx
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2455,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2463,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2464,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2465,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2466,1
    - Dst: HTTPHdr*::value_get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2467,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2467,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2468,1
    - Dst: Http2Stream*::get_sm
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2474,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2479,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2479,1
    - Dst: HTTPHdr*::presence
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2484,1
    - Dst: HTTPHdr*::get_content_length
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2484,1
    - Dst: HTTPHdr*::expect_final_response
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2485,1
    - Dst: Http2Stream*::is_write_vio_done
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2485,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2486,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2486,1
    - Dst: Http2Stream*::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2491,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2493,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2497,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2498,1
    - Dst: Http2ConnectionState::session::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2499,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2501,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2501,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2507,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2507,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2508,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2509,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2515,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2515,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2516,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2516,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2516,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2517,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2521,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2523,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2524,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Http2Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2416
    functionDepth: 2
    functionLinenumber: 2416
    functionLinenumberEnd: 2527
    functionName: Http2ConnectionState::send_headers_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2Stream*::get_id
    - Http2Stream*::get_sm
    - min
    - Http2ConnectionState::session::xmit
    - Http2ConnectionState::send_goaway_frame
    - this_ethread
    - static_cast<Continuation *>
    - Http2Stream*::change_state
    - get
    - Http2StreamDebug
    - HTTPHdr*::length_get
    - HTTPHdr*::method_get_wksidx
    - HTTPHdr*::value_get
    - Http2Stream*::is_write_vio_done
    - static_cast<std::string_view>
    - Http2ConnectionState::session::set_half_close_local_flag
    - Http2Stream*::get_send_header
    - static_cast<uint32_t>
    - HTTPHdr*::expect_final_response
    - Http2Stream*::is_outbound_connection
    - HTTPHdr*::get_content_length
    - Http2Stream*::mark_milestone
    - http2_convert_header_from_1_1_to_2
    - Http2ConnectionState::set_stream_id
    - HTTPHdr*::presence
    - ts::LocalBuffer::data
    - Http2Stream*::expect_send_trailer
    - BUFFER_SIZE_FOR_INDEX
    - http2_encode_header_blocks
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_headers_frame(Http2Stream *stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2537,1
    - Dst: Http2ConnectionState::session::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2537,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2538,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2542,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2542,1
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2544,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2545,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2546,1
    - Dst: HTTPHdr::url_set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2547,1
    - Dst: HTTPHdr::method_set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2548,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2548,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2551,1
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2552,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2554,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2555,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2557,1
    - Dst: http2_convert_header_from_1_1_to_2
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2560,1
    - Dst: HTTPHdr::length_get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2562,1
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2564,1
    - Dst: http2_encode_header_blocks
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2566,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2567,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2575,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2580,1
    - Dst: Http2ConnectionState::get_latest_stream_id_out
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2583,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2586,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2587,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2593,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2593,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2594,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2594,1
    - Dst: BUFFER_SIZE_FOR_INDEX
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2594,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2595,1
    - Dst: Http2Stream*::get_id
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2600,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2601,1
    - Dst: Http2ConnectionState::create_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2606,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2611,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2611,1
    - Dst: Http2ConnectionState::dependency_tree::find
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2613,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2617,1
    - Dst: Http2ConnectionState::dependency_tree::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2619,1
    - Dst: Http2ConnectionState::dependency_tree::add
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2622,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2625,1
    - Dst: Http2Stream*::set_receive_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2626,1
    - Dst: Http2Stream*::new_transaction
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2627,1
    - Dst: Http2Stream*::send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 3
    argNames:
    - stream
    - url
    - accept_encoding
    argTypes:
    - Http2Stream*
    - URL
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2529
    functionDepth: 2
    functionLinenumber: 2529
    functionLinenumberEnd: 2632
    functionName: Http2ConnectionState::send_push_promise_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 0
    functionsReached:
    - Http2ConnectionState::dependency_tree::find
    - HTTPHdr::field_attach
    - Http2Stream*::get_id
    - HTTPHdr::destroy
    - min
    - Http2ConnectionState::session::xmit
    - MIMEField*::value_get
    - this_ethread
    - Http2Stream*::change_state
    - HTTPHdr::length_get
    - Http2ConnectionState::dependency_tree::size
    - get
    - Http2ConnectionState::session::is_outbound
    - Http2ConnectionState::dependency_tree::add
    - Http2StreamDebug
    - Http2Stream*::new_transaction
    - ink_release_assert
    - static_cast<std::string_view>
    - Http2Stream*::set_receive_headers
    - HTTPHdr::method_set
    - static_cast<uint32_t>
    - Http2Stream*::send_headers
    - MIMEField*::value_set
    - Http2ConnectionState::get_latest_stream_id_out
    - HTTPHdr::HTTPHdr
    - HTTPHdr::field_create
    - HTTPHdr::create
    - http2_convert_header_from_1_1_to_2
    - MIMEField*::name_get
    - SCOPED_MUTEX_LOCK
    - ts::LocalBuffer::data
    - BUFFER_SIZE_FOR_INDEX
    - Http2ConnectionState::create_stream
    - HTTPHdr::url_set
    - http2_encode_header_blocks
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::send_push_promise_frame(Http2Stream *stream,
      URL &url, const MIMEField *accept_encoding)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2637,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2637,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2640,1
    - Dst: Http2ConnectionState::find_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2645,1
    - Dst: Http2Stream*::set_tx_error_code
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2647,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2647,1
    - Dst: Http2Stream*::change_state
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2648,1
    - Dst: Http2ConnectionState::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2649,1
    - Dst: Http2ConnectionState::session::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2650,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2652,1
    - Dst: static_cast<Continuation *>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2652,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - id
    - ec
    argTypes:
    - Http2StreamId
    - Http2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2634
    functionDepth: 2
    functionLinenumber: 2634
    functionLinenumberEnd: 2661
    functionName: Http2ConnectionState::send_rst_stream_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 3
    functionsReached:
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::find_stream
    - Http2Stream*::set_tx_error_code
    - Http2ConnectionState::session::set_half_close_local_flag
    - Http2ConnectionState::session::xmit
    - Http2ConnectionState::send_goaway_frame
    - static_cast<uint32_t>
    - Http2StreamDebug
    - this_ethread
    - static_cast<Continuation *>
    - Http2Stream*::change_state
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_rst_stream_frame(Http2StreamId id,
      Http2ErrorCode ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2668,1
    - Dst: static_cast<Http2SettingsIdentifier>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2674,1
    - Dst: get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2675,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2676,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2680,1
    - Dst: Http2DebugNames::get_settings_param_name
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2680,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2682,1
    - Dst: set
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2685,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2685,1
    - Dst: Http2ConnectionState::_outstanding_settings_frames::emplace
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2691,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - new_settings
    argTypes:
    - Http2ConnectionSettings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2663
    functionDepth: 1
    functionLinenumber: 2663
    functionLinenumberEnd: 2693
    functionName: Http2ConnectionState::send_settings_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 3
    functionsReached:
    - get
    - Http2ConnectionSettings::get
    - Http2DebugNames::get_settings_param_name
    - Http2ConnectionState::session::xmit
    - Http2StreamDebug
    - set
    - Http2ConnectionState::_outstanding_settings_frames::emplace
    - static_cast<uint16_t>
    - static_cast<Http2SettingsIdentifier>
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_settings_frame(const Http2ConnectionSettings
      &new_settings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2699,1
    - Dst: Http2ConnectionState::_outstanding_settings_frames::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2700,1
    - Dst: Http2ConnectionState::_outstanding_settings_frames::front
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2705,1
    - Dst: static_cast<Http2SettingsIdentifier>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2708,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2709,1
    - Dst: Http2ConnectionSettings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2710,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2716,1
    - Dst: Http2DebugNames::get_settings_param_name
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2716,1
    - Dst: Http2ConnectionState::update_initial_local_rwnd
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2721,1
    - Dst: Http2ConnectionState::_outstanding_settings_frames::pop
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2695
    functionDepth: 2
    functionLinenumber: 2695
    functionLinenumberEnd: 2726
    functionName: Http2ConnectionState::_process_incoming_settings_ack_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionSettings::get
    - Http2ConnectionState::update_initial_local_rwnd
    - Http2DebugNames::get_settings_param_name
    - Http2ConnectionState::_outstanding_settings_frames::size
    - Http2StreamDebug
    - Http2ConnectionState::_outstanding_settings_frames::pop
    - Http2ConnectionState::_outstanding_settings_frames::front
    - static_cast<Http2SettingsIdentifier>
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::_process_incoming_settings_ack_frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2731,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - id
    - flag
    - opaque_data
    argTypes:
    - Http2StreamId
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2735
    functionName: Http2ConnectionState::send_ping_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::session::xmit
    - Http2StreamDebug
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_ping_frame(Http2StreamId id, uint8_t
      flag, const uint8_t *opaque_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2742,1
    - Dst: Http2ConDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2744,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2744,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2747,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2750,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - id
    - ec
    argTypes:
    - Http2StreamId
    - Http2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2739
    functionDepth: 1
    functionLinenumber: 2739
    functionLinenumberEnd: 2758
    functionName: Http2ConnectionState::send_goaway_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 4
    functionsReached:
    - ts::Metrics::Counter::increment
    - Http2ConDebug
    - Http2ConnectionState::session::xmit
    - static_cast<uint32_t>
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_goaway_frame(Http2StreamId id, Http2ErrorCode
      ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2763,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2766,1
    - Dst: Http2ConnectionState::session::xmit
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - size
    argTypes:
    - Http2StreamId
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 2771
    functionName: Http2ConnectionState::send_window_update_frame
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached:
    - Http2ConnectionState::session::xmit
    - ink_release_assert
    - Http2StreamDebug
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::send_window_update_frame(Http2StreamId id,
      uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_settings_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2777
    functionName: Http2ConnectionState::increment_received_settings_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_settings_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_settings_count(uint32_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_settings_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2783
    functionName: Http2ConnectionState::get_received_settings_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_settings_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_settings_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_settings_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2789
    functionName: Http2ConnectionState::increment_received_settings_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_settings_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_settings_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_settings_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2795
    functionName: Http2ConnectionState::get_received_settings_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_settings_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_settings_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_ping_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: Http2ConnectionState::increment_received_ping_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_ping_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_ping_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_ping_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2807
    functionName: Http2ConnectionState::get_received_ping_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_ping_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_ping_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_priority_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2813
    functionName: Http2ConnectionState::increment_received_priority_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_priority_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_priority_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_priority_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2819
    functionName: Http2ConnectionState::get_received_priority_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_priority_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_priority_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_rst_stream_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2825
    functionName: Http2ConnectionState::increment_received_rst_stream_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_rst_stream_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_rst_stream_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_rst_stream_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2831
    functionName: Http2ConnectionState::get_received_rst_stream_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_rst_stream_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_rst_stream_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_continuation_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2837
    functionName: Http2ConnectionState::increment_received_continuation_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_continuation_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_continuation_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_continuation_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2843
    functionName: Http2ConnectionState::get_received_continuation_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_received_continuation_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_continuation_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_empty_frame_counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2849
    functionName: Http2ConnectionState::increment_received_empty_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached:
    - Http2ConnectionState::_received_empty_frame_counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_received_empty_frame_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_received_empty_frame_counter::get_count
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: Http2ConnectionState::get_received_empty_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached:
    - Http2ConnectionState::_received_empty_frame_counter::get_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_received_empty_frame_count()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_get_configured_max_concurrent_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2862,1
    - Dst: Http2ConnectionState::_get_configured_max_active_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2863,1
    - Dst: Http2ConnectionState::_get_configured_min_concurrent_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2864,1
    - Dst: ts::Metrics::Gauge::load
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2871,1
    - Dst: Http2ConDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2873,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2877,1
    - Dst: Note
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2891
      start: 2859
    functionDepth: 2
    functionLinenumber: 2859
    functionLinenumberEnd: 2891
    functionName: Http2ConnectionState::_adjust_concurrent_stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - Http2ConnectionState::_get_configured_max_active_streams
    - Http2ConDebug
    - Warning
    - Http2ConnectionState::_get_configured_max_concurrent_streams
    - Http2ConnectionState::_get_configured_min_concurrent_streams
    - ts::Metrics::Gauge::load
    - Note
    linkageType: ''
    returnType: unsigned
    signature: unsigned Http2ConnectionState::_adjust_concurrent_stream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_get_configured_flow_control_policy
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2896,1
    - Dst: Http2ConnectionState::_get_configured_initial_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2898,1
    - Dst: Http2ConnectionState::_get_configured_initial_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2901,1
    - Dst: Http2ConnectionState::_get_configured_max_concurrent_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2901,1
    - Dst: Http2ConnectionState::_get_configured_initial_window_size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2893
    functionDepth: 2
    functionLinenumber: 2893
    functionLinenumberEnd: 2906
    functionName: Http2ConnectionState::_get_configured_receive_session_window_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 6
    functionsReached:
    - Http2ConnectionState::_get_configured_max_concurrent_streams
    - Http2ConnectionState::_get_configured_flow_control_policy
    - Http2ConnectionState::_get_configured_initial_window_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::_get_configured_receive_session_window_size()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_get_configured_flow_control_policy
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2908
    functionDepth: 2
    functionLinenumber: 2908
    functionLinenumberEnd: 2921
    functionName: Http2ConnectionState::_has_dynamic_stream_window
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 3
    functionsReached:
    - Http2ConnectionState::_get_configured_flow_control_policy
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::_has_dynamic_stream_window() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2927
    functionName: Http2ConnectionState::get_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Http2ConnectionState::get_peer_rwnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::_recent_rwnd_increment::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2936,1
    - Dst: std::accumulate
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2937,1
    - Dst: Http2ConnectionState::_recent_rwnd_increment::begin
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2937,1
    - Dst: Http2ConnectionState::_recent_rwnd_increment::end
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2937,1
    - Dst: Http2ConnectionState::_recent_rwnd_increment::size
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2938,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc:2940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2944
    functionName: Http2ConnectionState::increment_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    - Http2ConnectionState::_recent_rwnd_increment::size
    - Http2ConnectionState::_recent_rwnd_increment::begin
    - Http2ConnectionState::_recent_rwnd_increment::end
    - std::accumulate
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2ConnectionState::increment_peer_rwnd(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 2951
    functionName: Http2ConnectionState::decrement_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2ConnectionState::decrement_peer_rwnd(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 2957
    functionName: Http2ConnectionState::get_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Http2ConnectionState::get_local_rwnd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2964
    functionName: Http2ConnectionState::increment_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2ConnectionState::increment_local_rwnd(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2971
    functionName: Http2ConnectionState::decrement_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ConnectionState.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2ConnectionState::decrement_local_rwnd(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:37,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:37,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: send_connection_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int send_connection_event(Continuation *cont, int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Http2ServerSession::Http2ServerSession
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::Http2ServerSession()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::remove_session
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:49,1
    - Dst: Http2ServerSession::release_outbound_connection_tracking
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:50,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:51,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:52,1
    - Dst: Http2ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:54,1
    - Dst: Http2ServerSession::free
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: Http2ServerSession::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - Http2ServerSession::free
    - Http2SsnDebug
    - Http2ServerSession::do_io_close
    - Http2ServerSession::remove_session
    - Http2ServerSession::release_outbound_connection_tracking
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::common_free
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:65,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:66,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: Http2ServerSession::free
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - THREAD_FREE
    - ts::Metrics::Gauge::decrement
    - Http2CommonSession::common_free
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:74,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:74,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:76,1
    - Dst: HTTP2_SET_SESSION_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:77,1
    - Dst: Http2ServerSession::do_io_read
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:79,1
    - Dst: Http2ServerSession::do_io_write
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:80,1
    - Dst: Http2ServerSession::connection_state::init
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:82,1
    - Dst: Http2ServerSession::write_buffer::write
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:88,1
    - Dst: write_reenable
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:89,1
    - Dst: Http2ServerSession::connection_state::send_connection_preface
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:90,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:91,1
    - Dst: Http2ServerSession::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: Http2ServerSession::start
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - write_reenable
    - Http2ServerSession::do_io_read
    - SCOPED_MUTEX_LOCK
    - Http2SsnDebug
    - HTTP2_SET_SESSION_HANDLER
    - Http2ServerSession::connection_state::init
    - Http2ServerSession::handleEvent
    - this_ethread
    - Http2ServerSession::do_io_write
    - SET_HANDLER
    - Http2ServerSession::connection_state::send_connection_preface
    - Http2ServerSession::write_buffer::write
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:99,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:99,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:101,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:102,1
    - Dst: Http2ServerSession::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:103,1
    - Dst: ProxySession::next_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:106,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:108,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:108,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:117,1
    - Dst: Http2ServerSession::_vc::set_tcp_congestion_control
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:119,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:121,1
    - Dst: local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:122,1
    - Dst: Http2ServerSession::read_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:123,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:127,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:128,1
    - Dst: Http2ServerSession::write_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:129,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:130,1
    - Dst: Http2ServerSession::_vc::get_service
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:133,1
    - Dst: auto::hints_from_sni::http2_buffer_water_mark::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:133,1
    - Dst: auto::hints_from_sni::http2_buffer_water_mark::value
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:134,1
    - Dst: Http2ServerSession::_handle_if_ssl
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:140,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:142,1
    - Dst: Http2ServerSession::add_session
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - new_vc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 145
    functionName: Http2ServerSession::new_connection
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - Http2ServerSession::_milestones::mark
    - ProxySession::next_connection_id
    - local_settings::get
    - Http2ServerSession::_handle_if_ssl
    - do_api_callout
    - this_ethread
    - index_to_buffer_size
    - Http2ServerSession::_vc::get_service
    - Http2ServerSession::write_buffer::alloc_reader
    - ts::Metrics::Counter::increment
    - set_inactivity_timeout
    - auto::hints_from_sni::http2_buffer_water_mark::value
    - Http2ServerSession::add_session
    - Http2ServerSession::read_buffer::alloc_reader
    - auto::hints_from_sni::http2_buffer_water_mark::has_value
    - iobuffer_size_to_index
    - Http2ServerSession::_vc::set_tcp_congestion_control
    - Http2SsnDebug
    - ink_assert
    - HRTIME_SECONDS
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::new_connection(NetVConnection *new_vc, MIOBuffer
      *iobuf, IOBufferReader *reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:153,1
    - Dst: Http2ServerSession::connection_state::is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:155,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:156,1
    - Dst: Http2ServerSession::remove_session
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:157,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:159,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:159,1
    - Dst: send_connection_event
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: Http2ServerSession::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - Http2ServerSession::connection_state::is_state_closed
    - REMEMBER
    - Http2SsnDebug
    - send_connection_event
    - this_ethread
    - Http2ServerSession::remove_session
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::do_io_close(int /* alerrno ATS_UNUSED */)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:169,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:169,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:174,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:179,1
    - Dst: get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:184,1
    - Dst: get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:186,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:187,1
    - Dst: connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:187,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:194,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:203,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:203,1
    - Dst: Http2ServerSession::set_dying_event
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:204,1
    - Dst: Http2ServerSession::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:205,1
    - Dst: Http2ServerSession::connection_state::restart_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:211,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:212,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:212,1
    - Dst: Http2ServerSession::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:213,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:221,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:222,1
    - Dst: Http2ServerSession::is_draining
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:227,1
    - Dst: Http2ServerSession::connection_state::get_shutdown_reason
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:227,1
    - Dst: Http2ServerSession::connection_state::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:228,1
    - Dst: Http2ServerSession::connection_state::get_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:231,1
    - Dst: Http2ServerSession::is_draining
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:232,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:233,1
    - Dst: Http2ServerSession::connection_state::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:234,1
    - Dst: Http2ServerSession::connection_state::get_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:248,1
    - Dst: send_connection_event
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:249,1
    - Dst: is_recursing
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:253,1
    - Dst: Http2ServerSession::free
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:254,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 257
    functionName: Http2ServerSession::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - send_connection_event
    - Http2ServerSession::flush
    - this_ethread
    - Http2ServerSession::connection_state::restart_streams
    - Http2ServerSession::connection_state::set_shutdown_state
    - Http2ServerSession::set_dying_event
    - get_zombie_event
    - Http2ServerSession::free
    - Warning
    - ink_release_assert
    - HttpDebugNames::get_event_name
    - is_recursing
    - Http2SsnDebug
    - Http2ServerSession::connection_state::get_shutdown_state
    - static_cast<Event *>
    - Http2ServerSession::do_io_close
    - static_cast<VIO *>
    - Http2ServerSession::is_draining
    - ink_assert
    - ink_get_hrtime
    - HRTIME_MSECONDS
    - connection_id
    - Http2ServerSession::connection_state::get_shutdown_reason
    linkageType: ''
    returnType: int
    signature: int Http2ServerSession::main_event_handler(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::get_remote_addr
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: Http2ServerSession::get_remote_addr
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - Http2ServerSession::get_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Http2ServerSession::get_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::get_local_addr
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: Http2ServerSession::get_local_addr
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - Http2ServerSession::get_local_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Http2ServerSession::get_local_addr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Http2ServerSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - get_stream_requests
    linkageType: ''
    returnType: int
    signature: int Http2ServerSession::get_transact_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: Http2ServerSession::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2ServerSession::get_protocol_string() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: Http2ServerSession::release
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::release(ProxyTransaction * /* trans ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::populate_protocol
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - size
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: Http2ServerSession::populate_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::populate_protocol
    linkageType: ''
    returnType: int
    signature: int Http2ServerSession::populate_protocol(std::string_view *result,
      int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:306,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:307,1
    - Dst: SSLNetVConnection::protocol_contains
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: Http2ServerSession::protocol_contains
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::protocol_contains
    - std::string_view::size
    - data
    - strncmp
    - size
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2ServerSession::protocol_contains(std::string_view prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: Http2ServerSession::get_proxy_session
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxySession
    signature: 'ProxySession *

      Http2ServerSession::get_proxy_session()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::set_session_active
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:323,1
    - Dst: create_initiating_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:327,1
    - Dst: is_peer_concurrent_stream_ub
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:329,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:331,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:331,1
    - Dst: Http2ServerSession::remove_session
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: Http2ServerSession::new_transaction
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Http2ServerSession::set_session_active
    - Error
    - create_initiating_stream
    - Http2ServerSession::remove_session
    - is_peer_concurrent_stream_ub
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      Http2ServerSession::new_transaction()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:346,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:347,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:349,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:350,1
    - Dst: ServerSessionPool*::addSession
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 354
    functionName: Http2ServerSession::add_session
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - is_locked
    - Http2SsnDebug
    - ServerSessionPool*::addSession
    - this_ethread
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::add_session()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:362,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:363,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:365,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:366,1
    - Dst: ServerSessionPool*::removeSession
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:367,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: Http2ServerSession::remove_session
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 3
    functionsReached:
    - is_locked
    - ink_release_assert
    - ServerSessionPool*::removeSession
    - Http2SsnDebug
    - this_ethread
    - MUTEX_TRY_LOCK
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::remove_session()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: Http2ServerSession::is_multiplexing
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ServerSession::is_multiplexing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: Http2ServerSession::is_outbound
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ServerSession::is_outbound() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::set_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - netvc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: Http2ServerSession::set_netvc
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 1
    functionsReached:
    - Http2ServerSession::set_netvc
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::set_netvc(NetVConnection *netvc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ServerSession::_vc::get_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:399,1
    - Dst: Http2ServerSession::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:400,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: Http2ServerSession::set_no_activity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached:
    - Http2ServerSession::_vc::get_inactivity_timeout
    - HRTIME_SECONDS
    - Http2ServerSession::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession::set_no_activity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: Http2ServerSession::get_version
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion Http2ServerSession::get_version(HTTPHdr & /* hdr ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: Http2ServerSession::get_remote_reader
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      Http2ServerSession::get_remote_reader()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: Http2ServerSession::is_protocol_framed
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ServerSession::is_protocol_framed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: Http2ServerSession::get_received_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ServerSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http2ServerSession::get_received_frame_count(uint64_t type)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: Http2DebugNames::get_settings_param_name
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2DebugNames.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2DebugNames::get_settings_param_name(uint16_t id)'
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http2StreamState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: Http2DebugNames::get_state_name
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2DebugNames.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2DebugNames::get_state_name(Http2StreamState id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state_name
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Http2SsnDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2SsnDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handler
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: HTTP2_SET_SESSION_HANDLER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP2_SET_SESSION_HANDLER(handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:58,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - reader
    - nbytes
    argTypes:
    - void*
    - IOBufferReader*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: copy_from_buffer_reader
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    - IOBufferReader*::memcpy
    linkageType: ''
    returnType: unsigned
    signature: unsigned copy_from_buffer_reader(void *dst, IOBufferReader *reader,
      unsigned nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state_name
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Http2SsnDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2SsnDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handler
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: HTTP2_SET_SESSION_HANDLER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP2_SET_SESSION_HANDLER(handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader*::memcpy
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:58,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - reader
    - nbytes
    argTypes:
    - void*
    - IOBufferReader*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: copy_from_buffer_reader
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    - IOBufferReader*::memcpy
    linkageType: ''
    returnType: unsigned
    signature: unsigned copy_from_buffer_reader(void *dst, IOBufferReader *reader,
      unsigned nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::_history::push_back
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - location
    - event
    - reentrant
    argTypes:
    - SourceLocation
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Http2CommonSession::remember
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::_history::push_back
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::remember(const SourceLocation &location, int
      event, int reentrant)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::_reenable_event::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:74,1
    - Dst: Http2CommonSession::connection_state::is_recursing
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:79,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:86,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:87,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:90,1
    - Dst: ProxySession*::is_active
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:90,1
    - Dst: Http2CommonSession::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:92,1
    - Dst: Http2CommonSession::_milestones::elapsed
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:93,1
    - Dst: ink_hrtime_from_msec
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:96,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:97,1
    - Dst: ProxySession*::connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:97,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:98,1
    - Dst: Http2CommonSession::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:99,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:108,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:112,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:118,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:121,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:124,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:127,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:130,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:133,1
    - Dst: Http2CommonSession::connection_state::destroy
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:140,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:142,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:144,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - ProxySession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 147
    functionName: Http2CommonSession::common_free
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached:
    - REMEMBER
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - ProxySession*::is_active
    - Http2CommonSession::_milestones::mark
    - Http2SsnDebug
    - Error
    - ink_hrtime_to_msec
    - ink_hrtime_from_msec
    - Http2CommonSession::connection_state::destroy
    - free_MIOBuffer
    - Http2CommonSession::_milestones::elapsed
    - Http2CommonSession::_reenable_event::cancel
    - ProxySession*::connection_id
    - Http2CommonSession::_milestones::difference_sec
    - Http2CommonSession::connection_state::is_recursing
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::common_free(ProxySession *ssn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Http2CommonSession::set_half_close_local_flag
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2SsnDebug
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::set_half_close_local_flag(bool flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http2TxFrame::write_to
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:161,1
    - Dst: Http2CommonSession::connection_state::schedule_retransmit
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:171,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:171,1
    - Dst: Http2CommonSession::flush
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - frame
    - flush
    argTypes:
    - Http2TxFrame
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: Http2CommonSession::xmit
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::flush
    - Http2CommonSession::connection_state::schedule_retransmit
    - HRTIME_MSECONDS
    - Http2TxFrame::write_to
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2CommonSession::xmit(const Http2TxFrame &frame, bool flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::connection_state::cancel_retransmit
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:184,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:187,1
    - Dst: Http2CommonSession::write_reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: Http2CommonSession::flush
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - Http2CommonSession::connection_state::cancel_retransmit
    - Http2CommonSession::write_reenable
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::flush()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:195,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:197,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:198,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:200,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:200,1
    - Dst: copy_from_buffer_reader
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:204,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:205,1
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:207,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:208,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:209,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:218,1
    - Dst: Http2CommonSession::_read_buffer_reader::consume
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:219,1
    - Dst: HTTP2_SET_SESSION_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:220,1
    - Dst: Http2CommonSession::get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:222,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:222,1
    - Dst: Http2CommonSession::get_netvc
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:223,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:223,1
    - Dst: Http2CommonSession::_read_buffer_reader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:228,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:229,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 240
    functionName: Http2CommonSession::state_read_connection_preface
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - Http2CommonSession::get_proxy_session
    - STATE_ENTER
    - ink_release_assert
    - Http2CommonSession::_read_buffer_reader::consume
    - Http2SsnDebug
    - HRTIME_SECONDS
    - copy_from_buffer_reader
    - HTTP2_SET_SESSION_HANDLER
    - Http2CommonSession::_read_buffer_reader::is_read_avail_more_than
    - Http2CommonSession::_read_buffer_reader::read_avail
    - VIO*::reenable
    - static_cast<VIO *>
    - Http2CommonSession::get_netvc
    - ink_assert
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::state_read_connection_preface(int event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:245,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:247,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:248,1
    - Dst: Http2CommonSession::do_process_frame_read
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: Http2CommonSession::state_start_frame_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::do_process_frame_read
    - static_cast<VIO *>
    - ink_assert
    - STATE_ENTER
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::state_start_frame_read(int event, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:256,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:256,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:261,1
    - Dst: copy_from_buffer_reader
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:262,1
    - Dst: http2_parse_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:265,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:265,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:266,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:267,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:277,1
    - Dst: Http2CommonSession::_read_buffer_reader::consume
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:281,1
    - Dst: http2_frame_header_is_valid
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:283,1
    - Dst: Http2CommonSession::connection_state::local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:283,1
    - Dst: Http2CommonSession::connection_state::local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:289,1
    - Dst: Http2CommonSession::connection_state::get_continued_stream_id
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ret_error
    argTypes:
    - Http2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 303
    functionName: Http2CommonSession::do_start_frame_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::connection_state::local_settings::get
    - ink_release_assert
    - http2_frame_header_is_valid
    - Http2CommonSession::_read_buffer_reader::consume
    - Http2SsnDebug
    - copy_from_buffer_reader
    - Http2CommonSession::connection_state::get_continued_stream_id
    - Http2CommonSession::_read_buffer_reader::read_avail
    - make_iovec
    - Http2CommonSession::get_proxy_session
    - http2_parse_frame_header
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::do_start_frame_read(Http2ErrorCode &ret_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:308,1
    - Dst: STATE_ENTER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:309,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:310,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:311,1
    - Dst: Http2CommonSession::_should_do_something_else
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:312,1
    - Dst: VIO*::disable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:314,1
    - Dst: Http2CommonSession::get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:315,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:315,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:315,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:315,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:318,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:321,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:325,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:325,1
    - Dst: Http2CommonSession::do_process_frame_read
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: Http2CommonSession::state_complete_frame_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::_should_do_something_else
    - Http2CommonSession::get_proxy_session
    - STATE_ENTER
    - schedule_in
    - Http2CommonSession::do_process_frame_read
    - Http2CommonSession::get_mutex
    - HRTIME_MSECONDS
    - Http2SsnDebug
    - VIO*::disable
    - Http2CommonSession::_read_buffer_reader::read_avail
    - VIO*::reenable
    - static_cast<VIO *>
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::state_complete_frame_read(int event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:334,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:334,1
    - Dst: Http2CommonSession::_count_received_frames
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:337,1
    - Dst: Http2Frame::header
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:337,1
    - Dst: rcv_frame
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:338,1
    - Dst: Http2CommonSession::_read_buffer_reader::consume
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:345,1
    - Dst: HTTP2_SET_SESSION_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: Http2CommonSession::do_complete_frame_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2Frame::header
    - ink_release_assert
    - Http2CommonSession::_count_received_frames
    - Http2CommonSession::_read_buffer_reader::consume
    - rcv_frame
    - HTTP2_SET_SESSION_HANDLER
    - Http2CommonSession::_read_buffer_reader::read_avail
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::do_complete_frame_read()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:357,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:357,1
    - Dst: Http2CommonSession::do_complete_frame_read
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:360,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:363,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:365,1
    - Dst: is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:366,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:367,1
    - Dst: Http2CommonSession::connection_state::get_stream_error_rate
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:372,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:372,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:374,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:374,1
    - Dst: SiteThrottledWarning
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:375,1
    - Dst: Http2CommonSession::get_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:377,1
    - Dst: Http2CommonSession::connection_state::get_stream_error_rate
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:377,1
    - Dst: Http2CommonSession::do_start_frame_read
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:383,1
    - Dst: Http2CommonSession::connection_state::restart_receiving
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:385,1
    - Dst: Http2CommonSession::connection_state::is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:387,1
    - Dst: Http2CommonSession::connection_state::send_goaway_frame
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:388,1
    - Dst: Http2CommonSession::connection_state::get_latest_stream_id_in
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:388,1
    - Dst: Http2CommonSession::set_half_close_local_flag
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:389,1
    - Dst: Http2CommonSession::_read_buffer_reader::read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:396,1
    - Dst: HTTP2_SET_SESSION_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:397,1
    - Dst: Http2CommonSession::do_complete_frame_read
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:400,1
    - Dst: Http2CommonSession::_should_do_something_else
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:402,1
    - Dst: Http2CommonSession::connection_state::restart_receiving
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:404,1
    - Dst: VIO*::disable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:405,1
    - Dst: Http2CommonSession::get_mutex
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:406,1
    - Dst: schedule_in
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:406,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:406,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:406,1
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:414,1
    - Dst: VIO*::reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:415,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - vio
    - inside_frame
    argTypes:
    - VIO*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 418
    functionName: Http2CommonSession::do_process_frame_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 2
    functionsReached:
    - Http2CommonSession::_should_do_something_else
    - schedule_in
    - Http2CommonSession::connection_state::get_stream_error_rate
    - Http2CommonSession::connection_state::restart_receiving
    - min
    - Http2CommonSession::set_half_close_local_flag
    - Http2CommonSession::do_start_frame_read
    - Http2CommonSession::get_connection_id
    - SiteThrottledWarning
    - Http2CommonSession::connection_state::get_latest_stream_id_in
    - HTTP2_SET_SESSION_HANDLER
    - ats_ip_ntop
    - Http2CommonSession::connection_state::is_state_closed
    - Http2SsnDebug
    - Http2CommonSession::do_complete_frame_read
    - static_cast<uint32_t>
    - Http2CommonSession::get_proxy_session
    - is_state_closed
    - Http2CommonSession::connection_state::send_goaway_frame
    - static_cast<int64_t>
    - Http2CommonSession::get_mutex
    - HRTIME_MSECONDS
    - VIO*::disable
    - Http2CommonSession::_read_buffer_reader::read_avail
    - VIO*::reenable
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::do_process_frame_read(int /* event ATS_UNUSED
      */, VIO *vio, bool inside_frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::get_proxy_session
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:423,1
    - Dst: is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: Http2CommonSession::_should_do_something_else
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 2
    functionsReached:
    - Http2CommonSession::get_proxy_session
    - is_state_closed
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::_should_do_something_else()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: Http2CommonSession::interrupt_reading_frames
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::interrupt_reading_frames()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::write_buffer::write_avail
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: Http2CommonSession::write_avail
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::write_buffer::write_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2CommonSession::write_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::write_buffer::high_water
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: Http2CommonSession::is_write_high_water
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::write_buffer::high_water
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::is_write_high_water() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:458,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:458,1
    - Dst: reenable
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: Http2CommonSession::write_reenable
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached:
    - reenable
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::write_reenable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_set<std::string>::string>
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:468,1
    - Dst: Http2CommonSession::_h2_pushed_urls::reserve
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:469,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:472,1
    - Dst: emplace
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: Http2CommonSession::add_url_to_pushed_table
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached:
    - Http2CommonSession::_h2_pushed_urls::reserve
    - std::unordered_set<std::string>::string>
    - size
    - emplace
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::add_url_to_pushed_table(const char *url, int
      url_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: Http2CommonSession::add_session
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::add_session()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: Http2CommonSession::is_outbound
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::is_outbound() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: Http2CommonSession::_count_received_frames
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2CommonSession.cc
    functionUses: 1
    functionsReached:
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::_count_received_frames(uint32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - HpackField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: hpack_field_is_literal
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpack_field_is_literal(HpackField ftype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s1_len
    - s2
    - s2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: match
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 42
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match(const char *s1, int s1_len, const char *s2, int s2_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: hpack_parse_field_type
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: HpackField
    signature: HpackField hpack_parse_field_type(uint8_t ftype)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: HpackStaticTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 4
    functionsReached:
    - match
    - std::string_view::length
    - HpackHeaderField::value::data
    - HpackHeaderField::value::length
    - HpackHeaderField::name::data
    - std::string_view::data
    - HpackHeaderField::name::length
    linkageType: ''
    returnType: HpackLookupResult
    signature: HpackLookupResult lookup(const HpackHeaderField &header)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: HpackStaticTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 4
    functionsReached:
    - match
    - std::string_view::length
    - HpackHeaderField::value::data
    - HpackHeaderField::value::length
    - HpackHeaderField::name::data
    - std::string_view::data
    - HpackHeaderField::name::length
    linkageType: ''
    returnType: HpackLookupResult
    signature: HpackLookupResult lookup(const HpackHeaderField &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - HpackField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: hpack_field_is_literal
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hpack_field_is_literal(HpackField ftype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s1
    - s1_len
    - s2
    - s2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: match
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 44
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match(const char *s1, int s1_len, const char *s2, int s2_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: hpack_parse_field_type
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: HpackField
    signature: HpackField hpack_parse_field_type(uint8_t ftype)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: HpackStaticTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 4
    functionsReached:
    - match
    - std::string_view::length
    - HpackHeaderField::value::data
    - HpackHeaderField::value::length
    - HpackHeaderField::name::data
    - std::string_view::data
    - HpackHeaderField::name::length
    linkageType: ''
    returnType: HpackLookupResult
    signature: HpackLookupResult lookup(const HpackHeaderField &header)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: HpackHeaderField::name::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:289,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: HpackHeaderField::value::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: HpackStaticTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 4
    functionsReached:
    - match
    - std::string_view::length
    - HpackHeaderField::value::data
    - HpackHeaderField::value::length
    - HpackHeaderField::name::data
    - std::string_view::data
    - HpackHeaderField::name::length
    linkageType: ''
    returnType: HpackLookupResult
    signature: HpackLookupResult lookup(const HpackHeaderField &header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HpackStaticTable::lookup
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:315,1
    - Dst: HpackIndexingTable::_dynamic_table::lookup_relative
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:323,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:325,1
    - Dst: static_cast<HpackMatch>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: HpackIndexingTable::lookup
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<HpackMatch>
    - HpackStaticTable::lookup
    - static_cast<uint32_t>
    - HpackIndexingTable::_dynamic_table::lookup_relative
    linkageType: ''
    returnType: HpackLookupResult
    signature: HpackLookupResult HpackIndexingTable::lookup(const HpackHeaderField
      &header) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldWrapper::name_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:342,1
    - Dst: name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:342,1
    - Dst: name::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:342,1
    - Dst: MIMEFieldWrapper::value_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:343,1
    - Dst: value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:343,1
    - Dst: value::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:343,1
    - Dst: count
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:344,1
    - Dst: lookup_relative
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:350,1
    - Dst: MIMEFieldWrapper::name_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:355,1
    - Dst: MIMEFieldWrapper::value_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - index
    - field
    argTypes:
    - uint32_t
    - MIMEFieldWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 365
    functionName: HpackIndexingTable::get_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - MIMEFieldWrapper::name_set
    - name::data
    - lookup_relative
    - MIMEFieldWrapper::value_set
    - value::size
    - name::size
    - count
    - value::data
    linkageType: ''
    returnType: int
    signature: int HpackIndexingTable::get_header_field(uint32_t index, MIMEFieldWrapper
      &field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_entry
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - HpackHeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: HpackIndexingTable::add_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - insert_entry
    linkageType: ''
    returnType: void
    signature: void HpackIndexingTable::add_header_field(const HpackHeaderField &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HpackIndexingTable::maximum_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: HpackIndexingTable::maximum_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - HpackIndexingTable::maximum_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HpackIndexingTable::maximum_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HpackIndexingTable::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: HpackIndexingTable::size
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - HpackIndexingTable::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HpackIndexingTable::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HpackIndexingTable::update_maximum_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: HpackIndexingTable::update_maximum_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - HpackIndexingTable::update_maximum_size
    linkageType: ''
    returnType: void
    signature: void HpackIndexingTable::update_maximum_size(uint32_t new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:404,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf_start
    - buf_end
    - index
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 419
    functionName: encode_indexed_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - xpack_encode_integer
    linkageType: ''
    returnType: int64_t
    signature: int64_t encode_indexed_header_field(uint8_t *buf_start, const uint8_t
      *buf_end, uint32_t index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:429,1
    - Dst: hpack_field_is_literal
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:429,1
    - Dst: HpackIndexingTable::add_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:433,1
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:451,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:464,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:464,1
    - Dst: HpackHeaderField::value::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:464,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:470,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:470,1
    - Dst: HpackHeaderField::value::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:470,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - buf_start
    - buf_end
    - header
    - index
    - indexing_table
    - type
    argTypes:
    - uint8_t*
    - uint8_t*
    - HpackHeaderField
    - uint32_t
    - HpackIndexingTable
    - HpackField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 472
    functionName: encode_literal_header_field_with_indexed_name
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HpackHeaderField::value::size
    - HpackIndexingTable::add_header_field
    - HpackHeaderField::value::data
    - xpack_encode_string
    - Dbg
    - xpack_encode_integer
    - hpack_field_is_literal
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: "int64_t encode_literal_header_field_with_indexed_name(uint8_t *buf_start,
      const uint8_t *buf_end, const HpackHeaderField &header,\n                                              uint32_t
      index, HpackIndexingTable &indexing_table, HpackField type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:482,1
    - Dst: hpack_field_is_literal
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:482,1
    - Dst: HpackIndexingTable::add_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:486,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:504,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:504,1
    - Dst: HpackHeaderField::name::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:504,1
    - Dst: xpack_encode_string
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:511,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:511,1
    - Dst: HpackHeaderField::value::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:518,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:518,1
    - Dst: HpackHeaderField::name::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:518,1
    - Dst: HpackHeaderField::name::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:518,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:519,1
    - Dst: HpackHeaderField::value::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:519,1
    - Dst: HpackHeaderField::value::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - buf_start
    - buf_end
    - header
    - indexing_table
    - type
    argTypes:
    - uint8_t*
    - uint8_t*
    - HpackHeaderField
    - HpackIndexingTable
    - HpackField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 522
    functionName: encode_literal_header_field_with_new_name
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - HpackHeaderField::name::size
    - HpackHeaderField::value::size
    - HpackIndexingTable::add_header_field
    - HpackHeaderField::value::data
    - xpack_encode_string
    - HpackHeaderField::name::data
    - Dbg
    - hpack_field_is_literal
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: "int64_t encode_literal_header_field_with_new_name(uint8_t *buf_start,
      const uint8_t *buf_end, const HpackHeaderField &header,\n                                          HpackIndexingTable
      &indexing_table, HpackField type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xpack_encode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf_start
    - buf_end
    - size
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: encode_dynamic_table_size_update
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - xpack_encode_integer
    linkageType: ''
    returnType: int64_t
    signature: int64_t encode_dynamic_table_size_update(uint8_t *buf_start, const
      uint8_t *buf_end, uint32_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:546,1
    - Dst: HpackIndexingTable::get_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:551,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:555,1
    - Dst: MIMEFieldWrapper::name_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:556,1
    - Dst: MIMEFieldWrapper::value_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:559,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:559,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:559,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:559,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:560,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:560,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - header
    - buf_start
    - buf_end
    - indexing_table
    argTypes:
    - MIMEFieldWrapper
    - uint8_t*
    - uint8_t*
    - HpackIndexingTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 564
    functionName: decode_indexed_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - xpack_decode_integer
    - auto::length
    - 'on'
    - HpackIndexingTable::get_header_field
    - Dbg
    - MIMEFieldWrapper::value_get
    - MIMEFieldWrapper::name_get
    - auto::data
    linkageType: ''
    returnType: int64_t
    signature: "int64_t decode_indexed_header_field(MIMEFieldWrapper &header, const
      uint8_t *buf_start, const uint8_t *buf_end,\n                            HpackIndexingTable
      &indexing_table)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hpack_parse_field_type
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:578,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:582,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:585,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:587,1
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:588,1
    - Dst: HpackIndexingTable::get_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:599,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:606,1
    - Dst: ParseRules::is_upalpha
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:614,1
    - Dst: MIMEFieldWrapper::name_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:621,1
    - Dst: HpackIndexingTable::arena::str_free
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:622,1
    - Dst: xpack_decode_string
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:629,1
    - Dst: MIMEFieldWrapper::value_set
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:635,1
    - Dst: HpackIndexingTable::arena::str_free
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:636,1
    - Dst: MIMEFieldWrapper::field_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:640,1
    - Dst: HpackIndexingTable::add_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:641,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:641,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:641,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:645,1
    - Dst: MIMEFieldWrapper::name_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:646,1
    - Dst: MIMEFieldWrapper::value_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:647,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:649,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:649,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:649,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:649,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:650,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:650,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:650,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - header
    - buf_start
    - buf_end
    - indexing_table
    argTypes:
    - MIMEFieldWrapper
    - uint8_t*
    - uint8_t*
    - HpackIndexingTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 659
    functionName: decode_literal_header_field
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - MIMEFieldWrapper::name_set
    - HpackIndexingTable::get_header_field
    - MIMEFieldWrapper::value_set
    - hpack_parse_field_type
    - MIMEFieldWrapper::field_get
    - MIMEField*::value_get
    - MIMEFieldWrapper::name_get
    - HpackIndexingTable::add_header_field
    - ParseRules::is_upalpha
    - HpackIndexingTable::arena::str_free
    - MIMEFieldWrapper::value_get
    - auto::data
    - static_cast<int>
    - xpack_decode_integer
    - auto::length
    - xpack_decode_string
    - Dbg
    - ink_assert
    - MIMEField*::name_get
    - 'on'
    linkageType: ''
    returnType: int64_t
    signature: "int64_t decode_literal_header_field(MIMEFieldWrapper &header, const
      uint8_t *buf_start, const uint8_t *buf_end,\n                            HpackIndexingTable
      &indexing_table)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xpack_decode_integer
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:674,1
    - Dst: HpackIndexingTable::update_maximum_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - buf_start
    - buf_end
    - indexing_table
    - maximum_table_size
    argTypes:
    - uint8_t*
    - uint8_t*
    - HpackIndexingTable
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 686
    functionName: update_dynamic_table_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 0
    functionsReached:
    - HpackIndexingTable::update_maximum_size
    - xpack_decode_integer
    linkageType: ''
    returnType: int64_t
    signature: "int64_t update_dynamic_table_size(const uint8_t *buf_start, const
      uint8_t *buf_end, HpackIndexingTable &indexing_table,\n                          uint32_t
      maximum_table_size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_create
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:704,1
    - Dst: hpack_parse_field_type
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:706,1
    - Dst: decode_indexed_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:710,1
    - Dst: decode_literal_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:720,1
    - Dst: update_dynamic_table_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:735,1
    - Dst: MIMEField*::name_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:743,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:744,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:749,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:749,1
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:756,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 6
    argNames:
    - indexing_table
    - hdr
    - in_buf
    - in_buf_len
    - max_header_size
    - maximum_table_size
    argTypes:
    - HpackIndexingTable
    - HTTPHdr*
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 688
    functionDepth: 5
    functionLinenumber: 688
    functionLinenumberEnd: 764
    functionName: hpack_decode_header_block
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 2
    functionsReached:
    - mime_field_create
    - MIMEField*::name_get
    - auto::length
    - decode_indexed_header_field
    - mime_hdr_field_attach
    - decode_literal_header_field
    - update_dynamic_table_size
    - hpack_parse_field_type
    - MIMEField*::value_get
    linkageType: ''
    returnType: int64_t
    signature: "int64_t hpack_decode_header_block(HpackIndexingTable &indexing_table,
      HTTPHdr *hdr, const uint8_t *in_buf, const size_t in_buf_len,\n                          uint32_t
      max_header_size, uint32_t maximum_table_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:773,1
    - Dst: http_hdr_type_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:773,1
    - Dst: HpackIndexingTable::update_maximum_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:777,1
    - Dst: encode_dynamic_table_size_update
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:778,1
    - Dst: name_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:788,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:789,1
    - Dst: ts::LocalBuffer::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:791,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:793,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:796,1
    - Dst: value_get
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:797,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:803,1
    - Dst: match
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:804,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:804,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:804,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:804,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:804,1
    - Dst: HpackIndexingTable::lookup
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:811,1
    - Dst: encode_literal_header_field_with_new_name
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:816,1
    - Dst: encode_literal_header_field_with_indexed_name
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:820,1
    - Dst: encode_indexed_header_field
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:823,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - indexing_table
    - out_buf
    - out_buf_len
    - hdr
    - maximum_table_size
    argTypes:
    - HpackIndexingTable
    - uint8_t*
    - size_t
    - HTTPHdr*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 766
    functionDepth: 4
    functionLinenumber: 766
    functionLinenumberEnd: 835
    functionName: hpack_encode_header_block
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - encode_literal_header_field_with_indexed_name
    - name_get
    - ParseRules::ink_tolower
    - std::string_view::data
    - std::string_view::length
    - length
    - encode_dynamic_table_size_update
    - std::string_view::size
    - value_get
    - http_hdr_type_get
    - data
    - HpackIndexingTable::lookup
    - encode_indexed_header_field
    - static_cast<size_t>
    - ink_assert
    - match
    - HpackIndexingTable::update_maximum_size
    - encode_literal_header_field_with_new_name
    - ts::LocalBuffer::data
    linkageType: ''
    returnType: int64_t
    signature: "int64_t hpack_encode_header_block(HpackIndexingTable &indexing_table,
      uint8_t *out_buf, const size_t out_buf_len, HTTPHdr *hdr,\n                          int32_t
      maximum_table_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HpackIndexingTable::maximum_size
      Src: /src/trafficserver/src/proxy/http2/HPACK.cc:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - indexing_table
    argTypes:
    - HpackIndexingTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: hpack_get_maximum_table_size
    functionSourceFile: /src/trafficserver/src/proxy/http2/HPACK.cc
    functionUses: 1
    functionsReached:
    - HpackIndexingTable::maximum_size
    linkageType: ''
    returnType: int32_t
    signature: int32_t hpack_get_maximum_table_size(HpackIndexingTable &indexing_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Http2Frame::reader
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      Http2Frame::reader() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: '&

      Http2Frame::header() const'
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2FrameHeader
    signature: 'Http2FrameHeader &

      Http2Frame::header() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Http2Frame::is_from_early_data
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Frame::is_from_early_data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:56,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:56,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:57,1
    - Dst: min
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:64,1
    - Dst: Http2DataFrame::_reader::block_read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:64,1
    - Dst: MIOBuffer*::block_write_avail
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:66,1
    - Dst: MIOBuffer*::append_block
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:68,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:71,1
    - Dst: Http2DataFrame::_reader::start
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:71,1
    - Dst: Http2DataFrame::_reader::consume
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: Http2DataFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::block_write_avail
    - http2_write_frame_header
    - MIOBuffer*::write
    - Http2DataFrame::_reader::start
    - MIOBuffer*::append_block
    - Http2DataFrame::_reader::consume
    - min
    - make_iovec
    - Http2DataFrame::_reader::block_read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2DataFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:93,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:93,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:94,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: Http2HeadersFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2HeadersFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: Http2PriorityFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2PriorityFrame::write_to(MIOBuffer * /* iobuffer ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:123,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:123,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:124,1
    - Dst: http2_write_rst_stream
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:128,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:128,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: Http2RstStreamFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - http2_write_rst_stream
    - MIOBuffer*::write
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2RstStreamFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:142,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:142,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:143,1
    - Dst: http2_write_settings
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:150,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:150,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: Http2SettingsFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - http2_write_settings
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2SettingsFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:170,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:170,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:171,1
    - Dst: http2_write_push_promise
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:175,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:175,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: Http2PushPromiseFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - http2_write_push_promise
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2PushPromiseFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:189,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:189,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:190,1
    - Dst: http2_write_ping
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:194,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:194,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: Http2PingFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - http2_write_ping
    - MIOBuffer*::write
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2PingFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:208,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:208,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:209,1
    - Dst: http2_write_goaway
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:213,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:213,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: Http2GoawayFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - http2_write_goaway
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2GoawayFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:227,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:227,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:228,1
    - Dst: http2_write_window_update
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:232,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:232,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: Http2WindowUpdateFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - make_iovec
    - http2_write_window_update
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2WindowUpdateFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http2_write_frame_header
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:251,1
    - Dst: make_iovec
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:251,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:252,1
    - Dst: MIOBuffer*::write
      Src: /src/trafficserver/src/proxy/http2/Http2Frame.cc:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - iobuffer
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: Http2ContinuationFrame::write_to
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Frame.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::write
    - make_iovec
    - http2_write_frame_header
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2ContinuationFrame::write_to(MIOBuffer *iobuffer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - packed
    - unpacked
    argTypes:
    - string
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: unpack
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 3
    functionsReached:
    - string::length
    linkageType: ''
    returnType: int
    signature: int unpack(string &packed, uint8_t *unpacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - unpacked
    - unpacked_len
    - packed
    argTypes:
    - uint8_t*
    - int
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: pack
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack(uint8_t *unpacked, int unpacked_len, string &packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:92,1
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:92,1
    - Dst: string::erase
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: unescape
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - string::find_first_of
    - string::erase
    linkageType: ''
    returnType: string
    signature: string unescape(string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:101,1
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:101,1
    - Dst: string::insert
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: escape
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - string::find_first_of
    - string::insert
    linkageType: ''
    returnType: string
    signature: string escape(string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:111,1
    - Dst: string::find_last_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:113,1
    - Dst: string::substr
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:114,1
    - Dst: string::substr
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:115,1
    - Dst: unescape
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - line
    - offset
    - name
    - value
    argTypes:
    - string
    - int
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: parse_line
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - string::find_last_of
    - string::find
    - unescape
    - string::substr
    linkageType: ''
    returnType: void
    signature: void parse_line(string &line, int offset, string &name, string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:122,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:123,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:124,1
    - Dst: fprintf
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - a_str
    - a_str_len
    - b_str
    - b_str_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: print_difference
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_difference(const char *a_str, const int a_str_len, const
      char *b_str, const int b_str_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::fields_count
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:132,1
    - Dst: HTTPHdr*::fields_count
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:132,1
    - Dst: HTTPHdr*::begin
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:136,1
    - Dst: HTTPHdr*::end
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:136,1
    - Dst: HTTPHdr*::begin
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:137,1
    - Dst: HTTPHdr*::end
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:137,1
    - Dst: auto::name_get
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:141,1
    - Dst: auto::name_get
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:142,1
    - Dst: print_difference
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:144,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:144,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:144,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:144,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:144,1
    - Dst: auto::value_get
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:148,1
    - Dst: auto::value_get
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:149,1
    - Dst: print_difference
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:151,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:151,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:151,1
    - Dst: auto::data
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:151,1
    - Dst: auto::length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HTTPHdr*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 159
    functionName: compare_header_fields
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::end
    - HTTPHdr*::fields_count
    - HTTPHdr*::begin
    - auto::length
    - print_difference
    - auto::data
    - auto::name_get
    - auto::value_get
    linkageType: ''
    returnType: int
    signature: int compare_header_fields(HTTPHdr *a, HTTPHdr *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:170,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:173,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:174,1
    - Dst: getline
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:178,1
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:179,1
    - Dst: compare_header_fields
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:185,1
    - Dst: fields_clear
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:191,1
    - Dst: HTTPHdr::fields_clear
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:192,1
    - Dst: parse_line
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:195,1
    - Dst: unpack
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:196,1
    - Dst: hpack_decode_header_block
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:197,1
    - Dst: parse_line
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:203,1
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:204,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:205,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:206,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:210,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - filename
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 162
    functionDepth: 6
    functionLinenumber: 162
    functionLinenumberEnd: 213
    functionName: test_decoding
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - hpack_decode_header_block
    - getline
    - unpack
    - HTTPHdr::HTTPHdr
    - HTTPHdr::field_create
    - HTTPHdr::field_attach
    - fields_clear
    - parse_line
    - destroy
    - compare_header_fields
    - HTTPHdr::fields_clear
    - HTTPHdr::destroy
    - string::find_first_of
    - MIMEField*::value_set
    - create
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_decoding(const string &filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::HTTPHdr
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:225,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:228,1
    - Dst: HTTPHdr::create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:229,1
    - Dst: getline
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:237,1
    - Dst: string::find_first_of
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:238,1
    - Dst: hpack_encode_header_block
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:247,1
    - Dst: hpack_decode_header_block
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:252,1
    - Dst: compare_header_fields
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:254,1
    - Dst: pack
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:258,1
    - Dst: fields_clear
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:264,1
    - Dst: HTTPHdr::fields_clear
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:265,1
    - Dst: parse_line
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:281,1
    - Dst: HTTPHdr::field_create
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:282,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:283,1
    - Dst: HTTPHdr::field_attach
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:284,1
    - Dst: escape
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:286,1
    - Dst: hpack_encode_header_block
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:293,1
    - Dst: hpack_decode_header_block
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:298,1
    - Dst: compare_header_fields
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:299,1
    - Dst: pack
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:303,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:306,1
    - Dst: HTTPHdr::destroy
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:307,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 2
    argNames:
    - filename_in
    - filename_out
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 314
    functionName: test_encoding
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - hpack_decode_header_block
    - escape
    - getline
    - hpack_encode_header_block
    - HTTPHdr::HTTPHdr
    - HTTPHdr::field_create
    - HTTPHdr::field_attach
    - fields_clear
    - parse_line
    - destroy
    - compare_header_fields
    - HTTPHdr::fields_clear
    - HTTPHdr::destroy
    - pack
    - string::find_first_of
    - MIMEField*::value_set
    - create
    - HTTPHdr::create
    linkageType: ''
    returnType: int
    signature: int test_encoding(const string &filename_in, const string &filename_out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:321,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:322,1
    - Dst: opendir
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:325,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:325,1
    - Dst: strcat
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:333,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:333,1
    - Dst: readdir
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:334,1
    - Dst: length
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:335,1
    - Dst: ink_strlcat
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:336,1
    - Dst: stat
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:337,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:338,1
    - Dst: closedir
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:342,1
    - Dst: mkdir
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:345,1
    - Dst: c_str
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 350
    functionName: prepare
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - closedir
    - mkdir
    - stat
    - strcat
    - length
    - c_str
    - opendir
    - ink_strlcat
    - readdir
    linkageType: ''
    returnType: int
    signature: int prepare()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_decoding
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:362,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 368
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - test_decoding
    - TestBox::check
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HPACK_Decoding)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_encoding
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:382,1
    - Dst: TestBox::check
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - t
    - pstatus
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 370
    functionDepth: 7
    functionLinenumber: 370
    functionLinenumberEnd: 388
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 0
    functionsReached:
    - TestBox::check
    - test_encoding
    linkageType: ''
    returnType: void
    signature: void REGRESSION_TEST(HPACK_Encoding)(RegressionTest *t, int /* atype
      ATS_UNUSED */, int *pstatus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AppVersionInfo::setup_version
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:393,1
    - Dst: process_args
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:394,1
    - Dst: countof
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:394,1
    - Dst: ink_freelist_init_ops
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:396,1
    - Dst: back
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:400,1
    - Dst: back
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:406,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:411,1
    - Dst: Thread*::set_specific
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:412,1
    - Dst: url_init
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:413,1
    - Dst: mime_init
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:414,1
    - Dst: http_init
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:415,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:416,1
    - Dst: prepare
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:418,1
    - Dst: RegressionTest::main
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:419,1
    - Dst: hpack_huffman_fin
      Src: /src/trafficserver/src/proxy/http2/test_HPACK.cc:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 423
    functionName: main
    functionSourceFile: /src/trafficserver/src/proxy/http2/test_HPACK.cc
    functionUses: 6
    functionsReached:
    - ink_freelist_init_ops
    - prepare
    - Thread*::set_specific
    - back
    - EThread::EThread
    - url_init
    - http_init
    - RegressionTest::main
    - hpack_huffman_init
    - process_args
    - countof
    - AppVersionInfo::setup_version
    - mime_init
    - hpack_huffman_fin
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Http2StreamDebug
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2StreamDebug(fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:58,1
    - Dst: Http2Stream::mark_milestone
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:60,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:63,1
    - Dst: get_proxy_ssn
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:66,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:67,1
    - Dst: dynamic_cast<Http2CommonSession const *>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:68,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:69,1
    - Dst: auto*::is_outbound
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:70,1
    - Dst: Http2Stream::_receive_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:72,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:74,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:75,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:76,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:79,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:80,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - session
    - sid
    - initial_peer_rwnd
    - initial_local_rwnd
    - registered_stream
    argTypes:
    - ProxySession*
    - Http2StreamId
    - ssize_t
    - ssize_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: Http2Stream::Http2Stream
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::is_outbound_connection
    - get_proxy_ssn
    - http_parser_init
    - auto*::is_outbound
    - Http2Stream::_receive_buffer::alloc_reader
    - dynamic_cast<Http2CommonSession const *>
    - this_ethread
    - Http2Stream::mark_milestone
    - SET_HANDLER
    - create
    - ink_assert
    linkageType: ''
    returnType: void
    signature: "void Http2Stream::Http2Stream(ProxySession *session, Http2StreamId
      sid, ssize_t initial_peer_rwnd, ssize_t initial_local_rwnd,\n                         bool
      registered_stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:88,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:89,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:99,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:99,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:101,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:102,1
    - Dst: connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:109,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:111,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:111,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:112,1
    - Dst: Http2ConnectionState::delete_stream
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:116,1
    - Dst: Http2ConnectionState::decrement_peer_stream_count
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:118,1
    - Dst: Http2ConnectionState::release_stream
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:121,1
    - Dst: Http2Stream::do_io_write
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:128,1
    - Dst: Http2Stream::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:130,1
    - Dst: Http2Stream::_milestones::elapsed
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:132,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:133,1
    - Dst: ink_hrtime_from_msec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:136,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:137,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:145,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:146,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:147,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:148,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:149,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:150,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:151,1
    - Dst: Http2Stream::_milestones::difference_sec
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:152,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:155,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:156,1
    - Dst: Http2Stream::_receive_buffer::clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:159,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:162,1
    - Dst: mutex::clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:163,1
    - Dst: ats_free
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:165,1
    - Dst: Http2Stream::_clear_timers
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:167,1
    - Dst: Http2Stream::clear_io_events
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:168,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 170
    functionName: Http2Stream::~Http2Stream()
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - Http2ConnectionState::decrement_peer_stream_count
    - Http2Stream::_milestones::mark
    - Http2Stream::_milestones::difference_sec
    - Http2Stream::_receive_buffer::clear
    - this_ethread
    - Http2ConnectionState::release_stream
    - ts::Metrics::Counter::increment
    - ats_free
    - http_parser_clear
    - Http2Stream::_clear_timers
    - Http2Stream::_milestones::elapsed
    - ink_hrtime_to_msec
    - Http2StreamDebug
    - mutex::clear
    - Http2Stream::do_io_write
    - ink_release_assert
    - Error
    - destroy
    - static_cast<uint32_t>
    - Http2Stream::clear_io_events
    - Http2ConnectionState::delete_stream
    - SCOPED_MUTEX_LOCK
    - connection_id
    - ink_hrtime_from_msec
    - Http2Stream::get_connection_state
    linkageType: ''
    returnType: void
    signature: void Http2Stream::~Http2Stream()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:175,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:175,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:176,1
    - Dst: Http2Stream::_switch_thread_if_not_on_right_thread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:178,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:182,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:182,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:184,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:188,1
    - Dst: Http2Stream::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:193,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:209,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:212,1
    - Dst: Http2Stream::_proxy_ssn::get_remote_addr
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:212,1
    - Dst: Error
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:214,1
    - Dst: Http2Stream::_proxy_ssn::connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:215,1
    - Dst: Http2Stream::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:218,1
    - Dst: get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:223,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:225,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:225,1
    - Dst: Http2ConnectionState::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:228,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:230,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:231,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:232,1
    - Dst: Http2Stream::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:233,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:235,1
    - Dst: Http2Stream::_proxy_ssn::connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:235,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:241,1
    - Dst: Http2Stream::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:244,1
    - Dst: Http2Stream::update_write_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:247,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:254,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:257,1
    - Dst: Http2Stream::update_read_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:260,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:265,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:265,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:267,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:270,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:270,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:272,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:279,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 282
    functionName: Http2Stream::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - Http2Stream::signal_write_event
    - Http2ConnectionState::handleEvent
    - this_ethread
    - ats_ip_ntop
    - Http2StreamDebug
    - Http2Stream::_proxy_ssn::get_remote_addr
    - ntodo
    - cont::handleEvent
    - Warning
    - ink_release_assert
    - get_connection_state
    - Http2Stream::update_read_request
    - Error
    - Http2Stream::_proxy_ssn::connection_id
    - static_cast<Event *>
    - Http2Stream::do_io_close
    - Http2Stream::update_write_request
    - Http2Stream::terminate_if_possible
    - SCOPED_MUTEX_LOCK
    - Http2Stream::_switch_thread_if_not_on_right_thread
    - Http2Stream::signal_read_event
    - update_inactivity
    linkageType: ''
    returnType: int
    signature: int Http2Stream::main_event_handler(int event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http2_decode_header_blocks
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:288,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:289,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:291,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hpack_handle
    - maximum_table_size
    argTypes:
    - HpackHandle
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: Http2Stream::decode_header_blocks
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - Http2StreamDebug
    - Http2Stream::is_outbound_connection
    - http2_decode_header_blocks
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2Stream::decode_header_blocks(HpackHandle &hpack_handle,
      uint32_t maximum_table_size)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:302,1
    - Dst: Http2Stream::trailing_header_is_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:306,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:307,1
    - Dst: http2_convert_header_from_2_to_1_1
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:309,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:310,1
    - Dst: type_get
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:311,1
    - Dst: method_set
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:314,1
    - Dst: type_get
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:318,1
    - Dst: method_get
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:320,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:321,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:325,1
    - Dst: Http2Stream::_receive_buffer::get_current_block
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:341,1
    - Dst: Http2Stream::_receive_buffer::add_block
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:343,1
    - Dst: Http2Stream::_receive_buffer::get_current_block
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:344,1
    - Dst: print
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:346,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:346,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:346,1
    - Dst: Http2Stream::_receive_buffer::fill
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:348,1
    - Dst: Http2Stream::_receive_buffer::add_block
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:350,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:375,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:377,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:387,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:391,1
    - Dst: Http2Stream::signal_read_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 399
    functionName: Http2Stream::send_headers
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - REMEMBER
    - print
    - ink_release_assert
    - static_cast<std::string_view>
    - Http2Stream::_receive_buffer::fill
    - Http2Stream::is_outbound_connection
    - type_get
    - Http2Stream::trailing_header_is_possible
    - method_set
    - method_get
    - http2_convert_header_from_2_to_1_1
    - Http2StreamDebug
    - Http2Stream::_receive_buffer::get_current_block
    - Http2Stream::_receive_buffer::add_block
    - IOBufferBlock*::end
    - Http2Stream::signal_read_event
    - IOBufferBlock*::write_avail
    linkageType: ''
    returnType: void
    signature: void Http2Stream::send_headers(Http2ConnectionState & /* cstate ATS_UNUSED
      */)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:501,1
    - Dst: Http2DebugNames::get_state_name
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:501,1
    - Dst: Http2DebugNames::get_state_name
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:501,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 504
    functionName: Http2Stream::change_state
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2StreamDebug
    - Http2DebugNames::get_state_name
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::change_state(uint8_t type, uint8_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_writer
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:510,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - nbytes
    - buf
    argTypes:
    - Continuation*
    - int64_t
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 525
    functionName: Http2Stream::do_io_read
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - buffer::clear
    - set_writer
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      Http2Stream::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_reader
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:531,1
    - Dst: buffer::clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:533,1
    - Dst: Http2Stream::is_state_writeable
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:543,1
    - Dst: Http2Stream::update_write_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:544,1
    - Dst: Http2Stream::is_state_writeable
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - c
    - nbytes
    - abuffer
    argTypes:
    - Continuation*
    - int64_t
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 550
    functionName: Http2Stream::do_io_write
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - Http2Stream::update_write_request
    - Http2Stream::is_state_writeable
    - buffer::clear
    - set_reader
    linkageType: ''
    returnType: VIO
    signature: 'VIO *

      Http2Stream::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *abuffer,
      bool /* owner ATS_UNUSED */)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:556,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:556,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:559,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:560,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:568,1
    - Dst: Http2Stream::is_state_writeable
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:569,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:570,1
    - Dst: Http2Stream::_clear_timers
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:581,1
    - Dst: Http2Stream::clear_io_events
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 586
    functionName: Http2Stream::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - REMEMBER
    - Http2Stream::is_outbound_connection
    - Http2Stream::clear_io_events
    - Http2Stream::_clear_timers
    - SCOPED_MUTEX_LOCK
    - Http2StreamDebug
    - this_ethread
    - Http2Stream::is_state_writeable
    - Http2Stream::get_connection_state
    linkageType: ''
    returnType: void
    signature: void Http2Stream::do_io_close(int /* flags */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:594,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:594,1
    - Dst: ProxyTransaction::transaction_done
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:595,1
    - Dst: Http2Stream::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:598,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:600,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:601,1
    - Dst: Http2ConnectionState::is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:601,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:606,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 611
    functionName: Http2Stream::transaction_done
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Http2Stream::terminate_if_possible
    - SCOPED_MUTEX_LOCK
    - this_ethread
    - Http2Stream::do_io_close
    - Http2Stream::get_connection_state
    - ProxyTransaction::transaction_done
    - ink_assert
    - Http2ConnectionState::is_state_closed
    linkageType: ''
    returnType: void
    signature: void Http2Stream::transaction_done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:618,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:620,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:620,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:621,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: Http2Stream::terminate_if_possible
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 2
    functionsReached:
    - REMEMBER
    - THREAD_FREE
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2Stream::terminate_if_possible()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:630,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:630,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:631,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:632,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:633,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:635,1
    - Dst: Http2Stream::is_state_writeable
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:635,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:636,1
    - Dst: Http2Stream::_clear_timers
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:650,1
    - Dst: Http2Stream::clear_io_events
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:651,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:662,1
    - Dst: Http2Stream::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:662,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:663,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:663,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:664,1
    - Dst: Http2Stream::send_tracked_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:665,1
    - Dst: get_writer
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:670,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:671,1
    - Dst: Http2Stream::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:671,1
    - Dst: Http2Stream::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:672,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:673,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:673,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:674,1
    - Dst: Http2Stream::send_tracked_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:675,1
    - Dst: get_writer
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:676,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:677,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:677,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:678,1
    - Dst: Http2Stream::send_tracked_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:679,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:681,1
    - Dst: handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:683,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:687,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:690,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 693
    functionName: Http2Stream::initiating_close
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - handleEvent
    - REMEMBER
    - Http2Stream::send_tracked_event
    - Http2Stream::is_outbound_connection
    - Http2Stream::clear_io_events
    - get_writer
    - Http2Stream::_clear_timers
    - SCOPED_MUTEX_LOCK
    - Http2Stream::terminate_if_possible
    - Http2Stream::get_state
    - Http2StreamDebug
    - this_ethread
    - Http2Stream::is_state_writeable
    - Http2Stream::get_connection_state
    linkageType: ''
    returnType: void
    signature: void Http2Stream::initiating_close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: Http2Stream::is_outbound_connection
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_outbound_connection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: Http2Stream::is_tunneling
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_tunneling() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Event*::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:713,1
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:719,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - event
    - send_event
    - vio
    argTypes:
    - Event*
    - int
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 724
    functionName: Http2Stream::send_tracked_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - REMEMBER
    - Event*::cancel
    - this_ethread
    linkageType: ''
    returnType: Event
    signature: 'Event *

      Http2Stream::send_tracked_event(Event *event, int send_event, VIO *vio)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::_switch_thread_if_not_on_right_thread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:733,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:737,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:737,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:739,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:739,1
    - Dst: is_disabled
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:740,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:746,1
    - Dst: Http2Stream::read_vio::get_writer
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:750,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:753,1
    - Dst: cont::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:755,1
    - Dst: Http2Stream::send_tracked_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:759,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - call_update
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 762
    functionName: Http2Stream::update_read_request
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - cont::handleEvent
    - ink_release_assert
    - Http2Stream::send_tracked_event
    - is_disabled
    - SCOPED_MUTEX_LOCK
    - update_inactivity
    - Http2Stream::_switch_thread_if_not_on_right_thread
    - this_ethread
    - Http2Stream::read_vio::get_writer
    - ntodo
    linkageType: ''
    returnType: void
    signature: void Http2Stream::update_read_request(bool call_update)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_closed
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:768,1
    - Dst: Http2Stream::update_write_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:772,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:775,1
    - Dst: Http2Stream::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:776,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:776,1
    - Dst: Http2Stream::get_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:780,1
    - Dst: Http2Stream::get_data_reader_for_send
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:785,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:786,1
    - Dst: Http2Stream::write_vio::ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:790,1
    - Dst: Http2Stream::send_body
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 795
    functionName: Http2Stream::restart_sending
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::update_write_request
    - Http2Stream::write_vio::ntodo
    - IOBufferReader*::is_read_avail_more_than
    - Http2Stream::is_outbound_connection
    - Http2Stream::send_body
    - Http2Stream::get_data_reader_for_send
    - Http2Stream::get_state
    - Http2Stream::is_closed
    - ntodo
    linkageType: ''
    returnType: void
    signature: void Http2Stream::restart_sending()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_state_writeable
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:800,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:801,1
    - Dst: Http2Stream::_switch_thread_if_not_on_right_thread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:805,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:809,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:809,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:811,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:813,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:815,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:815,1
    - Dst: get_reader
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:817,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:819,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:819,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:820,1
    - Dst: ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:822,1
    - Dst: IOBufferReader*::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:822,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:823,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:832,1
    - Dst: Http2Stream::_send_header::parse_req
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:833,1
    - Dst: Http2Stream::_send_header::parse_resp
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:835,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:843,1
    - Dst: Http2Stream::_send_header::field_find
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:846,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:846,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:848,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:849,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:850,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:850,1
    - Dst: Http2ConnectionState::get_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:851,1
    - Dst: Http2ConnectionState::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:852,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:858,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:858,1
    - Dst: Http2ConnectionState::send_headers_frame
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:860,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:864,1
    - Dst: Http2Stream::_send_header::expect_final_response
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:864,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:867,1
    - Dst: Http2Stream::_send_header::expect_final_response
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:867,1
    - Dst: destroy
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:868,1
    - Dst: create
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:869,1
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:869,1
    - Dst: http_parser_clear
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:870,1
    - Dst: http_parser_init
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:871,1
    - Dst: Http2Stream::write_vio::ntodo
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:873,1
    - Dst: Http2Stream::signal_write_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:875,1
    - Dst: Http2Stream::_send_reader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:878,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:879,1
    - Dst: Http2Stream::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:880,1
    - Dst: Http2Stream::send_body
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:881,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:887,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:890,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:890,1
    - Dst: Http2Stream::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:894,1
    - Dst: Http2Stream::send_body
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:895,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 1
    argNames:
    - call_update
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 899
    functionName: Http2Stream::update_write_request
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 3
    functionsReached:
    - Http2Stream::signal_write_event
    - Http2Stream::_milestones::mark
    - http_parser_init
    - Http2Stream::_send_reader::is_read_avail_more_than
    - Http2Stream::send_body
    - Http2Stream::_send_header::parse_resp
    - Http2ConnectionState::send_headers_frame
    - MIMEField*::value_get
    - this_ethread
    - Http2Stream::is_state_writeable
    - create
    - Http2Stream::write_vio::ntodo
    - IOBufferReader*::is_read_avail_more_than
    - http_parser_clear
    - Http2Stream::is_outbound_connection
    - Http2Stream::_send_header::expect_final_response
    - get_reader
    - Http2StreamDebug
    - ntodo
    - static_cast<int>
    - ink_release_assert
    - static_cast<std::string_view>
    - destroy
    - Http2Stream::_send_header::field_find
    - Http2Stream::_send_header::parse_req
    - SCOPED_MUTEX_LOCK
    - Http2ConnectionState::get_shutdown_state
    - Http2Stream::_switch_thread_if_not_on_right_thread
    - Http2ConnectionState::set_shutdown_state
    - Http2Stream::get_connection_state
    linkageType: ''
    returnType: void
    signature: void Http2Stream::update_write_request(bool call_update)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:910,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:910,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:911,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:913,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:916,1
    - Dst: Http2Stream::read_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:917,1
    - Dst: Http2Stream::_read_vio_event::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:920,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:922,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 927
    functionName: Http2Stream::signal_read_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 2
    functionsReached:
    - is_locked
    - Http2Stream::terminate_if_possible
    - MUTEX_TRY_LOCK
    - cancel
    - this_ethread
    - update_inactivity
    - Http2Stream::read_vio::cont::handleEvent
    - Http2Stream::_read_vio_event::cancel
    linkageType: ''
    returnType: void
    signature: void Http2Stream::signal_read_event(int event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:940,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:940,1
    - Dst: is_locked
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:941,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:943,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:946,1
    - Dst: Http2Stream::write_vio::cont::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:947,1
    - Dst: Http2Stream::_write_vio_event::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:950,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:952,1
    - Dst: Http2Stream::send_tracked_event
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:956,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - event
    - call_update
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 961
    functionName: Http2Stream::signal_write_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 2
    functionsReached:
    - is_locked
    - Http2Stream::send_tracked_event
    - Http2Stream::_write_vio_event::cancel
    - Http2Stream::write_vio::cont::handleEvent
    - Http2Stream::terminate_if_possible
    - MUTEX_TRY_LOCK
    - cancel
    - this_ethread
    - update_inactivity
    linkageType: ''
    returnType: void
    signature: void Http2Stream::signal_write_event(int event, bool call_update)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:966,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:966,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - url
    - accept_encoding
    argTypes:
    - URL
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: Http2Stream::push_promise
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::get_connection_state
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::push_promise(URL &url, const MIMEField *accept_encoding)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:973,1
    - Dst: update_inactivity
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:974,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:978,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:978,1
    - Dst: Http2ConnectionState::schedule_stream_to_send_priority_frames
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:980,1
    - Dst: Http2ConnectionState::send_data_frames
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:984,1
    - Dst: Http2Stream::terminate_if_possible
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 991
    functionName: Http2Stream::send_body
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 2
    functionsReached:
    - Http2ConnectionState::schedule_stream_to_send_priority_frames
    - Http2Stream::terminate_if_possible
    - SCOPED_MUTEX_LOCK
    - Http2ConnectionState::send_data_frames
    - this_ethread
    - Http2Stream::get_connection_state
    - update_inactivity
    linkageType: ''
    returnType: void
    signature: void Http2Stream::send_body(bool /* call_update ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:997,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:997,1
    - Dst: Http2Stream::update_write_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: Http2Stream::reenable_write
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::update_write_request
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2Stream::reenable_write()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1007,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1007,1
    - Dst: Http2Stream::update_write_request
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1008,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1010,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1010,1
    - Dst: Http2Stream::get_connection_state
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1011,1
    - Dst: Http2ConnectionState::restart_receiving
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1015
    functionName: Http2Stream::reenable
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::update_write_request
    - Http2ConnectionState::restart_receiving
    - SCOPED_MUTEX_LOCK
    - this_ethread
    - Http2Stream::get_connection_state
    linkageType: ''
    returnType: void
    signature: void Http2Stream::reenable(VIO *vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: Http2Stream::get_data_reader_for_send
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      Http2Stream::get_data_reader_for_send() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::set_active_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: Http2Stream::set_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - Http2Stream::set_active_timeout
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_inactive_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: Http2Stream::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - set_inactive_timeout
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::cancel_active_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: Http2Stream::cancel_active_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - Http2Stream::cancel_active_timeout
    linkageType: ''
    returnType: void
    signature: void Http2Stream::cancel_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel_inactive_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: Http2Stream::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - cancel_inactive_timeout
    linkageType: ''
    returnType: void
    signature: void Http2Stream::cancel_inactivity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_active_timeout_expired
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: Http2Stream::is_active_timeout_expired
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - Http2Stream::is_active_timeout_expired
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_active_timeout_expired(ink_hrtime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_inactive_timeout_expired
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1057
    functionName: Http2Stream::is_inactive_timeout_expired
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 1
    functionsReached:
    - Http2Stream::is_inactive_timeout_expired
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_inactive_timeout_expired(ink_hrtime now)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1063,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1068,1
    - Dst: cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1073,1
    - Dst: Http2Stream::_read_vio_event::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1078,1
    - Dst: Http2Stream::_write_vio_event::cancel
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1086
    functionName: Http2Stream::clear_io_events
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 3
    functionsReached:
    - Http2Stream::_read_vio_event::cancel
    - Http2Stream::_write_vio_event::cancel
    - cancel
    linkageType: ''
    returnType: void
    signature: void Http2Stream::clear_io_events()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1097,1
    - Dst: Http2StreamDebug
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1102
    functionName: Http2Stream::release
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::do_io_close
    - Http2StreamDebug
    linkageType: ''
    returnType: void
    signature: void Http2Stream::release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1107,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1108,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1109,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1111,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1114
    functionName: Http2Stream::increment_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    - Http2Stream::is_outbound_connection
    linkageType: ''
    returnType: void
    signature: void Http2Stream::increment_transactions_stat()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1119,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1120,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1124
    functionName: Http2Stream::decrement_transactions_stat
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    - Http2Stream::is_outbound_connection
    linkageType: ''
    returnType: void
    signature: void Http2Stream::decrement_transactions_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: Http2Stream::get_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Http2Stream::get_peer_rwnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::_recent_rwnd_increment::size
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1139,1
    - Dst: std::accumulate
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1140,1
    - Dst: Http2Stream::_recent_rwnd_increment::begin
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1140,1
    - Dst: Http2Stream::_recent_rwnd_increment::end
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1140,1
    - Dst: Http2Stream::_recent_rwnd_increment::size
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1146
    functionName: Http2Stream::increment_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::_recent_rwnd_increment::size
    - Http2Stream::_recent_rwnd_increment::begin
    - std::accumulate
    - Http2Stream::_recent_rwnd_increment::end
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2Stream::increment_peer_rwnd(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1157
    functionName: Http2Stream::decrement_peer_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2Stream::decrement_peer_rwnd(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1163
    functionName: Http2Stream::get_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Http2Stream::get_local_rwnd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1170
    functionName: Http2Stream::increment_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2Stream::increment_local_rwnd(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1181
    functionName: Http2Stream::decrement_local_rwnd
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2Stream::decrement_local_rwnd(size_t amount)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1186,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1187,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1187,1
    - Dst: Http2Stream::_thread::schedule_imm
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1195
    functionName: Http2Stream::_switch_thread_if_not_on_right_thread
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 3
    functionsReached:
    - Http2Stream::_thread::schedule_imm
    - SCOPED_MUTEX_LOCK
    - this_ethread
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::_switch_thread_if_not_on_right_thread(int event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: Http2Stream::get_transaction_priority_weight
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http2Stream::get_transaction_priority_weight() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1211
    functionName: Http2Stream::get_transaction_priority_dependence
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http2Stream::get_transaction_priority_dependence() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::read_vio::get_writer
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1216,1
    - Dst: MIOBuffer*::max_read_avail
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1222
    functionName: Http2Stream::read_vio_read_avail
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - MIOBuffer*::max_read_avail
    - Http2Stream::read_vio::get_writer
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2Stream::read_vio_read_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1228
    functionName: Http2Stream::has_request_body
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::has_request_body(int64_t /* content_length ATS_UNUSED
      */, bool /* is_chunked_set ATS_UNUSED */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Http2Stream::is_outbound_connection'
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1233,1
    - Dst: static_cast<Http2ServerSession *>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1234,1
    - Dst: static_cast<Http2ClientSession *>
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1240
    functionName: '&

      Http2Stream::get_connection_state()'
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - '&

      Http2Stream::is_outbound_connection'
    - static_cast<Http2ServerSession *>
    - static_cast<Http2ClientSession *>
    linkageType: ''
    returnType: Http2ConnectionState
    signature: 'Http2ConnectionState &

      Http2Stream::get_connection_state()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1246
    functionName: Http2Stream::is_read_closed
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_read_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1252
    functionName: Http2Stream::expect_send_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::expect_send_trailer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::reset_send_headers
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1260
    functionName: Http2Stream::set_expect_send_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::reset_send_headers
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_expect_send_trailer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1265
    functionName: Http2Stream::expect_receive_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::expect_receive_trailer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1271
    functionName: Http2Stream::set_expect_receive_trailer
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_expect_receive_trailer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ProxyError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1279
    functionName: Http2Stream::set_rx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::is_outbound_connection
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_rx_error_code(ProxyError e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/src/proxy/http2/Http2Stream.cc:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ProxyError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1290
    functionName: Http2Stream::set_tx_error_code
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached:
    - Http2Stream::is_outbound_connection
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_tx_error_code(ProxyError e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: Http2Stream::get_version
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2Stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion Http2Stream::get_version(HTTPHdr & /* hdr ATS_UNUSED */)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _o
    argTypes:
    - HttpSessionAccept::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Http2SessionAccept::Http2SessionAccept
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2SessionAccept::Http2SessionAccept(const HttpSessionAccept::Options
      &_o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Http2SessionAccept::~Http2SessionAccept()
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2SessionAccept::~Http2SessionAccept()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection*::get_remote_addr
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:49,1
    - Dst: NetVConnection*::get_proxy_protocol_version
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:52,1
    - Dst: NetVConnection*::get_proxy_protocol_src_addr
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:53,1
    - Dst: IpAllow::match
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:58,1
    - Dst: IpAllow::ACL::isValid
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:59,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:61,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:61,1
    - Dst: 'on'
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:67,1
    - Dst: DbgPrint
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:70,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:71,1
    - Dst: THREAD_ALLOC_INIT
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:74,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:74,1
    - Dst: std::move
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:75,1
    - Dst: Http2ClientSession*::setThreadAffinity
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:79,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:79,1
    - Dst: Http2ClientSession*::new_connection
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - netvc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: Http2SessionAccept::accept
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc
    functionUses: 0
    functionsReached:
    - Warning
    - 'on'
    - Http2ClientSession*::setThreadAffinity
    - THREAD_ALLOC_INIT
    - NetVConnection*::get_proxy_protocol_src_addr
    - ats_ip_nptop
    - DbgPrint
    - ats_ip_ntop
    - IpAllow::match
    - this_ethread
    - Http2ClientSession*::new_connection
    - NetVConnection*::get_remote_addr
    - std::move
    - IpAllow::ACL::isValid
    - NetVConnection*::get_proxy_protocol_version
    linkageType: ''
    returnType: bool
    signature: bool Http2SessionAccept::accept(NetVConnection *netvc, MIOBuffer *iobuf,
      IOBufferReader *reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:88,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:89,1
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:92,1
    - Dst: Http2SessionAccept::accept
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:93,1
    - Dst: NetVConnection*::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:94,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:102,1
    - Dst: ink_abort
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:107,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: Http2SessionAccept::mainEvent
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2SessionAccept.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ts::Metrics::Counter::increment
    - ink_release_assert
    - ink_abort
    - static_cast<NetVConnection *>
    - Http2SessionAccept::accept
    - NetVConnection*::do_io_close
    linkageType: ''
    returnType: int
    signature: int Http2SessionAccept::mainEvent(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:41,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:41,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: send_connection_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 2
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int send_connection_event(Continuation *cont, int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:41,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:41,1
    - Dst: Continuation*::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: send_connection_event
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 2
    functionsReached:
    - SCOPED_MUTEX_LOCK
    - Continuation*::handleEvent
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int send_connection_event(Continuation *cont, int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Http2ClientSession::Http2ClientSession
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::Http2ClientSession()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:54,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:55,1
    - Dst: Http2ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:57,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: Http2ClientSession::destroy
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - do_api_callout
    - REMEMBER
    - Http2SsnDebug
    - Http2ClientSession::do_io_close
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2CommonSession::common_free
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:69,1
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:70,1
    - Dst: THREAD_FREE
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Http2ClientSession::free
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - THREAD_FREE
    - ts::Metrics::Gauge::decrement
    - Http2CommonSession::common_free
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::free()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:78,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:78,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:80,1
    - Dst: HTTP2_SET_SESSION_HANDLER
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:81,1
    - Dst: Http2ClientSession::do_io_read
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:83,1
    - Dst: Http2ClientSession::do_io_write
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:84,1
    - Dst: Http2ClientSession::connection_state::init
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:86,1
    - Dst: Http2ClientSession::connection_state::send_connection_preface
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:87,1
    - Dst: Http2ClientSession::_read_buffer_reader::is_read_avail_more_than
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:89,1
    - Dst: Http2ClientSession::handleEvent
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: Http2ClientSession::start
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - Http2ClientSession::handleEvent
    - SCOPED_MUTEX_LOCK
    - Http2ClientSession::do_io_read
    - HTTP2_SET_SESSION_HANDLER
    - Http2ClientSession::do_io_write
    - Http2ClientSession::connection_state::init
    - Http2ClientSession::_read_buffer_reader::is_read_avail_more_than
    - Http2ClientSession::connection_state::send_connection_preface
    - this_ethread
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::start()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:97,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:97,1
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:98,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:99,1
    - Dst: Http2ClientSession::_milestones::mark
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:100,1
    - Dst: ProxySession::next_connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:103,1
    - Dst: set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:105,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:105,1
    - Dst: NetVConnection*::get_service
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:111,1
    - Dst: auto::get_early_data_len
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:113,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:116,1
    - Dst: Http2ClientSession::_vc::set_tcp_congestion_control
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:118,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:120,1
    - Dst: local_settings::get
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:121,1
    - Dst: Http2ClientSession::read_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:122,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:124,1
    - Dst: Http2ClientSession::_vc::get_service
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:127,1
    - Dst: auto::hints_from_sni::http2_buffer_water_mark::has_value
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:127,1
    - Dst: auto::hints_from_sni::http2_buffer_water_mark::value
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:128,1
    - Dst: Http2ClientSession::write_buffer::alloc_reader
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:134,1
    - Dst: index_to_buffer_size
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:135,1
    - Dst: Http2ClientSession::_handle_if_ssl
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:137,1
    - Dst: do_api_callout
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - new_vc
    - iobuf
    - reader
    argTypes:
    - NetVConnection*
    - MIOBuffer*
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 140
    functionName: Http2ClientSession::new_connection
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - ProxySession::next_connection_id
    - Http2ClientSession::write_buffer::alloc_reader
    - local_settings::get
    - do_api_callout
    - auto::get_early_data_len
    - Http2ClientSession::read_buffer::alloc_reader
    - this_ethread
    - index_to_buffer_size
    - ts::Metrics::Counter::increment
    - set_inactivity_timeout
    - auto::hints_from_sni::http2_buffer_water_mark::value
    - NetVConnection*::get_service
    - auto::hints_from_sni::http2_buffer_water_mark::has_value
    - Http2ClientSession::_vc::set_tcp_congestion_control
    - Http2SsnDebug
    - Dbg
    - ink_assert
    - Http2ClientSession::_vc::get_service
    - HRTIME_SECONDS
    - Http2ClientSession::_milestones::mark
    - Http2ClientSession::_handle_if_ssl
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::new_connection(NetVConnection *new_vc, MIOBuffer
      *iobuf, IOBufferReader *reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REMEMBER
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:149,1
    - Dst: Http2ClientSession::connection_state::is_state_closed
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:151,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:152,1
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:154,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:154,1
    - Dst: send_connection_event
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:155,1
    - Dst: Http2ClientSession::connection_state::release_stream
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:157,1
    - Dst: Http2ClientSession::clear_session_active
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:159,1
    - Dst: Http2ClientSession::do_io_write
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: Http2ClientSession::do_io_close
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 1
    functionsReached:
    - REMEMBER
    - Http2ClientSession::connection_state::is_state_closed
    - Http2SsnDebug
    - send_connection_event
    - Http2ClientSession::do_io_write
    - Http2ClientSession::connection_state::release_stream
    - this_ethread
    - Http2ClientSession::clear_session_active
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::do_io_close(int /* alerrno ATS_UNUSED */)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:169,1
    - Dst: this_ethread
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:169,1
    - Dst: static_cast<Event *>
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:175,1
    - Dst: get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:183,1
    - Dst: get_zombie_event
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:185,1
    - Dst: Warning
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:186,1
    - Dst: connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:186,1
    - Dst: static_cast<VIO *>
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:193,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:202,1
    - Dst: HttpDebugNames::get_event_name
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:202,1
    - Dst: Http2ClientSession::set_dying_event
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:203,1
    - Dst: Http2ClientSession::do_io_close
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:204,1
    - Dst: Http2ClientSession::connection_state::restart_streams
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:211,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:212,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:212,1
    - Dst: Http2ClientSession::flush
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:213,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:220,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:221,1
    - Dst: Http2ClientSession::is_draining
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:226,1
    - Dst: Http2ClientSession::connection_state::get_shutdown_reason
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:226,1
    - Dst: Http2ClientSession::connection_state::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:227,1
    - Dst: Http2ClientSession::connection_state::get_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:230,1
    - Dst: Http2ClientSession::is_draining
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:231,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:232,1
    - Dst: Http2ClientSession::connection_state::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:233,1
    - Dst: Http2ClientSession::connection_state::get_stream_error_rate
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:234,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:237,1
    - Dst: Http2ClientSession::get_remote_addr
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:237,1
    - Dst: SiteThrottledWarning
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:238,1
    - Dst: connection_id
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:240,1
    - Dst: Http2ClientSession::connection_state::get_stream_error_rate
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:240,1
    - Dst: Http2SsnDebug
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:242,1
    - Dst: Http2ClientSession::connection_state::set_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:244,1
    - Dst: Http2ClientSession::connection_state::get_shutdown_state
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:248,1
    - Dst: send_connection_event
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:249,1
    - Dst: is_recursing
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:253,1
    - Dst: Http2ClientSession::free
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:254,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 257
    functionName: Http2ClientSession::main_event_handler
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - send_connection_event
    - this_ethread
    - SiteThrottledWarning
    - Http2ClientSession::do_io_close
    - get_zombie_event
    - Http2ClientSession::is_draining
    - Http2ClientSession::connection_state::get_stream_error_rate
    - ats_ip_ntop
    - Warning
    - ink_release_assert
    - Http2ClientSession::connection_state::restart_streams
    - HttpDebugNames::get_event_name
    - Http2ClientSession::flush
    - Http2ClientSession::free
    - is_recursing
    - Http2SsnDebug
    - Http2ClientSession::connection_state::get_shutdown_state
    - static_cast<Event *>
    - Http2ClientSession::get_remote_addr
    - static_cast<VIO *>
    - ink_assert
    - ink_get_hrtime
    - Http2ClientSession::connection_state::set_shutdown_state
    - HRTIME_MSECONDS
    - connection_id
    - Http2ClientSession::set_dying_event
    - Http2ClientSession::connection_state::get_shutdown_reason
    linkageType: ''
    returnType: int
    signature: int Http2ClientSession::main_event_handler(int event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: Http2ClientSession::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::increment_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: Http2ClientSession::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::decrement_current_active_connections_stat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ClientSession::get_remote_addr
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Http2ClientSession::get_remote_addr
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 2
    functionsReached:
    - Http2ClientSession::get_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Http2ClientSession::get_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2ClientSession::get_local_addr
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: Http2ClientSession::get_local_addr
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 1
    functionsReached:
    - Http2ClientSession::get_local_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      Http2ClientSession::get_local_addr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_stream_requests
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: Http2ClientSession::get_transact_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - get_stream_requests
    linkageType: ''
    returnType: int
    signature: int Http2ClientSession::get_transact_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: Http2ClientSession::get_protocol_string
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2ClientSession::get_protocol_string() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: Http2ClientSession::release
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::release(ProxyTransaction * /* trans ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLNetVConnection::populate_protocol
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - size
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: Http2ClientSession::populate_protocol
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::populate_protocol
    linkageType: ''
    returnType: int
    signature: int Http2ClientSession::populate_protocol(std::string_view *result,
      int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: size
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: strncmp
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:318,1
    - Dst: data
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:319,1
    - Dst: SSLNetVConnection::protocol_contains
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: Http2ClientSession::protocol_contains
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - SSLNetVConnection::protocol_contains
    - std::string_view::size
    - data
    - strncmp
    - size
    - std::string_view::data
    linkageType: ''
    returnType: char
    signature: 'char *

      Http2ClientSession::protocol_contains(std::string_view prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: Http2ClientSession::get_proxy_session
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxySession
    signature: 'ProxySession *

      Http2ClientSession::get_proxy_session()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2ClientSession::_vc::get_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:336,1
    - Dst: Http2ClientSession::set_inactivity_timeout
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:337,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: Http2ClientSession::set_no_activity_timeout
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached:
    - Http2ClientSession::_vc::get_inactivity_timeout
    - Http2ClientSession::set_inactivity_timeout
    - HRTIME_SECONDS
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession::set_no_activity_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: Http2ClientSession::get_version
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion Http2ClientSession::get_version(HTTPHdr & /* hdr ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: Http2ClientSession::is_protocol_framed
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ClientSession::is_protocol_framed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: Http2ClientSession::get_received_frame_count
    functionSourceFile: /src/trafficserver/src/proxy/http2/Http2ClientSession.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Http2ClientSession::get_received_frame_count(uint64_t type)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::create
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:44,1
    - Dst: init_diags
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:45,1
    - Dst: RecProcessInit
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:46,1
    - Dst: LibRecordsConfigInit
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:47,1
    - Dst: ink_event_system_init
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:49,1
    - Dst: start
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:50,1
    - Dst: EThread::EThread
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:52,1
    - Dst: EThread*::set_specific
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:53,1
    - Dst: hpack_huffman_init
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: testRunStarting
    functionSourceFile: /src/trafficserver/src/proxy/http2/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - start
    - Layout::create
    - RecProcessInit
    - init_diags
    - EThread*::set_specific
    - LibRecordsConfigInit
    - EThread::EThread
    - hpack_huffman_init
    - ink_event_system_init
    linkageType: ''
    returnType: void
    signature: void testRunStarting(Catch::TestRunInfo const & /* testRunInfo */)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_huffman_fin
      Src: /src/trafficserver/src/proxy/http2/unit_tests/main.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: testRunEnded
    functionSourceFile: /src/trafficserver/src/proxy/http2/unit_tests/main.cc
    functionUses: 0
    functionsReached:
    - hpack_huffman_fin
    linkageType: ''
    returnType: void
    signature: void testRunEnded(Catch::TestRunStats const & /* testRunStats */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::destroy
      Src: /src/trafficserver/src/proxy/http2/unit_tests/test_HpackIndexingTable.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: destroy_http_hdr
    functionSourceFile: /src/trafficserver/src/proxy/http2/unit_tests/test_HpackIndexingTable.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::destroy
    linkageType: ''
    returnType: void
    signature: void destroy_http_hdr(HTTPHdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::destroy
      Src: /src/trafficserver/src/proxy/http2/unit_tests/test_HpackIndexingTable.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: destroy_http_hdr
    functionSourceFile: /src/trafficserver/src/proxy/http2/unit_tests/test_HpackIndexingTable.cc
    functionUses: 0
    functionsReached:
    - HTTPHdr*::destroy
    linkageType: ''
    returnType: void
    signature: void destroy_http_hdr(HTTPHdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/trafficserver/ci/coverity-model.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - argument_re
    - extra_data
    - subject
    - length
    - start_offset
    - options
    - offsets
    - offsetcount
    argTypes:
    - pcre*
    - pcre_extra*
    - PCRE_SPTR
    - int
    - int
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: pcre_exec
    functionSourceFile: /src/trafficserver/ci/coverity-model.cpp
    functionUses: 3
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: int
    signature: "int pcre_exec(const pcre *argument_re, const pcre_extra *extra_data,\n
      \         PCRE_SPTR subject, int length, int start_offset, int options, int
      *offsets,\n          int offsetcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/trafficserver/ci/coverity-model.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ink_abort
    functionSourceFile: /src/trafficserver/ci/coverity-model.cpp
    functionUses: 56
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: void ink_abort(const char *message_format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/trafficserver/ci/coverity-model.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txt
    - f
    - l
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: _TSReleaseAssert
    functionSourceFile: /src/trafficserver/ci/coverity-model.cpp
    functionUses: 0
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: void _TSReleaseAssert(const char* txt, const char* f, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/trafficserver/ci/coverity-model.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - ExitStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: my_exit
    functionSourceFile: /src/trafficserver/ci/coverity-model.cpp
    functionUses: 21
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: void my_exit(const ExitStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aux_data
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: MessageStorage::writable_data
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 2
    functionsReached:
    - aux_data
    linkageType: ''
    returnType: char
    signature: "char *\n  writable_data()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: commit
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:52,1
    - Dst: remaining
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:54,1
    - Dst: MessageStorage::flush
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: MessageStorage::save
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 2
    functionsReached:
    - remaining
    - commit
    - MessageStorage::flush
    linkageType: ''
    returnType: void
    signature: void save(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remaining
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: MessageStorage::available
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 2
    functionsReached:
    - remaining
    linkageType: ''
    returnType: size_t
    signature: size_t available() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:69,1
    - Dst: reserve
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:74,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:74,1
    - Dst: reserve
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:77,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:77,1
    - Dst: append
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:80,1
    - Dst: data
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:80,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:80,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:81,1
    - Dst: clear
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: MessageStorage::flush
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 1
    functionsReached:
    - append
    - reserve
    - data
    - size
    - clear
    linkageType: ''
    returnType: void
    signature: void flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageStorage::stored
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:89,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:89,1
    - Dst: data
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:91,1
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:91,1
    - Dst: MessageStorage::flush
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: MessageStorage::str
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 2
    functionsReached:
    - data
    - size
    - MessageStorage::stored
    - MessageStorage::flush
    linkageType: ''
    returnType: std::string
    signature: std::string str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/shared/rpc/MessageStorage.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: MessageStorage::stored
    functionSourceFile: /src/trafficserver/include/shared/rpc/MessageStorage.h
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t stored() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:49,1
    - Dst: memset
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: shared::rpc::IPCSocketClient
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached:
    - memset
    - std::move
    linkageType: ''
    returnType: void
    signature: void IPCSocketClient(std::string path = "/tmp/jsonrpc20.sock")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::disconnect
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~IPCSocketClient()
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached:
    - shared::rpc::disconnect
    linkageType: ''
    returnType: void
    signature: void ~IPCSocketClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::close
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: shared::rpc::disconnect
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 5
    functionsReached:
    - shared::rpc::close
    linkageType: ''
    returnType: void
    signature: void disconnect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: shared::rpc::close
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 1
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: shared::rpc::is_closed
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:49,1
    - Dst: memset
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: shared::rpc::IPCSocketClient
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached:
    - memset
    - std::move
    linkageType: ''
    returnType: void
    signature: void IPCSocketClient(std::string path = "/tmp/jsonrpc20.sock")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~IPCSocketClient()
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ~IPCSocketClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::close
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: shared::rpc::disconnect
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 5
    functionsReached:
    - shared::rpc::close
    linkageType: ''
    returnType: void
    signature: void disconnect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNSConnection::close
      Src: /src/trafficserver/include/shared/rpc/IPCSocketClient.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: shared::rpc::close
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 2
    functionsReached:
    - DNSConnection::close
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: shared::rpc::is_closed
    functionSourceFile: /src/trafficserver/include/shared/rpc/IPCSocketClient.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~JSONRPCRequest()
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JSONRPCRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: shared::rpc::get_method
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: shared::rpc::is_error
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool is_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::getString
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: shared::rpc::ClientRequest
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - shared::rpc::getString
    linkageType: ''
    returnType: void
    signature: void ClientRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: shared::rpc::IdGenerator
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: void
    signature: void IdGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:99,1
    - Dst: shared::rpc::getString
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: shared::rpc::getString
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 2
    functionsReached:
    - shared::rpc::getString
    - valid
    linkageType: ''
    returnType: char
    signature: "char *\n    getString()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: shared::rpc::ClientRequestNotification
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientRequestNotification()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: shared::rpc::get_method
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:146,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: shared::rpc::emplace_rec
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 2
    functionsReached:
    - push_back
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void emplace_rec(Args &&...p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:197,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:198,1
    - Dst: RecordLookUpResponse::RecordError::message::empty
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - os
    - re
    argTypes:
    - std::ostream
    - RecordLookUpResponse::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: '&

      operator<<(std::ostream &os, const RecordLookUpResponse::RecordError &re)'
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - RecordLookUpResponse::RecordError::message::empty
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, const RecordLookUpResponse::RecordError &re)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - JSONRPCError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: '&

      operator<<(std::ostream &os, const JSONRPCError &err)'
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, const JSONRPCError &err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~JSONRPCRequest()
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JSONRPCRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: shared::rpc::get_method
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsNull
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: shared::rpc::is_error
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - IsNull
    linkageType: ''
    returnType: bool
    signature: bool is_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::getString
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: shared::rpc::ClientRequest
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - shared::rpc::getString
    linkageType: ''
    returnType: void
    signature: void ClientRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: shared::rpc::IdGenerator
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: void
    signature: void IdGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:99,1
    - Dst: shared::rpc::getString
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: shared::rpc::getString
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 4
    functionsReached:
    - shared::rpc::getString
    - valid
    linkageType: ''
    returnType: char
    signature: "char *\n    getString()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: shared::rpc::ClientRequestNotification
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientRequestNotification()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: shared::rpc::get_method
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_method() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:146,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: shared::rpc::emplace_rec
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 2
    functionsReached:
    - push_back
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void emplace_rec(Args &&...p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:197,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:198,1
    - Dst: RecordLookUpResponse::RecordError::message::empty
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCRequests.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - os
    - re
    argTypes:
    - std::ostream
    - RecordLookUpResponse::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: '&

      operator<<(std::ostream &os, const RecordLookUpResponse::RecordError &re)'
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwprint
    - RecordLookUpResponse::RecordError::message::empty
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, const RecordLookUpResponse::RecordError &re)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - JSONRPCError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: '&

      operator<<(std::ostream &os, const JSONRPCError &err)'
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCRequests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, const JSONRPCError &err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - YAML::Node
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: helper::try_extract
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - auto::as
    linkageType: ''
    returnType: auto
    signature: auto try_extract(YAML::Node const &node, const char *name, bool throwOnFail
      = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - YAML::Node
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: helper::try_extract
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - auto::as
    linkageType: ''
    returnType: auto
    signature: auto try_extract(YAML::Node const &node, const char *name, bool throwOnFail
      = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:63,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:64,1
    - Dst: shared::rpc::JSONRPCError::data::emplace_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node
    - error
    argTypes:
    - Node
    - shared::rpc::JSONRPCError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    - shared::rpc::JSONRPCError::data::emplace_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::JSONRPCError &error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:78,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:79,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:80,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:81,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:82,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - node
    - meta
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo::ConfigMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo::ConfigMeta
      &meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - meta
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo::StatMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<int32_t>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo::StatMeta
      &meta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:101,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:102,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:103,1
    - Dst: helper::try_extract<bool>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:104,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:105,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:106,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:107,1
    - Dst: helper::try_extract<bool>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:108,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:109,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:110,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:111,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:114,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    - auto::as
    - helper::try_extract<bool>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo
      &info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::RecordLookUpResponse::recordList::push_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:133,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:133,1
    - Dst: shared::rpc::RecordLookUpResponse::errorList::push_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:139,1
    - Dst: as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - shared::rpc::RecordLookUpResponse::errorList::push_back
    - shared::rpc::RecordLookUpResponse::recordList::push_back
    - auto::as
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse &info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - shared::rpc::RecordLookupRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(shared::rpc::RecordLookupRequest::Params const &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:169,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:170,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - node
    - err
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordError
      &err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:63,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:64,1
    - Dst: shared::rpc::JSONRPCError::data::emplace_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node
    - error
    argTypes:
    - Node
    - shared::rpc::JSONRPCError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    - shared::rpc::JSONRPCError::data::emplace_back
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::JSONRPCError &error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:78,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:79,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:80,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:81,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:82,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - node
    - meta
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo::ConfigMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo::ConfigMeta
      &meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - meta
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo::StatMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<int32_t>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo::StatMeta
      &meta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:101,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:102,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:103,1
    - Dst: helper::try_extract<bool>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:104,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:105,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:106,1
    - Dst: helper::try_extract<int32_t>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:107,1
    - Dst: helper::try_extract<bool>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:108,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:109,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:110,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:111,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:114,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordParamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    - helper::try_extract<int32_t>
    - auto::as
    - helper::try_extract<bool>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordParamInfo
      &info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared::rpc::RecordLookUpResponse::recordList::push_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:133,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:133,1
    - Dst: shared::rpc::RecordLookUpResponse::errorList::push_back
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:139,1
    - Dst: as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - node
    - info
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - shared::rpc::RecordLookUpResponse::errorList::push_back
    - shared::rpc::RecordLookUpResponse::recordList::push_back
    - auto::as
    - as
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse &info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - shared::rpc::RecordLookupRequest::Params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node encode(shared::rpc::RecordLookupRequest::Params const &info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:169,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:170,1
    - Dst: helper::try_extract<std::string>
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - node
    - err
    argTypes:
    - Node
    - shared::rpc::RecordLookUpResponse::RecordError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - helper::try_extract<std::string>
    linkageType: ''
    returnType: bool
    signature: bool decode(Node const &node, shared::rpc::RecordLookUpResponse::RecordError
      &err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:203,1
    - Dst: shared::rpc::JSONRPCRequest::id::empty
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:207,1
    - Dst: shared::rpc::JSONRPCRequest::get_method
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:211,1
    - Dst: shared::rpc::JSONRPCRequest::params::IsNull
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:212,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - shared::rpc::JSONRPCRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: yamlcpp_json_emitter::encode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - YAML::Emitter::c_str
    - shared::rpc::JSONRPCRequest::id::empty
    - shared::rpc::JSONRPCRequest::get_method
    - shared::rpc::JSONRPCRequest::params::IsNull
    - YAML::Emitter::Emitter
    linkageType: ''
    returnType: std::string
    signature: std::string encode(shared::rpc::JSONRPCRequest const &req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:223,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:223,1
    - Dst: shared::rpc::JSONRPCResponse::fullMsg::Type
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:224,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:235,1
    - Dst: auto::as
      Src: /src/trafficserver/include/shared/rpc/yaml_codecs.h:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - response
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: yamlcpp_json_emitter::decode
    functionSourceFile: /src/trafficserver/include/shared/rpc/yaml_codecs.h
    functionUses: 0
    functionsReached:
    - YAML::Load
    - std::string::data
    - shared::rpc::JSONRPCResponse::fullMsg::Type
    - auto::as
    linkageType: ''
    returnType: shared::rpc::JSONRPCResponse
    signature: shared::rpc::JSONRPCResponse decode(const std::string &response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: shared::rpc::RPCClient::RPCClient
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 0
    functionsReached:
    - Layout::get
    linkageType: ''
    returnType: void
    signature: void RPCClient()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:55,1
    - Dst: is_closed
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:56,1
    - Dst: send
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:58,1
    - Dst: read_all
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:59,1
    - Dst: disconnect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:61,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:68,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:71,1
    - Dst: std::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:71,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:74,1
    - Dst: std::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:74,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:81,1
    - Dst: std ::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:81,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:84,1
    - Dst: what
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:84,1
    - Dst: disconnect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:86,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - req
    - timeout_ms
    - attempts
    argTypes:
    - std::string_view
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: shared::rpc::RPCClient::invoke
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 0
    functionsReached:
    - read_all
    - connect
    - std::runtime_error
    - what
    - std ::strerror
    - disconnect
    - is_closed
    - std::strerror
    - send
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: std::string
    signature: std::string invoke(std::string_view req, std::chrono::milliseconds
      timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:106,1
    - Dst: ats_base64_decode
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:107,1
    - Dst: shared::rpc::RPCClient::invoke
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - req
    - timeout_ms
    - attempts
    argTypes:
    - JSONRPCRequest
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: shared::rpc::RPCClient::invoke
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 1
    functionsReached:
    - ats_base64_encode
    - ats_base64_decode
    - shared::rpc::RPCClient::invoke
    linkageType: ''
    returnType: JSONRPCResponse
    signature: JSONRPCResponse invoke(JSONRPCRequest const &req, std::chrono::milliseconds
      timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: shared::rpc::RPCClient::RPCClient
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 0
    functionsReached:
    - Layout::get
    linkageType: ''
    returnType: void
    signature: void RPCClient()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:55,1
    - Dst: is_closed
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:56,1
    - Dst: send
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:58,1
    - Dst: read_all
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:59,1
    - Dst: disconnect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:61,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:68,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:71,1
    - Dst: std::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:71,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:74,1
    - Dst: std::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:74,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:81,1
    - Dst: std ::strerror
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:81,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:84,1
    - Dst: what
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:84,1
    - Dst: disconnect
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:86,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - req
    - timeout_ms
    - attempts
    argTypes:
    - std::string_view
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: shared::rpc::RPCClient::invoke
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 1
    functionsReached:
    - read_all
    - connect
    - std::runtime_error
    - what
    - std ::strerror
    - disconnect
    - is_closed
    - std::strerror
    - send
    - swoc::SWOC_VERSION_NS::bwprint
    - ink_assert
    linkageType: ''
    returnType: std::string
    signature: std::string invoke(std::string_view req, std::chrono::milliseconds
      timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:106,1
    - Dst: ats_base64_decode
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:107,1
    - Dst: shared::rpc::RPCClient::invoke
      Src: /src/trafficserver/include/shared/rpc/RPCClient.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - req
    - timeout_ms
    - attempts
    argTypes:
    - JSONRPCRequest
    - std::chrono::milliseconds
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: shared::rpc::RPCClient::invoke
    functionSourceFile: /src/trafficserver/include/shared/rpc/RPCClient.h
    functionUses: 2
    functionsReached:
    - ats_base64_encode
    - ats_base64_decode
    - shared::rpc::RPCClient::invoke
    linkageType: ''
    returnType: JSONRPCResponse
    signature: JSONRPCResponse invoke(JSONRPCRequest const &req, std::chrono::milliseconds
      timeout_ms, int attempts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: debug_assert
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - EX
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: debug_assert_message
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_assert_message(EX, MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: debug_assert
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - EX
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: debug_assert_message
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_assert_message(EX, MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: release_assert
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 328
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: release_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - EX
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: release_assert_message
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: release_assert_message(EX, MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: fatal_error
    functionSourceFile: /src/trafficserver/include/tsutil/Assert.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal_error(format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/include/tsutil/StringConvert.h:45,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:45,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/tsutil/StringConvert.h:47,1
    - Dst: std::string::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:48,1
    - Dst: std::to_chars
      Src: /src/trafficserver/include/tsutil/StringConvert.h:53,1
    - Dst: std::errc
      Src: /src/trafficserver/include/tsutil/StringConvert.h:53,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/tsutil/StringConvert.h:56,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/include/tsutil/StringConvert.h:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: ts::hex
    functionSourceFile: /src/trafficserver/include/tsutil/StringConvert.h
    functionUses: 2
    functionsReached:
    - std::to_chars
    - std::make_error_code
    - std::runtime_error
    - std::string::size
    - std::string::data
    - std::string::resize
    - std::string_view::size
    - std::errc
    linkageType: ''
    returnType: std::string
    signature: std::string hex(const std::string_view input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:79,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/include/tsutil/StringConvert.h:80,1
    - Dst: std::string::resize
      Src: /src/trafficserver/include/tsutil/StringConvert.h:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:83,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tsutil/StringConvert.h:85,1
    - Dst: std::from_chars
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: reinterpret_cast<unsigned char &>
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: std::errc
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/tsutil/StringConvert.h:90,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/include/tsutil/StringConvert.h:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: ts::unhex
    functionSourceFile: /src/trafficserver/include/tsutil/StringConvert.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<unsigned char &>
    - std::make_error_code
    - std::from_chars
    - std::runtime_error
    - std::string::resize
    - std::string_view::size
    - std::errc
    - std::string_view::data
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string unhex(const std::string_view input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/include/tsutil/StringConvert.h:45,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:45,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/tsutil/StringConvert.h:47,1
    - Dst: std::string::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:48,1
    - Dst: std::to_chars
      Src: /src/trafficserver/include/tsutil/StringConvert.h:53,1
    - Dst: std::errc
      Src: /src/trafficserver/include/tsutil/StringConvert.h:53,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/tsutil/StringConvert.h:56,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/include/tsutil/StringConvert.h:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: ts::hex
    functionSourceFile: /src/trafficserver/include/tsutil/StringConvert.h
    functionUses: 2
    functionsReached:
    - std::to_chars
    - std::make_error_code
    - std::runtime_error
    - std::string::size
    - std::string::data
    - std::string::resize
    - std::string_view::size
    - std::errc
    linkageType: ''
    returnType: std::string
    signature: std::string hex(const std::string_view input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:79,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/include/tsutil/StringConvert.h:80,1
    - Dst: std::string::resize
      Src: /src/trafficserver/include/tsutil/StringConvert.h:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/StringConvert.h:83,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tsutil/StringConvert.h:85,1
    - Dst: std::from_chars
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: reinterpret_cast<unsigned char &>
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: std::errc
      Src: /src/trafficserver/include/tsutil/StringConvert.h:87,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/include/tsutil/StringConvert.h:90,1
    - Dst: std::make_error_code
      Src: /src/trafficserver/include/tsutil/StringConvert.h:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: ts::unhex
    functionSourceFile: /src/trafficserver/include/tsutil/StringConvert.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<unsigned char &>
    - std::make_error_code
    - std::from_chars
    - std::runtime_error
    - std::string::resize
    - std::string_view::size
    - std::errc
    - std::string_view::data
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string unhex(const std::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DiagsLevel>
      Src: /src/trafficserver/include/tsutil/ts_errata.h:45,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tsutil/ts_errata.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - swoc::Errata::Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: diags_level_of
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<DiagsLevel>
    linkageType: ''
    returnType: DiagsLevel
    signature: DiagsLevel diags_level_of(swoc::Errata::Severity s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/trafficserver/include/tsutil/ts_errata.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::make_errno_code
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 1
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_errno_code()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/trafficserver/include/tsutil/ts_errata.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ts::make_errno_code
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 1
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_errno_code(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint_v
      Src: /src/trafficserver/include/tsutil/ts_errata.h:72,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/include/tsutil/ts_errata.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ts::bw_log
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - swoc::SWOC_VERSION_NS::bwprint_v
    linkageType: ''
    returnType: void
    signature: void bw_log(DiagsLevel /* lvl ATS_UNUSED */, swoc::TextView fmt, Args
      &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '*

      ts::err_category::name() const noexcept'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ts::err_category::name() const noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::err_category::default_error_condition
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::error_condition
    signature: std::error_condition err_category::default_error_condition(int code)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/include/tsutil/ts_errata.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ec
    - code
    argTypes:
    - std::error_code
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ts::err_category::equivalent
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::error_code::value
    linkageType: ''
    returnType: bool
    signature: bool err_category::equivalent(const std::error_code &ec, int code)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_condition::value
      Src: /src/trafficserver/include/tsutil/ts_errata.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - condition
    argTypes:
    - int
    - std::error_condition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ts::err_category::equivalent
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::error_condition::value
    linkageType: ''
    returnType: bool
    signature: bool err_category::equivalent(int code, const std::error_condition
      &condition) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/trafficserver/include/tsutil/ts_errata.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::make_errno_code
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 1
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_errno_code()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/trafficserver/include/tsutil/ts_errata.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ts::make_errno_code
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 1
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code make_errno_code(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint_v
      Src: /src/trafficserver/include/tsutil/ts_errata.h:72,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/include/tsutil/ts_errata.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ts::bw_log
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - swoc::SWOC_VERSION_NS::bwprint_v
    linkageType: ''
    returnType: void
    signature: void bw_log(DiagsLevel /* lvl ATS_UNUSED */, swoc::TextView fmt, Args
      &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '*

      ts::err_category::name() const noexcept'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ts::err_category::name() const noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::err_category::default_error_condition
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::error_condition
    signature: std::error_condition err_category::default_error_condition(int code)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/include/tsutil/ts_errata.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ec
    - code
    argTypes:
    - std::error_code
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ts::err_category::equivalent
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::error_code::value
    linkageType: ''
    returnType: bool
    signature: bool err_category::equivalent(const std::error_code &ec, int code)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::error_condition::value
      Src: /src/trafficserver/include/tsutil/ts_errata.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - condition
    argTypes:
    - int
    - std::error_condition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ts::err_category::equivalent
    functionSourceFile: /src/trafficserver/include/tsutil/ts_errata.h
    functionUses: 0
    functionsReached:
    - std::error_condition::value
    linkageType: ''
    returnType: bool
    signature: bool err_category::equivalent(int code, const std::error_condition
      &condition) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: Histogram<R, S>::operator[](unsigned int idx) -> raw_type
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator[](unsigned int idx) -> raw_type
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/include/tsutil/Histogram.h:133,1
    - Dst: self_type::_bucket::data
      Src: /src/trafficserver/include/tsutil/Histogram.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: Histogram<R, S>::operator+=(self_type const &that) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached:
    - data
    - self_type::_bucket::data
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator+=(self_type const &that) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sample
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: Histogram<R, S>::operator()(raw_type sample) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator()(raw_type sample) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: ts::Histogram<R, S>::min_for_bucket
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::min_for_bucket(unsigned idx) -> raw_type
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: ts::Histogram<R, S>::decay
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::decay() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: Histogram<R, S>::operator[](unsigned int idx) -> raw_type
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator[](unsigned int idx) -> raw_type
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/include/tsutil/Histogram.h:133,1
    - Dst: self_type::_bucket::data
      Src: /src/trafficserver/include/tsutil/Histogram.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: Histogram<R, S>::operator+=(self_type const &that) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached:
    - data
    - self_type::_bucket::data
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator+=(self_type const &that) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sample
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: Histogram<R, S>::operator()(raw_type sample) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::operator()(raw_type sample) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: ts::Histogram<R, S>::min_for_bucket
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::min_for_bucket(unsigned idx) -> raw_type
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: ts::Histogram<R, S>::decay
    functionSourceFile: /src/trafficserver/include/tsutil/Histogram.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Histogram<R, S>::decay() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ts::Yaml::Map::bad
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(Map const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map
    signature: Map &operator=(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ts::Yaml::Map::bad
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(Map const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map
    signature: Map &operator=(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ts::Yaml::Map::bad
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(Map const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map
    signature: Map &operator=(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ts::Yaml::Map::bad
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ts::Yaml::Map::Map
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(Map const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/YamlCfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map
    signature: Map &operator=(Map const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ts::meta::CaseVoidFunc
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseVoidFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ts::meta::CaseVoidFunc
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseVoidFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ts::meta::CaseVoidFunc
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseVoidFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ts::meta::CaseTag
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ts::meta::CaseVoidFunc
    functionSourceFile: /src/trafficserver/include/tsutil/ts_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseVoidFunc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/ts_unit_parser.h:91,1
    - Dst: set_default
      Src: /src/trafficserver/include/tsutil/ts_unit_parser.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - units
    - unit_required_p
    argTypes:
    - UnitParser::Units
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ts::UnitParser::UnitParser
    functionSourceFile: /src/trafficserver/include/tsutil/ts_unit_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    - set_default
    linkageType: ''
    returnType: void
    signature: void UnitParser::UnitParser(UnitParser::Units &&units, bool unit_required_p)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '&

      UnitParser::unit_required([[maybe_unused]] bool flag)'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_unit_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnitParser::self_type
    signature: 'UnitParser::self_type &

      UnitParser::unit_required([[maybe_unused]] bool flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/ts_unit_parser.h:91,1
    - Dst: set_default
      Src: /src/trafficserver/include/tsutil/ts_unit_parser.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - units
    - unit_required_p
    argTypes:
    - UnitParser::Units
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ts::UnitParser::UnitParser
    functionSourceFile: /src/trafficserver/include/tsutil/ts_unit_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    - set_default
    linkageType: ''
    returnType: void
    signature: void UnitParser::UnitParser(UnitParser::Units &&units, bool unit_required_p)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '&

      UnitParser::unit_required([[maybe_unused]] bool flag)'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_unit_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnitParser::self_type
    signature: 'UnitParser::self_type &

      UnitParser::unit_required([[maybe_unused]] bool flag)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/trafficserver/include/tsutil/Strerror.h:46,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:46,1
    - Dst: static_cast<void>
      Src: /src/trafficserver/include/tsutil/Strerror.h:47,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:47,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:51,1
    - Dst: strerror_r
      Src: /src/trafficserver/include/tsutil/Strerror.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - err_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: ts::Strerror::Strerror
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 0
    functionsReached:
    - ts::Strerror::_handle
    - static_cast<void>
    - strerror_r
    linkageType: ''
    returnType: void
    signature: void Strerror(int err_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::Strerror::c_str
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  c_str() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - retval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: ts::Strerror::_handle
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _handle(int retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - retval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: ts::Strerror::_handle
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _handle(char *retval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/trafficserver/include/tsutil/Strerror.h:46,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:46,1
    - Dst: static_cast<void>
      Src: /src/trafficserver/include/tsutil/Strerror.h:47,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:47,1
    - Dst: ts::Strerror::_handle
      Src: /src/trafficserver/include/tsutil/Strerror.h:51,1
    - Dst: strerror_r
      Src: /src/trafficserver/include/tsutil/Strerror.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - err_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: ts::Strerror::Strerror
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 0
    functionsReached:
    - ts::Strerror::_handle
    - static_cast<void>
    - strerror_r
    linkageType: ''
    returnType: void
    signature: void Strerror(int err_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::Strerror::c_str
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  c_str() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - retval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: ts::Strerror::_handle
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _handle(int retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - retval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: ts::Strerror::_handle
    functionSourceFile: /src/trafficserver/include/tsutil/Strerror.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _handle(char *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: X
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ts::shared_mutex::shared_mutex
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ts::shared_mutex::shared_mutex
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex(shared_mutex const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '&operator=(shared_mutex const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex
    signature: shared_mutex &operator=(shared_mutex const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:64,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:66,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ts::shared_mutex::lock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - pthread_rwlock_wrlock
    - ts::shared_mutex::_call_fatal
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:74,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:79,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: ts::shared_mutex::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:90,1
    - Dst: ts::shared_mutex::_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ts::shared_mutex::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_unlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:98,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:100,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:102,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:102,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:103,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:104,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: ts::shared_mutex::lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - pthread_rwlock_rdlock
    - ts::shared_mutex::X
    - debug_assert
    - ts::shared_mutex::_call_fatal
    linkageType: ''
    returnType: void
    signature: void lock_shared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:110,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:115,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: ts::shared_mutex::try_lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_tryrdlock
    linkageType: ''
    returnType: bool
    signature: bool try_lock_shared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:126,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:126,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:127,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:128,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:128,1
    - Dst: ts::shared_mutex::_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ts::shared_mutex::unlock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - debug_assert
    - ts::shared_mutex::_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_shared()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:135,1
    - Dst: _call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: ~shared_mutex()
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - _call_fatal
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void ~shared_mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ts::shared_mutex::native_handle
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: native_handle_type
    signature: native_handle_type native_handle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:153,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: ts::shared_mutex::_unlock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 2
    functionsReached:
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void _unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatal_error
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:172,1
    - Dst: Strerror
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func_name
    - ptr
    - errnum
    argTypes:
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: ts::shared_mutex::_call_fatal
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 5
    functionsReached:
    - Strerror
    - fatal_error
    linkageType: ''
    returnType: void
    signature: void _call_fatal(char const *func_name, void *ptr, int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _exclusive
    argTypes:
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: ts::shared_mutex::X
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X(std::atomic<bool> _exclusive
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ts::shared_mutex::shared_mutex
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ts::shared_mutex::shared_mutex
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex(shared_mutex const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '&operator=(shared_mutex const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex
    signature: shared_mutex &operator=(shared_mutex const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:64,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:66,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ts::shared_mutex::lock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - pthread_rwlock_wrlock
    - ts::shared_mutex::_call_fatal
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:74,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:79,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: ts::shared_mutex::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:90,1
    - Dst: ts::shared_mutex::_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ts::shared_mutex::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_unlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:98,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:100,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:102,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:102,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:103,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:104,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: ts::shared_mutex::lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - pthread_rwlock_rdlock
    - ts::shared_mutex::X
    - debug_assert
    - ts::shared_mutex::_call_fatal
    linkageType: ''
    returnType: void
    signature: void lock_shared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:110,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:115,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: ts::shared_mutex::try_lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_tryrdlock
    linkageType: ''
    returnType: bool
    signature: bool try_lock_shared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:126,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:126,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:127,1
    - Dst: ts::shared_mutex::X
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:128,1
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:128,1
    - Dst: ts::shared_mutex::_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ts::shared_mutex::unlock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - ts::shared_mutex::X
    - debug_assert
    - ts::shared_mutex::_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_shared()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:135,1
    - Dst: _call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: ~shared_mutex()
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached:
    - _call_fatal
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void ~shared_mutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ts::shared_mutex::native_handle
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: native_handle_type
    signature: native_handle_type native_handle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:153,1
    - Dst: ts::shared_mutex::_call_fatal
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: ts::shared_mutex::_unlock
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 4
    functionsReached:
    - ts::shared_mutex::_call_fatal
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void _unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fatal_error
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:172,1
    - Dst: Strerror
      Src: /src/trafficserver/include/tsutil/TsSharedMutex.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func_name
    - ptr
    - errnum
    argTypes:
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: ts::shared_mutex::_call_fatal
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 10
    functionsReached:
    - Strerror
    - fatal_error
    linkageType: ''
    returnType: void
    signature: void _call_fatal(char const *func_name, void *ptr, int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _exclusive
    argTypes:
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: ts::shared_mutex::X
    functionSourceFile: /src/trafficserver/include/tsutil/TsSharedMutex.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X(std::atomic<bool> _exclusive
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/Convert.h:40,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/include/tsutil/Convert.h:40,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tsutil/Convert.h:41,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/include/tsutil/Convert.h:41,1
    - Dst: std::transform
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: swoc::MemSpan<char>::data
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: tolower
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - std::string_view
    - swoc::MemSpan<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: ts::transform_lower
    functionSourceFile: /src/trafficserver/include/tsutil/Convert.h
    functionUses: 5
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - tolower
    - std::transform
    - swoc::MemSpan<char>::data
    - std::string_view::size
    - swoc::MemSpan<char>::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void transform_lower(std::string_view src, swoc::MemSpan<char> dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tsutil/Convert.h:40,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/include/tsutil/Convert.h:40,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tsutil/Convert.h:41,1
    - Dst: swoc::MemSpan<char>::size
      Src: /src/trafficserver/include/tsutil/Convert.h:41,1
    - Dst: std::transform
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: swoc::MemSpan<char>::data
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    - Dst: tolower
      Src: /src/trafficserver/include/tsutil/Convert.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - std::string_view
    - swoc::MemSpan<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: ts::transform_lower
    functionSourceFile: /src/trafficserver/include/tsutil/Convert.h
    functionUses: 5
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - tolower
    - std::transform
    - swoc::MemSpan<char>::data
    - std::string_view::size
    - swoc::MemSpan<char>::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void transform_lower(std::string_view src, swoc::MemSpan<char> dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_lock::lock
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::try_lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_lock::try_lock
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m, std::try_to_lock_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m, std::defer_lock_t) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ~shared_lock()
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: void
    signature: void ~shared_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(shared_lock const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '&operator=(shared_lock const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_lock
    signature: shared_lock &operator=(shared_lock const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(shared_lock &&s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: "&\n  operator=(shared_lock &&s)"
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: shared_lock
    signature: "shared_lock &\n  operator=(shared_lock &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: ts::bravo::shared_lock::lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 1
    functionsReached:
    - lock_shared
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ts::bravo::shared_lock::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 1
    functionsReached:
    - try_lock_shared
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ts::bravo::shared_lock::try_lock_for
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool try_lock_for()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ts::bravo::shared_lock::try_lock_until
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool try_lock_until()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ts::bravo::shared_lock::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:154,1
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:155,1
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: ts::bravo::shared_lock::swap
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 1
    functionsReached:
    - ts::bravo::shared_lock::swap
    linkageType: ''
    returnType: void
    signature: void swap(shared_lock &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: ts::bravo::shared_lock::release
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mutex_type
    signature: "mutex_type *\n  release()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::bravo::shared_lock::mutex
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mutex_type
    signature: "mutex_type *\n  mutex()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ts::bravo::shared_lock::token
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Token
    signature: Token token()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: ts::bravo::shared_lock::owns_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool owns_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~shared_mutex_impl()
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~shared_mutex_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl(shared_mutex_impl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: '&operator=(shared_mutex_impl const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex_impl
    signature: shared_mutex_impl &operator=(shared_mutex_impl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl(shared_mutex_impl &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '&operator=(shared_mutex_impl &&)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex_impl
    signature: shared_mutex_impl &operator=(shared_mutex_impl &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underlying::lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:225,1
    - Dst: ts::bravo::shared_mutex_impl::_revoke
      Src: /src/trafficserver/include/tsutil/Bravo.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: ts::bravo::shared_mutex_impl::lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_mutex_impl::_revoke
    - underlying::lock
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: underlying::try_lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:232,1
    - Dst: ts::bravo::shared_mutex_impl::_revoke
      Src: /src/trafficserver/include/tsutil/Bravo.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: ts::bravo::shared_mutex_impl::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_mutex_impl::_revoke
    - underlying::try_lock
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underlying::unlock
      Src: /src/trafficserver/include/tsutil/Bravo.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: ts::bravo::shared_mutex_impl::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::unlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Bravo.h:254,1
    - Dst: DenseThreadId::num_possible_values
      Src: /src/trafficserver/include/tsutil/Bravo.h:254,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:257,1
    - Dst: DenseThreadId::self
      Src: /src/trafficserver/include/tsutil/Bravo.h:258,1
    - Dst: Slot::mu::compare_exchange_strong
      Src: /src/trafficserver/include/tsutil/Bravo.h:261,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:263,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:267,1
    - Dst: underlying::lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:273,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:274,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:274,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 277
    functionName: ts::bravo::shared_mutex_impl::lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - Slot::mu::compare_exchange_strong
    - debug_assert
    - underlying::lock_shared
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::store
    - read_bias::load
    - Slot::mu::store
    - DenseThreadId::self
    - DenseThreadId::num_possible_values
    linkageType: ''
    returnType: void
    signature: void lock_shared(Token &token)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Bravo.h:282,1
    - Dst: DenseThreadId::num_possible_values
      Src: /src/trafficserver/include/tsutil/Bravo.h:282,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:285,1
    - Dst: DenseThreadId::self
      Src: /src/trafficserver/include/tsutil/Bravo.h:286,1
    - Dst: Slot::mu::compare_exchange_weak
      Src: /src/trafficserver/include/tsutil/Bravo.h:290,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:292,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:296,1
    - Dst: underlying::try_lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:302,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:305,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:305,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: ts::bravo::shared_mutex_impl::try_lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::try_lock_shared
    - debug_assert
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::store
    - Slot::mu::compare_exchange_weak
    - read_bias::load
    - Slot::mu::store
    - DenseThreadId::self
    - DenseThreadId::num_possible_values
    linkageType: ''
    returnType: bool
    signature: bool try_lock_shared(Token &token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: underlying::unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:319,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: ts::bravo::shared_mutex_impl::unlock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::unlock_shared
    - Slot::mu::store
    linkageType: ''
    returnType: void
    signature: void unlock_shared(const Token token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: ts::bravo::shared_mutex_impl::_now
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 2
    functionsReached:
    - failover_now
    linkageType: ''
    returnType: time_point
    signature: time_point _now()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:351,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:356,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:357,1
    - Dst: mu::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:359,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/include/tsutil/Bravo.h:360,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/include/tsutil/Bravo.h:360,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: ts::bravo::shared_mutex_impl::_revoke
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 2
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::load
    - read_bias::store
    - std::this_thread::sleep_for
    - mu::load
    linkageType: ''
    returnType: void
    signature: void _revoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_lock::lock
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::try_lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_lock::try_lock
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m, std::try_to_lock_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(Mutex &m, std::defer_lock_t) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ~shared_lock()
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: void
    signature: void ~shared_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(shared_lock const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '&operator=(shared_lock const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_lock
    signature: shared_lock &operator=(shared_lock const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ts::bravo::shared_lock::shared_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_lock(shared_lock &&s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: "&\n  operator=(shared_lock &&s)"
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: shared_lock
    signature: "shared_lock &\n  operator=(shared_lock &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: ts::bravo::shared_lock::lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 2
    functionsReached:
    - lock_shared
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ts::bravo::shared_lock::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 2
    functionsReached:
    - try_lock_shared
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ts::bravo::shared_lock::try_lock_for
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool try_lock_for()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ts::bravo::shared_lock::try_lock_until
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool try_lock_until()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ts::bravo::shared_lock::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - unlock_shared
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:154,1
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:155,1
    - Dst: ts::bravo::shared_lock::swap
      Src: /src/trafficserver/include/tsutil/Bravo.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - shared_lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: ts::bravo::shared_lock::swap
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 2
    functionsReached:
    - ts::bravo::shared_lock::swap
    linkageType: ''
    returnType: void
    signature: void swap(shared_lock &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: ts::bravo::shared_lock::release
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mutex_type
    signature: "mutex_type *\n  release()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::bravo::shared_lock::mutex
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mutex_type
    signature: "mutex_type *\n  mutex()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ts::bravo::shared_lock::token
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Token
    signature: Token token()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: ts::bravo::shared_lock::owns_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool owns_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~shared_mutex_impl()
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~shared_mutex_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl(shared_mutex_impl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: '&operator=(shared_mutex_impl const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex_impl
    signature: shared_mutex_impl &operator=(shared_mutex_impl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: ts::bravo::shared_mutex_impl::shared_mutex_impl
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shared_mutex_impl(shared_mutex_impl &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '&operator=(shared_mutex_impl &&)'
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: shared_mutex_impl
    signature: shared_mutex_impl &operator=(shared_mutex_impl &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underlying::lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:225,1
    - Dst: ts::bravo::shared_mutex_impl::_revoke
      Src: /src/trafficserver/include/tsutil/Bravo.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: ts::bravo::shared_mutex_impl::lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_mutex_impl::_revoke
    - underlying::lock
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: underlying::try_lock
      Src: /src/trafficserver/include/tsutil/Bravo.h:232,1
    - Dst: ts::bravo::shared_mutex_impl::_revoke
      Src: /src/trafficserver/include/tsutil/Bravo.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: ts::bravo::shared_mutex_impl::try_lock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - ts::bravo::shared_mutex_impl::_revoke
    - underlying::try_lock
    linkageType: ''
    returnType: bool
    signature: bool try_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underlying::unlock
      Src: /src/trafficserver/include/tsutil/Bravo.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: ts::bravo::shared_mutex_impl::unlock
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::unlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Bravo.h:254,1
    - Dst: DenseThreadId::num_possible_values
      Src: /src/trafficserver/include/tsutil/Bravo.h:254,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:257,1
    - Dst: DenseThreadId::self
      Src: /src/trafficserver/include/tsutil/Bravo.h:258,1
    - Dst: Slot::mu::compare_exchange_strong
      Src: /src/trafficserver/include/tsutil/Bravo.h:261,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:263,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:267,1
    - Dst: underlying::lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:273,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:274,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:274,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 277
    functionName: ts::bravo::shared_mutex_impl::lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - Slot::mu::compare_exchange_strong
    - debug_assert
    - underlying::lock_shared
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::store
    - read_bias::load
    - Slot::mu::store
    - DenseThreadId::self
    - DenseThreadId::num_possible_values
    linkageType: ''
    returnType: void
    signature: void lock_shared(Token &token)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Bravo.h:282,1
    - Dst: DenseThreadId::num_possible_values
      Src: /src/trafficserver/include/tsutil/Bravo.h:282,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:285,1
    - Dst: DenseThreadId::self
      Src: /src/trafficserver/include/tsutil/Bravo.h:286,1
    - Dst: Slot::mu::compare_exchange_weak
      Src: /src/trafficserver/include/tsutil/Bravo.h:290,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:292,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:296,1
    - Dst: underlying::try_lock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:302,1
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:305,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:305,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: ts::bravo::shared_mutex_impl::try_lock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::try_lock_shared
    - debug_assert
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::store
    - Slot::mu::compare_exchange_weak
    - read_bias::load
    - Slot::mu::store
    - DenseThreadId::self
    - DenseThreadId::num_possible_values
    linkageType: ''
    returnType: bool
    signature: bool try_lock_shared(Token &token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: underlying::unlock_shared
      Src: /src/trafficserver/include/tsutil/Bravo.h:319,1
    - Dst: Slot::mu::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - token
    argTypes:
    - Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: ts::bravo::shared_mutex_impl::unlock_shared
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 0
    functionsReached:
    - underlying::unlock_shared
    - Slot::mu::store
    linkageType: ''
    returnType: void
    signature: void unlock_shared(const Token token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: ts::bravo::shared_mutex_impl::_now
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 5
    functionsReached:
    - failover_now
    linkageType: ''
    returnType: time_point
    signature: time_point _now()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_bias::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:351,1
    - Dst: read_bias::store
      Src: /src/trafficserver/include/tsutil/Bravo.h:356,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:357,1
    - Dst: mu::load
      Src: /src/trafficserver/include/tsutil/Bravo.h:359,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/include/tsutil/Bravo.h:360,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/include/tsutil/Bravo.h:360,1
    - Dst: ts::bravo::shared_mutex_impl::_now
      Src: /src/trafficserver/include/tsutil/Bravo.h:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: ts::bravo::shared_mutex_impl::_revoke
    functionSourceFile: /src/trafficserver/include/tsutil/Bravo.h
    functionUses: 4
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - ts::bravo::shared_mutex_impl::_now
    - read_bias::load
    - read_bias::store
    - std::this_thread::sleep_for
    - mu::load
    linkageType: ''
    returnType: void
    signature: void _revoke()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - Callable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ts::PostScript::PostScript
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostScript(Callable f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/include/tsutil/PostScript.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ~PostScript()
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached:
    - _f
    linkageType: ''
    returnType: void
    signature: void ~PostScript()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ts::PostScript::release
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ts::PostScript::PostScript
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostScript(const PostScript &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const PostScript &)'
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostScript
    signature: PostScript &operator=(const PostScript &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - Callable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ts::PostScript::PostScript
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostScript(Callable f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/include/tsutil/PostScript.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ~PostScript()
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached:
    - _f
    linkageType: ''
    returnType: void
    signature: void ~PostScript()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ts::PostScript::release
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ts::PostScript::PostScript
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostScript(const PostScript &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const PostScript &)'
    functionSourceFile: /src/trafficserver/include/tsutil/PostScript.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostScript
    signature: PostScript &operator=(const PostScript &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~DebugInterface()
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DebugInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DbgCtl::_new_reference
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: DbgCtl::DbgCtl
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 1
    functionsReached:
    - DbgCtl::_new_reference
    linkageType: ''
    returnType: void
    signature: void DbgCtl(char const *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _No_tag_dummy
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: DbgCtl::DbgCtl
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 1
    functionsReached:
    - _No_tag_dummy
    linkageType: ''
    returnType: void
    signature: void DbgCtl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _No_tag_dummy
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:72,1
    - Dst: _rm_reference
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ~DbgCtl()
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached:
    - _No_tag_dummy
    - _rm_reference
    linkageType: ''
    returnType: void
    signature: void ~DbgCtl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: DbgCtl::DbgCtl
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbgCtl(DbgCtl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(DbgCtl const &)'
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: DbgCtl &operator=(DbgCtl const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: DbgCtl::set
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(char const *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: DbgCtl::tag_on
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tag_on() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: DbgCtl::tag
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  tag() const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:107,1
    - Dst: DbgCtl::_override_global_on
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: DbgCtl::on
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached:
    - DbgCtl::_override_global_on
    - load
    linkageType: ''
    returnType: bool
    signature: bool on() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:123,1
    - Dst: DbgCtl::_override_global_on
      Src: /src/trafficserver/include/tsutil/DbgCtl.h:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: DbgCtl::global_on
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached:
    - DbgCtl::_override_global_on
    - load
    linkageType: ''
    returnType: bool
    signature: bool global_on()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: "&\n  _No_tag_dummy()"
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _TagData
    signature: "_TagData &\n  _No_tag_dummy()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CTL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: DbgPrint
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DbgPrint(CTL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CTL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: Dbg
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 1057
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Dbg(CTL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FLAG
    - ','
    - CTL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: SpecificDbg
    functionSourceFile: /src/trafficserver/include/tsutil/DbgCtl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SpecificDbg(FLAG, CTL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a4
    argTypes:
    - swoc::IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(swoc::IP4Addr const &a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a6
    argTypes:
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(swoc::IP6Addr const &a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - addr4
    - addr6
    argTypes:
    - swoc::IP4Addr
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(const swoc::IP4Addr &addr4, const swoc::IP6Addr
      &addr6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:126,1
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: ts::IPAddrPair::has_value
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ts::IPAddrPair::has_ip4
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_ip4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: ts::IPAddrPair::has_ip6
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: '&

      IPAddrPair::ip4() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP4Addr
    signature: 'swoc::IP4Addr &

      IPAddrPair::ip4() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: '&

      IPAddrPair::ip6() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP6Addr
    signature: 'swoc::IP6Addr &

      IPAddrPair::ip6() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: IPAddrPair::operator=(swoc::IP4Addr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IP4Addr const &addr) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: IPAddrPair::operator=(swoc::IP6Addr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IP6Addr const &addr) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPAddr::is_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:170,1
    - Dst: swoc::IPAddr::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:171,1
    - Dst: swoc::IPAddr::is_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:172,1
    - Dst: swoc::IPAddr::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: IPAddrPair::operator=(swoc::IPAddr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::IPAddr::is_ip4
    - swoc::IPAddr::ip4
    - swoc::IPAddr::is_ip6
    - swoc::IPAddr::ip6
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IPAddr const &addr) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPSrvPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:268,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - a4
    - a6
    - port
    argTypes:
    - swoc::IP4Addr
    - swoc::IP6Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP4Addr const &a4, swoc::IP6Addr const
      &a6, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a4
    - port
    argTypes:
    - swoc::IP4Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP4Addr const &a4, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a6
    - port
    argTypes:
    - swoc::IP6Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP6Addr const &a6, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddrPair::has_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:278,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:279,1
    - Dst: IPAddrPair::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:279,1
    - Dst: IPAddrPair::has_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:282,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:283,1
    - Dst: IPAddrPair::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - port
    argTypes:
    - IPAddrPair
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    - IPAddrPair::has_ip6
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    - IPAddrPair::ip4
    - IPAddrPair::has_ip4
    - IPAddrPair::ip6
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(IPAddrPair const &a, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:290,1
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ts::IPSrvPair::has_value
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: ts::IPSrvPair::has_ip4
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_ip4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: ts::IPSrvPair::has_ip6
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: '&

      IPSrvPair::ip4() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP4Srv
    signature: 'swoc::IP4Srv &

      IPSrvPair::ip4() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: '&

      IPSrvPair::ip6() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP6Srv
    signature: 'swoc::IP6Srv &

      IPSrvPair::ip6() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: IPSrvPair::operator=(swoc::IP4Srv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IP4Srv const &srv) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: IPSrvPair::operator=(swoc::IP6Srv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IP6Srv const &srv) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPSrv::is_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:334,1
    - Dst: swoc::IPSrv::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:335,1
    - Dst: swoc::IPSrv::is_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:336,1
    - Dst: swoc::IPSrv::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: IPSrvPair::operator=(swoc::IPSrv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::IPSrv::is_ip4
    - swoc::IPSrv::ip6
    - swoc::IPSrv::is_ip6
    - swoc::IPSrv::ip4
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IPSrv const &srv) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a4
    argTypes:
    - swoc::IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(swoc::IP4Addr const &a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a6
    argTypes:
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(swoc::IP6Addr const &a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - addr4
    - addr6
    argTypes:
    - swoc::IP4Addr
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ts::IPAddrPair::IPAddrPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddrPair::IPAddrPair(const swoc::IP4Addr &addr4, const swoc::IP6Addr
      &addr6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:126,1
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: ts::IPAddrPair::has_value
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 4
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ts::IPAddrPair::has_ip4
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_ip4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPAddrPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: ts::IPAddrPair::has_ip6
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 1
    functionsReached:
    - ts::IPAddrPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPAddrPair::has_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: '&

      IPAddrPair::ip4() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP4Addr
    signature: 'swoc::IP4Addr &

      IPAddrPair::ip4() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: '&

      IPAddrPair::ip6() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP6Addr
    signature: 'swoc::IP6Addr &

      IPAddrPair::ip6() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: IPAddrPair::operator=(swoc::IP4Addr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IP4Addr const &addr) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: IPAddrPair::operator=(swoc::IP6Addr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IP6Addr const &addr) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPAddr::is_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:170,1
    - Dst: swoc::IPAddr::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:171,1
    - Dst: swoc::IPAddr::is_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:172,1
    - Dst: swoc::IPAddr::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: IPAddrPair::operator=(swoc::IPAddr const &addr) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::IPAddr::is_ip4
    - swoc::IPAddr::ip4
    - swoc::IPAddr::is_ip6
    - swoc::IPAddr::ip6
    linkageType: ''
    returnType: auto
    signature: auto IPAddrPair::operator=(swoc::IPAddr const &addr) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPSrvPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:268,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - a4
    - a6
    - port
    argTypes:
    - swoc::IP4Addr
    - swoc::IP6Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP4Addr const &a4, swoc::IP6Addr const
      &a6, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a4
    - port
    argTypes:
    - swoc::IP4Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP4Addr const &a4, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a6
    - port
    argTypes:
    - swoc::IP6Addr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(swoc::IP6Addr const &a6, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddrPair::has_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:278,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:279,1
    - Dst: IPAddrPair::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:279,1
    - Dst: IPAddrPair::has_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:282,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
      Src: /src/trafficserver/include/tsutil/ts_ip.h:283,1
    - Dst: IPAddrPair::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - port
    argTypes:
    - IPAddrPair
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: ts::IPSrvPair::IPSrvPair
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    - IPAddrPair::has_ip6
    - swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    - IPAddrPair::ip4
    - IPAddrPair::has_ip4
    - IPAddrPair::ip6
    linkageType: ''
    returnType: void
    signature: void IPSrvPair::IPSrvPair(IPAddrPair const &a, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:290,1
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ts::IPSrvPair::has_value
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 4
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: ts::IPSrvPair::has_ip4
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_ip4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IPSrvPair::has_value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: ts::IPSrvPair::has_ip6
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - ts::IPSrvPair::has_value
    linkageType: ''
    returnType: bool
    signature: bool IPSrvPair::has_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: '&

      IPSrvPair::ip4() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP4Srv
    signature: 'swoc::IP4Srv &

      IPSrvPair::ip4() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/trafficserver/include/tsutil/ts_ip.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: '&

      IPSrvPair::ip6() const'
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: swoc::IP6Srv
    signature: 'swoc::IP6Srv &

      IPSrvPair::ip6() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: IPSrvPair::operator=(swoc::IP4Srv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IP4Srv const &srv) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: IPSrvPair::operator=(swoc::IP6Srv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IP6Srv const &srv) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPSrv::is_ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:334,1
    - Dst: swoc::IPSrv::ip4
      Src: /src/trafficserver/include/tsutil/ts_ip.h:335,1
    - Dst: swoc::IPSrv::is_ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:336,1
    - Dst: swoc::IPSrv::ip6
      Src: /src/trafficserver/include/tsutil/ts_ip.h:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - swoc::IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: IPSrvPair::operator=(swoc::IPSrv const &srv) -> self_type &
    functionSourceFile: /src/trafficserver/include/tsutil/ts_ip.h
    functionUses: 0
    functionsReached:
    - swoc::IPSrv::is_ip4
    - swoc::IPSrv::ip6
    - swoc::IPSrv::is_ip6
    - swoc::IPSrv::ip4
    linkageType: ''
    returnType: auto
    signature: auto IPSrvPair::operator=(swoc::IPSrv const &srv) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_possible_values
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: DenseThreadId::set_num_possible_values
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_num_possible_values(std::size_t num_possible_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: DenseThreadId::self
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t self()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: DenseThreadId::num_possible_values
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_possible_values()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: DenseThreadId::_init
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void _init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DenseThreadId::_init
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:82,1
    - Dst: size
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:85,1
    - Dst: fatal_error
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:86,1
    - Dst: unsigned
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:86,1
    - Dst: size
      Src: /src/trafficserver/include/tsutil/DenseThreadId.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: DenseThreadId::_Id
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 0
    functionsReached:
    - unsigned
    - size
    - DenseThreadId::_init
    - fatal_error
    linkageType: ''
    returnType: void
    signature: void _Id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: ~_Id()
    functionSourceFile: /src/trafficserver/include/tsutil/DenseThreadId.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~_Id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ts::Metrics::AtomicType::AtomicType
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::AtomicType::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::Metrics::AtomicType::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::AtomicType::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ts::Metrics::AtomicType::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::AtomicType::store
      Src: /src/trafficserver/include/tsutil/Metrics.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ts::Metrics::AtomicType::store
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::AtomicType::store
    linkageType: ''
    returnType: void
    signature: void store(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ts::Metrics::AtomicType::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void decrement(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '&operator=(Metrics &&)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Metrics
    signature: Metrics &operator=(Metrics &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(Metrics &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~Metrics()
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Metrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 11
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - out_id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n  lookup(const std::string_view name, IdType *out_id)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 13
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n  lookup(IdType id, std::string_view *out_name = nullptr)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::rename
      Src: /src/trafficserver/include/tsutil/Metrics.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - name
    argTypes:
    - IdType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ts::Metrics::rename
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::rename
    linkageType: ''
    returnType: bool
    signature: bool rename(IdType id, const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: "&\n  operator[](IdType id)"
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType &\n  operator[](IdType id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: operator[](const std::string_view name) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: IdType
    signature: IdType operator[](const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:150,1
    - Dst: auto::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ts::Metrics::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::lookup
    - auto::_value::fetch_add
    linkageType: ''
    returnType: int64_t
    signature: int64_t increment(IdType id, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:158,1
    - Dst: auto::_value::fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: ts::Metrics::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::lookup
    - auto::_value::fetch_sub
    linkageType: ''
    returnType: int64_t
    signature: int64_t decrement(IdType id, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::name
      Src: /src/trafficserver/include/tsutil/Metrics.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ts::Metrics::name
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::name
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view name(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::valid
      Src: /src/trafficserver/include/tsutil/Metrics.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: ts::Metrics::valid
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - ts::Metrics::valid
    linkageType: ''
    returnType: bool
    signature: bool valid(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - m
    - pos
    argTypes:
    - Metrics
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ts::Metrics::iterator::iterator
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const Metrics &m, IdType pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tsutil/Metrics.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: "&\n    operator++()"
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: iterator
    signature: "iterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tsutil/Metrics.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: operator++(int)
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:209,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/tsutil/Metrics.h:211,1
    - Dst: auto::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    - auto::_value::load
    - std::make_tuple
    linkageType: ''
    returnType: value_type
    signature: value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:217,1
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: operator==(const iterator &o) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - std::addressof
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:223,1
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator!=(const iterator &o) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - std::addressof
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: ts::Metrics::begin
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/trafficserver/include/tsutil/Metrics.h:242,1
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:244,1
    - Dst: ts::Metrics::_makeId
      Src: /src/trafficserver/include/tsutil/Metrics.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ts::Metrics::end
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - iterator
    - current
    - ts::Metrics::_makeId
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:250,1
    - Dst: ts::Metrics::end
      Src: /src/trafficserver/include/tsutil/Metrics.h:253,1
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: ts::Metrics::find
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - iterator
    - ts::Metrics::end
    - ts::Metrics::lookup
    linkageType: ''
    returnType: iterator
    signature: iterator find(const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/include/tsutil/Metrics.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: ts::Metrics::_create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: IdType
    signature: IdType _create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ts::Metrics::_createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - createSpan
    linkageType: ''
    returnType: SpanType
    signature: SpanType _createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: ts::Metrics::_splitID
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::make_tuple
    linkageType: ''
    returnType: std::tuple<uint16_t, uint16_t>
    signature: std::tuple<uint16_t, uint16_t> _splitID(IdType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blob
    - offset
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: ts::Metrics::_makeId
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IdType
    signature: IdType _makeId(uint16_t blob, uint16_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::_makeId
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    - Dst: std::get<0>
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    - Dst: std::get<1>
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::tuple<uint16_t, uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ts::Metrics::_makeId
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - std::get<1>
    - std::get<0>
    - ts::Metrics::_makeId
    linkageType: ''
    returnType: IdType
    signature: IdType _makeId(std::tuple<uint16_t, uint16_t> id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: ts::Metrics::Storage::Storage
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Storage(const Storage &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: '&operator=(const Storage &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Storage
    signature: Storage &operator=(const Storage &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NamesAndAtomics>
      Src: /src/trafficserver/include/tsutil/Metrics.h:306,1
    - Dst: release_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:307,1
    - Dst: release_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:308,1
    - Dst: create
      Src: /src/trafficserver/include/tsutil/Metrics.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: ts::Metrics::Storage::Storage
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - release_assert
    - create
    - std::make_unique<NamesAndAtomics>
    linkageType: ''
    returnType: void
    signature: void Storage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: ~Storage()
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Storage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: ts::Metrics::Storage::current
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int16_t, int16_t>
    signature: std::pair<int16_t, int16_t> current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/include/tsutil/Metrics.h:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ts::Metrics::Storage::valid
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - _splitID
    linkageType: ''
    returnType: bool
    signature: bool valid(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::shared_ptr<Storage>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(std::shared_ptr<Storage> &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:357,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:365,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:367,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const IdType id, std::string_view *out_name
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:373,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:375,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const std::string_view name, IdType *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:381,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: ts::Metrics::Gauge::create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::_create
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:389,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: ts::Metrics::Gauge::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - auto::_create
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:397,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:398,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:398,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: ts::Metrics::Gauge::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - std::string
    - RegexContext::get_instance
    - auto::_create
    - reinterpret_cast<AtomicType *>
    - auto::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view prefix, const std::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:406,1
    - Dst: auto::_createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: ts::Metrics::Gauge::createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_createSpan
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::Gauge::SpanType
    signature: Metrics::Gauge::SpanType createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:414,1
    - Dst: AtomicType*::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: ts::Metrics::Gauge::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 48
    functionsReached:
    - debug_assert
    - AtomicType*::_value::fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:421,1
    - Dst: AtomicType*::_value::fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: ts::Metrics::Gauge::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 41
    functionsReached:
    - AtomicType*::_value::fetch_sub
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void decrement(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:428,1
    - Dst: AtomicType*::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: ts::Metrics::Gauge::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - debug_assert
    - AtomicType*::_value::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load(const AtomicType *metric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:435,1
    - Dst: AtomicType*::_value::store
      Src: /src/trafficserver/include/tsutil/Metrics.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric
    - val
    argTypes:
    - AtomicType*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: ts::Metrics::Gauge::store
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 10
    functionsReached:
    - AtomicType*::_value::store
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void store(AtomicType *metric, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:454,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:462,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:464,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const IdType id, std::string_view *out_name
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:470,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:472,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const std::string_view name, IdType *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:478,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: ts::Metrics::Counter::create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_create
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:486,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: ts::Metrics::Counter::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 18
    functionsReached:
    - auto::_create
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:494,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:495,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:495,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: ts::Metrics::Counter::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 18
    functionsReached:
    - std::string
    - RegexContext::get_instance
    - auto::_create
    - reinterpret_cast<AtomicType *>
    - auto::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view prefix, const std::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:503,1
    - Dst: auto::_createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: ts::Metrics::Counter::createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_createSpan
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::Counter::SpanType
    signature: Metrics::Counter::SpanType createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:511,1
    - Dst: AtomicType*::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: ts::Metrics::Counter::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 160
    functionsReached:
    - debug_assert
    - AtomicType*::_value::fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:518,1
    - Dst: AtomicType*::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: ts::Metrics::Counter::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 3
    functionsReached:
    - debug_assert
    - AtomicType*::_value::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load(const AtomicType *metric)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ts::Metrics::AtomicType::AtomicType
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::AtomicType::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ts::Metrics::AtomicType::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - ts::Metrics::AtomicType::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ts::Metrics::AtomicType::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::AtomicType::store
      Src: /src/trafficserver/include/tsutil/Metrics.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ts::Metrics::AtomicType::store
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - ts::Metrics::AtomicType::store
    linkageType: ''
    returnType: void
    signature: void store(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ts::Metrics::AtomicType::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void decrement(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '&operator=(Metrics &&)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Metrics
    signature: Metrics &operator=(Metrics &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(Metrics &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~Metrics()
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Metrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 17
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - out_id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 18
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n  lookup(const std::string_view name, IdType *out_id)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ts::Metrics::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 19
    functionsReached:
    - ts::Metrics::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n  lookup(IdType id, std::string_view *out_name = nullptr)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::rename
      Src: /src/trafficserver/include/tsutil/Metrics.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - name
    argTypes:
    - IdType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ts::Metrics::rename
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - ts::Metrics::rename
    linkageType: ''
    returnType: bool
    signature: bool rename(IdType id, const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: "&\n  operator[](IdType id)"
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType &\n  operator[](IdType id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: operator[](const std::string_view name) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: IdType
    signature: IdType operator[](const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:150,1
    - Dst: auto::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ts::Metrics::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::lookup
    - auto::_value::fetch_add
    linkageType: ''
    returnType: int64_t
    signature: int64_t increment(IdType id, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:158,1
    - Dst: auto::_value::fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: ts::Metrics::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::lookup
    - auto::_value::fetch_sub
    linkageType: ''
    returnType: int64_t
    signature: int64_t decrement(IdType id, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::name
      Src: /src/trafficserver/include/tsutil/Metrics.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ts::Metrics::name
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - ts::Metrics::name
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view name(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::valid
      Src: /src/trafficserver/include/tsutil/Metrics.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: ts::Metrics::valid
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - ts::Metrics::valid
    linkageType: ''
    returnType: bool
    signature: bool valid(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - m
    - pos
    argTypes:
    - Metrics
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ts::Metrics::iterator::iterator
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const Metrics &m, IdType pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tsutil/Metrics.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: "&\n    operator++()"
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: iterator
    signature: "iterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tsutil/Metrics.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: operator++(int)
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:209,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/tsutil/Metrics.h:211,1
    - Dst: auto::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - lookup
    - auto::_value::load
    - std::make_tuple
    linkageType: ''
    returnType: value_type
    signature: value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:217,1
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: operator==(const iterator &o) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - std::addressof
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:223,1
    - Dst: std::addressof
      Src: /src/trafficserver/include/tsutil/Metrics.h:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator!=(const iterator &o) const
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - std::addressof
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: ts::Metrics::begin
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: current
      Src: /src/trafficserver/include/tsutil/Metrics.h:242,1
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:244,1
    - Dst: ts::Metrics::_makeId
      Src: /src/trafficserver/include/tsutil/Metrics.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ts::Metrics::end
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - iterator
    - current
    - ts::Metrics::_makeId
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:250,1
    - Dst: ts::Metrics::end
      Src: /src/trafficserver/include/tsutil/Metrics.h:253,1
    - Dst: iterator
      Src: /src/trafficserver/include/tsutil/Metrics.h:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: ts::Metrics::find
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - iterator
    - ts::Metrics::end
    - ts::Metrics::lookup
    linkageType: ''
    returnType: iterator
    signature: iterator find(const std::string_view name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/include/tsutil/Metrics.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: ts::Metrics::_create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: IdType
    signature: IdType _create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ts::Metrics::_createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - createSpan
    linkageType: ''
    returnType: SpanType
    signature: SpanType _createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tsutil/Metrics.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: ts::Metrics::_splitID
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::make_tuple
    linkageType: ''
    returnType: std::tuple<uint16_t, uint16_t>
    signature: std::tuple<uint16_t, uint16_t> _splitID(IdType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blob
    - offset
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: ts::Metrics::_makeId
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: IdType
    signature: IdType _makeId(uint16_t blob, uint16_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::_makeId
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    - Dst: std::get<0>
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    - Dst: std::get<1>
      Src: /src/trafficserver/include/tsutil/Metrics.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::tuple<uint16_t, uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ts::Metrics::_makeId
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 4
    functionsReached:
    - std::get<1>
    - std::get<0>
    - ts::Metrics::_makeId
    linkageType: ''
    returnType: IdType
    signature: IdType _makeId(std::tuple<uint16_t, uint16_t> id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: ts::Metrics::Storage::Storage
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Storage(const Storage &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: '&operator=(const Storage &)'
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Storage
    signature: Storage &operator=(const Storage &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NamesAndAtomics>
      Src: /src/trafficserver/include/tsutil/Metrics.h:306,1
    - Dst: release_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:307,1
    - Dst: release_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:308,1
    - Dst: create
      Src: /src/trafficserver/include/tsutil/Metrics.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: ts::Metrics::Storage::Storage
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - release_assert
    - create
    - std::make_unique<NamesAndAtomics>
    linkageType: ''
    returnType: void
    signature: void Storage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: ~Storage()
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Storage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: ts::Metrics::Storage::current
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int16_t, int16_t>
    signature: std::pair<int16_t, int16_t> current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitID
      Src: /src/trafficserver/include/tsutil/Metrics.h:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ts::Metrics::Storage::valid
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - _splitID
    linkageType: ''
    returnType: bool
    signature: bool valid(IdType id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::shared_ptr<Storage>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: ts::Metrics::Metrics
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metrics(std::shared_ptr<Storage> &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:357,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:365,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:367,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const IdType id, std::string_view *out_name
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:373,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:375,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: ts::Metrics::Gauge::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 1
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const std::string_view name, IdType *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:381,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: ts::Metrics::Gauge::create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::_create
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:389,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: ts::Metrics::Gauge::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - auto::_create
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:397,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:398,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:398,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: ts::Metrics::Gauge::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - std::string
    - RegexContext::get_instance
    - auto::_create
    - reinterpret_cast<AtomicType *>
    - auto::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view prefix, const std::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:406,1
    - Dst: auto::_createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: ts::Metrics::Gauge::createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_createSpan
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::Gauge::SpanType
    signature: Metrics::Gauge::SpanType createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:414,1
    - Dst: AtomicType*::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: ts::Metrics::Gauge::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 48
    functionsReached:
    - debug_assert
    - AtomicType*::_value::fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:421,1
    - Dst: AtomicType*::_value::fetch_sub
      Src: /src/trafficserver/include/tsutil/Metrics.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: ts::Metrics::Gauge::decrement
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 41
    functionsReached:
    - AtomicType*::_value::fetch_sub
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void decrement(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:428,1
    - Dst: AtomicType*::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: ts::Metrics::Gauge::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 12
    functionsReached:
    - debug_assert
    - AtomicType*::_value::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load(const AtomicType *metric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:435,1
    - Dst: AtomicType*::_value::store
      Src: /src/trafficserver/include/tsutil/Metrics.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric
    - val
    argTypes:
    - AtomicType*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: ts::Metrics::Gauge::store
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 10
    functionsReached:
    - AtomicType*::_value::store
    - debug_assert
    linkageType: ''
    returnType: void
    signature: void store(AtomicType *metric, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:454,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: IdType
    signature: IdType lookup(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:462,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:464,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - IdType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const IdType id, std::string_view *out_name
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:470,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:472,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - std::string_view
    - IdType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: ts::Metrics::Counter::lookup
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 2
    functionsReached:
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    lookup(const std::string_view name, IdType *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:478,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: ts::Metrics::Counter::create
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_create
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::IdType
    signature: Metrics::IdType create(const std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:486,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: ts::Metrics::Counter::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 18
    functionsReached:
    - auto::_create
    - auto::lookup
    - reinterpret_cast<AtomicType *>
    - RegexContext::get_instance
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:494,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:495,1
    - Dst: std::string
      Src: /src/trafficserver/include/tsutil/Metrics.h:495,1
    - Dst: reinterpret_cast<AtomicType *>
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    - Dst: auto::_create
      Src: /src/trafficserver/include/tsutil/Metrics.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: ts::Metrics::Counter::createPtr
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 18
    functionsReached:
    - std::string
    - RegexContext::get_instance
    - auto::_create
    - reinterpret_cast<AtomicType *>
    - auto::lookup
    linkageType: ''
    returnType: AtomicType
    signature: "AtomicType *\n    createPtr(const std::string_view prefix, const std::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/tsutil/Metrics.h:503,1
    - Dst: auto::_createSpan
      Src: /src/trafficserver/include/tsutil/Metrics.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: ts::Metrics::Counter::createSpan
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 0
    functionsReached:
    - auto::_createSpan
    - RegexContext::get_instance
    linkageType: ''
    returnType: Metrics::Counter::SpanType
    signature: Metrics::Counter::SpanType createSpan(size_t size, IdType *id = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:511,1
    - Dst: AtomicType*::_value::fetch_add
      Src: /src/trafficserver/include/tsutil/Metrics.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: ts::Metrics::Counter::increment
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 160
    functionsReached:
    - debug_assert
    - AtomicType*::_value::fetch_add
    linkageType: ''
    returnType: void
    signature: void increment(AtomicType *metric, uint64_t val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_assert
      Src: /src/trafficserver/include/tsutil/Metrics.h:518,1
    - Dst: AtomicType*::_value::load
      Src: /src/trafficserver/include/tsutil/Metrics.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - metric
    argTypes:
    - AtomicType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: ts::Metrics::Counter::load
    functionSourceFile: /src/trafficserver/include/tsutil/Metrics.h
    functionUses: 3
    functionsReached:
    - debug_assert
    - AtomicType*::_value::load
    linkageType: ''
    returnType: int64_t
    signature: int64_t load(const AtomicType *metric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::time_parser_ns
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:40,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:41,1
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ts::time_parser
    functionSourceFile: /src/trafficserver/include/tsutil/ts_time_parser.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - std::move
    - detail::time_parser_ns
    linkageType: ''
    returnType: swoc::Rv<std::chrono::nanoseconds>
    signature: swoc::Rv<std::chrono::nanoseconds> time_parser(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::time_parser_ns
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:40,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:41,1
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/ts_time_parser.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ts::time_parser
    functionSourceFile: /src/trafficserver/include/tsutil/ts_time_parser.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - std::move
    - detail::time_parser_ns
    linkageType: ''
    returnType: swoc::Rv<std::chrono::nanoseconds>
    signature: swoc::Rv<std::chrono::nanoseconds> time_parser(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: MakeSourceLocation
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MakeSourceLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: SourceLocation::SourceLocation
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SourceLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SourceLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: SourceLocation::SourceLocation
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SourceLocation(const SourceLocation &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _file
    - _func
    - _line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: SourceLocation::SourceLocation
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SourceLocation(const char *_file, const char *_func, int _line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: SourceLocation::valid
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - SourceLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: "&\n  operator=(const SourceLocation &rhs)"
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SourceLocation
    signature: "SourceLocation &\n  operator=(const SourceLocation &rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SourceLocation::print
      Src: /src/trafficserver/include/tsutil/SourceLocation.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - loc
    argTypes:
    - BufferWriter
    - bwf::Spec
    - SourceLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 8
    functionsReached:
    - SourceLocation::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, SourceLocation const &loc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SourceLocation::print
      Src: /src/trafficserver/include/tsutil/SourceLocation.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - loc
    argTypes:
    - BufferWriter
    - bwf::Spec
    - SourceLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/include/tsutil/SourceLocation.h
    functionUses: 8
    functionsReached:
    - SourceLocation::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, SourceLocation const &loc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/trafficserver/include/tsutil/LocalBuffer.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ts::LocalBuffer::LocalBuffer
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void LocalBuffer(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '*operator new(std::size_t)'
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '*operator new[](std::size_t)'
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new[](std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: LocalBuffer<T, S>::~LocalBuffer()
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocalBuffer<T, S>::~LocalBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ts::LocalBuffer<T, S>::data
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T *

      LocalBuffer<T, S>::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ts::LocalBuffer<T, S>::size
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LocalBuffer<T, S>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/trafficserver/include/tsutil/LocalBuffer.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ts::LocalBuffer::LocalBuffer
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void LocalBuffer(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '*operator new(std::size_t)'
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '*operator new[](std::size_t)'
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new[](std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: LocalBuffer<T, S>::~LocalBuffer()
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocalBuffer<T, S>::~LocalBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ts::LocalBuffer<T, S>::data
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T *

      LocalBuffer<T, S>::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ts::LocalBuffer<T, S>::size
    functionSourceFile: /src/trafficserver/include/tsutil/LocalBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LocalBuffer<T, S>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Regex::Regex
    functionSourceFile: /src/trafficserver/include/tsutil/Regex.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Regex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Regex::Regex
    functionSourceFile: /src/trafficserver/include/tsutil/Regex.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Regex(Regex const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: DFA::DFA
    functionSourceFile: /src/trafficserver/include/tsutil/Regex.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DFA()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/Regex.h:188,1
    - Dst: std::move
      Src: /src/trafficserver/include/tsutil/Regex.h:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - rxp
    - s
    argTypes:
    - Regex
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: DFA::Pattern
    functionSourceFile: /src/trafficserver/include/tsutil/Regex.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Pattern(Regex &&rxp, std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: SimpleTokenizer::SimpleTokenizer
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTokenizer(char delimiter = ' ', unsigned mode = 0, char
      escape = '\\')
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::setString
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: SimpleTokenizer::SimpleTokenizer
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 0
    functionsReached:
    - SimpleTokenizer::setString
    linkageType: ''
    returnType: void
    signature: void SimpleTokenizer(const char *s, char delimiter = ' ', unsigned
      mode = 0, char escape = '\\')
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _clearData
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ~SimpleTokenizer()
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 0
    functionsReached:
    - _clearData
    linkageType: ''
    returnType: void
    signature: void ~SimpleTokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_clearData
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:141,1
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:144,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:145,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: SimpleTokenizer::setString
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 3
    functionsReached:
    - const_cast<char *>
    - SimpleTokenizer::_clearData
    - strlen
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void setString(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNext
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: SimpleTokenizer::getNext
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 8
    functionsReached:
    - SimpleTokenizer::_getNext
    linkageType: ''
    returnType: char
    signature: "char *\n  getNext(int count = 1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNext
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: SimpleTokenizer::getNext
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 8
    functionsReached:
    - SimpleTokenizer::_getNext
    linkageType: ''
    returnType: char
    signature: "char *\n  getNext(char delimiter, int count = 1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNext
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: SimpleTokenizer::getRest
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 2
    functionsReached:
    - SimpleTokenizer::_getNext
    linkageType: ''
    returnType: char
    signature: "char *\n  getRest()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNumTokensRemaining
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: SimpleTokenizer::getNumTokensRemaining
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 4
    functionsReached:
    - SimpleTokenizer::_getNumTokensRemaining
    linkageType: ''
    returnType: size_t
    signature: size_t getNumTokensRemaining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNumTokensRemaining
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: SimpleTokenizer::getNumTokensRemaining
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 4
    functionsReached:
    - SimpleTokenizer::_getNumTokensRemaining
    linkageType: ''
    returnType: size_t
    signature: size_t getNumTokensRemaining(char delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: SimpleTokenizer::peekAtRestOfString
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  peekAtRestOfString()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: SimpleTokenizer::_clearData
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 1
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void _clearData()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:220,1
    - Dst: isspace
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:256,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 284
    functionName: SimpleTokenizer::_getNext
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 3
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: "char *\n  _getNext(char delimiter, bool countOnly = false, int numTokens
      = 1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleTokenizer::_getNext
      Src: /src/trafficserver/include/tscore/SimpleTokenizer.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: SimpleTokenizer::_getNumTokensRemaining
    functionSourceFile: /src/trafficserver/include/tscore/SimpleTokenizer.h
    functionUses: 2
    functionsReached:
    - SimpleTokenizer::_getNext
    linkageType: ''
    returnType: size_t
    signature: size_t _getNumTokensRemaining(char delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/trafficserver/include/tscore/MD5.h:42,1
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/include/tscore/MD5.h:45,1
    - Dst: EVP_DigestInit_ex
      Src: /src/trafficserver/include/tscore/MD5.h:46,1
    - Dst: EVP_md5
      Src: /src/trafficserver/include/tscore/MD5.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: MD5Context::MD5Context
    functionSourceFile: /src/trafficserver/include/tscore/MD5.h
    functionUses: 1
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_md5
    - EVP_MD_CTX_new
    - MD5_Init
    linkageType: ''
    returnType: void
    signature: void MD5Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/include/tscore/MD5.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ~MD5Context() override
    functionSourceFile: /src/trafficserver/include/tscore/MD5.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~MD5Context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/trafficserver/include/tscore/MD5.h:64,1
    - Dst: EVP_DigestUpdate
      Src: /src/trafficserver/include/tscore/MD5.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: MD5Context::update
    functionSourceFile: /src/trafficserver/include/tscore/MD5.h
    functionUses: 0
    functionsReached:
    - MD5_Update
    - EVP_DigestUpdate
    linkageType: ''
    returnType: bool
    signature: bool update(void const *data, int length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Final
      Src: /src/trafficserver/include/tscore/MD5.h:77,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/trafficserver/include/tscore/MD5.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: MD5Context::finalize
    functionSourceFile: /src/trafficserver/include/tscore/MD5.h
    functionUses: 0
    functionsReached:
    - MD5_Final
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: bool
    signature: bool finalize(CryptoHash &hash) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~Throttler()
    functionSourceFile: /src/trafficserver/include/tscore/Throttler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Throttler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Throttler::TimePoint::TimePoint
    functionSourceFile: /src/trafficserver/include/tscore/Throttler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimePoint() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_point<Clock, Duration2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Throttler::TimePoint::TimePoint
    functionSourceFile: /src/trafficserver/include/tscore/Throttler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimePoint(const time_point<Clock, Duration2> &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Arena::Arena
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/tscore/Arena.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~Arena()
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: Arena::str_length
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Arena::str_length(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char *>
      Src: /src/trafficserver/include/tscore/Arena.h:111,1
    - Dst: Arena::alloc
      Src: /src/trafficserver/include/tscore/Arena.h:111,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/Arena.h:118,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/Arena.h:121,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/include/tscore/Arena.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 124
    functionName: Arena::str_alloc
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - reinterpret_cast<char *>
    - static_cast<unsigned char *>
    - Arena::alloc
    linkageType: ''
    returnType: char
    signature: 'char *

      Arena::str_alloc(size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/include/tscore/Arena.h:135,1
    - Dst: Arena::free
      Src: /src/trafficserver/include/tscore/Arena.h:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: Arena::str_free
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<unsigned char *>
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void Arena::str_free(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::str_alloc
      Src: /src/trafficserver/include/tscore/Arena.h:161,1
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/Arena.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: Arena::str_store
    functionSourceFile: /src/trafficserver/include/tscore/Arena.h
    functionUses: 1
    functionsReached:
    - memcpy
    - Arena::str_alloc
    linkageType: ''
    returnType: char
    signature: 'char *

      Arena::str_store(const char *str, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapBigToHostInt64
      Src: /src/trafficserver/include/tscore/ink_endian.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: be64toh
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 2
    functionsReached:
    - OSSwapBigToHostInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t be64toh(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapHostToBigInt64
      Src: /src/trafficserver/include/tscore/ink_endian.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: htobe64
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 3
    functionsReached:
    - OSSwapHostToBigInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htobe64(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapBigToHostInt32
      Src: /src/trafficserver/include/tscore/ink_endian.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: be32toh
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 1
    functionsReached:
    - OSSwapBigToHostInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32toh(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapHostToBigInt32
      Src: /src/trafficserver/include/tscore/ink_endian.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: htobe32
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 2
    functionsReached:
    - OSSwapHostToBigInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htobe32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapLittleToHostInt32
      Src: /src/trafficserver/include/tscore/ink_endian.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: le32toh
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 0
    functionsReached:
    - OSSwapLittleToHostInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t le32toh(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSwapHostToLittleInt32
      Src: /src/trafficserver/include/tscore/ink_endian.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: htole32
    functionSourceFile: /src/trafficserver/include/tscore/ink_endian.h
    functionUses: 0
    functionsReached:
    - OSSwapHostToLittleInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htole32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_malloc
      Src: /src/trafficserver/include/tscore/defalloc.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: DefaultAlloc::alloc
    functionSourceFile: /src/trafficserver/include/tscore/defalloc.h
    functionUses: 0
    functionsReached:
    - ats_malloc
    linkageType: ''
    returnType: void
    signature: "void *\n  alloc(int s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/defalloc.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: DefaultAlloc::free
    functionSourceFile: /src/trafficserver/include/tscore/defalloc.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ts::NumericType::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: operator raw_type const &() const
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator raw_type const &() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: operator raw_type &()
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator raw_type &()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ts::NumericType::raw
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: raw_type
    signature: raw_type raw() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ts::NumericType<T, X>::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType<T, X>::NumericType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ts::NumericType<T, X>::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType<T, X>::NumericType(raw_type const t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: '&

      NumericType<T, X>::operator=(raw_type const t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator=(raw_type const t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      NumericType<T, X>::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: '&

      NumericType<T, X>::operator+=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator+=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: '&

      NumericType<T, X>::operator-=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator-=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: NumericType<T, X>::operator+(self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator+(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: NumericType<T, X>::operator-(self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator-(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '&

      NumericType<T, X>::operator+=(raw_type t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator+=(raw_type t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: '&

      NumericType<T, X>::operator-=(raw_type t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator-=(raw_type t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: NumericType<T, X>::operator+(raw_type t)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator+(raw_type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: NumericType<T, X>::operator-(raw_type t)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator-(raw_type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: '&

      NumericType<T, X>::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: '&

      NumericType<T, X>::operator--()'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator--()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: NumericType<T, X>::operator++(int)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: NumericType<T, X>::operator--(int)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T
    - NumericType<T, X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: operator+(T const &lhs, NumericType<T, X> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> operator+(T const &lhs, NumericType<T, X> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumericType<T, X>
      Src: /src/trafficserver/include/tscore/NumericType.h:274,1
    - Dst: NumericType<T, X>::raw
      Src: /src/trafficserver/include/tscore/NumericType.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T
    - NumericType<T, X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: operator-(T const &lhs, NumericType<T, X> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - NumericType<T, X>
    - NumericType<T, X>::raw
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> operator-(T const &lhs, NumericType<T, X> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ts::NumericType::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: operator raw_type const &() const
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator raw_type const &() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: operator raw_type &()
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator raw_type &()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ts::NumericType::raw
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: raw_type
    signature: raw_type raw() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ts::NumericType<T, X>::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType<T, X>::NumericType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ts::NumericType<T, X>::NumericType
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumericType<T, X>::NumericType(raw_type const t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: '&

      NumericType<T, X>::operator=(raw_type const t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator=(raw_type const t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      NumericType<T, X>::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: '&

      NumericType<T, X>::operator+=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator+=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: '&

      NumericType<T, X>::operator-=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator-=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: NumericType<T, X>::operator+(self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator+(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: NumericType<T, X>::operator-(self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator-(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '&

      NumericType<T, X>::operator+=(raw_type t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator+=(raw_type t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: '&

      NumericType<T, X>::operator-=(raw_type t)'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator-=(raw_type t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: NumericType<T, X>::operator+(raw_type t)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator+(raw_type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type
      Src: /src/trafficserver/include/tscore/NumericType.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: NumericType<T, X>::operator-(raw_type t)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - self_type
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator-(raw_type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: '&

      NumericType<T, X>::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: '&

      NumericType<T, X>::operator--()'
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: 'NumericType<T, X> &

      NumericType<T, X>::operator--()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: NumericType<T, X>::operator++(int)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: NumericType<T, X>::operator--(int)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> NumericType<T, X>::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T
    - NumericType<T, X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: operator+(T const &lhs, NumericType<T, X> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> operator+(T const &lhs, NumericType<T, X> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NumericType<T, X>
      Src: /src/trafficserver/include/tscore/NumericType.h:274,1
    - Dst: NumericType<T, X>::raw
      Src: /src/trafficserver/include/tscore/NumericType.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T
    - NumericType<T, X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: operator-(T const &lhs, NumericType<T, X> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/NumericType.h
    functionUses: 0
    functionsReached:
    - NumericType<T, X>
    - NumericType<T, X>::raw
    linkageType: ''
    returnType: NumericType<T, X>
    signature: NumericType<T, X> operator-(T const &lhs, NumericType<T, X> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_locks
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: LockPool
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockPool(size_t num_locks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/tscore/AcidPtr.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_hash
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: "&\n  getMutex(size_t key_hash)"
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Mutex_t
    signature: "Mutex_t &\n  getMutex(size_t key_hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/tscore/AcidPtr.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: size
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 626
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: lockAll
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void lockAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: unlockAll
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void unlockAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: LockPool
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: LockPool
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LockPool(LockPool const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: AcidPtr::AcidPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AcidPtr(const AcidPtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '&operator=(const AcidPtr &)'
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AcidPtr
    signature: AcidPtr &operator=(const AcidPtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/trafficserver/include/tscore/AcidPtr.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: AcidPtr::AcidPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void AcidPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: AcidPtr::AcidPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AcidPtr(T *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcidPtrLock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:114,1
    - Dst: AcidPtrMutexGet
      Src: /src/trafficserver/include/tscore/AcidPtr.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: AcidPtr::getPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - AcidPtrLock
    - AcidPtrMutexGet
    linkageType: ''
    returnType: std::shared_ptr<const T>
    signature: std::shared_ptr<const T> getPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcidCommitLock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:124,1
    - Dst: AcidCommitMutexGet
      Src: /src/trafficserver/include/tscore/AcidPtr.h:124,1
    - Dst: AcidPtrLock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:126,1
    - Dst: AcidPtrMutexGet
      Src: /src/trafficserver/include/tscore/AcidPtr.h:126,1
    - Dst: reset
      Src: /src/trafficserver/include/tscore/AcidPtr.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: AcidPtr::commit
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - AcidCommitMutexGet
    - AcidPtrLock
    - reset
    - AcidCommitLock
    - AcidPtrMutexGet
    linkageType: ''
    returnType: void
    signature: void commit(T *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcidCommitPtr<T>
      Src: /src/trafficserver/include/tscore/AcidPtr.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: AcidPtr::startCommit
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - AcidCommitPtr<T>
    linkageType: ''
    returnType: AcidCommitPtr<T>
    signature: AcidCommitPtr<T> startCommit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcidPtrLock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:145,1
    - Dst: AcidPtrMutexGet
      Src: /src/trafficserver/include/tscore/AcidPtr.h:145,1
    - Dst: reset
      Src: /src/trafficserver/include/tscore/AcidPtr.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: AcidPtr::_finishCommit
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - reset
    - AcidPtrLock
    - AcidPtrMutexGet
    linkageType: ''
    returnType: void
    signature: void _finishCommit(T *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: AcidCommitPtr::AcidCommitPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AcidCommitPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: AcidCommitPtr::AcidCommitPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AcidCommitPtr(const AcidCommitPtr &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '&operator=(const AcidCommitPtr<T> &)'
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AcidCommitPtr
    signature: AcidCommitPtr &operator=(const AcidCommitPtr<T> &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcidCommitMutexGet
      Src: /src/trafficserver/include/tscore/AcidPtr.h:172,1
    - Dst: tmr_reset
      Src: /src/trafficserver/include/tscore/AcidPtr.h:176,1
    - Dst: getPtr
      Src: /src/trafficserver/include/tscore/AcidPtr.h:176,1
    - Dst: T::T
      Src: /src/trafficserver/include/tscore/AcidPtr.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data_ptr
    argTypes:
    - AcidPtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: AcidCommitPtr::AcidCommitPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - AcidCommitMutexGet
    - getPtr
    - T::T
    - tmr_reset
    linkageType: ''
    returnType: void
    signature: void AcidCommitPtr(AcidPtr<T> &data_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscore/AcidPtr.h:179,1
    - Dst: std::move
      Src: /src/trafficserver/include/tscore/AcidPtr.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - AcidCommitPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: AcidCommitPtr::AcidCommitPtr
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AcidCommitPtr(AcidCommitPtr &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _finishCommit
      Src: /src/trafficserver/include/tscore/AcidPtr.h:190,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/include/tscore/AcidPtr.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: ~AcidCommitPtr()
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - _finishCommit
    - TextBuffer::release
    linkageType: ''
    returnType: void
    signature: void ~AcidCommitPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/trafficserver/include/tscore/AcidPtr.h:196,1
    - Dst: tmr_reset
      Src: /src/trafficserver/include/tscore/AcidPtr.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: AcidCommitPtr::abort
    functionSourceFile: /src/trafficserver/include/tscore/AcidPtr.h
    functionUses: 0
    functionsReached:
    - tmr_reset
    - unlock
    linkageType: ''
    returnType: void
    signature: void abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: INK_QUEUE_LD64
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_QUEUE_LD64(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: INK_QUEUE_LD64
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_QUEUE_LD64(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: INK_QUEUE_LD
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_QUEUE_LD(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: INK_QUEUE_LD
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_QUEUE_LD(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: head_p
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void head_p()
  - 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: FROM_PTR
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_PTR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: TO_PTR
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_PTR(_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: FROM_PTR
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_PTR(_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: TO_PTR
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_PTR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: FREELIST_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_VERSION(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _p
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: SET_FREELIST_POINTER_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREELIST_POINTER_VERSION(_x, _p, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_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: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: FREELIST_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_VERSION(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _p
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: SET_FREELIST_POINTER_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREELIST_POINTER_VERSION(_x, _p, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_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: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_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: FREELIST_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_VERSION(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _p
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: SET_FREELIST_POINTER_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREELIST_POINTER_VERSION(_x, _p, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: FREELIST_POINTER
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_POINTER(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: FREELIST_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREELIST_VERSION(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _p
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: SET_FREELIST_POINTER_VERSION
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREELIST_POINTER_VERSION(_x, _p, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: InkAtomicList
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InkAtomicList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: INK_ATOMICLIST_EMPTY
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ATOMICLIST_EMPTY(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: INK_ATOMICLIST_EMPTY
    functionSourceFile: /src/trafficserver/include/tscore/ink_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ATOMICLIST_EMPTY(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: VERSION_ARGUMENT_DESCRIPTION
    functionSourceFile: /src/trafficserver/include/tscore/ink_args.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERSION_ARGUMENT_DESCRIPTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: HELP_ARGUMENT_DESCRIPTION
    functionSourceFile: /src/trafficserver/include/tscore/ink_args.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HELP_ARGUMENT_DESCRIPTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: RUNROOT_ARGUMENT_DESCRIPTION
    functionSourceFile: /src/trafficserver/include/tscore/ink_args.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNROOT_ARGUMENT_DESCRIPTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ContFlags::ContFlags
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContFlags()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - ContFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ContFlags::ContFlags
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContFlags(ContFlags const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in_flags
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ContFlags::ContFlags
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContFlags(uint32_t in_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_flags
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ContFlags::set_flags
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_flags(uint32_t new_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_flags
      Src: /src/trafficserver/include/tscore/ContFlags.h:55,1
    - Dst: ContFlags::get_flags
      Src: /src/trafficserver/include/tscore/ContFlags.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - ContFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: "&\n  operator=(ContFlags const &other)"
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached:
    - set_flags
    - ContFlags::get_flags
    linkageType: ''
    returnType: ContFlags
    signature: "ContFlags &\n  operator=(ContFlags const &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ContFlags::get_flags
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_flags() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - flag_bit
    - value
    argTypes:
    - enum flags
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: ContFlags::set_flag
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_flag(enum flags flag_bit, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - flag_bit
    argTypes:
    - enum flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: ContFlags::get_flag
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_flag(enum flags flag_bit) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: ContFlags::is_set
    functionSourceFile: /src/trafficserver/include/tscore/ContFlags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_set() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: __RES_PATH
    functionSourceFile: /src/trafficserver/include/tscore/ink_resource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RES_PATH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _RES_PATH
    functionSourceFile: /src/trafficserver/include/tscore/ink_resource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RES_PATH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: RES_PATH
    functionSourceFile: /src/trafficserver/include/tscore/ink_resource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RES_PATH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ResourceTracker::ResourceTracker
    functionSourceFile: /src/trafficserver/include/tscore/ink_resource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResourceTracker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:53,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:54,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:55,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:55,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ink_rwlock_rdlock
    functionSourceFile: /src/trafficserver/include/tscore/ink_rwlock.h
    functionUses: 12
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_rwlock_rdlock
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_rwlock_rdlock(ink_rwlock *rw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:62,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:66,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:67,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:67,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ink_rwlock_tryrdlock
    functionSourceFile: /src/trafficserver/include/tscore/ink_rwlock.h
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_rwlock_tryrdlock
    - unlikely
    - strerror
    linkageType: ''
    returnType: bool
    signature: bool ink_rwlock_tryrdlock(ink_rwlock *rw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:75,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:76,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:77,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:77,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: ink_rwlock_wrlock
    functionSourceFile: /src/trafficserver/include/tscore/ink_rwlock.h
    functionUses: 12
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_rwlock_wrlock
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_rwlock_wrlock(ink_rwlock *rw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:84,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:88,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:89,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:89,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: ink_rwlock_trywrlock
    functionSourceFile: /src/trafficserver/include/tscore/ink_rwlock.h
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - pthread_rwlock_trywrlock
    - ink_abort
    - unlikely
    - strerror
    linkageType: ''
    returnType: bool
    signature: bool ink_rwlock_trywrlock(ink_rwlock *rw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:97,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:98,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:99,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:99,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_rwlock.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rw
    argTypes:
    - ink_rwlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ink_rwlock_unlock
    functionSourceFile: /src/trafficserver/include/tscore/ink_rwlock.h
    functionUses: 24
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_rwlock_unlock
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_rwlock_unlock(ink_rwlock *rw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: DiagsLevel_IsTerminal
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DiagsLevel_IsTerminal(_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtt
    argTypes:
    - DiagsTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: DiagsConfigState::enabled
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enabled(DiagsTagType dtt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cont_flag
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Diags::get_override
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 0
    functionsReached:
    - get_cont_flag
    linkageType: ''
    returnType: bool
    signature: bool get_override() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Diags::test_override_ip
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_override_ip(IpEndpoint const &test_ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enabled
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:147,1
    - Dst: enabled
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:147,1
    - Dst: Diags::get_override
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: Diags::on
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 0
    functionsReached:
    - Diags::get_override
    - enabled
    linkageType: ''
    returnType: bool
    signature: bool on(DiagsTagType mode = DiagsTagType_Debug) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:155,1
    - Dst: Diags::on
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:155,1
    - Dst: Diags::tag_activated
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: Diags::on
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 1
    functionsReached:
    - unlikely
    - Diags::on
    - Diags::tag_activated
    linkageType: ''
    returnType: bool
    signature: bool on(const char *tag, DiagsTagType mode = DiagsTagType_Debug) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Diags::tag_activated
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: Diags::debug_tag_activated
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 0
    functionsReached:
    - Diags::tag_activated
    linkageType: ''
    returnType: bool
    signature: bool debug_tag_activated(const char *tag) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:208,1
    - Dst: print_va
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tag
    - level
    - loc
    - fmt
    - ap
    argTypes:
    - char*
    - DiagsLevel
    - SourceLocation*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: log_va
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 1
    functionsReached:
    - print_va
    - 'on'
    linkageType: ''
    returnType: void
    signature: void log_va(const char *tag, DiagsLevel level, const SourceLocation
      *loc, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: lock
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 185
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void lock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/DiagsTypes.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: unlock
    functionSourceFile: /src/trafficserver/include/tscore/DiagsTypes.h
    functionUses: 62
    functionsReached:
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void unlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: ParseRules::ParseRules
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseRules(const ParseRules &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '&operator=(const ParseRules &)'
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParseRules
    signature: ParseRules &operator=(const ParseRules &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - bitmask
    argTypes:
    - char
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ParseRules::is_type
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_type(char c, uint32_t bitmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: ParseRules::is_char
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: ParseRules::is_upalpha
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_upalpha(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: ParseRules::is_loalpha
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_loalpha(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:212,1
    - Dst: ParseRules::is_upalpha
      Src: /src/trafficserver/include/tscore/ParseRules.h:214,1
    - Dst: ParseRules::is_loalpha
      Src: /src/trafficserver/include/tscore/ParseRules.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: ParseRules::is_alpha
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 6
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_loalpha
    - ParseRules::is_upalpha
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_alpha(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: ParseRules::is_digit
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 14
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_digit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:232,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/include/tscore/ParseRules.h:234,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/include/tscore/ParseRules.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: ParseRules::is_alnum
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_alpha
    - ParseRules::is_digit
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_alnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: ParseRules::is_ctl
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_ctl(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: ParseRules::is_ws
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 11
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_ws(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: ParseRules::is_hex
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 7
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_hex(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: ParseRules::is_cr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_cr(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: ParseRules::is_lf
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_lf(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: ParseRules::is_splf
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_splf(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: ParseRules::is_spcr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_spcr(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:304,1
    - Dst: ParseRules::is_ws
      Src: /src/trafficserver/include/tscore/ParseRules.h:306,1
    - Dst: ParseRules::is_splf
      Src: /src/trafficserver/include/tscore/ParseRules.h:306,1
    - Dst: ParseRules::is_spcr
      Src: /src/trafficserver/include/tscore/ParseRules.h:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: ParseRules::is_wslfcr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 9
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_spcr
    - ParseRules::is_splf
    - ParseRules::is_ws
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_wslfcr(char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: ParseRules::is_extra
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_extra(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: ParseRules::is_safe
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_safe(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:343,1
    - Dst: ParseRules::is_ctl
      Src: /src/trafficserver/include/tscore/ParseRules.h:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: ParseRules::is_unsafe
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_ctl
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_unsafe(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 380
    functionName: ParseRules::is_reserved
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_reserved(char c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 402
    functionName: ParseRules::is_national
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_national(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:408,1
    - Dst: ParseRules::is_alpha
      Src: /src/trafficserver/include/tscore/ParseRules.h:410,1
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/include/tscore/ParseRules.h:410,1
    - Dst: ParseRules::is_safe
      Src: /src/trafficserver/include/tscore/ParseRules.h:410,1
    - Dst: ParseRules::is_extra
      Src: /src/trafficserver/include/tscore/ParseRules.h:410,1
    - Dst: ParseRules::is_national
      Src: /src/trafficserver/include/tscore/ParseRules.h:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: ParseRules::is_unreserved
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_alpha
    - ParseRules::is_national
    - ParseRules::is_extra
    - ParseRules::is_digit
    - ParseRules::is_safe
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_unreserved(char c)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 456
    functionName: ParseRules::is_punct
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_punct(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:462,1
    - Dst: ParseRules::is_ctl
      Src: /src/trafficserver/include/tscore/ParseRules.h:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: ParseRules::is_end_of_url
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_ctl
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_end_of_url(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/include/tscore/ParseRules.h:471,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/include/tscore/ParseRules.h:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: ParseRules::is_escape
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - ParseRules::is_hex
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_escape(const char *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_unreserved
      Src: /src/trafficserver/include/tscore/ParseRules.h:477,1
    - Dst: ParseRules::is_escape
      Src: /src/trafficserver/include/tscore/ParseRules.h:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: ParseRules::is_uchar
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - ParseRules::is_escape
    - ParseRules::is_unreserved
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_uchar(const char *seq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/include/tscore/ParseRules.h:488,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/include/tscore/ParseRules.h:490,1
    - Dst: ParseRules::is_hex
      Src: /src/trafficserver/include/tscore/ParseRules.h:490,1
    - Dst: ParseRules::is_unreserved
      Src: /src/trafficserver/include/tscore/ParseRules.h:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - seq
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: ParseRules::is_pchar
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - ParseRules::is_hex
    - ParseRules::is_unreserved
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_pchar(const char *seq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 539
    functionName: ParseRules::is_tspecials
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_tspecials(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:545,1
    - Dst: ParseRules::is_char
      Src: /src/trafficserver/include/tscore/ParseRules.h:547,1
    - Dst: ParseRules::is_ctl
      Src: /src/trafficserver/include/tscore/ParseRules.h:547,1
    - Dst: ParseRules::is_tspecials
      Src: /src/trafficserver/include/tscore/ParseRules.h:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: ParseRules::is_token
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_char
    - ParseRules::is_tspecials
    - ParseRules::is_ctl
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_token(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 565
    functionName: ParseRules::ink_toupper
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 5
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char ParseRules::ink_toupper(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 581
    functionName: ParseRules::ink_tolower
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 11
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char ParseRules::ink_tolower(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: ParseRules::is_eow
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_eow(char c)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:597,1
    - Dst: ParseRules::is_alnum
      Src: /src/trafficserver/include/tscore/ParseRules.h:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 631
    functionName: ParseRules::is_uri
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_alnum
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_uri(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:637,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/include/tscore/ParseRules.h:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 641
    functionName: ParseRules::is_sep
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_wslfcr
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_sep(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:647,1
    - Dst: ParseRules::is_wslfcr
      Src: /src/trafficserver/include/tscore/ParseRules.h:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: ParseRules::is_empty
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_wslfcr
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_empty(char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 670
    functionName: ParseRules::is_space
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 10
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_space(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:680,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 692
    functionName: ParseRules::is_control
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_control(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:698,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: ParseRules::is_mime_sep
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_mime_sep(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:713,1
    - Dst: ParseRules::is_char
      Src: /src/trafficserver/include/tscore/ParseRules.h:715,1
    - Dst: ParseRules::is_control
      Src: /src/trafficserver/include/tscore/ParseRules.h:715,1
    - Dst: ParseRules::is_mime_sep
      Src: /src/trafficserver/include/tscore/ParseRules.h:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 720
    functionName: ParseRules::is_http_field_name
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - ParseRules::is_mime_sep
    - ParseRules::is_control
    - ParseRules::is_char
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_http_field_name(char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/ParseRules.h:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 737
    functionName: ParseRules::is_http_field_value
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::is_http_field_value(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:759,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:759,1
    - Dst: ParseRules::is_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:760,1
    - Dst: ParseRules::is_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - count
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 764
    functionName: ParseRules::strncasecmp_eow
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - ParseRules::ink_tolower
    - ParseRules::is_eow
    linkageType: ''
    returnType: CTypeResult
    signature: CTypeResult ParseRules::strncasecmp_eow(const char *s1, const char
      *s2, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 780
    functionName: ParseRules::strlen_eow
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - ParseRules::is_eow
    linkageType: ''
    returnType: int
    signature: int ParseRules::strlen_eow(const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::strlen_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:795,1
    - Dst: ParseRules::is_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:797,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:798,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:798,1
    - Dst: ParseRules::strncasecmp_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 806
    functionName: ParseRules::strstr_eow
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - ParseRules::strncasecmp_eow
    - ParseRules::ink_tolower
    - ParseRules::is_eow
    - ParseRules::strlen_eow
    linkageType: ''
    returnType: char
    signature: 'char *

      ParseRules::strstr_eow(const char *s1, const char *s2)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ParseRules.h:813,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:816,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:816,1
    - Dst: ParseRules::strncasecmp_eow
      Src: /src/trafficserver/include/tscore/ParseRules.h:817,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ParseRules.h:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 824
    functionName: ParseRules::strcasestr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ParseRules::ink_tolower
    - ParseRules::strncasecmp_eow
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      ParseRules::strcasestr(const char *s1, const char *s2)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - c
    - max_length
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 835
    functionName: ParseRules::memchr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ParseRules::memchr(const char *s, char c, int max_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: ParseRules::strchr
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ParseRules::strchr(const char *s, char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::is_digit
      Src: /src/trafficserver/include/tscore/ParseRules.h:851,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ParseRules.h:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 856
    functionName: ink_get_hex
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 3
    functionsReached:
    - ParseRules::ink_tolower
    - ParseRules::is_digit
    linkageType: ''
    returnType: int
    signature: int ink_get_hex(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atoi64
      Src: /src/trafficserver/include/tscore/ParseRules.h:865,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ParseRules.h:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 874
    functionName: ink_atoi
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - ink_atoi64
    linkageType: ''
    returnType: int
    signature: int ink_atoi(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_atoi64
      Src: /src/trafficserver/include/tscore/ParseRules.h:879,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ParseRules.h:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 888
    functionName: ink_atoi
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - ink_atoi64
    linkageType: ''
    returnType: int
    signature: int ink_atoi(const char *str, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atoui64
      Src: /src/trafficserver/include/tscore/ParseRules.h:893,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/include/tscore/ParseRules.h:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 900
    functionName: ink_atoui
    functionSourceFile: /src/trafficserver/include/tscore/ParseRules.h
    functionUses: 1
    functionsReached:
    - ink_atoui64
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ink_atoui(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - byte
    - mask
    argTypes:
    - std::atomic<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: AtomicBit::AtomicBit
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomicBit(std::atomic<uint8_t> &byte, const uint8_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::atomic<uint8_t> *>
      Src: /src/trafficserver/include/tscore/AtomicBit.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - byte_ptr
    - mask
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: AtomicBit::AtomicBit
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::atomic<uint8_t> *>
    linkageType: ''
    returnType: void
    signature: void AtomicBit(uint8_t *byte_ptr, const uint8_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomicBit::compare_exchange
      Src: /src/trafficserver/include/tscore/AtomicBit.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: AtomicBit::test_and_set
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached:
    - AtomicBit::compare_exchange
    linkageType: ''
    returnType: bool
    signature: bool test_and_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange
      Src: /src/trafficserver/include/tscore/AtomicBit.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: operator=(bool val)
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached:
    - compare_exchange
    linkageType: ''
    returnType: bool
    signature: bool operator=(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: operator==(bool rhs) const
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(bool rhs) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_weak
      Src: /src/trafficserver/include/tscore/AtomicBit.h:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: AtomicBit::compare_exchange
    functionSourceFile: /src/trafficserver/include/tscore/AtomicBit.h
    functionUses: 1
    functionsReached:
    - compare_exchange_weak
    linkageType: ''
    returnType: bool
    signature: bool compare_exchange(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: operator()(uint8_t byte) const
    functionSourceFile: /src/trafficserver/include/tscore/Hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t operator()(uint8_t byte) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/trafficserver/include/tscore/Hash.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: operator()(uint8_t byte) const
    functionSourceFile: /src/trafficserver/include/tscore/Hash.h
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t operator()(uint8_t byte) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Lockfile::Lockfile
    functionSourceFile: /src/trafficserver/include/tscore/ink_lockfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lockfile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/include/tscore/ink_lockfile.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Lockfile::Lockfile
    functionSourceFile: /src/trafficserver/include/tscore/ink_lockfile.h
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void Lockfile(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~Lockfile()
    functionSourceFile: /src/trafficserver/include/tscore/ink_lockfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Lockfile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/include/tscore/ink_lockfile.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: Lockfile::SetLockfileName
    functionSourceFile: /src/trafficserver/include/tscore/ink_lockfile.h
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: void
    signature: void SetLockfileName(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Lockfile::GetLockfileName
    functionSourceFile: /src/trafficserver/include/tscore/ink_lockfile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  GetLockfileName()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~SnowflakeIDUtils()
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SnowflakeIDUtils()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: SnowflakeIDUtils::SnowflakeIDUtils
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnowflakeIDUtils(SnowflakeIDUtils const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: SnowflakeIDUtils::SnowflakeIDUtils
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnowflakeIDUtils(SnowflakeIDUtils &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: SnowflakeIDUtils::get_machine_id
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_machine_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ~SnowflakeID()
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SnowflakeID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeID::SnowflakeID
      Src: /src/trafficserver/include/tscore/SnowflakeID.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: SnowflakeID::get_next_value
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached:
    - SnowflakeID::SnowflakeID
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_next_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: SnowflakeID::get_value
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: ~SnowflakeIdNoSequence()
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SnowflakeIdNoSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: SnowflakeIdNoSequence::get_value
    functionSourceFile: /src/trafficserver/include/tscore/SnowflakeID.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - boundary
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: INK_ALIGN
    functionSourceFile: /src/trafficserver/include/tscore/ink_align.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ALIGN(size, boundary)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: INK_ALIGN_DEFAULT
    functionSourceFile: /src/trafficserver/include/tscore/ink_align.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_ALIGN_DEFAULT(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/include/tscore/ink_align.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pointer_
    - alignment
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: align_pointer_forward
    functionSourceFile: /src/trafficserver/include/tscore/ink_align.h
    functionUses: 2
    functionsReached:
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      align_pointer_forward(const void *pointer_, size_t alignment)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN
      Src: /src/trafficserver/include/tscore/ink_align.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer_
    - alignment
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: align_pointer_forward_and_zero
    functionSourceFile: /src/trafficserver/include/tscore/ink_align.h
    functionUses: 0
    functionsReached:
    - INK_ALIGN
    linkageType: ''
    returnType: void
    signature: 'void *

      align_pointer_forward_and_zero(const void *pointer_, size_t alignment)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: MgmtConverter::MgmtConverter
    functionSourceFile: /src/trafficserver/include/tscore/MgmtDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MgmtConverter::MgmtConverter(MgmtInt (*load)(const void *), void
      (*store)(void *, MgmtInt))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: MgmtConverter::MgmtConverter
    functionSourceFile: /src/trafficserver/include/tscore/MgmtDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MgmtConverter::MgmtConverter(MgmtFloat (*load)(const void *),
      void (*store)(void *, MgmtFloat))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: MgmtConverter::MgmtConverter
    functionSourceFile: /src/trafficserver/include/tscore/MgmtDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MgmtConverter::MgmtConverter(std::string_view (*load)(const void
      *), void (*store)(void *, std::string_view))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: MgmtConverter::MgmtConverter
    functionSourceFile: /src/trafficserver/include/tscore/MgmtDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MgmtConverter::MgmtConverter(MgmtInt (*_load_int)(const void
      *), void (*_store_int)(void *, MgmtInt),\n                                    MgmtFloat
      (*_load_float)(const void *), void (*_store_float)(void *, MgmtFloat),\n                                    std::string_view
      (*_load_string)(const void *), void (*_store_string)(void *, std::string_view))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: log_log_trace
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_log_trace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: log_log_error
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_log_error(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseMetaInfo::_build_name
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:107,1
    - Dst: BaseMetaInfo::_read_from_file
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: BaseMetaInfo::BaseMetaInfo
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached:
    - BaseMetaInfo::_build_name
    - BaseMetaInfo::_read_from_file
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseMetaInfo::_build_name
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:113,1
    - Dst: BaseMetaInfo::_write_to_file
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filename
    - creation
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: BaseMetaInfo::BaseMetaInfo
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached:
    - BaseMetaInfo::_build_name
    - BaseMetaInfo::_write_to_file
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo(char *filename, time_t creation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseMetaInfo::_build_name
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:120,1
    - Dst: BaseMetaInfo::_write_to_file
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - filename
    - creation
    - signature
    argTypes:
    - char*
    - time_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: BaseMetaInfo::BaseMetaInfo
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached:
    - BaseMetaInfo::_build_name
    - BaseMetaInfo::_write_to_file
    linkageType: ''
    returnType: void
    signature: void BaseMetaInfo(char *filename, time_t creation, uint64_t signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ~BaseMetaInfo()
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ~BaseMetaInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - time
    argTypes:
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: BaseMetaInfo::get_creation_time
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_creation_time(time_t *time)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - signature
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: BaseMetaInfo::get_log_object_signature
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_log_object_signature(uint64_t *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: BaseMetaInfo::data_from_metafile
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool data_from_metafile() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: BaseMetaInfo::file_open_successful
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool file_open_successful()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: BaseLogFile::BaseLogFile
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '&operator=(const BaseLogFile &)'
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseLogFile
    signature: BaseLogFile &operator=(const BaseLogFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: BaseLogFile::get_name
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: BaseLogFile::is_open
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: BaseLogFile::get_size_bytes
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t get_size_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: BaseLogFile::is_init
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: BaseLogFile::get_hostname
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_hostname() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/include/tscore/BaseLogFile.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: BaseLogFile::set_hostname
    functionSourceFile: /src/trafficserver/include/tscore/BaseLogFile.h
    functionUses: 0
    functionsReached:
    - ats_strdup
    linkageType: ''
    returnType: void
    signature: void set_hostname(const char *hn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_lock_test_and_set
      Src: /src/trafficserver/include/tscore/ink_atomic.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - T*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ink_atomic_swap
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 27
    functionsReached:
    - __sync_lock_test_and_set
    linkageType: ''
    returnType: T
    signature: T ink_atomic_swap(T *mem, T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_bool_compare_and_swap
      Src: /src/trafficserver/include/tscore/ink_atomic.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - prev
    - next
    argTypes:
    - T*
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ink_atomic_cas
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 16
    functionsReached:
    - __sync_bool_compare_and_swap
    linkageType: ''
    returnType: bool
    signature: bool ink_atomic_cas(T *mem, T prev, T next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/trafficserver/include/tscore/ink_atomic.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - count
    argTypes:
    - Type*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ink_atomic_increment
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 58
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: Type
    signature: Type ink_atomic_increment(Type *mem, Amount count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/trafficserver/include/tscore/ink_atomic.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - count
    argTypes:
    - Type*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: ink_atomic_decrement
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: Type
    signature: Type ink_atomic_decrement(Type *mem, Amount count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:99,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - int64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ink_atomic_swap
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 27
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: int64_t
    signature: int64_t ink_atomic_swap<int64_t>(int64_t *mem, int64_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:111,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mem
    - old
    - new_value
    argTypes:
    - int64_t*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: ink_atomic_cas
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 16
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: bool
    signature: bool ink_atomic_cas<int64_t>(int64_t *mem, int64_t old, int64_t new_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:126,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - int64_t*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: ink_atomic_increment
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 58
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: int64_t
    signature: int64_t ink_atomic_increment(int64_t *mem, Amount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:138,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - int64_t*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: ink_atomic_decrement
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 2
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: int64_t
    signature: int64_t ink_atomic_decrement(int64_t *mem, Amount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:150,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - uint64_t*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: ink_atomic_increment
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 58
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ink_atomic_increment(uint64_t *mem, Amount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_atomic.h:162,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_atomic.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - value
    argTypes:
    - uint64_t*
    - Amount
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: ink_atomic_decrement
    functionSourceFile: /src/trafficserver/include/tscore/ink_atomic.h
    functionUses: 2
    functionsReached:
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ink_atomic_decrement(uint64_t *mem, Amount value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: isdot
    functionSourceFile: /src/trafficserver/include/tscore/ink_file.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isdot(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: isdotdot
    functionSourceFile: /src/trafficserver/include/tscore/ink_file.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isdotdot(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Str
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_string++.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Str
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 14
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void Str(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Str
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Str(char *s, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: clean
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/include/tscore/ink_string++.h:78,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_string++.h:78,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_string++.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: dump
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 12
    functionsReached:
    - static_cast<int>
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(FILE *fp = stderr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: StrList::init
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrList::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StrList::overflow_heap_clean
      Src: /src/trafficserver/include/tscore/ink_string++.h:162,1
    - Dst: StrList::init
      Src: /src/trafficserver/include/tscore/ink_string++.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: StrList::clean
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 1
    functionsReached:
    - StrList::overflow_heap_clean
    - StrList::init
    linkageType: ''
    returnType: void
    signature: void StrList::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/tscore/ink_string++.h:169,1
    - Dst: StrList::init
      Src: /src/trafficserver/include/tscore/ink_string++.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - do_copy_when_adding_string
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: StrList::StrList
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 15
    functionsReached:
    - memset
    - StrList::init
    linkageType: ''
    returnType: void
    signature: void StrList::StrList(bool do_copy_when_adding_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StrList::clean
      Src: /src/trafficserver/include/tscore/ink_string++.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: StrList::~StrList()
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 0
    functionsReached:
    - StrList::clean
    linkageType: ''
    returnType: void
    signature: void StrList::~StrList()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: StrList::base_heap_alloc
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      StrList::base_heap_alloc(int size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StrList::base_heap_alloc
      Src: /src/trafficserver/include/tscore/ink_string++.h:196,1
    - Dst: StrList::overflow_heap_alloc
      Src: /src/trafficserver/include/tscore/ink_string++.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: StrList::alloc
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 2
    functionsReached:
    - StrList::base_heap_alloc
    - StrList::overflow_heap_alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      StrList::alloc(int size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StrList::_new_cell
      Src: /src/trafficserver/include/tscore/ink_string++.h:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - len_not_counting_nul
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: StrList::new_cell
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 1
    functionsReached:
    - StrList::_new_cell
    linkageType: ''
    returnType: Str
    signature: 'Str *

      StrList::new_cell(const char *s, int len_not_counting_nul)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: StrList::get_idx
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Str
    signature: 'Str *

      StrList::get_idx(int i)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - Str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: StrList::append
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrList::append(Str *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - Str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: StrList::prepend
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrList::prepend(Str *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - prev
    - str
    argTypes:
    - Str*
    - Str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: StrList::add_after
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrList::add_after(Str *prev, Str *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - Str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: StrList::detach
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrList::detach(Str *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StrList::new_cell
      Src: /src/trafficserver/include/tscore/ink_string++.h:310,1
    - Dst: StrList::append
      Src: /src/trafficserver/include/tscore/ink_string++.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len_not_counting_nul
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: StrList::append_string
    functionSourceFile: /src/trafficserver/include/tscore/ink_string++.h
    functionUses: 0
    functionsReached:
    - StrList::append
    - StrList::new_cell
    linkageType: ''
    returnType: Str
    signature: 'Str *

      StrList::append_string(const char *s, int len_not_counting_nul)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '&operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '&operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    - Dst: dynamic_cast<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: ts::dynamic_ptr_cast
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>
    - IntrusivePtr<U>::get
    - dynamic_cast<T *>
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: IntrusivePtr<T> dynamic_ptr_cast(IntrusivePtr<U> const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ts::ptr_cast
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>
    - IntrusivePtr<U>::get
    - static_cast<T *>
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: IntrusivePtr<T> ptr_cast(IntrusivePtr<U> const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ts::IntrusivePtrDefaultPolicy::Order::Order
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Order()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter::IntrusivePtrCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter::IntrusivePtrCounter(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: '&

      IntrusivePtrCounter::operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntrusivePtrCounter
    signature: 'IntrusivePtrCounter &

      IntrusivePtrCounter::operator=(self_type const &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter(self_type
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: '&

      IntrusivePtrAtomicCounter::operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntrusivePtrAtomicCounter
    signature: 'IntrusivePtrAtomicCounter &

      IntrusivePtrAtomicCounter::operator=(self_type const &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrDefaultPolicy<T>::dereferenceCheck(T *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ts::IntrusivePtrDefaultPolicy<T>::finalize
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrDefaultPolicy<T>::finalize(T *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:393,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: IntrusivePtrDefaultPolicy<T>::Order::operator()(IntrusivePtr<T>
      const &lhs, IntrusivePtr<T> const &rhs) const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool IntrusivePtrDefaultPolicy<T>::Order::operator()(IntrusivePtr<T>
      const &lhs, IntrusivePtr<T> const &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(T *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: IntrusivePtr<T>::~IntrusivePtr()
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::unset
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::~IntrusivePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(IntrusivePtr<U> const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - std::swap<T *>
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:428,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::get
    - std::swap<T *>
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(IntrusivePtr<U> &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::reset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:435,1
    - Dst: self_type::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: '&

      IntrusivePtr<T>::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - self_type::get
    - '&

      IntrusivePtr<T>::reset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::reset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:445,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: '&

      IntrusivePtr<T>::operator=(IntrusivePtr<U> const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::get
    - '&

      IntrusivePtr<T>::reset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(IntrusivePtr<U> const &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::unset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:454,1
    - Dst: self_type::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: '&

      IntrusivePtr<T>::operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - '&

      IntrusivePtr<T>::unset'
    - self_type::unset
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(self_type &&that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::unset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:470,1
    - Dst: IntrusivePtr<U>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 477
    functionName: '&

      IntrusivePtr<T>::operator=(IntrusivePtr<U> &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::unset
    - '&

      IntrusivePtr<T>::unset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(IntrusivePtr<U> &&that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: '*

      IntrusivePtr<T>::operator->() const'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::operator->() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: '&

      IntrusivePtr<T>::operator*() const'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T &

      IntrusivePtr<T>::operator*() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: ts::IntrusivePtr<T>::get
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::get() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MMHContext::finalize
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 525
    functionName: ts::IntrusivePtr<T>::unset
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - MMHContext::finalize
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::unset()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: ts::IntrusivePtr<T>::set
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::set(T *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:542,1
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: ts::IntrusivePtr<T>::reset
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::unset
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::reset(T *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: ts::IntrusivePtr<T>::release
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::release()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: IntrusivePtr<T>::operator bool() const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:574,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: operator==(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:581,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: operator!=(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:588,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: operator<(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator<(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: IntrusivePtr<T>::operator T *() const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::operator T *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: ts::IntrusivePtr<T>::use_count
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename IntrusivePtr<T>::counter_type
    signature: typename IntrusivePtr<T>::counter_type IntrusivePtr<T>::use_count()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '&operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '&operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    - Dst: dynamic_cast<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: ts::dynamic_ptr_cast
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>
    - IntrusivePtr<U>::get
    - dynamic_cast<T *>
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: IntrusivePtr<T> dynamic_ptr_cast(IntrusivePtr<U> const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ts::ptr_cast
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>
    - IntrusivePtr<U>::get
    - static_cast<T *>
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: IntrusivePtr<T> ptr_cast(IntrusivePtr<U> const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ts::IntrusivePtrDefaultPolicy::Order::Order
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Order()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter::IntrusivePtrCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: ts::IntrusivePtrCounter::IntrusivePtrCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrCounter::IntrusivePtrCounter(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: '&

      IntrusivePtrCounter::operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntrusivePtrCounter
    signature: 'IntrusivePtrCounter &

      IntrusivePtrCounter::operator=(self_type const &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: ts::IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrAtomicCounter::IntrusivePtrAtomicCounter(self_type
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: '&

      IntrusivePtrAtomicCounter::operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntrusivePtrAtomicCounter
    signature: 'IntrusivePtrAtomicCounter &

      IntrusivePtrAtomicCounter::operator=(self_type const &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrDefaultPolicy<T>::dereferenceCheck(T *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ts::IntrusivePtrDefaultPolicy<T>::finalize
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtrDefaultPolicy<T>::finalize(T *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:393,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: IntrusivePtrDefaultPolicy<T>::Order::operator()(IntrusivePtr<T>
      const &lhs, IntrusivePtr<T> const &rhs) const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool IntrusivePtrDefaultPolicy<T>::Order::operator()(IntrusivePtr<T>
      const &lhs, IntrusivePtr<T> const &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(T *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: IntrusivePtr<T>::~IntrusivePtr()
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::unset
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::~IntrusivePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(IntrusivePtr<U> const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - std::swap<T *>
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap<T *>
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:428,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: ts::IntrusivePtr<T>::IntrusivePtr
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::get
    - std::swap<T *>
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::IntrusivePtr(IntrusivePtr<U> &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::reset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:435,1
    - Dst: self_type::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: '&

      IntrusivePtr<T>::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - self_type::get
    - '&

      IntrusivePtr<T>::reset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::reset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:445,1
    - Dst: IntrusivePtr<U>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: '&

      IntrusivePtr<T>::operator=(IntrusivePtr<U> const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::get
    - '&

      IntrusivePtr<T>::reset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(IntrusivePtr<U> const &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::unset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:454,1
    - Dst: self_type::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: '&

      IntrusivePtr<T>::operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - '&

      IntrusivePtr<T>::unset'
    - self_type::unset
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(self_type &&that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IntrusivePtr<T>::unset'
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:470,1
    - Dst: IntrusivePtr<U>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - IntrusivePtr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 477
    functionName: '&

      IntrusivePtr<T>::operator=(IntrusivePtr<U> &&that)'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<U>::unset
    - '&

      IntrusivePtr<T>::unset'
    linkageType: ''
    returnType: IntrusivePtr<T>
    signature: 'IntrusivePtr<T> &

      IntrusivePtr<T>::operator=(IntrusivePtr<U> &&that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: '*

      IntrusivePtr<T>::operator->() const'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::operator->() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: '&

      IntrusivePtr<T>::operator*() const'
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T &

      IntrusivePtr<T>::operator*() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: ts::IntrusivePtr<T>::get
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtrDefaultPolicy<T>::dereferenceCheck
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::get() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MMHContext::finalize
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 525
    functionName: ts::IntrusivePtr<T>::unset
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 1
    functionsReached:
    - MMHContext::finalize
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::unset()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: ts::IntrusivePtr<T>::set
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::set(T *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::IntrusivePtr<T>::unset
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:542,1
    - Dst: ts::IntrusivePtr<T>::set
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: ts::IntrusivePtr<T>::reset
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - ts::IntrusivePtr<T>::unset
    - ts::IntrusivePtr<T>::set
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::reset(T *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: ts::IntrusivePtr<T>::release
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'T *

      IntrusivePtr<T>::release()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: IntrusivePtr<T>::operator bool() const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:574,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: operator==(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:581,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: operator!=(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:588,1
    - Dst: IntrusivePtr<T>::get
      Src: /src/trafficserver/include/tscore/IntrusivePtr.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IntrusivePtr<T>
    - IntrusivePtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: operator<(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached:
    - IntrusivePtr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator<(IntrusivePtr<T> const &lhs, IntrusivePtr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: IntrusivePtr<T>::operator T *() const
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntrusivePtr<T>::operator T *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: ts::IntrusivePtr<T>::use_count
    functionSourceFile: /src/trafficserver/include/tscore/IntrusivePtr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename IntrusivePtr<T>::counter_type
    signature: typename IntrusivePtr<T>::counter_type IntrusivePtr<T>::use_count()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: get
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 753
    functionsReached: []
    linkageType: ''
    returnType: sem_t
    signature: "sem_t *\n  get()"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_init
      Src: /src/trafficserver/include/tscore/ink_thread.h:114,1
    - Dst: pthread_attr_setscope
      Src: /src/trafficserver/include/tscore/ink_thread.h:115,1
    - Dst: pthread_attr_setstack
      Src: /src/trafficserver/include/tscore/ink_thread.h:119,1
    - Dst: pthread_attr_setstacksize
      Src: /src/trafficserver/include/tscore/ink_thread.h:121,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/trafficserver/include/tscore/ink_thread.h:126,1
    - Dst: pthread_create
      Src: /src/trafficserver/include/tscore/ink_thread.h:129,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_thread.h:131,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_thread.h:131,1
    - Dst: pthread_attr_destroy
      Src: /src/trafficserver/include/tscore/ink_thread.h:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - tid
    - (*f)(void *)
    - a
    - detached
    - stacksize
    - stack
    argTypes:
    - ink_thread*
    - void*
    - void*
    - int
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: ink_thread_create
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 7
    functionsReached:
    - pthread_attr_setscope
    - pthread_create
    - pthread_attr_init
    - ink_abort
    - pthread_attr_setdetachstate
    - pthread_attr_setstack
    - pthread_attr_setstacksize
    - pthread_attr_destroy
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_thread_create(ink_thread *tid, void *(*f)(void *), void *a,
      int detached, size_t stacksize, void *stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cancel
      Src: /src/trafficserver/include/tscore/ink_thread.h:139,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - who
    argTypes:
    - ink_thread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: ink_thread_cancel
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 0
    functionsReached:
    - ink_assert
    - pthread_cancel
    linkageType: ''
    returnType: void
    signature: void ink_thread_cancel(ink_thread who)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:147,1
    - Dst: pthread_join
      Src: /src/trafficserver/include/tscore/ink_thread.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_thread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ink_thread_join
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 4
    functionsReached:
    - pthread_join
    - ink_assert
    linkageType: ''
    returnType: void
    signature: 'void *

      ink_thread_join(ink_thread t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: ink_thread_self
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 1
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: ink_thread
    signature: ink_thread ink_thread_self()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ink_thread>
      Src: /src/trafficserver/include/tscore/ink_thread.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: ink_thread_null
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 5
    functionsReached:
    - static_cast<ink_thread>
    linkageType: ''
    returnType: ink_thread
    signature: ink_thread ink_thread_null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getschedparam
      Src: /src/trafficserver/include/tscore/ink_thread.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - priority
    argTypes:
    - ink_thread
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: ink_thread_get_priority
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 0
    functionsReached:
    - pthread_getschedparam
    linkageType: ''
    returnType: int
    signature: int ink_thread_get_priority(ink_thread t, int *priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/trafficserver/include/tscore/ink_thread.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - how
    - set
    - oset
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: ink_thread_sigsetmask
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 2
    functionsReached:
    - pthread_sigmask
    linkageType: ''
    returnType: int
    signature: int ink_thread_sigsetmask(int how, const sigset_t *set, sigset_t *oset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_kill
      Src: /src/trafficserver/include/tscore/ink_thread.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - sig
    argTypes:
    - ink_thread
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ink_thread_kill
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 0
    functionsReached:
    - pthread_kill
    linkageType: ''
    returnType: int
    signature: int ink_thread_kill(ink_thread t, int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:205,1
    - Dst: pthread_cond_init
      Src: /src/trafficserver/include/tscore/ink_thread.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - ink_cond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ink_cond_init
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 4
    functionsReached:
    - ink_assert
    - pthread_cond_init
    linkageType: ''
    returnType: void
    signature: void ink_cond_init(ink_cond *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:211,1
    - Dst: pthread_cond_destroy
      Src: /src/trafficserver/include/tscore/ink_thread.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - ink_cond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ink_cond_destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 2
    functionsReached:
    - pthread_cond_destroy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_cond_destroy(ink_cond *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:217,1
    - Dst: pthread_cond_wait
      Src: /src/trafficserver/include/tscore/ink_thread.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp
    - mp
    argTypes:
    - ink_cond*
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: ink_cond_wait
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 2
    functionsReached:
    - pthread_cond_wait
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_cond_wait(ink_cond *cp, ink_mutex *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_timedwait
      Src: /src/trafficserver/include/tscore/ink_thread.h:224,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:230,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - cp
    - mp
    - t
    argTypes:
    - ink_cond*
    - ink_mutex*
    - ink_timestruc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: ink_cond_timedwait
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 3
    functionsReached:
    - pthread_cond_timedwait
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ink_cond_timedwait(ink_cond *cp, ink_mutex *mp, ink_timestruc *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:240,1
    - Dst: pthread_cond_signal
      Src: /src/trafficserver/include/tscore/ink_thread.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - ink_cond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: ink_cond_signal
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 4
    functionsReached:
    - pthread_cond_signal
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_cond_signal(ink_cond *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:246,1
    - Dst: pthread_cond_broadcast
      Src: /src/trafficserver/include/tscore/ink_thread.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - ink_cond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ink_cond_broadcast
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 1
    functionsReached:
    - pthread_cond_broadcast
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_cond_broadcast(ink_cond *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_thread.h:252,1
    - Dst: sched_yield
      Src: /src/trafficserver/include/tscore/ink_thread.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: ink_thr_yield
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 3
    functionsReached:
    - sched_yield
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void ink_thr_yield()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/trafficserver/include/tscore/ink_thread.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: ink_thread_exit
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 0
    functionsReached:
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: void ink_thread_exit(void *status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/trafficserver/include/tscore/ink_thread.h:268,1
    - Dst: pthread_setname_np
      Src: /src/trafficserver/include/tscore/ink_thread.h:270,1
    - Dst: pthread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:270,1
    - Dst: pthread_set_name_np
      Src: /src/trafficserver/include/tscore/ink_thread.h:272,1
    - Dst: pthread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:272,1
    - Dst: prctl
      Src: /src/trafficserver/include/tscore/ink_thread.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ATS_UNUSED
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ink_set_thread_name
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 2
    functionsReached:
    - prctl
    - pthread_setname_np
    - pthread_set_name_np
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void ink_set_thread_name(const char *name ATS_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/trafficserver/include/tscore/ink_thread.h:282,1
    - Dst: pthread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:282,1
    - Dst: pthread_get_name_np
      Src: /src/trafficserver/include/tscore/ink_thread.h:284,1
    - Dst: pthread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:284,1
    - Dst: prctl
      Src: /src/trafficserver/include/tscore/ink_thread.h:286,1
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_thread.h:288,1
    - Dst: ink_thread_self
      Src: /src/trafficserver/include/tscore/ink_thread.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: ink_get_thread_name
    functionSourceFile: /src/trafficserver/include/tscore/ink_thread.h
    functionUses: 0
    functionsReached:
    - pthread_self
    - prctl
    - pthread_get_name_np
    - ink_thread_self
    - snprintf
    - pthread_getname_np
    linkageType: ''
    returnType: void
    signature: void ink_get_thread_name(char *name, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~FrequencyCounter()
    functionSourceFile: /src/trafficserver/include/tscore/FrequencyCounter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FrequencyCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: RND16
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND16(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_new
      Src: /src/trafficserver/include/tscore/Allocator.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: FreelistAllocator::alloc_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ink_freelist_new
    linkageType: ''
    returnType: void
    signature: "void *\n  alloc_void()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_free
      Src: /src/trafficserver/include/tscore/Allocator.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: FreelistAllocator::free_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ink_freelist_free
    linkageType: ''
    returnType: void
    signature: void free_void(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_free_bulk
      Src: /src/trafficserver/include/tscore/Allocator.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - head
    - tail
    - num_item
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: FreelistAllocator::free_void_bulk
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ink_freelist_free_bulk
    linkageType: ''
    returnType: void
    signature: void free_void_bulk(void *head, void *tail, size_t num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: FreelistAllocator::FreelistAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreelistAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_init
      Src: /src/trafficserver/include/tscore/Allocator.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - element_size
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: FreelistAllocator::FreelistAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ink_freelist_init
    linkageType: ''
    returnType: void
    signature: "void FreelistAllocator(const char *name, unsigned int element_size,
      unsigned int chunk_size = 128, unsigned int alignment = 8,\n                    bool
      use_hugepages = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_freelist_madvise_init
      Src: /src/trafficserver/include/tscore/Allocator.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - name
    - element_size
    - chunk_size
    - alignment
    - use_hugepages
    - advice
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    - unsigned int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: FreelistAllocator::re_init
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ink_freelist_madvise_init
    linkageType: ''
    returnType: void
    signature: "void re_init(const char *name, unsigned int element_size, unsigned
      int chunk_size, unsigned int alignment, bool use_hugepages,\n          int advice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: FreelistAllocator::destroy_if_enabled
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy_if_enabled(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: "&\n  raw()"
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreelistAllocator
    signature: "FreelistAllocator &\n  raw()"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/trafficserver/include/tscore/Allocator.h:140,1
    - Dst: malloc
      Src: /src/trafficserver/include/tscore/Allocator.h:142,1
    - Dst: madvise
      Src: /src/trafficserver/include/tscore/Allocator.h:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: MallocAllocator::alloc_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - aligned_alloc
    - malloc
    - madvise
    linkageType: ''
    returnType: void
    signature: "void *\n  alloc_void()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/include/tscore/Allocator.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: MallocAllocator::free_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void free_void(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void **>
      Src: /src/trafficserver/include/tscore/Allocator.h:175,1
    - Dst: MallocAllocator::free_void
      Src: /src/trafficserver/include/tscore/Allocator.h:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - head
    - num_item
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: MallocAllocator::free_void_bulk
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - static_cast<void **>
    - MallocAllocator::free_void
    linkageType: ''
    returnType: void
    signature: void free_void_bulk(void *head, void *, size_t num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: MallocAllocator::MallocAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MallocAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - element_size
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: MallocAllocator::MallocAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MallocAllocator(const char * /* name ATS_UNUSED */, unsigned
      int element_size, unsigned int /* chunk_size  ATS_UNUSED */ = 128,\n                  unsigned
      int alignment = 8, bool /* use_hugepages  ATS_UNUSED */ = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - element_size
    - alignment
    - advice
    argTypes:
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: MallocAllocator::re_init
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void re_init(const char * /* name ATS_UNUSED */, unsigned int element_size,
      unsigned int /* chunk_size ATS_UNUSED */,\n          unsigned int alignment,
      bool /* use_hugepages ATS_UNUSED */, int advice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: MallocAllocator::destroy_if_enabled
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy_if_enabled(void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: "&\n  raw()"
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MallocAllocator
    signature: "MallocAllocator &\n  raw()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MeteredAllocator::increment_for_alloc
      Src: /src/trafficserver/include/tscore/Allocator.h:230,1
    - Dst: FreelistAllocator::alloc_void
      Src: /src/trafficserver/include/tscore/Allocator.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: MeteredAllocator::alloc_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - MeteredAllocator::increment_for_alloc
    - FreelistAllocator::alloc_void
    linkageType: ''
    returnType: void
    signature: "void *\n  alloc_void()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MeteredAllocator::increment_for_free
      Src: /src/trafficserver/include/tscore/Allocator.h:237,1
    - Dst: FreelistAllocator::free_void
      Src: /src/trafficserver/include/tscore/Allocator.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: MeteredAllocator::free_void
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - MeteredAllocator::increment_for_free
    - FreelistAllocator::free_void
    linkageType: ''
    returnType: void
    signature: void free_void(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreelistAllocator::free_void_bulk
      Src: /src/trafficserver/include/tscore/Allocator.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - head
    - tail
    - num_item
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: MeteredAllocator::free_void_bulk
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - FreelistAllocator::free_void_bulk
    linkageType: ''
    returnType: void
    signature: void free_void_bulk(void *head, void *tail, size_t num_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: increment
      Src: /src/trafficserver/include/tscore/Allocator.h:256,1
    - Dst: increment
      Src: /src/trafficserver/include/tscore/Allocator.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: MeteredAllocator::increment_for_alloc
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 1
    functionsReached:
    - increment
    linkageType: ''
    returnType: void
    signature: void increment_for_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decrement
      Src: /src/trafficserver/include/tscore/Allocator.h:263,1
    - Dst: increment
      Src: /src/trafficserver/include/tscore/Allocator.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: MeteredAllocator::increment_for_free
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 1
    functionsReached:
    - decrement
    - increment
    linkageType: ''
    returnType: void
    signature: void increment_for_free(int val = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: MeteredAllocator::MeteredAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MeteredAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:272,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:273,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:274,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:275,1
    - Dst: store
      Src: /src/trafficserver/include/tscore/Allocator.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - element_size
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: MeteredAllocator::MeteredAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::createPtr
    - store
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: "void MeteredAllocator(const char *name, unsigned int element_size,
      unsigned int chunk_size = 128, unsigned int alignment = 8,\n                   bool
      use_hugepages = false)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:285,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:286,1
    - Dst: ts::Metrics::Counter::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:287,1
    - Dst: ts::Metrics::Gauge::createPtr
      Src: /src/trafficserver/include/tscore/Allocator.h:288,1
    - Dst: store
      Src: /src/trafficserver/include/tscore/Allocator.h:290,1
    - Dst: FreelistAllocator::re_init
      Src: /src/trafficserver/include/tscore/Allocator.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - name
    - element_size
    - chunk_size
    - alignment
    - use_hugepages
    - advice
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    - unsigned int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: MeteredAllocator::re_init
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::createPtr
    - FreelistAllocator::re_init
    - store
    - ts::Metrics::Counter::createPtr
    linkageType: ''
    returnType: void
    signature: "void re_init(const char *name, unsigned int element_size, unsigned
      int chunk_size, unsigned int alignment, bool use_hugepages,\n          int advice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreelistAllocator::destroy_if_enabled
      Src: /src/trafficserver/include/tscore/Allocator.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: MeteredAllocator::destroy_if_enabled
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - FreelistAllocator::destroy_if_enabled
    linkageType: ''
    returnType: void
    signature: void destroy_if_enabled(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: "&\n  raw()"
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MeteredAllocator<WrappedAllocator>
    signature: "MeteredAllocator<WrappedAllocator> &\n  raw()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClassAllocator::alloc_void
      Src: /src/trafficserver/include/tscore/Allocator.h:343,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/tscore/Allocator.h:345,1
    - Dst: C::C
      Src: /src/trafficserver/include/tscore/Allocator.h:345,1
    - Dst: reinterpret_cast<C *>
      Src: /src/trafficserver/include/tscore/Allocator.h:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: ClassAllocator::alloc
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - C::C
    - reinterpret_cast<C *>
    - ClassAllocator::alloc_void
    linkageType: ''
    returnType: C
    signature: "C *\n  alloc(Args &&...args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClassAllocator::destroy_if_enabled
      Src: /src/trafficserver/include/tscore/Allocator.h:357,1
    - Dst: ClassAllocator::free_void
      Src: /src/trafficserver/include/tscore/Allocator.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: ClassAllocator::free
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - ClassAllocator::destroy_if_enabled
    - ClassAllocator::free_void
    linkageType: ''
    returnType: void
    signature: void free(C *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/include/tscore/Allocator.h:370,1
    - Dst: RND16
      Src: /src/trafficserver/include/tscore/Allocator.h:370,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/include/tscore/Allocator.h:370,1
    - Dst: RND16
      Src: /src/trafficserver/include/tscore/Allocator.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ClassAllocator::ClassAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - RND16
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: void ClassAllocator(const char *name, unsigned int chunk_size = 128,
      unsigned int alignment = 16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: "&\n  raw()"
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseAllocator
    signature: "BaseAllocator &\n  raw()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C*::~C
      Src: /src/trafficserver/include/tscore/Allocator.h:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: ClassAllocator::destroy_if_enabled
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 1
    functionsReached:
    - C*::~C
    linkageType: ''
    returnType: void
    signature: void destroy_if_enabled(C *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: TrackerClassAllocator::TrackerClassAllocator
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackerClassAllocator(const char *name, unsigned int chunk_size
      = 128, unsigned int alignment = 16)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/trafficserver/include/tscore/Allocator.h:405,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/include/tscore/Allocator.h:406,1
    - Dst: increment
      Src: /src/trafficserver/include/tscore/Allocator.h:413,1
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/Allocator.h:414,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/Allocator.h:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: TrackerClassAllocator::alloc
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - increment
    - my_data_alloc
    - ink_mutex_acquire
    - backtrace
    - ink_mutex_release
    linkageType: ''
    returnType: C
    signature: "C *\n  alloc()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/Allocator.h:425,1
    - Dst: find
      Src: /src/trafficserver/include/tscore/Allocator.h:426,1
    - Dst: end
      Src: /src/trafficserver/include/tscore/Allocator.h:427,1
    - Dst: increment
      Src: /src/trafficserver/include/tscore/Allocator.h:428,1
    - Dst: static_cast<const void *>
      Src: /src/trafficserver/include/tscore/Allocator.h:428,1
    - Dst: erase
      Src: /src/trafficserver/include/tscore/Allocator.h:429,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/Allocator.h:431,1
    - Dst: my_free
      Src: /src/trafficserver/include/tscore/Allocator.h:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: TrackerClassAllocator::free
    functionSourceFile: /src/trafficserver/include/tscore/Allocator.h
    functionUses: 0
    functionsReached:
    - increment
    - static_cast<const void *>
    - erase
    - my_free
    - find
    - end
    - ink_mutex_acquire
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void free(C *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: RegressionMakeLocation
    functionSourceFile: /src/trafficserver/include/tscore/Regression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RegressionMakeLocation(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: REGRESSION_TEST
    functionSourceFile: /src/trafficserver/include/tscore/Regression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGRESSION_TEST(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: EXCLUSIVE_REGRESSION_TEST
    functionSourceFile: /src/trafficserver/include/tscore/Regression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCLUSIVE_REGRESSION_TEST(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Result
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscore/Result.h:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: "&\n  operator=(Result &&other)"
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Result
    signature: "Result &\n  operator=(Result &&other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscore/Result.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Result
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Result(Result &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/tscore/Result.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: failed
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 17
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufPtr
      Src: /src/trafficserver/include/tscore/Result.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: message
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 42
    functionsReached:
    - bufPtr
    linkageType: ''
    returnType: char
    signature: "char *\n  message() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Result
      Src: /src/trafficserver/include/tscore/Result.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ok
    functionSourceFile: /src/trafficserver/include/tscore/Result.h
    functionUses: 84
    functionsReached:
    - Result
    linkageType: ''
    returnType: Result
    signature: Result ok()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: diags
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: Diags
    signature: 'Diags *

      diags()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: DiagsError
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DiagsError(LEVEL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: Status
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Status(...)
  - 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: Note
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Note(...)
  - 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: Warning
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 207
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Warning(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: Error
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 219
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Error(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: Fatal
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: Alert
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Alert(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: Emergency
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Emergency(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: SiteThrottledDiagsError
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledDiagsError(LEVEL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: SiteThrottledStatus
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledStatus(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: SiteThrottledNote
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledNote(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: SiteThrottledWarning
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledWarning(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: SiteThrottledError
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: SiteThrottledFatal
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: SiteThrottledAlert
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledAlert(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: SiteThrottledEmergency
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledEmergency(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - LEVEL
    - ','
    - FMT
    - ','
    - AP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: DiagsErrorV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DiagsErrorV(LEVEL, FMT, AP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: StatusV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: StatusV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: NoteV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NoteV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: WarningV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WarningV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: ErrorV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ErrorV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: FatalV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FatalV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: AlertV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AlertV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: EmergencyV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EmergencyV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - LEVEL
    - ','
    - FMT
    - ','
    - AP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: SiteThrottledDiagsErrorV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledDiagsErrorV(LEVEL, FMT, AP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: SiteThrottledStatusV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledStatusV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: SiteThrottledNoteV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledNoteV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: SiteThrottledWarningV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledWarningV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: SiteThrottledErrorV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledErrorV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: SiteThrottledFatalV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledFatalV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: SiteThrottledAlertV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledAlertV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: SiteThrottledEmergencyV
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SiteThrottledEmergencyV(fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TAG
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: Diag
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Diag(TAG, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctl__
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: Dbg_bw
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Dbg_bw(ctl__, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: is_action_tag_set
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_action_tag_set(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: is_action_tag_set
    functionSourceFile: /src/trafficserver/include/tscore/Diags.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_action_tag_set(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: HRTIME_APPROX_SECONDS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_APPROX_SECONDS(_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: HRTIME_YEARS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_YEARS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: HRTIME_WEEKS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_WEEKS(_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: HRTIME_DAYS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_DAYS(_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: HRTIME_HOURS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_HOURS(_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: HRTIME_MINUTES
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_MINUTES(_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: HRTIME_SECONDS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_SECONDS(_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: HRTIME_MSECONDS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_MSECONDS(_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: HRTIME_USECONDS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_USECONDS(_x)
  - 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: HRTIME_NSECONDS
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRTIME_NSECONDS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_YEARS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - years
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ink_hrtime_from_years
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_YEARS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_years(unsigned int years)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_WEEKS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - weeks
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ink_hrtime_from_weeks
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_WEEKS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_weeks(unsigned int weeks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_DAYS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - days
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: ink_hrtime_from_days
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_DAYS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_days(unsigned int days)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MINUTES
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mins
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ink_hrtime_from_mins
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_MINUTES
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_mins(unsigned int mins)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: ink_hrtime_from_sec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 2
    functionsReached:
    - HRTIME_SECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_sec(unsigned int sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: ink_hrtime_from_msec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 4
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_msec(unsigned int msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_USECONDS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ink_hrtime_from_usec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_USECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_usec(unsigned int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_NSECONDS
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nsec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: ink_hrtime_from_nsec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - HRTIME_NSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_nsec(unsigned int nsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_from_sec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:137,1
    - Dst: ink_hrtime_from_nsec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: ink_hrtime_from_timespec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - ink_hrtime_from_sec
    - ink_hrtime_from_nsec
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_timespec(const struct timespec *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_from_sec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:143,1
    - Dst: ink_hrtime_from_usec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: ink_hrtime_from_timeval
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached:
    - ink_hrtime_from_sec
    - ink_hrtime_from_usec
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_from_timeval(const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ink_hrtime_to_years
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_years(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ink_hrtime_to_weeks
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_weeks(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: ink_hrtime_to_days
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_days(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: ink_hrtime_to_mins
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_mins(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: ink_hrtime_to_sec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_sec(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ink_hrtime_to_msec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_msec(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: ink_hrtime_to_usec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_usec(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: ink_hrtime_to_nsec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_to_nsec(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: ink_hrtime_to_timespec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 4
    functionsReached:
    - ink_hrtime_to_sec
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec ink_hrtime_to_timespec(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_usec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: ink_hrtime_to_timeval
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 1
    functionsReached:
    - ink_hrtime_to_usec
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval ink_hrtime_to_timeval(ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:234,1
    - Dst: static_cast<clockid_t>
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:234,1
    - Dst: ink_hrtime_from_timespec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:235,1
    - Dst: gettimeofday
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:238,1
    - Dst: ink_hrtime_from_timeval
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: ink_get_hrtime
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 112
    functionsReached:
    - ink_hrtime_from_timespec
    - clock_gettime
    - static_cast<clockid_t>
    - ink_hrtime_from_timeval
    - gettimeofday
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_get_hrtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_timeval
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:246,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ink_gettimeofday
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 1
    functionsReached:
    - ink_get_hrtime
    - ink_hrtime_to_timeval
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval ink_gettimeofday()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:252,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:252,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: ink_time
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ink_get_hrtime
    - ink_hrtime_to_sec
    linkageType: ''
    returnType: int
    signature: int ink_time()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:258,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: ink_hrtime_diff_msec
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: int
    signature: int ink_hrtime_diff_msec(ink_hrtime t1, ink_hrtime t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: ink_hrtime_diff
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_diff(ink_hrtime t1, ink_hrtime t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ink_hrtime_add
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime ink_hrtime_add(ink_hrtime t1, ink_hrtime t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_timespec
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:276,1
    - Dst: nanosleep
      Src: /src/trafficserver/include/tscore/ink_hrtime.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delay
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: ink_hrtime_sleep
    functionSourceFile: /src/trafficserver/include/tscore/ink_hrtime.h
    functionUses: 2
    functionsReached:
    - nanosleep
    - ink_hrtime_to_timespec
    linkageType: ''
    returnType: void
    signature: void ink_hrtime_sleep(ink_hrtime delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_setsockopt
      Src: /src/trafficserver/include/tscore/ink_sock.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - level
    - optname
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: setsockopt_on
    functionSourceFile: /src/trafficserver/include/tscore/ink_sock.h
    functionUses: 1
    functionsReached:
    - safe_setsockopt
    linkageType: ''
    returnType: int
    signature: int setsockopt_on(int s, int level, int optname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_setsockopt
      Src: /src/trafficserver/include/tscore/ink_sock.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - level
    - optname
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: setsockopt_off
    functionSourceFile: /src/trafficserver/include/tscore/ink_sock.h
    functionUses: 0
    functionsReached:
    - safe_setsockopt
    linkageType: ''
    returnType: int
    signature: int setsockopt_off(int s, int level, int optname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: operator bool() const noexcept
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/trafficserver/include/tscore/ArgParser.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: "&\n  operator[](int x) const"
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  operator[](int x) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments(const Arguments &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments(Arguments &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&operator=(const Arguments &)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arguments
    signature: Arguments &operator=(const Arguments &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(Arguments &&)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arguments
    signature: Arguments &operator=(Arguments &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: ts::ArgParser::Command::Command
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command(const Command &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: ts::ArgParser::Command::Command
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command(Command &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '&operator=(const Command &)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Command
    signature: Command &operator=(const Command &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '&operator=(Command &&)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Command
    signature: Command &operator=(Command &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: operator bool() const noexcept
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/trafficserver/include/tscore/ArgParser.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: "&\n  operator[](int x) const"
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  operator[](int x) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments(const Arguments &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ts::Arguments::Arguments
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arguments(Arguments &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&operator=(const Arguments &)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arguments
    signature: Arguments &operator=(const Arguments &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(Arguments &&)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arguments
    signature: Arguments &operator=(Arguments &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: ts::ArgParser::Command::Command
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command(const Command &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: ts::ArgParser::Command::Command
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command(Command &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '&operator=(const Command &)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Command
    signature: Command &operator=(const Command &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '&operator=(Command &&)'
    functionSourceFile: /src/trafficserver/include/tscore/ArgParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Command
    signature: Command &operator=(Command &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ts::VersionNumber
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionNumber()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ts::VersionNumber::VersionNumber
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionNumber::VersionNumber(unsigned short major, unsigned short
      minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator<(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: operator==(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: operator!=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: operator>(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: operator<=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: operator>=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - major
    - minor
    - type
    argTypes:
    - unsigned char
    - unsigned char
    - ts::ModuleVersion::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ts::ModuleVersion::ModuleVersion
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleVersion::ModuleVersion(unsigned char major, unsigned char
      minor, ts::ModuleVersion::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - base
    - type
    argTypes:
    - ModuleVersion
    - ts::ModuleVersion::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ts::ModuleVersion::ModuleVersion
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleVersion::ModuleVersion(ModuleVersion const &base, ts::ModuleVersion::Type
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - that
    argTypes:
    - ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ts::ModuleVersion::check
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModuleVersion::check(ModuleVersion const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ts::VersionNumber
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionNumber()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ts::VersionNumber::VersionNumber
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VersionNumber::VersionNumber(unsigned short major, unsigned short
      minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator<(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: operator==(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: operator!=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: operator>(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: operator<=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - VersionNumber
    - VersionNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: operator>=(VersionNumber const &lhs, VersionNumber const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(VersionNumber const &lhs, VersionNumber const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - major
    - minor
    - type
    argTypes:
    - unsigned char
    - unsigned char
    - ts::ModuleVersion::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ts::ModuleVersion::ModuleVersion
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleVersion::ModuleVersion(unsigned char major, unsigned char
      minor, ts::ModuleVersion::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - base
    - type
    argTypes:
    - ModuleVersion
    - ts::ModuleVersion::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ts::ModuleVersion::ModuleVersion
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleVersion::ModuleVersion(ModuleVersion const &base, ts::ModuleVersion::Type
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - that
    argTypes:
    - ModuleVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: ts::ModuleVersion::check
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModuleVersion::check(ModuleVersion const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: AppVersionInfo::package
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  package() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: AppVersionInfo::application
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  application() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: AppVersionInfo::version
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  version() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: AppVersionInfo::build_number
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  build_number() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: AppVersionInfo::build_time
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  build_time() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: AppVersionInfo::build_date
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  build_date() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: AppVersionInfo::build_machine
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  build_machine() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: AppVersionInfo::build_person
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  build_person() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: AppVersionInfo::full_version
    functionSourceFile: /src/trafficserver/include/tscore/Version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  full_version() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - _ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: BIO_set_data
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_data(a, _ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: BIO_get_data
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_data(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: BIO_get_shutdown
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_shutdown(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - biom
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: BIO_meth_get_ctrl
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_get_ctrl(biom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - biom
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: BIO_meth_get_create
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_get_create(biom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - biom
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: BIO_meth_get_destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_ssl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_get_destroy(biom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - TSUserArgType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: get_user_arg_offset
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t get_user_arg_offset(TSUserArgType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - type
    - idx
    argTypes:
    - TSUserArgType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: SanityCheckUserIndex
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 1
    functionsReached:
    - get_user_arg_offset
    linkageType: ''
    returnType: bool
    signature: bool SanityCheckUserIndex(TSUserArgType type, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~PluginUserArgsMixin()
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PluginUserArgsMixin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:93,1
    - Dst: SanityCheckUserIndex
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:93,1
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:94,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:95,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ix
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: PluginUserArgs::get_user_arg
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 0
    functionsReached:
    - size
    - SanityCheckUserIndex
    - ink_release_assert
    - get_user_arg_offset
    linkageType: ''
    returnType: void
    signature: "void *\n  get_user_arg(size_t ix) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:102,1
    - Dst: SanityCheckUserIndex
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:102,1
    - Dst: get_user_arg_offset
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:103,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:104,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ix
    - arg
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: PluginUserArgs::set_user_arg
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 0
    functionsReached:
    - size
    - SanityCheckUserIndex
    - ink_release_assert
    - get_user_arg_offset
    linkageType: ''
    returnType: void
    signature: void set_user_arg(size_t ix, void *arg) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/trafficserver/include/tscore/PluginUserArgs.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: PluginUserArgs::clear
    functionSourceFile: /src/trafficserver/include/tscore/PluginUserArgs.h
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: INK_RES_GETLAST
    functionSourceFile: /src/trafficserver/include/tscore/ink_resolver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INK_RES_GETLAST(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: NS_GET16
    functionSourceFile: /src/trafficserver/include/tscore/ink_resolver.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_GET16(s, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: NS_GET32
    functionSourceFile: /src/trafficserver/include/tscore/ink_resolver.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_GET32(l, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: NS_PUT16
    functionSourceFile: /src/trafficserver/include/tscore/ink_resolver.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_PUT16(s, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: NS_PUT32
    functionSourceFile: /src/trafficserver/include/tscore/ink_resolver.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_PUT32(l, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: PriorityQueueEntry
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PriorityQueueEntry(T n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: PriorityQueueEntry
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PriorityQueueEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: operator()(const T &a, const T &b)
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T &a, const T &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: PriorityQueue::PriorityQueue
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PriorityQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~PriorityQueue()
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PriorityQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '&

      PriorityQueue<T, Comp>::dump() const'
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PriorityQueueEntry<T> *>
    signature: 'std::vector<PriorityQueueEntry<T> *> &

      PriorityQueue<T, Comp>::dump() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:79,1
    - Dst: std::find
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:81,1
    - Dst: begin
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:81,1
    - Dst: end
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:81,1
    - Dst: end
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - PriorityQueueEntry<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: PriorityQueue<T, Comp>::in
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - begin
    - ink_release_assert
    - std::find
    - end
    linkageType: ''
    returnType: bool
    signature: bool PriorityQueue<T, Comp>::in(PriorityQueueEntry<T> *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: PriorityQueue<T, Comp>::empty
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 1
    functionsReached:
    - PriorityQueue<T, Comp>::empty
    linkageType: ''
    returnType: bool
    signature: bool PriorityQueue<T, Comp>::empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:99,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:101,1
    - Dst: push_back
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:102,1
    - Dst: PriorityQueue<T, Comp>::_bubble_up
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - PriorityQueueEntry<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: PriorityQueue<T, Comp>::push
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - push_back
    - ink_release_assert
    - size
    - PriorityQueue<T, Comp>::_bubble_up
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::push(PriorityQueueEntry<T> *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: PriorityQueue<T, Comp>::top
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - PriorityQueue<T, Comp>::empty
    linkageType: ''
    returnType: PriorityQueueEntry<T>
    signature: 'PriorityQueueEntry<T> *

      PriorityQueue<T, Comp>::top()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:123,1
    - Dst: PriorityQueue<T, Comp>::_swap
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:128,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:128,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:129,1
    - Dst: pop_back
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:130,1
    - Dst: PriorityQueue<T, Comp>::_bubble_down
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: PriorityQueue<T, Comp>::pop
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - PriorityQueue<T, Comp>::_bubble_down
    - size
    - PriorityQueue<T, Comp>::_swap
    - PriorityQueue<T, Comp>::empty
    - pop_back
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::pop()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:138,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:144,1
    - Dst: PriorityQueue<T, Comp>::in
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:144,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:148,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:148,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:150,1
    - Dst: PriorityQueue<T, Comp>::_swap
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:152,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:152,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:154,1
    - Dst: pop_back
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:155,1
    - Dst: PriorityQueue<T, Comp>::_bubble_down
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:156,1
    - Dst: PriorityQueue<T, Comp>::_bubble_up
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:157,1
    - Dst: pop_back
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - entry
    argTypes:
    - PriorityQueueEntry<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: PriorityQueue<T, Comp>::erase
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - PriorityQueue<T, Comp>::_bubble_down
    - ink_release_assert
    - PriorityQueue<T, Comp>::_bubble_up
    - pop_back
    - PriorityQueue<T, Comp>::in
    - PriorityQueue<T, Comp>::_swap
    - PriorityQueue<T, Comp>::empty
    - size
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::erase(PriorityQueueEntry<T> *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:167,1
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:169,1
    - Dst: PriorityQueue<T, Comp>::_bubble_down
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:174,1
    - Dst: PriorityQueue<T, Comp>::_bubble_up
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - PriorityQueueEntry<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: PriorityQueue<T, Comp>::update
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - PriorityQueue<T, Comp>::_bubble_up
    - PriorityQueue<T, Comp>::_bubble_down
    - ink_release_assert
    - PriorityQueue<T, Comp>::empty
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::update(PriorityQueueEntry<T> *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:182,1
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:184,1
    - Dst: PriorityQueue<T, Comp>::_bubble_down
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:189,1
    - Dst: PriorityQueue<T, Comp>::_bubble_up
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - entry
    - increased
    argTypes:
    - PriorityQueueEntry<T>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: PriorityQueue<T, Comp>::update
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 0
    functionsReached:
    - PriorityQueue<T, Comp>::_bubble_up
    - PriorityQueue<T, Comp>::_bubble_down
    - ink_release_assert
    - PriorityQueue<T, Comp>::empty
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::update(PriorityQueueEntry<T> *entry, bool
      increased)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: PriorityQueue<T, Comp>::_swap
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::_swap(uint32_t i, uint32_t j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:211,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:212,1
    - Dst: comp
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:220,1
    - Dst: PriorityQueue<T, Comp>::_swap
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: PriorityQueue<T, Comp>::_bubble_up
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 4
    functionsReached:
    - PriorityQueue<T, Comp>::_swap
    - PriorityQueue<T, Comp>::empty
    - ink_release_assert
    - comp
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::_bubble_up(uint32_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PriorityQueue<T, Comp>::empty
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:234,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:244,1
    - Dst: size
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:246,1
    - Dst: comp
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:249,1
    - Dst: comp
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:252,1
    - Dst: PriorityQueue<T, Comp>::_swap
      Src: /src/trafficserver/include/tscore/PriorityQueue.h:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 260
    functionName: PriorityQueue<T, Comp>::_bubble_down
    functionSourceFile: /src/trafficserver/include/tscore/PriorityQueue.h
    functionUses: 4
    functionsReached:
    - PriorityQueue<T, Comp>::empty
    - size
    - PriorityQueue<T, Comp>::_swap
    - comp
    linkageType: ''
    returnType: void
    signature: void PriorityQueue<T, Comp>::_bubble_down(uint32_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/trafficserver/include/tscore/ink_mutex.h:48,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_mutex.h:49,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_mutex.h:50,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_mutex.h:50,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_mutex.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ink_mutex_acquire
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 48
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_mutex_lock
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_mutex_acquire(ink_mutex *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/trafficserver/include/tscore/ink_mutex.h:57,1
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/ink_mutex.h:58,1
    - Dst: ink_abort
      Src: /src/trafficserver/include/tscore/ink_mutex.h:59,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_mutex.h:59,1
    - Dst: strerror
      Src: /src/trafficserver/include/tscore/ink_mutex.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ink_mutex_release
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 49
    functionsReached:
    - static_cast<void *>
    - ink_abort
    - pthread_mutex_unlock
    - unlikely
    - strerror
    linkageType: ''
    returnType: void
    signature: void ink_mutex_release(ink_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/trafficserver/include/tscore/ink_mutex.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: ink_mutex_try_acquire
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 3
    functionsReached:
    - pthread_mutex_trylock
    linkageType: ''
    returnType: bool
    signature: bool ink_mutex_try_acquire(ink_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_mutex.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: ink_scoped_mutex_lock::ink_scoped_mutex_lock
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void ink_scoped_mutex_lock(ink_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/tscore/ink_mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ink_mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ink_scoped_mutex_lock::ink_scoped_mutex_lock
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void ink_scoped_mutex_lock(ink_mutex &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/tscore/ink_mutex.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~ink_scoped_mutex_lock()
    functionSourceFile: /src/trafficserver/include/tscore/ink_mutex.h
    functionUses: 0
    functionsReached:
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void ~ink_scoped_mutex_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ts::Random::Random
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/trafficserver/include/tscore/Random.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ts::Random::random
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 1
    functionsReached:
    - dist
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/trafficserver/include/tscore/Random.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ts::Random::drandom
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 4
    functionsReached:
    - dist
    linkageType: ''
    returnType: double
    signature: double drandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Random::seed
      Src: /src/trafficserver/include/tscore/Random.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ts::Random::seed
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 3
    functionsReached:
    - ts::Random::seed
    linkageType: ''
    returnType: void
    signature: void seed(uint64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ts::Random::Random
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/trafficserver/include/tscore/Random.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ts::Random::random
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 1
    functionsReached:
    - dist
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/trafficserver/include/tscore/Random.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ts::Random::drandom
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 4
    functionsReached:
    - dist
    linkageType: ''
    returnType: double
    signature: double drandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Random::seed
      Src: /src/trafficserver/include/tscore/Random.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ts::Random::seed
    functionSourceFile: /src/trafficserver/include/tscore/Random.h
    functionUses: 4
    functionsReached:
    - ts::Random::seed
    linkageType: ''
    returnType: void
    signature: void seed(uint64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: IOVec
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOVec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: IOVec
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOVec(void *base, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/trafficserver/include/tscore/ink_memory.h:120,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/ink_memory.h:121,1
    - Dst: getpagesize
      Src: /src/trafficserver/include/tscore/ink_memory.h:123,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/ink_memory.h:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: ats_pagesize
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 30
    functionsReached:
    - getpagesize
    - sysconf
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ats_pagesize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: ats_strdup
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ats_strdup(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: ats_strndup
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ats_strndup(p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/include/tscore/ink_memory.h:146,1
    - Dst: _xstrdup
      Src: /src/trafficserver/include/tscore/ink_memory.h:146,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/tscore/ink_memory.h:146,1
    - Dst: std::string::size
      Src: /src/trafficserver/include/tscore/ink_memory.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ats_stringdup
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 17
    functionsReached:
    - std::string::data
    - std::string::size
    - _xstrdup
    - std::string::empty
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_stringdup(std::string const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/tscore/ink_memory.h:152,1
    - Dst: _xstrdup
      Src: /src/trafficserver/include/tscore/ink_memory.h:152,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/ink_memory.h:152,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_memory.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: ats_stringdup
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 17
    functionsReached:
    - _xstrdup
    - std::string_view::size
    - std::string_view::data
    - std::string_view::empty
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_stringdup(std::string_view const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xstrdup
      Src: /src/trafficserver/include/tscore/ink_memory.h:158,1
    - Dst: std::optional<std::string>::value
      Src: /src/trafficserver/include/tscore/ink_memory.h:158,1
    - Dst: std::optional<std::string>::value
      Src: /src/trafficserver/include/tscore/ink_memory.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: ats_stringdup
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 17
    functionsReached:
    - _xstrdup
    - std::optional<std::string>::value
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_stringdup(std::optional<std::string> const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::string>::value
      Src: /src/trafficserver/include/tscore/ink_memory.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::optional<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: ats_as_c_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 14
    functionsReached:
    - std::optional<std::string>::value
    linkageType: ''
    returnType: char
    signature: 'char *

      ats_as_c_str(std::optional<std::string> const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/ink_memory.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - PtrType
    - SizeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: make_iovec
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 16
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: IOVec
    signature: IOVec make_iovec(PtrType ptr, SizeType sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/ink_memory.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - PtrType[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: make_iovec
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 16
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: IOVec
    signature: IOVec make_iovec(PtrType (&array)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/tscore/ink_memory.h:214,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_memory.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: ink_zero
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 37
    functionsReached:
    - memset
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void ink_zero(T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/include/tscore/ink_memory.h:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - value
    - num_places
    argTypes:
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: can_safely_shift_left
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 5
    functionsReached:
    - max
    linkageType: ''
    returnType: bool
    signature: bool can_safely_shift_left(T value, int num_places)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::initValue
      Src: /src/trafficserver/include/tscore/ink_memory.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: ats_scoped_resource::ats_scoped_resource
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - detail::initValue
    linkageType: ''
    returnType: void
    signature: void ats_scoped_resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ats_scoped_resource::ats_scoped_resource
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_resource(value_type rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/tscore/ink_memory.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: ~ats_scoped_resource()
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~ats_scoped_resource()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_resource::isValid
      Src: /src/trafficserver/include/tscore/ink_memory.h:318,1
    - Dst: my_data_destroy
      Src: /src/trafficserver/include/tscore/ink_memory.h:319,1
    - Dst: detail::initValue
      Src: /src/trafficserver/include/tscore/ink_memory.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: ats_scoped_resource::clear
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - ats_scoped_resource::isValid
    - detail::initValue
    - my_data_destroy
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: operator value_type() const
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator value_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: ats_scoped_resource::get
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::initValue
      Src: /src/trafficserver/include/tscore/ink_memory.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: ats_scoped_resource::release
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - detail::initValue
    linkageType: ''
    returnType: value_type
    signature: value_type release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/tscore/ink_memory.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: "&\n  operator=(value_type rt)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(value_type rt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: operator==(value_type rt) const
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(value_type rt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: operator!=(value_type rt) const
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(value_type rt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_scoped_resource::isValid
      Src: /src/trafficserver/include/tscore/ink_memory.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: ats_scoped_resource::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 2
    functionsReached:
    - ats_scoped_resource::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: ats_scoped_resource::ats_scoped_resource
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_resource(self const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: '&operator=(self const &)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self
    signature: self &operator=(self const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int initValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/include/tscore/ink_memory.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void destroy(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int initValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/include/tscore/ink_memory.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void destroy(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 429
    functionName: ats_scoped_fd::ats_scoped_fd
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_fd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: ats_scoped_fd::ats_scoped_fd
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_fd(value_type rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::release
      Src: /src/trafficserver/include/tscore/ink_memory.h:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: ats_scoped_fd::ats_scoped_fd
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 4
    functionsReached:
    - self_type::release
    linkageType: ''
    returnType: void
    signature: void ats_scoped_fd(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/tscore/ink_memory.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: "&\n  operator=(value_type rt)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(value_type rt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/tscore/ink_memory.h:451,1
    - Dst: self_type::release
      Src: /src/trafficserver/include/tscore/ink_memory.h:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: "&\n  operator=(self_type &&that)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - self_type::release
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(self_type &&that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  initValue()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/ink_memory.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  initValue()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  initValue()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/ink_memory.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: detail::initValue
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  initValue()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: detail::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: detail::destroy
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 516
    functionName: ats_scoped_str::ats_scoped_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/include/tscore/ink_memory.h:524,1
    - Dst: ats_malloc
      Src: /src/trafficserver/include/tscore/ink_memory.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 524
    functionName: ats_scoped_str::ats_scoped_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 15
    functionsReached:
    - ats_malloc
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void ats_scoped_str(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 533
    functionName: ats_scoped_str::ats_scoped_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_scoped_str(char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/tscore/ink_memory.h:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: ats_scoped_str::ats_scoped_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 15
    functionsReached:
    - std::string_view::empty
    linkageType: ''
    returnType: void
    signature: void ats_scoped_str::ats_scoped_str(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super::operator=
      Src: /src/trafficserver/include/tscore/ink_memory.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: '&

      ats_scoped_str::operator=(char *s)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - super::operator=
    linkageType: ''
    returnType: ats_scoped_str
    signature: 'ats_scoped_str &

      ats_scoped_str::operator=(char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super::operator=
      Src: /src/trafficserver/include/tscore/ink_memory.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: "&\n  operator=(T *ptr)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - super::operator=
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(T *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_memory.h:604,1
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_memory.h:605,1
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/ink_memory.h:617,1
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/ink_memory.h:619,1
    - Dst: ats_scoped_str::release
      Src: /src/trafficserver/include/tscore/ink_memory.h:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ats_scoped_str
    - ats_scoped_str
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: path_join
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - ats_scoped_str::release
    linkageType: ''
    returnType: char
    signature: 'char *

      path_join(ats_scoped_str const &lhs, ats_scoped_str const &rhs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/ink_memory.h:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: operator()(uint8_t *p)
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void operator()(uint8_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: c_str_view::c_str_view
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_str_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - char*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: c_str_view::c_str_view
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_str_view(const char *data, size_type length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_memory.h:659,1
    - Dst: data
      Src: /src/trafficserver/include/tscore/ink_memory.h:659,1
    - Dst: c_str_view::length
      Src: /src/trafficserver/include/tscore/ink_memory.h:659,1
    - Dst: data
      Src: /src/trafficserver/include/tscore/ink_memory.h:659,1
    - Dst: c_str_view::length
      Src: /src/trafficserver/include/tscore/ink_memory.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: c_str_view::c_str_view
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - data
    - c_str_view::length
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void c_str_view(std::string_view sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: c_str_view::c_str_view
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_str_view(const c_str_view &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: c_str_view::c_str_view
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_str_view(c_str_view &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: ~c_str_view()
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~c_str_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: '&operator=(const c_str_view &)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: c_str_view
    signature: c_str_view &operator=(const c_str_view &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: '&operator=(c_str_view &&)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: c_str_view
    signature: c_str_view &operator=(c_str_view &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/include/tscore/ink_memory.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: c_str_view::c_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: "char *\n  c_str() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str_view::length
      Src: /src/trafficserver/include/tscore/ink_memory.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: c_str_view::length
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 2
    functionsReached:
    - c_str_view::length
    linkageType: ''
    returnType: size_type
    signature: size_type length() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: operator std::string_view() const noexcept
    functionSourceFile: /src/trafficserver/include/tscore/ink_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::string_view() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TextBuffer::TextBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::empty
      Src: /src/trafficserver/include/tscore/TextBuffer.h:45,1
    - Dst: TextBuffer::copyFrom
      Src: /src/trafficserver/include/tscore/TextBuffer.h:46,1
    - Dst: TextBuffer::bufPtr
      Src: /src/trafficserver/include/tscore/TextBuffer.h:46,1
    - Dst: TextBuffer::spaceUsed
      Src: /src/trafficserver/include/tscore/TextBuffer.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - TextBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: TextBuffer::TextBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 0
    functionsReached:
    - TextBuffer::empty
    - TextBuffer::copyFrom
    - TextBuffer::bufPtr
    - TextBuffer::spaceUsed
    linkageType: ''
    returnType: void
    signature: void TextBuffer(const TextBuffer &rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/TextBuffer.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - TextBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: "&\n  operator=(TextBuffer &&other)"
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: TextBuffer
    signature: "TextBuffer &\n  operator=(TextBuffer &&other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: TextBuffer::bufPtr
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  bufPtr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: TextBuffer::bufPtr
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  bufPtr() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::reUse
      Src: /src/trafficserver/include/tscore/TextBuffer.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: TextBuffer::clear
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 0
    functionsReached:
    - TextBuffer::reUse
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::enlargeBuffer
      Src: /src/trafficserver/include/tscore/TextBuffer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: TextBuffer::resize
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 0
    functionsReached:
    - TextBuffer::enlargeBuffer
    linkageType: ''
    returnType: void
    signature: void resize(unsigned nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/TextBuffer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: TextBuffer::spaceUsed
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t spaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::spaceUsed
      Src: /src/trafficserver/include/tscore/TextBuffer.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: TextBuffer::empty
    functionSourceFile: /src/trafficserver/include/tscore/TextBuffer.h
    functionUses: 2
    functionsReached:
    - TextBuffer::spaceUsed
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: IN6_IS_ADDR_UNSPECIFIED
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint64_t const *>
    linkageType: ''
    returnType: bool
    signature: bool IN6_IS_ADDR_UNSPECIFIED(in6_addr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: operator sockaddr *()
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator sockaddr *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: operator sockaddr const *() const
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator sockaddr const *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: ats_ip_invalidate
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_ip_invalidate(sockaddr *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ats_ip_invalidate
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_ip_invalidate(sockaddr_in6 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ats_ip_invalidate
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ats_ip_invalidate(IpEndpoint *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: ats_is_ip
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: ats_is_ip
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: ats_is_ip
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip(int family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: ats_is_ip4
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip4(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ats_is_ip4
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip4(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ats_is_ip6
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip6(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: ats_is_ip6
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip6(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: ats_is_unix
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_unix(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: ats_is_unix
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ats_is_unix(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: ats_ip_are_compatible
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_are_compatible(sockaddr const *lhs, ///< Address to test.\n
      \                     sockaddr const *rhs  ///< Address to test.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_are_compatible
      Src: /src/trafficserver/include/tscore/ink_inet.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: ats_ip_are_compatible
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip_are_compatible
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_are_compatible(IpEndpoint const *lhs, ///< Address to
      test.\n                      IpEndpoint const *rhs  ///< Address to test.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - int
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: ats_ip_are_compatible
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_are_compatible(int             lhs, ///< Address family
      to test.\n                      sockaddr const *rhs  ///< Address to test.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: ats_ip_are_compatible
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_are_compatible(sockaddr const *lhs, ///< Address to test.\n
      \                     int             rhs  ///< Family to test.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/trafficserver/include/tscore/ink_inet.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: ats_unix_path_len
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - strnlen
    linkageType: ''
    returnType: int
    signature: int ats_unix_path_len(sockaddr_un *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_inet.h:326,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/tscore/ink_inet.h:327,1
    - Dst: ats_unix_path_len
      Src: /src/trafficserver/include/tscore/ink_inet.h:327,1
    - Dst: strncat
      Src: /src/trafficserver/include/tscore/ink_inet.h:328,1
    - Dst: SUN_LEN
      Src: /src/trafficserver/include/tscore/ink_inet.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - sockaddr_un*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: ats_unix_append_id
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - strncat
    - ats_unix_path_len
    - snprintf
    - static_cast<size_t>
    - SUN_LEN
    linkageType: ''
    returnType: void
    signature: void ats_unix_append_id(sockaddr_un *s, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:344,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<sockaddr *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_storage *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:349,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_storage const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:355,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<sockaddr *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_in *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:360,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_in const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:366,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<sockaddr *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_in6 *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:371,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_in6 const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:377,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<sockaddr *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_un *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:382,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: ats_ip_sa_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr const *>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_ip_sa_cast(sockaddr_un const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_storage *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:388,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: ats_ip_ss_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_storage *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_storage
    signature: 'sockaddr_storage *

      ats_ip_ss_cast(sockaddr *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_storage const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:393,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: ats_ip_ss_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_storage const *>
    - static_cast<void const *>
    linkageType: ''
    returnType: sockaddr_storage
    signature: 'sockaddr_storage *

      ats_ip_ss_cast(sockaddr const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:399,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_in *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      ats_ip4_cast(sockaddr *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:404,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_in const *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      ats_ip4_cast(sockaddr const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:410,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_in *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in &

      ats_ip4_cast(sockaddr &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:415,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_in const *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in &

      ats_ip4_cast(sockaddr const &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:421,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_in *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      ats_ip4_cast(sockaddr_in6 *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:426,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_in const *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      ats_ip4_cast(sockaddr_in6 const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:432,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<sockaddr_in *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in &

      ats_ip4_cast(sockaddr_in6 &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:437,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr_in6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: ats_ip4_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_in const *>
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in &

      ats_ip4_cast(sockaddr_in6 const &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in6 *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:443,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: ats_ip6_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - static_cast<sockaddr_in6 *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      ats_ip6_cast(sockaddr *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:448,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: ats_ip6_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - static_cast<sockaddr_in6 const *>
    - static_cast<void const *>
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      ats_ip6_cast(sockaddr const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in6 *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:453,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: ats_ip6_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - static_cast<sockaddr_in6 *>
    - static_cast<void *>
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 &

      ats_ip6_cast(sockaddr &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:458,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: ats_ip6_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - static_cast<sockaddr_in6 const *>
    - static_cast<void const *>
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 &

      ats_ip6_cast(sockaddr const &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_un *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:464,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: ats_unix_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - static_cast<void *>
    - static_cast<sockaddr_un *>
    linkageType: ''
    returnType: sockaddr_un
    signature: 'sockaddr_un *

      ats_unix_cast(sockaddr *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_un const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:469,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: ats_unix_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_un const *>
    linkageType: ''
    returnType: sockaddr_un
    signature: 'sockaddr_un *

      ats_unix_cast(sockaddr const *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_un *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:474,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: ats_unix_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - static_cast<void *>
    - static_cast<sockaddr_un *>
    linkageType: ''
    returnType: sockaddr_un
    signature: 'sockaddr_un &

      ats_unix_cast(sockaddr &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sockaddr_un const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:479,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: ats_unix_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - static_cast<void const *>
    - static_cast<sockaddr_un const *>
    linkageType: ''
    returnType: sockaddr_un
    signature: 'sockaddr_un &

      ats_unix_cast(sockaddr const &a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: ats_ip_size
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ats_ip_size(sockaddr const *addr ///< Address object.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: ats_ip_size
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ats_ip_size(IpEndpoint const *addr ///< Address object.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: ats_ip_addr_size
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ats_ip_addr_size(sockaddr const *addr ///< Address object.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: ats_ip_addr_size
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t ats_ip_addr_size(IpEndpoint const *addr ///< Address object.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:532,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:532,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/tscore/ink_inet.h:532,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: ats_ip_port_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 17
    functionsReached:
    - ats_ip4_cast
    - ats_is_ip6
    - ats_is_ip4
    - ats_ip6_cast
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t &

      ats_ip_port_cast(sockaddr *sa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:537,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: ats_ip_port_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip_port_cast
    - const_cast<sockaddr *>
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t &

      ats_ip_port_cast(sockaddr const *sa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:542,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: ats_ip_port_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 19
    functionsReached:
    - ats_ip_port_cast
    - const_cast<sockaddr *>
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t &

      ats_ip_port_cast(IpEndpoint const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: ats_ip_port_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 20
    functionsReached:
    - ats_ip_port_cast
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t &

      ats_ip_port_cast(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:562,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: ats_ip4_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip4_cast
    - ats_is_ip4
    linkageType: ''
    returnType: in_addr_t
    signature: 'in_addr_t &

      ats_ip4_addr_cast(sockaddr *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:577,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:577,1
    - Dst: static_cast<in_addr_t const &>
      Src: /src/trafficserver/include/tscore/ink_inet.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: ats_ip4_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip4_cast
    - ats_is_ip4
    - static_cast<in_addr_t const &>
    linkageType: ''
    returnType: in_addr_t
    signature: 'in_addr_t &

      ats_ip4_addr_cast(sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: ats_ip4_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 19
    functionsReached:
    - ats_ip4_addr_cast
    linkageType: ''
    returnType: in_addr_t
    signature: 'in_addr_t &

      ats_ip4_addr_cast(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: ats_ip4_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 20
    functionsReached:
    - ats_ip4_addr_cast
    linkageType: ''
    returnType: in_addr_t
    signature: 'in_addr_t &

      ats_ip4_addr_cast(IpEndpoint const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: ats_ip6_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 9
    functionsReached:
    - ats_ip6_cast
    linkageType: ''
    returnType: in6_addr
    signature: 'in6_addr &

      ats_ip6_addr_cast(sockaddr *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: ats_ip6_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 9
    functionsReached:
    - ats_ip6_cast
    linkageType: ''
    returnType: in6_addr
    signature: 'in6_addr &

      ats_ip6_addr_cast(sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: ats_ip6_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: in6_addr
    signature: 'in6_addr &

      ats_ip6_addr_cast(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: ats_ip6_addr_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: in6_addr
    signature: 'in6_addr &

      ats_ip6_addr_cast(IpEndpoint const *ip)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:651,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:651,1
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:654,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 658
    functionName: ats_ip_addr32_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 2
    functionsReached:
    - ats_ip6_addr_cast
    - ats_ip4_addr_cast
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      ats_ip_addr32_cast(sockaddr *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr32_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:662,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: ats_ip_addr32_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - const_cast<sockaddr *>
    - ats_ip_addr32_cast
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      ats_ip_addr32_cast(sockaddr const *addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:678,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:678,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:681,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 685
    functionName: ats_ip_addr8_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip6_addr_cast
    - ats_ip4_addr_cast
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      ats_ip_addr8_cast(sockaddr *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:689,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: ats_ip_addr8_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - const_cast<sockaddr *>
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      ats_ip_addr8_cast(sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: ats_ip_addr8_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      ats_ip_addr8_cast(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: ats_ip_addr8_cast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 6
    functionsReached:
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      ats_ip_addr8_cast(IpEndpoint const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:707,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/include/tscore/ink_inet.h:708,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: ats_is_ip_loopback
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip6_addr_cast
    - IN6_IS_ADDR_LOOPBACK
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_loopback(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip_loopback
      Src: /src/trafficserver/include/tscore/ink_inet.h:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: ats_is_ip_loopback
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - ats_is_ip_loopback
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_loopback(IpEndpoint const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr8_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:724,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/trafficserver/include/tscore/ink_inet.h:725,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: ats_is_ip_multicast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip6_addr_cast
    - IN6_IS_ADDR_MULTICAST
    - ats_ip_addr8_cast
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_multicast(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip_multicast
      Src: /src/trafficserver/include/tscore/ink_inet.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: ats_is_ip_multicast
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - ats_is_ip_multicast
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_multicast(IpEndpoint const *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:741,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:742,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:743,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:743,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:744,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:744,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:745,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:745,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:746,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:746,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/tscore/ink_inet.h:748,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 754
    functionName: ats_is_ip_private
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 2
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - htonl
    - ats_ip6_addr_cast
    - ats_is_ip6
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_private(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip_private
      Src: /src/trafficserver/include/tscore/ink_inet.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: ats_is_ip_private
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_is_ip_private
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_private(IpEndpoint const *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:770,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:771,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:772,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:772,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/tscore/ink_inet.h:774,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 780
    functionName: ats_is_ip_linklocal
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 2
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - htonl
    - ats_ip6_addr_cast
    - ats_is_ip6
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_linklocal(sockaddr const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip_linklocal
      Src: /src/trafficserver/include/tscore/ink_inet.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: ats_is_ip_linklocal
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_is_ip_linklocal
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_linklocal(IpEndpoint const *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:795,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:795,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/tscore/ink_inet.h:796,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/include/tscore/ink_inet.h:796,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 797
    functionName: ats_is_ip_any
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - IN6_IS_ADDR_UNSPECIFIED
    - ats_ip6_addr_cast
    - ats_is_ip6
    linkageType: ''
    returnType: bool
    signature: bool ats_is_ip_any(sockaddr const *ip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:829,1
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/include/tscore/ink_inet.h:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 838
    functionName: ats_ip_copy
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 35
    functionsReached:
    - memcpy
    - ats_ip_invalidate
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_copy(sockaddr       *dst, ///< Destination object.\n            sockaddr
      const *src  ///< Source object.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/include/tscore/ink_inet.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - IpEndpoint*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 846
    functionName: ats_ip_copy
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 36
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_copy(IpEndpoint     *dst, ///< Destination object.\n            sockaddr
      const *src  ///< Source object.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/include/tscore/ink_inet.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - IpEndpoint*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 853
    functionName: ats_ip_copy
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 37
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: bool
    signature: "bool ats_ip_copy(IpEndpoint       *dst, ///< Destination object.\n
      \           IpEndpoint const *src  ///< Source object.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/include/tscore/ink_inet.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: ats_ip_copy
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 38
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: bool
    signature: bool ats_ip_copy(sockaddr *dst, IpEndpoint const *src)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/include/tscore/ink_inet.h:891,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:891,1
    - Dst: ntohl
      Src: /src/trafficserver/include/tscore/ink_inet.h:892,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:892,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:907,1
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:908,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:908,1
    - Dst: strncmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:914,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:914,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:914,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 927
    functionName: ats_ip_addr_cmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ntohl
    - memcmp
    - ats_unix_cast
    - ats_ip4_cast
    - strncmp
    - ats_ip6_cast
    linkageType: ''
    returnType: int
    signature: "int ats_ip_addr_cmp(sockaddr const *lhs, ///< Left hand operand.\n
      \               sockaddr const *rhs  ///< Right hand operand.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: ats_ip_addr_cmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: int
    signature: int ats_ip_addr_cmp(IpEndpoint const *lhs, IpEndpoint const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 947
    functionName: ats_ip_addr_eq
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool ats_ip_addr_eq(sockaddr const *lhs, sockaddr const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: ats_ip_addr_eq
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool ats_ip_addr_eq(IpEndpoint const *lhs, IpEndpoint const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: operator==(IpEndpoint const &lhs, IpEndpoint const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(IpEndpoint const &lhs, IpEndpoint const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 963
    functionName: operator!=(IpEndpoint const &lhs, IpEndpoint const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip_addr_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IpEndpoint const &lhs, IpEndpoint const &rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:972,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:972,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:972,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:973,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:973,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:975,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:975,1
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:977,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:977,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 982
    functionName: ats_ip_addr_port_eq
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 3
    functionsReached:
    - memcmp
    - ats_ip4_cast
    - ats_unix_cast
    - ats_ip_port_cast
    - strncmp
    - ats_ip6_cast
    linkageType: ''
    returnType: bool
    signature: bool ats_ip_addr_port_eq(sockaddr const *lhs, sockaddr const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/trafficserver/include/tscore/ink_inet.h:995,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:995,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 996
    functionName: ats_ip_port_host_order
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip_port_cast
    - const_cast<sockaddr *>
    - ntohs
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t ats_ip_port_host_order(sockaddr const *addr ///< Address
      with port.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/trafficserver/include/tscore/ink_inet.h:1007,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1007,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1008
    functionName: ats_ip_port_host_order
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip_port_cast
    - const_cast<sockaddr *>
    - ntohs
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t ats_ip_port_host_order(IpEndpoint const *ip ///< Address
      with port.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/include/tscore/ink_inet.h:1017,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1017,1
    - Dst: const_cast<sockaddr *>
      Src: /src/trafficserver/include/tscore/ink_inet.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1018
    functionName: ats_ip4_addr_host_order
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ntohl
    - ats_ip4_addr_cast
    - const_cast<sockaddr *>
    linkageType: ''
    returnType: in_addr_t
    signature: 'in_addr_t ats_ip4_addr_host_order(sockaddr const *addr ///< Address
      object.

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/ink_inet.h:1027,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - addr
    argTypes:
    - sockaddr_in*
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1035
    functionName: ats_ip4_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 17
    functionsReached:
    - ink_zero
    - ats_ip_sa_cast
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip4_set(sockaddr_in *dst,     ///< Destination storage.\n
      \           in_addr_t    addr,    ///< address, IPv4 network byte order.\n            in_port_t
      \   port = 0 ///< port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/include/tscore/ink_inet.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ip4
    argTypes:
    - IpEndpoint*
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1047
    functionName: ats_ip4_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - ats_ip4_set
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip4_set(IpEndpoint *dst,     ///< Destination storage.\n
      \           in_addr_t   ip4,     ///< address, IPv4 network byte order.\n            in_port_t
      \  port = 0 ///< port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip4_set
      Src: /src/trafficserver/include/tscore/ink_inet.h:1060,1
    - Dst: ats_ip4_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ip4
    argTypes:
    - sockaddr*
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    functionName: ats_ip4_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 19
    functionsReached:
    - ats_ip4_cast
    - ats_ip4_set
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip4_set(sockaddr *dst,     ///< Destination storage.\n
      \           in_addr_t ip4,     ///< address, IPv4 network byte order.\n            in_port_t
      port = 0 ///< port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/ink_inet.h:1071,1
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1076,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - addr
    argTypes:
    - sockaddr_in6*
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1079
    functionName: ats_ip6_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 4
    functionsReached:
    - memcpy
    - ink_zero
    - ats_ip_sa_cast
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip6_set(sockaddr_in6   *dst,     ///< Destination
      storage.\n            in6_addr const &addr,    ///< address in network byte
      order.\n            in_port_t       port = 0 ///< Port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip6_set
      Src: /src/trafficserver/include/tscore/ink_inet.h:1089,1
    - Dst: ats_ip6_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - addr
    argTypes:
    - sockaddr*
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: ats_ip6_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - ats_ip6_set
    - ats_ip6_cast
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip6_set(sockaddr       *dst,     ///< Destination
      storage.\n            in6_addr const &addr,    ///< address in network byte
      order.\n            in_port_t       port = 0 ///< Port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip6_set
      Src: /src/trafficserver/include/tscore/ink_inet.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - addr
    argTypes:
    - IpEndpoint*
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1101
    functionName: ats_ip6_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 6
    functionsReached:
    - ats_ip6_set
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\nats_ip6_set(IpEndpoint     *dst,     ///< Destination
      storage.\n            in6_addr const &addr,    ///< address in network byte
      order.\n            in_port_t       port = 0 ///< Port, network byte order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/include/tscore/ink_inet.h:1107,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_inet.h:1107,1
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1108,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - path
    - len
    argTypes:
    - IpEndpoint*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1113
    functionName: ats_unix_set
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - min
    - memcpy
    - ats_ip_sa_cast
    - static_cast<int>
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ats_unix_set(IpEndpoint *dst, const char *path, int len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/include/tscore/ink_inet.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - dst
    - size
    argTypes:
    - IpEndpoint*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1133
    functionName: ats_ip_ntop
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 41
    functionsReached:
    - ats_ip_ntop
    linkageType: ''
    returnType: char
    signature: "char *\nats_ip_ntop(IpEndpoint const *addr, ///< Address.\n            char
      \            *dst,  ///< Output buffer.\n            size_t            size
      \ ///< Length of buffer.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/include/tscore/ink_inet.h:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - dst
    - size
    argTypes:
    - IpEndpoint*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: ats_ip_nptop
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 31
    functionsReached:
    - ats_ip_nptop
    linkageType: ''
    returnType: char
    signature: "char *\nats_ip_nptop(IpEndpoint const *addr, ///< Address.\n             char
      \            *dst,  ///< Output buffer.\n             size_t            size
      \ ///< Length of buffer.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/tscore/ink_inet.h:1198,1
    - Dst: std::string_view
      Src: /src/trafficserver/include/tscore/ink_inet.h:1198,1
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_inet.h:1198,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - addr
    argTypes:
    - char*
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 16
    functionsReached:
    - std::string_view
    - ats_ip_sa_cast
    - strlen
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: "int ats_ip_pton(const char   *text, ///< [in] text.\n            sockaddr_in6
      *addr  ///< [out] address\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/tscore/ink_inet.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - addr
    argTypes:
    - std::string_view
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1207
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 17
    functionsReached:
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: "int ats_ip_pton(const std::string_view &text, ///< [in] text.\n            IpEndpoint
      \            *addr  ///< [out] address\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/tscore/ink_inet.h:1214,1
    - Dst: std::string_view
      Src: /src/trafficserver/include/tscore/ink_inet.h:1214,1
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_inet.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - addr
    argTypes:
    - char*
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1215
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 18
    functionsReached:
    - std::string_view
    - strlen
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: "int ats_ip_pton(const char *text, ///< [in] text.\n            IpEndpoint
      *addr  ///< [out] address\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/tscore/ink_inet.h:1222,1
    - Dst: std::string_view
      Src: /src/trafficserver/include/tscore/ink_inet.h:1222,1
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/ink_inet.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - addr
    argTypes:
    - char*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1223
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 19
    functionsReached:
    - std::string_view
    - strlen
    - ats_ip_pton
    linkageType: ''
    returnType: int
    signature: "int ats_ip_pton(const char *text, ///< [in] text.\n            sockaddr
      \  *addr  ///< [out] address\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1280
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAddr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAddr(in_addr_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1292
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAddr(in6_addr const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1295
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void IpAddr(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1296
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void IpAddr(sockaddr const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1298,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_in6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1298
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    - ats_ip_sa_cast
    linkageType: ''
    returnType: void
    signature: void IpAddr(sockaddr_in6 const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1300,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    - ats_ip_sa_cast
    linkageType: ''
    returnType: void
    signature: void IpAddr(sockaddr_in6 const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void IpAddr(IpEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: IpAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 5
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void IpAddr(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1314
    functionName: "&\n  operator=(IpEndpoint const &ip)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(IpEndpoint const &ip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1362
    functionName: operator==(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1369
    functionName: operator!=(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self::hash
      Src: /src/trafficserver/include/tscore/ink_inet.h:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1389
    functionName: operator()(self const &ip) const
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - self::hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()(self const &ip) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1416
    functionName: "&\n  invalidate()"
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self
    signature: "self &\n  invalidate()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1435
    functionName: Addr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Addr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1436
    functionName: Addr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Addr(in_addr_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1437
    functionName: Addr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Addr(in6_addr const &addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/include/tscore/ink_inet.h:1447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1452
    functionName: operator swoc::IPAddr()
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: void operator swoc::IPAddr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ip
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: '&

      IpAddr::operator=(in_addr_t ip)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpAddr
    signature: 'IpAddr &

      IpAddr::operator=(in_addr_t ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ip
    argTypes:
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: '&

      IpAddr::operator=(in6_addr const &ip)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpAddr
    signature: 'IpAddr &

      IpAddr::operator=(in6_addr const &ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1475
    functionName: IpAddr::family
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IpAddr::family() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isValid
      Src: /src/trafficserver/include/tscore/ink_inet.h:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1481
    functionName: IpAddr::isCompatibleWith
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IpAddr::isValid
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isCompatibleWith(self const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: IpAddr::isIp4
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isIp4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1492
    functionName: IpAddr::isIp6
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isIp6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/include/tscore/ink_inet.h:1497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: IpAddr::isLoopback
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isLoopback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/include/tscore/ink_inet.h:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: IpAddr::isAnyAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool IpAddr::isAnyAddr() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/tscore/ink_inet.h:1512,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1513,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/tscore/ink_inet.h:1514,1
    - Dst: ats_ip6_addr_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1523
    functionName: '&

      IpAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip6_addr_cast
    - ats_is_ip6
    - ats_ip4_addr_cast
    - ats_is_ip4
    linkageType: ''
    returnType: IpAddr
    signature: 'IpAddr &

      IpAddr::assign(sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: operator==(sockaddr const *lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(sockaddr const *lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: operator!=(IpAddr const &lhs, sockaddr const *rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IpAddr const &lhs, sockaddr const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: operator!=(sockaddr const *lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(sockaddr const *lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: operator==(IpAddr const &lhs, IpEndpoint const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(IpAddr const &lhs, IpEndpoint const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: operator==(IpEndpoint const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(IpEndpoint const &lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: operator!=(IpAddr const &lhs, IpEndpoint const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IpAddr const &lhs, IpEndpoint const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpEndpoint
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: operator!=(IpEndpoint const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(IpEndpoint const &lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 1567
    functionName: operator<(IpAddr const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IpAddr::cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(IpAddr const &lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1569
    functionDepth: 2
    functionLinenumber: 1569
    functionLinenumberEnd: 1573
    functionName: operator>=(IpAddr const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IpAddr::cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>=(IpAddr const &lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1579
    functionName: operator>(IpAddr const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IpAddr::cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>(IpAddr const &lhs, IpAddr const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/tscore/ink_inet.h:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - IpAddr
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1581
    functionDepth: 2
    functionLinenumber: 1581
    functionLinenumberEnd: 1585
    functionName: operator<=(IpAddr const &lhs, IpAddr const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - IpAddr::cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<=(IpAddr const &lhs, IpAddr const &rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/include/tscore/ink_inet.h:1591,1
    - Dst: ntohl
      Src: /src/trafficserver/include/tscore/ink_inet.h:1592,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/include/tscore/ink_inet.h:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1597
    functionName: IpAddr::hash
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ntohl
    - IpAddr::isIp4
    - IpAddr::isIp6
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IpAddr::hash() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1603
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnAddr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1605
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void UnAddr(self const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1606
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void UnAddr(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1607,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscore/ink_inet.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1607
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - strncpy
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void UnAddr(const std::string &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1609
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void UnAddr(sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1610,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1610
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - assign
    - ats_ip_sa_cast
    linkageType: ''
    returnType: void
    signature: void UnAddr(sockaddr_un const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1612
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void UnAddr(IpEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    functionName: UnAddr
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void UnAddr(IpEndpoint const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    functionName: family
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t family() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/tscore/ink_inet.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1628
    functionName: "&\n  operator=(IpEndpoint const &ip)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(IpEndpoint const &ip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1637
    functionName: "&\n  operator=(self const &addr)"
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(self const &addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1646,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1649
    functionName: '&

      UnAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - strncpy
    - ats_unix_cast
    linkageType: ''
    returnType: UnAddr
    signature: 'UnAddr &

      UnAddr::assign(sockaddr const *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/include/tscore/ink_inet.h:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - addr
    argTypes:
    - char*
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1668
    functionName: ats_ip_pton
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 19
    functionsReached:
    - IpAddr::load
    linkageType: ''
    returnType: int
    signature: "int ats_ip_pton(const char *text, ///< [in] text.\n            IpAddr
      \    &addr  ///< [out] address\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_set
      Src: /src/trafficserver/include/tscore/ink_inet.h:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IpAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1677
    functionName: '&

      IpEndpoint::assign(IpAddr const &addr, in_port_t port)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip_set
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      IpEndpoint::assign(IpAddr const &addr, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_copy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1684
    functionName: '&

      IpEndpoint::assign(sockaddr const *ip)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip_copy
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      IpEndpoint::assign(sockaddr const *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/tscore/ink_inet.h:1690,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1690,1
    - Dst: SUN_LEN
      Src: /src/trafficserver/include/tscore/ink_inet.h:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - UnAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1695
    functionName: '&

      IpEndpoint::assign(UnAddr const &addr)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - SUN_LEN
    - strncpy
    - ats_unix_cast
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      IpEndpoint::assign(UnAddr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1697
    functionDepth: 2
    functionLinenumber: 1697
    functionLinenumberEnd: 1701
    functionName: '&

      IpEndpoint::network_order_port()'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_cast
    linkageType: ''
    returnType: in_port_t
    signature: 'in_port_t &

      IpEndpoint::network_order_port()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/tscore/ink_inet.h:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1707
    functionName: IpEndpoint::network_order_port
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 8
    functionsReached:
    - ats_ip_port_cast
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t IpEndpoint::network_order_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/trafficserver/include/tscore/ink_inet.h:1712,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/include/tscore/ink_inet.h:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1709
    functionDepth: 3
    functionLinenumber: 1709
    functionLinenumberEnd: 1713
    functionName: IpEndpoint::host_order_port
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - ntohs
    - IpEndpoint::network_order_port
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t IpEndpoint::host_order_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_is_ip
      Src: /src/trafficserver/include/tscore/ink_inet.h:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1719
    functionName: IpEndpoint::isValid
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached:
    - ats_is_ip
    linkageType: ''
    returnType: bool
    signature: bool IpEndpoint::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1725
    functionName: IpEndpoint::isIp4
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpEndpoint::isIp4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: IpEndpoint::isIp6
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpEndpoint::isIp6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1735
    functionName: IpEndpoint::family
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IpEndpoint::family() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/ink_inet.h:1740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1754
    functionName: '&

      IpEndpoint::setToAnyAddr(int family)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      IpEndpoint::setToAnyAddr(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/ink_inet.h:1759,1
    - Dst: htonl
      Src: /src/trafficserver/include/tscore/ink_inet.h:1762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1774
    functionName: '&

      IpEndpoint::setToLoopback(int family)'
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 0
    functionsReached:
    - ink_zero
    - htonl
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      IpEndpoint::setToLoopback(int family)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/include/tscore/ink_inet.h:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1786
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 9
    functionsReached:
    - swoc::bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, IpEndpoint const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/include/tscore/ink_inet.h:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1786
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/include/tscore/ink_inet.h
    functionUses: 10
    functionsReached:
    - swoc::bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, IpEndpoint const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractIpRange
      Src: /src/trafficserver/include/tscore/MatcherUtils.h:62,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/MatcherUtils.h:62,1
    - Dst: ats_ip_sa_cast
      Src: /src/trafficserver/include/tscore/MatcherUtils.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - match_str
    - addr1
    - addr2
    argTypes:
    - char*
    - sockaddr_in6*
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: ExtractIpRange
    functionSourceFile: /src/trafficserver/include/tscore/MatcherUtils.h
    functionUses: 4
    functionsReached:
    - ats_ip_sa_cast
    - ExtractIpRange
    linkageType: ''
    returnType: char
    signature: "char *\nExtractIpRange(char         *match_str,\n               sockaddr_in6
      *addr1, ///< [in,out] Returned address in network order.\n               sockaddr_in6
      *addr2  ///< [in,out] Returned address in network order.\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: empty
    functionSourceFile: /src/trafficserver/include/tscore/MatcherUtils.h
    functionUses: 302
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/MatcherUtils.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: LowerCaseStr
    functionSourceFile: /src/trafficserver/include/tscore/MatcherUtils.h
    functionUses: 1
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: void
    signature: void LowerCaseStr(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: countof
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned countof(const T (&)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: countof
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: countof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: ABS
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(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: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: ATS_UNUSED_RETURN
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_UNUSED_RETURN(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: likely
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 81
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: unlikely
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - m
    argTypes:
    - ArithmeticV
    - ArithmeticM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ROUNDUP
    functionSourceFile: /src/trafficserver/include/tscore/ink_defs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ArithmeticV
    signature: ArithmeticV ROUNDUP(ArithmeticV value, ArithmeticM m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: HostLeaf
    functionSourceFile: /src/trafficserver/include/tscore/HostLookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLeaf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/tscore/HostLookup.h:69,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/include/tscore/HostLookup.h:69,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/include/tscore/HostLookup.h:70,1
    - Dst: assign
      Src: /src/trafficserver/include/tscore/HostLookup.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - std::string_view
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: HostLeaf
    functionSourceFile: /src/trafficserver/include/tscore/HostLookup.h
    functionUses: 0
    functionsReached:
    - std::string_view::remove_prefix
    - assign
    - std::string_view::empty
    - std::string_view::front
    linkageType: ''
    returnType: void
    signature: void HostLeaf(std::string_view name, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: HostLookup::get_leaf_array
    functionSourceFile: /src/trafficserver/include/tscore/HostLookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LeafArray
    signature: "LeafArray *\n  get_leaf_array()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ForceVFPTToTop()
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ForceVFPTToTop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: RefCountObj::RefCountObj
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RefCountObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: RefCountObj::RefCountObj
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RefCountObj(const RefCountObj &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~RefCountObj() override
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RefCountObj() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '&operator=(const RefCountObj &)'
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RefCountObj
    signature: RefCountObj &operator=(const RefCountObj &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: RefCountObj::refcount_inc
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int refcount_inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: RefCountObj::refcount_dec
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int refcount_dec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: RefCountObj::refcount
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int refcount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: RefCountObjInHeap::free
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: "*\n  operator->() const"
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  operator->() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: "&\n  operator*() const"
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T &\n  operator*() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: operator==(const T *p)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: operator==(const Ptr<T> &p) const
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Ptr<T> &p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: operator!=(const T *p)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: operator!=(const Ptr<T> &p)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Ptr<T> &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Ptr::get
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RefCountObj *>
      Src: /src/trafficserver/include/tscore/Ptr.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: Ptr::object
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - static_cast<RefCountObj *>
    linkageType: ''
    returnType: RefCountObj
    signature: "RefCountObj *\n  object() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: Ptr::detach
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T *\n  detach()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - RefCountObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: Ptr::swizzle
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swizzle(RefCountObj *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<T>
      Src: /src/trafficserver/include/tscore/Ptr.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: make_ptr
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 16
    functionsReached:
    - Ptr<T>
    linkageType: ''
    returnType: Ptr<T>
    signature: Ptr<T> make_ptr(T *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcount_inc
      Src: /src/trafficserver/include/tscore/Ptr.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: Ptr<T>::Ptr
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - refcount_inc
    linkageType: ''
    returnType: void
    signature: void Ptr<T>::Ptr(T *ptr /* = 0 */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcount_inc
      Src: /src/trafficserver/include/tscore/Ptr.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: Ptr<T>::Ptr
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - refcount_inc
    linkageType: ''
    returnType: void
    signature: void Ptr<T>::Ptr(const Ptr<T> &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: Ptr<T>::Ptr
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ptr<T>::Ptr(Ptr<T> &&src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcount_dec
      Src: /src/trafficserver/include/tscore/Ptr.h:228,1
    - Dst: free
      Src: /src/trafficserver/include/tscore/Ptr.h:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Ptr<T>::~Ptr()
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - refcount_dec
    - free
    linkageType: ''
    returnType: void
    signature: void Ptr<T>::~Ptr()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: refcount_inc
      Src: /src/trafficserver/include/tscore/Ptr.h:246,1
    - Dst: T*::refcount_dec
      Src: /src/trafficserver/include/tscore/Ptr.h:249,1
    - Dst: T*::free
      Src: /src/trafficserver/include/tscore/Ptr.h:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: '&

      Ptr<T>::operator=(T *p)'
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - T*::refcount_dec
    - T*::free
    - refcount_inc
    linkageType: ''
    returnType: Ptr<T>
    signature: 'Ptr<T> &

      Ptr<T>::operator=(T *p)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: refcount_dec
      Src: /src/trafficserver/include/tscore/Ptr.h:261,1
    - Dst: free
      Src: /src/trafficserver/include/tscore/Ptr.h:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: Ptr<T>::clear
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - refcount_dec
    - free
    linkageType: ''
    returnType: void
    signature: void Ptr<T>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: '&

      Ptr<T>::operator=(const Ptr<T> &src)'
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<T>
    signature: 'Ptr<T> &

      Ptr<T>::operator=(const Ptr<T> &src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Ptr<T>::~Ptr'
      Src: /src/trafficserver/include/tscore/Ptr.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: '&

      Ptr<T>::operator=(Ptr<T> &&src)'
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - '&

      Ptr<T>::~Ptr'
    linkageType: ''
    returnType: Ptr<T>
    signature: 'Ptr<T> &

      Ptr<T>::operator=(Ptr<T> &&src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<T>::get
      Src: /src/trafficserver/include/tscore/Ptr.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: operator==(std::nullptr_t, Ptr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - Ptr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(std::nullptr_t, Ptr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<T>::get
      Src: /src/trafficserver/include/tscore/Ptr.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: operator!=(std::nullptr_t, Ptr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - Ptr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator!=(std::nullptr_t, Ptr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<T>::get
      Src: /src/trafficserver/include/tscore/Ptr.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T*
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: operator==(T const *lhs, Ptr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - Ptr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(T const *lhs, Ptr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<T>::get
      Src: /src/trafficserver/include/tscore/Ptr.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T*
    - Ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: operator!=(T const *lhs, Ptr<T> const &rhs)
    functionSourceFile: /src/trafficserver/include/tscore/Ptr.h
    functionUses: 0
    functionsReached:
    - Ptr<T>::get
    linkageType: ''
    returnType: bool
    signature: bool operator!=(T const *lhs, Ptr<T> const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - format
    - ','
    - clock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: cftime
    functionSourceFile: /src/trafficserver/include/tscore/ink_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cftime(s, format, clock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_time.h:89,1
    - Dst: gettimeofday
      Src: /src/trafficserver/include/tscore/ink_time.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: ink_timezone
    functionSourceFile: /src/trafficserver/include/tscore/ink_time.h
    functionUses: 0
    functionsReached:
    - gettimeofday
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ink_timezone()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ink_timezone
    functionSourceFile: /src/trafficserver/include/tscore/ink_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ink_timezone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/include/tscore/SHA256.h:42,1
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/include/tscore/SHA256.h:45,1
    - Dst: EVP_DigestInit_ex
      Src: /src/trafficserver/include/tscore/SHA256.h:46,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/include/tscore/SHA256.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: SHA256Context::SHA256Context
    functionSourceFile: /src/trafficserver/include/tscore/SHA256.h
    functionUses: 1
    functionsReached:
    - EVP_sha256
    - SHA256_Init
    - EVP_DigestInit_ex
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: void
    signature: void SHA256Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/include/tscore/SHA256.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ~SHA256Context() override
    functionSourceFile: /src/trafficserver/include/tscore/SHA256.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~SHA256Context() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/trafficserver/include/tscore/SHA256.h:64,1
    - Dst: EVP_DigestUpdate
      Src: /src/trafficserver/include/tscore/SHA256.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: SHA256Context::update
    functionSourceFile: /src/trafficserver/include/tscore/SHA256.h
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - EVP_DigestUpdate
    linkageType: ''
    returnType: bool
    signature: bool update(void const *data, int length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Final
      Src: /src/trafficserver/include/tscore/SHA256.h:77,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/trafficserver/include/tscore/SHA256.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: SHA256Context::finalize
    functionSourceFile: /src/trafficserver/include/tscore/SHA256.h
    functionUses: 0
    functionsReached:
    - SHA256_Final
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: bool
    signature: bool finalize(CryptoHash &hash) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/TSSystemState.h:45,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: TSSystemState::is_initializing
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 6
    functionsReached:
    - unlikely
    - _instance
    linkageType: ''
    returnType: bool
    signature: bool is_initializing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/TSSystemState.h:51,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: TSSystemState::is_ssl_handshaking_stopped
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 3
    functionsReached:
    - unlikely
    - _instance
    linkageType: ''
    returnType: bool
    signature: bool is_ssl_handshaking_stopped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/TSSystemState.h:57,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: TSSystemState::is_event_system_shut_down
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 13
    functionsReached:
    - unlikely
    - _instance
    linkageType: ''
    returnType: bool
    signature: bool is_event_system_shut_down()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/tscore/TSSystemState.h:65,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: TSSystemState::is_draining
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 4
    functionsReached:
    - unlikely
    - _instance
    linkageType: ''
    returnType: bool
    signature: bool is_draining()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/TSSystemState.h:71,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:71,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: TSSystemState::initialization_done
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 2
    functionsReached:
    - _instance
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void initialization_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/TSSystemState.h:79,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:79,1
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: TSSystemState::stop_ssl_handshaking
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 2
    functionsReached:
    - _instance
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void stop_ssl_handshaking()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: TSSystemState::shut_down_event_system
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 10
    functionsReached:
    - _instance
    linkageType: ''
    returnType: void
    signature: void shut_down_event_system()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _instance
      Src: /src/trafficserver/include/tscore/TSSystemState.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: TSSystemState::drain
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 4
    functionsReached:
    - _instance
    linkageType: ''
    returnType: void
    signature: void drain(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "&\n  _instance()"
    functionSourceFile: /src/trafficserver/include/tscore/TSSystemState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: "Data &\n  _instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/trafficserver/include/tscore/Trie.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Trie::Trie
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void Trie()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/tscore/Trie.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Trie::Empty
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/trafficserver/include/tscore/Trie.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Trie()
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ~Trie()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trie::begin
      Src: /src/trafficserver/include/tscore/Trie.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Trie::begin
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 1
    functionsReached:
    - Trie::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trie::end
      Src: /src/trafficserver/include/tscore/Trie.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: Trie::end
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 1
    functionsReached:
    - Trie::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/Trie.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: Trie::Node::Clear
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/Trie.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Trie::Node::GetChild
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: Node
    signature: "Node *\n    GetChild(char index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/tscore/Trie.h:103,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Trie.h:104,1
    - Dst: static_cast<Node *>
      Src: /src/trafficserver/include/tscore/Trie.h:105,1
    - Dst: ats_malloc
      Src: /src/trafficserver/include/tscore/Trie.h:105,1
    - Dst: Node*::Clear
      Src: /src/trafficserver/include/tscore/Trie.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: Trie::Node::AllocateChild
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<Node *>
    - Node*::Clear
    - ats_malloc
    - ink_assert
    linkageType: ''
    returnType: Node
    signature: "Node *\n    AllocateChild(char index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Trie::Trie
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Trie(const Trie<T> & /* rhs ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: "&\n  operator=(const Trie<T> & /* rhs ATS_UNUSED */)"
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Trie
    signature: "Trie &\n  operator=(const Trie<T> & /* rhs ATS_UNUSED */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/include/tscore/Trie.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - key_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: Trie<T>::_CheckArgs
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void Trie<T>::_CheckArgs(const char *key, int &key_len) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Trie<T>::_CheckArgs
      Src: /src/trafficserver/include/tscore/Trie.h:145,1
    - Dst: 'on'
      Src: /src/trafficserver/include/tscore/Trie.h:152,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:153,1
    - Dst: Node*::Print
      Src: /src/trafficserver/include/tscore/Trie.h:154,1
    - Dst: Node*::GetChild
      Src: /src/trafficserver/include/tscore/Trie.h:161,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:164,1
    - Dst: Node*::AllocateChild
      Src: /src/trafficserver/include/tscore/Trie.h:165,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:175,1
    - Dst: enqueue
      Src: /src/trafficserver/include/tscore/Trie.h:182,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - key
    - value
    - rank
    - key_len
    argTypes:
    - char*
    - T*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 185
    functionName: Trie<T>::Insert
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - Trie<T>::_CheckArgs
    - Node*::AllocateChild
    - 'on'
    - enqueue
    - Dbg
    - Node*::Print
    - Node*::GetChild
    linkageType: ''
    returnType: bool
    signature: bool Trie<T>::Insert(const char *key, T *value, int rank, int key_len
      /* = -1 */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Trie<T>::_CheckArgs
      Src: /src/trafficserver/include/tscore/Trie.h:191,1
    - Dst: 'on'
      Src: /src/trafficserver/include/tscore/Trie.h:198,1
    - Dst: DbgPrint
      Src: /src/trafficserver/include/tscore/Trie.h:199,1
    - Dst: Node*::Print
      Src: /src/trafficserver/include/tscore/Trie.h:200,1
    - Dst: Node*::GetChild
      Src: /src/trafficserver/include/tscore/Trie.h:210,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - key
    - key_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: Trie<T>::Search
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - Trie<T>::_CheckArgs
    - 'on'
    - DbgPrint
    - Dbg
    - Node*::Print
    - Node*::GetChild
    linkageType: ''
    returnType: T
    signature: 'T *

      Trie<T>::Search(const char *key, int key_len /* = -1 */) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::GetChild
      Src: /src/trafficserver/include/tscore/Trie.h:229,1
    - Dst: Trie<T>::_Clear
      Src: /src/trafficserver/include/tscore/Trie.h:231,1
    - Dst: ats_free
      Src: /src/trafficserver/include/tscore/Trie.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: Trie<T>::_Clear
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 1
    functionsReached:
    - ats_free
    - Node*::GetChild
    - Trie<T>::_Clear
    linkageType: ''
    returnType: void
    signature: void Trie<T>::_Clear(Node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/trafficserver/include/tscore/Trie.h:242,1
    - Dst: Trie<T>::_Clear
      Src: /src/trafficserver/include/tscore/Trie.h:246,1
    - Dst: Trie<T>::Clear
      Src: /src/trafficserver/include/tscore/Trie.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: Trie<T>::Clear
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 1
    functionsReached:
    - Trie<T>::Clear
    - Trie<T>::_Clear
    - pop
    linkageType: ''
    returnType: void
    signature: void Trie<T>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forl_LL
      Src: /src/trafficserver/include/tscore/Trie.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: Trie<T>::Print
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - forl_LL
    linkageType: ''
    returnType: void
    signature: void Trie<T>::Print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:263,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:264,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:266,1
    - Dst: GetChild
      Src: /src/trafficserver/include/tscore/Trie.h:270,1
    - Dst: Dbg
      Src: /src/trafficserver/include/tscore/Trie.h:271,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/include/tscore/Trie.h:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dbg_ctl
    argTypes:
    - DbgCtl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: Trie<T>::Node::Print(const DbgCtl &dbg_ctl) const
    functionSourceFile: /src/trafficserver/include/tscore/Trie.h
    functionUses: 0
    functionsReached:
    - Dbg
    - GetChild
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void Trie<T>::Node::Print(const DbgCtl &dbg_ctl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/tscore/ink_rand.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ink_rand_r
    functionSourceFile: /src/trafficserver/include/tscore/ink_rand.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: int
    signature: int ink_rand_r(uint32_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ATSUuid::ATSUuid
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ATSUuid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSUuid::valid
      Src: /src/trafficserver/include/tscore/ink_uuid.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ATSUuid::getString
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached:
    - ATSUuid::valid
    linkageType: ''
    returnType: char
    signature: "char *\n  getString() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSUuid::getString
      Src: /src/trafficserver/include/tscore/ink_uuid.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ATSUuid::c_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached:
    - ATSUuid::getString
    linkageType: ''
    returnType: char
    signature: "char *\n  c_str() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ATSUuid::version
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSUuidVersion
    signature: TSUuidVersion version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ATSUuid::valid
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ATSUuid::getTimeLow
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getTimeLow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: ATSUuid::getTimeMid
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTimeMid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: ATSUuid::getTimeHighAndVersion
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTimeHighAndVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ATSUuid::getClockSeqAndReserved
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getClockSeqAndReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ATSUuid::getClockSeqLow
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getClockSeqLow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: ATSUuid::getNode
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n  getNode() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_uuid.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: ATSUuid::_toString
    functionSourceFile: /src/trafficserver/include/tscore/ink_uuid.h
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: bool
    signature: bool _toString(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned short>
      Src: /src/trafficserver/include/tscore/History.h:47,1
    - Dst: static_cast<short>
      Src: /src/trafficserver/include/tscore/History.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - location
    - event
    argTypes:
    - SourceLocation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: History::push_back
    functionSourceFile: /src/trafficserver/include/tscore/History.h
    functionUses: 0
    functionsReached:
    - static_cast<short>
    - static_cast<unsigned short>
    linkageType: ''
    returnType: void
    signature: void push_back(const SourceLocation &location, int event, int reentrant
      = NO_REENTRANT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/History.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: History::clear
    functionSourceFile: /src/trafficserver/include/tscore/History.h
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: History::overflowed
    functionSourceFile: /src/trafficserver/include/tscore/History.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: History::size
    functionSourceFile: /src/trafficserver/include/tscore/History.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: "&\n  operator[](unsigned int i) const"
    functionSourceFile: /src/trafficserver/include/tscore/History.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HistoryEntry
    signature: "HistoryEntry &\n  operator[](unsigned int i) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash64FNV1a::ATSHash64FNV1a
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:33,1
    - Dst: ATSHash64FNV1a::update
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:34,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:34,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:34,1
    - Dst: ATSHash64FNV1a::get
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: TsLuaConfigSVHash
    functionSourceFile: /src/trafficserver/include/tscore/EnumDescriptor.h
    functionUses: 0
    functionsReached:
    - ATSHash64FNV1a::get
    - std::string_view::size
    - ATSHash64FNV1a::update
    - ATSHash64FNV1a::ATSHash64FNV1a
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: size_t TsLuaConfigSVHash(std::string_view const &sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<Pair>::size
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:45,1
    - Dst: std::initializer_list<Pair>::size
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - std::initializer_list<Pair>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: TsEnumDescriptor::TsEnumDescriptor
    functionSourceFile: /src/trafficserver/include/tscore/EnumDescriptor.h
    functionUses: 0
    functionsReached:
    - std::initializer_list<Pair>::size
    linkageType: ''
    returnType: void
    signature: void TsEnumDescriptor(std::initializer_list<Pair> pairs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:57,1
    - Dst: end
      Src: /src/trafficserver/include/tscore/EnumDescriptor.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: TsEnumDescriptor::get
    functionSourceFile: /src/trafficserver/include/tscore/EnumDescriptor.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: int
    signature: int get(std::string_view key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: HTTPVersion::HTTPVersion
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: HTTPVersion::HTTPVersion
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPVersion(HTTPVersion const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '&operator=(const HTTPVersion &)'
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion &operator=(const HTTPVersion &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: HTTPVersion::HTTPVersion
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPVersion::HTTPVersion(int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ver_major
    - ver_minor
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: HTTPVersion::HTTPVersion
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPVersion::HTTPVersion(uint8_t ver_major, uint8_t ver_minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: HTTPVersion::get_major
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HTTPVersion::get_major() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: HTTPVersion::get_minor
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HTTPVersion::get_minor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: HTTPVersion::get_flat_version
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HTTPVersion::get_flat_version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:99,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: HTTPVersion::operator==(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator==(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: HTTPVersion::operator!=(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator!=(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:117,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:117,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: HTTPVersion::operator>(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator>(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:126,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:126,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: HTTPVersion::operator<(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator<(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:135,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:135,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: HTTPVersion::operator>=(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator>=(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:144,1
    - Dst: HTTPVersion::get_major
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:144,1
    - Dst: HTTPVersion::get_minor
      Src: /src/trafficserver/include/tscore/HTTPVersion.h:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hv
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: HTTPVersion::operator<=(const HTTPVersion &hv) const
    functionSourceFile: /src/trafficserver/include/tscore/HTTPVersion.h
    functionUses: 0
    functionsReached:
    - HTTPVersion::get_major
    - HTTPVersion::get_minor
    linkageType: ''
    returnType: int
    signature: int HTTPVersion::operator<=(const HTTPVersion &hv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: PendingAction::PendingAction
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PendingAction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: PendingAction::PendingAction
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PendingAction(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '&operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: PendingAction::empty
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PendingAction::empty() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/include/tscore/PendingAction.h:105,1
    - Dst: Action*::cancel
      Src: /src/trafficserver/include/tscore/PendingAction.h:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - action
    argTypes:
    - Action*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: '&

      PendingAction::operator=(Action *action)'
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached:
    - compare_exchange_strong
    - Action*::cancel
    linkageType: ''
    returnType: PendingAction
    signature: 'PendingAction &

      PendingAction::operator=(Action *action)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/include/tscore/PendingAction.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: PendingAction::get_continuation
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: Continuation
    signature: 'Continuation *

      PendingAction::get_continuation() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: PendingAction::get
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Action
    signature: 'Action *

      PendingAction::get() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/include/tscore/PendingAction.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: PendingAction::~PendingAction()
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void PendingAction::~PendingAction()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/include/tscore/PendingAction.h:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - action
    argTypes:
    - Action*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: PendingAction::clear_if_action_is
    functionSourceFile: /src/trafficserver/include/tscore/PendingAction.h
    functionUses: 0
    functionsReached:
    - compare_exchange_strong
    linkageType: ''
    returnType: bool
    signature: bool PendingAction::clear_if_action_is(Action *action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: DEF_EXT_NEW_DEL
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_EXT_NEW_DEL(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ext::details::FieldDesc
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ext::details::Schema::Schema
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ext::details::FieldDesc
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ext::details::Schema::Schema
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ext::Extendible::getLocOffset
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLocOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ext::Extendible::Extendible
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extendible(Extendible &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ext::Extendible::getBegin
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t getBegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - os
    - buf
    - size
    argTypes:
    - std::ostream
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: ext::hexToStream
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t *>
    linkageType: ''
    returnType: void
    signature: void hexToStream(std::ostream &os, void const *buf, uint16_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ext::serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - os
    - f
    argTypes:
    - std::ostream
    - Field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: ext::serializeField
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 3
    functionsReached:
    - ext::serializeField
    linkageType: ''
    returnType: void
    signature: void serializeField(std::ostream &os, Field_t const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ext::FieldId::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ext::FieldId::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldId(FieldId const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: '&operator=(FieldId const &)'
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldId
    signature: FieldId &operator=(FieldId const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPtr
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    - Dst: Extendible<Derived_t>::Extendible<Derived_t>::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - desc
    argTypes:
    - Extendible<Derived_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: ext::details::FieldPtrGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - Extendible<Derived_t>::Extendible<Derived_t>::getBegin
    - FieldPtr
    linkageType: ''
    returnType: FieldPtr
    signature: FieldPtr FieldPtrGet(Extendible<Derived_t> const &d, FieldDesc const
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t const *>
      Src: /src/trafficserver/include/tscore/Extendible.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t const *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldGet(void const *fld_ptr, FieldId<Derived_t, Field_t>
      const & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldSet(void *fld_ptr, FieldId<Derived_t, Field_t> const
      & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:328,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:329,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:334,1
    - Dst: Field_t::Field_t
      Src: /src/trafficserver/include/tscore/Extendible.h:337,1
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:338,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, Field_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    - serializeField
    - ext::details::areFieldsFinalized
    - ink_assert
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, Field_t>
    - Field_t::Field_t
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, Field_t> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:351,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:352,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:353,1
    - Dst: hexToStream
      Src: /src/trafficserver/include/tscore/Extendible.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - desc
    - size
    argTypes:
    - FieldDesc
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - hexToStream
    - ext::details::areFieldsFinalized
    - ink_assert
    - typeid
    - max
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldDesc &desc, uint16_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - static_cast<const uint8_t *>
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(const void *fld_ptr, FieldId<Derived_t, bool> const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, bool> const
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:386,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:387,1
    - Dst: FieldId<Derived_t, bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:392,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, bool>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - FieldId<Derived_t, bool>
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, bool> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(void const *fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:422,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:423,1
    - Dst: FieldId<Derived_t, std::atomic<bool>>
      Src: /src/trafficserver/include/tscore/Extendible.h:428,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, std::atomic<bool>>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, std::atomic<bool>>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, std::atomic<bool>> &id, FieldDesc
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPtr
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    - Dst: Extendible<Derived_t>::Extendible<Derived_t>::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - desc
    argTypes:
    - Extendible<Derived_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: ext::details::FieldPtrGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - Extendible<Derived_t>::Extendible<Derived_t>::getBegin
    - FieldPtr
    linkageType: ''
    returnType: FieldPtr
    signature: FieldPtr FieldPtrGet(Extendible<Derived_t> const &d, FieldDesc const
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t const *>
      Src: /src/trafficserver/include/tscore/Extendible.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 3
    functionsReached:
    - static_cast<Field_t const *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldGet(void const *fld_ptr, FieldId<Derived_t, Field_t>
      const & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldSet(void *fld_ptr, FieldId<Derived_t, Field_t> const
      & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:328,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:329,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:334,1
    - Dst: Field_t::Field_t
      Src: /src/trafficserver/include/tscore/Extendible.h:337,1
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:338,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, Field_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    - serializeField
    - ext::details::areFieldsFinalized
    - ink_assert
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, Field_t>
    - Field_t::Field_t
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, Field_t> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:351,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:352,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:353,1
    - Dst: hexToStream
      Src: /src/trafficserver/include/tscore/Extendible.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - desc
    - size
    argTypes:
    - FieldDesc
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - hexToStream
    - ext::details::areFieldsFinalized
    - ink_assert
    - typeid
    - max
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldDesc &desc, uint16_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 4
    functionsReached:
    - static_cast<const uint8_t *>
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(const void *fld_ptr, FieldId<Derived_t, bool> const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, bool> const
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:386,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:387,1
    - Dst: FieldId<Derived_t, bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:392,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, bool>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - FieldId<Derived_t, bool>
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, bool> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(void const *fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:422,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:423,1
    - Dst: FieldId<Derived_t, std::atomic<bool>>
      Src: /src/trafficserver/include/tscore/Extendible.h:428,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, std::atomic<bool>>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, std::atomic<bool>>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, std::atomic<bool>> &id, FieldDesc
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:443,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:444,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fld_desc
    argTypes:
    - ext::details::FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: ext::FieldId<Derived_t, Field_t>::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - std::type_index
    - ink_assert
    - ext::Extendible::getLocOffset
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldId<Derived_t, Field_t>::FieldId(ext::details::FieldDesc const
      &fld_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: ext::FieldId<Derived_t, Field_t>::isValid
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FieldId<Derived_t, Field_t>::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:472,1
    - Dst: Schema::no_instances
      Src: /src/trafficserver/include/tscore/Extendible.h:472,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:473,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:473,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:475,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:476,1
    - Dst: makeFieldId
      Src: /src/trafficserver/include/tscore/Extendible.h:480,1
    - Dst: Schema::updateMemOffsets
      Src: /src/trafficserver/include/tscore/Extendible.h:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - field_id
    - field_name
    argTypes:
    - FieldId<Derived_t, Field_t>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: ext::fieldAdd
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::no_instances
    - makeFieldId
    - Schema::fields::end
    - Schema::updateMemOffsets
    - Schema::fields::find
    - areFieldsFinalized
    linkageType: ''
    returnType: bool
    signature: bool fieldAdd(FieldId<Derived_t, Field_t> &field_id, char const *field_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:492,1
    - Dst: Schema::no_instances
      Src: /src/trafficserver/include/tscore/Extendible.h:492,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:493,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:493,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:494,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:496,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:497,1
    - Dst: makeFieldId
      Src: /src/trafficserver/include/tscore/Extendible.h:502,1
    - Dst: makeFieldId<Derived_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:505,1
    - Dst: Schema::updateMemOffsets
      Src: /src/trafficserver/include/tscore/Extendible.h:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - field_name
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: ext::fieldAdd
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::no_instances
    - makeFieldId
    - makeFieldId<Derived_t>
    - Schema::fields::end
    - Schema::updateMemOffsets
    - Schema::fields::find
    - areFieldsFinalized
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext fieldAdd(char const *field_name, int size, void (*construct_fn)(void
      *), void (*destruct_fn)(void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:518,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:518,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:520,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:521,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - field_id
    - field_name
    argTypes:
    - FieldId<Derived_t, Field_t>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: ext::fieldFind
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::fields::end
    - Schema::fields::find
    - FieldId<Derived_t, Field_t>
    - areFieldsFinalized
    linkageType: ''
    returnType: bool
    signature: bool fieldFind(FieldId<Derived_t, Field_t> &field_id, char const *field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:534,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:534,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:536,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 541
    functionName: ext::fieldFind
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - Schema::fields::end
    - ink_release_assert
    - areFieldsFinalized
    - Schema::fields::find
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext fieldFind(char const *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:550,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - field
    argTypes:
    - T
    - FieldId<Derived_t, Field_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: ext::get
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 37
    functionsReached:
    - ext::details::fieldGet
    - ext::details::FieldPtrGet
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) get(T const &d, FieldId<Derived_t, Field_t> &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:559,1
    - Dst: ext::details::fieldSet
      Src: /src/trafficserver/include/tscore/Extendible.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - field
    argTypes:
    - T
    - FieldId<Derived_t, Field_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: ext::set
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 2
    functionsReached:
    - ext::details::fieldSet
    - ext::details::FieldPtrGet
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) set(T &d, FieldId<Derived_t, Field_t> &field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::sizeOf<typename Derived_t::super_type>
      Src: /src/trafficserver/include/tscore/Extendible.h:573,1
    - Dst: fullSize
      Src: /src/trafficserver/include/tscore/Extendible.h:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 585
    functionName: ext::sizeOf
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - fullSize
    - ext::sizeOf<typename Derived_t::super_type>
    linkageType: ''
    returnType: size_t
    signature: size_t sizeOf(size_t size = sizeof(Derived_t))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:592,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: ext::Extendible<Derived_t>::Extendible
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ext::details::areFieldsFinalized
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Extendible<Derived_t>::Extendible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:600,1
    - Dst: callDestructor
      Src: /src/trafficserver/include/tscore/Extendible.h:601,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: Extendible<Derived_t>::~Extendible()
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - callDestructor
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Extendible<Derived_t>::~Extendible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:611,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/include/tscore/Extendible.h:612,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:613,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:614,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:615,1
    - Dst: callConstructor
      Src: /src/trafficserver/include/tscore/Extendible.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - start_ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 618
    functionName: ext::Extendible<Derived_t>::initFields
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - callConstructor
    - static_cast<uint16_t>
    - ink_assert
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t Extendible<Derived_t>::initFields(uintptr_t start_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:630,1
    - Dst: Derived_t::Extendible<Derived_t>::initFields
      Src: /src/trafficserver/include/tscore/Extendible.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - derived
    - tail_ptr
    argTypes:
    - Derived_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ext::details::initRecurseSuper
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - ext::details::initRecurseSuper
    - Derived_t::Extendible<Derived_t>::initFields
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t initRecurseSuper(Derived_t &derived, uintptr_t tail_ptr /*=
      0*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:630,1
    - Dst: Derived_t::Extendible<Derived_t>::initFields
      Src: /src/trafficserver/include/tscore/Extendible.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - derived
    - tail_ptr
    argTypes:
    - Derived_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ext::details::initRecurseSuper
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 2
    functionsReached:
    - ext::details::initRecurseSuper
    - Derived_t::Extendible<Derived_t>::initFields
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t initRecurseSuper(Derived_t &derived, uintptr_t tail_ptr /*=
      0*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:647,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:647,1
    - Dst: ext::sizeOf<Derived_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:650,1
    - Dst: static_cast<Derived_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:653,1
    - Dst: ats_memalign
      Src: /src/trafficserver/include/tscore/Extendible.h:653,1
    - Dst: std::forward
      Src: /src/trafficserver/include/tscore/Extendible.h:656,1
    - Dst: Derived_t::Derived_t
      Src: /src/trafficserver/include/tscore/Extendible.h:656,1
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 661
    functionName: ext::create
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ats_memalign
    - std::forward
    - ext::sizeOf<Derived_t>
    - ext::details::areFieldsFinalized
    - static_cast<Derived_t *>
    - Derived_t::Derived_t
    - ext::details::initRecurseSuper
    - ink_assert
    linkageType: ''
    returnType: Derived_t
    signature: 'Derived_t *

      create(Args &&...args)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ext::sizeOf<T>
      Src: /src/trafficserver/include/tscore/Extendible.h:676,1
    - Dst: ext::viewFormat
      Src: /src/trafficserver/include/tscore/Extendible.h:685,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:691,1
    - Dst: Extendible*::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:693,1
    - Dst: fullSize
      Src: /src/trafficserver/include/tscore/Extendible.h:694,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:696,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:697,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:700,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:701,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:702,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:703,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:704,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:713,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:714,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:717,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:718,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:719,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:720,1
    - Dst: stringstream::str
      Src: /src/trafficserver/include/tscore/Extendible.h:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 723
    functionName: ext::viewFormat
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - Extendible*::getBegin
    - ext::viewFormat
    - string
    - stringstream::str
    - setw
    - ink_assert
    - fullSize
    - typeid
    - ext::sizeOf<T>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: std::string
    signature: std::string viewFormat(T const &t, uintptr_t _base_addr = 0, int _full_size
      = ext::sizeOf<T>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: ext::details::ltrim
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - std::string::find_first_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string ltrim(std::string const &str, const std::string &chars
      = "\t\n\v\f\r ")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: ext::details::ltrim
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - std::string::find_first_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string ltrim(std::string const &str, const std::string &chars
      = "\t\n\v\f\r ")
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::width
      Src: /src/trafficserver/include/tscore/Extendible.h:741,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: ext::details::ltrim
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: ext::serialize
      Src: /src/trafficserver/include/tscore/Extendible.h:746,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:751,1
    - Dst: first::length
      Src: /src/trafficserver/include/tscore/Extendible.h:751,1
    - Dst: auto::fields::begin
      Src: /src/trafficserver/include/tscore/Extendible.h:754,1
    - Dst: auto::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:754,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:757,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:758,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:758,1
    - Dst: auto::serializer
      Src: /src/trafficserver/include/tscore/Extendible.h:759,1
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:759,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - os
    - t
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 765
    functionName: ext::serialize
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - ext::serialize
    - first::length
    - auto::fields::begin
    - ext::details::ltrim
    - setw
    - typeid
    - max
    - ext::details::FieldPtrGet
    - auto::fields::end
    - auto::serializer
    - std::ostream::width
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream &os, T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::width
      Src: /src/trafficserver/include/tscore/Extendible.h:772,1
    - Dst: ext::serialize
      Src: /src/trafficserver/include/tscore/Extendible.h:773,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/include/tscore/Extendible.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 775
    functionName: ext::toString
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ext::serialize
    - std::stringstream::str
    - std::stringstream::width
    linkageType: ''
    returnType: std::string
    signature: std::string toString(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ext::details::FieldDesc
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ext::details::Schema::Schema
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ext::details::FieldDesc
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ext::details::Schema::Schema
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Schema()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ext::Extendible::getLocOffset
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLocOffset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ext::Extendible::Extendible
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extendible(Extendible &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ext::Extendible::getBegin
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t getBegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - os
    - buf
    - size
    argTypes:
    - std::ostream
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: ext::hexToStream
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t *>
    linkageType: ''
    returnType: void
    signature: void hexToStream(std::ostream &os, void const *buf, uint16_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ext::serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - os
    - f
    argTypes:
    - std::ostream
    - Field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: ext::serializeField
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 4
    functionsReached:
    - ext::serializeField
    linkageType: ''
    returnType: void
    signature: void serializeField(std::ostream &os, Field_t const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ext::FieldId::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ext::FieldId::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldId(FieldId const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: '&operator=(FieldId const &)'
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldId
    signature: FieldId &operator=(FieldId const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPtr
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    - Dst: Extendible<Derived_t>::Extendible<Derived_t>::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - desc
    argTypes:
    - Extendible<Derived_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: ext::details::FieldPtrGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 3
    functionsReached:
    - Extendible<Derived_t>::Extendible<Derived_t>::getBegin
    - FieldPtr
    linkageType: ''
    returnType: FieldPtr
    signature: FieldPtr FieldPtrGet(Extendible<Derived_t> const &d, FieldDesc const
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t const *>
      Src: /src/trafficserver/include/tscore/Extendible.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 7
    functionsReached:
    - static_cast<Field_t const *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldGet(void const *fld_ptr, FieldId<Derived_t, Field_t>
      const & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - static_cast<Field_t *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldSet(void *fld_ptr, FieldId<Derived_t, Field_t> const
      & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:328,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:329,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:334,1
    - Dst: Field_t::Field_t
      Src: /src/trafficserver/include/tscore/Extendible.h:337,1
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:338,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, Field_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    - serializeField
    - ext::details::areFieldsFinalized
    - ink_assert
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, Field_t>
    - Field_t::Field_t
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, Field_t> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:351,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:352,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:353,1
    - Dst: hexToStream
      Src: /src/trafficserver/include/tscore/Extendible.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - desc
    - size
    argTypes:
    - FieldDesc
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - hexToStream
    - ext::details::areFieldsFinalized
    - ink_assert
    - typeid
    - max
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldDesc &desc, uint16_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 8
    functionsReached:
    - static_cast<const uint8_t *>
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(const void *fld_ptr, FieldId<Derived_t, bool> const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, bool> const
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:386,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:387,1
    - Dst: FieldId<Derived_t, bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:392,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, bool>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - FieldId<Derived_t, bool>
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, bool> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(void const *fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:422,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:423,1
    - Dst: FieldId<Derived_t, std::atomic<bool>>
      Src: /src/trafficserver/include/tscore/Extendible.h:428,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, std::atomic<bool>>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, std::atomic<bool>>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, std::atomic<bool>> &id, FieldDesc
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPtr
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    - Dst: Extendible<Derived_t>::Extendible<Derived_t>::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - desc
    argTypes:
    - Extendible<Derived_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: ext::details::FieldPtrGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 3
    functionsReached:
    - Extendible<Derived_t>::Extendible<Derived_t>::getBegin
    - FieldPtr
    linkageType: ''
    returnType: FieldPtr
    signature: FieldPtr FieldPtrGet(Extendible<Derived_t> const &d, FieldDesc const
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t const *>
      Src: /src/trafficserver/include/tscore/Extendible.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 10
    functionsReached:
    - static_cast<Field_t const *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldGet(void const *fld_ptr, FieldId<Derived_t, Field_t>
      const & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fld_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - static_cast<Field_t *>
    linkageType: ''
    returnType: Field_t
    signature: "Field_t &\n  fieldSet(void *fld_ptr, FieldId<Derived_t, Field_t> const
      & /* field ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:325,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:327,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:328,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:329,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:334,1
    - Dst: Field_t::Field_t
      Src: /src/trafficserver/include/tscore/Extendible.h:337,1
    - Dst: static_cast<Field_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:338,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, Field_t>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - static_cast<Field_t *>
    - serializeField
    - ext::details::areFieldsFinalized
    - ink_assert
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, Field_t>
    - Field_t::Field_t
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, Field_t> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:350,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:351,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:352,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:353,1
    - Dst: hexToStream
      Src: /src/trafficserver/include/tscore/Extendible.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - desc
    - size
    argTypes:
    - FieldDesc
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - hexToStream
    - ext::details::areFieldsFinalized
    - ink_assert
    - typeid
    - max
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldDesc &desc, uint16_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    - Dst: static_cast<const uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 11
    functionsReached:
    - static_cast<const uint8_t *>
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(const void *fld_ptr, FieldId<Derived_t, bool> const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, bool> const
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:385,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:386,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:387,1
    - Dst: FieldId<Derived_t, bool>
      Src: /src/trafficserver/include/tscore/Extendible.h:392,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, bool>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - FieldId<Derived_t, bool>
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, bool> &id, FieldDesc &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - void*
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: ext::details::fieldGet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fieldGet(void const *fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fld_ptr
    - field
    argTypes:
    - FieldPtr
    - FieldId<Derived_t, std::atomic<bool>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: ext::details::fieldSet
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: AtomicBit
    signature: AtomicBit fieldSet(FieldPtr fld_ptr, FieldId<Derived_t, std::atomic<bool>>
      const &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:421,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:422,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:423,1
    - Dst: FieldId<Derived_t, std::atomic<bool>>
      Src: /src/trafficserver/include/tscore/Extendible.h:428,1
    - Dst: serializeField
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - id
    - desc
    argTypes:
    - FieldId<Derived_t, std::atomic<bool>>
    - FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: ext::details::makeFieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - serializeField
    - ext::details::fieldGet
    - typeid
    - max
    - std::type_index
    - FieldId<Derived_t, std::atomic<bool>>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: void
    signature: void makeFieldId(FieldId<Derived_t, std::atomic<bool>> &id, FieldDesc
      &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:443,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:444,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    - Dst: std::type_index
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fld_desc
    argTypes:
    - ext::details::FieldDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: ext::FieldId<Derived_t, Field_t>::FieldId
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - std::type_index
    - ink_assert
    - ext::Extendible::getLocOffset
    - typeid
    linkageType: ''
    returnType: void
    signature: void FieldId<Derived_t, Field_t>::FieldId(ext::details::FieldDesc const
      &fld_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: ext::FieldId<Derived_t, Field_t>::isValid
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FieldId<Derived_t, Field_t>::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:472,1
    - Dst: Schema::no_instances
      Src: /src/trafficserver/include/tscore/Extendible.h:472,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:473,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:473,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:475,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:476,1
    - Dst: makeFieldId
      Src: /src/trafficserver/include/tscore/Extendible.h:480,1
    - Dst: Schema::updateMemOffsets
      Src: /src/trafficserver/include/tscore/Extendible.h:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - field_id
    - field_name
    argTypes:
    - FieldId<Derived_t, Field_t>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: ext::fieldAdd
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::no_instances
    - makeFieldId
    - Schema::fields::end
    - Schema::updateMemOffsets
    - Schema::fields::find
    - areFieldsFinalized
    linkageType: ''
    returnType: bool
    signature: bool fieldAdd(FieldId<Derived_t, Field_t> &field_id, char const *field_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:492,1
    - Dst: Schema::no_instances
      Src: /src/trafficserver/include/tscore/Extendible.h:492,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:493,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:493,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:494,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:496,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:497,1
    - Dst: makeFieldId
      Src: /src/trafficserver/include/tscore/Extendible.h:502,1
    - Dst: makeFieldId<Derived_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:505,1
    - Dst: Schema::updateMemOffsets
      Src: /src/trafficserver/include/tscore/Extendible.h:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - field_name
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: ext::fieldAdd
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::no_instances
    - makeFieldId
    - makeFieldId<Derived_t>
    - Schema::fields::end
    - Schema::updateMemOffsets
    - Schema::fields::find
    - areFieldsFinalized
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext fieldAdd(char const *field_name, int size, void (*construct_fn)(void
      *), void (*destruct_fn)(void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:518,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:518,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:520,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:521,1
    - Dst: FieldId<Derived_t, Field_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - field_id
    - field_name
    argTypes:
    - FieldId<Derived_t, Field_t>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: ext::fieldFind
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - Schema::fields::end
    - Schema::fields::find
    - FieldId<Derived_t, Field_t>
    - areFieldsFinalized
    linkageType: ''
    returnType: bool
    signature: bool fieldFind(FieldId<Derived_t, Field_t> &field_id, char const *field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:534,1
    - Dst: areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:534,1
    - Dst: Schema::fields::find
      Src: /src/trafficserver/include/tscore/Extendible.h:536,1
    - Dst: Schema::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 541
    functionName: ext::fieldFind
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - Schema::fields::end
    - ink_release_assert
    - areFieldsFinalized
    - Schema::fields::find
    linkageType: ''
    returnType: ExtFieldContext
    signature: ExtFieldContext fieldFind(char const *field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:550,1
    - Dst: ext::details::fieldGet
      Src: /src/trafficserver/include/tscore/Extendible.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - field
    argTypes:
    - T
    - FieldId<Derived_t, Field_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: ext::get
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 37
    functionsReached:
    - ext::details::fieldGet
    - ext::details::FieldPtrGet
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) get(T const &d, FieldId<Derived_t, Field_t> &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:559,1
    - Dst: ext::details::fieldSet
      Src: /src/trafficserver/include/tscore/Extendible.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - field
    argTypes:
    - T
    - FieldId<Derived_t, Field_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: ext::set
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 2
    functionsReached:
    - ext::details::fieldSet
    - ext::details::FieldPtrGet
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) set(T &d, FieldId<Derived_t, Field_t> &field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::sizeOf<typename Derived_t::super_type>
      Src: /src/trafficserver/include/tscore/Extendible.h:573,1
    - Dst: fullSize
      Src: /src/trafficserver/include/tscore/Extendible.h:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 585
    functionName: ext::sizeOf
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - fullSize
    - ext::sizeOf<typename Derived_t::super_type>
    linkageType: ''
    returnType: size_t
    signature: size_t sizeOf(size_t size = sizeof(Derived_t))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:592,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: ext::Extendible<Derived_t>::Extendible
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ext::details::areFieldsFinalized
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Extendible<Derived_t>::Extendible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:600,1
    - Dst: callDestructor
      Src: /src/trafficserver/include/tscore/Extendible.h:601,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: Extendible<Derived_t>::~Extendible()
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - callDestructor
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Extendible<Derived_t>::~Extendible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:611,1
    - Dst: ROUNDUP
      Src: /src/trafficserver/include/tscore/Extendible.h:612,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:613,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:614,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:615,1
    - Dst: callConstructor
      Src: /src/trafficserver/include/tscore/Extendible.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - start_ptr
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 618
    functionName: ext::Extendible<Derived_t>::initFields
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ROUNDUP
    - callConstructor
    - static_cast<uint16_t>
    - ink_assert
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t Extendible<Derived_t>::initFields(uintptr_t start_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:630,1
    - Dst: Derived_t::Extendible<Derived_t>::initFields
      Src: /src/trafficserver/include/tscore/Extendible.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - derived
    - tail_ptr
    argTypes:
    - Derived_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ext::details::initRecurseSuper
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 4
    functionsReached:
    - ext::details::initRecurseSuper
    - Derived_t::Extendible<Derived_t>::initFields
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t initRecurseSuper(Derived_t &derived, uintptr_t tail_ptr /*=
      0*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:630,1
    - Dst: Derived_t::Extendible<Derived_t>::initFields
      Src: /src/trafficserver/include/tscore/Extendible.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - derived
    - tail_ptr
    argTypes:
    - Derived_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ext::details::initRecurseSuper
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 5
    functionsReached:
    - ext::details::initRecurseSuper
    - Derived_t::Extendible<Derived_t>::initFields
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t initRecurseSuper(Derived_t &derived, uintptr_t tail_ptr /*=
      0*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:647,1
    - Dst: ext::details::areFieldsFinalized
      Src: /src/trafficserver/include/tscore/Extendible.h:647,1
    - Dst: ext::sizeOf<Derived_t>
      Src: /src/trafficserver/include/tscore/Extendible.h:650,1
    - Dst: static_cast<Derived_t *>
      Src: /src/trafficserver/include/tscore/Extendible.h:653,1
    - Dst: ats_memalign
      Src: /src/trafficserver/include/tscore/Extendible.h:653,1
    - Dst: std::forward
      Src: /src/trafficserver/include/tscore/Extendible.h:656,1
    - Dst: Derived_t::Derived_t
      Src: /src/trafficserver/include/tscore/Extendible.h:656,1
    - Dst: ext::details::initRecurseSuper
      Src: /src/trafficserver/include/tscore/Extendible.h:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 661
    functionName: ext::create
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ats_memalign
    - std::forward
    - ext::sizeOf<Derived_t>
    - ext::details::areFieldsFinalized
    - static_cast<Derived_t *>
    - Derived_t::Derived_t
    - ext::details::initRecurseSuper
    - ink_assert
    linkageType: ''
    returnType: Derived_t
    signature: 'Derived_t *

      create(Args &&...args)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ext::sizeOf<T>
      Src: /src/trafficserver/include/tscore/Extendible.h:676,1
    - Dst: ext::viewFormat
      Src: /src/trafficserver/include/tscore/Extendible.h:685,1
    - Dst: ext::Extendible::getLocOffset
      Src: /src/trafficserver/include/tscore/Extendible.h:691,1
    - Dst: Extendible*::getBegin
      Src: /src/trafficserver/include/tscore/Extendible.h:693,1
    - Dst: fullSize
      Src: /src/trafficserver/include/tscore/Extendible.h:694,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:696,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:697,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:699,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:700,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:701,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:702,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:703,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:704,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:713,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:714,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:716,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:717,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:718,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:719,1
    - Dst: string
      Src: /src/trafficserver/include/tscore/Extendible.h:720,1
    - Dst: stringstream::str
      Src: /src/trafficserver/include/tscore/Extendible.h:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 723
    functionName: ext::viewFormat
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 2
    functionsReached:
    - Extendible*::getBegin
    - ext::viewFormat
    - string
    - stringstream::str
    - setw
    - ink_assert
    - fullSize
    - typeid
    - ext::sizeOf<T>
    - ext::Extendible::getLocOffset
    linkageType: ''
    returnType: std::string
    signature: std::string viewFormat(T const &t, uintptr_t _base_addr = 0, int _full_size
      = ext::sizeOf<T>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: ext::details::ltrim
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - std::string::find_first_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string ltrim(std::string const &str, const std::string &chars
      = "\t\n\v\f\r ")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/include/tscore/Extendible.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: ext::details::ltrim
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 1
    functionsReached:
    - std::string::find_first_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string ltrim(std::string const &str, const std::string &chars
      = "\t\n\v\f\r ")
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::width
      Src: /src/trafficserver/include/tscore/Extendible.h:741,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: ext::details::ltrim
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: typeid
      Src: /src/trafficserver/include/tscore/Extendible.h:742,1
    - Dst: ext::serialize
      Src: /src/trafficserver/include/tscore/Extendible.h:746,1
    - Dst: max
      Src: /src/trafficserver/include/tscore/Extendible.h:751,1
    - Dst: first::length
      Src: /src/trafficserver/include/tscore/Extendible.h:751,1
    - Dst: auto::fields::begin
      Src: /src/trafficserver/include/tscore/Extendible.h:754,1
    - Dst: auto::fields::end
      Src: /src/trafficserver/include/tscore/Extendible.h:754,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/Extendible.h:757,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:758,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:758,1
    - Dst: auto::serializer
      Src: /src/trafficserver/include/tscore/Extendible.h:759,1
    - Dst: ext::details::FieldPtrGet
      Src: /src/trafficserver/include/tscore/Extendible.h:759,1
    - Dst: setw
      Src: /src/trafficserver/include/tscore/Extendible.h:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - os
    - t
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 765
    functionName: ext::serialize
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 3
    functionsReached:
    - ext::serialize
    - first::length
    - auto::fields::begin
    - ext::details::ltrim
    - setw
    - typeid
    - max
    - ext::details::FieldPtrGet
    - auto::fields::end
    - auto::serializer
    - std::ostream::width
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream &os, T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::width
      Src: /src/trafficserver/include/tscore/Extendible.h:772,1
    - Dst: ext::serialize
      Src: /src/trafficserver/include/tscore/Extendible.h:773,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/include/tscore/Extendible.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 775
    functionName: ext::toString
    functionSourceFile: /src/trafficserver/include/tscore/Extendible.h
    functionUses: 0
    functionsReached:
    - ext::serialize
    - std::stringstream::str
    - std::stringstream::width
    linkageType: ''
    returnType: std::string
    signature: std::string toString(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: operator std::string_view() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(char *ptr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: '&

      Buffer::set(char *ptr, size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::set(char *ptr, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(char *start, char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: '&

      Buffer::reset()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::reset()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: Buffer::operator!=(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!=(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - ConstBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: Buffer::operator!=(ConstBuffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!=(ConstBuffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: Buffer::operator==(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - ConstBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Buffer::operator==(ConstBuffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(ConstBuffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: Buffer::operator!() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: ts::pseudo_bool
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer::operator
    signature: Buffer::operator pseudo_bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: Buffer::operator*() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Buffer::operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: '&

      Buffer::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: ts::Buffer::data
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Buffer::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: ts::Buffer::size
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Buffer::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(char const *ptr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(char const *start, char const *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(Buffer const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: '&

      ConstBuffer::set(char const *ptr, size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::set(char const *ptr, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: '&

      ConstBuffer::set(char const *start, char const *end)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::set(char const *start, char const *end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: '&

      ConstBuffer::reset()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::reset()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: ConstBuffer::operator!=(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!=(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: ConstBuffer::operator!=(Buffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!=(Buffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/TsBuffer.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: ConstBuffer::operator==(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator==(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: '&

      ConstBuffer::operator=(Buffer const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator=(Buffer const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/TsBuffer.h:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: ConstBuffer::operator==(Buffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator==(Buffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: ConstBuffer::operator!() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ts::pseudo_bool
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer::operator
    signature: ConstBuffer::operator pseudo_bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: ConstBuffer::operator*() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ConstBuffer::operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: '&

      ConstBuffer::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: '&

      ConstBuffer::operator+=(size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator+=(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: ts::ConstBuffer::data
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ConstBuffer::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: ConstBuffer::operator[](int n) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ConstBuffer::operator[](int n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: ts::ConstBuffer::size
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ConstBuffer::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: ts::ConstBuffer::contains
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::contains(char const *p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::contains
      Src: /src/trafficserver/include/tscore/TsBuffer.h:465,1
    - Dst: self::set
      Src: /src/trafficserver/include/tscore/TsBuffer.h:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: ts::ConstBuffer::splitOn
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - self::set
    - ts::ConstBuffer::contains
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::splitOn(char const *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/include/tscore/TsBuffer.h:477,1
    - Dst: memchr
      Src: /src/trafficserver/include/tscore/TsBuffer.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: ts::ConstBuffer::find
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - static_cast<char const *>
    - memchr
    linkageType: ''
    returnType: char
    signature: 'char *

      ConstBuffer::find(char c) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::splitOn
      Src: /src/trafficserver/include/tscore/TsBuffer.h:483,1
    - Dst: ts::ConstBuffer::find
      Src: /src/trafficserver/include/tscore/TsBuffer.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: ts::ConstBuffer::splitOn
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 1
    functionsReached:
    - ts::ConstBuffer::find
    - ts::ConstBuffer::splitOn
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::splitOn(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::contains
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    - Dst: self
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    - Dst: self
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: ts::ConstBuffer::after
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - self
    - ts::ConstBuffer::contains
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::after(char const *p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::after
      Src: /src/trafficserver/include/tscore/TsBuffer.h:494,1
    - Dst: ts::ConstBuffer::find
      Src: /src/trafficserver/include/tscore/TsBuffer.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: ts::ConstBuffer::after
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 1
    functionsReached:
    - ts::ConstBuffer::find
    - ts::ConstBuffer::after
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::after(char c) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ConstBuffer::contains'
      Src: /src/trafficserver/include/tscore/TsBuffer.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: '&

      ConstBuffer::clip(char const *p)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - '&

      ConstBuffer::contains'
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::clip(char const *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: operator std::string_view() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(char *ptr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: '&

      Buffer::set(char *ptr, size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::set(char *ptr, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: ts::Buffer::Buffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(char *start, char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: '&

      Buffer::reset()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::reset()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: Buffer::operator!=(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!=(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - ConstBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: Buffer::operator!=(ConstBuffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!=(ConstBuffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: Buffer::operator==(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - ConstBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Buffer::operator==(ConstBuffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(ConstBuffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: Buffer::operator!() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: ts::pseudo_bool
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer::operator
    signature: Buffer::operator pseudo_bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: Buffer::operator*() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Buffer::operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: '&

      Buffer::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Buffer
    signature: 'Buffer &

      Buffer::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: ts::Buffer::data
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Buffer::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: ts::Buffer::size
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Buffer::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(char const *ptr, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(char const *start, char const *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: ts::ConstBuffer::ConstBuffer
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstBuffer::ConstBuffer(Buffer const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: '&

      ConstBuffer::set(char const *ptr, size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::set(char const *ptr, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: '&

      ConstBuffer::set(char const *start, char const *end)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::set(char const *start, char const *end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: '&

      ConstBuffer::reset()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::reset()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: ConstBuffer::operator!=(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!=(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: ConstBuffer::operator!=(Buffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!=(Buffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/TsBuffer.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: ConstBuffer::operator==(self const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator==(self const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: '&

      ConstBuffer::operator=(Buffer const &that)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator=(Buffer const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/TsBuffer.h:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: ConstBuffer::operator==(Buffer const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator==(Buffer const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: ConstBuffer::operator!() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ts::pseudo_bool
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer::operator
    signature: ConstBuffer::operator pseudo_bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: ConstBuffer::operator*() const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ConstBuffer::operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: '&

      ConstBuffer::operator++()'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: '&

      ConstBuffer::operator+=(size_t n)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::operator+=(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: ts::ConstBuffer::data
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ConstBuffer::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: ConstBuffer::operator[](int n) const
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ConstBuffer::operator[](int n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: ts::ConstBuffer::size
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ConstBuffer::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: ts::ConstBuffer::contains
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConstBuffer::contains(char const *p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::contains
      Src: /src/trafficserver/include/tscore/TsBuffer.h:465,1
    - Dst: self::set
      Src: /src/trafficserver/include/tscore/TsBuffer.h:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: ts::ConstBuffer::splitOn
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 1
    functionsReached:
    - self::set
    - ts::ConstBuffer::contains
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::splitOn(char const *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/include/tscore/TsBuffer.h:477,1
    - Dst: memchr
      Src: /src/trafficserver/include/tscore/TsBuffer.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: ts::ConstBuffer::find
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 2
    functionsReached:
    - static_cast<char const *>
    - memchr
    linkageType: ''
    returnType: char
    signature: 'char *

      ConstBuffer::find(char c) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::splitOn
      Src: /src/trafficserver/include/tscore/TsBuffer.h:483,1
    - Dst: ts::ConstBuffer::find
      Src: /src/trafficserver/include/tscore/TsBuffer.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: ts::ConstBuffer::splitOn
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 2
    functionsReached:
    - ts::ConstBuffer::find
    - ts::ConstBuffer::splitOn
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::splitOn(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::contains
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    - Dst: self
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    - Dst: self
      Src: /src/trafficserver/include/tscore/TsBuffer.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: ts::ConstBuffer::after
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 1
    functionsReached:
    - self
    - ts::ConstBuffer::contains
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::after(char const *p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConstBuffer::after
      Src: /src/trafficserver/include/tscore/TsBuffer.h:494,1
    - Dst: ts::ConstBuffer::find
      Src: /src/trafficserver/include/tscore/TsBuffer.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: ts::ConstBuffer::after
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 2
    functionsReached:
    - ts::ConstBuffer::find
    - ts::ConstBuffer::after
    linkageType: ''
    returnType: ConstBuffer
    signature: ConstBuffer ConstBuffer::after(char c) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ConstBuffer::contains'
      Src: /src/trafficserver/include/tscore/TsBuffer.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: '&

      ConstBuffer::clip(char const *p)'
    functionSourceFile: /src/trafficserver/include/tscore/TsBuffer.h
    functionUses: 0
    functionsReached:
    - '&

      ConstBuffer::contains'
    linkageType: ''
    returnType: ConstBuffer
    signature: 'ConstBuffer &

      ConstBuffer::clip(char const *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Tokenizer::setMaxTokens
    functionSourceFile: /src/trafficserver/include/tscore/Tokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMaxTokens(unsigned max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Tokenizer::getMaxTokens
    functionSourceFile: /src/trafficserver/include/tscore/Tokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned getMaxTokens() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: '&operator=(const Tokenizer &)'
    functionSourceFile: /src/trafficserver/include/tscore/Tokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tokenizer
    signature: Tokenizer &operator=(const Tokenizer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Tokenizer::Tokenizer
    functionSourceFile: /src/trafficserver/include/tscore/Tokenizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tokenizer(const Tokenizer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - test
    - status
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TestBox
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBox(RegressionTest *test, int *status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - test
    - status
    - rstatus
    argTypes:
    - RegressionTest*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: TestBox
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBox(RegressionTest *test, int *status, int rstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: "&\n  operator=(int status)"
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(int status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/include/tscore/TestBox.h:64,1
    - Dst: vsnprintf
      Src: /src/trafficserver/include/tscore/TestBox.h:65,1
    - Dst: va_end
      Src: /src/trafficserver/include/tscore/TestBox.h:66,1
    - Dst: rprintf
      Src: /src/trafficserver/include/tscore/TestBox.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - result
    - fmt
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TestBox::check
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 12
    functionsReached:
    - va_end
    - rprintf
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: bool
    signature: bool TestBox::check(bool result, char const *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - test
    - status
    argTypes:
    - RegressionTest*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TestBox
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBox(RegressionTest *test, int *status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - test
    - status
    - rstatus
    argTypes:
    - RegressionTest*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: TestBox
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBox(RegressionTest *test, int *status, int rstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: "&\n  operator=(int status)"
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(int status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/include/tscore/TestBox.h:64,1
    - Dst: vsnprintf
      Src: /src/trafficserver/include/tscore/TestBox.h:65,1
    - Dst: va_end
      Src: /src/trafficserver/include/tscore/TestBox.h:66,1
    - Dst: rprintf
      Src: /src/trafficserver/include/tscore/TestBox.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - result
    - fmt
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TestBox::check
    functionSourceFile: /src/trafficserver/include/tscore/TestBox.h
    functionUses: 12
    functionsReached:
    - va_end
    - rprintf
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: bool
    signature: bool TestBox::check(bool result, char const *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:99,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - p1
    - l1
    - p2
    - l2
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: ptr_len_casecmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 2
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: int
    signature: int ptr_len_casecmp(const char *p1, int l1, const char *p2, int l2)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - p1
    - l1
    - str
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: ptr_len_str
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ptr_len_str(const char *p1, int l1, const char *str)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - p1
    - l1
    - str
    - n
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: ptr_len_ncmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ptr_len_ncmp(const char *p1, int l1, const char *str, int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:208,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - p1
    - l1
    - str
    - n
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: ptr_len_ncasecmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 0
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: int
    signature: int ptr_len_ncasecmp(const char *p1, int l1, const char *str, int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:249,1
    - Dst: ParseRules::ink_tolower
      Src: /src/trafficserver/include/tscore/ink_string.h:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - p1
    - l1
    - str
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: ptr_len_casecmp
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 2
    functionsReached:
    - ParseRules::ink_tolower
    linkageType: ''
    returnType: int
    signature: int ptr_len_casecmp(const char *p1, int l1, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/include/tscore/ink_string.h:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p1
    - l1
    - str
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 297
    functionName: ptr_len_pbrk
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      ptr_len_pbrk(const char *p1, int l1, const char *str)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_string.h:305,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_string.h:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - val
    - buf
    - buf_len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 344
    functionName: ink_small_itoa
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int ink_small_itoa(int val, char *buf, int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_string.h:350,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/include/tscore/ink_string.h:355,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_string.h:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - val
    - buf
    - buf_len
    argTypes:
    - int32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: ink_fast_itoa
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - snprintf
    - ink_small_itoa
    linkageType: ''
    returnType: int
    signature: int ink_fast_itoa(int32_t val, char *buf, int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_string.h:362,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/include/tscore/ink_string.h:367,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_string.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - val
    - buf
    - buf_len
    argTypes:
    - uint32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: ink_fast_uitoa
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - snprintf
    - ink_small_itoa
    linkageType: ''
    returnType: int
    signature: int ink_fast_uitoa(uint32_t val, char *buf, int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/tscore/ink_string.h:374,1
    - Dst: ink_small_itoa
      Src: /src/trafficserver/include/tscore/ink_string.h:379,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/tscore/ink_string.h:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - val
    - buf
    - buf_len
    argTypes:
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: ink_fast_ltoa
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - snprintf
    - ink_small_itoa
    linkageType: ''
    returnType: int
    signature: int ink_fast_ltoa(int64_t val, char *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    - Dst: strncasecmp
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: IsNoCasePrefixOf
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 1
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool IsNoCasePrefixOf(std::string_view const &lhs, std::string_view
      const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    - Dst: memcmp
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/tscore/ink_string.h:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: IsPrefixOf
    functionSourceFile: /src/trafficserver/include/tscore/ink_string.h
    functionUses: 1
    functionsReached:
    - memcmp
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool IsPrefixOf(std::string_view const &lhs, std::string_view const
      &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: likely
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 85
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: unlikely
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: likely
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 85
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: unlikely
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt_index
    - ','
    - arg_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: TS_PRINTFLIKE
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_PRINTFLIKE(fmt_index, arg_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: TS_NONNULL
    functionSourceFile: /src/trafficserver/include/tscore/ink_apidefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_NONNULL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/trafficserver/include/tscore/HashFNV.h:40,1
    - Dst: ATSHash::nullxfrm
      Src: /src/trafficserver/include/tscore/HashFNV.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: update
    functionSourceFile: /src/trafficserver/include/tscore/HashFNV.h
    functionUses: 50
    functionsReached:
    - ATSHash::nullxfrm
    - update
    linkageType: ''
    returnType: void
    signature: void update(const void *data, size_t len) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfrm
      Src: /src/trafficserver/include/tscore/HashFNV.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - len
    - xfrm
    argTypes:
    - void*
    - size_t
    - Transform
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: ATSHash32FNV1a::update
    functionSourceFile: /src/trafficserver/include/tscore/HashFNV.h
    functionUses: 3
    functionsReached:
    - xfrm
    linkageType: ''
    returnType: void
    signature: void ATSHash32FNV1a::update(const void *data, size_t len, Transform
      xfrm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/trafficserver/include/tscore/HashFNV.h:71,1
    - Dst: ATSHash::nullxfrm
      Src: /src/trafficserver/include/tscore/HashFNV.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: update
    functionSourceFile: /src/trafficserver/include/tscore/HashFNV.h
    functionUses: 51
    functionsReached:
    - ATSHash::nullxfrm
    - update
    linkageType: ''
    returnType: void
    signature: void update(const void *data, size_t len) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfrm
      Src: /src/trafficserver/include/tscore/HashFNV.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - len
    - xfrm
    argTypes:
    - void*
    - size_t
    - Transform
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: ATSHash64FNV1a::update
    functionSourceFile: /src/trafficserver/include/tscore/HashFNV.h
    functionUses: 1
    functionsReached:
    - xfrm
    linkageType: ''
    returnType: void
    signature: void ATSHash64FNV1a::update(const void *data, size_t len, Transform
      xfrm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/tscore/CryptoHash.h:49,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ts::CryptoHash
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void CryptoHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ts::CryptoHash
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptoHash(CryptoHash const &that)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/CryptoHash.h:58,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: "&\n  operator=(CryptoHash const &that)"
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<void *>
    linkageType: ''
    returnType: CryptoHash
    signature: "CryptoHash &\n  operator=(CryptoHash const &that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/include/tscore/CryptoHash.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: operator==(CryptoHash const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(CryptoHash const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: operator!=(CryptoHash const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(CryptoHash const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: ts::fold
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: operator[](int i) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator[](int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ts::slice64
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t slice64(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ts::slice32
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t slice32(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/include/tscore/CryptoHash.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ts::is_zero
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::memcmp
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/CryptoHash.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: ts::clear
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 4
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Hasher()
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Hasher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::Hasher::finalize
      Src: /src/trafficserver/include/tscore/CryptoHash.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: CryptoContext::Hasher::finalize(CryptoHash *hash)
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - CryptoContext::Hasher::finalize
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::Hasher::finalize(CryptoHash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: ts::CryptoContext::update
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Hasher *>
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::update(void const *data, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: ts::CryptoContext::finalize
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Hasher *>
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::finalize(CryptoHash &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::CryptoContext::update
      Src: /src/trafficserver/include/tscore/CryptoHash.h:202,1
    - Dst: ts::CryptoContext::finalize
      Src: /src/trafficserver/include/tscore/CryptoHash.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - data
    - length
    argTypes:
    - CryptoHash
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ts::CryptoContext::hash_immediate
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - ts::CryptoContext::finalize
    - ts::CryptoContext::update
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::hash_immediate(CryptoHash &hash, void const *data,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::destroy_at
      Src: /src/trafficserver/include/tscore/CryptoHash.h:207,1
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: CryptoContext::~CryptoContext()
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Hasher *>
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void CryptoContext::~CryptoContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/tscore/CryptoHash.h:49,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ts::CryptoHash
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void CryptoHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ts::CryptoHash
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptoHash(CryptoHash const &that)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/tscore/CryptoHash.h:58,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: "&\n  operator=(CryptoHash const &that)"
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<void *>
    linkageType: ''
    returnType: CryptoHash
    signature: "CryptoHash &\n  operator=(CryptoHash const &that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/include/tscore/CryptoHash.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: operator==(CryptoHash const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(CryptoHash const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: operator!=(CryptoHash const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(CryptoHash const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: ts::fold
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: operator[](int i) const
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator[](int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ts::slice64
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t slice64(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ts::slice32
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t slice32(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/include/tscore/CryptoHash.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ts::is_zero
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::memcmp
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/tscore/CryptoHash.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: ts::clear
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 4
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Hasher()
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Hasher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::Hasher::finalize
      Src: /src/trafficserver/include/tscore/CryptoHash.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: CryptoContext::Hasher::finalize(CryptoHash *hash)
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - CryptoContext::Hasher::finalize
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::Hasher::finalize(CryptoHash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: ts::CryptoContext::update
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<Hasher *>
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::update(void const *data, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: ts::CryptoContext::finalize
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<Hasher *>
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::finalize(CryptoHash &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::CryptoContext::update
      Src: /src/trafficserver/include/tscore/CryptoHash.h:202,1
    - Dst: ts::CryptoContext::finalize
      Src: /src/trafficserver/include/tscore/CryptoHash.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - data
    - length
    argTypes:
    - CryptoHash
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ts::CryptoContext::hash_immediate
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - ts::CryptoContext::finalize
    - ts::CryptoContext::update
    linkageType: ''
    returnType: bool
    signature: bool CryptoContext::hash_immediate(CryptoHash &hash, void const *data,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::destroy_at
      Src: /src/trafficserver/include/tscore/CryptoHash.h:207,1
    - Dst: reinterpret_cast<Hasher *>
      Src: /src/trafficserver/include/tscore/CryptoHash.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: CryptoContext::~CryptoContext()
    functionSourceFile: /src/trafficserver/include/tscore/CryptoHash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Hasher *>
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void CryptoContext::~CryptoContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ink_assert
    functionSourceFile: /src/trafficserver/include/tscore/ink_assert.h
    functionUses: 1022
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ink_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ink_assert
    functionSourceFile: /src/trafficserver/include/tscore/ink_assert.h
    functionUses: 1022
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ink_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: ink_release_assert
    functionSourceFile: /src/trafficserver/include/tscore/ink_assert.h
    functionUses: 339
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ink_release_assert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_assert.h:69,1
    - Dst: dynamic_cast<Derived *>
      Src: /src/trafficserver/include/tscore/ink_assert.h:70,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/tscore/ink_assert.h:71,1
    - Dst: static_cast<Derived *>
      Src: /src/trafficserver/include/tscore/ink_assert.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - Base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: cast_to_derived
    functionSourceFile: /src/trafficserver/include/tscore/ink_assert.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<Derived *>
    - static_cast<Derived *>
    - ink_assert
    linkageType: ''
    returnType: Derived
    signature: 'Derived *

      cast_to_derived(Base *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Derived &>
      Src: /src/trafficserver/include/tscore/ink_assert.h:87,1
    - Dst: static_cast<Derived &>
      Src: /src/trafficserver/include/tscore/ink_assert.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - Base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: cast_to_derived
    functionSourceFile: /src/trafficserver/include/tscore/ink_assert.h
    functionUses: 0
    functionsReached:
    - static_cast<Derived &>
    - dynamic_cast<Derived &>
    linkageType: ''
    returnType: Derived
    signature: 'Derived &

      cast_to_derived(Base &b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: SLink::SLink
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SLink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: SLINK
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLINK(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: SLINKM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLINKM(_c, _m, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Link
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Link()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: LINK
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINK(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: LINKM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINKM(_c, _m, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: LINK_FORWARD_DECLARATION
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINK_FORWARD_DECLARATION(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: LINK_DEFINITION
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINK_DEFINITION(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: SLL::empty
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: SLL::clear
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: L::next_link
      Src: /src/trafficserver/include/tscore/List.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: "*&\n  next(C *e)"
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - L::next_link
    linkageType: ''
    returnType: C
    signature: "C *&\n  next(C *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: L::next_link
      Src: /src/trafficserver/include/tscore/List.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: SLL::next
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - L::next_link
    linkageType: ''
    returnType: C
    signature: "C *\n  next(const C *e) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: SLL::SLL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SLL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: SLL::SLL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SLL(C *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: SList
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SList(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _ml
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: SListM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SListM(_c, _m, _ml, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _c
    - ','
    - _p
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: forl_LL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: forl_LL(_c, _p, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: SLL<C, L>::push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: void
    signature: void SLL<C, L>::push(C *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:213,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: SLL<C, L>::pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: C
    signature: 'C *

      SLL<C, L>::pop()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: empty
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 304
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:236,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: in
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 388
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool in(C *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: clear
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 207
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<C *&>
      Src: /src/trafficserver/include/tscore/List.h:246,1
    - Dst: L::next_link
      Src: /src/trafficserver/include/tscore/List.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: "*&\n  next(C *e)"
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - L::next_link
    - reinterpret_cast<C *&>
    linkageType: ''
    returnType: C
    signature: "C *&\n  next(C *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<C *&>
      Src: /src/trafficserver/include/tscore/List.h:251,1
    - Dst: L::prev_link
      Src: /src/trafficserver/include/tscore/List.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: "*&\n  prev(C *e)"
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - L::prev_link
    - reinterpret_cast<C *&>
    linkageType: ''
    returnType: C
    signature: "C *&\n  prev(C *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: L::next_link
      Src: /src/trafficserver/include/tscore/List.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: next
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 80
    functionsReached:
    - L::next_link
    linkageType: ''
    returnType: C
    signature: "C *\n  next(const C *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: L::prev_link
      Src: /src/trafficserver/include/tscore/List.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: prev
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 9
    functionsReached:
    - L::prev_link
    linkageType: ''
    returnType: C
    signature: "C *\n  prev(const C *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: DLL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DLL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: iterator::iterator
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - spot
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: iterator::iterator
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(C *spot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: const_iterator::const_iterator
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - spot
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: const_iterator::const_iterator
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(iterator spot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - spot
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: const_iterator::const_iterator
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(C *spot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: DList
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DList(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _ml
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: DListM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DListM(_c, _m, _ml, _l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:361,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: DLL<C, L>::push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: void
    signature: void DLL<C, L>::push(C *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:375,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:377,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:378,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:378,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:378,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:380,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:381,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:381,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:381,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:383,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: DLL<C, L>::remove
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: void
    signature: void DLL<C, L>::remove(C *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:393,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:395,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 402
    functionName: DLL<C, L>::pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: C
    signature: 'C *

      DLL<C, L>::pop()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DLL<C, L>::push
      Src: /src/trafficserver/include/tscore/List.h:409,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:412,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:413,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:413,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:414,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:415,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:416,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - e
    - after
    argTypes:
    - C*
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 418
    functionName: DLL<C, L>::insert
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    - prev
    - DLL<C, L>::push
    linkageType: ''
    returnType: void
    signature: void DLL<C, L>::insert(C *e, C *after)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: DLL<C, L>::begin
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::begin() -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: DLL<C, L>::end
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::end() -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: DLL<C, L>::begin
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: DLL<C, L>::end
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: '&

      DLL<C, L>::iterator::operator*()'
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: 'C &

      DLL<C, L>::iterator::operator*()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: '*

      DLL<C, L>::iterator::operator->()'
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: 'C *

      DLL<C, L>::iterator::operator->()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: DLL<C, L>::iterator::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::iterator::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: DLL<C, L>::iterator::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::iterator::operator++(int) -> self_type
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - DLL::iterator::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: DLL<C, L>::iterator::operator==(DLL::iterator::self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DLL<C, L>::iterator::operator==(DLL::iterator::self_type const
      &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - DLL::iterator::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: DLL<C, L>::iterator::operator!=(DLL::iterator::self_type const &that)
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DLL<C, L>::iterator::operator!=(DLL::iterator::self_type const
      &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: '&

      DLL<C, L>::const_iterator::operator*()'
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: 'C &

      DLL<C, L>::const_iterator::operator*()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: '*

      DLL<C, L>::const_iterator::operator->()'
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: 'C *

      DLL<C, L>::const_iterator::operator->()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: DLL<C, L>::const_iterator::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::const_iterator::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: DLL<C, L>::const_iterator::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto DLL<C, L>::const_iterator::operator++(int) -> self_type
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - DLL::const_iterator::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: DLL<C, L>::const_iterator::operator==(DLL::const_iterator::self_type
      const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DLL<C, L>::const_iterator::operator==(DLL::const_iterator::self_type
      const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - DLL::const_iterator::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: DLL<C, L>::const_iterator::operator!=(DLL::const_iterator::self_type
      const &that) const
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DLL<C, L>::const_iterator::operator!=(DLL::const_iterator::self_type
      const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: Queue::clear
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: Queue::empty
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Queue::Queue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: Que
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Que(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _mf
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: QueM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QueM(_c, _m, _mf, _f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DLL<C, L>::push
      Src: /src/trafficserver/include/tscore/List.h:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: Queue<C, L>::push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - DLL<C, L>::push
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::push(C *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DLL<C, L>::pop
      Src: /src/trafficserver/include/tscore/List.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: Queue<C, L>::pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - DLL<C, L>::pop
    linkageType: ''
    returnType: C
    signature: 'C *

      Queue<C, L>::pop()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DLL<C, L>::insert
      Src: /src/trafficserver/include/tscore/List.h:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - e
    - after
    argTypes:
    - C*
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: Queue<C, L>::insert
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - DLL<C, L>::insert
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::insert(C *e, C *after)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::prev
      Src: /src/trafficserver/include/tscore/List.h:610,1
    - Dst: DLL<C, L>::remove
      Src: /src/trafficserver/include/tscore/List.h:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: Queue<C, L>::remove
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - DLL<C, L>::remove
    - Queue<C, L>::prev
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::remove(C *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::next
      Src: /src/trafficserver/include/tscore/List.h:621,1
    - Dst: Queue<C, L>::next
      Src: /src/trafficserver/include/tscore/List.h:622,1
    - Dst: Queue<C, L>::next
      Src: /src/trafficserver/include/tscore/List.h:630,1
    - Dst: Queue<C, L>::prev
      Src: /src/trafficserver/include/tscore/List.h:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - q
    argTypes:
    - DLL<C, L>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 635
    functionName: Queue<C, L>::append
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::prev
    - Queue<C, L>::next
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::append(DLL<C, L> q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::next
      Src: /src/trafficserver/include/tscore/List.h:646,1
    - Dst: Queue<C, L>::prev
      Src: /src/trafficserver/include/tscore/List.h:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - q
    argTypes:
    - Queue<C, L>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 651
    functionName: Queue<C, L>::append
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::prev
    - Queue<C, L>::next
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::append(Queue<C, L> q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::insert
      Src: /src/trafficserver/include/tscore/List.h:658,1
    - Dst: Queue<C, L>::push
      Src: /src/trafficserver/include/tscore/List.h:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: Queue<C, L>::enqueue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::insert
    - Queue<C, L>::push
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::enqueue(C *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::in
      Src: /src/trafficserver/include/tscore/List.h:668,1
    - Dst: Queue<C, L>::enqueue
      Src: /src/trafficserver/include/tscore/List.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: Queue<C, L>::in_or_enqueue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::in
    - Queue<C, L>::enqueue
    linkageType: ''
    returnType: void
    signature: void Queue<C, L>::in_or_enqueue(C *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::pop
      Src: /src/trafficserver/include/tscore/List.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Queue<C, L>::dequeue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::pop
    linkageType: ''
    returnType: C
    signature: 'C *

      Queue<C, L>::dequeue()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:697,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:699,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:710,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:712,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:713,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:715,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:719,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:720,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:722,1
    - Dst: prev
      Src: /src/trafficserver/include/tscore/List.h:725,1
    - Dst: next
      Src: /src/trafficserver/include/tscore/List.h:726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 733
    functionName: sort
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 24
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: void
    signature: void sort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: SortableQue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SortableQue(_c, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: CountQueue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CountQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: CountQue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CountQue(_c, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _mf
    - ','
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: CountQueM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CountQueM(_c, _m, _mf, _f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::push
      Src: /src/trafficserver/include/tscore/List.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 762
    functionName: CountQueue<C, L>::push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::push
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::push(C *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::pop
      Src: /src/trafficserver/include/tscore/List.h:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 773
    functionName: CountQueue<C, L>::pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::pop
    linkageType: ''
    returnType: C
    signature: 'C *

      CountQueue<C, L>::pop()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::remove
      Src: /src/trafficserver/include/tscore/List.h:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: CountQueue<C, L>::remove
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::remove
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::remove(C *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::enqueue
      Src: /src/trafficserver/include/tscore/List.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: CountQueue<C, L>::enqueue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::enqueue
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::enqueue(C *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountQueue<C, L>::pop
      Src: /src/trafficserver/include/tscore/List.h:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: CountQueue<C, L>::dequeue
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - CountQueue<C, L>::pop
    linkageType: ''
    returnType: C
    signature: 'C *

      CountQueue<C, L>::dequeue()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::insert
      Src: /src/trafficserver/include/tscore/List.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - after
    argTypes:
    - C*
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 804
    functionName: CountQueue<C, L>::insert
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::insert
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::insert(C *e, C *after)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Queue<C, L>::append
      Src: /src/trafficserver/include/tscore/List.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - CountQueue<C, L>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 812
    functionName: CountQueue<C, L>::append
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - Queue<C, L>::append
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::append(CountQueue<C, L> &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountQueue<C, L>::append
      Src: /src/trafficserver/include/tscore/List.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - CountQueue<C, L>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 821
    functionName: CountQueue<C, L>::append_clear
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - CountQueue<C, L>::append
    linkageType: ''
    returnType: void
    signature: void CountQueue<C, L>::append_clear(CountQueue<C, L> &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - acar
    - acdr
    argTypes:
    - C
    - ConsCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 830
    functionName: ConsCell
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsCell(C acar, ConsCell *acdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acar
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 831
    functionName: ConsCell
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsCell(C acar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acdr
    argTypes:
    - ConsCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: ConsCell
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsCell(ConsCell *acdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_data_alloc
      Src: /src/trafficserver/include/tscore/List.h:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: "*\n  operator new(size_t size)"
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - my_data_alloc
    linkageType: ''
    returnType: void
    signature: "void *\n  operator new(size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_free
      Src: /src/trafficserver/include/tscore/List.h:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: operator delete(void *p, size_t /* size ATS_UNUSED */)
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - my_free
    linkageType: ''
    returnType: void
    signature: void operator delete(void *p, size_t /* size ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 855
    functionName: first
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C first()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/trafficserver/include/tscore/List.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: car
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - first
    linkageType: ''
    returnType: C
    signature: C car()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: rest
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConsCell<C, A>
    signature: "ConsCell<C, A> *\n  rest()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rest
      Src: /src/trafficserver/include/tscore/List.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: cdr
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - rest
    linkageType: ''
    returnType: ConsCell<C, A>
    signature: "ConsCell<C, A> *\n  cdr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 55
    functionsReached:
    - ConsCell<C, A>::ConsCell<C, A>
    linkageType: ''
    returnType: void
    signature: void push(C a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 55
    functionsReached:
    - ConsCell<C, A>::ConsCell<C, A>
    linkageType: ''
    returnType: void
    signature: void push()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/trafficserver/include/tscore/List.h:888,1
    - Dst: cdr
      Src: /src/trafficserver/include/tscore/List.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 34
    functionsReached:
    - cdr
    - car
    linkageType: ''
    returnType: C
    signature: C pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: clear
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 207
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acar
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: List
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 35
    functionsReached:
    - ConsCell<C, A>::ConsCell<C, A>
    linkageType: ''
    returnType: void
    signature: void List(C acar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:899,1
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - C
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 899
    functionName: List
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 35
    functionsReached:
    - ConsCell<C, A>::ConsCell<C, A>
    linkageType: ''
    returnType: void
    signature: void List(C a, C b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:900,1
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:900,1
    - Dst: ConsCell<C, A>::ConsCell<C, A>
      Src: /src/trafficserver/include/tscore/List.h:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - C
    - C
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 900
    functionName: List
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 35
    functionsReached:
    - ConsCell<C, A>::ConsCell<C, A>
    linkageType: ''
    returnType: void
    signature: void List(C a, C b, C c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 901
    functionName: List
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void List()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _c
    - ','
    - _p
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: forc_List
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: forc_List(_c, _p, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 918
    functionName: List<C, A>::reverse
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void List<C, A>::reverse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_push
      Src: /src/trafficserver/include/tscore/List.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 929
    functionName: push
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 56
    functionsReached:
    - ink_atomiclist_push
    linkageType: ''
    returnType: void
    signature: void push(C *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_pop
      Src: /src/trafficserver/include/tscore/List.h:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 934
    functionName: pop
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 35
    functionsReached:
    - ink_atomiclist_pop
    linkageType: ''
    returnType: C
    signature: "C *\n  pop()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_popall
      Src: /src/trafficserver/include/tscore/List.h:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: popall
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 13
    functionsReached:
    - ink_atomiclist_popall
    linkageType: ''
    returnType: C
    signature: "C *\n  popall()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_ATOMICLIST_EMPTY
      Src: /src/trafficserver/include/tscore/List.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: empty
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 304
    functionsReached:
    - INK_ATOMICLIST_EMPTY
    linkageType: ''
    returnType: bool
    signature: bool empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_remove
      Src: /src/trafficserver/include/tscore/List.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 956
    functionName: remove
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 91
    functionsReached:
    - ink_atomiclist_remove
    linkageType: ''
    returnType: C
    signature: "C *\n  remove(C *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_PTR
      Src: /src/trafficserver/include/tscore/List.h:960,1
    - Dst: FREELIST_POINTER
      Src: /src/trafficserver/include/tscore/List.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 961
    functionName: head
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 22
    functionsReached:
    - FREELIST_POINTER
    - TO_PTR
    linkageType: ''
    returnType: C
    signature: "C *\n  head()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_PTR
      Src: /src/trafficserver/include/tscore/List.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 966
    functionName: next
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 89
    functionsReached:
    - TO_PTR
    linkageType: ''
    returnType: C
    signature: "C *\n  next(C *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 974
    functionName: ASLL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASLL(_c, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _c
    - ','
    - _m
    - ','
    - _ml
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 975
    functionName: ASLLM
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASLLM(_c, _m, _ml, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomiclist_init
      Src: /src/trafficserver/include/tscore/List.h:980,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/include/tscore/List.h:980,1
    - Dst: L::next_link
      Src: /src/trafficserver/include/tscore/List.h:980,1
    - Dst: reinterpret_cast<C *>
      Src: /src/trafficserver/include/tscore/List.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 981
    functionName: AtomicSLL<C, L>::AtomicSLL
    functionSourceFile: /src/trafficserver/include/tscore/List.h
    functionUses: 0
    functionsReached:
    - L::next_link
    - reinterpret_cast<C *>
    - reinterpret_cast<uintptr_t>
    - ink_atomiclist_init
    linkageType: ''
    returnType: void
    signature: void AtomicSLL<C, L>::AtomicSLL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ats_base64_encode_dstlen
    functionSourceFile: /src/trafficserver/include/tscore/ink_base64.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ats_base64_encode_dstlen(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ats_base64_decode_dstlen
    functionSourceFile: /src/trafficserver/include/tscore/ink_base64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ats_base64_decode_dstlen(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CacheInfo
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_destroy_func
      Src: /src/trafficserver/include/api/InkAPIInternal.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~INKConfigImpl() override
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 0
    functionsReached:
    - m_destroy_func
    linkageType: ''
    returnType: void
    signature: void ~INKConfigImpl() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INKContInternal*::mutex::get
      Src: /src/trafficserver/include/api/InkAPIInternal.h:112,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/api/InkAPIInternal.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contp
    argTypes:
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ConfigUpdateCallback::ConfigUpdateCallback
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    - INKContInternal*::mutex::get
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateCallback(INKContInternal *contp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/include/api/InkAPIInternal.h:121,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/api/InkAPIInternal.h:121,1
    - Dst: is_locked
      Src: /src/trafficserver/include/api/InkAPIInternal.h:122,1
    - Dst: schedule_in
      Src: /src/trafficserver/include/api/InkAPIInternal.h:123,1
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/api/InkAPIInternal.h:123,1
    - Dst: handleEvent
      Src: /src/trafficserver/include/api/InkAPIInternal.h:125,1
    - Dst: handleEvent
      Src: /src/trafficserver/include/api/InkAPIInternal.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: ConfigUpdateCallback::event_handler
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 0
    functionsReached:
    - handleEvent
    - is_locked
    - schedule_in
    - HRTIME_MSECONDS
    - MUTEX_TRY_LOCK
    - this_ethread
    linkageType: ''
    returnType: int
    signature: int event_handler(int, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: HttpHookState::HttpHookState
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHookState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: HttpHookState::id
    functionSourceFile: /src/trafficserver/include/api/InkAPIInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID HttpHookState::id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: APIHooks::is_empty
    functionSourceFile: /src/trafficserver/include/api/APIHooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool APIHooks::is_empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: FeatureAPIHooks<ID, N>::FeatureAPIHooks
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FeatureAPIHooks<ID, N>::FeatureAPIHooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureAPIHooks<ID, N>::clear
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: FeatureAPIHooks<ID, N>::~FeatureAPIHooks()
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 0
    functionsReached:
    - FeatureAPIHooks<ID, N>::clear
    linkageType: ''
    returnType: void
    signature: void FeatureAPIHooks<ID, N>::~FeatureAPIHooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:101,1
    - Dst: FeatureAPIHooks<ID, N>::clear
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: FeatureAPIHooks<ID, N>::clear
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 2
    functionsReached:
    - FeatureAPIHooks<ID, N>::clear
    - is_empty
    linkageType: ''
    returnType: void
    signature: void FeatureAPIHooks<ID, N>::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeatureAPIHooks<ID, N>::is_valid
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:113,1
    - Dst: FeatureAPIHooks<ID, N>::append
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - cont
    argTypes:
    - ID
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: FeatureAPIHooks<ID, N>::append
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 1
    functionsReached:
    - FeatureAPIHooks<ID, N>::is_valid
    - FeatureAPIHooks<ID, N>::append
    linkageType: ''
    returnType: void
    signature: void FeatureAPIHooks<ID, N>::append(ID id, INKContInternal *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:123,1
    - Dst: FeatureAPIHooks<ID, N>::is_valid
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:123,1
    - Dst: head
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: FeatureAPIHooks<ID, N>::get
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 0
    functionsReached:
    - FeatureAPIHooks<ID, N>::is_valid
    - head
    - likely
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      FeatureAPIHooks<ID, N>::get(ID id) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:130,1
    - Dst: is_valid
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '*

      FeatureAPIHooks<ID, N>::operator[](ID id) const'
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 0
    functionsReached:
    - is_valid
    - likely
    linkageType: ''
    returnType: APIHooks
    signature: 'APIHooks *

      FeatureAPIHooks<ID, N>::operator[](ID id) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:137,1
    - Dst: FeatureAPIHooks<ID, N>::is_valid
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:137,1
    - Dst: FeatureAPIHooks<ID, N>::invoke
      Src: /src/trafficserver/include/api/FeatureAPIHooks.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - id
    - event
    - data
    argTypes:
    - ID
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: FeatureAPIHooks<ID, N>::invoke
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 1
    functionsReached:
    - FeatureAPIHooks<ID, N>::invoke
    - FeatureAPIHooks<ID, N>::is_valid
    - likely
    linkageType: ''
    returnType: void
    signature: void FeatureAPIHooks<ID, N>::invoke(ID id, int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: FeatureAPIHooks<ID, N>::has_hooks
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FeatureAPIHooks<ID, N>::has_hooks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: FeatureAPIHooks<ID, N>::is_valid
    functionSourceFile: /src/trafficserver/include/api/FeatureAPIHooks.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FeatureAPIHooks<ID, N>::is_valid(ID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: IOUringContext::IOUringContext
    functionSourceFile: /src/trafficserver/include/iocore/io_uring/IO_URING.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOUringContext(const IOUringContext &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_get_sqe
      Src: /src/trafficserver/include/iocore/io_uring/IO_URING.h:55,1
    - Dst: IOUringContext::submit
      Src: /src/trafficserver/include/iocore/io_uring/IO_URING.h:57,1
    - Dst: io_uring_get_sqe
      Src: /src/trafficserver/include/iocore/io_uring/IO_URING.h:58,1
    - Dst: io_uring_sqe_set_data
      Src: /src/trafficserver/include/iocore/io_uring/IO_URING.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handler
    argTypes:
    - IOUringCompletionHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: IOUringContext::next_sqe
    functionSourceFile: /src/trafficserver/include/iocore/io_uring/IO_URING.h
    functionUses: 5
    functionsReached:
    - IOUringContext::submit
    - io_uring_sqe_set_data
    - io_uring_get_sqe
    linkageType: ''
    returnType: io_uring_sqe
    signature: "io_uring_sqe *\n  next_sqe(IOUringCompletionHandler *handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: IOUringContext::valid
    functionSourceFile: /src/trafficserver/include/iocore/io_uring/IO_URING.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: IOUringEventIO::IOUringEventIO
    functionSourceFile: /src/trafficserver/include/iocore/io_uring/IOUringEventIO.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOUringEventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/iocore/aio/AIO.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ok
    functionSourceFile: /src/trafficserver/include/iocore/aio/AIO.h
    functionUses: 84
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int ok()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/aio/AIO.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: AIOCallback
    functionSourceFile: /src/trafficserver/include/iocore/aio/AIO.h
    functionUses: 5
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void AIOCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: DNSQueryData
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSQueryData(std::string_view tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - IpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: DNSQueryData
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSQueryData(IpAddr const *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNSProcessor::getby
      Src: /src/trafficserver/include/iocore/dns/DNSProcessor.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - name
    - opt
    argTypes:
    - Continuation*
    - std::string_view
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: DNSProcessor::getSRVbyname
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached:
    - DNSProcessor::getby
    linkageType: ''
    returnType: Action
    signature: 'Action *

      DNSProcessor::getSRVbyname(Continuation *cont, std::string_view name, Options
      const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNSProcessor::getby
      Src: /src/trafficserver/include/iocore/dns/DNSProcessor.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - name
    - opt
    argTypes:
    - Continuation*
    - std::string_view
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: DNSProcessor::gethostbyname
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached:
    - DNSProcessor::getby
    linkageType: ''
    returnType: Action
    signature: 'Action *

      DNSProcessor::gethostbyname(Continuation *cont, std::string_view name, Options
      const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNSProcessor::getby
      Src: /src/trafficserver/include/iocore/dns/DNSProcessor.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - addr
    - opt
    argTypes:
    - Continuation*
    - IpAddr*
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: DNSProcessor::gethostbyaddr
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached:
    - DNSProcessor::getby
    linkageType: ''
    returnType: Action
    signature: 'Action *

      DNSProcessor::gethostbyaddr(Continuation *cont, IpAddr const *addr, Options
      const &opt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: DNSProcessor::Options::Options()
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSProcessor::Options::Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - DNSHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: '&

      DNSProcessor::Options::setHandler(DNSHandler *h)'
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSProcessor::Options
    signature: 'DNSProcessor::Options &

      DNSProcessor::Options::setHandler(DNSHandler *h)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: '&

      DNSProcessor::Options::setTimeout(int t)'
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSProcessor::Options
    signature: 'DNSProcessor::Options &

      DNSProcessor::Options::setTimeout(int t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - style
    argTypes:
    - HostResStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: '&

      DNSProcessor::Options::setHostResStyle(HostResStyle style)'
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNSProcessor::Options
    signature: 'DNSProcessor::Options &

      DNSProcessor::Options::setHostResStyle(HostResStyle style)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Options
      Src: /src/trafficserver/include/iocore/dns/DNSProcessor.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: '&

      DNSProcessor::Options::reset()'
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSProcessor.h
    functionUses: 0
    functionsReached:
    - Options
    linkageType: ''
    returnType: DNSProcessor::Options
    signature: 'DNSProcessor::Options &

      DNSProcessor::Options::reset()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: RAND_INV_RANGE
    functionSourceFile: /src/trafficserver/include/iocore/dns/SRV.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAND_INV_RANGE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SRV
    - SRV
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: operator<(const SRV &left, const SRV &right)
    functionSourceFile: /src/trafficserver/include/iocore/dns/SRV.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const SRV &left, const SRV &right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - DNSConnection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: DNSEventIO::DNSEventIO
    functionSourceFile: /src/trafficserver/include/iocore/dns/DNSEventIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNSEventIO(DNSConnection &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - miob
    argTypes:
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: MIOBufferWriter::MIOBufferWriter
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIOBufferWriter(MIOBuffer *miob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: "&\n  write(char c) override"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  write(char c) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: MIOBufferWriter::error
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool error() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:73,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: MIOBufferWriter::aux_data
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::end
    - first_write_block
    linkageType: ''
    returnType: char
    signature: "char *\n  aux_data() override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:85,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: MIOBufferWriter::remaining
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - IOBufferBlock*::write_avail
    - first_write_block
    linkageType: ''
    returnType: size_t
    signature: size_t remaining() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:94,1
    - Dst: IOBufferBlock*::end
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:95,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: MIOBufferWriter::aux_span
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::end
    - IOBufferBlock*::write_avail
    - first_write_block
    linkageType: ''
    returnType: swoc::MemSpan<char>
    signature: swoc::MemSpan<char> aux_span()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:107,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:109,1
    - Dst: IOBufferBlock*::write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:109,1
    - Dst: IOBufferBlock*::fill
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: MIOBufferWriter::commit
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 1
    functionsReached:
    - IOBufferBlock*::fill
    - IOBufferBlock*::write_avail
    - ink_assert
    - first_write_block
    linkageType: ''
    returnType: bool
    signature: bool commit(size_t n) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: MIOBufferWriter::capacity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: MIOBufferWriter::extent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t extent() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '&restrict(size_t) override'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &restrict(size_t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: "&\n  restore(size_t) override"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  restore(size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: MIOBufferWriter::data
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: "char *\n  data() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: "&\n  discard(size_t) override"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  discard(size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: "&\n  copy(size_t, size_t, size_t) override"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  copy(size_t, size_t, size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_block
      Src: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: MIOBufferWriter::addBlock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/MIOBufferWriter.h
    functionUses: 0
    functionsReached:
    - add_block
    linkageType: ''
    returnType: void
    signature: void addBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: EventProcessor::EventProcessor
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventProcessor(const EventProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '&operator=(const EventProcessor &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventProcessor
    signature: EventProcessor &operator=(const EventProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: EventProcessor::active_threads_type::begin
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: EventProcessor::active_threads_type::end
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - n
    argTypes:
    - iterator
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: EventProcessor::active_threads_type::active_threads_type
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void active_threads_type(iterator start, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: EventProcessor::active_ethreads
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: active_threads_type
    signature: active_threads_type active_ethreads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: EventProcessor::active_dthreads
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: active_threads_type
    signature: active_threads_type active_dthreads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: EventProcessor::active_group_threads
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: active_threads_type
    signature: active_threads_type active_group_threads(int type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evp
    argTypes:
    - EventProcessor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: EventProcessor::ThreadInit::ThreadInit
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ThreadInit(EventProcessor *evp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initThreadState
      Src: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: EventProcessor::ThreadInit::init
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EventProcessor.h
    functionUses: 0
    functionsReached:
    - initThreadState
    linkageType: ''
    returnType: int
    signature: int init(int /* event ATS_UNUSED */, Event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: BUFFER_SIZE_FOR_INDEX
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_FOR_INDEX(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: BUFFER_SIZE_ALLOCATED
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_ALLOCATED(_i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: BUFFER_SIZE_INDEX_IS_XMALLOCED
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_INDEX_IS_XMALLOCED(_size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED(_size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: BUFFER_SIZE_INDEX_IS_CONSTANT
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_INDEX_IS_CONSTANT(_size_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: BUFFER_SIZE_FOR_XMALLOC
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_FOR_XMALLOC(_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE(_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: BUFFER_SIZE_FOR_CONSTANT
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_FOR_CONSTANT(_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: BUFFER_SIZE_INDEX_FOR_CONSTANT_SIZE
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_INDEX_FOR_CONSTANT_SIZE(_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: IOBufferData::data
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  data()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: operator char *()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator char *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: IOBufferData::IOBufferData
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: IOBufferData::IOBufferData
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferData(const IOBufferData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: '&operator=(const IOBufferData &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferData
    signature: IOBufferData &operator=(const IOBufferData &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: IOBufferBlock::buf
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  buf()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: IOBufferBlock::start
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  start()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: IOBufferBlock::end
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  end()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: IOBufferBlock::buf_end
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  buf_end()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: IOBufferBlock::size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: IOBufferBlock::read_avail
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t read_avail() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: IOBufferBlock::write_avail
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t write_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferBlock::block_size
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: IOBufferBlock::block_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached:
    - IOBufferBlock::block_size
    linkageType: ''
    returnType: int64_t
    signature: int64_t block_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: IOBufferBlock::IOBufferBlock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferBlock(const IOBufferBlock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: '&operator=(const IOBufferBlock &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferBlock
    signature: IOBufferBlock &operator=(const IOBufferBlock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: IOBufferChain::IOBufferChain
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: IOBufferChain::const_iterator::const_iterator
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: IOBufferReader::writer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIOBuffer
    signature: "MIOBuffer *\n  writer() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: IOBufferReader::allocated
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIOBuffer
    signature: "MIOBuffer *\n  allocated() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: IOBufferReader::IOBufferReader
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferReader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1011,1
    - Dst: next::get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1012,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1014,1
    - Dst: next::read_avail
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1014,1
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1019
    functionName: MIOBuffer::first_write_block
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached:
    - get
    - next::get
    - next::read_avail
    - MIOBuffer::write_avail
    - ink_assert
    linkageType: ''
    returnType: IOBufferBlock
    signature: "IOBufferBlock *\n  first_write_block()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1024,1
    - Dst: IOBufferBlock*::buf
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: MIOBuffer::buf
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::first_write_block
    - IOBufferBlock*::buf
    linkageType: ''
    returnType: char
    signature: "char *\n  buf()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: MIOBuffer::buf_end
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::first_write_block
    linkageType: ''
    returnType: char
    signature: "char *\n  buf_end()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1038
    functionName: MIOBuffer::start
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::first_write_block
    linkageType: ''
    returnType: char
    signature: "char *\n  start()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::first_write_block
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: MIOBuffer::end
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::first_write_block
    linkageType: ''
    returnType: char
    signature: "char *\n  end()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::is_max_read_avail_more_than
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    functionName: MIOBuffer::high_water
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::is_max_read_avail_more_than
    linkageType: ''
    returnType: bool
    signature: bool high_water()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: MIOBuffer::low_water
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::write_avail
    linkageType: ''
    returnType: bool
    signature: bool low_water()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::current_write_avail
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1108
    functionName: MIOBuffer::current_low_water
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::current_write_avail
    linkageType: ''
    returnType: bool
    signature: bool current_low_water()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::reset
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1186,1
    - Dst: allocated
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1189,1
    - Dst: MIOBuffer::reset
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1193
    functionName: MIOBuffer::reset
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::reset
    - allocated
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocated
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1203
    functionName: MIOBuffer::init_readers
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 3
    functionsReached:
    - allocated
    linkageType: ''
    returnType: void
    signature: void init_readers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::dealloc_all_readers
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    functionName: MIOBuffer::dealloc
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - MIOBuffer::dealloc_all_readers
    linkageType: ''
    returnType: void
    signature: void dealloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIOBuffer::dealloc
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1212
    functionDepth: 4
    functionLinenumber: 1212
    functionLinenumberEnd: 1218
    functionName: MIOBuffer::clear
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 2
    functionsReached:
    - MIOBuffer::dealloc
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: reader
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: "IOBufferReader *\n  reader() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1257
    functionName: writer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: MIOBuffer
    signature: "MIOBuffer *\n  writer() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1263
    functionName: block_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 15
    functionsReached:
    - block_size
    linkageType: ''
    returnType: int64_t
    signature: int64_t block_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1274
    functionName: clear
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 209
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1276
    functionName: MIOBufferAccessor
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIOBufferAccessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1285
    functionName: MIOBufferAccessor
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIOBufferAccessor(const MIOBufferAccessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: '&operator=(const MIOBufferAccessor &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIOBufferAccessor
    signature: MIOBufferAccessor &operator=(const MIOBufferAccessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _loc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: MIOBuffer_tracker::MIOBuffer_tracker
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIOBuffer_tracker(const char *_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer_internal
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_index
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 2
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: "*\n  operator()(int64_t size_index)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_MIOBuffer_internal
    linkageType: ''
    returnType: MIOBuffer
    signature: "MIOBuffer *\n  operator()(int64_t size_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _loc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1315
    functionName: Empty_MIOBuffer_tracker::Empty_MIOBuffer_tracker
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Empty_MIOBuffer_tracker(const char *_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_empty_MIOBuffer_internal
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_index
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: "*\n  operator()(int64_t size_index)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_empty_MIOBuffer_internal
    linkageType: ''
    returnType: MIOBuffer
    signature: "MIOBuffer *\n  operator()(int64_t size_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _loc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1338
    functionName: IOBufferBlock_tracker::IOBufferBlock_tracker
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferBlock_tracker(const char *_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: "*\n  operator()()"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_IOBufferBlock_internal
    linkageType: ''
    returnType: IOBufferBlock
    signature: "IOBufferBlock *\n  operator()()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferBlock_internal
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1347,1
    - Dst: Ptr<IOBufferData>::get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Ptr<IOBufferData>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1348
    functionName: "*\n  operator()(Ptr<IOBufferData> &d, int64_t len = 0, int64_t
      offset = 0)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - Ptr<IOBufferData>::get
    - new_IOBufferBlock_internal
    linkageType: ''
    returnType: IOBufferBlock
    signature: "IOBufferBlock *\n  operator()(Ptr<IOBufferData> &d, int64_t len =
      0, int64_t offset = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _loc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1364
    functionName: IOBufferData_tracker::IOBufferData_tracker
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferData_tracker(const char *_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_IOBufferData_internal
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_index
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1369
    functionName: "*\n  operator()(int64_t size_index, AllocType type = DEFAULT_ALLOC)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - new_IOBufferData_internal
    linkageType: ''
    returnType: IOBufferData
    signature: "IOBufferData *\n  operator()(int64_t size_index, AllocType type =
      DEFAULT_ALLOC)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1375
    functionName: new_xmalloc_IOBufferData
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: new_xmalloc_IOBufferData(b, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1409
    functionName: '&

      IOBufferChain::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain
    signature: 'IOBufferChain &

      IOBufferChain::operator=(self_type const &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1422
    functionName: '&

      IOBufferChain::operator+=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain
    signature: 'IOBufferChain &

      IOBufferChain::operator+=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1428
    functionName: IOBufferChain::length
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferChain::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1434
    functionName: IOBufferChain::head
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IOBufferBlock
    signature: 'IOBufferBlock *

      IOBufferChain::head() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1440
    functionName: IOBufferChain::head
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IOBufferBlock
    signature: 'IOBufferBlock *

      IOBufferChain::head()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1448
    functionName: IOBufferChain::clear
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferChain::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1450
    functionName: IOBufferChain::const_iterator::const_iterator(self_type const &that)
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOBufferChain::const_iterator::const_iterator(self_type const
      &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1457
    functionName: '&

      IOBufferChain::const_iterator::operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::const_iterator
    signature: 'IOBufferChain::const_iterator &

      IOBufferChain::const_iterator::operator=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1463
    functionName: IOBufferChain::const_iterator::operator==(self_type const &that)
      const
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IOBufferChain::const_iterator::operator==(self_type const &that)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1469
    functionName: IOBufferChain::const_iterator::operator!=(self_type const &that)
      const
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IOBufferChain::const_iterator::operator!=(self_type const &that)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1475
    functionName: '&

      IOBufferChain::const_iterator::operator*() const'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::const_iterator::value_type
    signature: 'IOBufferChain::const_iterator::value_type &

      IOBufferChain::const_iterator::operator*() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1481
    functionName: '*

      IOBufferChain::const_iterator::operator->() const'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::const_iterator::value_type
    signature: 'IOBufferChain::const_iterator::value_type *

      IOBufferChain::const_iterator::operator->() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next::get
      Src: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1488
    functionName: '&

      IOBufferChain::const_iterator::operator++()'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached:
    - next::get
    linkageType: ''
    returnType: IOBufferChain::const_iterator
    signature: 'IOBufferChain::const_iterator &

      IOBufferChain::const_iterator::operator++()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1496
    functionName: IOBufferChain::const_iterator::operator++(int)
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::const_iterator
    signature: IOBufferChain::const_iterator IOBufferChain::const_iterator::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: '&

      IOBufferChain::iterator::operator*() const'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::iterator::value_type
    signature: 'IOBufferChain::iterator::value_type &

      IOBufferChain::iterator::operator*() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: '*

      IOBufferChain::iterator::operator->() const'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/IOBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferChain::iterator::value_type
    signature: 'IOBufferChain::iterator::value_type *

      IOBufferChain::iterator::operator->() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int (C::*)(int, void *)>
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:73,1
    - Dst: static_cast<ContinuationHandler>
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: continuation_handler_void_ptr
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - static_cast<ContinuationHandler>
    - reinterpret_cast<int (C::*)(int, void *)>
    linkageType: ''
    returnType: ContinuationHandler
    signature: ContinuationHandler continuation_handler_void_ptr(int (C::*fp)(int,
      T *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ContinuationHandler>
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:97,1
    - Dst: static_cast<ContinuationHandler>
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: continuation_handler_void_ptr
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - static_cast<ContinuationHandler>
    linkageType: ''
    returnType: ContinuationHandler
    signature: ContinuationHandler continuation_handler_void_ptr(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~force_VFPT_to_top()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~force_VFPT_to_top()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Continuation::getMutex
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ProxyMutex
    signature: "ProxyMutex *\n  getMutex() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ethread
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: Continuation::setThreadAffinity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setThreadAffinity(EThread *ethread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: Continuation::getThreadAffinity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: "EThread *\n  getThreadAffinity()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: Continuation::clearThreadAffinity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clearThreadAffinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:227,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: Continuation::handleEvent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - this_ethread
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE handleEvent(int event = CONTINUATION_EVENT_NONE, void *data
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: SET_HANDLER
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HANDLER(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: SET_HANDLER
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HANDLER(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: SET_CONTINUATION_HANDLER
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CONTINUATION_HANDLER(_c, _h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _c
    - ','
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: SET_CONTINUATION_HANDLER
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CONTINUATION_HANDLER(_c, _h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Continuation::control_flags::set_flags
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:274,1
    - Dst: get_cont_flags
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amutex
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - get_cont_flags
    - Continuation::control_flags::set_flags
    linkageType: ''
    returnType: void
    signature: void Continuation::Continuation(Ptr<ProxyMutex> &amutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Continuation::control_flags::set_flags
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:280,1
    - Dst: get_cont_flags
      Src: /src/trafficserver/include/iocore/eventsystem/Continuation.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amutex
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Continuation.h
    functionUses: 0
    functionsReached:
    - get_cont_flags
    - Continuation::control_flags::set_flags
    linkageType: ''
    returnType: void
    signature: void Continuation::Continuation(ProxyMutex *amutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: UnixSocket::UnixSocket
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void UnixSocket::UnixSocket(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: UnixSocket::UnixSocket
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - socket
    linkageType: ''
    returnType: void
    signature: void UnixSocket::UnixSocket(int domain, int type, int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: UnixSocket::get_fd
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UnixSocket::get_fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: UnixSocket::is_ok
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UnixSocket::is_ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:144,1
    - Dst: likely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: UnixSocket::read
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 1
    functionsReached:
    - IOBufferReader::read
    - likely
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t UnixSocket::read(void *buf, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:158,1
    - Dst: UDPConnection::recv
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:158,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - size
    - flags
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: UnixSocket::recv
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - unlikely
    - UDPConnection::recv
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int UnixSocket::recv(void *buf, int size, int flags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::recvfrom
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:170,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:170,1
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - buf
    - size
    - flags
    - addr
    - addrlen
    argTypes:
    - void*
    - int
    - int
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: UnixSocket::recvfrom
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - UnixSocket::recvfrom
    - unlikely
    - static_cast<char *>
    linkageType: ''
    returnType: int
    signature: int UnixSocket::recvfrom(void *buf, int size, int flags, struct sockaddr
      *addr, socklen_t *addrlen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:183,1
    - Dst: UnixSocket::recvmsg
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - m
    - flags
    argTypes:
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: UnixSocket::recvmsg
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 1
    functionsReached:
    - unlikely
    - UnixSocket::recvmsg
    linkageType: ''
    returnType: int
    signature: int UnixSocket::recvmsg(struct msghdr *m, int flags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:196,1
    - Dst: UnixSocket::recvmmsg
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - msgvec
    - vlen
    - flags
    - timeout
    argTypes:
    - struct mmsghdr*
    - int
    - int
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: UnixSocket::recvmmsg
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 1
    functionsReached:
    - unlikely
    - UnixSocket::recvmmsg
    linkageType: ''
    returnType: int
    signature: int UnixSocket::recvmmsg(struct mmsghdr *msgvec, int vlen, int flags,
      struct timespec *timeout) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:210,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: UnixSocket::write
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 1
    functionsReached:
    - MIOBuffer::write
    - likely
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t UnixSocket::write(void const *buf, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:223,1
    - Dst: Send_to_vconn::send
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:223,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - size
    - flags
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: UnixSocket::send
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - Send_to_vconn::send
    - unlikely
    - static_cast<char const *>
    linkageType: ''
    returnType: int
    signature: int UnixSocket::send(void const *buf, int size, int flags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:235,1
    - Dst: UnixSocket::sendto
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - buf
    - len
    - flags
    - to
    - tolen
    argTypes:
    - void*
    - int
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: UnixSocket::sendto
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - unlikely
    - UnixSocket::sendto
    linkageType: ''
    returnType: int
    signature: int UnixSocket::sendto(void const *buf, int len, int flags, struct
      sockaddr const *to, int tolen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:247,1
    - Dst: UnixSocket::sendmsg
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - m
    - flags
    argTypes:
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: UnixSocket::sendmsg
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - unlikely
    - UnixSocket::sendmsg
    linkageType: ''
    returnType: int
    signature: int UnixSocket::sendmsg(struct msghdr const *m, int flags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::poll
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:259,1
    - Dst: transient_error
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: UnixSocket::poll
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 2
    functionsReached:
    - transient_error
    - UnixSocket::poll
    linkageType: ''
    returnType: int
    signature: int UnixSocket::poll(struct pollfd *fds, unsigned long nfds, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnixSocket::getsockname
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sa
    - sz
    argTypes:
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: UnixSocket::getsockname
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - UnixSocket::getsockname
    linkageType: ''
    returnType: int
    signature: int UnixSocket::getsockname(struct sockaddr *sa, socklen_t *sz) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_getsockopt
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: UnixSocket::get_sndbuf_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - safe_getsockopt
    linkageType: ''
    returnType: int
    signature: int UnixSocket::get_sndbuf_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_getsockopt
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: UnixSocket::get_rcvbuf_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - safe_getsockopt
    linkageType: ''
    returnType: int
    signature: int UnixSocket::get_rcvbuf_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_setsockopt
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bsz
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: UnixSocket::set_sndbuf_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - safe_setsockopt
    linkageType: ''
    returnType: int
    signature: int UnixSocket::set_sndbuf_size(int bsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_setsockopt
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bsz
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: UnixSocket::set_rcvbuf_size
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached:
    - safe_setsockopt
    linkageType: ''
    returnType: int
    signature: int UnixSocket::set_rcvbuf_size(int bsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:312,1
    - Dst: EventProcessor::shutdown
      Src: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - how
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: UnixSocket::shutdown
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 0
    functionsReached:
    - unlikely
    - EventProcessor::shutdown
    linkageType: ''
    returnType: int
    signature: int UnixSocket::shutdown(int how)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: transient_error
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/UnixSocket.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transient_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: WEAK_SCOPED_MUTEX_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: WEAK_SCOPED_MUTEX_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SCOPED_MUTEX_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPED_MUTEX_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: SCOPED_MUTEX_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPED_MUTEX_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: WEAK_MUTEX_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEAK_MUTEX_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: WEAK_MUTEX_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEAK_MUTEX_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: MUTEX_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _l
    - ','
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: MUTEX_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TRY_LOCK(_l, _m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: MUTEX_RELEASE
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_RELEASE(_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: MUTEX_TAKE_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TAKE_TRY_LOCK(_m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: MUTEX_TAKE_TRY_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TAKE_TRY_LOCK(_m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: MUTEX_TAKE_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TAKE_LOCK(_m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: MUTEX_TAKE_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_TAKE_LOCK(_m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: MUTEX_UNTAKE_LOCK
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUTEX_UNTAKE_LOCK(_m, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_init
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 246
    functionName: init
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 259
    functionsReached:
    - ink_mutex_init
    linkageType: ''
    returnType: "class ProxyMutex : public RefCountObj\n{\npublic:\n  /**\n    Underlying
      mutex object.\n\n    The platform independent mutex for the ProxyMutex class.
      You\n    must not modify or set it directly.\n\n  */\n  // coverity[uninit_member]\n
      \ ink_mutex the_mutex;\n\n  /**\n    Backpointer to owning thread.\n\n    This
      is a pointer to the thread currently holding the mutex\n    lock.  You must
      not modify or set this value directly.\n\n  */\n  EThreadPtr thread_holding;\n\n
      \ int nthread_holding;\n\n#ifdef DEBUG\n  ink_hrtime     hold_time;\n  SourceLocation
      srcloc;\n  const char    *handler;\n\n#ifdef MAX_LOCK_TAKEN\n  int taken;\n#endif
      // MAX_LOCK_TAKEN\n\n#ifdef LOCK_CONTENTION_PROFILING\n  int  total_acquires,
      blocking_acquires, nonblocking_acquires, successful_nonblocking_acquires, unsuccessful_nonblocking_acquires;\n
      \ void print_lock_stats(int flag);\n#endif // LOCK_CONTENTION_PROFILING\n#endif
      // DEBUG\n  void free() override;\n\n  /**\n    Constructor - use new_ProxyMutex()
      instead.\n\n    The constructor of a ProxyMutex object. Initializes the state\n
      \   of the object but leaves the initialization of the mutex member\n    until
      it is needed (through init()). Do not use this constructor,\n    the preferred
      mechanism for creating a ProxyMutex is via the\n    new_ProxyMutex function,
      which provides a faster allocation.\n\n  */\n  ProxyMutex()\n#ifdef DEBUG\n
      \   : srcloc(nullptr, nullptr, 0)\n#endif\n  {\n    thread_holding  = nullptr;\n
      \   nthread_holding = 0;\n#ifdef DEBUG\n    hold_time = 0;\n    handler   =
      nullptr;\n#ifdef MAX_LOCK_TAKEN\n    taken = 0;\n#endif // MAX_LOCK_TAKEN\n#ifdef
      LOCK_CONTENTION_PROFILING\n    total_acquires                    = 0;\n    blocking_acquires
      \                = 0;\n    nonblocking_acquires              = 0;\n    successful_nonblocking_acquires
      \  = 0;\n    unsuccessful_nonblocking_acquires = 0;\n#endif // LOCK_CONTENTION_PROFILING\n#endif
      // DEBUG\n    // coverity[uninit_member]\n  }"
    signature: "class ProxyMutex : public RefCountObj\n{\npublic:\n  /**\n    Underlying
      mutex object.\n\n    The platform independent mutex for the ProxyMutex class.
      You\n    must not modify or set it directly.\n\n  */\n  // coverity[uninit_member]\n
      \ ink_mutex the_mutex;\n\n  /**\n    Backpointer to owning thread.\n\n    This
      is a pointer to the thread currently holding the mutex\n    lock.  You must
      not modify or set this value directly.\n\n  */\n  EThreadPtr thread_holding;\n\n
      \ int nthread_holding;\n\n#ifdef DEBUG\n  ink_hrtime     hold_time;\n  SourceLocation
      srcloc;\n  const char    *handler;\n\n#ifdef MAX_LOCK_TAKEN\n  int taken;\n#endif
      // MAX_LOCK_TAKEN\n\n#ifdef LOCK_CONTENTION_PROFILING\n  int  total_acquires,
      blocking_acquires, nonblocking_acquires, successful_nonblocking_acquires, unsuccessful_nonblocking_acquires;\n
      \ void print_lock_stats(int flag);\n#endif // LOCK_CONTENTION_PROFILING\n#endif
      // DEBUG\n  void free() override;\n\n  /**\n    Constructor - use new_ProxyMutex()
      instead.\n\n    The constructor of a ProxyMutex object. Initializes the state\n
      \   of the object but leaves the initialization of the mutex member\n    until
      it is needed (through init()). Do not use this constructor,\n    the preferred
      mechanism for creating a ProxyMutex is via the\n    new_ProxyMutex function,
      which provides a faster allocation.\n\n  */\n  ProxyMutex()\n#ifdef DEBUG\n
      \   : srcloc(nullptr, nullptr, 0)\n#endif\n  {\n    thread_holding  = nullptr;\n
      \   nthread_holding = 0;\n#ifdef DEBUG\n    hold_time = 0;\n    handler   =
      nullptr;\n#ifdef MAX_LOCK_TAKEN\n    taken = 0;\n#endif // MAX_LOCK_TAKEN\n#ifdef
      LOCK_CONTENTION_PROFILING\n    total_acquires                    = 0;\n    blocking_acquires
      \                = 0;\n    nonblocking_acquires              = 0;\n    successful_nonblocking_acquires
      \  = 0;\n    unsuccessful_nonblocking_acquires = 0;\n#endif // LOCK_CONTENTION_PROFILING\n#endif
      // DEBUG\n    // coverity[uninit_member]\n  } init()"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:259,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:260,1
    - Dst: reinterpret_cast<EThread *>
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:260,1
    - Dst: this_thread
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:260,1
    - Dst: ink_mutex_try_acquire
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:262,1
    - Dst: lock_waiting
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:264,1
    - Dst: ProxyMutex*::print_lock_stats
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:269,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:278,1
    - Dst: ProxyMutex*::print_lock_stats
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - location
    - ahandler
    - m
    - t
    argTypes:
    - DEBUG
    - char*
    - ProxyMutex*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 294
    functionName: Mutex_trylock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - ink_assert
    - lock_waiting
    - this_thread
    - reinterpret_cast<EThread *>
    - ProxyMutex*::print_lock_stats
    - ink_mutex_try_acquire
    linkageType: ''
    returnType: bool
    signature: "bool Mutex_trylock(\n#ifdef DEBUG\n  const SourceLocation &location,
      const char *ahandler,\n#endif\n  ProxyMutex *m, EThread *t)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:360,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:364,1
    - Dst: lock_holding
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:365,1
    - Dst: lock_taken
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:368,1
    - Dst: SourceLocation
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:370,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:373,1
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - m
    - t
    argTypes:
    - ProxyMutex*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 378
    functionName: Mutex_unlock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 2
    functionsReached:
    - ink_get_hrtime
    - SourceLocation
    - lock_taken
    - lock_holding
    - ink_mutex_release
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void Mutex_unlock(ProxyMutex *m, EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:383,1
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    - t
    argTypes:
    - Ptr<ProxyMutex>
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: Mutex_unlock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 3
    functionsReached:
    - Ptr<ProxyMutex>::get
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void Mutex_unlock(Ptr<ProxyMutex> &m, EThread *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: WeakMutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: WeakMutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexLock(WeakMutexLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: '&operator=(const WeakMutexLock &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WeakMutexLock
    signature: WeakMutexLock &operator=(const WeakMutexLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: WeakMutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexLock(WeakMutexLock &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:419,1
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - orig
    argTypes:
    - WeakMutexLock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: "&\n  operator=(WeakMutexLock &&orig)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: WeakMutexLock
    signature: "WeakMutexLock &\n  operator=(WeakMutexLock &&orig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:428,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 5
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: release
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 136
    functionsReached:
    - get
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: ~WeakMutexLock()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ~WeakMutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: MutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: MutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexLock(MutexLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: '&operator=(const MutexLock &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MutexLock
    signature: MutexLock &operator=(const MutexLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: MutexLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexLock(MutexLock &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:470,1
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - orig
    argTypes:
    - MutexLock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: "&\n  operator=(MutexLock &&orig)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: MutexLock
    signature: "MutexLock &\n  operator=(MutexLock &&orig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 5
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: release
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 137
    functionsReached:
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: ~MutexLock()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:504,1
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:506,1
    - Dst: Mutex_trylock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 514
    functionName: else
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 2
    functionsReached:
    - get
    - Mutex_trylock
    - m
    linkageType: ''
    returnType: "class WeakMutexTryLock\n{\nprivate:\n  Ptr<ProxyMutex> m;\n  bool
      \           lock_acquired{false};\n\npublic:\n  WeakMutexTryLock() = default;\n\n
      \ WeakMutexTryLock(\n#ifdef DEBUG\n    const SourceLocation &location, const
      char *ahandler,\n#endif // DEBUG\n    Ptr<ProxyMutex> &am, EThread *t)\n    :
      m(am)\n  {\n    if (m.get()) {\n      lock_acquired = Mutex_trylock(\n#ifdef
      DEBUG\n        location, ahandler,\n#endif // DEBUG\n        m, t);\n    }"
    signature: "class WeakMutexTryLock\n{\nprivate:\n  Ptr<ProxyMutex> m;\n  bool
      \           lock_acquired{false};\n\npublic:\n  WeakMutexTryLock() = default;\n\n
      \ WeakMutexTryLock(\n#ifdef DEBUG\n    const SourceLocation &location, const
      char *ahandler,\n#endif // DEBUG\n    Ptr<ProxyMutex> &am, EThread *t)\n    :
      m(am)\n  {\n    if (m.get()) {\n      lock_acquired = Mutex_trylock(\n#ifdef
      DEBUG\n        location, ahandler,\n#endif // DEBUG\n        m, t);\n    } else"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: WeakMutexTryLock::WeakMutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexTryLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: WeakMutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexTryLock(WeakMutexTryLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 518
    functionName: '&operator=(const WeakMutexTryLock &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WeakMutexTryLock
    signature: WeakMutexTryLock &operator=(const WeakMutexTryLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: WeakMutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakMutexTryLock(WeakMutexTryLock &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:525,1
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - orig
    argTypes:
    - WeakMutexTryLock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: "&\n  operator=(WeakMutexTryLock &&orig)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: WeakMutexTryLock
    signature: "WeakMutexTryLock &\n  operator=(WeakMutexTryLock &&orig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:533,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: ~WeakMutexTryLock()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - get
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ~WeakMutexTryLock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:545,1
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: acquire
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 94
    functionsReached:
    - get
    - MUTEX_TAKE_LOCK
    linkageType: ''
    returnType: void
    signature: void acquire(EThread *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:553,1
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: release
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 138
    functionsReached:
    - get
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: is_locked
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_locked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: get_mutex
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 11
    functionsReached:
    - get
    linkageType: ''
    returnType: ProxyMutex
    signature: "ProxyMutex *\n  get_mutex() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: MutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexTryLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 597
    functionName: MutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexTryLock(MutexTryLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: '&operator=(const MutexTryLock &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MutexTryLock
    signature: MutexTryLock &operator=(const MutexTryLock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: MutexTryLock
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MutexTryLock(MutexTryLock &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:605,1
    - Dst: std::swap
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - orig
    argTypes:
    - MutexTryLock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 609
    functionName: "&\n  operator=(MutexTryLock &&orig)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: MutexTryLock
    signature: "MutexTryLock &\n  operator=(MutexTryLock &&orig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: ~MutexTryLock()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 0
    functionsReached:
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexTryLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUTEX_TAKE_LOCK
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: acquire
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 94
    functionsReached:
    - MUTEX_TAKE_LOCK
    linkageType: ''
    returnType: void
    signature: void acquire(EThread *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Mutex_unlock
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: release
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 138
    functionsReached:
    - Mutex_unlock
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: is_locked
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_locked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: get_mutex
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 11
    functionsReached:
    - get
    linkageType: ''
    returnType: ProxyMutex
    signature: "ProxyMutex *\n  get_mutex() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:650,1
    - Dst: print_lock_stats
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:654,1
    - Dst: ink_mutex_destroy
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:657,1
    - Dst: free
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: ProxyMutex
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 89
    functionsReached:
    - ink_mutex_destroy
    - print_lock_stats
    - free
    linkageType: ''
    returnType: void
    signature: void ProxyMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:676,1
    - Dst: ProxyMutex*::init
      Src: /src/trafficserver/include/iocore/eventsystem/Lock.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: new_ProxyMutex
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Lock.h
    functionUses: 89
    functionsReached:
    - alloc
    - ProxyMutex*::init
    linkageType: ''
    returnType: ProxyMutex
    signature: 'ProxyMutex *

      new_ProxyMutex()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Action.h:142,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Action.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: Action::cancel
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void cancel(Continuation *c = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Action.h:161,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/Action.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: Action::cancel_action
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void cancel_action(Continuation *c = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - acont
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: "*\n  operator=(Continuation *acont)"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: "Continuation *\n  operator=(Continuation *acont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Action::Action
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Action()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ~Action()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Action()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: MAKE_ACTION_RESULT
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Action.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ACTION_RESULT(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Thread::Thread
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Thread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thread(const Thread &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: '&operator=(const Thread &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Thread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thread
    signature: Thread &operator=(const Thread &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: Event::Event
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Event(const Event &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: '&operator=(const Event &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Event
    signature: Event &operator=(const Event &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Event::set_node_pointer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_node_pointer(void *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: Event::get_node_pointer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  get_node_pointer()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ~Event() override
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Event() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _a
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: EVENT_ALLOC
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_ALLOC(_a, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _p
    - ','
    - _a
    - ','
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: EVENT_FREE
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Event.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_FREE(_p, _a, _t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ProxyAllocator
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyAllocator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void **>
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:58,1
    - Dst: CAlloc::increment_for_alloc
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:61,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:63,1
    - Dst: typename CAlloc::Value_type::Value_type
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:63,1
    - Dst: static_cast<typename CAlloc::Value_type *>
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:64,1
    - Dst: CAlloc::alloc
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:66,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - l
    argTypes:
    - CAlloc
    - ProxyAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: thread_alloc
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - reinterpret_cast<void **>
    - CAlloc::alloc
    - CAlloc::increment_for_alloc
    - typename CAlloc::Value_type::Value_type
    - static_cast<typename CAlloc::Value_type *>
    linkageType: ''
    returnType: typename CAlloc::Value_type
    signature: 'typename CAlloc::Value_type *

      thread_alloc(CAlloc &a, ProxyAllocator &l, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a
    - ','
    - _t
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: THREAD_ALLOC
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_ALLOC(_a, _t, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a
    - ','
    - _t
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: THREAD_ALLOC_INIT
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_ALLOC_INIT(_a, _t, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a
    - ','
    - _t
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: SAFE_THREAD_ALLOC
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_THREAD_ALLOC(_a, _t, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a
    - ','
    - _t
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: THREAD_ALLOC
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_ALLOC(_a, _t, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a
    - ','
    - _t
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: THREAD_ALLOC_INIT
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_ALLOC_INIT(_a, _t, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: UPDATE_FREE_METRICS
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_FREE_METRICS(_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _p
    - ','
    - _a
    - ','
    - _tin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: THREAD_FREE
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ProxyAllocator.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_FREE(_p, _a, _tin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Processor::shutdown
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Processor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - number_of_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: Processor::start
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Processor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int start(int number_of_threads, size_t stacksize = DEFAULT_STACKSIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Processor::Processor
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Processor(const Processor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '&operator=(const Processor &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Processor
    signature: Processor &operator=(const Processor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~LoopTailHandler()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LoopTailHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: EThread::EThread
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EThread(const EThread &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: '&operator=(const EThread &)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: EThread &operator=(const EThread &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - ProtectedQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: EThread::DefaultTailHandler::DefaultTailHandler
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DefaultTailHandler(ProtectedQueue &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:393,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: EThread::DefaultTailHandler::waitForActivity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - wait
    linkageType: ''
    returnType: int
    signature: int waitForActivity(ink_hrtime timeout) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_signal
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: EThread::DefaultTailHandler::signalActivity
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - try_signal
    linkageType: ''
    returnType: void
    signature: void signalActivity() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 429
    functionName: EThread::Duration
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Duration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: EThread::Events
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Events()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: EThread::Slice
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: EThread::Metrics::Slice::record_loop_start(ink_hrtime t) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::Slice::record_loop_start(ink_hrtime t) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - delta
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 611
    functionName: EThread::Metrics::Slice::record_loop_duration(ink_hrtime delta)
      -> self_type &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::Slice::record_loop_duration(ink_hrtime delta)
      -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: EThread::Metrics::Slice::record_event_count(int count) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::Slice::record_event_count(int count) -> self_type
      &
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - drain_queue
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: EThread::Metrics::Slice::record_drain_queue(ink_hrtime drain_queue)
      -> self_type &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::Slice::record_drain_queue(ink_hrtime drain_queue)
      -> self_type &
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - io_wait
    - io_work
    argTypes:
    - ink_hrtime
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: EThread::Metrics::Slice::record_io_stats(ink_hrtime io_wait, ink_hrtime
      io_work) -> self_type &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::Slice::record_io_stats(ink_hrtime io_wait, ink_hrtime
      io_work) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current
    argTypes:
    - EThread::Metrics::Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: '*

      EThread::Metrics::prev_slice(EThread::Metrics::Slice *current)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EThread::Metrics::Slice
    signature: 'EThread::Metrics::Slice *

      EThread::Metrics::prev_slice(EThread::Metrics::Slice *current)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current
    argTypes:
    - EThread::Metrics::Slice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: '*

      EThread::Metrics::next_slice(EThread::Metrics::Slice *current)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EThread::Metrics::Slice
    signature: 'EThread::Metrics::Slice *

      EThread::Metrics::next_slice(EThread::Metrics::Slice *current)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<ts_nanoseconds>
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:669,1
    - Dst: load
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:670,1
    - Dst: _loop_timing
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - delta
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 673
    functionName: EThread::Metrics::record_loop_time(ink_hrtime delta) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - _loop_timing
    - std::chrono::duration_cast<ts_nanoseconds>
    - load
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::record_loop_time(ink_hrtime delta) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<ts_nanoseconds>
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:678,1
    - Dst: _api_timing
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - delta
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: EThread::Metrics::record_api_time(ink_hrtime delta) -> self_type
      &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<ts_nanoseconds>
    - _api_timing
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::record_api_time(ink_hrtime delta) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decay
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:687,1
    - Dst: decay
      Src: /src/trafficserver/include/iocore/eventsystem/EThread.h:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: EThread::Metrics::decay() -> self_type &
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached:
    - decay
    linkageType: ''
    returnType: auto
    signature: auto EThread::Metrics::decay() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ink_dummy_for_new*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: '*

      operator new(size_t, ink_dummy_for_new *p)'
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      operator new(size_t, ink_dummy_for_new *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - thread
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: ETHREAD_GET_PTR
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/EThread.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ETHREAD_GET_PTR(thread, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: VConnection::get_data
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_data(int id, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: VConnection::set_data
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool set_data(int id, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: VConnection::mark_as_tunnel_endpoint
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_tunnel_endpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/VConnection.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: do_io_write
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 56
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: "VIO *\n  do_io_write(Continuation * /* c ATS_UNUSED */, int64_t /*
      nbytes ATS_UNUSED */, IOBufferReader * /* buf ATS_UNUSED */,\n              bool
      /* owner ATS_UNUSED */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/VConnection.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: do_io_read
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 68
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: VIO
    signature: "VIO *\n  do_io_read(Continuation * /* c ATS_UNUSED */, int64_t /*
      nbytes ATS_UNUSED */, MIOBuffer * /* buf ATS_UNUSED */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/VConnection.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: do_io_close
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 82
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void do_io_close(int /* alerrno ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/VConnection.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: do_io_shutdown
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 17
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void do_io_shutdown(ShutdownHowTo_t /* howto ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: DummyVConnection
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyVConnection(ProxyMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ConfigProcessor::ConfigProcessor
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ConfigProcessor::scoped_config
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached:
    - SplitDNSConfig::acquire
    linkageType: ''
    returnType: void
    signature: void scoped_config()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBuffer::release
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~scoped_config()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached:
    - TextBuffer::release
    linkageType: ''
    returnType: void
    signature: void ~scoped_config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: operator const ConfigType *() const
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const ConfigType *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: "*\n    operator->() const"
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigType
    signature: "ConfigType *\n    operator->() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreWarmManager::reconfigure
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: update
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 53
    functionsReached:
    - PreWarmManager::reconfigure
    linkageType: ''
    returnType: int
    signature: int update(int /* etype */, void * /* data */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:83,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ConfigUpdateContinuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateContinuation(Ptr<ProxyMutex> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_imm
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:90,1
    - Dst: ConfigUpdateContinuation<UpdateClass>::ConfigUpdateContinuation<UpdateClass>
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ConfigScheduleUpdate
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached:
    - schedule_imm
    - ConfigUpdateContinuation<UpdateClass>::ConfigUpdateContinuation<UpdateClass>
    linkageType: ''
    returnType: int
    signature: int ConfigScheduleUpdate(Ptr<ProxyMutex> &mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ConfigUpdateHandler
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void ConfigUpdateHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~ConfigUpdateHandler()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigUpdateHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecRegisterConfigUpdateCb
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: attach
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 34
    functionsReached:
    - RecRegisterConfigUpdateCb
    linkageType: ''
    returnType: int
    signature: int attach(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConfigUpdateHandler *>
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:108,1
    - Dst: Dbg
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:110,1
    - Dst: ConfigScheduleUpdate
      Src: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - cookie
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: update
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/ConfigProcessor.h
    functionUses: 53
    functionsReached:
    - ConfigScheduleUpdate
    - Dbg
    - static_cast<ConfigUpdateHandler *>
    linkageType: ''
    returnType: int
    signature: int update(const char *name, RecDataT /* data_type ATS_UNUSED */, RecData
      /* data ATS_UNUSED */, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: PQ_BUCKET_TIME
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PQ_BUCKET_TIME(_i)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:46,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:47,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:48,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:54,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:61,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:62,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:63,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:69,1
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:76,1
    - Dst: enqueue
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - e
    - now
    argTypes:
    - Event*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: enqueue
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h
    functionUses: 64
    functionsReached:
    - PQ_BUCKET_TIME
    - enqueue
    linkageType: ''
    returnType: void
    signature: void enqueue(Event *e, ink_hrtime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:91,1
    - Dst: remove
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: remove
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h
    functionUses: 92
    functionsReached:
    - remove
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void remove(Event *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dequeue
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:100,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: dequeue_ready
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h
    functionUses: 2
    functionsReached:
    - dequeue
    - ink_assert
    linkageType: ''
    returnType: Event
    signature: "Event *\n  dequeue_ready(ink_hrtime t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PQ_BUCKET_TIME
      Src: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: earliest_timeout
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/PriorityEventQueue.h
    functionUses: 1
    functionsReached:
    - PQ_BUCKET_TIME
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime earliest_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: dieEvent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dieEvent(int event, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:48,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: DeleterContinuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void DeleterContinuation(C *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:59,1
    - Dst: DeleterContinuation<C>::DeleterContinuation<C>
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:59,1
    - Dst: schedule_imm
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:61,1
    - Dst: DeleterContinuation<C>::DeleterContinuation<C>
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ap
    - t
    argTypes:
    - C*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: new_Deleter
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - DeleterContinuation<C>::DeleterContinuation<C>
    - schedule_in
    - schedule_imm
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE new_Deleter(C *ap, ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: dieEvent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int dieEvent(int event, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: FreeCallContinuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void FreeCallContinuation(C *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:84,1
    - Dst: FreeCallContinuation<C>::FreeCallContinuation<C>
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - t
    argTypes:
    - C*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: new_FreeCaller
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - FreeCallContinuation<C>::FreeCallContinuation<C>
    - schedule_in
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE new_FreeCaller(C *ap, ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - event
    - e
    argTypes:
    - int
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: dieEvent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: int
    signature: int dieEvent(int event, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: FreerContinuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 1
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void FreerContinuation(void *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:109,1
    - Dst: FreerContinuation::FreerContinuation
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - t
    argTypes:
    - void*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: new_Freer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 1
    functionsReached:
    - FreerContinuation::FreerContinuation
    - schedule_in
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE new_Freer(void *ap, ink_hrtime t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refcount_dec
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:118,1
    - Dst: refcount_dec
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: dieEvent
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - refcount_dec
    linkageType: ''
    returnType: int
    signature: int dieEvent(int, Event *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - C*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: DereferContinuation
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void DereferContinuation(C *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedule_in
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:134,1
    - Dst: DereferContinuation<C>::DereferContinuation<C>
      Src: /src/trafficserver/include/iocore/eventsystem/Freer.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - t
    argTypes:
    - C*
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: new_Derefer
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/Freer.h
    functionUses: 1
    functionsReached:
    - schedule_in
    - DereferContinuation<C>::DereferContinuation<C>
    linkageType: ''
    returnType: TS_INLINE
    signature: TS_INLINE new_Derefer(C *ap, ink_hrtime t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~VIO()
    functionSourceFile: /src/trafficserver/include/iocore/eventsystem/VIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: NetProcessor::NetProcessor
    functionSourceFile: /src/trafficserver/include/iocore/net/NetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~NetProcessor() override
    functionSourceFile: /src/trafficserver/include/iocore/net/NetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetProcessor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: NetProcessor::NetProcessor
    functionSourceFile: /src/trafficserver/include/iocore/net/NetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetProcessor(const NetProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '&operator=(const NetProcessor &)'
    functionSourceFile: /src/trafficserver/include/iocore/net/NetProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetProcessor
    signature: NetProcessor &operator=(const NetProcessor &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~TLSCertSwitchSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSCertSwitchSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSCertSwitchSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~TLSEventSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSEventSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSEventSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: NetVCOptions
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void NetVCOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: ~NetVCOptions()
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetVCOptions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:225,1
    - Dst: std::string_view
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:225,1
    - Dst: ats_strndup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: "&\n  set_sni_servername(const char *name, size_t len)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - ats_strndup
    - std::string_view
    - ats_ip_pton
    linkageType: ''
    returnType: self
    signature: "self &\n  set_sni_servername(const char *name, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: "&\n  set_ssl_client_cert_name(const char *name)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - ats_strdup
    linkageType: ''
    returnType: self
    signature: "self &\n  set_ssl_client_cert_name(const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: "&\n  set_ssl_servername(const char *name)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - ats_strdup
    linkageType: ''
    returnType: self
    signature: "self &\n  set_ssl_servername(const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_pton
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:261,1
    - Dst: std::string_view
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:261,1
    - Dst: ats_strndup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: "&\n  set_sni_hostname(const char *name, size_t len)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - ats_strndup
    - std::string_view
    - ats_ip_pton
    linkageType: ''
    returnType: self
    signature: "self &\n  set_sni_hostname(const char *name, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:287,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:287,1
    - Dst: release
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:289,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:290,1
    - Dst: release
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:293,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:294,1
    - Dst: release
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:297,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:298,1
    - Dst: ssl_client_cert_name::release
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:301,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/net/NetVCOptions.h:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - that
    argTypes:
    - self
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 306
    functionName: "&\n  operator=(self const &that)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<void *>
    - release
    - ats_strdup
    - ssl_client_cert_name::release
    linkageType: ''
    returnType: self
    signature: "self &\n  operator=(self const &that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: NetVCOptions
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVCOptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetVCOptions(const NetVCOptions &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: "&\n    operator[](int n)"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t &\n    operator[](int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: NetVConnection::set_action
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_action(Continuation *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - NetVConnectionContext_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: NetVConnection::set_context
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void set_context(NetVConnectionContext_t context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: NetVConnection::get_context
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t get_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: NetVConnection::peer_provided_cert
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool peer_provided_cert() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: NetVConnection::provided_cert
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int provided_cert() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: ~NetVConnection() override
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetVConnection() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: NetVConnection::get_is_internal_request
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_internal_request() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: NetVConnection::set_is_internal_request
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_internal_request(bool val = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: NetVConnection::get_is_unmanaged_request
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_unmanaged_request() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: NetVConnection::set_is_unmanaged_request
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_unmanaged_request(bool val = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: NetVConnection::get_is_transparent
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_transparent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: NetVConnection::get_mptcp_state
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> get_mptcp_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: NetVConnection::set_is_transparent
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_transparent(bool state = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: NetVConnection::get_is_proxy_protocol
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_proxy_protocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: NetVConnection::set_is_proxy_protocol
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_proxy_protocol(bool state = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: NetVConnection::populate_protocol
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int populate_protocol(std::string_view * /* results ATS_UNUSED */,
      int /* n ATS_UNUSED */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: NetVConnection::protocol_contains
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  protocol_contains(std::string_view /* prefix ATS_UNUSED
      */) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: NetVConnection::NetVConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetVConnection(const NetVConnection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: '&operator=(const NetVConnection &)'
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetVConnection
    signature: NetVConnection &operator=(const NetVConnection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: NetVConnection::get_proxy_protocol_version
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ProxyProtocolVersion
    signature: ProxyProtocolVersion get_proxy_protocol_version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::get_proxy_protocol_tlv
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: NetVConnection::get_proxy_protocol_authority
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - NetVConnection::get_proxy_protocol_tlv
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> get_proxy_protocol_authority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::get_proxy_protocol_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: NetVConnection::get_proxy_protocol_src_addr
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - NetVConnection::get_proxy_protocol_addr
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\n  get_proxy_protocol_src_addr() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:476,1
    - Dst: NetVConnection::get_proxy_protocol_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: NetVConnection::get_proxy_protocol_src_port
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_host_order
    - NetVConnection::get_proxy_protocol_addr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_proxy_protocol_src_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::get_proxy_protocol_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: NetVConnection::get_proxy_protocol_dst_addr
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - NetVConnection::get_proxy_protocol_addr
    linkageType: ''
    returnType: sockaddr
    signature: "sockaddr *\n  get_proxy_protocol_dst_addr() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:488,1
    - Dst: NetVConnection::get_proxy_protocol_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: NetVConnection::get_proxy_protocol_dst_port
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_host_order
    - NetVConnection::get_proxy_protocol_addr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_proxy_protocol_dst_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:548,1
    - Dst: ink_zero
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: NetVConnection::NetVConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void NetVConnection::NetVConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: NetVConnection::trapWriteBufferEmpty
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetVConnection::trapWriteBufferEmpty(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - service
    argTypes:
    - enum NetVConnection::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: NetVConnection::_get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: 'void *

      NetVConnection::_get_service(enum NetVConnection::Service service) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service
    - instance
    argTypes:
    - enum NetVConnection::Service
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(enum NetVConnection::Service service,
      void *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ALPNSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:575,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<ALPNSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: ALPNSupport
    signature: 'ALPNSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - ALPNSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 3
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(ALPNSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSBasicSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:589,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSBasicSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSBasicSupport
    signature: 'TLSBasicSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSBasicSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 4
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSBasicSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSEventSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:603,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSEventSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSEventSupport
    signature: 'TLSEventSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSEventSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 5
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSEventSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSEarlyDataSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:617,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSEarlyDataSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSEarlyDataSupport
    signature: 'TLSEarlyDataSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSEarlyDataSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 6
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSEarlyDataSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSCertSwitchSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:631,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSCertSwitchSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSCertSwitchSupport
    signature: 'TLSCertSwitchSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSCertSwitchSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 7
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSCertSwitchSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSSNISupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:645,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSSNISupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSSNISupport
    signature: 'TLSSNISupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSSNISupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 8
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSSNISupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSSessionResumptionSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:659,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSSessionResumptionSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSSessionResumptionSupport
    signature: 'TLSSessionResumptionSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSSessionResumptionSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 9
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSSessionResumptionSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TLSTunnelSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:673,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<TLSTunnelSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: TLSTunnelSupport
    signature: 'TLSTunnelSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - TLSTunnelSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 10
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(TLSTunnelSupport *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QUICSupport *>
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:687,1
    - Dst: NetVConnection::_get_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: NetVConnection::get_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - static_cast<QUICSupport *>
    - NetVConnection::_get_service
    linkageType: ''
    returnType: QUICSupport
    signature: 'QUICSupport *

      NetVConnection::get_service() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetVConnection::_set_service
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - QUICSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: NetVConnection::_set_service
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 11
    functionsReached:
    - NetVConnection::_set_service
    linkageType: ''
    returnType: void
    signature: void NetVConnection::_set_service(QUICSupport *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_remote_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: NetVConnection::get_remote_addr
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 6
    functionsReached:
    - set_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      NetVConnection::get_remote_addr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_remote_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: '&

      NetVConnection::get_remote_endpoint()'
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - get_remote_addr
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      NetVConnection::get_remote_endpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:717,1
    - Dst: NetVConnection::get_remote_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: NetVConnection::get_remote_port
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_host_order
    - NetVConnection::get_remote_addr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t NetVConnection::get_remote_port()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_local_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: '&

      NetVConnection::get_local_endpoint()'
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached:
    - get_local_addr
    linkageType: ''
    returnType: IpEndpoint
    signature: 'IpEndpoint &

      NetVConnection::get_local_endpoint()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_local_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:731,1
    - Dst: ats_is_ip
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:732,1
    - Dst: ats_ip_port_cast
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:732,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:733,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:733,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:734,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: NetVConnection::get_local_addr
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - IN6_IS_ADDR_UNSPECIFIED
    - set_local_addr
    - ats_ip_port_cast
    - ats_is_ip6
    - ats_is_ip
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      NetVConnection::get_local_addr()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_port_host_order
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:745,1
    - Dst: NetVConnection::get_local_addr
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: NetVConnection::get_local_port
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 2
    functionsReached:
    - NetVConnection::get_local_addr
    - ats_ip_port_host_order
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t NetVConnection::get_local_port()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpEndpoint::isValid
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:753,1
    - Dst: IpEndpoint::network_order_port
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:753,1
    - Dst: ats_is_ip4
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:753,1
    - Dst: ats_ip4_addr_cast
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:753,1
    - Dst: ats_is_ip6
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:754,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - src_or_dst
    argTypes:
    - ProxyProtocolData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 759
    functionName: NetVConnection::get_proxy_protocol_addr
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 4
    functionsReached:
    - ats_ip4_addr_cast
    - ats_is_ip4
    - IN6_IS_ADDR_UNSPECIFIED
    - IpEndpoint::network_order_port
    - IpEndpoint::isValid
    - ats_is_ip6
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      NetVConnection::get_proxy_protocol_addr(const ProxyProtocolData src_or_dst)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_tlv
      Src: /src/trafficserver/include/iocore/net/NetVConnection.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: NetVConnection::get_proxy_protocol_tlv
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 1
    functionsReached:
    - get_tlv
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> NetVConnection::get_proxy_protocol_tlv(const
      uint8_t tlvCode) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - ProxyProtocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: NetVConnection::set_proxy_protocol_info
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetVConnection::set_proxy_protocol_info(const ProxyProtocol &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: '&

      NetVConnection::get_proxy_protocol_info() const'
    functionSourceFile: /src/trafficserver/include/iocore/net/NetVConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyProtocol
    signature: 'ProxyProtocol &

      NetVConnection::get_proxy_protocol_info() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - h
    - p
    - t
    - a
    argTypes:
    - std::string_view
    - in_port_t
    - SNIRoutingType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: PreWarm::Dst
    functionSourceFile: /src/trafficserver/include/iocore/net/PreWarm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dst(std::string_view h, in_port_t p, SNIRoutingType t, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - h
    - p
    - t
    - a
    argTypes:
    - std::string_view
    - in_port_t
    - SNIRoutingType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: PreWarm::Dst
    functionSourceFile: /src/trafficserver/include/iocore/net/PreWarm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dst(std::string_view h, in_port_t p, SNIRoutingType t, int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/net/SessionAccept.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amutex
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: SessionAccept::SessionAccept
    functionSourceFile: /src/trafficserver/include/iocore/net/SessionAccept.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void SessionAccept(ProxyMutex *amutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~SessionAccept() override
    functionSourceFile: /src/trafficserver/include/iocore/net/SessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SessionAccept() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ProxyProtocol::ProxyProtocol
    functionSourceFile: /src/trafficserver/include/iocore/net/ProxyProtocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyProtocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pp_ver
    - family
    - src
    - dst
    argTypes:
    - ProxyProtocolVersion
    - uint16_t
    - IpEndpoint
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ProxyProtocol::ProxyProtocol
    functionSourceFile: /src/trafficserver/include/iocore/net/ProxyProtocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyProtocol(ProxyProtocolVersion pp_ver, uint16_t family, IpEndpoint
      src, IpEndpoint dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/iocore/net/ProxyProtocol.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~ProxyProtocol()
    functionSourceFile: /src/trafficserver/include/iocore/net/ProxyProtocol.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ~ProxyProtocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: ActionItem::TestClientSNIAction
    functionSourceFile: /src/trafficserver/include/iocore/net/SNIActionItem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool TestClientSNIAction(const char * /* servername ATS_UNUSED */,
      const IpEndpoint & /* ep ATS_UNUSED */,\n                      int & /* policy
      ATS_UNUSED */) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~ActionItem()
    functionSourceFile: /src/trafficserver/include/iocore/net/SNIActionItem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ActionItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: NetState
    functionSourceFile: /src/trafficserver/include/iocore/net/NetEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: NetEvent::NetEvent
    functionSourceFile: /src/trafficserver/include/iocore/net/NetEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~NetEvent()
    functionSourceFile: /src/trafficserver/include/iocore/net/NetEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: NetEvent::has_error
    functionSourceFile: /src/trafficserver/include/iocore/net/NetEvent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NetEvent::has_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/trafficserver/include/iocore/net/NetEvent.h:155,1
    - Dst: NetEvent::get_fd
      Src: /src/trafficserver/include/iocore/net/NetEvent.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: NetEvent::set_error_from_socket
    functionSourceFile: /src/trafficserver/include/iocore/net/NetEvent.h
    functionUses: 0
    functionsReached:
    - getsockopt
    - NetEvent::get_fd
    linkageType: ''
    returnType: void
    signature: void NetEvent::set_error_from_socket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~TLSEarlyDataSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSEarlyDataSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSEarlyDataSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: TSSslHookInternalID::TSSslHookInternalID
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLAPIHooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSSslHookInternalID(TSHttpHookID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: operator int() const
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLAPIHooks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: TSSslHookInternalID::is_in_bounds
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLAPIHooks.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_in_bounds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: NetAcceptEventIO
    functionSourceFile: /src/trafficserver/include/iocore/net/NetAcceptEventIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetAcceptEventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: UDPPacket::setContinuation
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPPacket::setContinuation(Continuation *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conn::Release
      Src: /src/trafficserver/include/iocore/net/UDPPacket.h:146,1
    - Dst: conn::AddRef
      Src: /src/trafficserver/include/iocore/net/UDPPacket.h:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - UDPConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: UDPPacket::setConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPPacket.h
    functionUses: 0
    functionsReached:
    - conn::AddRef
    - conn::Release
    linkageType: ''
    returnType: void
    signature: void UDPPacket::setConnection(UDPConnection *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: UDPPacket::getConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UDPConnection
    signature: 'UDPConnection *

      UDPPacket::getConnection()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chain::get
      Src: /src/trafficserver/include/iocore/net/UDPPacket.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: UDPPacket::getIOBlockChain
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPPacket.h
    functionUses: 1
    functionsReached:
    - chain::get
    linkageType: ''
    returnType: IOBufferBlock
    signature: 'IOBufferBlock *

      UDPPacket::getIOBlockChain()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TSDECL
    functionSourceFile: /src/trafficserver/include/iocore/net/YamlSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSDECL(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: YamlSNIConfig
    functionSourceFile: /src/trafficserver/include/iocore/net/YamlSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YamlSNIConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSLConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: SSLMultiCertConfigLoader::SSLMultiCertConfigLoader
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLMultiCertConfigLoader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLMultiCertConfigLoader(const SSLConfigParams *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~SSLMultiCertConfigLoader()
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLMultiCertConfigLoader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLMultiCertConfigLoader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~TLSSessionResumptionSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSSessionResumptionSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSSessionResumptionSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ALPNSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ALPNSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ALPNSupport::endpoint
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: "Continuation *\n  endpoint() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - outlen
    argTypes:
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: ALPNSupport::getNPN
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getNPN(const unsigned char **out, unsigned int *outlen) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ALPNSupport::getNextProtocolSet
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLNextProtocolSet
    signature: "SSLNextProtocolSet *\n  getNextProtocolSet() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexFor
      Src: /src/trafficserver/include/iocore/net/TLSALPNSupport.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - proto
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: ALPNSupport::set_negotiated_protocol_id
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 0
    functionsReached:
    - indexFor
    linkageType: ''
    returnType: void
    signature: void ALPNSupport::set_negotiated_protocol_id(const swoc::TextView &proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ALPNSupport::get_negotiated_protocol_id
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSALPNSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ALPNSupport::get_negotiated_protocol_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~TLSBasicSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSBasicSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSBasicSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~QUICSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/QUICSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSLConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: QUICMultiCertConfigLoader::QUICMultiCertConfigLoader
    functionSourceFile: /src/trafficserver/include/iocore/net/QUICMultiCertConfigLoader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICMultiCertConfigLoader(const SSLConfigParams *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~TLSTunnelSupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSTunnelSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: TLSTunnelSupport::get_tunnel_type
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNIRoutingType
    signature: SNIRoutingType TLSTunnelSupport::get_tunnel_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: TLSTunnelSupport::has_tunnel_destination
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool TLSTunnelSupport::has_tunnel_destination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: TLSTunnelSupport::get_tunnel_host
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view TLSTunnelSupport::get_tunnel_host() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TLSTunnelSupport::get_tunnel_port
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort TLSTunnelSupport::get_tunnel_port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: TLSTunnelSupport::tunnel_port_is_dynamic
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSTunnelSupport::tunnel_port_is_dynamic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: TLSTunnelSupport::is_decryption_needed
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSTunnelSupport::is_decryption_needed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: TLSTunnelSupport::is_upstream_tls
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLSTunnelSupport::is_upstream_tls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: TLSTunnelSupport::get_tunnel_prewarm_configuration
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSTunnelSupport.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: YamlSNIConfig::TunnelPreWarm
    signature: YamlSNIConfig::TunnelPreWarm TLSTunnelSupport::get_tunnel_prewarm_configuration()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ConnectionTracker::ConnectionTracker
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: '&

      ConnectionTracker::inbound_instance()'
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionTracker::TableSingleton
    signature: 'ConnectionTracker::TableSingleton &

      ConnectionTracker::inbound_instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: '&

      ConnectionTracker::outbound_instance()'
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionTracker::TableSingleton
    signature: 'ConnectionTracker::TableSingleton &

      ConnectionTracker::outbound_instance()'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_hash
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:347,1
    - Dst: ats_ip_port_hash
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:349,1
    - Dst: Key::_hash::fold
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:351,1
    - Dst: ats_ip_port_hash
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:353,1
    - Dst: Key::_hash::fold
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: ConnectionTracker::Group::hash(const Key &key)
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - ats_ip_port_hash
    - Key::_hash::fold
    - ats_ip_hash
    linkageType: ''
    returnType: size_t
    signature: size_t ConnectionTracker::Group::hash(const Key &key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:367,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:370,1
    - Dst: std::string
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:373,1
    - Dst: std::string
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:376,1
    - Dst: ats_ip_nptop
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:376,1
    - Dst: Warning
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:379,1
    - Dst: std::string::empty
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - key
    - fqdn
    - metric_prefix
    argTypes:
    - Key
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: ConnectionTracker::Group::metric_name(const Key &key, std::string_view
      fqdn, std::string metric_prefix)
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - Warning
    - std::string::empty
    - ats_ip_nptop
    - std::string
    - ats_ip_ntop
    linkageType: ''
    returnType: std::string
    signature: std::string ConnectionTracker::Group::metric_name(const Key &key, std::string_view
      fqdn, std::string metric_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: ConnectionTracker::TxnState::is_active()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConnectionTracker::TxnState::is_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:396,1
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:397,1
    - Dst: _count_metric::load
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: ConnectionTracker::TxnState::reserve()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    - ts::Metrics::Gauge::increment
    - _count_metric::load
    linkageType: ''
    returnType: int
    signature: int ConnectionTracker::TxnState::reserve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: ConnectionTracker::TxnState::release()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: ConnectionTracker::TxnState::drop()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::shared_ptr<ConnectionTracker::Group>
    signature: std::shared_ptr<ConnectionTracker::Group> ConnectionTracker::TxnState::drop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionTracker::TxnState::release
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: ConnectionTracker::TxnState::clear()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - ConnectionTracker::TxnState::release
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _count_max::load
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:436,1
    - Dst: _count_max::compare_exchange_weak
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: ConnectionTracker::TxnState::update_max_count(int count)
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - _count_max::compare_exchange_weak
    - _count_max::load
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::update_max_count(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Counter::increment
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: ConnectionTracker::TxnState::blocked()
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::increment
    linkageType: ''
    returnType: void
    signature: void ConnectionTracker::TxnState::blocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: ConnectionTracker::GroupMapHelper::operator()(key_type &key) const
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: size_t
    signature: size_t ConnectionTracker::GroupMapHelper::operator()(key_type &key)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equal
      Src: /src/trafficserver/include/iocore/net/ConnectionTracker.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: ConnectionTracker::GroupMapHelper::operator()(key_type &lhs, key_type
      &rhs) const
    functionSourceFile: /src/trafficserver/include/iocore/net/ConnectionTracker.h
    functionUses: 0
    functionsReached:
    - equal
    linkageType: ''
    returnType: bool
    signature: bool ConnectionTracker::GroupMapHelper::operator()(key_type &lhs, key_type
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~UDPConnection() override
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UDPConnection() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - chc
    argTypes:
    - ClientHelloContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TLSSNISupport::ClientHello::ClientHello
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSSNISupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientHello(ClientHelloContainer chc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~TLSSNISupport()
    functionSourceFile: /src/trafficserver/include/iocore/net/TLSSNISupport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLSSNISupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: "&\n  _dbg_ctl()"
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: "DbgCtl &\n  _dbg_ctl()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ActivityCop::ActivityCop
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivityCop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: NetTimeout::set_active_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void NetTimeout::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: NetTimeout::set_inactive_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void NetTimeout::set_inactive_timeout(ink_hrtime timeout_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: NetTimeout::cancel_active_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetTimeout::cancel_active_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: NetTimeout::cancel_inactive_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetTimeout::cancel_inactive_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: NetTimeout::reset_active_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void NetTimeout::reset_active_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: NetTimeout::reset_inactive_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void NetTimeout::reset_inactive_timeout()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:160,1
    - Dst: Dbg
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:167,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:167,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:168,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:168,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: NetTimeout::is_active_timeout_expired
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_hrtime_to_sec
    - _dbg_ctl
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool NetTimeout::is_active_timeout_expired(ink_hrtime now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:178,1
    - Dst: Dbg
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:185,1
    - Dst: _dbg_ctl
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:185,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:186,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:186,1
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: NetTimeout::is_inactive_timeout_expired
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - Dbg
    - ink_hrtime_to_sec
    - _dbg_ctl
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool NetTimeout::is_inactive_timeout_expired(ink_hrtime now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_hrtime_to_sec
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - now
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: NetTimeout::idle_time
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_hrtime_to_sec
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime NetTimeout::idle_time(ink_hrtime now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: NetTimeout::update_inactivity
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    linkageType: ''
    returnType: void
    signature: void NetTimeout::update_inactivity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ptr<ProxyMutex>::get
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:220,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - l
    - f
    argTypes:
    - Ptr<ProxyMutex>
    - List*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: ActivityCop<T, List>::ActivityCop
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - Ptr<ProxyMutex>::get
    linkageType: ''
    returnType: void
    signature: void ActivityCop<T, List>::ActivityCop(Ptr<ProxyMutex> &m, List *l,
      int f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: this_ethread
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:230,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: ActivityCop<T, List>::start
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - HRTIME_SECONDS
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void ActivityCop<T, List>::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: ActivityCop<T, List>::stop
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void ActivityCop<T, List>::stop()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:248,1
    - Dst: next
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:253,1
    - Dst: MUTEX_TRY_LOCK
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:259,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:259,1
    - Dst: is_locked
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:260,1
    - Dst: T*::is_inactive_timeout_expired
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:265,1
    - Dst: T*::handleEvent
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:266,1
    - Dst: T*::is_active_timeout_expired
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:267,1
    - Dst: T*::handleEvent
      Src: /src/trafficserver/include/iocore/net/NetTimeout.h:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - Event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: ActivityCop<T, List>::check_activity
    functionSourceFile: /src/trafficserver/include/iocore/net/NetTimeout.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - is_locked
    - T*::is_inactive_timeout_expired
    - next
    - MUTEX_TRY_LOCK
    - this_ethread
    - T*::is_active_timeout_expired
    - T*::handleEvent
    linkageType: ''
    returnType: int
    signature: int ActivityCop<T, List>::check_activity(int /* event */, Event *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: SSLError
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLDiags.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vc
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: SSLErrorVC
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLDiags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLErrorVC(vc, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: SSLDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLDiags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vc
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: SSLVCDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLDiags.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLVCDebug(vc, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - DBG_CTL
    - ','
    - BUFFER
    - ','
    - BUFFER_LEN
    - ','
    - MESSAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: SSLDebugBufferPrint
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLDiags.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLDebugBufferPrint(DBG_CTL, BUFFER, BUFFER_LEN, MESSAGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ReadWriteEventIO::ReadWriteEventIO
    functionSourceFile: /src/trafficserver/include/iocore/net/ReadWriteEventIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadWriteEventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: EventIO
    functionSourceFile: /src/trafficserver/include/iocore/net/EventIO.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~EventIO()
    functionSourceFile: /src/trafficserver/include/iocore/net/EventIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: NamedElement
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NamedElement()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - NamedElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: NamedElement
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NamedElement(NamedElement const &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - NamedElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '&operator=(NamedElement const &other)'
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NamedElement
    signature: NamedElement &operator=(NamedElement const &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~NamedElement()
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLSNIConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NamedElement()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: SNIConfigParams::SNIConfigParams
    functionSourceFile: /src/trafficserver/include/iocore/net/SSLSNIConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SNIConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: UDPEventIO::UDPEventIO
    functionSourceFile: /src/trafficserver/include/iocore/net/UDPEventIO.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UDPEventIO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: SocksAddrType
    functionSourceFile: /src/trafficserver/include/iocore/net/Socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SocksAddrType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/iocore/net/Socks.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~SocksAddrType()
    functionSourceFile: /src/trafficserver/include/iocore/net/Socks.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~SocksAddrType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICTransportParameterId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: operator==(const QUICTransportParameterId &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICTransportParameterId &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator==(const uint16_t &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint16_t &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator uint16_t() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint16_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: QUICTransportParameterId::QUICTransportParameterId
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: QUICTransportParameterId::QUICTransportParameterId
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameterId(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: QUICTransportParameters::QUICTransportParameters
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: QUICTransportParametersInClientHello::QUICTransportParametersInClientHello
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParametersInClientHello()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: QUICTransportParametersInEncryptedExtensions::QUICTransportParametersInEncryptedExtensions
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransportParameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransportParametersInEncryptedExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HashTableEntry *>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:49,1
    - Dst: ats_malloc
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: alloc
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 319
    functionsReached:
    - ats_malloc
    - static_cast<HashTableEntry *>
    linkageType: ''
    returnType: HashTableEntry
    signature: "HashTableEntry *\n  alloc()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - HashTableEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: free
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 396
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void free(HashTableEntry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: HashTableIteratorState::HashTableIteratorState
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashTableIteratorState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashTableEntry<key_t, data_t>::HashTableEntry<key_t, data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:89,1
    - Dst: memset
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: IMTHashTable::IMTHashTable
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - memset
    - HashTableEntry<key_t, data_t>::HashTableEntry<key_t, data_t>
    linkageType: ''
    returnType: void
    signature: void IMTHashTable(int size, bool (*gc_func)(data_t) = NULL, void (*pre_gc_func)()
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~IMTHashTable()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~IMTHashTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: IMTHashTable::getBucketNum
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getBucketNum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: IMTHashTable::getCurSize
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getCurSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - a_bucket_num
    argTypes:
    - key_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: IMTHashTable::bucket_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int bucket_id(key_t key, int a_bucket_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMTHashTable::bucket_id
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: IMTHashTable::bucket_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - IMTHashTable::bucket_id
    linkageType: ''
    returnType: int
    signature: int bucket_id(key_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_free
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: IMTHashTable::reset
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - my_free
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: m_pre_gc_func
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:148,1
    - Dst: m_gc_func
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:156,1
    - Dst: ats_free
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 170
    functionName: IMTHashTable::GC
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - m_gc_func
    - ats_free
    - m_pre_gc_func
    linkageType: ''
    returnType: void
    signature: void GC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashTableEntry<key_t, data_t>::HashTableEntry<key_t, data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:176,1
    - Dst: memset
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:177,1
    - Dst: IMTHashTable::bucket_id
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: IMTHashTable::resize
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - memset
    - IMTHashTable::bucket_id
    - HashTableEntry<key_t, data_t>::HashTableEntry<key_t, data_t>
    linkageType: ''
    returnType: void
    signature: void resize(int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bucket_id
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:216,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:223,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:232,1
    - Dst: GC
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:239,1
    - Dst: resize
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:241,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - key_t
    - data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: IMTHashTable<key_t, data_t>::insert_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - GC
    - resize
    - my_data_alloc
    - bucket_id
    - static_cast<data_t>
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::insert_entry(key_t key, data_t
      data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bucket_id
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:251,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:252,1
    - Dst: my_free
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: IMTHashTable<key_t, data_t>::remove_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - bucket_id
    - static_cast<data_t>
    - my_free
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::remove_entry(key_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bucket_id
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:277,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: IMTHashTable<key_t, data_t>::lookup_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - bucket_id
    - static_cast<data_t>
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::lookup_entry(key_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bucket_id
    - s
    argTypes:
    - int
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: IMTHashTable<key_t, data_t>::first_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - static_cast<data_t>
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::first_entry(int bucket_id, HashTableIteratorState<key_t,
      data_t> *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: IMTHashTable<key_t, data_t>::next_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - static_cast<data_t>
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::next_entry(HashTableIteratorState<key_t,
      data_t> *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: IMTHashTable<key_t, data_t>::cur_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - static_cast<data_t>
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::cur_entry(HashTableIteratorState<key_t,
      data_t> *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:328,1
    - Dst: my_free
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: IMTHashTable<key_t, data_t>::remove_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - static_cast<data_t>
    - my_free
    linkageType: ''
    returnType: data_t
    signature: data_t IMTHashTable<key_t, data_t>::remove_entry(HashTableIteratorState<key_t,
      data_t> *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:345,1
    - Dst: std::make_unique<IMTHashTable<key_t, data_t>>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: MTHashTable::MTHashTable
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - std::make_unique<IMTHashTable<key_t, data_t>>
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void MTHashTable(int size, bool (*gc_func)(data_t) = NULL, void (*pre_gc_func)()
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: ~MTHashTable()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MTHashTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTHashTable::part_num
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: MTHashTable::lock_for_key
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - MTHashTable::part_num
    linkageType: ''
    returnType: Ptr<ProxyMutex>
    signature: Ptr<ProxyMutex> lock_for_key(key_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: MTHashTable::getSize
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: MTHashTable::part_num
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int part_num(key_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTHashTable::part_num
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:379,1
    - Dst: MTHashTable::insert_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - key_t
    - data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: MTHashTable::insert_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - MTHashTable::insert_entry
    - MTHashTable::part_num
    linkageType: ''
    returnType: data_t
    signature: data_t insert_entry(key_t key, data_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTHashTable::part_num
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:385,1
    - Dst: MTHashTable::remove_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: MTHashTable::remove_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - MTHashTable::part_num
    - MTHashTable::remove_entry
    linkageType: ''
    returnType: data_t
    signature: data_t remove_entry(key_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTHashTable::part_num
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:390,1
    - Dst: MTHashTable::lookup_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: MTHashTable::lookup_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - MTHashTable::part_num
    - MTHashTable::lookup_entry
    linkageType: ''
    returnType: data_t
    signature: data_t lookup_entry(key_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:396,1
    - Dst: getBucketNum
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:397,1
    - Dst: MTHashTable::first_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:398,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:399,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - part_id
    - s
    argTypes:
    - int
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: MTHashTable::first_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - MTHashTable::first_entry
    - static_cast<data_t>
    - getBucketNum
    linkageType: ''
    returnType: data_t
    signature: data_t first_entry(int part_id, HashTableIteratorState<key_t, data_t>
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMTHashTable<key_t, data_t>::cur_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:409,1
    - Dst: MTHashTable::next_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - part_id
    - s
    argTypes:
    - int
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: MTHashTable::cur_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 0
    functionsReached:
    - MTHashTable::next_entry
    - IMTHashTable<key_t, data_t>::cur_entry
    linkageType: ''
    returnType: data_t
    signature: data_t cur_entry(int part_id, HashTableIteratorState<key_t, data_t>
      *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IMTHashTable<key_t, data_t>::next_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:418,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:419,1
    - Dst: getBucketNum
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:422,1
    - Dst: MTHashTable::first_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:423,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:424,1
    - Dst: static_cast<data_t>
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - part_id
    - s
    argTypes:
    - int
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: MTHashTable::next_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 1
    functionsReached:
    - MTHashTable::first_entry
    - IMTHashTable<key_t, data_t>::next_entry
    - static_cast<data_t>
    - getBucketNum
    linkageType: ''
    returnType: data_t
    signature: data_t next_entry(int part_id, HashTableIteratorState<key_t, data_t>
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTHashTable::remove_entry
      Src: /src/trafficserver/include/iocore/net/quic/MTHashTable.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - part_id
    - s
    argTypes:
    - int
    - HashTableIteratorState<key_t, data_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: MTHashTable::remove_entry
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/MTHashTable.h
    functionUses: 2
    functionsReached:
    - MTHashTable::remove_entry
    linkageType: ''
    returnType: data_t
    signature: data_t remove_entry(int part_id, HashTableIteratorState<key_t, data_t>
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~QUICApplicationMap()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICApplicationMap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICApplicationMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: QUICDebug::to_hex
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICDebugNames.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_hex(uint8_t *out, const uint8_t *in, int in_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICTransferProgressProvider::transfer_progress
      Src: /src/trafficserver/include/iocore/net/quic/QUICTransferProgressProvider.h:42,1
    - Dst: QUICTransferProgressProvider::transfer_goal
      Src: /src/trafficserver/include/iocore/net/quic/QUICTransferProgressProvider.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: QUICTransferProgressProvider::is_transfer_complete
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransferProgressProvider.h
    functionUses: 0
    functionsReached:
    - QUICTransferProgressProvider::transfer_progress
    - QUICTransferProgressProvider::transfer_goal
    linkageType: ''
    returnType: bool
    signature: bool is_transfer_complete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: QUICTransferProgressProviderVIO::QUICTransferProgressProviderVIO
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTransferProgressProvider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICTransferProgressProviderVIO(VIO &vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ~QUICError()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: QUICError::QUICError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - error_class
    - error_code
    argTypes:
    - QUICErrorClass
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: QUICError::QUICError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICError(QUICErrorClass error_class, uint16_t error_code, const
      char *error_msg = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: QUICConnectionError::QUICConnectionError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICConnectionError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - QUICTransErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: QUICConnectionError::QUICConnectionError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 4
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: "void QUICConnectionError(QUICTransErrorCode error_code, const char
      *error_msg = nullptr,\n                      QUICFrameType frame_type = QUICFrameType::UNKNOWN)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - error_class
    - error_code
    argTypes:
    - QUICErrorClass
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: QUICConnectionError::QUICConnectionError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void QUICConnectionError(QUICErrorClass error_class, uint16_t error_code,
      const char *error_msg = nullptr,\n                      QUICFrameType frame_type
      = QUICFrameType::UNKNOWN)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: QUICStreamError::QUICStreamError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - error_code
    argTypes:
    - QUICStream*
    - QUICTransErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: QUICStreamError::QUICStreamError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void QUICStreamError(const QUICStream *s, const QUICTransErrorCode
      error_code, const char *error_msg = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - error_code
    argTypes:
    - QUICStream*
    - QUICAppErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: QUICStreamError::QUICStreamError
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void QUICStreamError(const QUICStream *s, const QUICAppErrorCode error_code,
      const char *error_msg = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hashcode
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: operator uint64_t() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - _hashcode
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: operator const uint8_t *() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const uint8_t *() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICConnectionId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: operator==(const QUICConnectionId &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICConnectionId &x) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICConnectionId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: operator!=(const QUICConnectionId &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const QUICConnectionId &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: QUICStatelessResetToken::QUICStatelessResetToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStatelessResetToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: QUICStatelessResetToken::QUICStatelessResetToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void QUICStatelessResetToken(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hashcode
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: operator uint64_t() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - _hashcode
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICStatelessResetToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: operator==(const QUICStatelessResetToken &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICStatelessResetToken &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICStatelessResetToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: operator!=(const QUICStatelessResetToken &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const QUICStatelessResetToken &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: QUICStatelessResetToken::buf
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n  buf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: QUICAddressValidationToken::QUICAddressValidationToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void QUICAddressValidationToken(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~QUICAddressValidationToken()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICAddressValidationToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:336,1
    - Dst: static_cast<Type>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:336,1
    - Dst: static_cast<Type>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:336,1
    - Dst: static_cast<Type>
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: QUICAddressValidationToken::type
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - ink_assert
    linkageType: ''
    returnType: Type
    signature: Type type(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: QUICAddressValidationToken::buf
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n  buf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: QUICAddressValidationToken::length
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: QUICAddressValidationToken::QUICAddressValidationToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICAddressValidationToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: QUICResumptionToken::QUICResumptionToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICResumptionToken(const uint8_t *buf, uint8_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICResumptionToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: operator==(const QUICResumptionToken &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICResumptionToken &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: QUICRetryToken::QUICRetryToken
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICRetryToken(const uint8_t *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICRetryToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: operator==(const QUICRetryToken &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICRetryToken &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - endpoint_ipv4
    - endpoint_ipv6
    - cid
    - token
    argTypes:
    - IpEndpoint
    - IpEndpoint
    - QUICConnectionId
    - QUICStatelessResetToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: QUICPreferredAddress::QUICPreferredAddress
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void QUICPreferredAddress(IpEndpoint endpoint_ipv4, IpEndpoint endpoint_ipv6,
      const QUICConnectionId &cid,\n                       QUICStatelessResetToken
      token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: QUICFiveTuple::QUICFiveTuple
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICFiveTuple()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _local_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:474,1
    - Dst: QUICPath::_local_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:474,1
    - Dst: _local_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:475,1
    - Dst: QUICPath::_local_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:475,1
    - Dst: _remote_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:479,1
    - Dst: QUICPath::_remote_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:479,1
    - Dst: _remote_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:480,1
    - Dst: QUICPath::_remote_ep::network_order_port
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:480,1
    - Dst: IpAddr
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:484,1
    - Dst: IpAddr
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:484,1
    - Dst: IpAddr
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:488,1
    - Dst: IpAddr
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:488,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - QUICPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: operator==(const QUICPath &x) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - QUICPath::_local_ep::network_order_port
    - IpAddr
    - _local_ep::network_order_port
    - QUICPath::_remote_ep::network_order_port
    - _remote_ep::network_order_port
    linkageType: ''
    returnType: bool
    signature: bool operator==(const QUICPath &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICPath::remote_ep
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - QUICPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: operator()(const QUICPath &k) const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - QUICPath::remote_ep
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const QUICPath &k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/net/quic/QUICTypes.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: QUICPathValidationData::QUICPathValidationData
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void QUICPathValidationData(const uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: operator const uint8_t *() const
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const uint8_t *() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: ~QUICTPConfig()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICTPConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: ~QUICLDConfig()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICLDConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: ~QUICCCConfig()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICCCConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - generator
    argTypes:
    - QUICFrameId
    - QUICFrameGenerator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: FrameInfo::FrameInfo
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrameInfo(QUICFrameId id, QUICFrameGenerator *generator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: ~QUICRTTProvider()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICTypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICRTTProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: QUICConnectionTable::QUICConnectionTable
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICConnectionTable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICConnectionTable(int hash_table_size = 65521)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: QUICConfigParams::QUICConfigParams
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: QUICStreamAdapter::QUICStreamAdapter
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamAdapter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStreamAdapter(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~QUICStreamAdapter()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamAdapter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICStreamAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: "&\n  stream()"
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamAdapter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICStream
    signature: "QUICStream &\n  stream()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:83,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: QUICStreamVCAdapter::IOInfo::IOInfo
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 1
    functionsReached:
    - new_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void IOInfo(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_io_close
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:88,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:89,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: ~IOInfo()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 0
    functionsReached:
    - do_io_close
    - free_MIOBuffer
    linkageType: ''
    returnType: void
    signature: void ~IOInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_io_read
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:96,1
    - Dst: set_reader
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:103,1
    - Dst: alloc_reader
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:103,1
    - Dst: encourge_read
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: QUICStreamVCAdapter::IOInfo::setup_read_vio
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 0
    functionsReached:
    - alloc_reader
    - do_io_read
    - set_reader
    - encourge_read
    linkageType: ''
    returnType: void
    signature: void setup_read_vio(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_io_write
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:110,1
    - Dst: alloc_reader
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:110,1
    - Dst: encourge_write
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: QUICStreamVCAdapter::IOInfo::setup_write_vio
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 0
    functionsReached:
    - alloc_reader
    - encourge_write
    - do_io_write
    linkageType: ''
    returnType: void
    signature: void setup_write_vio(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_continuation
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: QUICStreamVCAdapter::IOInfo::update_read_vio
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 0
    functionsReached:
    - set_continuation
    linkageType: ''
    returnType: void
    signature: void update_read_vio(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_continuation
      Src: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Continuation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: QUICStreamVCAdapter::IOInfo::update_write_vio
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStreamVCAdapter.h
    functionUses: 0
    functionsReached:
    - set_continuation
    linkageType: ''
    returnType: void
    signature: void update_write_vio(Continuation *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: QUICStream::QUICStream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: ~QUICStreamStateListener()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICStreamStateListener()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: QUICStreamDbgCtl::quic_stream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      quic_stream()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: QUICStreamDbgCtl::v_quic_stream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      v_quic_stream()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: QUICStreamDbgCtl::quic_flow_ctrl
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      quic_flow_ctrl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: QUICStreamDbgCtl::v_quic_flow_ctrl
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      v_quic_flow_ctrl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: QUICStreamDbgCtl::quic_stream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      quic_stream()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: QUICStreamDbgCtl::v_quic_stream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      v_quic_stream()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: QUICStreamDbgCtl::quic_flow_ctrl
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      quic_flow_ctrl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: QUICStreamDbgCtl::v_quic_flow_ctrl
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      v_quic_flow_ctrl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: QUICStreamDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICStreamDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: QUICVStreamDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICVStreamDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: QUICStreamFCDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICStreamFCDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: QUICVStreamFCDebug
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICStream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUICVStreamFCDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: MockQUICLDConfig::packet_threshold
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t packet_threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: MockQUICLDConfig::time_threshold
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float time_threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: MockQUICLDConfig::granularity
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime granularity() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: MockQUICLDConfig::initial_rtt
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime initial_rtt() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: MockQUICCCConfig::max_datagram_size
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t max_datagram_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: MockQUICCCConfig::initial_window
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t initial_window() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: MockQUICCCConfig::minimum_window
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_window() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: MockQUICCCConfig::loss_reduction_factor
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float loss_reduction_factor() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: MockQUICCCConfig::persistent_congestion_threshold
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t persistent_congestion_threshold() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: MockQUICConnectionInfoProvider::connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: MockQUICConnectionInfoProvider::peer_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId peer_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: MockQUICConnectionInfoProvider::original_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId original_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: MockQUICConnectionInfoProvider::first_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId first_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: MockQUICConnectionInfoProvider::retry_source_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId retry_source_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: MockQUICConnectionInfoProvider::initial_source_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId initial_source_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICFiveTuple
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: MockQUICConnectionInfoProvider::five_tuple
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - QUICFiveTuple
    linkageType: ''
    returnType: QUICFiveTuple
    signature: QUICFiveTuple five_tuple() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: MockQUICConnectionInfoProvider::cids
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view cids() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: MockQUICConnectionInfoProvider::pmtu
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pmtu() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: MockQUICConnectionInfoProvider::direction
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t direction() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: MockQUICConnectionInfoProvider::is_closed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: MockQUICConnectionInfoProvider::is_at_anti_amplification_limit
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_at_anti_amplification_limit() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: MockQUICConnectionInfoProvider::is_address_validation_completed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_address_validation_completed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: MockQUICConnectionInfoProvider::is_handshake_completed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_handshake_completed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: MockQUICConnectionInfoProvider::negotiated_version
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICVersion
    signature: QUICVersion negotiated_version() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: MockQUICConnectionInfoProvider::negotiated_application_name
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view negotiated_application_name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - QUICContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: MockQUICStreamManager::MockQUICStreamManager
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockQUICStreamManager(QUICContext *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: MockQUICStreamManager::getStreamFrameCount
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int getStreamFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: MockQUICStreamManager::getAckFrameCount
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int getAckFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: MockQUICStreamManager::getPingFrameCount
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int getPingFrameCount()
  - 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: MockQUICStreamManager::getTotalFrameCount
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getTotalFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: MockNetVConnection::MockNetVConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockNetVConnection(NetVConnectionContext_t context = NET_VCONNECTION_OUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: MockNetVConnection::do_io_read
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VIO
    signature: "VIO *\n  do_io_read(Continuation * /* c ATS_UNUSED */, int64_t /*
      nbytes ATS_UNUSED */, MIOBuffer * /* buf ATS_UNUSED */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: MockNetVConnection::do_io_write
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VIO
    signature: "VIO *\n  do_io_write(Continuation * /* c ATS_UNUSED */, int64_t /*
      nbytes ATS_UNUSED */, IOBufferReader * /* buf ATS_UNUSED */,\n              bool
      /* owner  ATS_UNUSED */ = false) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: MockNetVConnection::add_to_active_queue
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool add_to_active_queue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: MockNetVConnection::get_active_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime get_active_timeout() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: MockNetVConnection::get_inactivity_timeout
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime get_inactivity_timeout() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: MockNetVConnection::apply_options
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void apply_options() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: MockNetVConnection::get_socket
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET get_socket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: MockNetVConnection::set_tcp_init_cwnd
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_tcp_init_cwnd(int /* init_cwnd ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: MockNetVConnection::set_tcp_congestion_control
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_tcp_congestion_control(tcp_congestion_control_side /* side
      ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: MockNetVConnection::get_context
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t get_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: MockQUICConnection::MockQUICConnection
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void MockQUICConnection(NetVConnectionContext_t context = NET_VCONNECTION_OUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: MockQUICConnection::connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: MockQUICConnection::peer_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId peer_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: MockQUICConnection::original_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId original_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: MockQUICConnection::first_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId first_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: MockQUICConnection::retry_source_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId retry_source_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: MockQUICConnection::initial_source_connection_id
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: QUICConnectionId
    signature: QUICConnectionId initial_source_connection_id() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUICFiveTuple
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: MockQUICConnection::five_tuple
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - QUICFiveTuple
    linkageType: ''
    returnType: QUICFiveTuple
    signature: QUICFiveTuple five_tuple() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: MockQUICConnection::cids
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view cids() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: MockQUICConnection::pmtu
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pmtu() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: MockQUICConnection::direction
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetVConnectionContext_t
    signature: NetVConnectionContext_t direction() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: MockQUICConnection::close_quic_connection
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void close_quic_connection(QUICConnectionErrorUPtr /* error ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: MockQUICConnection::reset_quic_connection
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_quic_connection() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: MockQUICConnection::getTotalFrameCount
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getTotalFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: MockQUICConnection::stream_manager
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICStreamManager
    signature: "QUICStreamManager *\n  stream_manager() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: MockQUICConnection::is_closed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: MockQUICConnection::is_at_anti_amplification_limit
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_at_anti_amplification_limit() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: MockQUICConnection::is_address_validation_completed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_address_validation_completed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: MockQUICConnection::is_handshake_completed
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_handshake_completed() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: MockQUICConnection::handle_received_packet
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_received_packet(UDPPacket *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: MockQUICConnection::ping
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ping() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: MockQUICConnection::negotiated_version
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICVersion
    signature: QUICVersion negotiated_version() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: MockQUICConnection::negotiated_application_name
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view negotiated_application_name() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockQUICConnectionInfoProvider>
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: MockQUICContext::MockQUICContext
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - std::make_unique<MockQUICConnectionInfoProvider>
    linkageType: ''
    returnType: void
    signature: void MockQUICContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: MockQUICContext::connection_info
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QUICConnectionInfoProvider
    signature: "QUICConnectionInfoProvider *\n  connection_info() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: MockQUICContext::config
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUICConfig::scoped_config
    signature: QUICConfig::scoped_config config() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: MockQUICStreamAdapter::MockQUICStreamAdapter
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockQUICStreamAdapter(QUICStream &stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: MockQUICStreamAdapter::write_to_stream
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_to_stream(const uint8_t * /* buf ATS_UNUSED */, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data_length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: MockQUICStreamAdapter::write
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t write(QUICOffset /* offset ATS_UNUSED */, const uint8_t *
      /* data ATS_UNUSED */, uint64_t data_length,\n        bool /* fin ATS_UNUSED
      */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: MockQUICStreamAdapter::is_eos
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_eos() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: MockQUICStreamAdapter::unread_len
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t unread_len() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: MockQUICStreamAdapter::read_len
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read_len() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: MockQUICStreamAdapter::total_len
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t total_len() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: MockQUICStreamAdapter::encourge_read
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encourge_read() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: MockQUICStreamAdapter::encourge_write
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encourge_write() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: MockQUICStreamAdapter::notify_eos
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void notify_eos() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ptr
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:523,1
    - Dst: new_IOBufferBlock
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:523,1
    - Dst: Ptr::alloc
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:524,1
    - Dst: iobuffer_size_to_index
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:524,1
    - Dst: Ptr::fill
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 527
    functionName: MockQUICStreamAdapter::_read
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - Ptr::fill
    - make_ptr
    - Ptr::alloc
    - new_IOBufferBlock
    - iobuffer_size_to_index
    linkageType: ''
    returnType: Ptr<IOBufferBlock>
    signature: Ptr<IOBufferBlock> _read(size_t len) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - QUICConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: MockQUICApplication::MockQUICApplication
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void MockQUICApplication(QUICConnection *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: MockQUICApplication::main_event_handler
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main_event_handler(int event, Event * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockQUICApplication::_streams::emplace
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:551,1
    - Dst: QUICStream::id
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:551,1
    - Dst: QUICStream::set_io_adapter
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - QUICStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: MockQUICApplication::on_stream_open
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - QUICStream::id
    - MockQUICApplication::_streams::emplace
    - QUICStream::set_io_adapter
    linkageType: ''
    returnType: void
    signature: void on_stream_open(QUICStream &stream) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: MockQUICApplication::on_stream_close
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_stream_close(QUICStream & /* stream ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockQUICApplication::_streams::find
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:564,1
    - Dst: auto::write_to_stream
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - stream_id
    argTypes:
    - uint8_t*
    - size_t
    - QUICStreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: MockQUICApplication::send
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - MockQUICApplication::_streams::find
    - auto::write_to_stream
    linkageType: ''
    returnType: void
    signature: void send(const uint8_t *data, size_t size, QUICStreamId stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: MockContinuation::MockContinuation
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void MockContinuation(Ptr<ProxyMutex> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: MockContinuation::event_handler
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_handler(int /* event ATS_UNUSED */, Event * /* data ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: MockQUICRTTProvider::latest_rtt
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime latest_rtt() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: MockQUICRTTProvider::rttvar
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime rttvar() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: MockQUICRTTProvider::smoothed_rtt
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime smoothed_rtt() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HRTIME_MSECONDS
      Src: /src/trafficserver/include/iocore/net/quic/Mock.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: MockQUICRTTProvider::congestion_period
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/Mock.h
    functionUses: 0
    functionsReached:
    - HRTIME_MSECONDS
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime congestion_period(uint32_t /* threshold ATS_UNUSED */) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~QUICConnectionInfoProvider()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICConnection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICConnectionInfoProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~QUICContext()
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICContext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QUICContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: QUICContext::QUICContext
    functionSourceFile: /src/trafficserver/include/iocore/net/quic/QUICContext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QUICContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:89,1
    - Dst: ATSHash32FNV1a::ATSHash32FNV1a
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:92,1
    - Dst: ATSHash32FNV1a::update
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:93,1
    - Dst: strlen
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:93,1
    - Dst: equal_nocase
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:93,1
    - Dst: ATSHash32FNV1a::final
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:94,1
    - Dst: ATSHash32FNV1a::get
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: makeHostHash
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 2
    functionsReached:
    - ATSHash32FNV1a::update
    - ATSHash32FNV1a::get
    - ATSHash32FNV1a::ATSHash32FNV1a
    - strlen
    - ATSHash32FNV1a::final
    - equal_nocase
    - ink_assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int makeHostHash(const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: HostDBInfo
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:222,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:222,1
    - Dst: static_cast<const void *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - HostDBInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: '&

      HostDBInfo::operator=(HostDBInfo const &that)'
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<const void *>
    - static_cast<void *>
    linkageType: ''
    returnType: HostDBInfo
    signature: 'HostDBInfo &

      HostDBInfo::operator=(HostDBInfo const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: HostDBInfo::last_fail_time
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_time
    signature: ts_time HostDBInfo::last_fail_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::last_fail_time
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: HostDBInfo::is_alive
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::last_fail_time
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::is_alive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::last_fail_time
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - now
    - fail_window
    argTypes:
    - ts_time
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: HostDBInfo::is_down
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::last_fail_time
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::is_down(ts_time now, ts_seconds fail_window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:249,1
    - Dst: store
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: HostDBInfo::mark_up
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - exchange
    - store
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::mark_up()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ts_time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: HostDBInfo::mark_down
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - compare_exchange_strong
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::mark_down(ts_time now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::mark_down
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:270,1
    - Dst: std::make_pair
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - now
    - max_retries
    argTypes:
    - ts_time
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: HostDBInfo::increment_fail_count
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::mark_down
    - std::make_pair
    linkageType: ''
    returnType: std::pair<bool, uint8_t>
    signature: std::pair<bool, uint8_t> HostDBInfo::increment_fail_count(ts_time now,
      uint8_t max_retries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::last_fail_time
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - now
    - fail_window
    argTypes:
    - ts_time
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: HostDBInfo::select
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::last_fail_time
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::select(ts_time now, ts_seconds fail_window) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::self_type::last_failure::load
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:289,1
    - Dst: HostDBInfo::self_type::fail_count::load
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - HostDBInfo::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: HostDBInfo::migrate_from
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::self_type::last_failure::load
    - HostDBInfo::self_type::fail_count::load
    linkageType: ''
    returnType: void
    signature: void HostDBInfo::migrate_from(HostDBInfo::self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: HostDBInfo::is_valid
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HostDBInfo::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: HostDBInfo::invalidate
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBInfo::invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: HostDBRecord::HostDBRecord
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: HostDBRecord::HostDBRecord
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBRecord(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:533,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: HostDBRecord::apply_offset
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: T
    signature: "T *\n  apply_offset(unsigned offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T const *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:540,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: HostDBRecord::apply_offset
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T const *>
    - reinterpret_cast<char const *>
    linkageType: ''
    returnType: T
    signature: "T *\n  apply_offset(unsigned offset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: ResolveInfo
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResolveInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: ~ResolveInfo()
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResolveInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: Options
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Options()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: "&\n    setFlags(int f)"
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self
    signature: "self &\n    setFlags(int f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: HostDBProcessor
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: HostDBRecord::is_srv
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::is_srv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::apply_offset
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: HostDBRecord::name
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - HostDBRecord::apply_offset
    linkageType: ''
    returnType: char
    signature: 'char *

      HostDBRecord::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::name
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: HostDBRecord::name_view
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBRecord::name
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView HostDBRecord::name_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_seconds
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: HostDBRecord::expiry_time
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - ts_seconds
    linkageType: ''
    returnType: ts_time
    signature: ts_time HostDBRecord::expiry_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:779,1
    - Dst: std::chrono::duration_cast<ts_seconds>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:779,1
    - Dst: load
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: HostDBRecord::ip_age
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - load
    - std::chrono::duration_cast<ts_seconds>
    - std::clamp
    linkageType: ''
    returnType: ts_seconds
    signature: ts_seconds HostDBRecord::ip_age() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::clamp
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:787,1
    - Dst: std::chrono::duration_cast<ts_seconds>
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:787,1
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 788
    functionName: HostDBRecord::ip_time_remaining
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<ts_seconds>
    - HostDBRecord::ip_age
    - std::clamp
    linkageType: ''
    returnType: ts_seconds
    signature: ts_seconds HostDBRecord::ip_time_remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_seconds
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:794,1
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:794,1
    - Dst: ts_seconds
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: HostDBRecord::is_ip_configured_stale
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBRecord::ip_age
    - ts_seconds
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::is_ip_configured_stale() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 801
    functionName: HostDBRecord::is_ip_timeout
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBRecord::ip_age
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::is_ip_timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::ip_age
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:806,1
    - Dst: ts_seconds
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 807
    functionName: HostDBRecord::is_ip_fail_timeout
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - HostDBRecord::ip_age
    - ts_seconds
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::is_ip_fail_timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: HostDBRecord::refresh_ip
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBRecord::refresh_ip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::apply_offset
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: HostDBRecord::rr_info
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 4
    functionsReached:
    - HostDBRecord::apply_offset
    linkageType: ''
    returnType: swoc::MemSpan<HostDBInfo>
    signature: swoc::MemSpan<HostDBInfo> HostDBRecord::rr_info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: HostDBRecord::is_failed
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HostDBRecord::is_failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: HostDBRecord::set_failed
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostDBRecord::set_failed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: HostDBRecord::rr_idx
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short HostDBRecord::rr_idx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: HostDBRecord::rr_idx
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short HostDBRecord::rr_idx(unsigned short delta) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBRecord::apply_offset
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - HostDBInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: HostDBRecord::index_of
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - HostDBRecord::apply_offset
    linkageType: ''
    returnType: int
    signature: int HostDBRecord::index_of(HostDBInfo const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResolveInfo::set_active
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:856,1
    - Dst: find
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: ResolveInfo::set_active
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - find
    - ResolveInfo::set_active
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::set_active(sockaddr const *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark_up
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: ResolveInfo::mark_active_server_alive
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - mark_up
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::mark_active_server_alive()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark_down
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - now
    argTypes:
    - ts_time
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: ResolveInfo::mark_active_server_down
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - mark_down
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::mark_active_server_down(ts_time now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: ResolveInfo::set_active
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::set_active(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: ResolveInfo::set_upstream_address
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::set_upstream_address(sockaddr const *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: ResolveInfo::set_upstream_port
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResolveInfo::set_upstream_port(in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResolveInfo::is_srv
      Src: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: ResolveInfo::is_srv
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostDBProcessor.h
    functionUses: 1
    functionsReached:
    - ResolveInfo::is_srv
    linkageType: ''
    returnType: bool
    signature: bool ResolveInfo::is_srv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - ts_seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: HostFile
    functionSourceFile: /src/trafficserver/include/iocore/hostdb/HostFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostFile(ts_seconds ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: OneWayTunnel
    functionSourceFile: /src/trafficserver/include/iocore/utils/OneWayTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OneWayTunnel(const OneWayTunnel &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '&operator=(const OneWayTunnel &)'
    functionSourceFile: /src/trafficserver/include/iocore/utils/OneWayTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OneWayTunnel
    signature: OneWayTunnel &operator=(const OneWayTunnel &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: operator()(std::string_view const &lhs, std::string_view const &rhs)
      const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string_view const &lhs, std::string_view const
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: operator()(swoc::TextView const &lhs, swoc::TextView const &rhs)
      const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(swoc::TextView const &lhs, swoc::TextView const &rhs)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: operator()(std::string const &lhs, std::string const &rhs) const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string const &lhs, std::string const &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: operator()(std::string_view const &lhs, std::string_view const &rhs)
      const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string_view const &lhs, std::string_view const
      &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: operator()(swoc::TextView const &lhs, swoc::TextView const &rhs)
      const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(swoc::TextView const &lhs, swoc::TextView const &rhs)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/include/iocore/utils/Machine.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: operator()(std::string const &lhs, std::string const &rhs) const
    functionSourceFile: /src/trafficserver/include/iocore/utils/Machine.h
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string const &lhs, std::string const &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - span_diskid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: operator<(const span_diskid_t &rhs) const
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const span_diskid_t &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - span_diskid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: operator==(const span_diskid_t &rhs) const
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const span_diskid_t &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: "&\n  operator[](unsigned i)"
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t &\n  operator[](unsigned i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: size
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 643
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: end
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 519
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Span
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/iocore/cache/Store.h:123,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/iocore/cache/Store.h:123,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/include/iocore/cache/Store.h:123,1
    - Dst: static_cast<Span *>
      Src: /src/trafficserver/include/iocore/cache/Store.h:123,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/cache/Store.h:125,1
    - Dst: ats_strdup
      Src: /src/trafficserver/include/iocore/cache/Store.h:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: Span
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 26
    functionsReached:
    - memcpy
    - reinterpret_cast<intptr_t>
    - static_cast<void *>
    - ats_strdup
    - static_cast<Span *>
    linkageType: ''
    returnType: void
    signature: void Span(Span const &that)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Span **>
      Src: /src/trafficserver/include/iocore/cache/Store.h:145,1
    - Dst: ats_realloc
      Src: /src/trafficserver/include/iocore/cache/Store.h:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: extend
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 1
    functionsReached:
    - ats_realloc
    - static_cast<Span **>
    linkageType: ''
    returnType: void
    signature: void extend(unsigned i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Store
    functionSourceFile: /src/trafficserver/include/iocore/cache/Store.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Store()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: CacheProcessor
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: waitForCache
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int waitForCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CALLBACK_FUNC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: CacheProcessor::afterInitCallbackSet
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheProcessor::afterInitCallbackSet(CALLBACK_FUNC cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/iocore/cache/Cache.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: do_io_shutdown
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 17
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void do_io_shutdown(ShutdownHowTo_t /* howto ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: is_compressed_in_ram
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_compressed_in_ram() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: get_volume_number
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_volume_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: get_disk_path
    functionSourceFile: /src/trafficserver/include/iocore/cache/Cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_disk_path() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: HttpConfigAccessor::HttpConfigAccessor
    functionSourceFile: /src/trafficserver/include/iocore/cache/HttpConfigAccessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpConfigAccessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~HttpConfigAccessor()
    functionSourceFile: /src/trafficserver/include/iocore/cache/HttpConfigAccessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpConfigAccessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: FileManager::ConfigManager::acquireLock
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void acquireLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: FileManager::ConfigManager::releaseLock
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached:
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void releaseLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: FileManager::ConfigManager::getFileName
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n    getFileName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: FileManager::ConfigManager::getConfigName
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n    getConfigName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: FileManager::ConfigManager::isChildManaged
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isChildManaged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: FileManager::ConfigManager::getParentConfig
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigManager
    signature: "ConfigManager *\n    getParentConfig() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: FileManager::ConfigManager::rootAccessNeeded
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rootAccessNeeded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: FileManager::ConfigManager::getIsRequired
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getIsRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: FileManager::ConfigManager::ConfigManager
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigManager(const ConfigManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '&operator=(const ConfigManager &)'
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigManager
    signature: ConfigManager &operator=(const ConfigManager &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - obj
    argTypes:
    - FileManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: FileManager::FileManager
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileManager(const FileManager &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '&operator=(FileManager const &)'
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileManager
    signature: FileManager &operator=(FileManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_front
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:137,1
    - Dst: std::move
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - CallbackType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: FileManager::registerCallback
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 1
    functionsReached:
    - push_front
    - std::move
    linkageType: ''
    returnType: void
    signature: void registerCallback(CallbackType f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileManager::FileManager
      Src: /src/trafficserver/include/mgmt/config/FileManager.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: "&\n  instance()"
    functionSourceFile: /src/trafficserver/include/mgmt/config/FileManager.h
    functionUses: 0
    functionsReached:
    - FileManager::FileManager
    linkageType: ''
    returnType: FileManager
    signature: "FileManager &\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: rpc::specs::RPCResponseInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResponseInfo(std::string const &id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: rpc::specs::RPCResponseInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: rpc::specs::RPCRequestInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCRequestInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - version
    - mid
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: rpc::specs::RPCRequestInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCRequestInfo(std::string const &version, std::string const &mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: rpc::specs::is_notification
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool is_notification() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::specs::is_notification
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: rpc::specs::is_method
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - rpc::specs::is_notification
    linkageType: ''
    returnType: bool
    signature: bool is_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: rpc::specs::RPCMessage::Metadata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - batch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: rpc::specs::RPCMessage::Metadata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metadata(bool batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: rpc::specs::RPCMessage::RPCMessage
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - isBatch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: rpc::specs::RPCMessage::RPCMessage
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCMessage(bool isBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:142,1
    - Dst: std::forward<Msg>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Msg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: rpc::specs::RPCMessage::add_message
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::forward<Msg>
    linkageType: ''
    returnType: void
    signature: void add_message(Msg &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: "&\n  get_messages() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageList
    signature: "MessageList &\n  get_messages() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: rpc::specs::RPCMessage::is_notification
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool is_notification() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: rpc::specs::RPCMessage::is_batch
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isBatch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: rpc::specs::RPCMessage::is_batch
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void is_batch(bool isBatch) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::specs::RPCMessage::reserve
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: rpc::specs::RPCMessage::reserve
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 1
    functionsReached:
    - rpc::specs::RPCMessage::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: rpc::specs::RPCMessage::is_json_format
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_json_format() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: rpc::specs::RPCMessage::is_yaml_format
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_yaml_format() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: rpc::specs::RPCResponseInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResponseInfo(std::string const &id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: rpc::specs::RPCResponseInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: rpc::specs::RPCRequestInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCRequestInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - version
    - mid
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: rpc::specs::RPCRequestInfo
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCRequestInfo(std::string const &version, std::string const &mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: rpc::specs::is_notification
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool is_notification() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::specs::is_notification
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: rpc::specs::is_method
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - rpc::specs::is_notification
    linkageType: ''
    returnType: bool
    signature: bool is_method() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: rpc::specs::RPCMessage::Metadata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - batch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: rpc::specs::RPCMessage::Metadata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metadata(bool batch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: rpc::specs::RPCMessage::RPCMessage
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - isBatch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: rpc::specs::RPCMessage::RPCMessage
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCMessage(bool isBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:142,1
    - Dst: std::forward<Msg>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Msg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: rpc::specs::RPCMessage::add_message
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::forward<Msg>
    linkageType: ''
    returnType: void
    signature: void add_message(Msg &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: "&\n  get_messages() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageList
    signature: "MessageList &\n  get_messages() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: rpc::specs::RPCMessage::is_notification
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool is_notification() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: rpc::specs::RPCMessage::is_batch
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_batch() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isBatch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: rpc::specs::RPCMessage::is_batch
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void is_batch(bool isBatch) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::specs::RPCMessage::reserve
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: rpc::specs::RPCMessage::reserve
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 2
    functionsReached:
    - rpc::specs::RPCMessage::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: rpc::specs::RPCMessage::is_json_format
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_json_format() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: rpc::specs::RPCMessage::is_yaml_format
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_yaml_format() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: "&\n  instance()"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: "JsonRPCManager &\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager(JsonRPCManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager(JsonRPCManager &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '&operator=(JsonRPCManager const &)'
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: JsonRPCManager &operator=(JsonRPCManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '&operator=(JsonRPCManager &&)'
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: JsonRPCManager &operator=(JsonRPCManager &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: rpc::JsonRPCManager::Dispatcher::FunctionWrapper
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void FunctionWrapper(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: rpc::JsonRPCManager::Dispatcher::InternalHandler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - info
    - opt
    argTypes:
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: rpc::JsonRPCManager::Dispatcher::InternalHandler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalHandler(const RPCRegistryInfo *info, TSRPCHandlerOptions
      const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: rpc::JsonRPCManager::Dispatcher::get_reg_info
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RPCRegistryInfo
    signature: "RPCRegistryInfo *\n      get_reg_info() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: "&\n      get_options() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRPCHandlerOptions
    signature: "TSRPCHandlerOptions &\n      get_options() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:294,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: rpc::JsonRPCManager::add_method_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_method_handler(std::string_view name, Handler
      &&call, const RPCRegistryInfo *info,\n                                   TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:301,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: rpc::JsonRPCManager::add_method_handler_from_plugin
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_method_handler_from_plugin(const std::string
      &name, Handler &&call, const RPCRegistryInfo *info,\n                                               TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:309,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: rpc::JsonRPCManager::add_notification_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_notification_handler(std::string_view name,
      Handler &&call, const RPCRegistryInfo *info,\n                                         TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<F>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: JsonRPCManager::Dispatcher::InternalHandler::set_callback(F &&f)
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::forward<F>
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::InternalHandler::set_callback(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: rpc::bool
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::InternalHandler::operator
    signature: JsonRPCManager::Dispatcher::InternalHandler::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: JsonRPCManager::Dispatcher::InternalHandler::operator!() const
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::InternalHandler::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalHandler::set_callback
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:337,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:337,1
    - Dst: emplace
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:338,1
    - Dst: std::move
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - name
    - handler
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: "JsonRPCManager::Dispatcher::add_handler(std::string_view name,
      Handler &&handler, const RPCRegistryInfo *info,\n                                        TSRPCHandlerOptions
      const &opt)"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::move
    - InternalHandler::set_callback
    - emplace
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::Dispatcher::add_handler(std::string_view name,
      Handler &&handler, const RPCRegistryInfo *info,\n                                        TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: "&\n  instance()"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: "JsonRPCManager &\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager(JsonRPCManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: rpc::JsonRPCManager::JsonRPCManager
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager(JsonRPCManager &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '&operator=(JsonRPCManager const &)'
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: JsonRPCManager &operator=(JsonRPCManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '&operator=(JsonRPCManager &&)'
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JsonRPCManager
    signature: JsonRPCManager &operator=(JsonRPCManager &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: rpc::JsonRPCManager::Dispatcher::FunctionWrapper
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void FunctionWrapper(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: rpc::JsonRPCManager::Dispatcher::InternalHandler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - info
    - opt
    argTypes:
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: rpc::JsonRPCManager::Dispatcher::InternalHandler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalHandler(const RPCRegistryInfo *info, TSRPCHandlerOptions
      const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: rpc::JsonRPCManager::Dispatcher::get_reg_info
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RPCRegistryInfo
    signature: "RPCRegistryInfo *\n      get_reg_info() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: "&\n      get_options() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRPCHandlerOptions
    signature: "TSRPCHandlerOptions &\n      get_options() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:294,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: rpc::JsonRPCManager::add_method_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_method_handler(std::string_view name, Handler
      &&call, const RPCRegistryInfo *info,\n                                   TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:301,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: rpc::JsonRPCManager::add_method_handler_from_plugin
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_method_handler_from_plugin(const std::string
      &name, Handler &&call, const RPCRegistryInfo *info,\n                                               TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_handler
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:309,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: rpc::JsonRPCManager::add_notification_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - add_handler
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::add_notification_handler(std::string_view name,
      Handler &&call, const RPCRegistryInfo *info,\n                                         TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<F>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: JsonRPCManager::Dispatcher::InternalHandler::set_callback(F &&f)
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::forward<F>
    linkageType: ''
    returnType: void
    signature: void JsonRPCManager::Dispatcher::InternalHandler::set_callback(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: rpc::bool
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: JsonRPCManager::Dispatcher::InternalHandler::operator
    signature: JsonRPCManager::Dispatcher::InternalHandler::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: JsonRPCManager::Dispatcher::InternalHandler::operator!() const
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: bool
    signature: bool JsonRPCManager::Dispatcher::InternalHandler::operator!() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalHandler::set_callback
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:337,1
    - Dst: std::forward<Handler>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:337,1
    - Dst: emplace
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:338,1
    - Dst: std::move
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - name
    - handler
    - info
    - opt
    argTypes:
    - std::string_view
    - Handler
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: "JsonRPCManager::Dispatcher::add_handler(std::string_view name,
      Handler &&handler, const RPCRegistryInfo *info,\n                                        TSRPCHandlerOptions
      const &opt)"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPCManager.h
    functionUses: 0
    functionsReached:
    - std::move
    - InternalHandler::set_callback
    - emplace
    - std::forward<Handler>
    linkageType: ''
    returnType: bool
    signature: "bool JsonRPCManager::Dispatcher::add_handler(std::string_view name,
      Handler &&handler, const RPCRegistryInfo *info,\n                                        TSRPCHandlerOptions
      const &opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:38,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: rpc::add_method_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 4
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(std::string_view name, Func &&call, const RPCRegistryInfo
      *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:46,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: rpc::add_method_handler_from_plugin
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler_from_plugin(const std::string &name, Func &&call,
      const RPCRegistryInfo *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:55,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: rpc::add_notification_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_notification_handler(std::string_view name, Func &&call, const
      RPCRegistryInfo *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:38,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: rpc::add_method_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 4
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler(std::string_view name, Func &&call, const RPCRegistryInfo
      *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:46,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: rpc::add_method_handler_from_plugin
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_method_handler_from_plugin(const std::string &name, Func &&call,
      const RPCRegistryInfo *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:55,1
    - Dst: std::forward<Func>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - name
    - call
    - info
    - opt
    argTypes:
    - std::string_view
    - Func
    - RPCRegistryInfo*
    - TSRPCHandlerOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: rpc::add_notification_handler
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/JsonRPC.h
    functionUses: 1
    functionsReached:
    - std::forward<Func>
    - RegexContext::get_instance
    linkageType: ''
    returnType: bool
    signature: bool add_notification_handler(std::string_view name, Func &&call, const
      RPCRegistryInfo *info, TSRPCHandlerOptions const &opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h:58,1
    - Dst: std::forward<F>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::Context::add_checker
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached:
    - std::forward<F>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void add_checker(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: "&\n  get_auth()"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Auth
    signature: "Auth &\n  get_auth()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: "&\n  get_auth() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Auth
    signature: "Auth &\n  get_auth() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h:58,1
    - Dst: std::forward<F>
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::Context::add_checker
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached:
    - std::forward<F>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void add_checker(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: "&\n  get_auth()"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Auth
    signature: "Auth &\n  get_auth()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: "&\n  get_auth() const"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Auth
    signature: "Auth &\n  get_auth() const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsDefined
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: auto::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:63,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:69,1
    - Dst: specs::RPCRequestInfo::id::empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:70,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:80,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:94,1
    - Dst: auto::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:104,1
    - Dst: l_remove
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 121
    functionName: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 0
    functionsReached:
    - specs::RPCRequestInfo::id::empty
    - YAML::Node::size
    - auto::as
    - auto::Type
    - auto::IsNull
    - YAML::Node::IsDefined
    - l_remove
    - YAML::Node::Type
    linkageType: ''
    returnType: std::pair<specs::RPCRequestInfo, std::error_code>
    signature: std::pair<specs::RPCRequestInfo, std::error_code> decode_and_validate(YAML::Node
      const &node) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:137,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:138,1
    - Dst: specs::RPCRequest::add_message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:141,1
    - Dst: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:141,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:145,1
    - Dst: specs::RPCRequest::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:147,1
    - Dst: specs::RPCRequest::reserve
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:148,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:148,1
    - Dst: specs::RPCRequest::add_message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:151,1
    - Dst: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - request
    - ec
    argTypes:
    - std::string
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: rpc::json_codecs::yamlcpp_json_decoder::decode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 0
    functionsReached:
    - specs::RPCRequest::is_batch
    - specs::RPCRequest::add_message
    - YAML::Node::size
    - rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
    - YAML::Load
    - specs::RPCRequest::reserve
    - YAML::Node::Type
    linkageType: ''
    returnType: specs::RPCRequest
    signature: specs::RPCRequest decode(std::string const &request, std::error_code
      &ec) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:190,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:191,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:192,1
    - Dst: swoc::Errata::code
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:197,1
    - Dst: text
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:198,1
    - Dst: text
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - error
    - errata
    - json
    argTypes:
    - std::error_code
    - swoc::Errata
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode_error
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 0
    functionsReached:
    - text
    - swoc::Errata::code
    - std::error_code::value
    - swoc::Errata::is_ok
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void encode_error(std::error_code error, swoc::Errata const &errata,
      YAML::Emitter &json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errata
    - json
    argTypes:
    - swoc::Errata
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode_error
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 1
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode_error
    linkageType: ''
    returnType: void
    signature: void encode_error(swoc::Errata const &errata, YAML::Emitter &json)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:229,1
    - Dst: specs::RPCResponseInfo::callResult::errata::is_ok
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:233,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:234,1
    - Dst: specs::RPCResponseInfo::callResult::result::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:241,1
    - Dst: specs::RPCResponseInfo::id::empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - resp
    - json
    argTypes:
    - specs::RPCResponseInfo
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 258
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 0
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode_error
    - specs::RPCResponseInfo::callResult::errata::is_ok
    - specs::RPCResponseInfo::id::empty
    - specs::RPCResponseInfo::callResult::result::IsNull
    linkageType: ''
    returnType: void
    signature: void encode(const specs::RPCResponseInfo &resp, YAML::Emitter &json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:270,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:272,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - resp
    argTypes:
    - specs::RPCResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 1
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode
    - YAML::Emitter::Emitter
    - YAML::Emitter::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const specs::RPCResponseInfo &resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:286,1
    - Dst: specs::RPCResponse::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:289,1
    - Dst: specs::RPCResponse::get_messages
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:293,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:294,1
    - Dst: specs::RPCResponse::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:297,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - response
    argTypes:
    - specs::RPCResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 2
    functionsReached:
    - YAML::Emitter::c_str
    - rpc::json_codecs::yamlcpp_json_encoder::encode
    - specs::RPCResponse::get_messages
    - specs::RPCResponse::is_batch
    - YAML::Emitter::Emitter
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const specs::RPCResponse &response)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsDefined
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:55,1
    - Dst: auto::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:63,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:69,1
    - Dst: specs::RPCRequestInfo::id::empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:70,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:80,1
    - Dst: auto::as
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:94,1
    - Dst: auto::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:104,1
    - Dst: l_remove
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 121
    functionName: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 1
    functionsReached:
    - specs::RPCRequestInfo::id::empty
    - YAML::Node::size
    - auto::as
    - auto::Type
    - auto::IsNull
    - YAML::Node::IsDefined
    - l_remove
    - YAML::Node::Type
    linkageType: ''
    returnType: std::pair<specs::RPCRequestInfo, std::error_code>
    signature: std::pair<specs::RPCRequestInfo, std::error_code> decode_and_validate(YAML::Node
      const &node) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Load
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:137,1
    - Dst: YAML::Node::Type
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:138,1
    - Dst: specs::RPCRequest::add_message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:141,1
    - Dst: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:141,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:145,1
    - Dst: specs::RPCRequest::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:147,1
    - Dst: specs::RPCRequest::reserve
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:148,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:148,1
    - Dst: specs::RPCRequest::add_message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:151,1
    - Dst: rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - request
    - ec
    argTypes:
    - std::string
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: rpc::json_codecs::yamlcpp_json_decoder::decode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 0
    functionsReached:
    - specs::RPCRequest::is_batch
    - specs::RPCRequest::add_message
    - YAML::Node::size
    - rpc::json_codecs::yamlcpp_json_decoder::decode_and_validate
    - YAML::Load
    - specs::RPCRequest::reserve
    - YAML::Node::Type
    linkageType: ''
    returnType: specs::RPCRequest
    signature: specs::RPCRequest decode(std::string const &request, std::error_code
      &ec) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::value
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:190,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:191,1
    - Dst: swoc::Errata::is_ok
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:192,1
    - Dst: swoc::Errata::code
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:197,1
    - Dst: text
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:198,1
    - Dst: text
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - error
    - errata
    - json
    argTypes:
    - std::error_code
    - swoc::Errata
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode_error
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 2
    functionsReached:
    - text
    - swoc::Errata::code
    - std::error_code::value
    - swoc::Errata::is_ok
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void encode_error(std::error_code error, swoc::Errata const &errata,
      YAML::Emitter &json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errata
    - json
    argTypes:
    - swoc::Errata
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode_error
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 3
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode_error
    linkageType: ''
    returnType: void
    signature: void encode_error(swoc::Errata const &errata, YAML::Emitter &json)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:229,1
    - Dst: specs::RPCResponseInfo::callResult::errata::is_ok
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:233,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode_error
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:234,1
    - Dst: specs::RPCResponseInfo::callResult::result::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:241,1
    - Dst: specs::RPCResponseInfo::id::empty
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - resp
    - json
    argTypes:
    - specs::RPCResponseInfo
    - YAML::Emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 258
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 2
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode_error
    - specs::RPCResponseInfo::callResult::errata::is_ok
    - specs::RPCResponseInfo::id::empty
    - specs::RPCResponseInfo::callResult::result::IsNull
    linkageType: ''
    returnType: void
    signature: void encode(const specs::RPCResponseInfo &resp, YAML::Emitter &json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:270,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:272,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - resp
    argTypes:
    - specs::RPCResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 3
    functionsReached:
    - rpc::json_codecs::yamlcpp_json_encoder::encode
    - YAML::Emitter::Emitter
    - YAML::Emitter::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const specs::RPCResponseInfo &resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Emitter::Emitter
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:286,1
    - Dst: specs::RPCResponse::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:289,1
    - Dst: specs::RPCResponse::get_messages
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:293,1
    - Dst: rpc::json_codecs::yamlcpp_json_encoder::encode
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:294,1
    - Dst: specs::RPCResponse::is_batch
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:297,1
    - Dst: YAML::Emitter::c_str
      Src: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - response
    argTypes:
    - specs::RPCResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: rpc::json_codecs::yamlcpp_json_encoder::encode
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/jsonrpc/json/YAMLCodec.h
    functionUses: 4
    functionsReached:
    - YAML::Emitter::c_str
    - rpc::json_codecs::yamlcpp_json_encoder::encode
    - specs::RPCResponse::get_messages
    - specs::RPCResponse::is_batch
    - YAML::Emitter::Emitter
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const specs::RPCResponse &response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::error_code
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::generic_category
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::handlers::errors::make_errata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - std::error_code
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - std::generic_category
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata make_errata(int code, std::string_view fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::error_code
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::generic_category
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::string
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - text
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: rpc::handlers::errors::make_errata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h
    functionUses: 2
    functionsReached:
    - std::error_code
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - std::string
    - std::generic_category
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata make_errata(int code, std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::error_code
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::generic_category
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rpc::handlers::errors::make_errata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - std::error_code
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - std::generic_category
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata make_errata(int code, std::string_view fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::Errata
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::error_code
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::generic_category
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    - Dst: std::string
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - text
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: rpc::handlers::errors::make_errata
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/ErrorUtils.h
    functionUses: 2
    functionsReached:
    - std::error_code
    - swoc::SWOC_VERSION_NS::Errata::Errata
    - std::string
    - std::generic_category
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata make_errata(int code, std::string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h:30,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: rpc::handlers::utils::is_true_flag
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h
    functionUses: 2
    functionsReached:
    - YAML::Node::IsNull
    - YAML::Node::as
    linkageType: ''
    returnType: bool
    signature: bool is_true_flag(YAML::Node const &node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h:30,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: rpc::handlers::utils::is_true_flag
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/handlers/common/Utils.h
    functionUses: 2
    functionsReached:
    - YAML::Node::IsNull
    - YAML::Node::as
    linkageType: ''
    returnType: bool
    signature: bool is_true_flag(YAML::Node const &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: rpc::config::RPCConfig::RPCConfig
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/config/JsonRPCConfig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: rpc::config::RPCConfig::RPCConfig
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/config/JsonRPCConfig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: rpc::comm::IPCSocketServer::IPCSocketServer
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/IPCSocketServer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: "&\n  name() const override"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/IPCSocketServer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: rpc::comm::IPCSocketServer::IPCSocketServer
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/IPCSocketServer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPCSocketServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: "&\n  name() const override"
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/IPCSocketServer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~BaseCommInterface()
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/CommBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseCommInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~BaseCommInterface()
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/CommBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseCommInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: rpc::RPCServer::RPCServer
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/RPCServer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: rpc::RPCServer::RPCServer
    functionSourceFile: /src/trafficserver/include/mgmt/rpc/server/RPCServer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RPCServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: cripts::Transaction::DisableCallback
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisableCallback(Callbacks cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnAborted
      Src: /src/trafficserver/include/cripts/Transaction.hpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: cripts::Transaction::Aborted
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnAborted
    linkageType: ''
    returnType: bool
    signature: bool Aborted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/include/cripts/Transaction.hpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: cripts::Transaction::LookupStatus
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    linkageType: ''
    returnType: int
    signature: int LookupStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: cripts::Transaction::DisableCallback
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisableCallback(Callbacks cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnAborted
      Src: /src/trafficserver/include/cripts/Transaction.hpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: cripts::Transaction::Aborted
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnAborted
    linkageType: ''
    returnType: bool
    signature: bool Aborted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/include/cripts/Transaction.hpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: cripts::Transaction::LookupStatus
    functionSourceFile: /src/trafficserver/include/cripts/Transaction.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    linkageType: ''
    returnType: int
    signature: int LookupStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - txn_ptr
    - ssn_ptr
    - rri_ptr
    - inst
    argTypes:
    - TSHttpTxn
    - TSHttpSsn
    - TSRemapRequestInfo*
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(TSHttpTxn txn_ptr, TSHttpSsn ssn_ptr, TSRemapRequestInfo
      *rri_ptr, cripts::Instance &inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:94,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:95,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: cripts::Context::_ClientBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - set_state
    linkageType: ''
    returnType: void
    signature: void _ClientBlock(Context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:107,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:108,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: cripts::Context::_ServerBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - set_state
    linkageType: ''
    returnType: void
    signature: void _ServerBlock(Context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:127,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:128,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:129,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:130,1
    - Dst: from::set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:131,1
    - Dst: to::set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - alias
    argTypes:
    - Context*
    - cripts::Client::URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: cripts::Context::_UrlBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - to::set_context
    - from::set_context
    - set_context
    linkageType: ''
    returnType: void
    signature: void _UrlBlock(Context *ctx, cripts::Client::URL &alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - txn_ptr
    - ssn_ptr
    - rri_ptr
    - inst
    argTypes:
    - TSHttpTxn
    - TSHttpSsn
    - TSRemapRequestInfo*
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cripts::Context::Context
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(TSHttpTxn txn_ptr, TSHttpSsn ssn_ptr, TSRemapRequestInfo
      *rri_ptr, cripts::Instance &inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:94,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:95,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: cripts::Context::_ClientBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - set_state
    linkageType: ''
    returnType: void
    signature: void _ClientBlock(Context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:107,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:108,1
    - Dst: set_state
      Src: /src/trafficserver/include/cripts/Context.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: cripts::Context::_ServerBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - set_state
    linkageType: ''
    returnType: void
    signature: void _ServerBlock(Context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:127,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:128,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:129,1
    - Dst: set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:130,1
    - Dst: from::set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:131,1
    - Dst: to::set_context
      Src: /src/trafficserver/include/cripts/Context.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - alias
    argTypes:
    - Context*
    - cripts::Client::URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: cripts::Context::_UrlBlock
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached:
    - to::set_context
    - from::set_context
    - set_context
    linkageType: ''
    returnType: void
    signature: void _UrlBlock(Context *ctx, cripts::Client::URL &alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: Get
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 314
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _value
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: Set
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 193
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Set(_value, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: Update
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Update()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: RunRemap
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RunRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: Activate
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Activate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: CDebug
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: CDebugOn
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDebugOn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: DisableCallback
    functionSourceFile: /src/trafficserver/include/cripts/Context.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DisableCallback(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: CaseTag
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CaseTag
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: CaseVoidFunc
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaseVoidFunc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:56,1
    - Dst: _do_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: wrap_do_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_remap
    linkageType: ''
    returnType: auto
    signature: auto wrap_do_remap(T *context, bool execute, CaseTag<1>) -> decltype(_do_remap(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: wrap_do_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_do_remap(T * /* context ATS_UNUSED */, bool /* execute ATS_UNUSED
      */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:74,1
    - Dst: _do_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: wrap_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_post_remap
    linkageType: ''
    returnType: auto
    signature: auto wrap_post_remap(T *context, bool execute, CaseTag<1>) -> decltype(_do_post_remap(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: wrap_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_post_remap(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:92,1
    - Dst: _do_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: wrap_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_send_response
    linkageType: ''
    returnType: auto
    signature: auto wrap_send_response(T *context, bool execute, CaseTag<1>) -> decltype(_do_send_response(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: wrap_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_send_response(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:110,1
    - Dst: _do_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: wrap_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_send_request
    linkageType: ''
    returnType: auto
    signature: auto wrap_send_request(T *context, bool execute, CaseTag<1>) -> decltype(_do_send_request(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: wrap_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_send_request(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:128,1
    - Dst: _do_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: wrap_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_read_response
    linkageType: ''
    returnType: auto
    signature: auto wrap_read_response(T *context, bool execute, CaseTag<1>) -> decltype(_do_read_response(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: wrap_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_read_response(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:146,1
    - Dst: _do_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: wrap_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_cache_lookup
    linkageType: ''
    returnType: auto
    signature: auto wrap_cache_lookup(T *context, bool execute, CaseTag<1>) -> decltype(_do_cache_lookup(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: wrap_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_cache_lookup(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:164,1
    - Dst: _do_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: wrap_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_txn_close
    linkageType: ''
    returnType: auto
    signature: auto wrap_txn_close(T *context, bool execute, CaseTag<1>) -> decltype(_do_txn_close(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: wrap_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_txn_close(T * /* context ATS_UNUSED */, bool /* execute ATS_UNUSED
      */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:184,1
    - Dst: _do_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: wrap_plugin_init
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_init
    linkageType: ''
    returnType: auto
    signature: auto wrap_plugin_init(T *context, bool execute, CaseTag<1>) -> decltype(_do_init(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: wrap_plugin_init
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_plugin_init(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_create_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:204,1
    - Dst: _do_create_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: wrap_create_instance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_create_instance
    linkageType: ''
    returnType: auto
    signature: auto wrap_create_instance(T *context, bool execute, CaseTag<1>) ->
      decltype(_do_create_instance(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: wrap_create_instance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_create_instance(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_delete_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:221,1
    - Dst: _do_delete_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: wrap_delete_instance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _do_delete_instance
    linkageType: ''
    returnType: auto
    signature: auto wrap_delete_instance(T *context, bool execute, CaseTag<1>) ->
      decltype(_do_delete_instance(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: wrap_delete_instance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_delete_instance(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_txn_start
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:242,1
    - Dst: _glb_txn_start
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: wrap_glb_txn_start
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_txn_start
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_txn_start(T *context, bool execute, CaseTag<1>) -> decltype(_glb_txn_start(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: wrap_glb_txn_start
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_txn_start(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_read_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:260,1
    - Dst: _glb_read_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: wrap_glb_read_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_read_request
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_read_request(T *context, bool execute, CaseTag<1>) ->
      decltype(_glb_read_request(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: wrap_glb_read_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_read_request(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_pre_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:278,1
    - Dst: _glb_pre_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: wrap_glb_pre_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_pre_remap
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_pre_remap(T *context, bool execute, CaseTag<1>) -> decltype(_glb_pre_remap(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: wrap_glb_pre_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_pre_remap(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:296,1
    - Dst: _glb_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: wrap_glb_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_post_remap
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_post_remap(T *context, bool execute, CaseTag<1>) -> decltype(_glb_post_remap(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: wrap_glb_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_post_remap(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:314,1
    - Dst: _glb_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: wrap_glb_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_cache_lookup
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_cache_lookup(T *context, bool execute, CaseTag<1>) ->
      decltype(_glb_cache_lookup(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: wrap_glb_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_cache_lookup(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:332,1
    - Dst: _glb_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: wrap_glb_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_send_request
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_send_request(T *context, bool execute, CaseTag<1>) ->
      decltype(_glb_send_request(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: wrap_glb_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_send_request(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:350,1
    - Dst: _glb_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: wrap_glb_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_read_response
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_read_response(T *context, bool execute, CaseTag<1>) ->
      decltype(_glb_read_response(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: wrap_glb_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_read_response(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:368,1
    - Dst: _glb_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: wrap_glb_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_send_response
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_send_response(T *context, bool execute, CaseTag<1>) ->
      decltype(_glb_send_response(context), bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: wrap_glb_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_send_response(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:386,1
    - Dst: _glb_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: wrap_glb_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_txn_close
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_txn_close(T *context, bool execute, CaseTag<1>) -> decltype(_glb_txn_close(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: wrap_glb_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_txn_close(T * /* context ATS_UNUSED */, bool /* execute
      ATS_UNUSED */, CaseTag<0>) -> bool
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _glb_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:404,1
    - Dst: _glb_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - execute
    argTypes:
    - T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: wrap_glb_init
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - _glb_init
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_init(T *context, bool execute, CaseTag<1>) -> decltype(_glb_init(context),
      bool())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: wrap_glb_init
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto wrap_glb_init(T * /* context ATS_UNUSED */, bool /* execute ATS_UNUSED
      */, CaseTag<0>) -> bool
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:423,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:424,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:424,1
    - Dst: auto*::reset
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:427,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:433,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:435,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:435,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:437,1
    - Dst: doSendRequest
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:438,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:442,1
    - Dst: wrap_glb_read_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:443,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:444,1
    - Dst: auto*::_urls::request::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:445,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:452,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:454,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:455,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:457,1
    - Dst: doSendRequest
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:458,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:463,1
    - Dst: wrap_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:464,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:466,1
    - Dst: wrap_glb_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:467,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:469,1
    - Dst: auto*::_urls::request::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:470,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:477,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:479,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:480,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:482,1
    - Dst: doReadResponse
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:483,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:488,1
    - Dst: wrap_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:489,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:491,1
    - Dst: wrap_glb_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:492,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:499,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:500,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:503,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:504,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:506,1
    - Dst: doSendResponse
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:507,1
    - Dst: wrap_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:512,1
    - Dst: wrap_glb_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:514,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:523,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:524,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:526,1
    - Dst: doTxnClose
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:527,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:532,1
    - Dst: wrap_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:533,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:535,1
    - Dst: wrap_glb_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:536,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:540,1
    - Dst: auto*::Release
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:541,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:546,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:548,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:549,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:551,1
    - Dst: doCacheLookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:552,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:557,1
    - Dst: wrap_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:558,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:560,1
    - Dst: wrap_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:561,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:570,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:570,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:572,1
    - Dst: doPostRemap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:573,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:579,1
    - Dst: wrap_glb_pre_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:580,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:583,1
    - Dst: auto*::_urls::cache::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:584,1
    - Dst: auto*::_urls::cache::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:585,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:587,1
    - Dst: auto*::_urls::request::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:588,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:597,1
    - Dst: auto*::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:598,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:600,1
    - Dst: doPostRemap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:601,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:607,1
    - Dst: wrap_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:608,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:610,1
    - Dst: wrap_glb_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:611,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:614,1
    - Dst: auto*::_urls::cache::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:615,1
    - Dst: auto*::_urls::cache::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:616,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:618,1
    - Dst: auto*::_urls::request::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:619,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:625,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:629,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 170
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 631
    functionName: http_txn_cont
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - wrap_glb_send_response
    - wrap_glb_post_remap
    - wrap_cache_lookup
    - TSContDestroy
    - auto*::state::error::Failed
    - Callbacks
    - TSContDataGet
    - wrap_read_response
    - doSendResponse
    - wrap_glb_txn_close
    - wrap_txn_close
    - doCacheLookup
    - auto*::_urls::request::_update
    - auto*::_urls::cache::_update
    - static_cast<cripts::Context *>
    - wrap_glb_read_response
    - wrap_send_response
    - auto*::reset
    - auto*::_urls::cache::Modified
    - wrap_post_remap
    - auto*::p_instance::Callbacks
    - CDebug
    - wrap_glb_pre_remap
    - TSHttpTxnReenable
    - auto*::_urls::request::Modified
    - CFatal
    - doReadResponse
    - doTxnClose
    - doSendRequest
    - static_cast<TSHttpTxn>
    - wrap_glb_read_request
    - wrap_glb_send_request
    - auto*::Release
    - doPostRemap
    - wrap_send_request
    linkageType: ''
    returnType: int
    signature: int http_txn_cont(TSCont contp, TSEvent event, void *edata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wrap_glb_txn_start
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:639,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:639,1
    - Dst: static_cast<cripts::InstanceContext *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:641,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:641,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:642,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:643,1
    - Dst: auto::p_instance::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:644,1
    - Dst: cripts::Context::Factory
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:648,1
    - Dst: wrap_glb_txn_start
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:654,1
    - Dst: TSContCreate
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:658,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:659,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:661,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:664,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:667,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:670,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:673,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:676,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:679,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:681,1
    - Dst: auto*::Release
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:683,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:690,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:694,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 696
    functionName: global_cont
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - CFatal
    - TSHttpTxnHookAdd
    - auto::p_instance::Callbacks
    - cripts::Context::Factory
    - TSContDataSet
    - TSHttpTxnSsnGet
    - static_cast<cripts::Context *>
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - static_cast<cripts::InstanceContext *>
    - TSContCreate
    - wrap_glb_txn_start
    - auto*::Release
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int global_cont(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wrap_glb_txn_start
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:706,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:706,1
    - Dst: wrap_glb_read_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:708,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:708,1
    - Dst: wrap_glb_pre_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:710,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:710,1
    - Dst: wrap_glb_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:712,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:712,1
    - Dst: wrap_glb_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:714,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:714,1
    - Dst: wrap_glb_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:716,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:716,1
    - Dst: wrap_glb_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:718,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:718,1
    - Dst: wrap_glb_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:720,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:720,1
    - Dst: wrap_glb_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:722,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:722,1
    - Dst: cripts::Instance::Instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:727,1
    - Dst: auto*::plugin_debug_tag::c_str
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:729,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:733,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:734,1
    - Dst: cripts::InstanceContext::InstanceContext
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:740,1
    - Dst: pthread_once
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:742,1
    - Dst: wrap_glb_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:743,1
    - Dst: wrap_glb_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:746,1
    - Dst: TSContCreate
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:750,1
    - Dst: auto*::NeedCallback
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:752,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:753,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:754,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 703
    functionDepth: 3
    functionLinenumber: 703
    functionLinenumberEnd: 760
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - wrap_glb_send_response
    - wrap_glb_post_remap
    - auto*::NeedCallback
    - TSPluginRegister
    - wrap_glb_txn_close
    - TSHttpHookAdd
    - pthread_once
    - static_cast<cripts::Context *>
    - wrap_glb_read_response
    - TSError
    - cripts::Instance::Instance
    - cripts::InstanceContext::InstanceContext
    - wrap_glb_init
    - TSContCreate
    - wrap_glb_pre_remap
    - wrap_glb_cache_lookup
    - TSContDataSet
    - auto*::plugin_debug_tag::c_str
    - wrap_glb_read_request
    - wrap_glb_send_request
    - wrap_glb_txn_start
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:768,1
    - Dst: strncpy
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:773,1
    - Dst: snprintf
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:778,1
    - Dst: pthread_once
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:783,1
    - Dst: wrap_plugin_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:787,1
    - Dst: wrap_plugin_init
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 794
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - pthread_once
    - snprintf
    - strncpy
    - wrap_plugin_init
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<const char **>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:801,1
    - Dst: cripts::Instance::Instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:801,1
    - Dst: wrap_create_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:803,1
    - Dst: wrap_create_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:806,1
    - Dst: auto*::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:809,1
    - Dst: Validate
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:814,1
    - Dst: auto*::NeedCallback
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:815,1
    - Dst: Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:815,1
    - Dst: std::vector::empty
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:819,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:820,1
    - Dst: auto*::plugin_debug_tag::c_str
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:820,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:823,1
    - Dst: auto*::plugin_debug_tag::c_str
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:823,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:824,1
    - Dst: Bundle
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:824,1
    - Dst: Bundle
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:824,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:824,1
    - Dst: Option
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:824,1
    - Dst: Option
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:825,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:826,1
    - Dst: auto*::plugin_debug_tag::c_str
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:826,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:826,1
    - Dst: Message
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:826,1
    - Dst: Message
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:827,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:833,1
    - Dst: auto*::debug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:835,1
    - Dst: auto*::debug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 843
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - const_cast<const char **>
    - static_cast<void *>
    - TSError
    - Option
    - std::vector::empty
    - cripts::Instance::Instance
    - auto*::debug
    - auto*::NeedCallback
    - auto*::plugin_debug_tag::c_str
    - wrap_create_instance
    - Message
    - Validate
    - Callbacks
    - Bundle
    - auto*::Failed
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */\n                   ,\n                   int
      /* errbuf_size ATS_UNUSED */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<cripts::Instance *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:848,1
    - Dst: wrap_delete_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:850,1
    - Dst: wrap_delete_instance
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:853,1
    - Dst: auto::debug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 859
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - auto::debug
    - wrap_delete_instance
    - static_cast<cripts::Instance *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wrap_do_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:866,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:866,1
    - Dst: wrap_post_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:868,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:868,1
    - Dst: wrap_cache_lookup
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:870,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:870,1
    - Dst: wrap_send_request
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:872,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:872,1
    - Dst: wrap_read_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:874,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:874,1
    - Dst: wrap_send_response
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:876,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:876,1
    - Dst: wrap_txn_close
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:878,1
    - Dst: static_cast<cripts::Context *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:878,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:881,1
    - Dst: static_cast<cripts::Instance *>
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:882,1
    - Dst: auto*::Callbacks
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:883,1
    - Dst: cripts::Context::Factory
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:884,1
    - Dst: CDebug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:891,1
    - Dst: doRemap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:893,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:895,1
    - Dst: wrap_do_remap
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:896,1
    - Dst: auto*::state::error::Failed
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:901,1
    - Dst: auto*::_urls::cache::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:902,1
    - Dst: auto*::_urls::cache::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:903,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:905,1
    - Dst: auto*::_urls::request::_update
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:906,1
    - Dst: TSContCreate
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:910,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:911,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:914,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:918,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:922,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:926,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:930,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:935,1
    - Dst: auto*::state::error::Execute
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:945,1
    - Dst: auto*::Release
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:950,1
    - Dst: auto*::_urls::request::Modified
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:954,1
    - Dst: auto*::p_instance::debug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:955,1
    - Dst: auto*::p_instance::debug
      Src: /src/trafficserver/include/cripts/Epilogue.hpp:958,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - ih
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 961
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/include/cripts/Epilogue.hpp
    functionUses: 0
    functionsReached:
    - auto*::state::error::Execute
    - wrap_cache_lookup
    - auto*::state::error::Failed
    - auto*::p_instance::debug
    - wrap_read_response
    - wrap_txn_close
    - cripts::Context::Factory
    - TSHttpTxnSsnGet
    - auto*::_urls::request::_update
    - auto*::_urls::cache::_update
    - static_cast<cripts::Context *>
    - wrap_send_response
    - auto*::_urls::cache::Modified
    - TSHttpTxnHookAdd
    - wrap_post_remap
    - wrap_do_remap
    - TSContCreate
    - CDebug
    - auto*::_urls::request::Modified
    - auto*::Callbacks
    - TSContDataSet
    - auto*::Release
    - doRemap
    - wrap_send_request
    - static_cast<cripts::Instance *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: cripts::Records::Key
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSOverridableConfigKey
    signature: TSOverridableConfigKey Key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: cripts::Records::Type
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: cripts::Records::Name
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: cripts::Records::Loaded
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Loaded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: cripts::Records::IsInteger
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: cripts::Records::IsFloat
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: cripts::Records::IsString
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: cripts::IntConfig::IntConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: cripts::IntConfig::IntConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void IntConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<TSMgmtInt>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:117,1
    - Dst: cripts::IntConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: cripts::IntConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - std::get<TSMgmtInt>
    - cripts::IntConfig::_get
    linkageType: ''
    returnType: float
    signature: float _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::IntConfig::_set
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - integer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::IntConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - cripts::IntConfig::_set
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, integer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: cripts::FloatConfig::FloatConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: cripts::FloatConfig::FloatConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void FloatConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<TSMgmtFloat>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:139,1
    - Dst: cripts::FloatConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: cripts::FloatConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - std::get<TSMgmtFloat>
    - cripts::FloatConfig::_get
    linkageType: ''
    returnType: float
    signature: float _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::FloatConfig::_set
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: cripts::FloatConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - cripts::FloatConfig::_set
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: cripts::StringConfig::StringConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: cripts::StringConfig::StringConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void StringConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:161,1
    - Dst: cripts::StringConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: cripts::StringConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringConfig::_get
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSV
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: cripts::StringConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - SetSV
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringConfig::GetSV
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: cripts::StringConfig::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringConfig::GetSV
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view GetSV(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Records::Records
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Records(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: cripts::Records::Key
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSOverridableConfigKey
    signature: TSOverridableConfigKey Key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: cripts::Records::Type
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: cripts::Records::Name
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: cripts::Records::Loaded
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Loaded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: cripts::Records::IsInteger
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: cripts::Records::IsFloat
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: cripts::Records::IsString
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: cripts::IntConfig::IntConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: cripts::IntConfig::IntConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void IntConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<TSMgmtInt>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:117,1
    - Dst: cripts::IntConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: cripts::IntConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - std::get<TSMgmtInt>
    - cripts::IntConfig::_get
    linkageType: ''
    returnType: float
    signature: float _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::IntConfig::_set
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - integer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::IntConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - cripts::IntConfig::_set
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, integer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: cripts::FloatConfig::FloatConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: cripts::FloatConfig::FloatConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void FloatConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<TSMgmtFloat>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:139,1
    - Dst: cripts::FloatConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: cripts::FloatConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - std::get<TSMgmtFloat>
    - cripts::FloatConfig::_get
    linkageType: ''
    returnType: float
    signature: float _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::FloatConfig::_set
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: cripts::FloatConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - cripts::FloatConfig::_set
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: cripts::StringConfig::StringConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Records::Add
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: cripts::StringConfig::StringConfig
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - cripts::Records::Add
    linkageType: ''
    returnType: void
    signature: void StringConfig(const cripts::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:161,1
    - Dst: cripts::StringConfig::_get
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: cripts::StringConfig::_get
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringConfig::_get
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string _get(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSV
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - value
    argTypes:
    - cripts::Context*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: cripts::StringConfig::_set
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 0
    functionsReached:
    - SetSV
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringConfig::GetSV
      Src: /src/trafficserver/include/cripts/ConfigsBase.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: cripts::StringConfig::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/ConfigsBase.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringConfig::GetSV
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view GetSV(cripts::Context *context) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: detail::BaseTime::BaseTime
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: detail::BaseTime::BaseTime
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseTime(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Epoch
      Src: /src/trafficserver/include/cripts/Time.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - Epoch
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: detail::BaseTime::Epoch
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Epoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: detail::BaseTime::Year
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Year() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: detail::BaseTime::Month
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Month() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: detail::BaseTime::Day
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Day() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: detail::BaseTime::Hour
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Hour() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: detail::BaseTime::Minute
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Minute() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: detail::BaseTime::Second
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Second() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: detail::BaseTime::WeekDay
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer WeekDay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: detail::BaseTime::YearDay
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer YearDay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: detail::BaseTime::BaseTime
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: detail::BaseTime::BaseTime
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseTime(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Epoch
      Src: /src/trafficserver/include/cripts/Time.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - Epoch
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: detail::BaseTime::Epoch
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Epoch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: detail::BaseTime::Year
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Year() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: detail::BaseTime::Month
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Month() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: detail::BaseTime::Day
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Day() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: detail::BaseTime::Hour
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Hour() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: detail::BaseTime::Minute
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Minute() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: detail::BaseTime::Second
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer Second() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: detail::BaseTime::WeekDay
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer WeekDay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<integer>
      Src: /src/trafficserver/include/cripts/Time.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: detail::BaseTime::YearDay
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - static_cast<integer>
    linkageType: ''
    returnType: integer
    signature: integer YearDay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: cripts::Time::Local::Local
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Local(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/trafficserver/include/cripts/Time.hpp:117,1
    - Dst: static_cast<struct tm *>
      Src: /src/trafficserver/include/cripts/Time.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: cripts::Time::Local::Local
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - localtime_r
    - static_cast<struct tm *>
    linkageType: ''
    returnType: void
    signature: void Local()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::Time::Local::Now
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Local
    signature: Local Now()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: cripts::Time::Local::Local
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Local(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/trafficserver/include/cripts/Time.hpp:117,1
    - Dst: static_cast<struct tm *>
      Src: /src/trafficserver/include/cripts/Time.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: cripts::Time::Local::Local
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - localtime_r
    - static_cast<struct tm *>
    linkageType: ''
    returnType: void
    signature: void Local()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::Time::Local::Now
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Local
    signature: Local Now()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Time.hpp:135,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Time.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Time.hpp:142,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    - Dst: cripts::Time::Local::Epoch
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - time
    - ctx
    argTypes:
    - cripts::Time::Local
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Time::Local::Epoch
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Time::Local &time, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Time.hpp:135,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Time.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Time.hpp:142,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    - Dst: cripts::Time::Local::Epoch
      Src: /src/trafficserver/include/cripts/Time.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - time
    - ctx
    argTypes:
    - cripts::Time::Local
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Time.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Time::Local::Epoch
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Time::Local &time, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const std::string &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const cripts::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Line
      Src: /src/trafficserver/include/cripts/Files.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator cripts::string()
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - Line
    linkageType: ''
    returnType: void
    signature: void operator cripts::string()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/include/cripts/Files.hpp:62,1
    - Dst: std::getline
      Src: /src/trafficserver/include/cripts/Files.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cripts::File::Line::Reader::Line
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Line()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const std::string &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const cripts::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Line
      Src: /src/trafficserver/include/cripts/Files.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator cripts::string()
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - Line
    linkageType: ''
    returnType: void
    signature: void operator cripts::string()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/include/cripts/Files.hpp:62,1
    - Dst: std::getline
      Src: /src/trafficserver/include/cripts/Files.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cripts::File::Line::Reader::Line
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Line()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const std::string &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const cripts::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Line
      Src: /src/trafficserver/include/cripts/Files.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator cripts::string()
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - Line
    linkageType: ''
    returnType: void
    signature: void operator cripts::string()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/include/cripts/Files.hpp:62,1
    - Dst: std::getline
      Src: /src/trafficserver/include/cripts/Files.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cripts::File::Line::Reader::Line
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Line()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const std::string &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::File::Line::Reader::Reader
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reader(const cripts::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Line
      Src: /src/trafficserver/include/cripts/Files.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator cripts::string()
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - Line
    linkageType: ''
    returnType: void
    signature: void operator cripts::string()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string::string
      Src: /src/trafficserver/include/cripts/Files.hpp:62,1
    - Dst: std::getline
      Src: /src/trafficserver/include/cripts/Files.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cripts::File::Line::Reader::Line
    functionSourceFile: /src/trafficserver/include/cripts/Files.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - cripts::string::string
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Line()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:43,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: cripts::UUID::Process::_get
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 2
    functionsReached:
    - TSUuidStringGet
    - TSProcessUuidGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string _get(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:43,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: cripts::UUID::Process::_get
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 2
    functionsReached:
    - TSUuidStringGet
    - TSProcessUuidGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string _get(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:43,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: cripts::UUID::Process::_get
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 2
    functionsReached:
    - TSUuidStringGet
    - TSProcessUuidGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string _get(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::UUID::Process::Process
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Process(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:43,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/include/cripts/UUID.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: cripts::UUID::Process::_get
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 2
    functionsReached:
    - TSUuidStringGet
    - TSProcessUuidGet
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string _get(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::UUID::Unique::Unique
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cripts::UUID::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/UUID.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: CAssert
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAssert(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CFatal
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: AsBoolean
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AsBoolean(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: AsString
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AsString(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: AsInteger
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AsInteger(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AsFloat
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AsFloat(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: AsPointer
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AsPointer(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringViewMixin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixin_type
      Src: /src/trafficserver/include/cripts/Lulu.hpp:80,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Lulu.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - mixin_type
    - strlen
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixin_type
      Src: /src/trafficserver/include/cripts/Lulu.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - count
    argTypes:
    - char*
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - mixin_type
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const char *s, mixin_type::size_type count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const cripts::string_view &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer_helper
      Src: /src/trafficserver/include/cripts/Lulu.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer_helper
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::StringViewMixin::ToInteger
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer
    linkageType: ''
    returnType: integer
    signature: integer ToInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cripts::StringViewMixin::ToFloat
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ToFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cripts::StringViewMixin::ToBool
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::Splitter<mixin_type>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - delim
    argTypes:
    - mixin_type
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cripts::StringViewMixin::Splitter
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - details::Splitter<mixin_type>
    linkageType: ''
    returnType: std::vector<mixin_type>
    signature: std::vector<mixin_type> Splitter(mixin_type input, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::Splitter
      Src: /src/trafficserver/include/cripts/Lulu.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: cripts::StringViewMixin::split
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::Splitter
    linkageType: ''
    returnType: std::vector<mixin_type>
    signature: std::vector<mixin_type> split(char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: cripts::StringViewMixin::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type GetSV() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Lulu.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: "&\n  clear()"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  clear()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::empty
      Src: /src/trafficserver/include/cripts/Lulu.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: cripts::StringViewMixin::empty
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::data
      Src: /src/trafficserver/include/cripts/Lulu.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: cripts::StringViewMixin::data
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::data
    linkageType: ''
    returnType: mixin_type::const_pointer
    signature: mixin_type::const_pointer data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: cripts::StringViewMixin::size
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::size
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: cripts::StringViewMixin::length
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::size
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator mixin_type()
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator mixin_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::StringViewMixin::value
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: operator==(const mixin_type rhs) const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mixin_type rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: operator!=(const mixin_type rhs) const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const mixin_type rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::substr
      Src: /src/trafficserver/include/cripts/Lulu.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: cripts::StringViewMixin::substr
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::substr
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type substr(mixin_type::size_type pos = 0, mixin_type::size_type
      count = mixin_type::npos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::remove_prefix
      Src: /src/trafficserver/include/cripts/Lulu.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: cripts::StringViewMixin::remove_prefix
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::remove_prefix
    linkageType: ''
    returnType: void
    signature: void remove_prefix(mixin_type::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::remove_suffix
      Src: /src/trafficserver/include/cripts/Lulu.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: cripts::StringViewMixin::remove_suffix
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::remove_suffix
    linkageType: ''
    returnType: void
    signature: void remove_suffix(mixin_type::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:196,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: "&\n  ltrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - ltrim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  ltrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:203,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: "&\n  rtrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    - static_cast<ChildT *>
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  rtrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:210,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: "&\n  trim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - trim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  trim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:217,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: "&\n  ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - ltrim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:224,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: "&\n  rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    - static_cast<ChildT *>
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:231,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: "&\n  trim(const char *chars = \" \\t\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - trim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  trim(const char *chars = \" \\t\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::data_end
      Src: /src/trafficserver/include/cripts/Lulu.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: cripts::StringViewMixin::data_end
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::data_end
    linkageType: ''
    returnType: char
    signature: "char *\n  data_end() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::ends_with
      Src: /src/trafficserver/include/cripts/Lulu.hpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: cripts::StringViewMixin::ends_with
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::ends_with
    linkageType: ''
    returnType: bool
    signature: bool ends_with(cripts::string_view const suffix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::starts_with
      Src: /src/trafficserver/include/cripts/Lulu.hpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: cripts::StringViewMixin::starts_with
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::starts_with
    linkageType: ''
    returnType: bool
    signature: bool starts_with(cripts::string_view const prefix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::find
      Src: /src/trafficserver/include/cripts/Lulu.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: cripts::StringViewMixin::find
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::find
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type find(cripts::string_view const substr, mixin_type::size_type
      pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::rfind
      Src: /src/trafficserver/include/cripts/Lulu.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cripts::StringViewMixin::rfind
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - cripts::StringViewMixin::rfind
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type rfind(cripts::string_view const substr, mixin_type::size_type
      pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::find
      Src: /src/trafficserver/include/cripts/Lulu.hpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: cripts::StringViewMixin::contains
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::find
    linkageType: ''
    returnType: bool
    signature: bool contains(cripts::string_view const substr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: cripts::StringViewMixin::_setSV
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setSV(const mixin_type str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: "&\n  operator=(const self_type &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const self_type &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: "&\n  operator=(const cripts::string_view &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const cripts::string_view &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: "&\n  operator=(const char *str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void string(const self_type &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Lulu.hpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - super_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void string(super_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void string(self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator cripts::c_str
      Src: /src/trafficserver/include/cripts/Lulu.hpp:322,1
    - Dst: operator cripts::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - operator cripts::c_str
    - operator cripts::size
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:328,1
    - Dst: cripts::find_first_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: "&\n  ltrim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::find_first_not_of
    - cripts::erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  ltrim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:335,1
    - Dst: cripts::find_last_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: "&\n  rtrim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::find_last_not_of
    - cripts::erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  rtrim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: "&\n  trim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::ltrim
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  trim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:348,1
    - Dst: cripts::find_first_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: "&\n  ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::find_first_not_of
    - cripts::erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:355,1
    - Dst: cripts::find_last_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: "&\n  rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::find_last_not_of
    - cripts::erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chars
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: "&\n  trim(const char *chars)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::ltrim
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  trim(const char *chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: cripts::string::split
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> split(char delim) const &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stod
      Src: /src/trafficserver/include/cripts/Lulu.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: operator float() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - std::stod
    linkageType: ''
    returnType: void
    signature: void operator float() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: cripts::string::ToInteger
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer
    linkageType: ''
    returnType: integer
    signature: integer ToInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: cripts::string::ToFloat
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ToFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: cripts::string::ToBool
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - TSHttpCntlType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(TSHttpCntlType ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: cripts::Control::Cache::Cache
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 429
    functionName: cripts::Control::Cache::Cache
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: cripts::Versions::Versions
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Versions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Versions::Versions
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Versions(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: cripts::Versions::Data
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: cripts::Versions::Size
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: cripts::Versions::Length
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: cripts::Versions::Major::Major
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Major()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: cripts::Versions::Major::Major
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Major(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetMajor
      Src: /src/trafficserver/include/cripts/Lulu.hpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetMajor
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: cripts::Versions::Minor::Minor
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: cripts::Versions::Minor::Minor
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minor(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetMinor
      Src: /src/trafficserver/include/cripts/Lulu.hpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetMinor
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: cripts::Versions::Patch::Patch
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Patch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 516
    functionName: cripts::Versions::Patch::Patch
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Patch(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetPatch
      Src: /src/trafficserver/include/cripts/Lulu.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetPatch
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringViewMixin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixin_type
      Src: /src/trafficserver/include/cripts/Lulu.hpp:80,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Lulu.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - mixin_type
    - strlen
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mixin_type
      Src: /src/trafficserver/include/cripts/Lulu.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - count
    argTypes:
    - char*
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - mixin_type
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const char *s, mixin_type::size_type count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: cripts::StringViewMixin::StringViewMixin
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringViewMixin(const cripts::string_view &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer_helper
      Src: /src/trafficserver/include/cripts/Lulu.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer_helper
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::StringViewMixin::ToInteger
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer
    linkageType: ''
    returnType: integer
    signature: integer ToInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cripts::StringViewMixin::ToFloat
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ToFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cripts::StringViewMixin::ToBool
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: details::Splitter<mixin_type>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - delim
    argTypes:
    - mixin_type
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cripts::StringViewMixin::Splitter
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 1
    functionsReached:
    - details::Splitter<mixin_type>
    linkageType: ''
    returnType: std::vector<mixin_type>
    signature: std::vector<mixin_type> Splitter(mixin_type input, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::Splitter
      Src: /src/trafficserver/include/cripts/Lulu.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: cripts::StringViewMixin::split
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::Splitter
    linkageType: ''
    returnType: std::vector<mixin_type>
    signature: std::vector<mixin_type> split(char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: cripts::StringViewMixin::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type GetSV() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Lulu.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: "&\n  clear()"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  clear()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::empty
      Src: /src/trafficserver/include/cripts/Lulu.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: cripts::StringViewMixin::empty
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::data
      Src: /src/trafficserver/include/cripts/Lulu.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: cripts::StringViewMixin::data
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::data
    linkageType: ''
    returnType: mixin_type::const_pointer
    signature: mixin_type::const_pointer data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: cripts::StringViewMixin::size
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 3
    functionsReached:
    - cripts::StringViewMixin::size
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: cripts::StringViewMixin::length
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::size
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator mixin_type()
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator mixin_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::StringViewMixin::value
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: operator==(const mixin_type rhs) const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mixin_type rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: operator!=(const mixin_type rhs) const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const mixin_type rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::substr
      Src: /src/trafficserver/include/cripts/Lulu.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: cripts::StringViewMixin::substr
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::substr
    linkageType: ''
    returnType: mixin_type
    signature: mixin_type substr(mixin_type::size_type pos = 0, mixin_type::size_type
      count = mixin_type::npos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::remove_prefix
      Src: /src/trafficserver/include/cripts/Lulu.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: cripts::StringViewMixin::remove_prefix
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::remove_prefix
    linkageType: ''
    returnType: void
    signature: void remove_prefix(mixin_type::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::remove_suffix
      Src: /src/trafficserver/include/cripts/Lulu.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - mixin_type::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: cripts::StringViewMixin::remove_suffix
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::remove_suffix
    linkageType: ''
    returnType: void
    signature: void remove_suffix(mixin_type::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:196,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: "&\n  ltrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - ltrim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  ltrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:203,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: "&\n  rtrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    - static_cast<ChildT *>
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  rtrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:210,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: "&\n  trim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - trim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  trim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:217,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: "&\n  ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - ltrim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:224,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: "&\n  rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    - static_cast<ChildT *>
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:231,1
    - Dst: static_cast<ChildT *>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: "&\n  trim(const char *chars = \" \\t\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ChildT *>
    - trim
    linkageType: ''
    returnType: ChildT
    signature: "ChildT &\n  trim(const char *chars = \" \\t\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::data_end
      Src: /src/trafficserver/include/cripts/Lulu.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: cripts::StringViewMixin::data_end
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::data_end
    linkageType: ''
    returnType: char
    signature: "char *\n  data_end() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::ends_with
      Src: /src/trafficserver/include/cripts/Lulu.hpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: cripts::StringViewMixin::ends_with
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::ends_with
    linkageType: ''
    returnType: bool
    signature: bool ends_with(cripts::string_view const suffix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::starts_with
      Src: /src/trafficserver/include/cripts/Lulu.hpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: cripts::StringViewMixin::starts_with
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::starts_with
    linkageType: ''
    returnType: bool
    signature: bool starts_with(cripts::string_view const prefix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::find
      Src: /src/trafficserver/include/cripts/Lulu.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: cripts::StringViewMixin::find
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 3
    functionsReached:
    - cripts::StringViewMixin::find
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type find(cripts::string_view const substr, mixin_type::size_type
      pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::rfind
      Src: /src/trafficserver/include/cripts/Lulu.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cripts::StringViewMixin::rfind
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 2
    functionsReached:
    - cripts::StringViewMixin::rfind
    linkageType: ''
    returnType: mixin_type::size_type
    signature: mixin_type::size_type rfind(cripts::string_view const substr, mixin_type::size_type
      pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::StringViewMixin::find
      Src: /src/trafficserver/include/cripts/Lulu.hpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: cripts::StringViewMixin::contains
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - cripts::StringViewMixin::find
    linkageType: ''
    returnType: bool
    signature: bool contains(cripts::string_view const substr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - mixin_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: cripts::StringViewMixin::_setSV
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setSV(const mixin_type str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: "&\n  operator=(const self_type &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const self_type &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: "&\n  operator=(const cripts::string_view &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const cripts::string_view &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::operator=
      Src: /src/trafficserver/include/cripts/Lulu.hpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: "&\n  operator=(const char *str)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - super_type::operator=
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void string(const self_type &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Lulu.hpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - super_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void string(super_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: cripts::string::string
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void string(self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator cripts::c_str
      Src: /src/trafficserver/include/cripts/Lulu.hpp:322,1
    - Dst: operator cripts::size
      Src: /src/trafficserver/include/cripts/Lulu.hpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - operator cripts::c_str
    - operator cripts::size
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:328,1
    - Dst: find_first_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: "&\n  ltrim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  ltrim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:335,1
    - Dst: find_last_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: "&\n  rtrim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - erase
    - find_last_not_of
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  rtrim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: "&\n  trim(char c = ' ')"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  trim(char c = ' ')"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:348,1
    - Dst: find_first_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: "&\n  ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - erase
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/cripts/Lulu.hpp:355,1
    - Dst: find_last_not_of
      Src: /src/trafficserver/include/cripts/Lulu.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: "&\n  rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - erase
    - find_last_not_of
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Lulu.hpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chars
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: "&\n  trim(const char *chars)"
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  trim(const char *chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - delim
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: cripts::string::split
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<cripts::string_view>
    signature: std::vector<cripts::string_view> split(char delim) const &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stod
      Src: /src/trafficserver/include/cripts/Lulu.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: operator float() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - std::stod
    linkageType: ''
    returnType: void
    signature: void operator float() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: cripts::string::ToInteger
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - integer
    linkageType: ''
    returnType: integer
    signature: integer ToInteger() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: cripts::string::ToFloat
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ToFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: cripts::string::ToBool
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ToBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - TSHttpCntlType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: cripts::Control::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(TSHttpCntlType ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: cripts::Control::Cache::Cache
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 429
    functionName: cripts::Control::Cache::Cache
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cache(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: cripts::Versions::Versions
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Versions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Versions::Versions
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Versions(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: cripts::Versions::Data
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: cripts::Versions::Size
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: cripts::Versions::Length
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: cripts::Versions::Major::Major
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Major()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: cripts::Versions::Major::Major
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Major(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetMajor
      Src: /src/trafficserver/include/cripts/Lulu.hpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetMajor
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: cripts::Versions::Minor::Minor
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: cripts::Versions::Minor::Minor
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Minor(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetMinor
      Src: /src/trafficserver/include/cripts/Lulu.hpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetMinor
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: cripts::Versions::Patch::Patch
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Patch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 516
    functionName: cripts::Versions::Patch::Patch
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Patch(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGetPatch
      Src: /src/trafficserver/include/cripts/Lulu.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - TSTrafficServerVersionGetPatch
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:545,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:552,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    - Dst: cripts::Versions::GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - version
    - ctx
    argTypes:
    - cripts::Versions
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - cripts::Versions::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions &version, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:560,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:567,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - major
    - ctx
    argTypes:
    - cripts::Versions::Major
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Major &major, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:575,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:582,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - minor
    - ctx
    argTypes:
    - cripts::Versions::Minor
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Minor &minor, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:590,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:597,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - patch
    - ctx
    argTypes:
    - cripts::Versions::Patch
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Patch &patch, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:605,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:612,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stat
    - ctx
    argTypes:
    - TSHttpStatus
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(const TSHttpStatus &stat, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:545,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:552,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    - Dst: cripts::Versions::GetSV
      Src: /src/trafficserver/include/cripts/Lulu.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - version
    - ctx
    argTypes:
    - cripts::Versions
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - cripts::Versions::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions &version, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:560,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:567,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - major
    - ctx
    argTypes:
    - cripts::Versions::Major
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Major &major, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:575,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:582,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - minor
    - ctx
    argTypes:
    - cripts::Versions::Minor
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Minor &minor, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:590,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:597,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Lulu.hpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - patch
    - ctx
    argTypes:
    - cripts::Versions::Patch
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Versions::Patch &patch, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:605,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Lulu.hpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:612,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Lulu.hpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stat
    - ctx
    argTypes:
    - TSHttpStatus
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Lulu.hpp
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(const TSHttpStatus &stat, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: cripts::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::IP::GetSV
      Src: /src/trafficserver/include/cripts/Connections.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: cripts::IP::string
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - cripts::IP::GetSV
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view string(unsigned ipv4_cidr = 32, unsigned ipv6_cidr
      = 128)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: cripts::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::IP::GetSV
      Src: /src/trafficserver/include/cripts/Connections.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: cripts::IP::string
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - cripts::IP::GetSV
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view string(unsigned ipv4_cidr = 32, unsigned ipv6_cidr
      = 128)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: detail::ConnBase::Dscp::Dscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dscp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:112,1
    - Dst: SetDscp
      Src: /src/trafficserver/include/cripts/Connections.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: operator=(int val)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - SetDscp
    linkageType: ''
    returnType: void
    signature: void operator=(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: detail::ConnBase::Pacing::Pacing
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pacing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: detail::ConnBase::Congestion::Congestion
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Congestion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:160,1
    - Dst: FD
      Src: /src/trafficserver/include/cripts/Connections.hpp:162,1
    - Dst: setsockopt
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Connections.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: "&\n    operator=([[maybe_unused]] cripts::string_view const &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSError
    - setsockopt
    - FD
    - cripts::string_view::size
    - cripts::string_view::data
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=([[maybe_unused]] cripts::string_view const
      &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: detail::ConnBase::Mark::Mark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mark()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:195,1
    - Dst: SetMark
      Src: /src/trafficserver/include/cripts/Connections.hpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: operator=(int val)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - SetMark
    linkageType: ''
    returnType: void
    signature: void operator=(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: detail::ConnBase::Geo::Geo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Geo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: detail::ConnBase::TcpInfo::TcpInfo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: detail::ConnBase::TcpInfo::TcpInfo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpInfo(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: detail::ConnBase::TcpInfo::Ready
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ready() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: detail::ConnBase::TcpInfo::rtt
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer rtt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: detail::ConnBase::TcpInfo::rto
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer rto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: detail::ConnBase::TcpInfo::snd_cwnd
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer snd_cwnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: detail::ConnBase::TcpInfo::retrans
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer retrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: detail::ConnBase::TcpInfo::rtt
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer rtt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: detail::ConnBase::TcpInfo::rto
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer rto()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: detail::ConnBase::TcpInfo::snd_cwnd
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer snd_cwnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: detail::ConnBase::TcpInfo::retrans
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer retrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: detail::ConnBase::TLS::TLS
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Connection
      Src: /src/trafficserver/include/cripts/Connections.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: operator bool()
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - Connection
    linkageType: ''
    returnType: void
    signature: void operator bool()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:336,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: detail::ConnBase::TLS::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: TSSslConnection
    signature: TSSslConnection Connection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::TLS::Connection
      Src: /src/trafficserver/include/cripts/Connections.hpp:350,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:354,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:354,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:356,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:356,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:359,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: detail::ConnBase::TLS::GetX509
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::SSL *>
    - detail::ConnBase::TLS::Connection
    - SSL_get1_peer_certificate
    - SSL_get_peer_certificate
    - SSL_get_certificate
    linkageType: ''
    returnType: X509
    signature: "X509 *\n    GetX509(bool mTLS = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: detail::ConnBase::ConnBase
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    functionName: ~ConnBase()
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConnBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: detail::ConnBase::ConnBase
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnBase(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:383,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: detail::ConnBase::Socket
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: struct sockaddr
    signature: "struct sockaddr *\n  Socket()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:390,1
    - Dst: detail::ConnBase::Socket
      Src: /src/trafficserver/include/cripts/Connections.hpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: detail::ConnBase::IP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - detail::ConnBase::Socket
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: detail::ConnBase::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/include/cripts/Connections.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: detail::ConnBase::IsInternal
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    linkageType: ''
    returnType: bool
    signature: bool IsInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:409,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/include/cripts/Connections.hpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: detail::ConnBase::IsTLS
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - TSVConnIsSsl
    linkageType: ''
    returnType: bool
    signature: bool IsTLS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - cripts::Transaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: detail::ConnBase::set_state
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_state(cripts::Transaction *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:442,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: detail::ConnBase::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 5
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: detail::ConnBase::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: detail::ConnBase::Dscp::Dscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dscp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:112,1
    - Dst: SetDscp
      Src: /src/trafficserver/include/cripts/Connections.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: operator=(int val)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - SetDscp
    linkageType: ''
    returnType: void
    signature: void operator=(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: detail::ConnBase::Pacing::Pacing
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pacing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: detail::ConnBase::Congestion::Congestion
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Congestion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:160,1
    - Dst: FD
      Src: /src/trafficserver/include/cripts/Connections.hpp:162,1
    - Dst: setsockopt
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Connections.hpp:163,1
    - Dst: TSError
      Src: /src/trafficserver/include/cripts/Connections.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: "&\n    operator=([[maybe_unused]] cripts::string_view const &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - TSError
    - setsockopt
    - FD
    - cripts::string_view::size
    - cripts::string_view::data
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=([[maybe_unused]] cripts::string_view const
      &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: detail::ConnBase::Mark::Mark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mark()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: operator integer() const
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:195,1
    - Dst: SetMark
      Src: /src/trafficserver/include/cripts/Connections.hpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: operator=(int val)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - _ensure_initialized
    - SetMark
    linkageType: ''
    returnType: void
    signature: void operator=(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: detail::ConnBase::Geo::Geo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Geo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: detail::ConnBase::TcpInfo::TcpInfo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: detail::ConnBase::TcpInfo::TcpInfo
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpInfo(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: detail::ConnBase::TcpInfo::Ready
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ready() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: detail::ConnBase::TcpInfo::rtt
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer rtt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: detail::ConnBase::TcpInfo::rto
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer rto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: detail::ConnBase::TcpInfo::snd_cwnd
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer snd_cwnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: detail::ConnBase::TcpInfo::retrans
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - initialize
    linkageType: ''
    returnType: integer
    signature: integer retrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: detail::ConnBase::TcpInfo::rtt
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer rtt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: detail::ConnBase::TcpInfo::rto
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer rto()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: detail::ConnBase::TcpInfo::snd_cwnd
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer snd_cwnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: detail::ConnBase::TcpInfo::retrans
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: integer
    signature: integer retrans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: detail::ConnBase::TLS::TLS
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Connection
      Src: /src/trafficserver/include/cripts/Connections.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: operator bool()
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - Connection
    linkageType: ''
    returnType: void
    signature: void operator bool()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:336,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: detail::ConnBase::TLS::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 1
    functionsReached:
    - _ensure_initialized
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: TSSslConnection
    signature: TSSslConnection Connection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::TLS::Connection
      Src: /src/trafficserver/include/cripts/Connections.hpp:350,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:354,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:354,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:356,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:356,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/include/cripts/Connections.hpp:359,1
    - Dst: reinterpret_cast<::SSL *>
      Src: /src/trafficserver/include/cripts/Connections.hpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: detail::ConnBase::TLS::GetX509
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::SSL *>
    - detail::ConnBase::TLS::Connection
    - SSL_get1_peer_certificate
    - SSL_get_peer_certificate
    - SSL_get_certificate
    linkageType: ''
    returnType: X509
    signature: "X509 *\n    GetX509(bool mTLS = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: detail::ConnBase::ConnBase
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    functionName: ~ConnBase()
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConnBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: detail::ConnBase::ConnBase
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnBase(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:383,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: detail::ConnBase::Socket
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 1
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: struct sockaddr
    signature: "struct sockaddr *\n  Socket()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:390,1
    - Dst: detail::ConnBase::Socket
      Src: /src/trafficserver/include/cripts/Connections.hpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: detail::ConnBase::IP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - detail::ConnBase::Socket
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: detail::ConnBase::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/include/cripts/Connections.hpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: detail::ConnBase::IsInternal
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    linkageType: ''
    returnType: bool
    signature: bool IsInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:409,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/include/cripts/Connections.hpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: detail::ConnBase::IsTLS
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::_ensure_initialized
    - TSVConnIsSsl
    linkageType: ''
    returnType: bool
    signature: bool IsTLS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - cripts::Transaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: detail::ConnBase::set_state
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_state(cripts::Transaction *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Connections.hpp:442,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Connections.hpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: detail::ConnBase::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 8
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: detail::ConnBase::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: cripts::Client::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Client::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Client::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: cripts::Client::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Client::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Client::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: cripts::Server::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: cripts::Server::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: cripts::Server::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: cripts::Server::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: cripts::Server::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: cripts::Server::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: cripts::Client::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Client::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Client::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: cripts::Client::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: cripts::Client::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Client::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Client::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: cripts::Server::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: cripts::Server::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: cripts::Server::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: cripts::Server::Connection::Connection
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connection(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketDscpSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: cripts::Server::Connection::SetDscp
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketDscpSet
    linkageType: ''
    returnType: void
    signature: void SetDscp(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerPacketMarkSet
      Src: /src/trafficserver/include/cripts/Connections.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: cripts::Server::Connection::SetMark
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPacketMarkSet
    linkageType: ''
    returnType: void
    signature: void SetMark(int val) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/include/cripts/Connections.hpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: cripts::Server::Connection::LocalIP
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: cripts::IP
    signature: cripts::IP LocalIP() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Connections.hpp:546,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Connections.hpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Connections.hpp:553,1
    - Dst: format_to
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    - Dst: cripts::IP::GetSV
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - ctx
    argTypes:
    - cripts::IP
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 9
    functionsReached:
    - format_to
    - cripts::IP::GetSV
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::IP &ip, FormatContext &ctx) -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Connections.hpp:546,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Connections.hpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Connections.hpp:553,1
    - Dst: format_to
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    - Dst: cripts::IP::GetSV
      Src: /src/trafficserver/include/cripts/Connections.hpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - ctx
    argTypes:
    - cripts::IP
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Connections.hpp
    functionUses: 9
    functionsReached:
    - format_to
    - cripts::IP::GetSV
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::IP &ip, FormatContext &ctx) -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: cripts::Error::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Error::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/include/cripts/Error.hpp:51,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Error.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cripts::Error::Reason::_getter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view _getter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cripts::Error::Reason::_setter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setter(const cripts::string_view msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: cripts::Error::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: cripts::Error::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Error::Status::_set
      Src: /src/trafficserver/include/cripts/Error.hpp:79,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/include/cripts/Error.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - status
    argTypes:
    - cripts::Context*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cripts::Error::Status::_set
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 1
    functionsReached:
    - cripts::Error::Status::_set
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, int status, const cripts::string_view
      msg = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: cripts::Error::Status::_getter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus _getter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: cripts::Error::Status::_setter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setter(TSHttpStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: cripts::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cripts::Error::Failed
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: cripts::Error::Fail
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fail(bool redirect = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: cripts::Error::Redirect
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Redirect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: cripts::Error::Redirected
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Redirected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: cripts::Error::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Error::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/include/cripts/Error.hpp:51,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Error.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cripts::Error::Reason::_getter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - size
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view _getter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cripts::Error::Reason::_setter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setter(const cripts::string_view msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: cripts::Error::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: cripts::Error::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Error::Status::_set
      Src: /src/trafficserver/include/cripts/Error.hpp:79,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/include/cripts/Error.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - status
    argTypes:
    - cripts::Context*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cripts::Error::Status::_set
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 2
    functionsReached:
    - cripts::Error::Status::_set
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void _set(cripts::Context *context, int status, const cripts::string_view
      msg = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: cripts::Error::Status::_getter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus _getter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: cripts::Error::Status::_setter
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _setter(TSHttpStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: cripts::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cripts::Error::Failed
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: cripts::Error::Fail
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fail(bool redirect = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: cripts::Error::Redirect
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Redirect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: cripts::Error::Redirected
    functionSourceFile: /src/trafficserver/include/cripts/Error.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Redirected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: do_remap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: do_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_post_remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: do_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_cache_lookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: do_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_send_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: do_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_read_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: do_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_send_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: do_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_txn_close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: do_init
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_init()
  - 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: do_create_instance
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_create_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: do_delete_instance
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_delete_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: DoRemap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: DoPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoPostRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DoCacheLookup
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoCacheLookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: DoSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoSendRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DoReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoReadResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DoSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: DoTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoTxnClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DoInit
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DoCreateInstance
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoCreateInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DoDeleteInstance
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoDeleteInstance()
  - 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: glb_txn_start
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_txn_start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: glb_read_request
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_read_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: glb_pre_remap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_pre_remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: glb_post_remap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_post_remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: glb_cache_lookup
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_cache_lookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: glb_send_request
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_send_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: glb_read_response
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_read_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: glb_send_response
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_send_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: glb_txn_close
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_txn_close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: glb_init
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: glb_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: GlbTxnStart
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbTxnStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: GlbReadRequest
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbReadRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: GlbPreRemap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbPreRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: GlbPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbPostRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: GlbSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbSendRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: GlbReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbReadResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: GlbSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: GlbTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbTxnClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: GlbInit
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlbInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: Regex
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Regex(_name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: ACL
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACL(_name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: StatusCode
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: StatusCode(_name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _id_
    - ','
    - _name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: CreateCounter
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CreateCounter(_id_, _name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _id_
    - ','
    - _name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: CreateGauge
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CreateGauge(_id_, _name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _name_
    - ','
    - _path_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: FilePath
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FilePath(_name_, _path_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: UniqueUUID
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UniqueUUID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: TimeNow
    functionSourceFile: /src/trafficserver/include/cripts/Preamble.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TimeNow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Header::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Header::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: cripts::Header::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: cripts::Header::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: cripts::Header::Body::Body
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Body()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Header::Body::Body
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Body(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method(cripts::string_view const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:91,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/include/cripts/Headers.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - static_cast<cripts::string_view::size_type>
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: void
    signature: void Method(const char *const method, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Headers.hpp:105,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Headers.hpp:105,1
    - Dst: data
      Src: /src/trafficserver/include/cripts/Headers.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: cripts::Header::Method::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - data
    - CAssert
    - size
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: cripts::Header::Method::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: cripts::Header::Method::Size
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: cripts::Header::Method::Length
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:130,1
    - Dst: Method::Data
      Src: /src/trafficserver/include/cripts/Headers.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: operator==(Method const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    - Method::Data
    linkageType: ''
    returnType: bool
    signature: bool operator==(Method const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:136,1
    - Dst: Method::Data
      Src: /src/trafficserver/include/cripts/Headers.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: operator!=(Method const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    - Method::Data
    linkageType: ''
    returnType: bool
    signature: bool operator!=(Method const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: cripts::Header::CacheStatus::CacheStatus
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: cripts::Header::CacheStatus::CacheStatus
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheStatus(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Header::CacheStatus::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: cripts::Header::CacheStatus::Size
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: cripts::Header::CacheStatus::Length
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Headers.hpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ~String()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: "&\n    operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:212,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Headers.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: "&\n    operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:218,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Headers.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: "&\n    operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: "&\n    operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - name
    - value
    - owner
    - field_loc
    argTypes:
    - cripts::string_view
    - cripts::string_view
    - Header*
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: cripts::Header::String::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view name, cripts::string_view value,
      Header *owner, TSMLoc field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: "&\n    operator=(const cripts::string_view str) override"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const cripts::string_view str) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Headers.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - view
    - tag
    argTypes:
    - Name
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: cripts::Header::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Iterator(Name view, uint32_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Headers.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - view
    - tag
    - owner
    argTypes:
    - Name
    - uint32_t
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: cripts::Header::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Iterator(Name view, uint32_t tag, Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: operator->()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Headers.hpp:297,1
    - Dst: iterate
      Src: /src/trafficserver/include/cripts/Headers.hpp:299,1
    - Dst: empty
      Src: /src/trafficserver/include/cripts/Headers.hpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: "&\n    operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - empty
    - CAssert
    - iterate
    linkageType: ''
    returnType: Iterator
    signature: "Iterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: operator==(const Iterator &a, const Iterator &b)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Iterator &a, const Iterator &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: operator!=(const Iterator &a, const Iterator &b)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Iterator &a, const Iterator &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: cripts::Header::Iterator::end
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: cripts::Header::Header
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Header()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/trafficserver/include/cripts/Headers.hpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: ~Header()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void ~Header()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Headers.hpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: cripts::Header::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: cripts::Header::BufP
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer BufP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: cripts::Header::MLoc
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc MLoc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: cripts::Header::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: cripts::Header::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: void
    signature: void Erase(const cripts::string_view header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Iterator::end
      Src: /src/trafficserver/include/cripts/Headers.hpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: cripts::Header::end
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::Iterator::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - cripts::Transaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: cripts::Header::set_state
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_state(cripts::Transaction *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:405,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Headers.hpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: cripts::Header::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 7
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: cripts::Header::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: cripts::RequestHeader::RequestHeader
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: cripts::ResponseHeader::ResponseHeader
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResponseHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Header::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Header::Status::Status
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: cripts::Header::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: cripts::Header::Reason::Reason
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reason(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: cripts::Header::Body::Body
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Body()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Header::Body::Body
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Body(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method(cripts::string_view const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:91,1
    - Dst: static_cast<cripts::string_view::size_type>
      Src: /src/trafficserver/include/cripts/Headers.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - static_cast<cripts::string_view::size_type>
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: void
    signature: void Method(const char *const method, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: cripts::Header::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Headers.hpp:105,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Headers.hpp:105,1
    - Dst: data
      Src: /src/trafficserver/include/cripts/Headers.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: cripts::Header::Method::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - data
    - CAssert
    - size
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: cripts::Header::Method::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: cripts::Header::Method::Size
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: cripts::Header::Method::Length
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:130,1
    - Dst: Method::Data
      Src: /src/trafficserver/include/cripts/Headers.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: operator==(Method const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    - Method::Data
    linkageType: ''
    returnType: bool
    signature: bool operator==(Method const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:136,1
    - Dst: Method::Data
      Src: /src/trafficserver/include/cripts/Headers.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: operator!=(Method const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    - Method::Data
    linkageType: ''
    returnType: bool
    signature: bool operator!=(Method const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: cripts::Header::CacheStatus::CacheStatus
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: cripts::Header::CacheStatus::CacheStatus
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheStatus(Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Header::CacheStatus::Data
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: cripts::Header::CacheStatus::Size
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: cripts::Header::CacheStatus::Length
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Headers.hpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ~String()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: "&\n    operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:212,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Headers.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: "&\n    operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:218,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Headers.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: "&\n    operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Headers.hpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: "&\n    operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - name
    - value
    - owner
    - field_loc
    argTypes:
    - cripts::string_view
    - cripts::string_view
    - Header*
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: cripts::Header::String::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view name, cripts::string_view value,
      Header *owner, TSMLoc field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: "&\n    operator=(const cripts::string_view str) override"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    operator=(const cripts::string_view str) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Headers.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - view
    - tag
    argTypes:
    - Name
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: cripts::Header::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Iterator(Name view, uint32_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/cripts/Headers.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - view
    - tag
    - owner
    argTypes:
    - Name
    - uint32_t
    - Header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: cripts::Header::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Iterator(Name view, uint32_t tag, Header *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: operator->()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Headers.hpp:297,1
    - Dst: iterate
      Src: /src/trafficserver/include/cripts/Headers.hpp:299,1
    - Dst: empty
      Src: /src/trafficserver/include/cripts/Headers.hpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: "&\n    operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - empty
    - CAssert
    - iterate
    linkageType: ''
    returnType: Iterator
    signature: "Iterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: operator==(const Iterator &a, const Iterator &b)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Iterator &a, const Iterator &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: operator!=(const Iterator &a, const Iterator &b)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Iterator &a, const Iterator &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: cripts::Header::Iterator::end
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: cripts::Header::Header
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Header()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/trafficserver/include/cripts/Headers.hpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: ~Header()
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void ~Header()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Headers.hpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: cripts::Header::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: cripts::Header::BufP
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer BufP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: cripts::Header::MLoc
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc MLoc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: cripts::Header::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::_ensure_initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: cripts::Header::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::_ensure_initialized
    linkageType: ''
    returnType: void
    signature: void Erase(const cripts::string_view header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Iterator::end
      Src: /src/trafficserver/include/cripts/Headers.hpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: cripts::Header::end
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - cripts::Header::Iterator::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - cripts::Transaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: cripts::Header::set_state
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_state(cripts::Transaction *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Headers.hpp:405,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Headers.hpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: cripts::Header::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 10
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: cripts::Header::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: cripts::RequestHeader::RequestHeader
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: cripts::ResponseHeader::ResponseHeader
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResponseHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: cripts::Client::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: cripts::Client::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: cripts::Server::Request::Request
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: cripts::Server::Response::Response
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:541,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:548,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    - Dst: cripts::Header::Method::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ctx
    argTypes:
    - cripts::Header::Method
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - cripts::Header::Method::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Header::Method &method, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:556,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:563,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    - Dst: cripts::Header::String::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - ctx
    argTypes:
    - cripts::Header::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Header::String::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Header::String &str, FormatContext &ctx)
      const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:571,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:578,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    - Dst: cripts::Header::Name::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - cripts::Header::Name
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Header::Name::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Header::Name &name, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:541,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:548,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    - Dst: cripts::Header::Method::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ctx
    argTypes:
    - cripts::Header::Method
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - cripts::Header::Method::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Header::Method &method, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:556,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:563,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    - Dst: cripts::Header::String::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - ctx
    argTypes:
    - cripts::Header::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Header::String::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Header::String &str, FormatContext &ctx)
      const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:571,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Headers.hpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:578,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    - Dst: cripts::Header::Name::GetSV
      Src: /src/trafficserver/include/cripts/Headers.hpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - cripts::Header::Name
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Headers.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Header::Name::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Header::Name &name, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~String()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: "&\n  operator=(const cripts::string_view str) override"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const cripts::string_view str) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~String()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: "&\n  operator=(const cripts::string_view str) override"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(const cripts::string_view str) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~X509Value()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/include/cripts/Certs.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: detail::CertBase::X509Value::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view GetSV() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    - Dst: BIO_new
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: detail::CertBase::X509Value::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 9
    functionsReached:
    - reset
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: void
    signature: void _load() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: detail::CertBase::Certificate::Certificate
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: detail::CertBase::Signature::Signature
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: detail::CertBase::Subject::Subject
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Subject(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_name
      Src: /src/trafficserver/include/cripts/Certs.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: detail::CertBase::Subject::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_name
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: detail::CertBase::Issuer::Issuer
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Issuer(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_name
      Src: /src/trafficserver/include/cripts/Certs.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: detail::CertBase::Issuer::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_name
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: detail::CertBase::SerialNumber::SerialNumber
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerialNumber(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_integer
      Src: /src/trafficserver/include/cripts/Certs.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: detail::CertBase::SerialNumber::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_integer
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: detail::CertBase::NotBefore::NotBefore
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotBefore(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_time
      Src: /src/trafficserver/include/cripts/Certs.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: detail::CertBase::NotBefore::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_time
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: detail::CertBase::NotAfter::NotAfter
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotAfter(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_time
      Src: /src/trafficserver/include/cripts/Certs.hpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: detail::CertBase::NotAfter::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_time
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: detail::CertBase::Version::Version
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_long
      Src: /src/trafficserver/include/cripts/Certs.hpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: detail::CertBase::Version::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_long
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - owner
    - san_id
    argTypes:
    - SAN*
    - cripts::Certs::SAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(SAN *owner, cripts::Certs::SAN san_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: ~SANBase()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SANBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(const SANBase &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(SANBase &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: detail::CertBase::SAN::SANBase::sanType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::Certs::SAN
    signature: cripts::Certs::SAN sanType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(base_iterator iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ~Iterator()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: '&operator=(const Iterator &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '&operator=(Iterator &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: "&\n        operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n        operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: operator!=(const self_type &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const self_type &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: detail::CertBase::SAN::SANBase::Iterator::base_iter
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_iterator
    signature: base_iterator base_iter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _load
      Src: /src/trafficserver/include/cripts/Certs.hpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: detail::CertBase::SAN::SANBase::ensureLoaded
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load
    linkageType: ''
    returnType: void
    signature: void ensureLoaded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:338,1
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:339,1
    - Dst: detail::CertBase::SAN::SANBase::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: detail::CertBase::SAN::SANBase::begin
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 1
    functionsReached:
    - Iterator
    - detail::CertBase::SAN::SANBase::ensureLoaded
    - detail::CertBase::SAN::SANBase::begin
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:345,1
    - Dst: detail::CertBase::SAN::SANBase::end
      Src: /src/trafficserver/include/cripts/Certs.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: detail::CertBase::SAN::SANBase::end
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 1
    functionsReached:
    - Iterator
    - detail::CertBase::SAN::SANBase::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: "&\n      Data() const"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - ensureLoaded
    linkageType: ''
    returnType: Container
    signature: "Container &\n      Data() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:358,1
    - Dst: detail::CertBase::SAN::SANBase::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: detail::CertBase::SAN::SANBase::size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 1
    functionsReached:
    - detail::CertBase::SAN::SANBase::ensureLoaded
    - detail::CertBase::SAN::SANBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: detail::CertBase::SAN::SANBase::Size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::CertBase::SAN::SANBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:370,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Certs.hpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: operator[](size_t index) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - size
    - ensureLoaded
    linkageType: ''
    returnType: cripts::Certs::String
    signature: cripts::Certs::String operator[](size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - SAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(SAN *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: ~SANType() override
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SANType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(const SANType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(SANType &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: ~SAN()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SAN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(const SAN &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(SAN &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _advance
      Src: /src/trafficserver/include/cripts/Certs.hpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - san
    argTypes:
    - SAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _advance
    linkageType: ''
    returnType: void
    signature: void Iterator(const SAN *san)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: '&operator=(const Iterator &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '&operator=(Iterator &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: ~Iterator()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Certs.hpp:457,1
    - Dst: _advance
      Src: /src/trafficserver/include/cripts/Certs.hpp:458,1
    - Dst: _update_current
      Src: /src/trafficserver/include/cripts/Certs.hpp:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: "&\n      operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - Data
    - _update_current
    - _advance
    linkageType: ''
    returnType: Iterator
    signature: "Iterator &\n      operator++()"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: operator!=(const Iterator &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Iterator &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: operator==(const Iterator &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Iterator &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    - Dst: sanType
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    - Dst: processDurationString
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: detail::CertBase::SAN::Iterator::_update_current
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - sanType
    - processDurationString
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void _update_current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: detail::CertBase::SAN::begin
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - Iterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: detail::CertBase::SAN::end
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::Size
      Src: /src/trafficserver/include/cripts/Certs.hpp:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: detail::CertBase::SAN::size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::CertBase::SAN::Size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: detail::CertBase::SAN::Size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 1
    functionsReached:
    - detail::CertBase::SAN::size
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - detail::ConnBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase(detail::ConnBase &conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::tls::GetX509
      Src: /src/trafficserver/include/cripts/Certs.hpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - detail::ConnBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: detail::Cert::Cert
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::tls::GetX509
    linkageType: ''
    returnType: void
    signature: void Cert(detail::ConnBase &conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~X509Value()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: detail::CertBase::X509Value::X509Value
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Value(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::X509Value::_load
      Src: /src/trafficserver/include/cripts/Certs.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: detail::CertBase::X509Value::GetSV
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::CertBase::X509Value::_load
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view GetSV() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    - Dst: BIO_new
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/include/cripts/Certs.hpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: detail::CertBase::X509Value::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 10
    functionsReached:
    - reset
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: void
    signature: void _load() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: detail::CertBase::Certificate::Certificate
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: detail::CertBase::Signature::Signature
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: detail::CertBase::Subject::Subject
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Subject(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_name
      Src: /src/trafficserver/include/cripts/Certs.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: detail::CertBase::Subject::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_name
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: detail::CertBase::Issuer::Issuer
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Issuer(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_name
      Src: /src/trafficserver/include/cripts/Certs.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: detail::CertBase::Issuer::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_name
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: detail::CertBase::SerialNumber::SerialNumber
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerialNumber(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_integer
      Src: /src/trafficserver/include/cripts/Certs.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: detail::CertBase::SerialNumber::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_integer
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: detail::CertBase::NotBefore::NotBefore
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotBefore(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_time
      Src: /src/trafficserver/include/cripts/Certs.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: detail::CertBase::NotBefore::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_time
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: detail::CertBase::NotAfter::NotAfter
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotAfter(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_time
      Src: /src/trafficserver/include/cripts/Certs.hpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: detail::CertBase::NotAfter::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_time
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: detail::CertBase::Version::Version
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _load_long
      Src: /src/trafficserver/include/cripts/Certs.hpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: detail::CertBase::Version::_load
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _load_long
    linkageType: ''
    returnType: void
    signature: void _load() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - owner
    - san_id
    argTypes:
    - SAN*
    - cripts::Certs::SAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(SAN *owner, cripts::Certs::SAN san_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: ~SANBase()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SANBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(const SANBase &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: detail::CertBase::SAN::SANBase::SANBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANBase(SANBase &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: detail::CertBase::SAN::SANBase::sanType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::Certs::SAN
    signature: cripts::Certs::SAN sanType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(base_iterator iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ~Iterator()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: '&operator=(const Iterator &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: detail::CertBase::SAN::SANBase::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '&operator=(Iterator &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: "&\n        operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n        operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: operator!=(const self_type &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const self_type &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: detail::CertBase::SAN::SANBase::Iterator::base_iter
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_iterator
    signature: base_iterator base_iter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _load
      Src: /src/trafficserver/include/cripts/Certs.hpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: detail::CertBase::SAN::SANBase::ensureLoaded
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 2
    functionsReached:
    - _load
    linkageType: ''
    returnType: void
    signature: void ensureLoaded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:338,1
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:339,1
    - Dst: detail::CertBase::SAN::SANBase::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: detail::CertBase::SAN::SANBase::begin
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 2
    functionsReached:
    - Iterator
    - detail::CertBase::SAN::SANBase::ensureLoaded
    - detail::CertBase::SAN::SANBase::begin
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:345,1
    - Dst: detail::CertBase::SAN::SANBase::end
      Src: /src/trafficserver/include/cripts/Certs.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: detail::CertBase::SAN::SANBase::end
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 2
    functionsReached:
    - Iterator
    - detail::CertBase::SAN::SANBase::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: "&\n      Data() const"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - ensureLoaded
    linkageType: ''
    returnType: Container
    signature: "Container &\n      Data() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:358,1
    - Dst: detail::CertBase::SAN::SANBase::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: detail::CertBase::SAN::SANBase::size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 3
    functionsReached:
    - detail::CertBase::SAN::SANBase::ensureLoaded
    - detail::CertBase::SAN::SANBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::SANBase::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: detail::CertBase::SAN::SANBase::Size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::CertBase::SAN::SANBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensureLoaded
      Src: /src/trafficserver/include/cripts/Certs.hpp:370,1
    - Dst: size
      Src: /src/trafficserver/include/cripts/Certs.hpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: operator[](size_t index) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - size
    - ensureLoaded
    linkageType: ''
    returnType: cripts::Certs::String
    signature: cripts::Certs::String operator[](size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - SAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(SAN *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: ~SANType() override
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SANType() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(const SANType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: detail::CertBase::SAN::SANType::SANType
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SANType(SANType &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - CertBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(CertBase *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: ~SAN()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SAN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(const SAN &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: detail::CertBase::SAN::SAN
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SAN(SAN &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(std::nullptr_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _advance
      Src: /src/trafficserver/include/cripts/Certs.hpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - san
    argTypes:
    - SAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - _advance
    linkageType: ''
    returnType: void
    signature: void Iterator(const SAN *san)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: '&operator=(const Iterator &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(const Iterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: detail::CertBase::SAN::Iterator::Iterator
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iterator(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '&operator=(Iterator &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator &operator=(Iterator &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: ~Iterator()
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: operator*() const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Certs.hpp:457,1
    - Dst: _advance
      Src: /src/trafficserver/include/cripts/Certs.hpp:458,1
    - Dst: _update_current
      Src: /src/trafficserver/include/cripts/Certs.hpp:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: "&\n      operator++()"
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - Data
    - _update_current
    - _advance
    linkageType: ''
    returnType: Iterator
    signature: "Iterator &\n      operator++()"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: operator!=(const Iterator &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Iterator &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: operator==(const Iterator &other) const
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Iterator &other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    - Dst: sanType
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    - Dst: processDurationString
      Src: /src/trafficserver/include/cripts/Certs.hpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: detail::CertBase::SAN::Iterator::_update_current
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - sanType
    - processDurationString
    - std::make_tuple
    linkageType: ''
    returnType: void
    signature: void _update_current() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/trafficserver/include/cripts/Certs.hpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: detail::CertBase::SAN::begin
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - Iterator
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: detail::CertBase::SAN::end
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::Size
      Src: /src/trafficserver/include/cripts/Certs.hpp:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: detail::CertBase::SAN::size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 1
    functionsReached:
    - detail::CertBase::SAN::Size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::CertBase::SAN::size
      Src: /src/trafficserver/include/cripts/Certs.hpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: detail::CertBase::SAN::Size
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 2
    functionsReached:
    - detail::CertBase::SAN::size
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - detail::ConnBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase(detail::ConnBase &conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: detail::CertBase::CertBase
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertBase(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::ConnBase::tls::GetX509
      Src: /src/trafficserver/include/cripts/Certs.hpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - detail::ConnBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: detail::Cert::Cert
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - detail::ConnBase::tls::GetX509
    linkageType: ''
    returnType: void
    signature: void Cert(detail::ConnBase &conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:605,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:612,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - san
    - ctx
    argTypes:
    - cripts::Certs::SAN
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Certs::SAN san, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:620,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:627,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    - Dst: cripts::Certs::String::GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - ctx
    argTypes:
    - cripts::Certs::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 9
    functionsReached:
    - cripts::Certs::String::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Certs::String &str, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:605,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:612,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Certs.hpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - san
    - ctx
    argTypes:
    - cripts::Certs::SAN
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Certs::SAN san, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:620,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Certs.hpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:627,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    - Dst: cripts::Certs::String::GetSV
      Src: /src/trafficserver/include/cripts/Certs.hpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - ctx
    argTypes:
    - cripts::Certs::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Certs.hpp
    functionUses: 9
    functionsReached:
    - cripts::Certs::String::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(const cripts::Certs::String &str, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(cripts::string_view ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(self_type const &ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(in_addr_t target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Match(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Contains(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(in_addr_t target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/include/cripts/Matcher.hpp:107,1
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:108,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: cripts::Matcher::Range::IP::Add
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - CFatal
    - mark
    - cripts::string_view::size
    - swoc::IPRange::load
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Add(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(cripts::string_view ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(self_type const &ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(in_addr_t target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Match(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Contains(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(in_addr_t target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/include/cripts/Matcher.hpp:107,1
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:108,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: cripts::Matcher::Range::IP::Add
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - CFatal
    - mark
    - cripts::string_view::size
    - swoc::IPRange::load
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Add(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(cripts::Header::Method method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(self_type const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::Header::Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(std::initializer_list<cripts::Header::Method> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Method::Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:152,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: std::find_if
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: cripts::Matcher::List::Method::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - begin
    - cripts::Header::Method::Data
    - end
    - Data
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool Contains(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::List::Method::Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Matcher::List::Method::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::List::Method::Contains
    linkageType: ''
    returnType: bool
    signature: bool Match(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(cripts::Header::Method method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(self_type const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::Header::Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(std::initializer_list<cripts::Header::Method> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Method::Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:152,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: std::find_if
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: cripts::Matcher::List::Method::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 1
    functionsReached:
    - begin
    - cripts::Header::Method::Data
    - end
    - Data
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool Contains(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::List::Method::Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Matcher::List::Method::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::List::Method::Contains
    linkageType: ''
    returnType: bool
    signature: bool Match(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: cripts::Matcher::PCRE::Result::Result
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - subject
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: cripts::Matcher::PCRE::Result::Result
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result(cripts::string_view subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_free
      Src: /src/trafficserver/include/cripts/Matcher.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ~Result()
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - pcre2_match_data_free
    linkageType: ''
    returnType: void
    signature: void ~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Matched
      Src: /src/trafficserver/include/cripts/Matcher.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Matched
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/trafficserver/include/cripts/Matcher.hpp:198,1
    - Dst: substr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ix
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: operator[](size_t ix) const
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - substr
    - Count
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view operator[](size_t ix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: cripts::Matcher::PCRE::Result::Matched
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Matched() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: cripts::Matcher::PCRE::Result::MatchIX
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegexEntries::size_type
    signature: RegexEntries::size_type MatchIX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_count
      Src: /src/trafficserver/include/cripts/Matcher.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: cripts::Matcher::PCRE::Result::Count
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCRE(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void PCRE(cripts::string_view regex, uint32_t options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void PCRE(std::initializer_list<cripts::string_view> list, uint32_t
      options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subject
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: cripts::Matcher::PCRE::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Contains
    linkageType: ''
    returnType: Result
    signature: Result Match(cripts::string_view subject, PCRE2_SIZE offset = 0, uint32_t
      options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(cripts::string_view ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(self_type const &ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(in_addr_t target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Match(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Contains(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(in_addr_t target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/include/cripts/Matcher.hpp:107,1
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:108,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: cripts::Matcher::Range::IP::Add
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - CFatal
    - mark
    - cripts::string_view::size
    - swoc::IPRange::load
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Add(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(cripts::string_view ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(self_type const &ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void IP(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::Range::IP::Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cripts::Matcher::Range::IP::IP
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::Range::IP::Add
    linkageType: ''
    returnType: void
    signature: void IP(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Match(in_addr_t target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Matcher::Range::IP::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Match(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Contains(swoc::IPAddr const &target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(sockaddr const *target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - in_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Matcher::Range::IP::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool Contains(in_addr_t target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/include/cripts/Matcher.hpp:107,1
    - Dst: mark
      Src: /src/trafficserver/include/cripts/Matcher.hpp:108,1
    - Dst: CFatal
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: cripts::Matcher::Range::IP::Add
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - CFatal
    - mark
    - cripts::string_view::size
    - swoc::IPRange::load
    - cripts::string_view::data
    linkageType: ''
    returnType: void
    signature: void Add(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(cripts::Header::Method method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(self_type const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::Header::Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(std::initializer_list<cripts::Header::Method> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Method::Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:152,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: std::find_if
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: cripts::Matcher::List::Method::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 2
    functionsReached:
    - begin
    - cripts::Header::Method::Data
    - end
    - Data
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool Contains(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::List::Method::Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Matcher::List::Method::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::List::Method::Contains
    linkageType: ''
    returnType: bool
    signature: bool Match(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Method()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(cripts::Header::Method method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(self_type const &method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: std::begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<self_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Method(const std::initializer_list<self_type> &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/cripts/Matcher.hpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::Header::Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cripts::Matcher::List::Method::Method
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Method(std::initializer_list<cripts::Header::Method> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Header::Method::Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:152,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: std::find_if
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    - Dst: Data
      Src: /src/trafficserver/include/cripts/Matcher.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: cripts::Matcher::List::Method::Contains
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 3
    functionsReached:
    - begin
    - cripts::Header::Method::Data
    - end
    - Data
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool Contains(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Matcher::List::Method::Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - cripts::Header::Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cripts::Matcher::List::Method::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - cripts::Matcher::List::Method::Contains
    linkageType: ''
    returnType: bool
    signature: bool Match(cripts::Header::Method method) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: cripts::Matcher::PCRE::Result::Result
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - subject
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: cripts::Matcher::PCRE::Result::Result
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Result(cripts::string_view subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_free
      Src: /src/trafficserver/include/cripts/Matcher.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ~Result()
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - pcre2_match_data_free
    linkageType: ''
    returnType: void
    signature: void ~Result()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Matched
      Src: /src/trafficserver/include/cripts/Matcher.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Matched
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Count
      Src: /src/trafficserver/include/cripts/Matcher.hpp:198,1
    - Dst: substr
      Src: /src/trafficserver/include/cripts/Matcher.hpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ix
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: operator[](size_t ix) const
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - substr
    - Count
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view operator[](size_t ix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: cripts::Matcher::PCRE::Result::Matched
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Matched() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: cripts::Matcher::PCRE::Result::MatchIX
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegexEntries::size_type
    signature: RegexEntries::size_type MatchIX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_count
      Src: /src/trafficserver/include/cripts/Matcher.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: cripts::Matcher::PCRE::Result::Count
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCRE(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void PCRE(cripts::string_view regex, uint32_t options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/trafficserver/include/cripts/Matcher.hpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: cripts::Matcher::PCRE::PCRE
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void PCRE(std::initializer_list<cripts::string_view> list, uint32_t
      options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Contains
      Src: /src/trafficserver/include/cripts/Matcher.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subject
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: cripts::Matcher::PCRE::Match
    functionSourceFile: /src/trafficserver/include/cripts/Matcher.hpp
    functionUses: 0
    functionsReached:
    - Contains
    linkageType: ''
    returnType: Result
    signature: Result Match(cripts::string_view subject, PCRE2_SIZE offset = 0, uint32_t
      options = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cripts::Crypto::Base64::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Crypto::Base64::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::Crypto::Escape::Escape
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Escape()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::Crypto::Escape::Escape
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Escape(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/include/cripts/Crypto.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: void
    signature: void Digest(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: cripts::Crypto::detail::Digest::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Crypto::detail::Digest::String
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string String() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Crypto::detail::Digest::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - TSBase64Encode
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Crypto::detail::Digest::Hash
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n    Hash() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/trafficserver/include/cripts/Crypto.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~Cipher()
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: cripts::Crypto::detail::Cipher::Message
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: cripts::Crypto::detail::Cipher::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSBase64Encode
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: cripts::Crypto::detail::Cipher::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/cripts/Crypto.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Cipher(const unsigned char *key, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/include/cripts/Crypto.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: void
    signature: void Digest(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: cripts::Crypto::detail::Digest::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Crypto::detail::Digest::String
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string String() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Crypto::detail::Digest::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - TSBase64Encode
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Crypto::detail::Digest::Hash
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n    Hash() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/trafficserver/include/cripts/Crypto.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~Cipher()
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: cripts::Crypto::detail::Cipher::Message
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: cripts::Crypto::detail::Cipher::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSBase64Encode
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: cripts::Crypto::detail::Cipher::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/cripts/Crypto.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Cipher(const unsigned char *key, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512(SHA512 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - MD5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5(MD5 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - AES256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(AES256 &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256::Hash
      Src: /src/trafficserver/include/cripts/Crypto.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - SHA256::Hash
    linkageType: ''
    returnType: void
    signature: void AES256(const SHA256 &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(const unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Crypto::AES256::Encrypt
      Src: /src/trafficserver/include/cripts/Crypto.hpp:232,1
    - Dst: SHA256::Hash
      Src: /src/trafficserver/include/cripts/Crypto.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: cripts::Crypto::AES256::Encrypt
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 1
    functionsReached:
    - cripts::Crypto::AES256::Encrypt
    - SHA256::Hash
    linkageType: ''
    returnType: self_type
    signature: self_type Encrypt(cripts::string_view str, SHA256 &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_cbc
      Src: /src/trafficserver/include/cripts/Crypto.hpp:240,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/include/cripts/Crypto.hpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: cripts::Crypto::AES256::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cbc
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void _initialize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cripts::Crypto::Base64::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Crypto::Base64::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: cripts::Crypto::Escape::Escape
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Escape()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cripts::Crypto::Escape::Escape
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Escape(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/include/cripts/Crypto.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: void
    signature: void Digest(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: cripts::Crypto::detail::Digest::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Crypto::detail::Digest::String
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string String() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Crypto::detail::Digest::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - TSBase64Encode
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Crypto::detail::Digest::Hash
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n    Hash() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/trafficserver/include/cripts/Crypto.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~Cipher()
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: cripts::Crypto::detail::Cipher::Message
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: cripts::Crypto::detail::Cipher::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSBase64Encode
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: cripts::Crypto::detail::Cipher::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/cripts/Crypto.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Cipher(const unsigned char *key, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Digest(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/include/cripts/Crypto.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Crypto::detail::Digest::Digest
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSAssert
    linkageType: ''
    returnType: void
    signature: void Digest(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: cripts::Crypto::detail::Digest::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Crypto::detail::Digest::String
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string String() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/include/cripts/Crypto.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Crypto::detail::Digest::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - TSBase64Encode
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Crypto::detail::Digest::Hash
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n    Hash() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/trafficserver/include/cripts/Crypto.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~Cipher()
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Cipher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator cripts::string_view() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: cripts::Crypto::detail::Cipher::Message
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: cripts::Crypto::detail::Cipher::Base64
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - TSBase64Encode
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Base64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: cripts::Crypto::detail::Cipher::Hex
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - ts::hex
    linkageType: ''
    returnType: cripts::string
    signature: cripts::string Hex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: operator cripts::string() const
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - Hex
    linkageType: ''
    returnType: void
    signature: void operator cripts::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/cripts/Crypto.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cripts::Crypto::detail::Cipher::Cipher
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Cipher(const unsigned char *key, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: cripts::Crypto::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA512
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512(SHA512 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: cripts::Crypto::SHA512::SHA512
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA512(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - MD5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5(MD5 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cripts::Crypto::MD5::MD5
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - AES256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(AES256 &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256::Hash
      Src: /src/trafficserver/include/cripts/Crypto.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - SHA256::Hash
    linkageType: ''
    returnType: void
    signature: void AES256(const SHA256 &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(const unsigned char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: cripts::Crypto::AES256::AES256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Crypto::AES256::Encrypt
      Src: /src/trafficserver/include/cripts/Crypto.hpp:232,1
    - Dst: SHA256::Hash
      Src: /src/trafficserver/include/cripts/Crypto.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - cripts::string_view
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: cripts::Crypto::AES256::Encrypt
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 2
    functionsReached:
    - cripts::Crypto::AES256::Encrypt
    - SHA256::Hash
    linkageType: ''
    returnType: self_type
    signature: self_type Encrypt(cripts::string_view str, SHA256 &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_cbc
      Src: /src/trafficserver/include/cripts/Crypto.hpp:240,1
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/include/cripts/Crypto.hpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: cripts::Crypto::AES256::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cbc
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void _initialize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - SHA256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(SHA256 &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: cripts::Crypto::HMAC::SHA256::SHA256
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA256(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:271,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:278,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    - Dst: cripts::Crypto::SHA256::Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::SHA256
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - cripts::Crypto::SHA256::Hex
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::SHA256 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:286,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:293,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    - Dst: cripts::Crypto::SHA512::Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::SHA512
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Crypto::SHA512::Hex
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::SHA512 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:301,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:308,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: cripts::Crypto::AES256::Message
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::AES256
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - cripts::Crypto::AES256::Message
    - TSBase64Encode
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::AES256 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:271,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:278,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    - Dst: cripts::Crypto::SHA256::Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::SHA256
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - cripts::Crypto::SHA256::Hex
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::SHA256 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:286,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:293,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    - Dst: cripts::Crypto::SHA512::Hex
      Src: /src/trafficserver/include/cripts/Crypto.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::SHA512
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Crypto::SHA512::Hex
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::SHA512 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:301,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Crypto.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:308,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    - Dst: cripts::Crypto::AES256::Message
      Src: /src/trafficserver/include/cripts/Crypto.hpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sha
    - ctx
    argTypes:
    - cripts::Crypto::AES256
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Crypto.hpp
    functionUses: 9
    functionsReached:
    - cripts::Crypto::AES256::Message
    - TSBase64Encode
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Crypto::AES256 &sha, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Instance(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/include/cripts/Instance.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Instance(int argc, const char *argv[], bool remap = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/cripts/Instance.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ~Instance()
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: cripts::Instance::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Instance::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Instance::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/include/cripts/Instance.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Instance::DebugOn
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached:
    - 'on'
    linkageType: ''
    returnType: bool
    signature: bool DebugOn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Instance::Fail
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Instance::Failed
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Instance::Size
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::DebugOn
      Src: /src/trafficserver/include/cripts/Instance.hpp:108,1
    - Dst: TextBuffer::vformat
      Src: /src/trafficserver/include/cripts/Instance.hpp:109,1
    - Dst: fmt::make_format_args
      Src: /src/trafficserver/include/cripts/Instance.hpp:109,1
    - Dst: Dbg
      Src: /src/trafficserver/include/cripts/Instance.hpp:111,1
    - Dst: auto::c_str
      Src: /src/trafficserver/include/cripts/Instance.hpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - fmt::format_string<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: cripts::Instance::debug
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - fmt::make_format_args
    - TextBuffer::vformat
    - cripts::Instance::DebugOn
    - Dbg
    linkageType: ''
    returnType: void
    signature: void debug(fmt::format_string<T...> fmt, T &&...args) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext(cripts::Instance &inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Instance(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::_initialize
      Src: /src/trafficserver/include/cripts/Instance.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: cripts::Instance::Instance
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached:
    - cripts::Instance::_initialize
    linkageType: ''
    returnType: void
    signature: void Instance(int argc, const char *argv[], bool remap = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/cripts/Instance.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ~Instance()
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~Instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: cripts::Instance::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: cripts::Instance::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cripts::Instance::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/include/cripts/Instance.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: cripts::Instance::DebugOn
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 1
    functionsReached:
    - 'on'
    linkageType: ''
    returnType: bool
    signature: bool DebugOn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: cripts::Instance::Fail
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cripts::Instance::Failed
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Failed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cripts::Instance::Size
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Instance::DebugOn
      Src: /src/trafficserver/include/cripts/Instance.hpp:108,1
    - Dst: TextBuffer::vformat
      Src: /src/trafficserver/include/cripts/Instance.hpp:109,1
    - Dst: fmt::make_format_args
      Src: /src/trafficserver/include/cripts/Instance.hpp:109,1
    - Dst: Dbg
      Src: /src/trafficserver/include/cripts/Instance.hpp:111,1
    - Dst: auto::c_str
      Src: /src/trafficserver/include/cripts/Instance.hpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - fmt::format_string<T...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: cripts::Instance::debug
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - fmt::make_format_args
    - TextBuffer::vformat
    - cripts::Instance::DebugOn
    - Dbg
    linkageType: ''
    returnType: void
    signature: void debug(fmt::format_string<T...> fmt, T &&...args) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: cripts::InstanceContext
    functionSourceFile: /src/trafficserver/include/cripts/Instance.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceContext(cripts::Instance &inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~Error()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - message
    - bundle
    - option
    argTypes:
    - cripts::string
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error(const cripts::string &message, cripts::string_view bundle,
      cripts::string_view option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cripts::Bundle::Error::Message
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: cripts::Bundle::Error::Bundle
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Bundle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: cripts::Bundle::Error::Option
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~Base()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cb_list
    argTypes:
    - std::initializer_list<unsigned>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(std::initializer_list<unsigned> cb_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: cripts::Bundle::Base::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Bundle::Base::Validate
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Validate(std::vector<cripts::Bundle::Error> & /* errors ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cripts::Bundle::Base::doRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cripts::Bundle::Base::doPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doPostRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: cripts::Bundle::Base::doSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cripts::Bundle::Base::doCacheLookup
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doCacheLookup(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: cripts::Bundle::Base::doSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendRequest(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Base::doReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doReadResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: cripts::Bundle::Base::doTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doTxnClose(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~Error()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - message
    - bundle
    - option
    argTypes:
    - cripts::string
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error(const cripts::string &message, cripts::string_view bundle,
      cripts::string_view option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cripts::Bundle::Error::Message
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: cripts::Bundle::Error::Bundle
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Bundle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: cripts::Bundle::Error::Option
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~Base()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cb_list
    argTypes:
    - std::initializer_list<unsigned>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(std::initializer_list<unsigned> cb_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: cripts::Bundle::Base::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Bundle::Base::Validate
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Validate(std::vector<cripts::Bundle::Error> & /* errors ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cripts::Bundle::Base::doRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cripts::Bundle::Base::doPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doPostRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: cripts::Bundle::Base::doSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cripts::Bundle::Base::doCacheLookup
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doCacheLookup(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: cripts::Bundle::Base::doSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendRequest(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Base::doReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doReadResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: cripts::Bundle::Base::doTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doTxnClose(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~Error()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - message
    - bundle
    - option
    argTypes:
    - cripts::string
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error(const cripts::string &message, cripts::string_view bundle,
      cripts::string_view option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cripts::Bundle::Error::Message
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: cripts::Bundle::Error::Bundle
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Bundle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: cripts::Bundle::Error::Option
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~Base()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cb_list
    argTypes:
    - std::initializer_list<unsigned>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(std::initializer_list<unsigned> cb_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: cripts::Bundle::Base::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Bundle::Base::Validate
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Validate(std::vector<cripts::Bundle::Error> & /* errors ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cripts::Bundle::Base::doRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cripts::Bundle::Base::doPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doPostRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: cripts::Bundle::Base::doSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cripts::Bundle::Base::doCacheLookup
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doCacheLookup(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: cripts::Bundle::Base::doSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendRequest(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Base::doReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doReadResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: cripts::Bundle::Base::doTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doTxnClose(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~Error()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - message
    - bundle
    - option
    argTypes:
    - cripts::string
    - cripts::string_view
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cripts::Bundle::Error::Error
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error(const cripts::string &message, cripts::string_view bundle,
      cripts::string_view option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cripts::Bundle::Error::Message
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: cripts::Bundle::Error::Bundle
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Bundle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: cripts::Bundle::Error::Option
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cripts::Bundle::Base::Base
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~Base()
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cripts::Callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(cripts::Callbacks cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(unsigned cbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cb_list
    argTypes:
    - std::initializer_list<unsigned>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: cripts::Bundle::Base::NeedCallback
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NeedCallback(std::initializer_list<unsigned> cb_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: cripts::Bundle::Base::Callbacks
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Bundle::Base::Validate
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Validate(std::vector<cripts::Bundle::Error> & /* errors ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cripts::Bundle::Base::doRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cripts::Bundle::Base::doPostRemap
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doPostRemap(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: cripts::Bundle::Base::doSendResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cripts::Bundle::Base::doCacheLookup
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doCacheLookup(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: cripts::Bundle::Base::doSendRequest
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doSendRequest(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: cripts::Bundle::Base::doReadResponse
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doReadResponse(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: cripts::Bundle::Base::doTxnClose
    functionSourceFile: /src/trafficserver/include/cripts/Bundle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doTxnClose(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Url::Component::Component
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Url*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cripts::Url::Component::Component
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component(Url *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: operator==(cripts::string_view const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: bool
    signature: bool operator==(cripts::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator!=(cripts::string_view const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: bool
    signature: bool operator!=(cripts::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/cripts/Urls.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: cripts::Url::Component::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 4
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: cripts::Url::Component::data
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cripts::Url::Component::size
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Url::Component::length
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Url::Component::Data
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cripts::Url::Component::Size
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cripts::Url::Component::Length
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::substr
      Src: /src/trafficserver/include/cripts/Urls.hpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Url::Component::substr
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::substr
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view substr(cripts::string_view::size_type pos = 0,
      cripts::string_view::size_type count = cripts::string_view::npos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::remove_prefix
      Src: /src/trafficserver/include/cripts/Urls.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - cripts::string_view::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: cripts::Url::Component::remove_prefix
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::remove_prefix
    linkageType: ''
    returnType: void
    signature: void remove_prefix(cripts::string_view::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::remove_suffix
      Src: /src/trafficserver/include/cripts/Urls.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - cripts::string_view::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::Url::Component::remove_suffix
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::remove_suffix
    linkageType: ''
    returnType: void
    signature: void remove_suffix(cripts::string_view::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: "&\n    ltrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    ltrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: "&\n    rtrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    rtrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Urls.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: "&\n    trim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - trim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    trim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: "&\n    ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: "&\n    rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Urls.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: "&\n    trim(const char *chars = \" \\t\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - trim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    trim(const char *chars = \" \\t\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::data_end
      Src: /src/trafficserver/include/cripts/Urls.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: cripts::Url::Component::data_end
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::data_end
    linkageType: ''
    returnType: char
    signature: "char *\n    data_end() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::ends_with
      Src: /src/trafficserver/include/cripts/Urls.hpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: cripts::Url::Component::ends_with
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::ends_with
    linkageType: ''
    returnType: bool
    signature: bool ends_with(cripts::string_view suffix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::starts_with
      Src: /src/trafficserver/include/cripts/Urls.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: cripts::Url::Component::starts_with
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::starts_with
    linkageType: ''
    returnType: bool
    signature: bool starts_with(cripts::string_view const prefix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::find
      Src: /src/trafficserver/include/cripts/Urls.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: cripts::Url::Component::find
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::find
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type find(cripts::string_view const substr,
      cripts::string_view::size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::rfind
      Src: /src/trafficserver/include/cripts/Urls.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: cripts::Url::Component::rfind
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Component::rfind
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type rfind(cripts::string_view const substr,
      cripts::string_view::size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::find
      Src: /src/trafficserver/include/cripts/Urls.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: cripts::Url::Component::contains
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::find
    linkageType: ''
    returnType: bool
    signature: bool contains(cripts::string_view const substr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Url*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: cripts::Url::Port::Port
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Port(Url *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: cripts::Url::Port::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: operator=(cripts::string_view str)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - std::from_chars
    - cripts::string_view::data
    linkageType: ''
    returnType: self_type
    signature: self_type operator=(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: cripts::Url::Path::String::String
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: "&\n      operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:299,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "&\n      operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:305,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: "&\n      operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: "&\n      operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - source
    - owner
    - ix
    argTypes:
    - cripts::string_view
    - Path*
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: cripts::Url::Path::String::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view source, Path *owner, Segments::size_type
      ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:347,1
    - Dst: p
      Src: /src/trafficserver/include/cripts/Urls.hpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ix
    argTypes:
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: cripts::Url::Path::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - auto::size
    - p
    linkageType: ''
    returnType: void
    signature: void Erase(Segments::size_type ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: cripts::Url::Path::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Path::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: cripts::Url::Path::Clear
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Path::Erase
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: cripts::Url::Path::Flush
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: cripts::Url::Query::Parameter::Parameter
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: cripts::Url::Query::Parameter::Name
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Parameter::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: cripts::Url::Query::Parameter::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - cripts::Url::Query::Parameter::Erase
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: "&\n      operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:426,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: "&\n      operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:432,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: "&\n      operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: "&\n      operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - name
    - source
    - owner
    argTypes:
    - cripts::string_view
    - cripts::string_view
    - Query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: cripts::Url::Query::Parameter::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view name, cripts::string_view source,
      Query *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - load
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: cripts::Url::Query::Query
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    linkageType: ''
    returnType: void
    signature: void Query(cripts::string_view load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: cripts::Url::Query::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Url::Query::Keep
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Query::Erase
    linkageType: ''
    returnType: void
    signature: void Keep(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Url::Query::Clear
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Query::Erase
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/include/cripts/Urls.hpp:501,1
    - Dst: sort
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: cripts::Url::Query::Sort
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - sort
    - begin
    - _parser
    - end
    linkageType: ''
    returnType: void
    signature: void Sort()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: cripts::Url::Query::Flush
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: cripts::Url::Url
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Url()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Urls.hpp:535,1
    - Dst: cripts::Url::Reset
      Src: /src/trafficserver/include/cripts/Urls.hpp:539,1
    - Dst: cripts::Url::Reset
      Src: /src/trafficserver/include/cripts/Urls.hpp:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: cripts::Url::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - cripts::Url::Reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: cripts::Url::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: cripts::Url::Modified
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Modified() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: cripts::Url::UrlP
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc UrlP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: cripts::Url::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: cripts::Url::set_context
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_context(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Urls.hpp:590,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Urls.hpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: cripts::Url::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: cripts::Url::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: cripts::Pristine::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: cripts::Pristine::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cripts::Client::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cripts::Client::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 749
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 749
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cripts::Url::Component::Component
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Url*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cripts::Url::Component::Component
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Component(Url *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: operator cripts::string_view()
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: void
    signature: void operator cripts::string_view()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: operator==(cripts::string_view const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: bool
    signature: bool operator==(cripts::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator!=(cripts::string_view const &rhs)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: bool
    signature: bool operator!=(cripts::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/cripts/Urls.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: cripts::Url::Component::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 4
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: cripts::Url::Component::data
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cripts::Url::Component::size
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: cripts::Url::Component::length
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: cripts::Url::Component::Data
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::const_pointer
    signature: cripts::string_view::const_pointer Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cripts::Url::Component::Size
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cripts::Url::Component::Length
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - GetSV
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::substr
      Src: /src/trafficserver/include/cripts/Urls.hpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cripts::Url::Component::substr
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::substr
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view substr(cripts::string_view::size_type pos = 0,
      cripts::string_view::size_type count = cripts::string_view::npos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::remove_prefix
      Src: /src/trafficserver/include/cripts/Urls.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - cripts::string_view::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: cripts::Url::Component::remove_prefix
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::remove_prefix
    linkageType: ''
    returnType: void
    signature: void remove_prefix(cripts::string_view::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::remove_suffix
      Src: /src/trafficserver/include/cripts/Urls.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - cripts::string_view::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: cripts::Url::Component::remove_suffix
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::remove_suffix
    linkageType: ''
    returnType: void
    signature: void remove_suffix(cripts::string_view::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: "&\n    ltrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    ltrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: "&\n    rtrim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    rtrim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Urls.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: "&\n    trim(char c)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - trim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    trim(char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: "&\n    ltrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - ltrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    ltrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/trafficserver/include/cripts/Urls.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: "&\n    rtrim(const char *chars = \" \\t\\r\\n\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - rtrim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    rtrim(const char *chars = \" \\t\\r\\n\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/include/cripts/Urls.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: "&\n    trim(const char *chars = \" \\t\")"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - trim
    linkageType: ''
    returnType: cripts::string_view
    signature: "cripts::string_view &\n    trim(const char *chars = \" \\t\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::data_end
      Src: /src/trafficserver/include/cripts/Urls.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: cripts::Url::Component::data_end
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::data_end
    linkageType: ''
    returnType: char
    signature: "char *\n    data_end() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::ends_with
      Src: /src/trafficserver/include/cripts/Urls.hpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: cripts::Url::Component::ends_with
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::ends_with
    linkageType: ''
    returnType: bool
    signature: bool ends_with(cripts::string_view suffix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::starts_with
      Src: /src/trafficserver/include/cripts/Urls.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: cripts::Url::Component::starts_with
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::starts_with
    linkageType: ''
    returnType: bool
    signature: bool starts_with(cripts::string_view const prefix) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::find
      Src: /src/trafficserver/include/cripts/Urls.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: cripts::Url::Component::find
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 3
    functionsReached:
    - cripts::Url::Component::find
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type find(cripts::string_view const substr,
      cripts::string_view::size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::rfind
      Src: /src/trafficserver/include/cripts/Urls.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: cripts::Url::Component::rfind
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Component::rfind
    linkageType: ''
    returnType: cripts::string_view::size_type
    signature: cripts::string_view::size_type rfind(cripts::string_view const substr,
      cripts::string_view::size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Component::find
      Src: /src/trafficserver/include/cripts/Urls.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - substr
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: cripts::Url::Component::contains
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Component::find
    linkageType: ''
    returnType: bool
    signature: bool contains(cripts::string_view const substr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - owner
    argTypes:
    - Url*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: cripts::Url::Port::Port
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Port(Url *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: cripts::Url::Port::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::from_chars
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::data
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: operator=(cripts::string_view str)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    - std::from_chars
    - cripts::string_view::data
    linkageType: ''
    returnType: self_type
    signature: self_type operator=(cripts::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: cripts::Url::Path::String::String
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: "&\n      operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:299,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "&\n      operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:305,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: "&\n      operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: "&\n      operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - source
    - owner
    - ix
    argTypes:
    - cripts::string_view
    - Path*
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: cripts::Url::Path::String::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view source, Path *owner, Segments::size_type
      ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:347,1
    - Dst: p
      Src: /src/trafficserver/include/cripts/Urls.hpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ix
    argTypes:
    - Segments::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: cripts::Url::Path::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached:
    - auto::size
    - p
    linkageType: ''
    returnType: void
    signature: void Erase(Segments::size_type ix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: cripts::Url::Path::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Path::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: cripts::Url::Path::Clear
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Path::Erase
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: cripts::Url::Path::Flush
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: cripts::Url::Query::Parameter::Parameter
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: cripts::Url::Query::Parameter::Name
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Parameter::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: cripts::Url::Query::Parameter::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - cripts::Url::Query::Parameter::Erase
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: "&\n      operator=(const char (&str)[N])"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const char (&str)[N])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:426,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: "&\n      operator=(char *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:432,1
    - Dst: strlen
      Src: /src/trafficserver/include/cripts/Urls.hpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: "&\n      operator=(char const *&str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(char const *&str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/include/cripts/Urls.hpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: "&\n      operator=(const std::string &str)"
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n      operator=(const std::string &str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - name
    - source
    - owner
    argTypes:
    - cripts::string_view
    - cripts::string_view
    - Query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: cripts::Url::Query::Parameter::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - _setSV
    linkageType: ''
    returnType: void
    signature: void _initialize(cripts::string_view name, cripts::string_view source,
      Query *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::string_view::size
      Src: /src/trafficserver/include/cripts/Urls.hpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - load
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: cripts::Url::Query::Query
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::string_view::size
    linkageType: ''
    returnType: void
    signature: void Query(cripts::string_view load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: cripts::Url::Query::Erase
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Erase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<cripts::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: cripts::Url::Query::Keep
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Query::Erase
    linkageType: ''
    returnType: void
    signature: void Keep(std::initializer_list<cripts::string_view> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cripts::Url::Query::Erase
      Src: /src/trafficserver/include/cripts/Urls.hpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: cripts::Url::Query::Clear
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - cripts::Url::Query::Erase
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _parser
      Src: /src/trafficserver/include/cripts/Urls.hpp:501,1
    - Dst: sort
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    - Dst: begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    - Dst: end
      Src: /src/trafficserver/include/cripts/Urls.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: cripts::Url::Query::Sort
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - sort
    - begin
    - _parser
    - end
    linkageType: ''
    returnType: void
    signature: void Sort()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: cripts::Url::Query::Flush
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: cripts::Url::Url
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Url()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/include/cripts/Urls.hpp:535,1
    - Dst: cripts::Url::Reset
      Src: /src/trafficserver/include/cripts/Urls.hpp:539,1
    - Dst: cripts::Url::Reset
      Src: /src/trafficserver/include/cripts/Urls.hpp:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: cripts::Url::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - TSHandleMLocRelease
    - cripts::Url::Reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: cripts::Url::Initialized
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: cripts::Url::Modified
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Modified() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: cripts::Url::UrlP
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc UrlP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: cripts::Url::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - cripts::Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: cripts::Url::set_context
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_context(cripts::Context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::Initialized
      Src: /src/trafficserver/include/cripts/Urls.hpp:590,1
    - Dst: self_type*::_initialize
      Src: /src/trafficserver/include/cripts/Urls.hpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: cripts::Url::_ensure_initialized
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 2
    functionsReached:
    - self_type*::_initialize
    - self_type*::Initialized
    linkageType: ''
    returnType: void
    signature: void _ensure_initialized(self_type *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: cripts::Url::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: cripts::Pristine::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: cripts::Pristine::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: cripts::Pristine::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cripts::Client::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: cripts::Client::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cripts::Client::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: cripts::Remap::From::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: cripts::Remap::From::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: cripts::Remap::From::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: cripts::Remap::To::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: cripts::Remap::To::URL::Reset
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: cripts::Remap::To::URL::ReadOnly
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ReadOnly() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 749
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 749
    functionName: cripts::Cache::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: cripts::Parent::URL::URL
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:791,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:798,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    - Dst: T::String
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - ctx
    argTypes:
    - T
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 801
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - T::String
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(T &url, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:806,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:813,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    - Dst: cripts::Url::Scheme::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scheme
    - ctx
    argTypes:
    - cripts::Url::Scheme
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Scheme::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Scheme &scheme, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:821,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:828,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    - Dst: cripts::Url::Host::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - host
    - ctx
    argTypes:
    - cripts::Url::Host
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Host::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Host &host, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:836,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:843,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - ctx
    argTypes:
    - cripts::Url::Port
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Port &port, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:851,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:858,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    - Dst: cripts::Url::Path::String::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - ctx
    argTypes:
    - cripts::Url::Path::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Url::Path::String::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Path::String &path, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:866,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:873,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    - Dst: cripts::Url::Path::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - ctx
    argTypes:
    - cripts::Url::Path
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Path::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Path &path, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:881,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:888,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    - Dst: cripts::Url::Query::Parameter::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ctx
    argTypes:
    - cripts::Url::Query::Parameter
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Url::Query::Parameter::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Query::Parameter &param, FormatContext &ctx)
      const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:896,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:903,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    - Dst: cripts::Url::Query::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - query
    - ctx
    argTypes:
    - cripts::Url::Query
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Query::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Query &query, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:791,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:798,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    - Dst: T::String
      Src: /src/trafficserver/include/cripts/Urls.hpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - ctx
    argTypes:
    - T
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 801
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - T::String
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(T &url, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:806,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:813,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    - Dst: cripts::Url::Scheme::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scheme
    - ctx
    argTypes:
    - cripts::Url::Scheme
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Scheme::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Scheme &scheme, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:821,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:828,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    - Dst: cripts::Url::Host::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - host
    - ctx
    argTypes:
    - cripts::Url::Host
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Host::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Host &host, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:836,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:843,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    - Dst: integer
      Src: /src/trafficserver/include/cripts/Urls.hpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - ctx
    argTypes:
    - cripts::Url::Port
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - integer
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Port &port, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:851,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:858,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    - Dst: cripts::Url::Path::String::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - ctx
    argTypes:
    - cripts::Url::Path::String
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Url::Path::String::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Path::String &path, FormatContext &ctx) const
      -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:866,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:873,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    - Dst: cripts::Url::Path::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - ctx
    argTypes:
    - cripts::Url::Path
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Path::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Path &path, FormatContext &ctx) const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:881,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:888,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    - Dst: cripts::Url::Query::Parameter::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ctx
    argTypes:
    - cripts::Url::Query::Parameter
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - fmt::format_to
    - FormatContext::out
    - cripts::Url::Query::Parameter::GetSV
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Query::Parameter &param, FormatContext &ctx)
      const -> decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:896,1
    - Dst: format_parse_context::begin
      Src: /src/trafficserver/include/cripts/Urls.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - format_parse_context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: fmt::parse
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 0
    functionsReached:
    - format_parse_context::begin
    linkageType: ''
    returnType: auto
    signature: auto parse(format_parse_context &ctx) -> decltype(ctx.begin())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:903,1
    - Dst: fmt::format_to
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    - Dst: FormatContext::out
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    - Dst: cripts::Url::Query::GetSV
      Src: /src/trafficserver/include/cripts/Urls.hpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - query
    - ctx
    argTypes:
    - cripts::Url::Query
    - FormatContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: fmt::format
    functionSourceFile: /src/trafficserver/include/cripts/Urls.hpp
    functionUses: 9
    functionsReached:
    - cripts::Url::Query::GetSV
    - fmt::format_to
    - FormatContext::out
    linkageType: ''
    returnType: auto
    signature: auto format(cripts::Url::Query &query, FormatContext &ctx) const ->
      decltype(ctx.out())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~BaseMetrics()
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseMetrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:50,1
    - Dst: store
      Src: /src/trafficserver/include/cripts/Metrics.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: operator=(int64_t val)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - CAssert
    - store
    linkageType: ''
    returnType: void
    signature: void operator=(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:56,1
    - Dst: load
      Src: /src/trafficserver/include/cripts/Metrics.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: operator int64_t() const
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - CAssert
    - load
    linkageType: ''
    returnType: void
    signature: void operator int64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: detail::BaseMetrics::Name
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: detail::BaseMetrics::Id
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: detail::MetricID
    signature: detail::MetricID Id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:75,1
    - Dst: increment
      Src: /src/trafficserver/include/cripts/Metrics.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inc
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: detail::BaseMetrics::Increment
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - CAssert
    - increment
    linkageType: ''
    returnType: void
    signature: void Increment(int64_t inc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::BaseMetrics::Increment
      Src: /src/trafficserver/include/cripts/Metrics.hpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: detail::BaseMetrics::Increment
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 1
    functionsReached:
    - detail::BaseMetrics::Increment
    linkageType: ''
    returnType: void
    signature: void Increment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:88,1
    - Dst: decrement
      Src: /src/trafficserver/include/cripts/Metrics.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: detail::BaseMetrics::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - decrement
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t dec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::BaseMetrics::Decrement
      Src: /src/trafficserver/include/cripts/Metrics.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: detail::BaseMetrics::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 1
    functionsReached:
    - detail::BaseMetrics::Decrement
    linkageType: ''
    returnType: void
    signature: void Decrement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/cripts/Metrics.hpp:102,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/cripts/Metrics.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - detail::MetricID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: detail::BaseMetrics::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void _initialize(detail::MetricID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~BaseMetrics()
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseMetrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: detail::BaseMetrics::BaseMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMetrics(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:50,1
    - Dst: store
      Src: /src/trafficserver/include/cripts/Metrics.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: operator=(int64_t val)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - CAssert
    - store
    linkageType: ''
    returnType: void
    signature: void operator=(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:56,1
    - Dst: load
      Src: /src/trafficserver/include/cripts/Metrics.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: operator int64_t() const
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - CAssert
    - load
    linkageType: ''
    returnType: void
    signature: void operator int64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: detail::BaseMetrics::Name
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: detail::BaseMetrics::Id
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: detail::MetricID
    signature: detail::MetricID Id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:75,1
    - Dst: increment
      Src: /src/trafficserver/include/cripts/Metrics.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inc
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: detail::BaseMetrics::Increment
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 1
    functionsReached:
    - CAssert
    - increment
    linkageType: ''
    returnType: void
    signature: void Increment(int64_t inc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::BaseMetrics::Increment
      Src: /src/trafficserver/include/cripts/Metrics.hpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: detail::BaseMetrics::Increment
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - detail::BaseMetrics::Increment
    linkageType: ''
    returnType: void
    signature: void Increment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAssert
      Src: /src/trafficserver/include/cripts/Metrics.hpp:88,1
    - Dst: decrement
      Src: /src/trafficserver/include/cripts/Metrics.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: detail::BaseMetrics::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 1
    functionsReached:
    - decrement
    - CAssert
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t dec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::BaseMetrics::Decrement
      Src: /src/trafficserver/include/cripts/Metrics.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: detail::BaseMetrics::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - detail::BaseMetrics::Decrement
    linkageType: ''
    returnType: void
    signature: void Decrement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexContext::get_instance
      Src: /src/trafficserver/include/cripts/Metrics.hpp:102,1
    - Dst: auto::lookup
      Src: /src/trafficserver/include/cripts/Metrics.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - detail::MetricID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: detail::BaseMetrics::_initialize
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - auto::lookup
    - RegexContext::get_instance
    linkageType: ''
    returnType: void
    signature: void _initialize(detail::MetricID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Metrics::Counter::Counter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::create
    - _initialize
    linkageType: ''
    returnType: void
    signature: void Counter(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:150,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:151,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: cripts::Metrics::Counter::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - self_type::self_type
    - ts::Metrics::Counter::create
    - auto*::_initialize
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Metrics::Gauge::Gauge
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - _initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: void
    signature: void Gauge(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:171,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:172,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cripts::Metrics::Gauge::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - auto*::_initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Metrics::Counter::Counter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::create
    - _initialize
    linkageType: ''
    returnType: void
    signature: void Counter(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:150,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:151,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: cripts::Metrics::Counter::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - self_type::self_type
    - ts::Metrics::Counter::create
    - auto*::_initialize
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Metrics::Gauge::Gauge
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - _initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: void
    signature: void Gauge(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:171,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:172,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cripts::Metrics::Gauge::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - auto*::_initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: ~MetricStorage()
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetricStorage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/cripts/Metrics.hpp:204,1
    - Dst: resize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: "*&\n  operator[](std::size_t index)"
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: detail::BaseMetrics
    signature: "detail::BaseMetrics *&\n  operator[](std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Metrics::Counter::Counter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::create
    - _initialize
    linkageType: ''
    returnType: void
    signature: void Counter(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:150,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:151,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: cripts::Metrics::Counter::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - self_type::self_type
    - ts::Metrics::Counter::create
    - auto*::_initialize
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Metrics::Gauge::Gauge
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - _initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: void
    signature: void Gauge(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:171,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:172,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cripts::Metrics::Gauge::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - auto*::_initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cripts::Metrics::Counter::Counter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - ts::Metrics::Counter::create
    - _initialize
    linkageType: ''
    returnType: void
    signature: void Counter(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: cripts::Metrics::Counter::Decrement
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decrement(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cripts::Metrics::Counter::Setter
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Setter(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:150,1
    - Dst: ts::Metrics::Counter::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:151,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: cripts::Metrics::Counter::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 2
    functionsReached:
    - self_type::self_type
    - ts::Metrics::Counter::create
    - auto*::_initialize
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cripts::Metrics::Gauge::Gauge
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - _initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: void
    signature: void Gauge(const cripts::string_view &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Metrics.hpp:171,1
    - Dst: ts::Metrics::Gauge::create
      Src: /src/trafficserver/include/cripts/Metrics.hpp:172,1
    - Dst: auto*::_initialize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cripts::Metrics::Gauge::Create
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - auto*::_initialize
    - ts::Metrics::Gauge::create
    linkageType: ''
    returnType: self_type
    signature: "self_type *\n    Create(const cripts::string_view &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: cripts::MetricStorage::MetricStorage
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricStorage(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: ~MetricStorage()
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetricStorage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/cripts/Metrics.hpp:204,1
    - Dst: resize
      Src: /src/trafficserver/include/cripts/Metrics.hpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: "*&\n  operator[](std::size_t index)"
    functionSourceFile: /src/trafficserver/include/cripts/Metrics.hpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: detail::BaseMetrics
    signature: "detail::BaseMetrics *&\n  operator[](std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Remap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap(Remap &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cleanup
      Src: /src/trafficserver/include/cripts/Plugins.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~Remap()
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached:
    - Cleanup
    linkageType: ''
    returnType: void
    signature: void ~Remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cripts::Plugin::Remap::Valid
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Remap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: cripts::Plugin::Remap::Remap
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Remap(Remap &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cleanup
      Src: /src/trafficserver/include/cripts/Plugins.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~Remap()
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached:
    - Cleanup
    linkageType: ''
    returnType: void
    signature: void ~Remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cripts::Plugin::Remap::Valid
    functionSourceFile: /src/trafficserver/include/cripts/Plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::LogsMetrics::LogsMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogsMetrics(cripts::Instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:42,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: "&\n  logsample(int val)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  logsample(int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: "&\n  tcpinfo(bool enable = true)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  tcpinfo(bool enable = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cripts::Bundle::LogsMetrics::LogsMetrics
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogsMetrics(cripts::Instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:42,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: "&\n  logsample(int val)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  logsample(int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: "&\n  tcpinfo(bool enable = true)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/LogsMetrics.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  tcpinfo(bool enable = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:48,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: "&\n  dscp(int val)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  dscp(int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:48,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Common.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: "&\n  dscp(int val)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Common.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  dscp(int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge(const cripts::string_view &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~HRWBridge()
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HRWBridge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: detail::HRWBridge::value
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view value(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: detail::HeadersType::HeadersType
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: detail::HeadersType::HeadersType
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersType(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: ~HeadersType()
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeadersType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: detail::HRWBridge::HRWBridge
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWBridge(const cripts::string_view &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~HRWBridge()
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HRWBridge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: detail::HRWBridge::value
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string_view
    signature: cripts::string_view value(cripts::Context * /* context ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: detail::HeadersType::HeadersType
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: detail::HeadersType::HeadersType
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersType(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator=(const self_type &)
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: ~HeadersType()
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeadersType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Headers.hpp:96,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Headers.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Headers.hpp:96,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Headers.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Headers.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:42,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cc
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: "&\n  cache_control(cripts::string_view cc, bool force = false)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  cache_control(cripts::string_view cc, bool force =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: "&\n  disable(bool disable = true)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  disable(bool disable = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:42,1
    - Dst: cripts::Instance::AddBundle
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inst
    argTypes:
    - cripts::Instance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: "&\n  _activate(cripts::Instance &inst)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - cripts::Instance::AddBundle
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  _activate(cripts::Instance &inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: "&\n  Name() const override"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cripts::string
    signature: "cripts::string &\n  Name() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cc
    argTypes:
    - cripts::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: "&\n  cache_control(cripts::string_view cc, bool force = false)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  cache_control(cripts::string_view cc, bool force =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeedCallback
      Src: /src/trafficserver/include/cripts/Bundles/Caching.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: "&\n  disable(bool disable = true)"
    functionSourceFile: /src/trafficserver/include/cripts/Bundles/Caching.hpp
    functionUses: 0
    functionsReached:
    - NeedCallback
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  disable(bool disable = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_SEGMENT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: X
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(NAME_SEGMENT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_SEGMENT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: Y
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y(NAME_SEGMENT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: operator()(void *ptr)
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void operator()(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(TSIOBufferReader ptr)
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void operator()(TSIOBufferReader ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - MgrData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: "&\n  access(MgrData &md)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MgrData_
    signature: "MgrData_ &\n  access(MgrData &md)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:142,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:148,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:148,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:149,1
    - Dst: TSContCreate
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: atscppapi::TxnAuxDataMgr::init
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 1
    functionsReached:
    - TSReleaseAssert
    - access
    - TSContCreate
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void init(char const *arg_name, char const *arg_desc = "per-transaction
      auxiliary data")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:157,1
    - Dst: TSAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:159,1
    - Dst: static_cast<TxnAuxData *>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:161,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:161,1
    - Dst: TxnAuxData::TxnAuxData
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:163,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:165,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: "&\n  data(TSHttpTxn txn)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - static_cast<TxnAuxData *>
    - TSUserArgSet
    - TSHttpTxnHookAdd
    - TSAssert
    - TxnAuxData::TxnAuxData
    - access
    - TSUserArgGet
    linkageType: ''
    returnType: TxnAuxData
    signature: "TxnAuxData &\n  data(TSHttpTxn txn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:176,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:178,1
    - Dst: static_cast<TxnAuxData *>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:179,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:179,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: atscppapi::TxnAuxDataMgr::_deleteAuxData
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - static_cast<TxnAuxData *>
    - TSUserArgGet
    - static_cast<TSHttpTxn>
    - access
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int _deleteAuxData(TSCont, TSEvent, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_SEGMENT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: X
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(NAME_SEGMENT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_SEGMENT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: Y
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y(NAME_SEGMENT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: operator()(void *ptr)
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void operator()(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: operator()(TSIOBufferReader ptr)
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void operator()(TSIOBufferReader ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - MgrData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: "&\n  access(MgrData &md)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MgrData_
    signature: "MgrData_ &\n  access(MgrData &md)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:142,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:148,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:148,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:149,1
    - Dst: TSContCreate
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: atscppapi::TxnAuxDataMgr::init
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 1
    functionsReached:
    - TSReleaseAssert
    - access
    - TSContCreate
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void init(char const *arg_name, char const *arg_desc = "per-transaction
      auxiliary data")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:157,1
    - Dst: TSAssert
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:159,1
    - Dst: static_cast<TxnAuxData *>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:161,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:161,1
    - Dst: TxnAuxData::TxnAuxData
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:163,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:165,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: "&\n  data(TSHttpTxn txn)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - static_cast<TxnAuxData *>
    - TSUserArgSet
    - TSHttpTxnHookAdd
    - TSAssert
    - TxnAuxData::TxnAuxData
    - access
    - TSUserArgGet
    linkageType: ''
    returnType: TxnAuxData
    signature: "TxnAuxData &\n  data(TSHttpTxn txn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:176,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:178,1
    - Dst: static_cast<TxnAuxData *>
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:179,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:179,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/include/tscpp/api/Cleanup.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: atscppapi::TxnAuxDataMgr::_deleteAuxData
    functionSourceFile: /src/trafficserver/include/tscpp/api/Cleanup.h
    functionUses: 0
    functionsReached:
    - static_cast<TxnAuxData *>
    - TSUserArgGet
    - static_cast<TSHttpTxn>
    - access
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int _deleteAuxData(TSCont, TSEvent, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: atscppapi::noncopyable::noncopyable
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noncopyable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~noncopyable()
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~noncopyable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: atscppapi::noncopyable::noncopyable
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noncopyable(const noncopyable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(const noncopyable &)'
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: noncopyable
    signature: noncopyable &operator=(const noncopyable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: atscppapi::noncopyable::noncopyable
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noncopyable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~noncopyable()
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~noncopyable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: atscppapi::noncopyable::noncopyable
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noncopyable(const noncopyable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(const noncopyable &)'
    functionSourceFile: /src/trafficserver/include/tscpp/api/noncopyable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: noncopyable
    signature: noncopyable &operator=(const noncopyable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ATSCPPAPI_PRINTFLIKE
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATSCPPAPI_PRINTFLIKE(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - log
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: LOG_DEBUG
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_DEBUG(log, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - log
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: LOG_INFO
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_INFO(log, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - log
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: LOG_ERROR
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_ERROR(log, fmt, ...)
  - 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: STRINGIFY0
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: STRINGIFY
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: TS_ERROR
    functionSourceFile: /src/trafficserver/include/tscpp/api/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_ERROR(tag, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:41,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:43,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - TSContCreate
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void Continuation(Mutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Continuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: atscppapi::Continuation::asTSCont
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont asTSCont() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContMutexGet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: atscppapi::Continuation::mutex
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContMutexGet
    linkageType: ''
    returnType: Mutex
    signature: Mutex mutex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: atscppapi::Continuation::destroy
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: ~Continuation()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~Continuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Continuation(const Continuation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '&operator=(const Continuation &)'
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: Continuation &operator=(const Continuation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:89,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - Continuation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void Continuation(Continuation &&that)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:96,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:100,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - Continuation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: "&\n  operator=(Continuation &&that)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSContDataSet
    - static_cast<void *>
    linkageType: ''
    returnType: Continuation
    signature: "Continuation &\n  operator=(Continuation &&that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCall
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: atscppapi::Continuation::call
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContCall
    linkageType: ''
    returnType: int
    signature: int call(TSEvent event, void *edata = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: atscppapi::Continuation::schedule
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    linkageType: ''
    returnType: Action
    signature: Action schedule(TSHRTime timeout = 0, TSThreadPool tp = TS_THREAD_POOL_NET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSchedule
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - httpTransactionp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: atscppapi::Continuation::httpSchedule
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSHttpSchedule
    linkageType: ''
    returnType: Action
    signature: Action httpSchedule(TSHttpTxn httpTransactionp, TSHRTime timeout =
      0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - TSHRTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: atscppapi::Continuation::scheduleEvery
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContScheduleEveryOnPool
    linkageType: ''
    returnType: Action
    signature: Action scheduleEvery(TSHRTime interval /* milliseconds */, TSThreadPool
      tp = TS_THREAD_POOL_NET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:41,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:43,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - Mutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - TSContCreate
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void Continuation(Mutex mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Continuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: atscppapi::Continuation::asTSCont
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont asTSCont() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContMutexGet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: atscppapi::Continuation::mutex
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContMutexGet
    linkageType: ''
    returnType: Mutex
    signature: Mutex mutex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: atscppapi::Continuation::destroy
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: ~Continuation()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~Continuation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Continuation(const Continuation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '&operator=(const Continuation &)'
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: Continuation &operator=(const Continuation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:89,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - Continuation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: atscppapi::Continuation::Continuation
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void Continuation(Continuation &&that)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:96,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:100,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - Continuation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: "&\n  operator=(Continuation &&that)"
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSContDataSet
    - static_cast<void *>
    linkageType: ''
    returnType: Continuation
    signature: "Continuation &\n  operator=(Continuation &&that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCall
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: atscppapi::Continuation::call
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContCall
    linkageType: ''
    returnType: int
    signature: int call(TSEvent event, void *edata = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: atscppapi::Continuation::schedule
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    linkageType: ''
    returnType: Action
    signature: Action schedule(TSHRTime timeout = 0, TSThreadPool tp = TS_THREAD_POOL_NET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSchedule
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - httpTransactionp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: atscppapi::Continuation::httpSchedule
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSHttpSchedule
    linkageType: ''
    returnType: Action
    signature: Action httpSchedule(TSHttpTxn httpTransactionp, TSHRTime timeout =
      0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/include/tscpp/api/Continuation.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - TSHRTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: atscppapi::Continuation::scheduleEvery
    functionSourceFile: /src/trafficserver/include/tscpp/api/Continuation.h
    functionUses: 0
    functionsReached:
    - TSContScheduleEveryOnPool
    linkageType: ''
    returnType: Action
    signature: Action scheduleEvery(TSHRTime interval /* milliseconds */, TSThreadPool
      tp = TS_THREAD_POOL_NET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ContextValue()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ContextValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ContextValue()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ContextValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: atscppapi::Plugin::handleReadRequestHeadersPreRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeadersPreRemap(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::Plugin::handleReadRequestHeadersPostRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeadersPostRemap(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: atscppapi::Plugin::handleSendRequestHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleSendRequestHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::Plugin::handleReadResponseHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadResponseHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: atscppapi::Plugin::handleSendResponseHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleSendResponseHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: atscppapi::Plugin::handleOsDns
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleOsDns(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: atscppapi::Plugin::handleReadRequestHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: atscppapi::Plugin::handleReadCacheHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadCacheHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: atscppapi::Plugin::handleReadCacheLookupComplete
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadCacheLookupComplete(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: atscppapi::Plugin::handleTxnClose
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleTxnClose(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ~Plugin()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: atscppapi::Plugin::Plugin
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::RegisterGlobalPlugin
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - vendor
    - email
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: atscppapi::RegisterGlobalPlugin
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 1
    functionsReached:
    - atscppapi::RegisterGlobalPlugin
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool RegisterGlobalPlugin(std::string const &name, std::string const
      &vendor, std::string const &email)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: atscppapi::Plugin::handleReadRequestHeadersPreRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeadersPreRemap(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: atscppapi::Plugin::handleReadRequestHeadersPostRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeadersPostRemap(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: atscppapi::Plugin::handleSendRequestHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleSendRequestHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: atscppapi::Plugin::handleReadResponseHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadResponseHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: atscppapi::Plugin::handleSendResponseHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleSendResponseHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: atscppapi::Plugin::handleOsDns
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleOsDns(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: atscppapi::Plugin::handleReadRequestHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: atscppapi::Plugin::handleReadCacheHeaders
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadCacheHeaders(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: atscppapi::Plugin::handleReadCacheLookupComplete
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadCacheLookupComplete(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::resume
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: atscppapi::Plugin::handleTxnClose
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached:
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleTxnClose(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ~Plugin()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: atscppapi::Plugin::Plugin
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::RegisterGlobalPlugin
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/tscpp/api/Plugin.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - vendor
    - email
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: atscppapi::RegisterGlobalPlugin
    functionSourceFile: /src/trafficserver/include/tscpp/api/Plugin.h
    functionUses: 2
    functionsReached:
    - atscppapi::RegisterGlobalPlugin
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool RegisterGlobalPlugin(std::string const &name, std::string const
      &vendor, std::string const &email)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::RemapPlugin::doRemap
      Src: /src/trafficserver/include/tscpp/api/RemapPlugin.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - rri
    argTypes:
    - Transaction
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: atscppapi::RemapPlugin::remapTransaction
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 0
    functionsReached:
    - atscppapi::RemapPlugin::doRemap
    linkageType: ''
    returnType: Result
    signature: Result remapTransaction(Transaction &transaction, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - map_from_url ATSCPPAPI_UNUSED
    - map_to_url ATSCPPAPI_UNUSED
    - transaction ATSCPPAPI_UNUSED
    - redirect ATSCPPAPI_UNUSED
    argTypes:
    - Url
    - Url
    - Transaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: atscppapi::RemapPlugin::doRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: "Result doRemap(const Url &map_from_url ATSCPPAPI_UNUSED, const Url
      &map_to_url ATSCPPAPI_UNUSED,\n          Transaction &transaction ATSCPPAPI_UNUSED,
      bool &redirect ATSCPPAPI_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~RemapPlugin()
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RemapPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::RemapPlugin::doRemap
      Src: /src/trafficserver/include/tscpp/api/RemapPlugin.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - transaction
    - rri
    argTypes:
    - Transaction
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: atscppapi::RemapPlugin::remapTransaction
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 0
    functionsReached:
    - atscppapi::RemapPlugin::doRemap
    linkageType: ''
    returnType: Result
    signature: Result remapTransaction(Transaction &transaction, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - map_from_url ATSCPPAPI_UNUSED
    - map_to_url ATSCPPAPI_UNUSED
    - transaction ATSCPPAPI_UNUSED
    - redirect ATSCPPAPI_UNUSED
    argTypes:
    - Url
    - Url
    - Transaction
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: atscppapi::RemapPlugin::doRemap
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: "Result doRemap(const Url &map_from_url ATSCPPAPI_UNUSED, const Url
      &map_to_url ATSCPPAPI_UNUSED,\n          Transaction &transaction ATSCPPAPI_UNUSED,
      bool &redirect ATSCPPAPI_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~RemapPlugin()
    functionSourceFile: /src/trafficserver/include/tscpp/api/RemapPlugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RemapPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: atscppapi::HeaderField::HeaderField
    functionSourceFile: /src/trafficserver/include/tscpp/api/Headers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField(const header_field_iterator &iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - header_field_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: atscppapi::HeaderField::HeaderField
    functionSourceFile: /src/trafficserver/include/tscpp/api/Headers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField(const header_field_iterator &iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~AsyncDispatchControllerBase()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncDispatchControllerBase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disable
      Src: /src/trafficserver/include/tscpp/api/Async.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: atscppapi::AsyncProvider::cancel
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - disable
    linkageType: ''
    returnType: void
    signature: void cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::cancel
      Src: /src/trafficserver/include/tscpp/api/Async.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~AsyncProvider()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - atscppapi::cancel
    linkageType: ''
    returnType: void
    signature: void ~AsyncProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: atscppapi::AsyncProvider::getDispatchController
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<AsyncDispatchControllerBase>
    signature: std::shared_ptr<AsyncDispatchControllerBase> getDispatchController()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscpp/api/Async.h:111,1
    - Dst: run
      Src: /src/trafficserver/include/tscpp/api/Async.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dispatch_controller
    argTypes:
    - std::shared_ptr<AsyncDispatchControllerBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: atscppapi::AsyncProvider::doRun
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - run
    - std::move
    linkageType: ''
    returnType: void
    signature: void doRun(std::shared_ptr<AsyncDispatchControllerBase> dispatch_controller)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleAsyncComplete
      Src: /src/trafficserver/include/tscpp/api/Async.h:133,1
    - Dst: static_cast<AsyncProviderType &>
      Src: /src/trafficserver/include/tscpp/api/Async.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: atscppapi::AsyncDispatchController::dispatch
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - static_cast<AsyncProviderType &>
    - handleAsyncComplete
    linkageType: ''
    returnType: bool
    signature: bool dispatch() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: revokePromise
      Src: /src/trafficserver/include/tscpp/api/Async.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: atscppapi::AsyncDispatchController::disable
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - revokePromise
    linkageType: ''
    returnType: void
    signature: void disable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: atscppapi::AsyncDispatchController::isEnabled
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscpp/api/Async.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - event_receiver
    - provider
    - mutex
    argTypes:
    - AsyncEventReceiverType*
    - AsyncProviderType*
    - std::shared_ptr<Mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: atscppapi::AsyncDispatchController::AsyncDispatchController
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AsyncDispatchController(AsyncEventReceiverType *event_receiver,
      AsyncProviderType *provider, std::shared_ptr<Mutex> mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~AsyncDispatchController() override
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncDispatchController() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dispatch_controller
    argTypes:
    - std::shared_ptr<AsyncDispatchController<AsyncEventReceiverType, AsyncProviderType>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: atscppapi::AsyncReceiverPromise::AsyncReceiverPromise
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReceiverPromise(std::shared_ptr<AsyncDispatchController<AsyncEventReceiverType,
      AsyncProviderType>> dispatch_controller)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ~AsyncReceiverPromise()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncReceiverPromise()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~AsyncReceiver()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/tscpp/api/Async.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dispatch_controller_ptr
    argTypes:
    - AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: atscppapi::AsyncReceiver::revokePromise
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void revokePromise(AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType> *dispatch_controller_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: atscppapi::AsyncReceiver::AsyncReceiver
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Mutex>::get
      Src: /src/trafficserver/include/tscpp/api/Async.h:255,1
    - Dst: std::shared_ptr<Mutex>::reset
      Src: /src/trafficserver/include/tscpp/api/Async.h:256,1
    - Dst: Mutex::Mutex
      Src: /src/trafficserver/include/tscpp/api/Async.h:256,1
    - Dst: AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
        AsyncProviderType>
      Src: /src/trafficserver/include/tscpp/api/Async.h:259,1
    - Dst: AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>,
        AsyncProviderType>
      Src: /src/trafficserver/include/tscpp/api/Async.h:261,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/include/tscpp/api/Async.h:262,1
    - Dst: AsyncProviderType*::doRun
      Src: /src/trafficserver/include/tscpp/api/Async.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event_receiver
    - provider
    - mutex
    argTypes:
    - AsyncReceiver<AsyncProviderType>*
    - AsyncProviderType*
    - std::shared_ptr<Mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: atscppapi::Async::execute
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType>
    - Mutex::Mutex
    - std::shared_ptr::get
    - AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType>
    - std::shared_ptr<Mutex>::reset
    - AsyncProviderType*::doRun
    - std::shared_ptr<Mutex>::get
    linkageType: ''
    returnType: void
    signature: void execute(AsyncReceiver<AsyncProviderType> *event_receiver, AsyncProviderType
      *provider, std::shared_ptr<Mutex> mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~AsyncDispatchControllerBase()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncDispatchControllerBase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disable
      Src: /src/trafficserver/include/tscpp/api/Async.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: atscppapi::AsyncProvider::cancel
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - disable
    linkageType: ''
    returnType: void
    signature: void cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/include/tscpp/api/Async.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ~AsyncProvider()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void ~AsyncProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: atscppapi::AsyncProvider::getDispatchController
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<AsyncDispatchControllerBase>
    signature: std::shared_ptr<AsyncDispatchControllerBase> getDispatchController()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscpp/api/Async.h:111,1
    - Dst: run
      Src: /src/trafficserver/include/tscpp/api/Async.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dispatch_controller
    argTypes:
    - std::shared_ptr<AsyncDispatchControllerBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: atscppapi::AsyncProvider::doRun
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - run
    - std::move
    linkageType: ''
    returnType: void
    signature: void doRun(std::shared_ptr<AsyncDispatchControllerBase> dispatch_controller)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleAsyncComplete
      Src: /src/trafficserver/include/tscpp/api/Async.h:133,1
    - Dst: static_cast<AsyncProviderType &>
      Src: /src/trafficserver/include/tscpp/api/Async.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: atscppapi::AsyncDispatchController::dispatch
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - static_cast<AsyncProviderType &>
    - handleAsyncComplete
    linkageType: ''
    returnType: bool
    signature: bool dispatch() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: revokePromise
      Src: /src/trafficserver/include/tscpp/api/Async.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: atscppapi::AsyncDispatchController::disable
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - revokePromise
    linkageType: ''
    returnType: void
    signature: void disable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: atscppapi::AsyncDispatchController::isEnabled
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEnabled() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/tscpp/api/Async.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - event_receiver
    - provider
    - mutex
    argTypes:
    - AsyncEventReceiverType*
    - AsyncProviderType*
    - std::shared_ptr<Mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: atscppapi::AsyncDispatchController::AsyncDispatchController
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AsyncDispatchController(AsyncEventReceiverType *event_receiver,
      AsyncProviderType *provider, std::shared_ptr<Mutex> mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~AsyncDispatchController() override
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncDispatchController() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dispatch_controller
    argTypes:
    - std::shared_ptr<AsyncDispatchController<AsyncEventReceiverType, AsyncProviderType>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: atscppapi::AsyncReceiverPromise::AsyncReceiverPromise
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReceiverPromise(std::shared_ptr<AsyncDispatchController<AsyncEventReceiverType,
      AsyncProviderType>> dispatch_controller)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ~AsyncReceiverPromise()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncReceiverPromise()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~AsyncReceiver()
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/include/tscpp/api/Async.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dispatch_controller_ptr
    argTypes:
    - AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: atscppapi::AsyncReceiver::revokePromise
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void revokePromise(AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType> *dispatch_controller_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: atscppapi::AsyncReceiver::AsyncReceiver
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Mutex>::get
      Src: /src/trafficserver/include/tscpp/api/Async.h:255,1
    - Dst: std::shared_ptr<Mutex>::reset
      Src: /src/trafficserver/include/tscpp/api/Async.h:256,1
    - Dst: Mutex::Mutex
      Src: /src/trafficserver/include/tscpp/api/Async.h:256,1
    - Dst: AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
        AsyncProviderType>
      Src: /src/trafficserver/include/tscpp/api/Async.h:259,1
    - Dst: AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>,
        AsyncProviderType>
      Src: /src/trafficserver/include/tscpp/api/Async.h:261,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/include/tscpp/api/Async.h:262,1
    - Dst: AsyncProviderType*::doRun
      Src: /src/trafficserver/include/tscpp/api/Async.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event_receiver
    - provider
    - mutex
    argTypes:
    - AsyncReceiver<AsyncProviderType>*
    - AsyncProviderType*
    - std::shared_ptr<Mutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: atscppapi::Async::execute
    functionSourceFile: /src/trafficserver/include/tscpp/api/Async.h
    functionUses: 0
    functionsReached:
    - AsyncDispatchController<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncDispatchController<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType>
    - Mutex::Mutex
    - std::shared_ptr::get
    - AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>, AsyncProviderType>::AsyncReceiverPromise<AsyncReceiver<AsyncProviderType>,
      AsyncProviderType>
    - std::shared_ptr<Mutex>::reset
    - AsyncProviderType*::doRun
    - std::shared_ptr<Mutex>::get
    linkageType: ''
    returnType: void
    signature: void execute(AsyncReceiver<AsyncProviderType> *event_receiver, AsyncProviderType
      *provider, std::shared_ptr<Mutex> mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - period_in_ms
    argTypes:
    - Type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: atscppapi::AsyncTimer::AsyncTimer
    functionSourceFile: /src/trafficserver/include/tscpp/api/AsyncTimer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncTimer(Type type, int period_in_ms, int initial_period_in_ms
      = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - period_in_ms
    - thread_pool
    argTypes:
    - Type
    - int
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: atscppapi::AsyncTimer::AsyncTimer
    functionSourceFile: /src/trafficserver/include/tscpp/api/AsyncTimer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncTimer(Type type, int period_in_ms, TSThreadPool thread_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - period_in_ms
    argTypes:
    - Type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: atscppapi::AsyncTimer::AsyncTimer
    functionSourceFile: /src/trafficserver/include/tscpp/api/AsyncTimer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncTimer(Type type, int period_in_ms, int initial_period_in_ms
      = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - period_in_ms
    - thread_pool
    argTypes:
    - Type
    - int
    - TSThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: atscppapi::AsyncTimer::AsyncTimer
    functionSourceFile: /src/trafficserver/include/tscpp/api/AsyncTimer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncTimer(Type type, int period_in_ms, TSThreadPool thread_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::InterceptPlugin::produce
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    - Dst: std::string::size
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: atscppapi::InterceptPlugin::produce
    functionSourceFile: /src/trafficserver/include/tscpp/api/InterceptPlugin.h
    functionUses: 1
    functionsReached:
    - atscppapi::InterceptPlugin::produce
    - std::string::data
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool produce(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atscppapi::InterceptPlugin::produce
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    - Dst: std::string::data
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    - Dst: std::string::size
      Src: /src/trafficserver/include/tscpp/api/InterceptPlugin.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: atscppapi::InterceptPlugin::produce
    functionSourceFile: /src/trafficserver/include/tscpp/api/InterceptPlugin.h
    functionUses: 2
    functionsReached:
    - atscppapi::InterceptPlugin::produce
    - std::string::data
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool produce(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - rsb
    - ','
    - rec_type
    - ','
    - name
    - ','
    - data_type
    - ','
    - persist_type
    - ','
    - id
    - ','
    - sync_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: RecRegisterRawStat
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecRegisterRawStat(rsb, rec_type, name, data_type, persist_type, id,
      sync_cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/records/RecProcess.h:107,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/records/RecProcess.h:109,1
    - Dst: reinterpret_cast<RecRawStat *>
      Src: /src/trafficserver/include/records/RecProcess.h:111,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/include/records/RecProcess.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rsb
    - id
    - ethread
    argTypes:
    - RecRawStatBlock*
    - int
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: raw_stat_get_tlp
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RecRawStat *>
    - reinterpret_cast<char *>
    - ink_assert
    - this_ethread
    linkageType: ''
    returnType: RecRawStat
    signature: 'RecRawStat *

      raw_stat_get_tlp(RecRawStatBlock *rsb, int id, EThread *ethread)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_stat_get_tlp
      Src: /src/trafficserver/include/records/RecProcess.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rsb
    - ethread
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - EThread*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: RecIncrRawStat
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 0
    functionsReached:
    - raw_stat_get_tlp
    linkageType: ''
    returnType: int
    signature: int RecIncrRawStat(RecRawStatBlock *rsb, EThread *ethread, int id,
      int64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_stat_get_tlp
      Src: /src/trafficserver/include/records/RecProcess.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rsb
    - ethread
    - id
    - decr
    argTypes:
    - RecRawStatBlock*
    - EThread*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: RecDecrRawStat
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 0
    functionsReached:
    - raw_stat_get_tlp
    linkageType: ''
    returnType: int
    signature: int RecDecrRawStat(RecRawStatBlock *rsb, EThread *ethread, int id,
      int64_t decr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_stat_get_tlp
      Src: /src/trafficserver/include/records/RecProcess.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rsb
    - ethread
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - EThread*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: RecIncrRawStatSum
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 0
    functionsReached:
    - raw_stat_get_tlp
    linkageType: ''
    returnType: int
    signature: int RecIncrRawStatSum(RecRawStatBlock *rsb, EThread *ethread, int id,
      int64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_stat_get_tlp
      Src: /src/trafficserver/include/records/RecProcess.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rsb
    - ethread
    - id
    - incr
    argTypes:
    - RecRawStatBlock*
    - EThread*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: RecIncrRawStatCount
    functionSourceFile: /src/trafficserver/include/records/RecProcess.h
    functionUses: 0
    functionsReached:
    - raw_stat_get_tlp
    linkageType: ''
    returnType: int
    signature: int RecIncrRawStatCount(RecRawStatBlock *rsb, EThread *ethread, int
      id, int64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: REC_PERSISTENCE_TYPE
    functionSourceFile: /src/trafficserver/include/records/RecDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REC_PERSISTENCE_TYPE(P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~RecRawStatBlockOps()
    functionSourceFile: /src/trafficserver/include/records/RecDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RecRawStatBlockOps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rec_type
    - ','
    - name
    - ','
    - data_default
    - ','
    - persist_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: RecRegisterStatInt
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecRegisterStatInt(rec_type, name, data_default, persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rec_type
    - ','
    - name
    - ','
    - data_default
    - ','
    - persist_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: RecRegisterStatFloat
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecRegisterStatFloat(rec_type, name, data_default, persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rec_type
    - ','
    - name
    - ','
    - data_default
    - ','
    - persist_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: RecRegisterStatString
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecRegisterStatString(rec_type, name, data_default, persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rec_type
    - ','
    - name
    - ','
    - data_default
    - ','
    - persist_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: RecRegisterStatCounter
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RecRegisterStatCounter(rec_type, name, data_default, persist_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigInt
      Src: /src/trafficserver/include/records/RecCore.h:177,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/include/records/RecCore.h:178,1
    - Dst: auto::value_or
      Src: /src/trafficserver/include/records/RecCore.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rec_int
    - name
    argTypes:
    - RecInt
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: RecEstablishStaticConfigInt
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 1
    functionsReached:
    - auto::value_or
    - RecGetRecordInt
    - RecLinkConfigInt
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigInt(RecInt &rec_int, const char *name,
      bool lock = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigInt32
      Src: /src/trafficserver/include/records/RecCore.h:187,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/include/records/RecCore.h:188,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/include/records/RecCore.h:189,1
    - Dst: auto::value_or
      Src: /src/trafficserver/include/records/RecCore.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rec_int
    - name
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: RecEstablishStaticConfigInt32
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 10
    functionsReached:
    - auto::value_or
    - static_cast<int32_t>
    - RecGetRecordInt
    - RecLinkConfigInt32
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigInt32(int32_t &rec_int, const char
      *name, bool lock = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigUInt32
      Src: /src/trafficserver/include/records/RecCore.h:197,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/include/records/RecCore.h:198,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/records/RecCore.h:199,1
    - Dst: auto::value_or
      Src: /src/trafficserver/include/records/RecCore.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rec_int
    - name
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: RecEstablishStaticConfigUInt32
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 4
    functionsReached:
    - RecLinkConfigUInt32
    - auto::value_or
    - RecGetRecordInt
    - static_cast<uint32_t>
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigUInt32(uint32_t &rec_int, const char
      *name, bool lock = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigString
      Src: /src/trafficserver/include/records/RecCore.h:207,1
    - Dst: ats_free
      Src: /src/trafficserver/include/records/RecCore.h:208,1
    - Dst: RecGetRecordStringAlloc
      Src: /src/trafficserver/include/records/RecCore.h:210,1
    - Dst: ats_stringdup
      Src: /src/trafficserver/include/records/RecCore.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rec_string
    - name
    argTypes:
    - RecString
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: RecEstablishStaticConfigString
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 0
    functionsReached:
    - RecGetRecordStringAlloc
    - ats_free
    - ats_stringdup
    - RecLinkConfigString
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigString(RecString &rec_string, const
      char *name, bool lock = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigFloat
      Src: /src/trafficserver/include/records/RecCore.h:219,1
    - Dst: RecGetRecordFloat
      Src: /src/trafficserver/include/records/RecCore.h:220,1
    - Dst: auto::value_or
      Src: /src/trafficserver/include/records/RecCore.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rec_float
    - name
    argTypes:
    - RecFloat
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: RecEstablishStaticConfigFloat
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 1
    functionsReached:
    - auto::value_or
    - RecLinkConfigFloat
    - RecGetRecordFloat
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigFloat(RecFloat &rec_float, const char
      *name, bool lock = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecLinkConfigByte
      Src: /src/trafficserver/include/records/RecCore.h:231,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/include/records/RecCore.h:232,1
    - Dst: static_cast<RecByte>
      Src: /src/trafficserver/include/records/RecCore.h:233,1
    - Dst: auto::value_or
      Src: /src/trafficserver/include/records/RecCore.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rec_byte
    - name
    argTypes:
    - RecByte
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: RecEstablishStaticConfigByte
    functionSourceFile: /src/trafficserver/include/records/RecCore.h
    functionUses: 1
    functionsReached:
    - RecLinkConfigByte
    - auto::value_or
    - RecGetRecordInt
    - static_cast<RecByte>
    linkageType: ''
    returnType: RecErrT
    signature: RecErrT RecEstablishStaticConfigByte(RecByte &rec_byte, const char
      *name, bool lock = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: SessionProtocolSet::SessionProtocolSet
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionProtocolSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/records/RecHttp.h:73,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/records/RecHttp.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: SessionProtocolSet::indexToMask
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t indexToMask(int idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SessionProtocolSet::indexToMask
      Src: /src/trafficserver/include/records/RecHttp.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: SessionProtocolSet::markIn
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached:
    - SessionProtocolSet::indexToMask
    linkageType: ''
    returnType: void
    signature: void markIn(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: SessionProtocolSet::markIn
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void markIn(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SessionProtocolSet::indexToMask
      Src: /src/trafficserver/include/records/RecHttp.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: SessionProtocolSet::markOut
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached:
    - SessionProtocolSet::indexToMask
    linkageType: ''
    returnType: void
    signature: void markOut(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: SessionProtocolSet::markOut
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void markOut(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SessionProtocolSet::indexToMask
      Src: /src/trafficserver/include/records/RecHttp.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: SessionProtocolSet::contains
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 2
    functionsReached:
    - SessionProtocolSet::indexToMask
    linkageType: ''
    returnType: bool
    signature: bool contains(int idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: SessionProtocolSet::contains
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/records/RecHttp.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: SessionProtocolSet::markAllIn
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void markAllIn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: SessionProtocolSet::markAllOut
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void markAllOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: SessionProtocolSet::intersects
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersects(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: SessionProtocolSet::isEmpty
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: SessionProtocolNameRegistry::SessionProtocolNameRegistry
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionProtocolNameRegistry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: HttpProxyPort::isSSL
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::isSSL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: HttpProxyPort::isQUIC
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::isQUIC() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: HttpProxyPort::isPlugin
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::isPlugin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::loadValue
      Src: /src/trafficserver/include/records/RecHttp.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: HttpProxyPort::loadValue
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 4
    functionsReached:
    - HttpProxyPort::loadValue
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadValue(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::loadConfig
      Src: /src/trafficserver/include/records/RecHttp.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: HttpProxyPort::loadConfig
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 2
    functionsReached:
    - HttpProxyPort::loadConfig
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::loadDefaultIfEmpty
      Src: /src/trafficserver/include/records/RecHttp.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: HttpProxyPort::loadDefaultIfEmpty
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 2
    functionsReached:
    - HttpProxyPort::loadDefaultIfEmpty
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::loadDefaultIfEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: '&

      HttpProxyPort::global()'
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpProxyPort>
    signature: 'std::vector<HttpProxyPort> &

      HttpProxyPort::global()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::hasSSL
      Src: /src/trafficserver/include/records/RecHttp.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: HttpProxyPort::hasSSL
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached:
    - HttpProxyPort::hasSSL
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::hasSSL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::hasQUIC
      Src: /src/trafficserver/include/records/RecHttp.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: HttpProxyPort::hasQUIC
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 1
    functionsReached:
    - HttpProxyPort::hasQUIC
    linkageType: ''
    returnType: bool
    signature: bool HttpProxyPort::hasQUIC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpProxyPort::findHttp
      Src: /src/trafficserver/include/records/RecHttp.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: HttpProxyPort::findHttp
    functionSourceFile: /src/trafficserver/include/records/RecHttp.h
    functionUses: 3
    functionsReached:
    - HttpProxyPort::findHttp
    linkageType: ''
    returnType: HttpProxyPort
    signature: 'HttpProxyPort *

      HttpProxyPort::findHttp(uint16_t family)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - v
    - base_record_name
    argTypes:
    - YAML::Node
    - YAML::Node
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: CfgNode
    functionSourceFile: /src/trafficserver/include/records/RecYAMLDefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CfgNode(YAML::Node const &n, YAML::Node const &v, std::string_view
      base_record_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: get_record_name
    functionSourceFile: /src/trafficserver/include/records/RecYAMLDefs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_record_name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: record_name::empty
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:78,1
    - Dst: record_name::append
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:79,1
    - Dst: record_name::append
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:80,1
    - Dst: as
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:80,1
    - Dst: record_name::append
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:82,1
    - Dst: as
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: append_field_name
    functionSourceFile: /src/trafficserver/include/records/RecYAMLDefs.h
    functionUses: 2
    functionsReached:
    - record_name::append
    - as
    - record_name::empty
    linkageType: ''
    returnType: void
    signature: void append_field_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:90,1
    - Dst: Mark
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:90,1
    - Dst: Mark
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:90,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:92,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:92,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:93,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/include/records/RecYAMLDefs.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: mark_as_view
    functionSourceFile: /src/trafficserver/include/records/RecYAMLDefs.h
    functionUses: 1
    functionsReached:
    - swoc::LocalBufferWriter::view
    - Mark
    - swoc::LocalBufferWriter::print
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: 'std::string mark_as_view(swoc::TextView fmt = "Line: {}, Column: {}")
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ts::Exception::Exception
    functionSourceFile: /src/trafficserver/include/ts/TsException.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ts::Exception::Exception
    functionSourceFile: /src/trafficserver/include/ts/TsException.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ts::Exception::Exception
    functionSourceFile: /src/trafficserver/include/ts/TsException.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ts::Exception::Exception
    functionSourceFile: /src/trafficserver/include/ts/TsException.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: FORCE_PLUGIN_SCOPED_MUTEX
    functionSourceFile: /src/trafficserver/include/ts/InkAPIPrivateIOCore.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORCE_PLUGIN_SCOPED_MUTEX(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - api_info
    - ','
    - errbuf
    - ','
    - errlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: CHECK_REMAP_API_COMPATIBILITY
    functionSourceFile: /src/trafficserver/include/ts/remap_version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_REMAP_API_COMPATIBILITY(api_info, errbuf, errlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TSmalloc
      Src: /src/trafficserver/include/ts/ts.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: TSmalloc
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 28
    functionsReached:
    - _TSmalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      TSmalloc(size_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TSrealloc
      Src: /src/trafficserver/include/ts/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TSrealloc
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 1
    functionsReached:
    - _TSrealloc
    linkageType: ''
    returnType: void
    signature: 'void *

      TSrealloc(void *p, size_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TSstrdup
      Src: /src/trafficserver/include/ts/ts.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: TSstrdup
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 7
    functionsReached:
    - _TSstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      TSstrdup(const char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TSstrdup
      Src: /src/trafficserver/include/ts/ts.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: TSstrndup
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 0
    functionsReached:
    - _TSstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      TSstrndup(const char *p, int64_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: TSReleaseAssert
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSReleaseAssert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: TSAssert
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSAssert(EX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::remove_cv_t<T> *>
      Src: /src/trafficserver/include/ts/ts.h:3078,1
    - Dst: TSmalloc
      Src: /src/trafficserver/include/ts/ts.h:3078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3079
    functionName: TSRalloc
    functionSourceFile: /src/trafficserver/include/ts/ts.h
    functionUses: 0
    functionsReached:
    - TSmalloc
    - static_cast<std::remove_cv_t<T> *>
    linkageType: ''
    returnType: T
    signature: 'T *

      TSRalloc(size_t count = 1 /**< Number of instances of T to allocate storage
      for. */

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - probe
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ATS_PROBE
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE(probe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - probe
    - ','
    - param1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ATS_PROBE1
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE1(probe, param1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ATS_PROBE2
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE2(probe, param1, param2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ATS_PROBE3
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE3(probe, param1, param2, param3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ATS_PROBE4
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE4(probe, param1, param2, param3, param4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ATS_PROBE5
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE5(probe, param1, param2, param3, param4, param5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ATS_PROBE6
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE6(probe, param1, param2, param3, param4, param5, param6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ATS_PROBE7
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE7(probe, param1, param2, param3, param4, param5, param6, param7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - ','
    - param8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ATS_PROBE8
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE8(probe, param1, param2, param3, param4, param5, param6, param7,
      param8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - ','
    - param8
    - ','
    - param9
    - )
    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: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: ATS_PROBE9
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE9(probe, param1, param2, param3, param4, param5, param6, param7,
      param8, param9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - ','
    - param8
    - ','
    - param9
    - ','
    - param10
    - )
    argTypes:
    - auto
    - auto
    - 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: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: ATS_PROBE10
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE10(probe, param1, param2, param3, param4, param5, param6,
      param7, param8, param9, param10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - ','
    - param8
    - ','
    - param9
    - ','
    - param10
    - ','
    - param11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - 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: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: ATS_PROBE11
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE11(probe, param1, param2, param3, param4, param5, param6,
      param7, param8, param9, param10, param11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - probe
    - ','
    - param1
    - ','
    - param2
    - ','
    - param3
    - ','
    - param4
    - ','
    - param5
    - ','
    - param6
    - ','
    - param7
    - ','
    - param8
    - ','
    - param9
    - ','
    - param10
    - ','
    - param11
    - ','
    - param12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - 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: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ATS_PROBE12
    functionSourceFile: /src/trafficserver/include/ts/ats_probe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATS_PROBE12(probe, param1, param2, param3, param4, param5, param6,
      param7, param8, param9, param10, param11, param12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ControlBase::ControlBase
    functionSourceFile: /src/trafficserver/include/proxy/ControlBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlBase::ControlBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlBase::CheckModifiers
      Src: /src/trafficserver/include/proxy/ControlBase.h:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - request_data
    - last_number
    argTypes:
    - HttpRequestData*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ControlBase::CheckForMatch
    functionSourceFile: /src/trafficserver/include/proxy/ControlBase.h
    functionUses: 0
    functionsReached:
    - ControlBase::CheckModifiers
    linkageType: ''
    returnType: bool
    signature: bool ControlBase::CheckForMatch(HttpRequestData *request_data, int
      last_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ParentConsistentHash::getParents
    functionSourceFile: /src/trafficserver/include/proxy/ParentConsistentHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pRecord
    signature: "pRecord *\n  getParents(ParentResult *result) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ssn
    - ','
    - dbg_ctl
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SsnDbg
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SsnDbg(ssn, dbg_ctl, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ProxyError
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cl
    - co
    argTypes:
    - ProxyErrorClass
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ProxyError
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyError(ProxyErrorClass cl, uint32_t co)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/include/proxy/ProxySession.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: str
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 558
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t str(char *buf, size_t buf_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ProxySession::ProxySession
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxySession(ProxySession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '&operator=(const ProxySession &)'
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxySession
    signature: ProxySession &operator=(const ProxySession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ProxySession::new_transaction
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyTransaction
    signature: "ProxyTransaction *\n  new_transaction()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnowflakeID::get_next_value
      Src: /src/trafficserver/include/proxy/ProxySession.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ProxySession::next_connection_id
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 4
    functionsReached:
    - SnowflakeID::get_next_value
    linkageType: ''
    returnType: int64_t
    signature: int64_t ProxySession::next_connection_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ProxySession::set_debug
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxySession::set_debug(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: ProxySession::debug
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::debug() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ProxySession::is_active
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::is_active() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSSystemState::is_draining
      Src: /src/trafficserver/include/proxy/ProxySession.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ProxySession::is_draining
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - TSSystemState::is_draining
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::is_draining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::get_netvc
      Src: /src/trafficserver/include/proxy/ProxySession.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ProxySession::is_peer_closed
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - ProxySession::get_netvc
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::is_peer_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/trafficserver/include/proxy/ProxySession.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: ProxySession::get_hookid
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - id
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID ProxySession::get_hookid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::api_hooks::append
      Src: /src/trafficserver/include/proxy/ProxySession.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - cont
    argTypes:
    - TSHttpHookID
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: ProxySession::hook_add
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - ProxySession::api_hooks::append
    linkageType: ''
    returnType: void
    signature: void ProxySession::hook_add(TSHttpHookID id, INKContInternal *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::api_hooks::get
      Src: /src/trafficserver/include/proxy/ProxySession.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: ProxySession::hook_get
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - ProxySession::api_hooks::get
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      ProxySession::hook_get(TSHttpHookID id) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ProxySession::feature_hooks
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpAPIHooks
    signature: 'HttpAPIHooks *

      ProxySession::feature_hooks() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxySession::api_hooks::has_hooks
      Src: /src/trafficserver/include/proxy/ProxySession.h:290,1
    - Dst: ProxySession::has_hooks
      Src: /src/trafficserver/include/proxy/ProxySession.h:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ProxySession::has_hooks
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 1
    functionsReached:
    - ProxySession::api_hooks::has_hooks
    - ProxySession::has_hooks
    linkageType: ''
    returnType: bool
    signature: bool ProxySession::has_hooks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ProxySession.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: ProxySession::ssl
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SSLProxySession
    signature: 'SSLProxySession *

      ProxySession::ssl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: ProxySession::get_netvc
    functionSourceFile: /src/trafficserver/include/proxy/ProxySession.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      ProxySession::get_netvc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: IpAllow::Record
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - Record
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: IpAllow::Record
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record(Record &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: IpAllow::ACL::ACL
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ACL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: IpAllow::ACL::ACL
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ACL(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - method_mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: IpAllow::Record::Record(uint32_t method_mask)
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAllow::Record::Record(uint32_t method_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - method_mask
    - ln
    - nonstandard_methods
    - deny_nonstandard_methods
    argTypes:
    - uint32_t
    - int
    - MethodNames
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: IpAllow::Record::Record(uint32_t method_mask, int ln, MethodNames
      &&nonstandard_methods, bool deny_nonstandard_methods)
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAllow::Record::Record(uint32_t method_mask, int ln, MethodNames
      &&nonstandard_methods, bool deny_nonstandard_methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - r
    - config
    argTypes:
    - IpAllow::Record*
    - IpAllow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: IpAllow::ACL::ACL(const IpAllow::Record *r, IpAllow *config) noexcept
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAllow::ACL::ACL(const IpAllow::Record *r, IpAllow *config) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: IpAllow::ACL::ACL(self_type &&that) noexcept
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IpAllow::ACL::ACL(self_type &&that) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/proxy/IPAllow.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: IpAllow::ACL::~ACL()
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void IpAllow::ACL::~ACL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: IpAllow::ACL::operator=(self_type &&that) noexcept -> self_type
      &
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IpAllow::ACL::operator=(self_type &&that) noexcept -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wksidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: IpAllow::ACL::MethodIdxToMask(int wksidx)
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IpAllow::ACL::MethodIdxToMask(int wksidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: IpAllow::ACL::isValid() const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ACL::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _nonstandard_methods::empty
      Src: /src/trafficserver/include/proxy/IPAllow.h:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: IpAllow::ACL::isDenyAll() const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached:
    - _nonstandard_methods::empty
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ACL::isDenyAll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: IpAllow::ACL::isAllowAll() const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ACL::isAllowAll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MethodIdxToMask
      Src: /src/trafficserver/include/proxy/IPAllow.h:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - method_wksidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: IpAllow::ACL::isMethodAllowed(int method_wksidx) const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached:
    - MethodIdxToMask
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ACL::isMethodAllowed(int method_wksidx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/include/proxy/IPAllow.h:376,1
    - Dst: _nonstandard_methods::begin
      Src: /src/trafficserver/include/proxy/IPAllow.h:376,1
    - Dst: _nonstandard_methods::end
      Src: /src/trafficserver/include/proxy/IPAllow.h:376,1
    - Dst: strcasecmp
      Src: /src/trafficserver/include/proxy/IPAllow.h:377,1
    - Dst: _nonstandard_methods::end
      Src: /src/trafficserver/include/proxy/IPAllow.h:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - method
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: IpAllow::ACL::isNonstandardMethodAllowed(std::string_view method)
      const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached:
    - _nonstandard_methods::end
    - std::find_if
    - _nonstandard_methods::begin
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::ACL::isNonstandardMethodAllowed(std::string_view method)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/proxy/IPAllow.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: IpAllow::ACL::clear()
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void IpAllow::ACL::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: IpAllow::ACL::source_line() const
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IpAllow::ACL::source_line() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: IpAllow::enableAcceptCheck
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::enableAcceptCheck(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: IpAllow::isAcceptCheckEnabled
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::isAcceptCheckEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DFA::match
      Src: /src/trafficserver/include/proxy/IPAllow.h:416,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/proxy/IPAllow.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - key
    argTypes:
    - swoc::IPEndpoint*
    - match_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: IpAllow::match
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - DFA::match
    linkageType: ''
    returnType: auto
    signature: auto IpAllow::match(swoc::IPEndpoint const *addr, match_key_t key)
      -> ACL
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DFA::match
      Src: /src/trafficserver/include/proxy/IPAllow.h:422,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/proxy/IPAllow.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sa
    - key
    argTypes:
    - sockaddr*
    - match_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: IpAllow::match
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - DFA::match
    linkageType: ''
    returnType: auto
    signature: auto IpAllow::match(sockaddr const *sa, match_key_t key) -> ACL
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: IpAllow::makeAllowAllACL
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IpAllow::makeAllowAllACL() -> ACL
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: '&

      IpAllow::get_config_file() const'
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::file::path
    signature: 'swoc::file::path &

      IpAllow::get_config_file() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAllow::acquire
      Src: /src/trafficserver/include/proxy/IPAllow.h:440,1
    - Dst: auto*::_src_map::count
      Src: /src/trafficserver/include/proxy/IPAllow.h:441,1
    - Dst: auto*::_dst_map::count
      Src: /src/trafficserver/include/proxy/IPAllow.h:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: IpAllow::has_no_rules
    functionSourceFile: /src/trafficserver/include/proxy/IPAllow.h
    functionUses: 1
    functionsReached:
    - auto*::_src_map::count
    - IpAllow::acquire
    - auto*::_dst_map::count
    linkageType: ''
    returnType: bool
    signature: bool IpAllow::has_no_rules()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~PluginIdentity()
    functionSourceFile: /src/trafficserver/include/proxy/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PluginIdentity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: PluginIdentity::getPluginTag
    functionSourceFile: /src/trafficserver/include/proxy/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  getPluginTag() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: PluginIdentity::getPluginId
    functionSourceFile: /src/trafficserver/include/proxy/Plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getPluginId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ParentRoundRobin::getParents
    functionSourceFile: /src/trafficserver/include/proxy/ParentRoundRobin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pRecord
    signature: "pRecord *\n  getParents(ParentResult * /* result ATS_UNUSED */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: "&\n  operator[](T ms)"
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: ink_hrtime
    signature: "ink_hrtime &\n  operator[](T ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: operator[](T ms) const
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime operator[](T ms) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:53,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:54,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/include/proxy/Milestones.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ms
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Milestones::mark
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 0
    functionsReached:
    - ink_get_hrtime
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void mark(T ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:67,1
    - Dst: ink_hrtime_to_msec
      Src: /src/trafficserver/include/proxy/Milestones.h:70,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:70,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ms_start
    - ms_end
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: Milestones::difference_msec
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - ink_hrtime_to_msec
    linkageType: ''
    returnType: int64_t
    signature: int64_t difference_msec(T ms_start, T ms_end, int64_t missing = -1)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/trafficserver/include/proxy/Milestones.h:82,1
    - Dst: Milestones::difference_msec
      Src: /src/trafficserver/include/proxy/Milestones.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ms_start
    - ms_end
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Milestones::difference_sec
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 0
    functionsReached:
    - Milestones::difference_msec
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double difference_sec(T ms_start, T ms_end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:94,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/Milestones.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ms_start
    - ms_end
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: Milestones::elapsed
    functionSourceFile: /src/trafficserver/include/proxy/Milestones.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: ink_hrtime
    signature: ink_hrtime elapsed(T ms_start, T ms_end) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: PluginVCState::PluginVCState
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginVCState::PluginVCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: PluginVC::get_other_side
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PluginVC
    signature: "PluginVC *\n  get_other_side()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: PluginVC::getPluginTag
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  getPluginTag() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: PluginVC::getPluginId
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getPluginId() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: PluginVC::setPluginTag
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPluginTag(const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: PluginVC::setPluginId
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPluginId(int64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/proxy/PluginVC.h:271,1
    - Dst: memset
      Src: /src/trafficserver/include/proxy/PluginVC.h:272,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/include/proxy/PluginVC.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: PluginVCCore::PluginVCCore
    functionSourceFile: /src/trafficserver/include/proxy/PluginVC.h
    functionUses: 1
    functionsReached:
    - memset
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void PluginVCCore::PluginVCCore()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: validReason
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool validReason(const char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:79,1
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:81,1
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:83,1
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:85,1
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/HostStatus.h:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - reason_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: getReason
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getReason(const char *reason_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - HostStatRec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: HostStatRec
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatRec(const HostStatRec &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~HostStatRec()
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostStatRec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - source
    argTypes:
    - HostStatRec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '&operator=(const HostStatRec &source)'
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostStatRec
    signature: HostStatRec &operator=(const HostStatRec &source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:136,1
    - Dst: getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:139,1
    - Dst: getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:141,1
    - Dst: getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - os
    argTypes:
    - std::stringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: "&\n  operator<<(std::stringstream &os)"
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - getReasonState
    linkageType: ''
    returnType: std::stringstream
    signature: "std::stringstream &\n  operator<<(std::stringstream &os)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatRec::getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:153,1
    - Dst: HostStatRec::getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:156,1
    - Dst: HostStatRec::getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:158,1
    - Dst: HostStatRec::getReasonState
      Src: /src/trafficserver/include/proxy/HostStatus.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - os
    - hs
    argTypes:
    - std::stringstream
    - HostStatRec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: "&\n  operator<<(std::stringstream &os, HostStatRec &hs)"
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - HostStatRec::getReasonState
    linkageType: ''
    returnType: std::stringstream
    signature: "std::stringstream &\n  operator<<(std::stringstream &os, HostStatRec
      &hs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reason
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: getReasonState
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getReasonState(unsigned int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatusSync::getHostStatusPersistentFilePath
      Src: /src/trafficserver/include/proxy/HostStatus.h:184,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/proxy/HostStatus.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: HostStatusSync::HostStatusSync
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - HostStatusSync::getHostStatusPersistentFilePath
    linkageType: ''
    returnType: void
    signature: void HostStatusSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~HostStatusSync()
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostStatusSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: HostStatusSync::HostStatusSync
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatusSync(HostStatusSync const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatusSync::HostStatusSync
      Src: /src/trafficserver/include/proxy/HostStatus.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: HostStatusSync::new_instance
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 1
    functionsReached:
    - HostStatusSync::HostStatusSync
    linkageType: ''
    returnType: HostStatusSync
    signature: "HostStatusSync *\n  new_instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/include/proxy/HostStatus.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: HostStatusSync::getHostStatusPersistentFilePath
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 1
    functionsReached:
    - Layout::relative_to
    linkageType: ''
    returnType: void
    signature: void getHostStatusPersistentFilePath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatusSync::sync_task
      Src: /src/trafficserver/include/proxy/HostStatus.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: HostStatusSync::mainEvent
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - HostStatusSync::sync_task
    linkageType: ''
    returnType: int
    signature: int mainEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostStatus::HostStatus
      Src: /src/trafficserver/include/proxy/HostStatus.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: "&\n  instance()"
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached:
    - HostStatus::HostStatus
    linkageType: ''
    returnType: HostStatus
    signature: "HostStatus &\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layout::relative_to
      Src: /src/trafficserver/include/proxy/HostStatus.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: getHostStatusPersistentFilePath
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 2
    functionsReached:
    - Layout::relative_to
    linkageType: ''
    returnType: std::string
    signature: std::string getHostStatusPersistentFilePath()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - obj
    argTypes:
    - HostStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: HostStatus
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostStatus(const HostStatus &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: '&operator=(HostStatus const &)'
    functionSourceFile: /src/trafficserver/include/proxy/HostStatus.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostStatus
    signature: HostStatus &operator=(HostStatus const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~UnavailableServerResponseCodes()
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnavailableServerResponseCodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_search
      Src: /src/trafficserver/include/proxy/ParentSelection.h:83,1
    - Dst: begin
      Src: /src/trafficserver/include/proxy/ParentSelection.h:83,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/ParentSelection.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 65
    functionsReached:
    - begin
    - binary_search
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~SimpleRetryResponseCodes()
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SimpleRetryResponseCodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_search
      Src: /src/trafficserver/include/proxy/ParentSelection.h:97,1
    - Dst: begin
      Src: /src/trafficserver/include/proxy/ParentSelection.h:97,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/ParentSelection.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 65
    functionsReached:
    - begin
    - binary_search
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: ParentRecord::bypass_ok
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bypass_ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/include/proxy/ParentSelection.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: ParentResult
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ParentResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/proxy/ParentSelection.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: reset
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 152
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: is_api_result
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_api_result() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: is_some
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool is_some() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: parent_is_proxy
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 4
    functionsReached:
    - is_api_result
    linkageType: ''
    returnType: bool
    signature: bool parent_is_proxy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: retry_type
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 2
    functionsReached:
    - is_api_result
    linkageType: ''
    returnType: ParentRetry_t
    signature: ParentRetry_t retry_type() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:241,1
    - Dst: max
      Src: /src/trafficserver/include/proxy/ParentSelection.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - method
    argTypes:
    - ParentRetry_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: max_retries
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 5
    functionsReached:
    - max
    - is_api_result
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_retries(ParentRetry_t method) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/ParentSelection.h:262,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:262,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:263,1
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/ParentSelection.h:265,1
    - Dst: unavailable_server_retry_responses::contains
      Src: /src/trafficserver/include/proxy/ParentSelection.h:266,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:266,1
    - Dst: simple_server_retry_responses::contains
      Src: /src/trafficserver/include/proxy/ParentSelection.h:267,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:267,1
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/ParentSelection.h:269,1
    - Dst: unavailable_server_retry_responses::contains
      Src: /src/trafficserver/include/proxy/ParentSelection.h:270,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:270,1
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/ParentSelection.h:272,1
    - Dst: simple_server_retry_responses::contains
      Src: /src/trafficserver/include/proxy/ParentSelection.h:273,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - retry_type
    - response_code
    argTypes:
    - ParentRetry_t
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: response_is_retryable
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - Dbg
    - unavailable_server_retry_responses::contains
    - simple_server_retry_responses::contains
    linkageType: ''
    returnType: bool
    signature: bool response_is_retryable(ParentRetry_t retry_type, HTTPStatus response_code)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:282,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:286,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:287,1
    - Dst: is_some
      Src: /src/trafficserver/include/proxy/ParentSelection.h:287,1
    - Dst: bypass_ok
      Src: /src/trafficserver/include/proxy/ParentSelection.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: bypass_ok
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 3
    functionsReached:
    - bypass_ok
    - is_api_result
    - is_some
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool bypass_ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/trafficserver/include/proxy/ParentSelection.h:295,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/ParentSelection.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: print
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 147
    functionsReached:
    - static_cast<int>
    - printf
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/include/proxy/ParentSelection.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ParentSelectionStrategy::ParentSelectionStrategy
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached:
    - RecGetRecordInt
    linkageType: ''
    returnType: void
    signature: void ParentSelectionStrategy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: ~ParentSelectionStrategy()
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ParentSelectionStrategy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:380,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:381,1
    - Dst: ParentResult*::rec::selection_strategy::selectParent
      Src: /src/trafficserver/include/proxy/ParentSelection.h:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - firstCall
    - result
    - rdata
    - fail_threshold
    - retry_time
    argTypes:
    - bool
    - ParentResult*
    - RequestData*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: ParentConfigParams::selectParent
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - ParentResult*::rec::selection_strategy::selectParent
    - ParentResult*::is_api_result
    linkageType: ''
    returnType: void
    signature: void selectParent(bool firstCall, ParentResult *result, RequestData
      *rdata, unsigned int fail_threshold, unsigned int retry_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:389,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:390,1
    - Dst: ParentResult*::rec::selection_strategy::markParentDown
      Src: /src/trafficserver/include/proxy/ParentSelection.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - result
    - fail_threshold
    - retry_time
    argTypes:
    - ParentResult*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: ParentConfigParams::markParentDown
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached:
    - ParentResult*::rec::selection_strategy::markParentDown
    - ink_release_assert
    - ParentResult*::is_api_result
    linkageType: ''
    returnType: void
    signature: void markParentDown(ParentResult *result, unsigned int fail_threshold,
      unsigned int retry_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:398,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:399,1
    - Dst: ParentResult*::rec::selection_strategy::markParentUp
      Src: /src/trafficserver/include/proxy/ParentSelection.h:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: ParentConfigParams::markParentUp
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    - ParentResult*::rec::selection_strategy::markParentUp
    - ParentResult*::is_api_result
    linkageType: ''
    returnType: void
    signature: void markParentUp(ParentResult *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParentResult*::is_api_result
      Src: /src/trafficserver/include/proxy/ParentSelection.h:407,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/ParentSelection.h:410,1
    - Dst: ParentResult*::rec::selection_strategy::numParents
      Src: /src/trafficserver/include/proxy/ParentSelection.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - ParentResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: ParentConfigParams::numParents
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 0
    functionsReached:
    - ParentResult*::rec::selection_strategy::numParents
    - ink_release_assert
    - ParentResult*::is_api_result
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t numParents(ParentResult *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ParentSelection.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: acquire
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 97
    functionsReached:
    - get
    linkageType: ''
    returnType: ParentConfigParams
    signature: "ParentConfigParams *\n  acquire()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/proxy/ParentSelection.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strategy
    argTypes:
    - ParentConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: release
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 145
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void release(ParentConfigParams *strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ParentSelection.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: acquire
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 97
    functionsReached:
    - get
    linkageType: ''
    returnType: ParentConfigParams
    signature: "ParentConfigParams *\n  acquire()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/proxy/ParentSelection.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - ParentConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: release
    functionSourceFile: /src/trafficserver/include/proxy/ParentSelection.h
    functionUses: 146
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void release(ParentConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ProxyTransaction::ProxyTransaction
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ProxyTransaction::is_transparent_passthrough_allowed
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::is_transparent_passthrough_allowed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::is_chunked_encoding_supported
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ProxyTransaction::is_chunked_encoding_supported
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::is_chunked_encoding_supported
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::is_chunked_encoding_supported() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::set_half_close_flag
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: ProxyTransaction::set_half_close_flag
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::set_half_close_flag
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_half_close_flag(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_half_close_flag
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: ProxyTransaction::get_half_close_flag
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::get_half_close_flag
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::get_half_close_flag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::debug
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: ProxyTransaction::debug
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::debug
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::debug() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::hook_get
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: ProxyTransaction::hook_get
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::hook_get
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      ProxyTransaction::hook_get(TSHttpHookID id) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::feature_hooks
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ProxyTransaction::feature_hooks
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::feature_hooks
    linkageType: ''
    returnType: HttpAPIHooks
    signature: 'HttpAPIHooks *

      ProxyTransaction::feature_hooks() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::has_hooks
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ProxyTransaction::has_hooks
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::has_hooks
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::has_hooks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ProxyTransaction::get_proxy_ssn
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxySession
    signature: 'ProxySession *

      ProxyTransaction::get_proxy_ssn()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: ProxyTransaction::get_proxy_ssn
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxySession
    signature: 'ProxySession *

      ProxyTransaction::get_proxy_ssn() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_server_session
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ProxyTransaction::get_server_session
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::get_server_session
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *

      ProxyTransaction::get_server_session() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ProxyTransaction::get_sm
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSM
    signature: 'HttpSM *

      ProxyTransaction::get_sm() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_protocol_string
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ProxyTransaction::get_protocol_string
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::get_protocol_string
    linkageType: ''
    returnType: char
    signature: 'char *

      ProxyTransaction::get_protocol_string()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::populate_protocol
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - size
    argTypes:
    - std::string_view*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: ProxyTransaction::populate_protocol
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::populate_protocol
    linkageType: ''
    returnType: int
    signature: int ProxyTransaction::populate_protocol(std::string_view *result, int
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::protocol_contains
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag_prefix
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ProxyTransaction::protocol_contains
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::protocol_contains
    linkageType: ''
    returnType: char
    signature: 'char *

      ProxyTransaction::protocol_contains(std::string_view tag_prefix) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::support_sni
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ProxyTransaction::support_sni
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::support_sni
    linkageType: ''
    returnType: bool
    signature: bool ProxyTransaction::support_sni() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::set_active_timeout
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: ProxyTransaction::set_active_timeout
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::set_active_timeout
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_active_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::set_inactivity_timeout
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: ProxyTransaction::set_inactivity_timeout
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::set_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::set_default_inactivity_timeout
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_in
    argTypes:
    - ink_hrtime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: ProxyTransaction::set_default_inactivity_timeout
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::set_default_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::set_default_inactivity_timeout(ink_hrtime timeout_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::cancel_inactivity_timeout
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: ProxyTransaction::cancel_inactivity_timeout
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::cancel_inactivity_timeout
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::cancel_inactivity_timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::cancel_active_timeout
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: ProxyTransaction::cancel_active_timeout
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::cancel_active_timeout
    linkageType: ''
    returnType: void
    signature: void ProxyTransaction::cancel_active_timeout()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_netvc
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:301,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:302,1
    - Dst: NetVConnection*::thread::is_event_type
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:304,1
    - Dst: NetVConnection*::thread::schedule_imm
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cont
    - event
    - data
    argTypes:
    - Continuation*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: ProxyTransaction::adjust_thread
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached:
    - NetVConnection*::thread::schedule_imm
    - ProxyTransaction::get_netvc
    - NetVConnection*::thread::is_event_type
    - this_ethread
    linkageType: ''
    returnType: Action
    signature: 'Action *

      ProxyTransaction::adjust_thread(Continuation *cont, int event, void *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: ProxyTransaction::get_remote_reader
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      ProxyTransaction::get_remote_reader()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProxyTransaction::get_remote_addr
      Src: /src/trafficserver/include/proxy/ProxyTransaction.h:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: ProxyTransaction::get_remote_addr
    functionSourceFile: /src/trafficserver/include/proxy/ProxyTransaction.h
    functionUses: 1
    functionsReached:
    - ProxyTransaction::get_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ProxyTransaction::get_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: ~RequestData()
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:144,1
    - Dst: ink_zero
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: HttpRequestData::HttpRequestData
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void HttpRequestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: BaseMatcher::BaseMatcher
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseMatcher(const char *name, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: ~BaseMatcher()
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: HostMatcher::getHLookup
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: HostLookup
    signature: "HostLookup *\n  getHLookup()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: ControlMatcher::getEntryCount
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getEntryCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: ControlMatcher::getHostMatcher
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: HostMatcher<Data, MatchResult>
    signature: "HostMatcher<Data, MatchResult> *\n  getHostMatcher()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: ControlMatcher::getReMatcher
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RegexMatcher<Data, MatchResult>
    signature: "RegexMatcher<Data, MatchResult> *\n  getReMatcher()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/ControlMatcher.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: ControlMatcher::getIPMatcher
    functionSourceFile: /src/trafficserver/include/proxy/ControlMatcher.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IpMatcher<Data, MatchResult>
    signature: "IpMatcher<Data, MatchResult> *\n  getIPMatcher()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: FetchSM::FetchSM
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/proxy/FetchSM.h:50,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/include/proxy/FetchSM.h:51,1
    - Dst: alloc_reader
      Src: /src/trafficserver/include/proxy/FetchSM.h:52,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/include/proxy/FetchSM.h:53,1
    - Dst: alloc_reader
      Src: /src/trafficserver/include/proxy/FetchSM.h:54,1
    - Dst: http_parser_init
      Src: /src/trafficserver/include/proxy/FetchSM.h:55,1
    - Dst: create
      Src: /src/trafficserver/include/proxy/FetchSM.h:56,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/proxy/FetchSM.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: FetchSM::init_comm
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 1
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - clear
    - http_parser_init
    - SET_HANDLER
    - create
    linkageType: ''
    returnType: void
    signature: void init_comm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/FetchSM.h:64,1
    - Dst: FetchSM::init_comm
      Src: /src/trafficserver/include/proxy/FetchSM.h:65,1
    - Dst: assign
      Src: /src/trafficserver/include/proxy/FetchSM.h:69,1
    - Dst: FetchSM::writeRequest
      Src: /src/trafficserver/include/proxy/FetchSM.h:70,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/proxy/FetchSM.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - cont
    - options
    - events
    - headers
    - length
    - addr
    argTypes:
    - Continuation*
    - TSFetchWakeUpOptions
    - TSFetchEvent
    - char*
    - int
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: FetchSM::init
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    - assign
    - Dbg
    - FetchSM::init_comm
    - FetchSM::writeRequest
    linkageType: ''
    returnType: void
    signature: void init(Continuation *cont, TSFetchWakeUpOptions options, TSFetchEvent
      events, const char *headers, int length, sockaddr const *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: FetchSM::set_fetch_flags
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_fetch_flags(int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: FetchSM::get_internal_request
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_internal_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: FetchSM::set_internal_request
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_internal_request(bool val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/include/proxy/FetchSM.h:134,1
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/FetchSM.h:134,1
    - Dst: write
      Src: /src/trafficserver/include/proxy/FetchSM.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - headers
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: FetchSM::writeRequest
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 1
    functionsReached:
    - write
    - strlen
    linkageType: ''
    returnType: void
    signature: void writeRequest(const char *headers, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/include/proxy/FetchSM.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: FetchSM::getReqLen
    functionSourceFile: /src/trafficserver/include/proxy/FetchSM.h
    functionUses: 1
    functionsReached:
    - read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t getReqLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: PoolableSession::set_active
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolableSession::set_active()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: PoolableSession::is_active
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::is_active()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_private
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: PoolableSession::set_private
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolableSession::set_private(bool new_private)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: PoolableSession::is_private
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::is_private() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newvc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: PoolableSession::set_netvc
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PoolableSession::set_netvc(NetVConnection *newvc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: '*&

      PoolableSession::IPLinkage::next_ptr(self_type *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *&

      PoolableSession::IPLinkage::next_ptr(self_type *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: '*&

      PoolableSession::IPLinkage::prev_ptr(self_type *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *&

      PoolableSession::IPLinkage::prev_ptr(self_type *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_hash
      Src: /src/trafficserver/include/proxy/PoolableSession.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: PoolableSession::IPLinkage::hash_of(sockaddr const *key)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - ats_ip_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PoolableSession::IPLinkage::hash_of(sockaddr const *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::get_remote_addr
      Src: /src/trafficserver/include/proxy/PoolableSession.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: '*

      PoolableSession::IPLinkage::key_of(self_type const *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - self_type*::get_remote_addr
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      PoolableSession::IPLinkage::key_of(self_type const *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/include/proxy/PoolableSession.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: PoolableSession::IPLinkage::equal(sockaddr const *lhs, sockaddr
      const *rhs)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - ats_ip_addr_port_eq
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::IPLinkage::equal(sockaddr const *lhs, sockaddr
      const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/include/proxy/PoolableSession.h:175,1
    - Dst: key_of
      Src: /src/trafficserver/include/proxy/PoolableSession.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - sockaddr*
    - PoolableSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: PoolableSession::IPLinkage::equal(sockaddr const *lhs, PoolableSession
      const *rhs)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - key_of
    - ats_ip_addr_port_eq
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::IPLinkage::equal(sockaddr const *lhs, PoolableSession
      const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/include/proxy/PoolableSession.h:181,1
    - Dst: key_of
      Src: /src/trafficserver/include/proxy/PoolableSession.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - PoolableSession*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: PoolableSession::IPLinkage::equal(PoolableSession const *lhs, sockaddr
      const *rhs)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - key_of
    - ats_ip_addr_port_eq
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::IPLinkage::equal(PoolableSession const *lhs,
      sockaddr const *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: '*&

      PoolableSession::FQDNLinkage::next_ptr(self_type *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *&

      PoolableSession::FQDNLinkage::next_ptr(self_type *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: '*&

      PoolableSession::FQDNLinkage::prev_ptr(self_type *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PoolableSession
    signature: 'PoolableSession *&

      PoolableSession::FQDNLinkage::prev_ptr(self_type *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/include/proxy/PoolableSession.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: PoolableSession::FQDNLinkage::hash_of(CryptoHash const &key)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PoolableSession::FQDNLinkage::hash_of(CryptoHash const &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: '&

      PoolableSession::FQDNLinkage::key_of(self_type *ssn)'
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CryptoHash
    signature: 'CryptoHash &

      PoolableSession::FQDNLinkage::key_of(self_type *ssn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - CryptoHash
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: PoolableSession::FQDNLinkage::equal(CryptoHash const &lhs, CryptoHash
      const &rhs)
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::FQDNLinkage::equal(CryptoHash const &lhs, CryptoHash
      const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/PoolableSession.h:217,1
    - Dst: std::move
      Src: /src/trafficserver/include/proxy/PoolableSession.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - std::shared_ptr<ConnectionTracker::Group>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: PoolableSession::enable_outbound_connection_tracking
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - std::move
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void PoolableSession::enable_outbound_connection_tracking(std::shared_ptr<ConnectionTracker::Group>
      group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/trafficserver/include/proxy/PoolableSession.h:226,1
    - Dst: reset
      Src: /src/trafficserver/include/proxy/PoolableSession.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: PoolableSession::release_outbound_connection_tracking
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - reset
    - release
    linkageType: ''
    returnType: void
    signature: void PoolableSession::release_outbound_connection_tracking()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/trafficserver/include/proxy/PoolableSession.h:234,1
    - Dst: CryptoContext
      Src: /src/trafficserver/include/proxy/PoolableSession.h:235,1
    - Dst: static_cast<const unsigned char *>
      Src: /src/trafficserver/include/proxy/PoolableSession.h:235,1
    - Dst: static_cast<const void *>
      Src: /src/trafficserver/include/proxy/PoolableSession.h:235,1
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/PoolableSession.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: PoolableSession::attach_hostname
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached:
    - static_cast<const void *>
    - static_cast<const unsigned char *>
    - is_zero
    - strlen
    - CryptoContext
    linkageType: ''
    returnType: void
    signature: void PoolableSession::attach_hostname(const char *hostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: PoolableSession::is_multiplexing
    functionSourceFile: /src/trafficserver/include/proxy/PoolableSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PoolableSession::is_multiplexing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h:46,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ProtocolProbeSessionAccept::ProtocolProbeSessionAccept
    functionSourceFile: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h
    functionUses: 1
    functionsReached:
    - memset
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void ProtocolProbeSessionAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~ProtocolProbeSessionAccept() override
    functionSourceFile: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProtocolProbeSessionAccept() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ProtocolProbeSessionAccept::ProtocolProbeSessionAccept
    functionSourceFile: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtocolProbeSessionAccept(const ProtocolProbeSessionAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&operator=(const ProtocolProbeSessionAccept &)'
    functionSourceFile: /src/trafficserver/include/proxy/ProtocolProbeSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolProbeSessionAccept
    signature: ProtocolProbeSessionAccept &operator=(const ProtocolProbeSessionAccept
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: CacheControlResult::CacheControlResult
    functionSourceFile: /src/trafficserver/include/proxy/CacheControl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheControlResult::CacheControlResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: CacheControlRecord::CacheControlRecord
    functionSourceFile: /src/trafficserver/include/proxy/CacheControl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheControlRecord::CacheControlRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: _RangeRecord
    functionSourceFile: /src/trafficserver/include/proxy/Transform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _RangeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - ProxyMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: TransformVCChain::TransformVCChain
    functionSourceFile: /src/trafficserver/include/proxy/Transform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransformVCChain::TransformVCChain(ProxyMutex *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: num_chars_for_int
    functionSourceFile: /src/trafficserver/include/proxy/Transform.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_chars_for_int(int64_t i)
  - 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: SIZEOF
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZEOF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HdrTokenInfoFlags>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HdrTokenInfoFlags
    - HdrTokenInfoFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: operator|(HdrTokenInfoFlags a, HdrTokenInfoFlags b)
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<HdrTokenInfoFlags>
    linkageType: ''
    returnType: HdrTokenInfoFlags
    signature: HdrTokenInfoFlags operator|(HdrTokenInfoFlags a, HdrTokenInfoFlags
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HdrTokenInfoFlags>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HdrTokenInfoFlags
    - HdrTokenInfoFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: operator&(HdrTokenInfoFlags a, HdrTokenInfoFlags b)
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<HdrTokenInfoFlags>
    linkageType: ''
    returnType: HdrTokenInfoFlags
    signature: HdrTokenInfoFlags operator&(HdrTokenInfoFlags a, HdrTokenInfoFlags
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: hdrtoken_is_wks
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hdrtoken_is_wks(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: hdrtoken_is_valid_wks_idx
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hdrtoken_is_valid_wks_idx(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:148,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:148,1
    - Dst: reinterpret_cast<HdrTokenHeapPrefix *>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:149,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: hdrtoken_wks_to_prefix
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 3
    functionsReached:
    - const_cast<char *>
    - hdrtoken_is_wks
    - reinterpret_cast<HdrTokenHeapPrefix *>
    - ink_assert
    linkageType: ''
    returnType: HdrTokenHeapPrefix
    signature: 'HdrTokenHeapPrefix *

      hdrtoken_wks_to_prefix(const char *wks)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:158,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: hdrtoken_index_to_wks
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 21
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      hdrtoken_index_to_wks(int wks_idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:165,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: hdrtoken_index_to_length
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 5
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_index_to_length(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:172,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: hdrtoken_index_to_token_type
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 0
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: HdrTokenType
    signature: HdrTokenType hdrtoken_index_to_token_type(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:179,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: hdrtoken_index_to_slotid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 3
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_index_to_slotid(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:186,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: hdrtoken_index_to_mask
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 1
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hdrtoken_index_to_mask(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:193,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: hdrtoken_index_to_flags
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 1
    functionsReached:
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: HdrTokenInfoFlags
    signature: HdrTokenInfoFlags hdrtoken_index_to_flags(int wks_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:200,1
    - Dst: hdrtoken_is_valid_wks_idx
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:200,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:201,1
    - Dst: hdrtoken_index_to_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: hdrtoken_index_to_prefix
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 1
    functionsReached:
    - hdrtoken_index_to_wks
    - hdrtoken_wks_to_prefix
    - hdrtoken_is_valid_wks_idx
    - ink_assert
    linkageType: ''
    returnType: HdrTokenHeapPrefix
    signature: 'HdrTokenHeapPrefix *

      hdrtoken_index_to_prefix(int wks_idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:210,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:210,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: hdrtoken_wks_to_index
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 6
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_wks_to_index(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:217,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:217,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: hdrtoken_wks_to_length
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 2
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_wks_to_length(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:224,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:224,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: hdrtoken_wks_to_token_type
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 2
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: HdrTokenType
    signature: HdrTokenType hdrtoken_wks_to_token_type(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:231,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:231,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: hdrtoken_wks_to_slotid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 0
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int hdrtoken_wks_to_slotid(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:238,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:238,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: hdrtoken_wks_to_mask
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 1
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hdrtoken_wks_to_mask(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:246,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:246,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HdrToken.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: hdrtoken_wks_to_flags
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 1
    functionsReached:
    - hdrtoken_is_wks
    - hdrtoken_wks_to_prefix
    - ink_assert
    linkageType: ''
    returnType: HdrTokenInfoFlags
    signature: HdrTokenInfoFlags hdrtoken_wks_to_flags(const char *wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: TOK_64_CONST
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrToken.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOK_64_CONST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: HTTPHdr::HTTPHdr
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPHdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - m
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 633
    functionName: HTTPHdr::HTTPHdr
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPHdr(const HTTPHdr &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - m
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: '&operator=(const HTTPHdr &m)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPHdr
    signature: HTTPHdr &operator=(const HTTPHdr &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: HTTPHdr::valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::valid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:658,1
    - Dst: http_hdr_create
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - polarity
    - version
    - heap
    argTypes:
    - HTTPType
    - HTTPVersion
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: HTTPHdr::create
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 14
    functionsReached:
    - new_HdrHeap
    - http_hdr_create
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::create(HTTPType polarity, HTTPVersion version, HdrHeap
      *heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::clear
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:669,1
    - Dst: HTTPHdr::HdrHeapSDKHandle::clear
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: HTTPHdr::clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - HTTPHdr::clear
    - HTTPHdr::HdrHeapSDKHandle::clear
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::reset
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: HTTPHdr::reset
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr::reset
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:691,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:691,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:693,1
    - Dst: http_hdr_copy_onto
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:694,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:696,1
    - Dst: http_hdr_clone
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 700
    functionName: HTTPHdr::copy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 4
    functionsReached:
    - new_HdrHeap
    - http_hdr_copy_onto
    - HTTPHdr*::valid
    - http_hdr_clone
    - HTTPHdr::valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::copy(const HTTPHdr *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:708,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:708,1
    - Dst: HTTPHdr*::type_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:714,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:714,1
    - Dst: HTTPHdr::copy_shallow
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 716
    functionName: HTTPHdr::copy_shallow
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr*::type_get
    - HTTPHdr*::valid
    - HTTPHdr::copy_shallow
    - HTTPHdr::valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::copy_shallow(const HTTPHdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:724,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:724,1
    - Dst: http_hdr_print
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - bufsize
    - bufindex
    - dumpoffset
    argTypes:
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 4
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: HTTPHdr::print
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 4
    functionsReached:
    - http_hdr_print
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::print(char *buf, int bufsize, int *bufindex, int *dumpoffset)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_fill_target_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: HTTPHdr::_test_and_fill_target_cache
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr::_fill_target_cache
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::_test_and_fill_target_cache() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_test_and_fill_target_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:744,1
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:746,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: HTTPHdr::host_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 4
    functionsReached:
    - HTTPHdr::_test_and_fill_target_cache
    - static_cast<std::string_view::size_type>
    - HTTPHdr::url_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::host_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_test_and_fill_target_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 762
    functionName: HTTPHdr::port_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr::_test_and_fill_target_cache
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::port_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_test_and_fill_target_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 772
    functionName: HTTPHdr::is_target_in_url
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr::_test_and_fill_target_cache
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_target_in_url() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::_test_and_fill_target_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: HTTPHdr::is_port_in_header
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - HTTPHdr::_test_and_fill_target_cache
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_port_in_header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: HTTPHdr::mark_target_dirty
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::mark_target_dirty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hh
    argTypes:
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: http_hdr_type_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: HTTPType
    signature: HTTPType http_hdr_type_get(HTTPHdrImpl *hh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:807,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:807,1
    - Dst: http_hdr_type_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: HTTPHdr::type_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached:
    - http_hdr_type_get
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: HTTPType
    signature: HTTPType HTTPHdr::type_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:817,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 819
    functionName: HTTPHdr::version_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached:
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: HTTPVersion
    signature: HTTPVersion HTTPHdr::version_get() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get_index
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:838,1
    - Dst: MIMEField*::value_get_index
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - http_version
    - con_hdr
    argTypes:
    - HTTPVersion
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 858
    functionName: is_header_keep_alive
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_get_index
    linkageType: ''
    returnType: HTTPKeepAlive
    signature: HTTPKeepAlive is_header_keep_alive(const HTTPVersion &http_version,
      const MIMEField *con_hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:864,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:864,1
    - Dst: is_header_keep_alive
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:866,1
    - Dst: HTTPHdr::version_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:866,1
    - Dst: HTTPHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:868,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:868,1
    - Dst: is_header_keep_alive
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:869,1
    - Dst: HTTPHdr::version_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 872
    functionName: HTTPHdr::keep_alive_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - HTTPHdr::version_get
    - is_header_keep_alive
    - HTTPHdr::field_find
    linkageType: ''
    returnType: HTTPKeepAlive
    signature: HTTPKeepAlive HTTPHdr::keep_alive_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::keep_alive_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: HTTPHdr::is_keep_alive_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - HTTPHdr::keep_alive_get
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_keep_alive_set() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::status_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 896
    functionName: HTTPHdr::expect_final_response
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - HTTPHdr::status_get
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::expect_final_response() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:904,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:904,1
    - Dst: http_hdr_version_set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - version
    argTypes:
    - HTTPVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: HTTPHdr::version_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached:
    - http_hdr_version_set
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::version_set(HTTPVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:914,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:914,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:915,1
    - Dst: http_hdr_method_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: HTTPHdr::method_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - http_hdr_method_get
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::method_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:923,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:923,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 927
    functionName: HTTPHdr::method_get_wksidx
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: int
    signature: int HTTPHdr::method_get_wksidx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:935,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:935,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:936,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:938,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:938,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:938,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:938,1
    - Dst: http_hdr_method_set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 940
    functionName: HTTPHdr::method_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - std::string_view::length
    - HTTPHdr::valid
    - http_hdr_method_set
    - hdrtoken_tokenize
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::method_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:948,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:948,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:949,1
    - Dst: URL*::set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:951,1
    - Dst: URL*::create
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: HTTPHdr::url_create
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - URL*::set
    - URL*::create
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: URL
    signature: 'URL *

      HTTPHdr::url_create(URL *u)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:962,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:962,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:963,1
    - Dst: set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:971,1
    - Dst: HTTPHdr::mark_target_dirty
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 976
    functionName: HTTPHdr::url_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 4
    functionsReached:
    - set
    - HTTPHdr::mark_target_dirty
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: URL
    signature: 'URL *

      HTTPHdr::url_get() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:984,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:984,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:985,1
    - Dst: URL*::set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 990
    functionName: HTTPHdr::url_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 4
    functionsReached:
    - URL*::set
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: URL
    signature: 'URL *

      HTTPHdr::url_get(URL *url)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:998,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:998,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:999,1
    - Dst: url_copy_onto
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1003
    functionName: HTTPHdr::url_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - url_copy_onto
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::url_set(URL *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1013,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1013,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1014,1
    - Dst: url_clear
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1017,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1018,1
    - Dst: url_parse
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1019,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1008
    functionDepth: 5
    functionLinenumber: 1008
    functionLinenumberEnd: 1020
    functionName: HTTPHdr::url_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - url_parse
    - std::string_view::length
    - url_clear
    - HTTPHdr::valid
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::url_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hh
    argTypes:
    - HTTPHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1030
    functionName: http_hdr_status_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: HTTPStatus
    signature: HTTPStatus http_hdr_status_get(HTTPHdrImpl const *hh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1038,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1038,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1041,1
    - Dst: http_hdr_status_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1046
    functionName: HTTPHdr::status_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 3
    functionsReached:
    - http_hdr_status_get
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: HTTPStatus
    signature: HTTPStatus HTTPHdr::status_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1054,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1054,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1055,1
    - Dst: http_hdr_status_set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    functionName: HTTPHdr::status_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - http_hdr_status_set
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::status_set(HTTPStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1066,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1066,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1067,1
    - Dst: http_hdr_reason_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1070
    functionName: HTTPHdr::reason_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - http_hdr_reason_get
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::reason_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1078,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1078,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1079,1
    - Dst: http_hdr_reason_set
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: HTTPHdr::reason_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - http_hdr_reason_set
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::reason_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1090,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: HTTPHdr::mark_early_data
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: void
    signature: void HTTPHdr::mark_early_data(bool flag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1100,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1102
    functionName: HTTPHdr::is_early_data
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_early_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1111,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1111,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1112,1
    - Dst: http_parser_parse_req
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - parser
    - start
    - end
    - eof
    - strict_uri_parsing
    - max_request_line_size
    - max_hdr_field_size
    argTypes:
    - HTTPParser*
    - char**
    - char*
    - bool
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1107
    functionDepth: 3
    functionLinenumber: 1107
    functionLinenumberEnd: 1116
    functionName: HTTPHdr::parse_req
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 11
    functionsReached:
    - http_parser_parse_req
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult HTTPHdr::parse_req(HTTPParser *parser, const char **start,
      const char *end, bool eof, int strict_uri_parsing,\n                   size_t
      max_request_line_size, size_t max_hdr_field_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1124,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1124,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1125,1
    - Dst: http_parser_parse_resp
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - parser
    - start
    - end
    - eof
    argTypes:
    - HTTPParser*
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    functionName: HTTPHdr::parse_resp
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 6
    functionsReached:
    - http_parser_parse_resp
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult HTTPHdr::parse_resp(HTTPParser *parser, const char **start,
      const char *end, bool eof)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1136,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1136,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1137,1
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1137,1
    - Dst: hdrtoken_wks_to_prefix
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1139,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1140,1
    - Dst: get_cooked_cc_mask
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cc_directive_wks
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1147
    functionName: HTTPHdr::is_cache_control_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - hdrtoken_wks_to_prefix
    - get_cooked_cc_mask
    - hdrtoken_is_wks
    - HTTPHdr::valid
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_cache_control_set(const char *cc_directive_wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1155,1
    - Dst: HTTPHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1155,1
    - Dst: get_cooked_pragma_no_cache
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1157
    functionName: HTTPHdr::is_pragma_no_cache_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - get_cooked_pragma_no_cache
    - ink_assert
    - HTTPHdr::valid
    linkageType: ''
    returnType: bool
    signature: bool HTTPHdr::is_pragma_no_cache_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_string_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1163
    functionName: HTTPHdr::url_string_get_ref
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - HTTPHdr::url_string_get
    linkageType: ''
    returnType: char
    signature: 'char *

      HTTPHdr::url_string_get_ref(int *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1168,1
    - Dst: URL*::path_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1173
    functionName: HTTPHdr::path_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - URL*::path_get
    - HTTPHdr::url_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::path_get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1178,1
    - Dst: URL*::query_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1183
    functionName: HTTPHdr::query_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - URL*::query_get
    - HTTPHdr::url_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::query_get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1188,1
    - Dst: URL*::fragment_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: HTTPHdr::fragment_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - URL*::fragment_get
    - HTTPHdr::url_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::fragment_get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1198,1
    - Dst: URL*::scheme_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1203
    functionName: HTTPHdr::scheme_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - URL*::scheme_get
    - HTTPHdr::url_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view HTTPHdr::scheme_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1276
    functionName: HTTPInfo::HTTPInfo
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1277
    functionName: ~HTTPInfo()
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~HTTPInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1282
    functionName: HTTPInfo::clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1287
    functionName: HTTPInfo::valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - HTTPInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1297
    functionName: HTTPInfo::copy_shallow
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_shallow(HTTPInfo *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1312
    functionName: HTTPInfo::id_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t id_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: HTTPInfo::rid_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rid_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1323
    functionName: HTTPInfo::id_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void id_set(int32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1328
    functionName: HTTPInfo::rid_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rid_set(int32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::copy_shallow
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: HTTPInfo::request_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - HTTPHdr*::copy_shallow
    linkageType: ''
    returnType: void
    signature: void request_get(HTTPHdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::copy_shallow
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: HTTPInfo::response_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - HTTPHdr*::copy_shallow
    linkageType: ''
    returnType: void
    signature: void response_get(HTTPHdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1350
    functionName: HTTPInfo::request_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HTTPHdr
    signature: "HTTPHdr *\n  request_get()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1355
    functionName: HTTPInfo::response_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPHdr
    signature: "HTTPHdr *\n  response_get()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_request_hdr::url_get
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    functionName: HTTPInfo::request_url_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - m_request_hdr::url_get
    linkageType: ''
    returnType: URL
    signature: "URL *\n  request_url_get(URL *url = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1367
    functionName: HTTPInfo::request_sent_time_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t request_sent_time_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1372
    functionName: HTTPInfo::response_received_time_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t response_received_time_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_request_hdr::copy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: HTTPInfo::request_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - m_request_hdr::copy
    linkageType: ''
    returnType: void
    signature: void request_set(const HTTPHdr *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_response_hdr::copy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: HTTPInfo::response_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 1
    functionsReached:
    - m_response_hdr::copy
    linkageType: ''
    returnType: void
    signature: void response_set(const HTTPHdr *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1392
    functionName: HTTPInfo::request_sent_time_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void request_sent_time_set(time_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1397
    functionName: HTTPInfo::response_received_time_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void response_received_time_set(time_t t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTTPInfo::destroy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1420,1
    - Dst: m_ext_buffer::refcount_dec
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1422,1
    - Dst: m_ext_buffer::free
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1423,1
    - Dst: HTTPInfo::clear
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1428
    functionName: HTTPInfo::destroy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 2
    functionsReached:
    - HTTPInfo::clear
    - m_ext_buffer::refcount_dec
    - m_ext_buffer::free
    - HTTPInfo::destroy
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - HTTPInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1435
    functionName: '&

      HTTPInfo::operator=(const HTTPInfo &m)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPInfo
    signature: 'HTTPInfo &

      HTTPInfo::operator=(const HTTPInfo &m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1441,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1446
    functionName: HTTPInfo::object_key_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<int32_t *>
    linkageType: ''
    returnType: CryptoHash
    signature: CryptoHash HTTPInfo::object_key_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1451,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1453
    functionName: HTTPInfo::object_key_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<int32_t *>
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::object_key_get(CryptoHash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t const *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1458,1
    - Dst: memcmp
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1460
    functionName: HTTPInfo::compare_object_key
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - memcmp
    - reinterpret_cast<int32_t const *>
    linkageType: ''
    returnType: bool
    signature: bool HTTPInfo::compare_object_key(const CryptoHash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1471
    functionName: HTTPInfo::object_size_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<int32_t *>
    linkageType: ''
    returnType: int64_t
    signature: int64_t HTTPInfo::object_size_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1476,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1478
    functionName: HTTPInfo::object_key_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<int32_t *>
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::object_key_set(CryptoHash &hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/include/proxy/hdrs/HTTP.h:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    functionName: HTTPInfo::object_size_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<int32_t *>
    linkageType: ''
    returnType: void
    signature: void HTTPInfo::object_size_set(int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1492
    functionName: HTTPInfo::get_frag_table
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPInfo::FragOffset
    signature: 'HTTPInfo::FragOffset *

      HTTPInfo::get_frag_table()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: HTTPInfo::get_frag_offset_count
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HTTP.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HTTPInfo::get_frag_offset_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpandCapacityContext::_storage::_start_expanding_capacity
      Src: /src/trafficserver/include/proxy/hdrs/XPACK.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - storage
    - new_max_size
    argTypes:
    - XpackDynamicTableStorage
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: ExpandCapacityContext::ExpandCapacityContext
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached:
    - ExpandCapacityContext::_storage::_start_expanding_capacity
    linkageType: ''
    returnType: void
    signature: void ExpandCapacityContext(XpackDynamicTableStorage &storage, uint32_t
      new_max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _storage::_finish_expanding_capacity
      Src: /src/trafficserver/include/proxy/hdrs/XPACK.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~ExpandCapacityContext()
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached:
    - _storage::_finish_expanding_capacity
    linkageType: ''
    returnType: void
    signature: void ~ExpandCapacityContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: ExpandCapacityContext::ExpandCapacityContext
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExpandCapacityContext(const ExpandCapacityContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '&operator=(const ExpandCapacityContext &)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ExpandCapacityContext
    signature: ExpandCapacityContext &operator=(const ExpandCapacityContext &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ExpandCapacityContext::ExpandCapacityContext
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExpandCapacityContext(ExpandCapacityContext &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: '&operator=(ExpandCapacityContext &&)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ExpandCapacityContext
    signature: ExpandCapacityContext &operator=(ExpandCapacityContext &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ExpandCapacityContext::ok_to_expand
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/XPACK.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok_to_expand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: obj_is_aligned
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_is_aligned(HdrHeapObjImpl *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: obj_clear_data
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void obj_clear_data(HdrHeapObjImpl *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:96,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s_obj
    - d_obj
    argTypes:
    - HdrHeapObjImpl*
    - HdrHeapObjImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: obj_copy_data
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached:
    - memcpy
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void obj_copy_data(HdrHeapObjImpl *s_obj, HdrHeapObjImpl *d_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_obj
    - d_addr
    argTypes:
    - HdrHeapObjImpl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: obj_copy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void obj_copy(HdrHeapObjImpl *s_obj, char *d_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - obj
    - type
    - nbytes
    - obj_flags
    argTypes:
    - HdrHeapObjImpl*
    - HdrHeapObjType
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: obj_init_header
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 3
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void obj_init_header(HdrHeapObjImpl *obj, HdrHeapObjType type, uint32_t
      nbytes, uint32_t obj_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: HdrStrHeap::space_avail
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t space_avail() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: HdrStrHeap::total_size
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - total_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: HdrStrHeap::HdrStrHeap
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrStrHeap(uint32_t total_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:157,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: HdrStrHeap::contains
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char const *>
    linkageType: ''
    returnType: bool
    signature: bool HdrStrHeap::contains(const char *str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: StrHeapDesc
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrHeapDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(const char *str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: HdrHeap::lock_ronly_str_heap
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock_ronly_str_heap(unsigned i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: HdrHeap::unlock_ronly_str_heap
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlock_ronly_str_heap(unsigned i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:246,1
    - Dst: HdrHeap::allocate_str
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:248,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:250,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: HdrHeap::localize
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::string_view::length
    - std::string_view::data
    - HdrHeap::allocate_str
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view localize(const std::string_view &string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeap*::m_read_write_heap::contains
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:305,1
    - Dst: HdrHeap*::m_read_write_heap::get
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:306,1
    - Dst: contains
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - heap
    - str
    argTypes:
    - HdrHeap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: HdrHeap::HeapGuard::HeapGuard
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached:
    - HdrHeap*::m_read_write_heap::contains
    - contains
    - HdrHeap*::m_read_write_heap::get
    linkageType: ''
    returnType: void
    signature: void HeapGuard(HdrHeap *heap, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: HdrHeap::free_string
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrHeap::free_string(const char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: HdrHeap::unmarshal_size
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HdrHeap::unmarshal_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: MarshalXlate
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarshalXlate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - table
    - ','
    - nentries
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 377
    functionName: HDR_MARSHAL_STR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_MARSHAL_STR(ptr, table, nentries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: HDR_MARSHAL_STR_1
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_MARSHAL_STR_1(ptr, table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - table
    - ','
    - nentries
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 407
    functionName: HDR_MARSHAL_PTR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_MARSHAL_PTR(ptr, type, table, nentries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: HDR_MARSHAL_PTR_1
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_MARSHAL_PTR_1(ptr, type, table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: HDR_UNMARSHAL_STR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_UNMARSHAL_STR(ptr, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: HDR_UNMARSHAL_PTR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_UNMARSHAL_PTR(ptr, type, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: HDR_MOVE_STR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR_MOVE_STR(str, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - len
    - ','
    - _heaps
    - ','
    - _num_heaps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: CHECK_STR
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_STR(str, len, _heaps, _num_heaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: HdrHeapSDKHandle
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrHeapSDKHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: ~HdrHeapSDKHandle()
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~HdrHeapSDKHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - HdrHeapSDKHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: HdrHeapSDKHandle
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrHeapSDKHandle(const HdrHeapSDKHandle &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - HdrHeapSDKHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: '&operator=(const HdrHeapSDKHandle &r)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HdrHeapSDKHandle
    signature: HdrHeapSDKHandle &operator=(const HdrHeapSDKHandle &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeapSDKHandle::destroy
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:492,1
    - Dst: HdrHeapSDKHandle::clear
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: HdrHeapSDKHandle::destroy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 1
    functionsReached:
    - HdrHeapSDKHandle::destroy
    - HdrHeapSDKHandle::clear
    linkageType: ''
    returnType: void
    signature: void HdrHeapSDKHandle::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: HdrHeapSDKHandle::clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrHeapSDKHandle::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeapSDKHandle::clear
      Src: /src/trafficserver/include/proxy/hdrs/HdrHeap.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - from
    argTypes:
    - HdrHeapSDKHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: HdrHeapSDKHandle::set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrHeap.h
    functionUses: 0
    functionsReached:
    - HdrHeapSDKHandle::clear
    linkageType: ''
    returnType: void
    signature: void HdrHeapSDKHandle::set(const HdrHeapSDKHandle *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/include/proxy/hdrs/HttpCompat.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - comma_list_str
    argTypes:
    - StrList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: HttpCompat::parse_comma_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HttpCompat.h
    functionUses: 5
    functionsReached:
    - HttpCompat::parse_tok_list
    linkageType: ''
    returnType: void
    signature: void parse_comma_list(StrList *list, const char *comma_list_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/include/proxy/hdrs/HttpCompat.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - comma_list_str
    - comma_list_len
    argTypes:
    - StrList*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: HttpCompat::parse_comma_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HttpCompat.h
    functionUses: 5
    functionsReached:
    - HttpCompat::parse_tok_list
    linkageType: ''
    returnType: void
    signature: void parse_comma_list(StrList *list, const char *comma_list_str, int
      comma_list_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/include/proxy/hdrs/HttpCompat.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - comma_list_str
    argTypes:
    - StrList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: HttpCompat::parse_semicolon_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HttpCompat.h
    functionUses: 8
    functionsReached:
    - HttpCompat::parse_tok_list
    linkageType: ''
    returnType: void
    signature: void parse_semicolon_list(StrList *list, const char *comma_list_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCompat::parse_tok_list
      Src: /src/trafficserver/include/proxy/hdrs/HttpCompat.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - comma_list_str
    - comma_list_len
    argTypes:
    - StrList*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: HttpCompat::parse_semicolon_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HttpCompat.h
    functionUses: 8
    functionsReached:
    - HttpCompat::parse_tok_list
    linkageType: ''
    returnType: void
    signature: void parse_semicolon_list(StrList *list, const char *comma_list_str,
      int comma_list_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: is_dup_head
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dup_head() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: is_cooked
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cooked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: is_live
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_live() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: is_detached
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_detached() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_index_to_flags
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: supports_commas
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 4
    functionsReached:
    - hdrtoken_index_to_flags
    linkageType: ''
    returnType: bool
    signature: bool supports_commas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: iterator::iterator
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator::step
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block
    - slot
    argTypes:
    - MIMEFieldBlockImpl*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: iterator::iterator
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached:
    - iterator::step
    linkageType: ''
    returnType: void
    signature: void iterator(MIMEFieldBlockImpl *block, unsigned slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: MIMEHdrImpl::begin
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::begin() -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: MIMEHdrImpl::end
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::end() -> iterator
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_live
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: MIMEHdrImpl::iterator::step() -> self_type &
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - is_live
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::iterator::step() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: MIMEHdrImpl::iterator::operator*() -> reference
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::iterator::operator*() -> reference
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: MIMEHdrImpl::iterator::operator->() -> pointer
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::iterator::operator->() -> pointer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: MIMEHdrImpl::iterator::operator==(const self_type &that) const
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MIMEHdrImpl::iterator::operator==(const self_type &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: MIMEHdrImpl::iterator::operator!=(const self_type &that) const
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MIMEHdrImpl::iterator::operator!=(const self_type &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdrImpl::iterator::step
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: MIMEHdrImpl::iterator::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdrImpl::iterator::step
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::iterator::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: MIMEHdrImpl::iterator::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdrImpl::iterator::operator++(int) -> self_type
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: MIMEScanner::get_buffered_line_size
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t MIMEScanner::get_buffered_line_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: MIMEScanner::clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void MIMEScanner::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdrtoken_is_wks
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:842,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:842,1
    - Dst: hdrtoken_wks_to_index
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:843,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:843,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:844,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:846,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:846,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:846,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:846,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:847,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - mh
    - name
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 850
    functionName: MIMEField::name_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::length
    - std::string_view::data
    - hdrtoken_is_wks
    - mime_field_name_set
    - hdrtoken_tokenize
    - hdrtoken_wks_to_index
    linkageType: ''
    returnType: void
    signature: void MIMEField::name_set(HdrHeap *heap, MIMEHdrImpl *mh, std::string_view
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField::name_get
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:858,1
    - Dst: ParseRules::is_type
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - invalid_char_bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 865
    functionName: MIMEField::name_is_valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - ParseRules::is_type
    - MIMEField::name_get
    linkageType: ''
    returnType: bool
    signature: bool MIMEField::name_is_valid(uint32_t invalid_char_bits) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_get_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: MIMEField::value_get_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEField::value_get_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_get_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 880
    functionName: MIMEField::value_get_uint
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_uint
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MIMEField::value_get_uint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_get_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 886
    functionName: MIMEField::value_get_int64
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_int64
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIMEField::value_get_int64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: MIMEField::value_get_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEField::value_get_date() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_get_comma_list
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: MIMEField::value_get_comma_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_comma_list
    linkageType: ''
    returnType: int
    signature: int MIMEField::value_get_comma_list(StrList *list) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - heap
    - mh
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: MIMEField::value_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_set
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_set(HdrHeap *heap, MIMEHdrImpl *mh, std::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_set_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - heap
    - mh
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: MIMEField::value_set_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_set_int
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_set_int(HdrHeap *heap, MIMEHdrImpl *mh, int32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_set_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - heap
    - mh
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 919
    functionName: MIMEField::value_set_uint
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_set_uint
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_set_uint(HdrHeap *heap, MIMEHdrImpl *mh, uint32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_set_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - heap
    - mh
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: MIMEField::value_set_int64
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_set_int64
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_set_int64(HdrHeap *heap, MIMEHdrImpl *mh, int64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - heap
    - mh
    - value
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 931
    functionName: MIMEField::value_set_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_set_date
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_set_date(HdrHeap *heap, MIMEHdrImpl *mh, time_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - heap
    - mh
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: MIMEField::value_clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField::value_set
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_clear(HdrHeap *heap, MIMEHdrImpl *mh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_value_append
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - heap
    - mh
    - value
    - prepend_comma
    - separator
    argTypes:
    - HdrHeap*
    - MIMEHdrImpl*
    - std::string_view
    - bool
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 949
    functionName: MIMEField::value_append
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_append
    linkageType: ''
    returnType: void
    signature: void MIMEField::value_append(HdrHeap *heap, MIMEHdrImpl *mh, std::string_view
      value, bool prepend_comma, const char separator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField::value_get
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:957,1
    - Dst: ParseRules::is_type
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - invalid_char_bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 964
    functionName: MIMEField::value_is_valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - ParseRules::is_type
    - MIMEField::value_get
    linkageType: ''
    returnType: bool
    signature: bool MIMEField::value_is_valid(uint32_t invalid_char_bits) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 970
    functionName: MIMEField::has_dups
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MIMEField::has_dups() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 979
    functionName: MIMEFieldIter
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEFieldIter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: MIMEHdr::MIMEHdr
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEHdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - m
    argTypes:
    - MIMEHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1103
    functionName: MIMEHdr::MIMEHdr
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEHdr(const MIMEHdr &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - m
    argTypes:
    - MIMEHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: '&operator=(const MIMEHdr &m)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MIMEHdr
    signature: MIMEHdr &operator=(const MIMEHdr &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: MIMEHdr::valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::valid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1131,1
    - Dst: mime_hdr_create
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1135
    functionName: MIMEHdr::create
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - mime_hdr_create
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::create(HdrHeap *heap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::valid
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1143,1
    - Dst: mime_hdr_copy_onto
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1144,1
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1146,1
    - Dst: mime_hdr_clone
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src_hdr
    argTypes:
    - MIMEHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1149
    functionName: MIMEHdr::copy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - mime_hdr_copy_onto
    - MIMEHdr::valid
    - mime_hdr_clone
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::copy(const MIMEHdr *src_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_length_get
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1158
    functionName: MIMEHdr::length_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_length_get
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::length_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_fields_clear
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: MIMEHdr::fields_clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_fields_clear
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::fields_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_fields_count
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: MIMEHdr::fields_count
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_fields_count
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::fields_count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_field_create
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1184,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1186,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1187,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1187,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1188,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1188,1
    - Dst: mime_field_name_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1181
    functionDepth: 3
    functionLinenumber: 1181
    functionLinenumberEnd: 1193
    functionName: MIMEHdr::field_create
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_create
    - static_cast<int>
    - std::string_view::length
    - std::string_view::empty
    - mime_field_name_set
    - hdrtoken_tokenize
    - std::string_view::data
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      MIMEHdr::field_create(std::string_view name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1198
    functionDepth: 3
    functionLinenumber: 1198
    functionLinenumberEnd: 1203
    functionName: MIMEHdr::field_find
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached:
    - mime_hdr_field_find
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      MIMEHdr::field_find(std::string_view name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1209,1
    - Dst: const_cast<MIMEHdr *>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1211
    functionName: MIMEHdr::field_find
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached:
    - mime_hdr_field_find
    - const_cast<MIMEHdr *>
    linkageType: ''
    returnType: MIMEField
    signature: 'MIMEField *

      MIMEHdr::field_find(std::string_view name) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_attach
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 5
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: MIMEHdr::field_attach
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_field_attach
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_attach(MIMEField *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_detach
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - detach_all_dups
    argTypes:
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1225
    functionDepth: 5
    functionLinenumber: 1225
    functionLinenumberEnd: 1229
    functionName: MIMEHdr::field_detach
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_field_detach
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_detach(MIMEField *field, bool detach_all_dups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_field_delete
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - delete_all_dups
    argTypes:
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1234
    functionDepth: 6
    functionLinenumber: 1234
    functionLinenumberEnd: 1238
    functionName: MIMEHdr::field_delete
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_field_delete
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_delete(MIMEField *field, bool delete_all_dups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::begin
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1243,1
    - Dst: iterator
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: MIMEHdr::begin
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 2
    functionsReached:
    - iterator
    - MIMEHdr::begin
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdr::begin() const -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: MIMEHdr::end
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MIMEHdr::end() const -> iterator
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1255,1
    - Dst: MIMEHdr::field_delete
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1252
    functionDepth: 4
    functionLinenumber: 1252
    functionLinenumberEnd: 1258
    functionName: MIMEHdr::field_delete
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached:
    - MIMEHdr::field_find
    - MIMEHdr::field_delete
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_delete(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: MIMEHdr::presence
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MIMEHdr::presence(uint64_t mask) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_print
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - bufindex
    - chars_to_skip
    argTypes:
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1276
    functionName: MIMEHdr::print
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_print
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::print(char *buf, int bufsize, int *bufindex, int *chars_to_skip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1286,1
    - Dst: mime_hdr_create
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1289,1
    - Dst: mime_parser_parse
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - parser
    - start
    - end
    - must_copy_strs
    - eof
    - remove_ws_from_field_name
    - max_hdr_field_size
    argTypes:
    - MIMEParser*
    - char**
    - char*
    - bool
    - bool
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1292
    functionName: MIMEHdr::parse
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - new_HdrHeap
    - mime_hdr_create
    - mime_parser_parse
    linkageType: ''
    returnType: ParseResult
    signature: "ParseResult MIMEHdr::parse(MIMEParser *parser, const char **start,
      const char *end, bool must_copy_strs, bool eof,\n               bool remove_ws_from_field_name,
      size_t max_hdr_field_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1299,1
    - Dst: MIMEField*::value_get_index
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1305
    functionName: MIMEHdr::value_get_index
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_get_index
    - MIMEHdr::field_find
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::value_get_index(std::string_view name, std::string_view
      value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1313,1
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1310
    functionDepth: 4
    functionLinenumber: 1310
    functionLinenumberEnd: 1319
    functionName: MIMEHdr::value_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_find
    - MIMEField*::value_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view MIMEHdr::value_get(std::string_view name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1324,1
    - Dst: mime_field_value_get_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: MIMEHdr::value_get_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_field_value_get_int
    - MIMEHdr::field_find
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::value_get_int(std::string_view name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1335,1
    - Dst: mime_field_value_get_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1332
    functionDepth: 4
    functionLinenumber: 1332
    functionLinenumberEnd: 1341
    functionName: MIMEHdr::value_get_uint
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_find
    - mime_field_value_get_uint
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MIMEHdr::value_get_uint(std::string_view name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1346,1
    - Dst: mime_field_value_get_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1343
    functionDepth: 4
    functionLinenumber: 1343
    functionLinenumberEnd: 1352
    functionName: MIMEHdr::value_get_int64
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_find
    - mime_field_value_get_int64
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIMEHdr::value_get_int64(std::string_view name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1357,1
    - Dst: mime_field_value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1354
    functionDepth: 4
    functionLinenumber: 1354
    functionLinenumberEnd: 1363
    functionName: MIMEHdr::value_get_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_find
    - mime_field_value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::value_get_date(std::string_view name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1368,1
    - Dst: MIMEField*::value_get_comma_list
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - list
    argTypes:
    - std::string_view
    - StrList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1365
    functionDepth: 4
    functionLinenumber: 1365
    functionLinenumberEnd: 1374
    functionName: MIMEHdr::value_get_comma_list
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_get_comma_list
    - MIMEHdr::field_find
    linkageType: ''
    returnType: int
    signature: int MIMEHdr::value_get_comma_list(std::string_view name, StrList *list)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1382,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1382,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1384,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - field
    - value
    argTypes:
    - MIMEField*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1389
    functionName: MIMEHdr::field_value_replace
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - memcpy
    - std::string_view::length
    - static_cast<uint32_t>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool MIMEHdr::field_value_replace(MIMEField *field, std::string_view
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_value_replace
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1394,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - field
    - value
    - reuse_heaps
    argTypes:
    - MIMEField*
    - std::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1397
    functionName: MIMEHdr::field_value_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_value_replace
    - MIMEField*::value_set
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_set(MIMEField *field, std::string_view value,
      bool reuse_heaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_set_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - value
    argTypes:
    - MIMEField*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1403
    functionName: MIMEHdr::field_value_set_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set_int
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_set_int(MIMEField *field, int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_set_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - value
    argTypes:
    - MIMEField*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: MIMEHdr::field_value_set_uint
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set_uint
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_set_uint(MIMEField *field, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_set_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - value
    argTypes:
    - MIMEField*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1415
    functionName: MIMEHdr::field_value_set_int64
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set_int64
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_set_int64(MIMEField *field, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - value
    argTypes:
    - MIMEField*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1421
    functionName: MIMEHdr::field_value_set_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set_date
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_set_date(MIMEField *field, time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - field
    - value
    - prepend_comma
    - separator
    argTypes:
    - MIMEField*
    - std::string_view
    - bool
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1430
    functionName: MIMEHdr::field_value_append
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_append
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_value_append(MIMEField *field, std::string_view
      value, bool prepend_comma, const char separator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEField*::value_get
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1438,1
    - Dst: auto::length
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1439,1
    - Dst: auto::data
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1440,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1441,1
    - Dst: MIMEHdr::field_delete
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - prepend_comma
    - separator
    argTypes:
    - MIMEField*
    - bool
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1432
    functionDepth: 7
    functionLinenumber: 1432
    functionLinenumberEnd: 1446
    functionName: MIMEHdr::field_combine_dups
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - auto::length
    - MIMEField*::value_append
    - MIMEField*::value_get
    - auto::data
    - MIMEHdr::field_delete
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::field_combine_dups(MIMEField *field, bool prepend_comma,
      const char separator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1453,1
    - Dst: MIMEHdr::field_value_append
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1457,1
    - Dst: MIMEHdr::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1461
    functionName: MIMEHdr::value_append_or_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::field_find
    - MIMEHdr::field_value_append
    - MIMEHdr::value_set
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_append_or_set(std::string_view name, std::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_prepare_for_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1470,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1466
    functionDepth: 7
    functionLinenumber: 1466
    functionLinenumberEnd: 1472
    functionName: MIMEHdr::value_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 1
    functionsReached:
    - MIMEField*::value_set
    - mime_hdr_prepare_for_value_set
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_set(std::string_view name, std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_prepare_for_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1478,1
    - Dst: MIMEField*::value_set_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 7
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: MIMEHdr::value_set_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_set_int
    - mime_hdr_prepare_for_value_set
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_set_int(std::string_view name, int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_prepare_for_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1486,1
    - Dst: MIMEField*::value_set_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1482
    functionDepth: 7
    functionLinenumber: 1482
    functionLinenumberEnd: 1488
    functionName: MIMEHdr::value_set_uint
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_prepare_for_value_set
    - MIMEField*::value_set_uint
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_set_uint(std::string_view name, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_prepare_for_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1494,1
    - Dst: MIMEField*::value_set_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1490
    functionDepth: 7
    functionLinenumber: 1490
    functionLinenumberEnd: 1496
    functionName: MIMEHdr::value_set_int64
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_prepare_for_value_set
    - MIMEField*::value_set_int64
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_set_int64(std::string_view name, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_hdr_prepare_for_value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1502,1
    - Dst: MIMEField*::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1498
    functionDepth: 7
    functionLinenumber: 1498
    functionLinenumberEnd: 1504
    functionName: MIMEHdr::value_set_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - mime_hdr_prepare_for_value_set
    - MIMEField*::value_set_date
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_set_date(std::string_view name, time_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::field_find
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1514,1
    - Dst: MIMEField*::value_append
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1518,1
    - Dst: MIMEHdr::field_create
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1520,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1520,1
    - Dst: MIMEHdr::field_attach
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1521,1
    - Dst: MIMEField*::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - name
    - value
    - prepend_comma
    - separator
    argTypes:
    - std::string_view
    - std::string_view
    - bool
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1524
    functionName: MIMEHdr::value_append
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEField*::value_append
    - MIMEHdr::field_attach
    - MIMEHdr::field_find
    - std::string_view::empty
    - MIMEHdr::field_create
    - MIMEField*::value_set
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::value_append(std::string_view name, std::string_view
      value, bool prepend_comma, const char separator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1531,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1528
    functionDepth: 5
    functionLinenumber: 1528
    functionLinenumberEnd: 1540
    functionName: MIMEHdr::get_age
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_int64
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_age() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1548,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1545
    functionDepth: 5
    functionLinenumber: 1545
    functionLinenumberEnd: 1549
    functionName: MIMEHdr::get_content_length
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_int64
    linkageType: ''
    returnType: int64_t
    signature: int64_t MIMEHdr::get_content_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1557,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1554
    functionDepth: 5
    functionLinenumber: 1554
    functionLinenumberEnd: 1558
    functionName: MIMEHdr::get_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_date() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1566,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1563
    functionDepth: 5
    functionLinenumber: 1563
    functionLinenumberEnd: 1567
    functionName: MIMEHdr::get_expires
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_expires() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1575,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 5
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: MIMEHdr::get_if_modified_since
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_if_modified_since() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1584,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1581
    functionDepth: 5
    functionLinenumber: 1581
    functionLinenumberEnd: 1585
    functionName: MIMEHdr::get_if_unmodified_since
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_if_unmodified_since() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1593,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1590
    functionDepth: 5
    functionLinenumber: 1590
    functionLinenumberEnd: 1594
    functionName: MIMEHdr::get_last_modified
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_last_modified() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1602,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1599
    functionDepth: 5
    functionLinenumber: 1599
    functionLinenumberEnd: 1603
    functionName: MIMEHdr::get_if_range_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_date
    linkageType: ''
    returnType: time_t
    signature: time_t MIMEHdr::get_if_range_date() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_get_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1611,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1608
    functionDepth: 5
    functionLinenumber: 1608
    functionLinenumberEnd: 1612
    functionName: MIMEHdr::get_max_forwards
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - static_cast<std::string_view>
    - MIMEHdr::value_get_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_max_forwards() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1624
    functionName: MIMEHdr::get_warning
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - ink_release_assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_warning(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1633
    functionName: MIMEHdr::get_cooked_cc_mask
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MIMEHdr::get_cooked_cc_mask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1642
    functionName: MIMEHdr::get_cooked_cc_max_age
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_cooked_cc_max_age() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1651
    functionName: MIMEHdr::get_cooked_cc_s_maxage
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_cooked_cc_s_maxage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: MIMEHdr::get_cooked_cc_max_stale
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_cooked_cc_max_stale() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1669
    functionName: MIMEHdr::get_cooked_cc_min_fresh
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t MIMEHdr::get_cooked_cc_min_fresh() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1678
    functionName: MIMEHdr::get_cooked_pragma_no_cache
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MIMEHdr::get_cooked_pragma_no_cache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1687
    functionName: MIMEHdr::set_cooked_cc_need_revalidate_once
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_cooked_cc_need_revalidate_once()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1696
    functionName: MIMEHdr::unset_cooked_cc_need_revalidate_once
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::unset_cooked_cc_need_revalidate_once()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1705,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1705,1
    - Dst: MIMEHdr::value_set_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1708,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1708,1
    - Dst: MIMEHdr::value_set_uint
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1712,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1701
    functionDepth: 8
    functionLinenumber: 1701
    functionLinenumberEnd: 1715
    functionName: MIMEHdr::set_age
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_uint
    - MIMEHdr::value_set_int64
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_age(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_int64
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1723,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1720
    functionDepth: 8
    functionLinenumber: 1720
    functionLinenumberEnd: 1724
    functionName: MIMEHdr::set_content_length
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_int64
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_content_length(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1732,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1729
    functionDepth: 8
    functionLinenumber: 1729
    functionLinenumberEnd: 1733
    functionName: MIMEHdr::set_date
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_date
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_date(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1741,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 8
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: MIMEHdr::set_expires
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_date
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_expires(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1750,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1747
    functionDepth: 8
    functionLinenumber: 1747
    functionLinenumberEnd: 1751
    functionName: MIMEHdr::set_if_modified_since
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_date
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_if_modified_since(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1759,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1756
    functionDepth: 8
    functionLinenumber: 1756
    functionLinenumberEnd: 1760
    functionName: MIMEHdr::set_if_unmodified_since
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_date
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_if_unmodified_since(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_date
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1768,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1765
    functionDepth: 8
    functionLinenumber: 1765
    functionLinenumberEnd: 1769
    functionName: MIMEHdr::set_last_modified
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_date
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_last_modified(time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1777,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 8
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: MIMEHdr::set_max_forwards
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_int
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_max_forwards(int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set_int
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1786,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1783
    functionDepth: 8
    functionLinenumber: 1783
    functionLinenumberEnd: 1787
    functionName: MIMEHdr::set_warning
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set_int
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_warning(int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEHdr::value_set
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1795,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/hdrs/MIME.h:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server_id_tag
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1792
    functionDepth: 8
    functionLinenumber: 1792
    functionLinenumberEnd: 1796
    functionName: MIMEHdr::set_server
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/MIME.h
    functionUses: 0
    functionsReached:
    - MIMEHdr::value_set
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void MIMEHdr::set_server(std::string_view server_id_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: HdrCsvIter::HdrCsvIter
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrCsvIter(char s = ',')
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - MIMEField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: HdrCsvIter::field_init
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void HdrCsvIter::field_init(const MIMEField *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:132,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:133,1
    - Dst: auto::size
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:133,1
    - Dst: auto::data
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - m
    - len
    - follow_dups
    argTypes:
    - MIMEField*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: HdrCsvIter::get_first
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - auto::size
    - auto::data
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrCsvIter::get_first(const MIMEField *m, int *len, bool follow_dups)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::field_init
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:140,1
    - Dst: HdrCsvIter::find_csv
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - m
    - follow_dups
    argTypes:
    - MIMEField*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: HdrCsvIter::get_first
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 10
    functionsReached:
    - HdrCsvIter::find_csv
    - HdrCsvIter::field_init
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView HdrCsvIter::get_first(const MIMEField *m, bool follow_dups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::find_csv
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: HdrCsvIter::get_next
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 9
    functionsReached:
    - HdrCsvIter::find_csv
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView HdrCsvIter::get_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:156,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:157,1
    - Dst: auto::size
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:157,1
    - Dst: auto::data
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: HdrCsvIter::get_next
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - auto::size
    - HdrCsvIter::get_next
    - auto::data
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrCsvIter::get_next(int *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: HdrCsvIter::get_current
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView HdrCsvIter::get_current()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:170,1
    - Dst: size
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:170,1
    - Dst: data
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: HdrCsvIter::get_current
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - data
    - size
    linkageType: ''
    returnType: char
    signature: 'char *

      HdrCsvIter::get_current(int *len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::get_first
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:177,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - m
    - result
    argTypes:
    - MIMEField*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: HdrCsvIter::get_first_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - HdrCsvIter::get_first
    linkageType: ''
    returnType: bool
    signature: bool HdrCsvIter::get_first_int(MIMEField *m, int &result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HdrCsvIter::get_next
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:193,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/include/proxy/hdrs/HdrUtils.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: HdrCsvIter::get_next_int
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/HdrUtils.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - HdrCsvIter::get_next
    linkageType: ''
    returnType: bool
    signature: bool HdrCsvIter::get_next_int(int &result)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - type
    - port
    argTypes:
    - URLType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: url_canonicalize_port
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int url_canonicalize_port(URLType type, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - u
    argTypes:
    - URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: URL::URL
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL(const URL &u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - u
    argTypes:
    - URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: '&operator=(const URL &u)'
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: URL
    signature: URL &operator=(const URL &u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: URL::URL
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL::URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: URL::~URL()
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL::~URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: URL::valid
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int URL::valid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_HdrHeap
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:362,1
    - Dst: url_create
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: URL::create
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 8
    functionsReached:
    - new_HdrHeap
    - url_create
    linkageType: ''
    returnType: void
    signature: void URL::create(HdrHeap *heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:374,1
    - Dst: URL*::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:374,1
    - Dst: url_copy_onto
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: URL::copy
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 4
    functionsReached:
    - URL*::valid
    - ink_assert
    - url_copy_onto
    linkageType: ''
    returnType: void
    signature: void URL::copy(const URL *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:384,1
    - Dst: URL*::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:384,1
    - Dst: URL::set
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: URL::copy_shallow
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL*::valid
    - ink_assert
    - URL::set
    linkageType: ''
    returnType: void
    signature: void URL::copy_shallow(const URL *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HdrHeapSDKHandle::clear
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: URL::clear
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - HdrHeapSDKHandle::clear
    linkageType: ''
    returnType: void
    signature: void URL::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: URL::reset
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:411,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:411,1
    - Dst: url_nuke_proxy_stuff
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: URL::nuke_proxy_stuff
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - url_nuke_proxy_stuff
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::nuke_proxy_stuff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:421,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:421,1
    - Dst: url_print
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - buf
    - bufsize
    - bufindex
    - dumpoffset
    - normalization_flags
    argTypes:
    - char*
    - int
    - int*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: URL::print
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - ink_assert
    - url_print
    linkageType: ''
    returnType: int
    signature: int URL::print(char *buf, int bufsize, int *bufindex, int *dumpoffset,
      unsigned normalization_flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:431,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:431,1
    - Dst: url_length_get
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - normalization_flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: URL::length_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - url_length_get
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int URL::length_get(unsigned normalization_flags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:441,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:441,1
    - Dst: url_string_get
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena_or_null_for_malloc
    - length
    argTypes:
    - Arena*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: URL::string_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - url_string_get
    - URL::valid
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      URL::string_get(Arena *arena_or_null_for_malloc, int *length) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:448,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:448,1
    - Dst: url_string_get_ref
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - length
    - normalization_flags
    argTypes:
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: URL::string_get_ref
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - url_string_get_ref
    - ink_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      URL::string_get_ref(int *length, unsigned normalization_flags) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:455,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:455,1
    - Dst: url_clear_string_ref
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: URL::clear_string_ref
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - url_clear_string_ref
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::clear_string_ref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:465,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:465,1
    - Dst: url_string_get_buf
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dstbuf
    - dsbuf_size
    - length
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: URL::string_get_buf
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - ink_assert
    - url_string_get_buf
    linkageType: ''
    returnType: char
    signature: 'char *

      URL::string_get_buf(char *dstbuf, int dsbuf_size, int *length) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:475,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:475,1
    - Dst: url_CryptoHash_get
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - ignore_query
    - generation
    argTypes:
    - CryptoHash*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: URL::hash_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - url_CryptoHash_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::hash_get(CryptoHash *hash, bool ignore_query, cache_generation_t
      generation) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:485,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:485,1
    - Dst: url_CryptoHash_get_92
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - ignore_query
    - generation
    argTypes:
    - CryptoHash*
    - bool
    - cache_generation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: URL::hash_get92
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - url_CryptoHash_get_92
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::hash_get92(CryptoHash *hash, bool ignore_query, cache_generation_t
      generation) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:495,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:495,1
    - Dst: url_host_CryptoHash_get
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - CryptoHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: URL::host_hash_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - url_host_CryptoHash_get
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::host_hash_get(CryptoHash *hash) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:505,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:505,1
    - Dst: get_scheme
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: URL::scheme_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 4
    functionsReached:
    - URL::valid
    - get_scheme
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::scheme_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:512,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: URL::scheme_get_wksidx
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int URL::scheme_get_wksidx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:522,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:522,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:523,1
    - Dst: hdrtoken_tokenize
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:523,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:523,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:523,1
    - Dst: set_scheme
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: URL::scheme_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 4
    functionsReached:
    - URL::valid
    - std::string_view::length
    - std::string_view::empty
    - set_scheme
    - hdrtoken_tokenize
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::scheme_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:533,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:533,1
    - Dst: get_user
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: URL::user_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - get_user
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::user_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:543,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:543,1
    - Dst: set_user
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: URL::user_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - set_user
    - URL::valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::user_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:553,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:553,1
    - Dst: get_password
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: URL::password_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - get_password
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::password_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:563,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:563,1
    - Dst: set_password
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: URL::password_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - set_password
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::password_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:573,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:573,1
    - Dst: get_host
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: URL::host_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 4
    functionsReached:
    - URL::valid
    - get_host
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::host_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:583,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:583,1
    - Dst: set_host
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: URL::host_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - set_host
    - URL::valid
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::host_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:593,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:593,1
    - Dst: url_canonicalize_port
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:594,1
    - Dst: get_type
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:594,1
    - Dst: get_port
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: URL::port_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 5
    functionsReached:
    - URL::valid
    - get_type
    - get_port
    - url_canonicalize_port
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int URL::port_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:603,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:603,1
    - Dst: get_port
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: URL::port_get_raw
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - get_port
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int URL::port_get_raw() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:613,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:613,1
    - Dst: set_port
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: URL::port_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - ink_assert
    - set_port
    linkageType: ''
    returnType: void
    signature: void URL::port_set(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:623,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:623,1
    - Dst: get_path
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: URL::path_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 6
    functionsReached:
    - URL::valid
    - get_path
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::path_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:633,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:633,1
    - Dst: set_path
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: URL::path_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - ink_assert
    - set_path
    linkageType: ''
    returnType: void
    signature: void URL::path_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:643,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:643,1
    - Dst: get_type_code
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: URL::type_code_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - get_type_code
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int URL::type_code_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:653,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:653,1
    - Dst: set_type_code
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - typecode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: URL::type_code_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 1
    functionsReached:
    - URL::valid
    - set_type_code
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::type_code_set(int typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:663,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:663,1
    - Dst: get_query
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: URL::query_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - get_query
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::query_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:673,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:673,1
    - Dst: set_query
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: URL::query_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - set_query
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::query_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:683,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:683,1
    - Dst: get_fragment
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: URL::fragment_get
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - get_fragment
    - ink_assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view URL::fragment_get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:693,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:693,1
    - Dst: set_fragment
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: URL::fragment_set
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - URL::valid
    - set_fragment
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void URL::fragment_set(std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::parse
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:705,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:705,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:705,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 706
    functionName: URL::parse
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - URL::parse
    - std::string_view::data
    - std::string_view::size
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse(std::string_view url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:716,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:716,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:717,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:718,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:718,1
    - Dst: url_parse
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 5
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: URL::parse_no_host_check
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - url_parse
    - std::string_view::length
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse_no_host_check(std::string_view url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:730,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:730,1
    - Dst: url_parse
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 5
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: URL::parse
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 9
    functionsReached:
    - URL::valid
    - url_parse
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse(const char **start, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:742,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:742,1
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:744,1
    - Dst: URL::parse
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 746
    functionName: URL::parse
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 10
    functionsReached:
    - URL::valid
    - URL::parse
    - strlen
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse(const char *str, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:756,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:756,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:757,1
    - Dst: url_parse_regex
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:758,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 753
    functionDepth: 5
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionName: URL::parse_regex
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - std::string_view::length
    - url_parse_regex
    - std::string_view::data
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse_regex(std::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:769,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:769,1
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:771,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:772,1
    - Dst: URL::valid
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:772,1
    - Dst: url_parse_regex
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 774
    functionName: URL::parse_regex
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 2
    functionsReached:
    - URL::valid
    - url_parse_regex
    - strlen
    - ink_assert
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult URL::parse_regex(const char *str, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_unescapify
      Src: /src/trafficserver/include/proxy/hdrs/URL.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arena
    - str
    - length
    argTypes:
    - Arena*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 783
    functionName: URL::unescapify
    functionSourceFile: /src/trafficserver/include/proxy/hdrs/URL.h
    functionUses: 0
    functionsReached:
    - url_unescapify
    linkageType: ''
    returnType: char
    signature: 'char *

      URL::unescapify(Arena *arena, const char *str, int length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/include/proxy/logging/LogUtils.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: LogUtils::timestamp
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogUtils.h
    functionUses: 9
    functionsReached:
    - time
    linkageType: ''
    returnType: long
    signature: long timestamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/include/proxy/logging/LogUtils.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: LogUtils::timestamp
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogUtils.h
    functionUses: 9
    functionsReached:
    - time
    linkageType: ''
    returnType: long
    signature: long timestamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ACQUIRE_API_MUTEX
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRE_API_MUTEX(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: RELEASE_API_MUTEX
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELEASE_API_MUTEX(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: LogBufferManager::LogBufferManager
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogBufferManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:75,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - LogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: LogBufferManager::add_to_flush_queue
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - push
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void add_to_flush_queue(LogBuffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: LogObject::set_fmt_timestamps
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_fmt_timestamps()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::preproc_buffers
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:135,1
    - Dst: get
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: LogObject::preproc_buffers
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 2
    functionsReached:
    - get
    - LogObject::preproc_buffers
    linkageType: ''
    returnType: size_t
    signature: size_t preproc_buffers(int idx = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: LogObject::get_original_filename
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_original_filename() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: LogObject::get_full_filename
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_full_filename() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: LogObject::get_base_filename
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_base_filename() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: LogObject::get_signature
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_signature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: LogObject::get_rolling_interval
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_rolling_interval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_header
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: LogObject::set_log_file_header
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - change_header
    linkageType: ''
    returnType: void
    signature: void set_log_file_header(const char *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::_setup_rolling
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rolling_enabled
    argTypes:
    - Log::RollingEnabledValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: LogObject::set_rolling_enabled
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - LogObject::_setup_rolling
    linkageType: ''
    returnType: void
    signature: void set_rolling_enabled(Log::RollingEnabledValues rolling_enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::_setup_rolling
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rolling_interval_sec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: LogObject::set_rolling_interval_sec
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - LogObject::_setup_rolling
    linkageType: ''
    returnType: void
    signature: void set_rolling_interval_sec(int rolling_interval_sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::_setup_rolling
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rolling_offset_hr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: LogObject::set_rolling_offset_hr
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - LogObject::_setup_rolling
    linkageType: ''
    returnType: void
    signature: void set_rolling_offset_hr(int rolling_offset_hr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::_setup_rolling
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rolling_size_mb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: LogObject::set_rolling_size_mb
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - LogObject::_setup_rolling
    linkageType: ''
    returnType: void
    signature: void set_rolling_size_mb(int rolling_size_mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: LogObject::writes_to_pipe
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool writes_to_pipe() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: LogObject::writes_to_disk
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool writes_to_disk()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: LogObject::get_flags
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_flags() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: LogObject::has_alternate_name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_alternate_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_string
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: LogObject::get_format_string
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - format_string
    linkageType: ''
    returnType: char
    signature: "char *\n  get_format_string()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::_checkout_write
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: LogObject::force_new_buffer
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached:
    - LogObject::_checkout_write
    linkageType: ''
    returnType: void
    signature: void force_new_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: LogObject::LogObject
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogObject(const LogObject &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: '&operator=(const LogObject &)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogObject
    signature: LogObject &operator=(const LogObject &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: "&\n  _APImutex_dbg_ctl()"
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: "DbgCtl &\n  _APImutex_dbg_ctl()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_manage_object
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logObject
    argTypes:
    - LogObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: LogObjectManager::manage_object
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached:
    - LogObjectManager::_manage_object
    linkageType: ''
    returnType: int
    signature: int manage_object(LogObject *logObject, int maxConflicts = 99)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObjectManager::_manage_object
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logObject
    argTypes:
    - LogObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: LogObjectManager::manage_api_object
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached:
    - LogObjectManager::_manage_object
    linkageType: ''
    returnType: int
    signature: int manage_api_object(LogObject *logObject, int maxConflicts = 99)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: LogObjectManager::has_api_objects
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool has_api_objects() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: LogObjectManager::get_num_objects
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_num_objects() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogObject::get_signature
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:413,1
    - Dst: LogObject::get_signature
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:413,1
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:414,1
    - Dst: get_name
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:414,1
    - Dst: LogObject::m_logFile::get_name
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - old
    argTypes:
    - LogObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: LogObject::operator==(LogObject &old)
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 0
    functionsReached:
    - strcmp
    - get_name
    - LogObject::get_signature
    - LogObject::m_logFile::get_name
    linkageType: ''
    returnType: bool
    signature: bool LogObject::operator==(LogObject &old)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size_bytes
      Src: /src/trafficserver/include/proxy/logging/LogObject.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: LogObject::get_file_size_bytes
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogObject.h
    functionUses: 1
    functionsReached:
    - get_size_bytes
    linkageType: ''
    returnType: off_t
    signature: off_t LogObject::get_file_size_bytes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: LB_State
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LB_State()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vs
    argTypes:
    - LB_State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: LB_State
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LB_State(LB_State &vs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vs
    argTypes:
    - LB_State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: "&\n  operator=(LB_State &vs)"
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LB_State
    signature: "LB_State &\n  operator=(LB_State &vs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:142,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: "&\n  operator[](int idx)"
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: char
    signature: "char &\n  operator[](int idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_cas
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - old_state
    - new_state
    argTypes:
    - LB_State
    - LB_State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: LogBuffer::switch_state
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 2
    functionsReached:
    - ink_atomic_cas
    linkageType: ''
    returnType: int
    signature: int switch_state(LB_State &old_state, LB_State &new_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: LogBuffer::header
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogBufferHeader
    signature: "LogBufferHeader *\n  header() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: LogBuffer::expiration_time
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long expiration_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: LogBuffer::get_id
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: LogBuffer::get_owner
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogObject
    signature: "LogObject *\n  get_owner() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:205,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lb
    argTypes:
    - LogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: LogBuffer::destroy
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void destroy(LogBuffer *&lb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: LogBuffer::LogBuffer
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogBuffer(const LogBuffer &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: '&operator=(const LogBuffer &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogBuffer
    signature: LogBuffer &operator=(const LogBuffer &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: LogBufferList::get_size
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: LogBufferIterator::LogBufferIterator
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogBufferIterator(const LogBufferIterator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '&operator=(const LogBufferIterator &)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogBufferIterator
    signature: LogBufferIterator &operator=(const LogBufferIterator &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:317,1
    - Dst: Note
      Src: /src/trafficserver/include/proxy/logging/LogBuffer.h:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - header
    - in_network_order
    argTypes:
    - LogBufferHeader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: LogBufferIterator::LogBufferIterator
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached:
    - Note
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void LogBufferIterator::LogBufferIterator(LogBufferHeader *header,
      bool in_network_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: LogBufferIterator::~LogBufferIterator()
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBuffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogBufferIterator::~LogBufferIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: LogAccess::LogAccess
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~LogAccess()
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: LogAccess::LogAccess
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccess(const LogAccess &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogAccess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: '&operator=(LogAccess &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogAccess
    signature: LogAccess &operator=(LogAccess &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INK_ALIGN_DEFAULT
      Src: /src/trafficserver/include/proxy/logging/LogAccess.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: LogAccess::round_strlen
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 18
    functionsReached:
    - INK_ALIGN_DEFAULT
    linkageType: ''
    returnType: int
    signature: int LogAccess::round_strlen(int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/include/proxy/logging/LogAccess.h:405,1
    - Dst: LogAccess::round_strlen
      Src: /src/trafficserver/include/proxy/logging/LogAccess.h:407,1
    - Dst: LogAccess::strlen
      Src: /src/trafficserver/include/proxy/logging/LogAccess.h:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: LogAccess::strlen
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 40
    functionsReached:
    - LogAccess::strlen
    - LogAccess::round_strlen
    linkageType: ''
    returnType: int
    signature: int LogAccess::strlen(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: LogAccess::marshal_int
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogAccess.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogAccess::marshal_int(char *dest, int64_t source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: LogFieldAliasTableEntry
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFieldAliasTableEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: ~LogFieldAliasTableEntry()
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~LogFieldAliasTableEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: LogFieldAliasTable::LogFieldAliasTable
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFieldAliasTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~LogFieldAliasTable() override
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogFieldAliasTable() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h:141,1
    - Dst: strcasecmp
      Src: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - key
    - val
    - case_sensitive
    argTypes:
    - char*
    - IntType*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: LogFieldAliasTable::asInt
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 0
    functionsReached:
    - strcmp
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int asInt(char *key, IntType *val, bool case_sensitive) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_strlcpy
      Src: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - key
    - buf
    - bufLen
    argTypes:
    - IntType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: LogFieldAliasTable::asString
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFieldAliasMap.h
    functionUses: 0
    functionsReached:
    - ink_strlcpy
    linkageType: ''
    returnType: int
    signature: int asString(IntType key, char *buf, size_t bufLen, size_t *numCharsPtr
      = nullptr) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - logfile
    - data
    argTypes:
    - LogFile*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: LogFlushData::LogFlushData
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFlushData(LogFile *logfile, void *data, int len = -1)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LogBuffer *>
      Src: /src/trafficserver/include/proxy/logging/Log.h:90,1
    - Dst: LogBuffer::destroy
      Src: /src/trafficserver/include/proxy/logging/Log.h:91,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/logging/Log.h:95,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/logging/Log.h:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: ~LogFlushData()
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 0
    functionsReached:
    - ats_free
    - static_cast<LogBuffer *>
    - LogBuffer::destroy
    - ink_release_assert
    linkageType: ''
    returnType: void
    signature: void ~LogFlushData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Log::Log
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Log()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Log::transaction_logging_enabled
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transaction_logging_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Log::error_logging_enabled
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool error_logging_enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - throttling_val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: LogThrottlingIsValid
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LogThrottlingIsValid(int throttling_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: LogRollingEnabledIsValid
    functionSourceFile: /src/trafficserver/include/proxy/logging/Log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LogRollingEnabledIsValid(int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_name
    - st_size
    - st_time
    argTypes:
    - std::string_view
    - int64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: LogDeleteCandidate
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogDeleteCandidate(std::string_view p_name, int64_t st_size, time_t
      st_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: clear
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 224
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: key_of
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: key_type
    signature: key_type key_of(value_type *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: equal
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(key_type const &lhs, key_type const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: "*&\n  next_ptr(value_type *value)"
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: "value_type *&\n  next_ptr(value_type *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: "*&\n  prev_ptr(value_type *value)"
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: "value_type *&\n  prev_ptr(value_type *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasher
      Src: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h:129,1
    - Dst: hasher
      Src: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: hash_of
    functionSourceFile: /src/trafficserver/include/proxy/logging/RolledLogDeleter.h
    functionUses: 0
    functionsReached:
    - hasher
    linkageType: ''
    returnType: auto
    signature: auto hash_of(key_type s) -> decltype(hasher(s))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: LogSlice
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSlice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: LogField::name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: LogField::symbol
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  symbol() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: LogField::type
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.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: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: LogField::map
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ptr<LogFieldAliasMap>
    signature: Ptr<LogFieldAliasMap> map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: LogField::aggregate
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Aggregate
    signature: Aggregate aggregate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: LogField::is_time_field
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_time_field() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '&operator=(const LogField &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogField
    signature: LogField &operator=(const LogField &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: LogFieldList::first
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: LogField
    signature: "LogField *\n  first() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - here
    argTypes:
    - LogField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: LogFieldList::next
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: LogField
    signature: "LogField *\n  next(LogField *here) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: LogFieldList::badSymbols
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view badSymbols() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFieldList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: LogFieldList::LogFieldList
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFieldList(const LogFieldList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFieldList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: '&operator=(const LogFieldList &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogField.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFieldList
    signature: LogFieldList &operator=(const LogFieldList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - logConfig
    argTypes:
    - LogConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: YamlLogConfig::YamlLogConfig
    functionSourceFile: /src/trafficserver/include/proxy/logging/YamlLogConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YamlLogConfig(LogConfig *logConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: YamlLogConfig::YamlLogConfig
    functionSourceFile: /src/trafficserver/include/proxy/logging/YamlLogConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void YamlLogConfig(const YamlLogConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '&operator=(const YamlLogConfig &)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/YamlLogConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YamlLogConfig
    signature: YamlLogConfig &operator=(const YamlLogConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: LogFilter::name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: LogFilter::type
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.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: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: LogFilter::get_num_values
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_num_values() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: LogFilter::is_wipe
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_wipe() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: LogFilter::LogFilter
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFilter(const LogFilter &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '&operator=(LogFilter &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFilter
    signature: LogFilter &operator=(LogFilter &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '&operator=(LogFilterString &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFilterString
    signature: LogFilterString &operator=(LogFilterString &rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:154,1
    - Dst: std::strlen
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:155,1
    - Dst: std::toupper
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:167,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s0
    - s1
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: LogFilterString::strstrcase
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - std::toupper
    - std::strlen
    linkageType: ''
    returnType: char
    signature: "char *\n  strstrcase(const char *s0, const char *s1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s0
    - s1
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: LogFilterString::_isSubstring
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: int _isSubstring(const char *s0, const char *s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFilterString::strstrcase
      Src: /src/trafficserver/include/proxy/logging/LogFilter.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s0
    - s1
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: LogFilterString::_isSubstringUpper
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached:
    - LogFilterString::strstrcase
    linkageType: ''
    returnType: int
    signature: int _isSubstringUpper(const char *s0, const char *s1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: '&operator=(LogFilterInt &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFilterInt
    signature: LogFilterInt &operator=(LogFilterInt &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterIP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: '&operator=(LogFilterIP &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFilterIP
    signature: LogFilterIP &operator=(LogFilterIP &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: LogFilterList::first
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: LogFilter
    signature: "LogFilter *\n  first() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - here
    argTypes:
    - LogFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: LogFilterList::next
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: LogFilter
    signature: "LogFilter *\n  next(LogFilter *here) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: LogFilterList::LogFilterList
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFilterList(const LogFilterList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFilterList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: '&operator=(const LogFilterList &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFilterList
    signature: LogFilterList &operator=(const LogFilterList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogConfig::space_to_write
      Src: /src/trafficserver/include/proxy/logging/LogConfig.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: LogConfig::space_is_short
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 0
    functionsReached:
    - LogConfig::space_to_write
    linkageType: ''
    returnType: bool
    signature: bool space_is_short() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: LogConfig::increment_space_used
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void increment_space_used(int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: LogConfig::get_max_space_mb
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_max_space_mb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogConfig::transfer_objects
      Src: /src/trafficserver/include/proxy/logging/LogConfig.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - old_config
    argTypes:
    - LogConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: LogConfig::transfer_objects
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 2
    functionsReached:
    - LogConfig::transfer_objects
    linkageType: ''
    returnType: void
    signature: void transfer_objects(LogConfig *old_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogConfig::has_api_objects
      Src: /src/trafficserver/include/proxy/logging/LogConfig.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: LogConfig::has_api_objects
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 1
    functionsReached:
    - LogConfig::has_api_objects
    linkageType: ''
    returnType: bool
    signature: bool has_api_objects() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: LogConfig::LogConfig
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogConfig(const LogConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '&operator=(const LogConfig &)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogConfig
    signature: LogConfig &operator=(const LogConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: LogFormat::valid
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: LogFormat::name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: LogFormat::fieldlist
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  fieldlist() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: LogFormat::format_string
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  format_string() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: LogFormat::name_id
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t name_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: LogFormat::fieldlist_id
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned fieldlist_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: LogFormat::type
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFormatType
    signature: LogFormatType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: LogFormat::escape_type
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogEscapeType
    signature: LogEscapeType escape_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: LogFormat::printf_str
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  printf_str() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: LogFormat::is_aggregate
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_aggregate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: LogFormat::field_count
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned field_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: LogFormat::interval
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long interval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: LogFormat::turn_tagging_on
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void turn_tagging_on()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: LogFormat::turn_tagging_off
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void turn_tagging_off()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '&operator=(LogFormat &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFormat
    signature: LogFormat &operator=(LogFormat &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogFormat::LogFormat
      Src: /src/trafficserver/include/proxy/logging/LogFormat.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: MakeTextLogFormat
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 1
    functionsReached:
    - LogFormat::LogFormat
    linkageType: ''
    returnType: LogFormat
    signature: 'LogFormat *

      MakeTextLogFormat(const char *name = "text")'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: LogFormatList::first
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LogFormat
    signature: "LogFormat *\n  first() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - here
    argTypes:
    - LogFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: LogFormatList::next
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LogFormat
    signature: "LogFormat *\n  next(LogFormat *here) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFormatList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: LogFormatList::LogFormatList
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFormatList(const LogFormatList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - LogFormatList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: '&operator=(const LogFormatList &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFormat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFormatList
    signature: LogFormatList &operator=(const LogFormatList &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~LogBufferSink()
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogBufferSink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogBufferSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: LogFile::LogFile
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogFile(const LogFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: LogFile::get_name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: LogFile::get_format
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFileFormat
    signature: LogFileFormat get_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: LogFile::get_escape_type
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LogEscapeType
    signature: LogEscapeType get_escape_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: LogFile::get_format_name
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  get_format_name() const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogFile::get_size_bytes
      Src: /src/trafficserver/include/proxy/logging/LogFile.h:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: LogFile::get_size_bytes
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 1
    functionsReached:
    - LogFile::get_size_bytes
    linkageType: ''
    returnType: off_t
    signature: off_t get_size_bytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '&operator=(const LogFile &)'
    functionSourceFile: /src/trafficserver/include/proxy/logging/LogFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogFile
    signature: LogFile &operator=(const LogFile &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~Http3FrameGenerator()
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3FrameGenerator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http3FrameGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vc
    argTypes:
    - NetVConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Http09Session::Http09Session
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http09Session(NetVConnection *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ts::Http3ConfigParams::Http3ConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3ConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Http3ConfigParams()
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http3ConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ts::Http3ConfigParams::Http3ConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3ConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Http3ConfigParams()
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http3ConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - Http3Session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Http3SettingsHandler::Http3SettingsHandler
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3SettingsHandler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SettingsHandler(Http3Session *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~Http3FrameHandler()
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3FrameHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http3FrameHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - NetVConnectionContext_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Http3SettingsFramer::Http3SettingsFramer
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3SettingsFramer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SettingsFramer(NetVConnectionContext_t context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~Http3Error()
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http3Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/include/proxy/http3/Http3Types.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: Http3Error::get_code
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Types.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_code()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Http3Error::Http3Error
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - error_cls
    - error_code
    argTypes:
    - Http3ErrorClass
    - Http3ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Http3Error::Http3Error
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Error(const Http3ErrorClass error_cls, const Http3ErrorCode
      error_code, const char *error_msg = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Http3ProtocolEnforcer::Http3ProtocolEnforcer
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3ProtocolEnforcer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3ProtocolEnforcer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Http3Frame::Http3Frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3Frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Http3UnknownFrame::Http3UnknownFrame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3UnknownFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Http3DataFrame::Http3DataFrame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3DataFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Http3HeadersFrame::Http3HeadersFrame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3HeadersFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Http3SettingsFrame::Http3SettingsFrame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3SettingsFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http3Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Http3FrameDeleter::delete_null_frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void delete_null_frame(Http3Frame *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame*::~Http3Frame
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:195,1
    - Dst: free
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:196,1
    - Dst: static_cast<Http3Frame *>
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http3Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: Http3FrameDeleter::delete_frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached:
    - Http3Frame*::~Http3Frame
    - free
    - static_cast<Http3Frame *>
    linkageType: ''
    returnType: void
    signature: void delete_frame(Http3Frame *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame*::~Http3Frame
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:202,1
    - Dst: free
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:203,1
    - Dst: static_cast<Http3DataFrame *>
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http3Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: Http3FrameDeleter::delete_data_frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached:
    - static_cast<Http3DataFrame *>
    - Http3Frame*::~Http3Frame
    - free
    linkageType: ''
    returnType: void
    signature: void delete_data_frame(Http3Frame *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame*::~Http3Frame
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:209,1
    - Dst: free
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:210,1
    - Dst: static_cast<Http3HeadersFrame *>
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http3Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: Http3FrameDeleter::delete_headers_frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached:
    - Http3Frame*::~Http3Frame
    - free
    - static_cast<Http3HeadersFrame *>
    linkageType: ''
    returnType: void
    signature: void delete_headers_frame(Http3Frame *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http3Frame*::~Http3Frame
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:216,1
    - Dst: free
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:217,1
    - Dst: static_cast<Http3SettingsFrame *>
      Src: /src/trafficserver/include/proxy/http3/Http3Frame.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Http3Frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: Http3FrameDeleter::delete_settings_frame
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3Frame.h
    functionUses: 0
    functionsReached:
    - Http3Frame*::~Http3Frame
    - free
    - static_cast<Http3SettingsFrame *>
    linkageType: ''
    returnType: void
    signature: void delete_settings_frame(Http3Frame *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Http3FrameCounter::Http3FrameCounter
    functionSourceFile: /src/trafficserver/include/proxy/http3/Http3FrameCounter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http3FrameCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/http3/QPACK.h:86,1
    - Dst: strlen
      Src: /src/trafficserver/include/proxy/http3/QPACK.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - v
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: QPACK::Header
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void Header(const char *n, const char *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - largest_reference
    - thread
    - continuation
    - stream_id
    - header_block
    - header_block_len
    - hdr
    argTypes:
    - uint16_t
    - EThread*
    - Continuation*
    - uint64_t
    - uint8_t*
    - size_t
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: QPACK::DecodeRequest::DecodeRequest
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DecodeRequest(uint16_t largest_reference, EThread *thread, Continuation
      *continuation, uint64_t stream_id,\n                  const uint8_t *header_block,
      size_t header_block_len, HTTPHdr &hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: QPACK::DecodeRequest::largest_reference
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t largest_reference() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: QPACK::DecodeRequest::thread
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EThread
    signature: "EThread *\n    thread()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: QPACK::DecodeRequest::continuation
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Continuation
    signature: "Continuation *\n    continuation()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: QPACK::DecodeRequest::stream_id
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t stream_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: QPACK::DecodeRequest::header_block
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n    header_block() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: QPACK::DecodeRequest::header_block_len
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t header_block_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: "&\n    hdr()"
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPHdr
    signature: "HTTPHdr &\n    hdr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecodeRequest **>
      Src: /src/trafficserver/include/proxy/http3/QPACK.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: "*&\n      next_ptr(DecodeRequest *t)"
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecodeRequest **>
    linkageType: ''
    returnType: DecodeRequest
    signature: "DecodeRequest *&\n      next_ptr(DecodeRequest *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DecodeRequest **>
      Src: /src/trafficserver/include/proxy/http3/QPACK.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: "*&\n      prev_ptr(DecodeRequest *t)"
    functionSourceFile: /src/trafficserver/include/proxy/http3/QPACK.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DecodeRequest **>
    linkageType: ''
    returnType: DecodeRequest
    signature: "DecodeRequest *&\n      prev_ptr(DecodeRequest *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Http1ServerTransaction::Http1ServerTransaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - ProxySession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Http1ServerTransaction::Http1ServerTransaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerTransaction(ProxySession *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Http1ServerTransaction() override
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http1ServerTransaction() override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: HttpVCTable::is_table_clear
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpVCTable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpVCTable::is_table_clear() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - ProxySession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Http1Transaction::Http1Transaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1Transaction(ProxySession *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~Http1Transaction()
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http1Transaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Http1Transaction::Http1Transaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1Transaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_transact_count
      Src: /src/trafficserver/include/proxy/http/Http1Transaction.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: Http1Transaction::get_transaction_id
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached:
    - get_transact_count
    linkageType: ''
    returnType: int
    signature: int Http1Transaction::get_transaction_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Http1Transaction::reset
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1Transaction::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Http1Transaction::set_reader
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1Transaction::set_reader(IOBufferReader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr::value_set
      Src: /src/trafficserver/include/proxy/http/Http1Transaction.h:83,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/include/proxy/http/Http1Transaction.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Http1Transaction::set_close_connection
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1Transaction.h
    functionUses: 0
    functionsReached:
    - HTTPHdr::value_set
    - static_cast<std::string_view>
    linkageType: ''
    returnType: void
    signature: void Http1Transaction::set_close_connection(HTTPHdr &hdr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ConnectingEntry::ConnectingEntry
    functionSourceFile: /src/trafficserver/include/proxy/http/ConnectingEntry.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectingEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/trafficserver/include/proxy/http/ConnectingEntry.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: operator()(IpEndpoint const &arg) const
    functionSourceFile: /src/trafficserver/include/proxy/http/ConnectingEntry.h
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(IpEndpoint const &arg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_addr_port_eq
      Src: /src/trafficserver/include/proxy/http/ConnectingEntry.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - IpEndpoint
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: operator()(IpEndpoint const &arg1, IpEndpoint const &arg2) const
    functionSourceFile: /src/trafficserver/include/proxy/http/ConnectingEntry.h
    functionUses: 0
    functionsReached:
    - ats_ip_addr_port_eq
    linkageType: ''
    returnType: bool
    signature: bool operator()(IpEndpoint const &arg1, IpEndpoint const &arg2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ConnectingPool::ConnectingPool
    functionSourceFile: /src/trafficserver/include/proxy/http/ConnectingEntry.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectingPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~Http1ClientSession()
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ClientSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http1ClientSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: HTTP_RELEASE_ASSERT
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_RELEASE_ASSERT(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPHdr*::print
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:72,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - out
    argTypes:
    - HTTPHdr*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: s_dump_header
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - std::string::append
    - HTTPHdr*::print
    linkageType: ''
    returnType: void
    signature: void s_dump_header(HTTPHdr const *hdr, std::string &out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DbgCtl::on
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:81,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:83,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:84,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:85,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:86,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:87,1
    - Dst: std::to_string
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:87,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:88,1
    - Dst: HTTPHdr*::valid
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:89,1
    - Dst: s_dump_header
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:90,1
    - Dst: std::string::append
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:92,1
    - Dst: fprintf
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:96,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctl
    - hdr
    - sm_id
    - description
    argTypes:
    - DbgCtl
    - HTTPHdr*
    - std::int64_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: dump_header
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 14
    functionsReached:
    - fprintf
    - s_dump_header
    - HTTPHdr*::valid
    - DbgCtl::on
    - std::string::append
    - std::string::push_back
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void dump_header(DbgCtl const &ctl, HTTPHdr const *hdr, std::int64_t
      sm_id, std::string_view description)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: HttpApiInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpApiInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - I
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: SET_VIA_STRING
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_VIA_STRING(I, S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: GET_VIA_STRING
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_VIA_STRING(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: HttpTransact::_CacheDirectives
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _CacheDirectives()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: HttpTransact::_CacheLookupInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _CacheLookupInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: HttpTransact::_RedirectInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _RedirectInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: HttpTransact::had_connect_fail
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool had_connect_fail() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: HttpTransact::clear_connect_fail
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_connect_fail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::clear
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: HttpTransact::ConnectionAttributes
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - HttpTransact::clear
    linkageType: ''
    returnType: void
    signature: void ConnectionAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_zero
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:555,1
    - Dst: ink_zero
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: HttpTransact::clear
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 1
    functionsReached:
    - ink_zero
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: HttpTransact::Attempts::Attempts
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attempts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: HttpTransact::Attempts::Attempts
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attempts(Attempts const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: HttpTransact::Attempts::get
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned get() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:582,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - configured_connect_attempts_max_retries
    argTypes:
    - MgmtInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: HttpTransact::Attempts::maximize
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void maximize(MgmtInt configured_connect_attempts_max_retries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: HttpTransact::Attempts::clear
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: HttpTransact::Attempts::increment
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: HttpTransact::Attempts::saved
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned saved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: HttpTransact::_CurrentInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _CurrentInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 618
    functionName: HttpTransact::_CurrentInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _CurrentInfo(_CurrentInfo const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 641
    functionName: HttpTransact::_HeaderInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _HeaderInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: HttpTransact::_SquidLogInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _SquidLogInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: HttpTransact::_ResponseAction
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _ResponseAction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:800,1
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: "&\n    my_txn_conf()"
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<OverridableHttpConfigParams *>
    - ink_assert
    linkageType: ''
    returnType: OverridableHttpConfigParams
    signature: "OverridableHttpConfigParams &\n    my_txn_conf()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SplitDNSConfig::acquire
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:821,1
    - Dst: decltype(dns_info)::decltype(dns_info)
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: HttpTransact::init
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - SplitDNSConfig::acquire
    - decltype(dns_info)::decltype(dns_info)
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 851
    functionName: HttpTransact::State
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void State()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTransact::free_internal_msg_buffer
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:858,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:859,1
    - Dst: TextBuffer::release
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:861,1
    - Dst: client_request::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:864,1
    - Dst: client_response::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:865,1
    - Dst: server_request::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:866,1
    - Dst: server_response::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:867,1
    - Dst: transform_response::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:868,1
    - Dst: cache_request::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:869,1
    - Dst: cache_response::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:870,1
    - Dst: lookup_url_storage::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:871,1
    - Dst: parent_selection_url_storage::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:872,1
    - Dst: original_url::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:873,1
    - Dst: object_store::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:874,1
    - Dst: transform_store::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:875,1
    - Dst: original_url::destroy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:876,1
    - Dst: HttpTransact::clear
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:878,1
    - Dst: reset
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:879,1
    - Dst: HttpTransact::clear
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:880,1
    - Dst: ~ResolveInfo
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:881,1
    - Dst: HttpTransact::clear
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 888
    functionName: HttpTransact::destroy
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - client_request::destroy
    - ats_free
    - HttpTransact::free_internal_msg_buffer
    - TextBuffer::release
    - server_response::destroy
    - ~ResolveInfo
    - cache_response::destroy
    - HttpTransact::clear
    - client_response::destroy
    - reset
    - server_request::destroy
    - original_url::destroy
    - parent_selection_url_storage::destroy
    - transform_store::destroy
    - cache_request::destroy
    - object_store::destroy
    - lookup_url_storage::destroy
    - transform_response::destroy
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:896,1
    - Dst: reinterpret_cast<OverridableHttpConfigParams *>
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:897,1
    - Dst: memcpy
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 900
    functionName: HttpTransact::setup_per_txn_configs
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<OverridableHttpConfigParams *>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void setup_per_txn_configs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_void
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:907,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 914
    functionName: HttpTransact::free_internal_msg_buffer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 1
    functionsReached:
    - ats_free
    - free_void
    linkageType: ''
    returnType: void
    signature: void free_internal_msg_buffer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 935
    functionName: HttpTransact::set_connect_fail
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void set_connect_fail(int e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: retry_attempts::get
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:948,1
    - Dst: min
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 951
    functionName: HttpTransact::configured_connect_attempts_max_retries
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 0
    functionsReached:
    - min
    - retry_attempts::get
    linkageType: ''
    returnType: MgmtInt
    signature: MgmtInt configured_connect_attempts_max_retries() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - HTTPStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1137
    functionName: is_response_body_precluded
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_response_body_precluded(HTTPStatus status_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_response_body_precluded
      Src: /src/trafficserver/include/proxy/http/HttpTransact.h:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - status_code
    - method
    argTypes:
    - HTTPStatus
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1147
    functionName: is_response_body_precluded
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransact.h
    functionUses: 9
    functionsReached:
    - is_response_body_precluded
    linkageType: ''
    returnType: bool
    signature: bool is_response_body_precluded(HTTPStatus status_code, int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: HttpConfigPortRange
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpConfigPortRange()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: ~HttpConfigPortRange()
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpConfigPortRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpForwarded::OptionBitSet
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: OverridableHttpConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 0
    functionsReached:
    - HttpForwarded::OptionBitSet
    linkageType: ''
    returnType: void
    signature: void OverridableHttpConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: HttpConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpConfigParams(const HttpConfigParams &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: '&operator=(const HttpConfigParams &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpConfigParams
    signature: HttpConfigParams &operator=(const HttpConfigParams &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: HttpConfigParams::HttpConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpConfigParams::HttpConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:869,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:870,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:871,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:872,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:873,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:874,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:875,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:876,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:877,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:878,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:879,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:880,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:881,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:882,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:883,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:884,1
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/HttpConfig.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 889
    functionName: HttpConfigParams::~HttpConfigParams()
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpConfig.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void HttpConfigParams::~HttpConfigParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: HttpTunnel::is_tunnel_active
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::is_tunnel_active() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::chain_abort_cache_write
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:519,1
    - Dst: HttpTunnel::local_finish_all
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: HttpTunnel::abort_cache_write_finish_others
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached:
    - HttpTunnel::local_finish_all
    - HttpTunnel::chain_abort_cache_write
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::abort_cache_write_finish_others(HttpTunnelProducer
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::finish_all_internal
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: HttpTunnel::local_finish_all
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 1
    functionsReached:
    - HttpTunnel::finish_all_internal
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::local_finish_all(HttpTunnelProducer *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnel::finish_all_internal
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - HttpTunnelProducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 6
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: HttpTunnel::chain_finish_all
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 1
    functionsReached:
    - HttpTunnel::finish_all_internal
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::chain_finish_all(HttpTunnelProducer *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 567
    functionName: HttpTunnel::is_tunnel_alive
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::is_tunnel_alive() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vc
    argTypes:
    - VConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: HttpTunnel::get_producer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpTunnel::get_producer(VConnection *vc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - HttpTunnelType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: HttpTunnel::get_producer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpTunnel::get_producer(HttpTunnelType_t type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vc
    argTypes:
    - VConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 620
    functionName: HttpTunnel::get_consumer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HttpTunnelConsumer
    signature: 'HttpTunnelConsumer *

      HttpTunnel::get_consumer(VConnection *vc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: HttpTunnel::get_producer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HttpTunnelProducer
    signature: 'HttpTunnelProducer *

      HttpTunnel::get_producer(VIO *vio)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vio
    argTypes:
    - VIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: HttpTunnel::get_consumer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HttpTunnelConsumer
    signature: 'HttpTunnelConsumer *

      HttpTunnel::get_consumer(VIO *vio)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer*::read_buffer::write
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - msg
    - msg_len
    argTypes:
    - HttpTunnelProducer*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 656
    functionName: HttpTunnel::append_message_to_producer_buffer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer*::read_buffer::write
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::append_message_to_producer_buffer(HttpTunnelProducer
      *p, const char *msg, int64_t msg_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: HttpTunnel::has_cache_writer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::has_cache_writer() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 694
    functionName: HttpTunnel::has_consumer_besides_client
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnel::has_consumer_besides_client() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vc
    argTypes:
    - VConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 713
    functionName: HttpTunnelConsumer::is_downstream_from
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnelConsumer::is_downstream_from(VConnection *vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: HttpTunnelConsumer::is_sink
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnelConsumer::is_sink() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: HttpTunnelProducer::is_handling_chunked_content
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnelProducer::is_handling_chunked_content() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: HttpTunnelProducer::is_source
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnelProducer::is_source() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_handler_state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: HttpTunnelProducer::update_state_if_not_set
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::update_state_if_not_set(int new_handler_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: HttpTunnelProducer::is_throttled
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTunnelProducer::is_throttled() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer::is_throttled
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:753,1
    - Dst: HttpTunnelProducer::set_throttle_src
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: HttpTunnelProducer::throttle
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer::is_throttled
    - HttpTunnelProducer::set_throttle_src
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::throttle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpTunnelProducer::is_throttled
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:761,1
    - Dst: HttpTunnelProducer::set_throttle_src
      Src: /src/trafficserver/include/proxy/http/HttpTunnel.h:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 764
    functionName: HttpTunnelProducer::unthrottle
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached:
    - HttpTunnelProducer::is_throttled
    - HttpTunnelProducer::set_throttle_src
    linkageType: ''
    returnType: void
    signature: void HttpTunnelProducer::unthrottle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: HttpTunnel::FlowControl::FlowControl()
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTunnel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTunnel::FlowControl::FlowControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: HttpBodyTemplate::is_sane
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_sane()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ~HttpBodySetRawData()
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpBodySetRawData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: HttpBodySet::is_sane
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_sane()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:191,1
    - Dst: ink_bvsprintf
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:196,1
    - Dst: ats_malloc
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:199,1
    - Dst: ink_bvsprintf
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:200,1
    - Dst: va_end
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - max_buffer_length
    - resulting_buffer_length
    - format
    argTypes:
    - int64_t
    - int64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: HttpBodyFactory::getFormat
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 0
    functionsReached:
    - ink_bvsprintf
    - va_end
    - va_start
    - ats_malloc
    linkageType: ''
    returnType: char
    signature: "char *\n  getFormat(int64_t max_buffer_length, int64_t *resulting_buffer_length,
      const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: HttpBodyFactory::is_sane
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_sane()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:231,1
    - Dst: HttpBodyFactory::is_sane
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: HttpBodyFactory::sanity_check
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 1
    functionsReached:
    - HttpBodyFactory::is_sane
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void sanity_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_acquire
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: HttpBodyFactory::lock
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 3
    functionsReached:
    - ink_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_mutex_release
      Src: /src/trafficserver/include/proxy/http/HttpBodyFactory.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: HttpBodyFactory::unlock
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpBodyFactory.h
    functionUses: 3
    functionsReached:
    - ink_mutex_release
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: HttpUserAgent::get_entry
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVCTableEntry
    signature: 'HttpVCTableEntry *

      HttpUserAgent::get_entry() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - HttpVCTableEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: HttpUserAgent::set_entry
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpUserAgent::set_entry(HttpVCTableEntry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: HttpUserAgent::get_raw_buffer_reader
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      HttpUserAgent::get_raw_buffer_reader()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_buffer_reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: HttpUserAgent::set_raw_buffer_reader
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpUserAgent::set_raw_buffer_reader(IOBufferReader *raw_buffer_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: HttpUserAgent::get_txn
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      HttpUserAgent::get_txn() const'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HttpUserAgent::save_transaction_info
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:145,1
    - Dst: ProxyTransaction*::get_proxy_ssn
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:146,1
    - Dst: auto::connection_id
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:147,1
    - Dst: ProxyTransaction*::is_first_transaction
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:150,1
    - Dst: ProxyTransaction*::get_netvc
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:152,1
    - Dst: auto::get_service
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:154,1
    - Dst: auto::get_tls_protocol_name
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:156,1
    - Dst: auto::get_tls_cipher_suite
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:161,1
    - Dst: auto::get_tls_curve
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:166,1
    - Dst: auto::get_tls_group
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:172,1
    - Dst: auto::get_tls_handshake_begin_time
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:180,1
    - Dst: auto::get_tls_handshake_end_time
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:181,1
    - Dst: auto::get_service
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:185,1
    - Dst: auto::get_negotiated_protocol_id
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:186,1
    - Dst: auto::get_service
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:189,1
    - Dst: auto::getSSLSessionCacheHit
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:190,1
    - Dst: ProxyTransaction*::get_protocol_string
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - txn
    - milestones
    argTypes:
    - ProxyTransaction*
    - TransactionMilestones
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 198
    functionName: HttpUserAgent::set_txn
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached:
    - auto::get_tls_handshake_end_time
    - ProxyTransaction*::get_protocol_string
    - auto::get_service
    - ProxyTransaction*::get_proxy_ssn
    - auto::connection_id
    - ProxyTransaction*::is_first_transaction
    - HttpUserAgent::save_transaction_info
    - auto::get_tls_protocol_name
    - auto::get_negotiated_protocol_id
    - ProxyTransaction*::get_netvc
    - auto::get_tls_curve
    - auto::get_tls_group
    - auto::getSSLSessionCacheHit
    - auto::get_tls_handshake_begin_time
    - auto::get_tls_cipher_suite
    linkageType: ''
    returnType: void
    signature: void HttpUserAgent::set_txn(ProxyTransaction *txn, TransactionMilestones
      &milestones)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: HttpUserAgent::get_client_connection_id
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpUserAgent::get_client_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: HttpUserAgent::get_client_transaction_id
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpUserAgent::get_client_transaction_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: HttpUserAgent::get_client_transaction_priority_weight
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpUserAgent::get_client_transaction_priority_weight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: HttpUserAgent::get_client_transaction_priority_dependence
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpUserAgent::get_client_transaction_priority_dependence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: HttpUserAgent::get_client_tcp_reused
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpUserAgent::get_client_tcp_reused() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: HttpUserAgent::get_client_ssl_reused
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpUserAgent::get_client_ssl_reused() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: HttpUserAgent::get_client_connection_is_ssl
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpUserAgent::get_client_connection_is_ssl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: HttpUserAgent::get_client_protocol
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpUserAgent::get_client_protocol() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: HttpUserAgent::get_client_sec_protocol
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpUserAgent::get_client_sec_protocol() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: HttpUserAgent::get_client_cipher_suite
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpUserAgent::get_client_cipher_suite() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: HttpUserAgent::get_client_curve
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpUserAgent::get_client_curve() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: HttpUserAgent::get_client_security_group
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpUserAgent::get_client_security_group() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: HttpUserAgent::get_client_alpn_id
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpUserAgent::get_client_alpn_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_transaction_id
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:281,1
    - Dst: get_transaction_priority_weight
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:281,1
    - Dst: get_transaction_priority_dependence
      Src: /src/trafficserver/include/proxy/http/HttpUserAgent.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: HttpUserAgent::save_transaction_info
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpUserAgent.h
    functionUses: 1
    functionsReached:
    - get_transaction_priority_weight
    - get_transaction_id
    - get_transaction_priority_dependence
    linkageType: ''
    returnType: void
    signature: void HttpUserAgent::save_transaction_info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Http1ClientTransaction::Http1ClientTransaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ClientTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - ProxySession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Http1ClientTransaction::Http1ClientTransaction
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ClientTransaction.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ClientTransaction(ProxySession *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache_sm
    argTypes:
    - HttpCacheSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: HttpCacheAction::init
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(HttpCacheSM *cache_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: HttpCacheAction::reset
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: HttpCacheSM::HttpCacheSM
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCacheSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::init
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm_arg
    - amutex
    argTypes:
    - HttpSM*
    - Ptr<ProxyMutex>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: HttpCacheSM::init
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - HttpCacheSM::init
    linkageType: ''
    returnType: void
    signature: void init(HttpSM *sm_arg, Ptr<ProxyMutex> &amutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: HttpCacheSM::set_readwhilewrite_inprogress
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_readwhilewrite_inprogress(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: HttpCacheSM::is_readwhilewrite_inprogress
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_readwhilewrite_inprogress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::is_ram_cache_hit
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: HttpCacheSM::is_ram_cache_hit
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - HttpCacheSM::is_ram_cache_hit
    linkageType: ''
    returnType: bool
    signature: bool is_ram_cache_hit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::is_compressed_in_ram
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: HttpCacheSM::is_compressed_in_ram
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - HttpCacheSM::is_compressed_in_ram
    linkageType: ''
    returnType: bool
    signature: bool is_compressed_in_ram()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: HttpCacheSM::set_open_read_tries
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_open_read_tries(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: HttpCacheSM::get_open_read_tries
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_open_read_tries()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: HttpCacheSM::set_open_write_tries
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_open_write_tries(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: HttpCacheSM::get_open_write_tries
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_open_write_tries()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::get_volume_number
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:160,1
    - Dst: HttpCacheSM::get_volume_number
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: HttpCacheSM::get_volume_number
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - HttpCacheSM::get_volume_number
    linkageType: ''
    returnType: int
    signature: int get_volume_number()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::get_disk_path
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:172,1
    - Dst: HttpCacheSM::get_disk_path
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: HttpCacheSM::get_disk_path
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - HttpCacheSM::get_disk_path
    linkageType: ''
    returnType: char
    signature: "char *\n  get_disk_path()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:184,1
    - Dst: do_io_close
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: HttpCacheSM::abort_read
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached:
    - do_io_close
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void abort_read()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:194,1
    - Dst: do_io_close
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: HttpCacheSM::abort_write
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached:
    - do_io_close
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void abort_write()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:204,1
    - Dst: do_io_close
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: HttpCacheSM::close_write
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached:
    - do_io_close
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void close_write()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:214,1
    - Dst: do_io_close
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: HttpCacheSM::close_read
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 1
    functionsReached:
    - do_io_close
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void close_read()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpCacheSM::close_read
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:225,1
    - Dst: HttpCacheSM::abort_write
      Src: /src/trafficserver/include/proxy/http/HttpCacheSM.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: HttpCacheSM::end_both
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached:
    - HttpCacheSM::abort_write
    - HttpCacheSM::close_read
    linkageType: ''
    returnType: void
    signature: void end_both()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: HttpCacheSM::get_last_error
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_last_error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - OverridableHttpConfigParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: HttpCacheSM::HttpConfigAccessorImpl::HttpConfigAccessorImpl
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpConfigAccessorImpl(const OverridableHttpConfigParams *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: HttpCacheSM::HttpConfigAccessorImpl::get_ignore_accept_mismatch
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: HttpCacheSM::HttpConfigAccessorImpl::get_ignore_accept_charset_mismatch
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_charset_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: HttpCacheSM::HttpConfigAccessorImpl::get_ignore_accept_encoding_mismatch
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_encoding_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: HttpCacheSM::HttpConfigAccessorImpl::get_ignore_accept_language_mismatch
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_ignore_accept_language_mismatch() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: HttpCacheSM::HttpConfigAccessorImpl::get_global_user_agent_header
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpCacheSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n    get_global_user_agent_header() const override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: PreWarm::algorithm_version
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 1
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: PreWarm::Algorithm
    signature: PreWarm::Algorithm algorithm_version(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:71,1
    - Dst: min
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:74,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - requested_size
    - current_size
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: PreWarm::prewarm_size_v1_on_event_interval
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 1
    functionsReached:
    - max
    - min
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t prewarm_size_v1_on_event_interval(uint32_t requested_size,
      uint32_t current_size, uint32_t min, int32_t max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PreWarm::prewarm_size_v1_on_event_interval
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:102,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:106,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:114,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:115,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - hit
    - miss
    - current_size
    - min
    - max
    - rate
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: PreWarm::prewarm_size_v2_on_event_interval
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 1
    functionsReached:
    - PreWarm::prewarm_size_v1_on_event_interval
    - ink_release_assert
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t prewarm_size_v2_on_event_interval(uint32_t hit, uint32_t miss,
      uint32_t current_size, uint32_t min, int32_t max, double rate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_abort
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: PreWarm::algorithm_version
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 1
    functionsReached:
    - ink_abort
    linkageType: ''
    returnType: PreWarm::Algorithm
    signature: PreWarm::Algorithm algorithm_version(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:71,1
    - Dst: min
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:74,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - requested_size
    - current_size
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: PreWarm::prewarm_size_v1_on_event_interval
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 2
    functionsReached:
    - max
    - min
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t prewarm_size_v1_on_event_interval(uint32_t requested_size,
      uint32_t current_size, uint32_t min, int32_t max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PreWarm::prewarm_size_v1_on_event_interval
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:102,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:106,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:114,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:115,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - hit
    - miss
    - current_size
    - min
    - max
    - rate
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: PreWarm::prewarm_size_v2_on_event_interval
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmAlgorithm.h
    functionUses: 1
    functionsReached:
    - PreWarm::prewarm_size_v1_on_event_interval
    - ink_release_assert
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t prewarm_size_v2_on_event_interval(uint32_t hit, uint32_t miss,
      uint32_t current_size, uint32_t min, int32_t max, double rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: HttpTransactHeaders::is_this_http_method_supported
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransactHeaders.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_this_http_method_supported(int method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d
    - as
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: HttpTransactHeaders::nstrcpy
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransactHeaders.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HttpTransactHeaders::nstrcpy(char *d, const char *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpTransactHeaders.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - incoming_hdr
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: HttpTransactHeaders::is_request_proxy_authorized
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpTransactHeaders.h
    functionUses: 1
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: bool
    signature: bool HttpTransactHeaders::is_request_proxy_authorized(HTTPHdr *incoming_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Http1ServerSession::Http1ServerSession
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http1ServerSession(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Http1ServerSession()
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http1ServerSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: Http1ServerSession::get_remote_reader
    functionSourceFile: /src/trafficserver/include/proxy/http/Http1ServerSession.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      Http1ServerSession::get_remote_reader()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: PreWarmConfigParams
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmConfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreWarmConfigParams(const HttpConfigParams &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '&operator=(const HttpConfigParams &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PreWarmConfigParams
    signature: PreWarmConfigParams &operator=(const HttpConfigParams &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: PreWarm::SPtrConstDst::host::data
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: PreWarm::SPtrConstDst::host::size
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:68,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:69,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:70,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:72,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:74,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dst
    argTypes:
    - PreWarm::SPtrConstDst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: operator()(const PreWarm::SPtrConstDst &dst) const
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    - PreWarm::SPtrConstDst::host::data
    - CryptoContext::update
    - PreWarm::SPtrConstDst::host::size
    - static_cast<size_t>
    - CryptoContext::finalize
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const PreWarm::SPtrConstDst &dst) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - PreWarm::SPtrConstDst
    - PreWarm::SPtrConstDst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: operator()(const PreWarm::SPtrConstDst &x, const PreWarm::SPtrConstDst
      &y) const
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PreWarm::SPtrConstDst &x, const PreWarm::SPtrConstDst
      &y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - min
    - max
    - rate
    - connect_timeout
    - inactive_timeout
    - srv_enabled
    - verify_server_policy
    - verify_server_properties
    - sni
    argTypes:
    - uint32_t
    - int32_t
    - double
    - ink_hrtime
    - ink_hrtime
    - bool
    - YamlSNIConfig::Policy
    - YamlSNIConfig::Property
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: PreWarm::Conf
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Conf(uint32_t min, int32_t max, double rate, ink_hrtime connect_timeout,
      ink_hrtime inactive_timeout, bool srv_enabled,\n       YamlSNIConfig::Policy
      verify_server_policy, YamlSNIConfig::Property verify_server_properties, const
      std::string &sni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: PreWarm::SPtrConstDst::host::data
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: PreWarm::SPtrConstDst::host::size
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:67,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:68,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:69,1
    - Dst: CryptoContext::update
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:70,1
    - Dst: CryptoContext::finalize
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:72,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:74,1
    - Dst: CryptoHash::fold
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dst
    argTypes:
    - PreWarm::SPtrConstDst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: operator()(const PreWarm::SPtrConstDst &dst) const
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached:
    - CryptoHash::fold
    - PreWarm::SPtrConstDst::host::data
    - CryptoContext::update
    - PreWarm::SPtrConstDst::host::size
    - static_cast<size_t>
    - CryptoContext::finalize
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const PreWarm::SPtrConstDst &dst) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - PreWarm::SPtrConstDst
    - PreWarm::SPtrConstDst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: operator()(const PreWarm::SPtrConstDst &x, const PreWarm::SPtrConstDst
      &y) const
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const PreWarm::SPtrConstDst &x, const PreWarm::SPtrConstDst
      &y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - min
    - max
    - rate
    - connect_timeout
    - inactive_timeout
    - srv_enabled
    - verify_server_policy
    - verify_server_properties
    - sni
    argTypes:
    - uint32_t
    - int32_t
    - double
    - ink_hrtime
    - ink_hrtime
    - bool
    - YamlSNIConfig::Policy
    - YamlSNIConfig::Property
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: PreWarm::Conf
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Conf(uint32_t min, int32_t max, double rate, ink_hrtime connect_timeout,
      ink_hrtime inactive_timeout, bool srv_enabled,\n       YamlSNIConfig::Policy
      verify_server_policy, YamlSNIConfig::Property verify_server_properties, const
      std::string &sni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: PreWarmSM::PreWarmSM
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreWarmSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SNIConfig::set_on_reconfigure_callback
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:321,1
    - Dst: PreWarmManager::reconfigure
      Src: /src/trafficserver/include/proxy/http/PreWarmManager.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: PreWarmManager::PreWarmManager
    functionSourceFile: /src/trafficserver/include/proxy/http/PreWarmManager.h
    functionUses: 0
    functionsReached:
    - PreWarmManager::reconfigure
    - SNIConfig::set_on_reconfigure_callback
    linkageType: ''
    returnType: void
    signature: void PreWarmManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: HttpTransformInfo
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTransformInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: PostDataBuffers::PostDataBuffers
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void PostDataBuffers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - done
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: PostDataBuffers::set_post_data_buffer_done
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_post_data_buffer_done(bool done)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: PostDataBuffers::get_post_data_buffer_done
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_post_data_buffer_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: PostDataBuffers::is_valid
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NetVConnection *>
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: HttpSM::get_server_vc
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<NetVConnection *>
    linkageType: ''
    returnType: NetVConnection
    signature: "NetVConnection *\n  get_server_vc()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: HttpTransact::State::state_machine_id() const
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - ink_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpTransact::State::state_machine_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: '&

      HttpSM::get_user_agent() const'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpUserAgent
    signature: 'HttpUserAgent &

      HttpSM::get_user_agent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: HttpSM::get_ua_txn
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - get_txn
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      HttpSM::get_ua_txn()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: HttpSM::get_server_txn
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyTransaction
    signature: 'ProxyTransaction *

      HttpSM::get_server_txn()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: HttpSM::is_post_transform_request
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_post_transform_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: HttpSM::is_dying
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_dying() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_client_connection_id
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: HttpSM::client_connection_id
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - get_client_connection_id
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpSM::client_connection_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_client_transaction_id
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: HttpSM::client_transaction_id
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - get_client_transaction_id
    linkageType: ''
    returnType: int
    signature: int HttpSM::client_transaction_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_client_transaction_priority_weight
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: HttpSM::client_transaction_priority_weight
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - get_client_transaction_priority_weight
    linkageType: ''
    returnType: int
    signature: int HttpSM::client_transaction_priority_weight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_client_transaction_priority_dependence
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: HttpSM::client_transaction_priority_dependence
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - get_client_transaction_priority_dependence
    linkageType: ''
    returnType: int
    signature: int HttpSM::client_transaction_priority_dependence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: '&

      HttpSM::get_cache_sm()'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpCacheSM
    signature: 'HttpCacheSM &

      HttpSM::get_cache_sm()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HTTPVersion
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:717,1
    - Dst: HttpSM::write_header_into_buffer
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - b
    argTypes:
    - HTTPHdr*
    - MIOBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: HttpSM::write_response_header_into_buffer
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 5
    functionsReached:
    - HTTPVersion
    - HttpSM::write_header_into_buffer
    linkageType: ''
    returnType: int
    signature: int HttpSM::write_response_header_into_buffer(HTTPHdr *h, MIOBuffer
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::find_http_resp_buffer_size
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: HttpSM::find_server_buffer_size
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 4
    functionsReached:
    - HttpSM::find_http_resp_buffer_size
    linkageType: ''
    returnType: int
    signature: int HttpSM::find_server_buffer_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - cont
    argTypes:
    - TSHttpHookID
    - INKContInternal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: HttpSM::txn_hook_add
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 2
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void HttpSM::txn_hook_add(TSHttpHookID id, INKContInternal *cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: HttpSM::txn_hook_get
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 3
    functionsReached:
    - get
    linkageType: ''
    returnType: APIHook
    signature: 'APIHook *

      HttpSM::txn_hook_get(TSHttpHookID id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_txn
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:746,1
    - Dst: get_txn
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: HttpSM::is_transparent_passthrough_allowed
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 2
    functionsReached:
    - get_txn
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_transparent_passthrough_allowed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::ua_buffer_reader::read_avail
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: HttpSM::postbuf_reader_avail
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::ua_buffer_reader::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpSM::postbuf_reader_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::postdata_copy_buffer_start::read_avail
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: HttpSM::postbuf_buffer_avail
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 1
    functionsReached:
    - HttpSM::_postbuf::postdata_copy_buffer_start::read_avail
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpSM::postbuf_buffer_avail()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::clear
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: HttpSM::postbuf_clear
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 4
    functionsReached:
    - HttpSM::_postbuf::clear
    linkageType: ''
    returnType: void
    signature: void HttpSM::postbuf_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::clear
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 773
    functionName: HttpSM::disable_redirect
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 2
    functionsReached:
    - HttpSM::_postbuf::clear
    linkageType: ''
    returnType: void
    signature: void HttpSM::disable_redirect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::copy_partial_post_data
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - consumed_bytes
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: HttpSM::postbuf_copy_partial_data
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::copy_partial_post_data
    linkageType: ''
    returnType: int64_t
    signature: int64_t HttpSM::postbuf_copy_partial_data(int64_t consumed_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::init
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ua_reader
    argTypes:
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: HttpSM::postbuf_init
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::init
    linkageType: ''
    returnType: void
    signature: void HttpSM::postbuf_init(IOBufferReader *ua_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::set_post_data_buffer_done
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - done
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: HttpSM::set_postbuf_done
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::set_post_data_buffer_done
    linkageType: ''
    returnType: void
    signature: void HttpSM::set_postbuf_done(bool done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::get_post_data_buffer_done
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: HttpSM::get_postbuf_done
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::get_post_data_buffer_done
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::get_postbuf_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::is_valid
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: HttpSM::is_postbuf_valid
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 1
    functionsReached:
    - HttpSM::_postbuf::is_valid
    linkageType: ''
    returnType: bool
    signature: bool HttpSM::is_postbuf_valid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpSM::_postbuf::get_post_data_buffer_clone_reader
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: HttpSM::get_postbuf_clone_reader
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 0
    functionsReached:
    - HttpSM::_postbuf::get_post_data_buffer_clone_reader
    linkageType: ''
    returnType: IOBufferReader
    signature: 'IOBufferReader *

      HttpSM::get_postbuf_clone_reader()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 815
    functionName: HttpSM::get_server_remote_addr
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      HttpSM::get_server_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hdr_info::server_request::method_get_wksidx
      Src: /src/trafficserver/include/proxy/http/HttpSM.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 821
    functionName: HttpSM::get_request_method_wksidx
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSM.h
    functionUses: 1
    functionsReached:
    - hdr_info::server_request::method_get_wksidx
    linkageType: ''
    returnType: int
    signature: int HttpSM::get_request_method_wksidx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerSessionPool::count
      Src: /src/trafficserver/include/proxy/http/HttpSessionManager.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ServerSessionPool::count
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionManager.h
    functionUses: 3
    functionsReached:
    - ServerSessionPool::count
    linkageType: ''
    returnType: int
    signature: int count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: HttpSessionManager::HttpSessionManager
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSessionManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ~HttpSessionManager()
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpSessionManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSServerSessionSharingPoolType>
      Src: /src/trafficserver/include/proxy/http/HttpSessionManager.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: HttpSessionManager::set_pool_type
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionManager.h
    functionUses: 0
    functionsReached:
    - static_cast<TSServerSessionSharingPoolType>
    linkageType: ''
    returnType: void
    signature: void set_pool_type(int pool_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: HttpSessionManager::get_pool_type
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionManager.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TSServerSessionSharingPoolType
    signature: TSServerSessionSharingPoolType get_pool_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: detail::HttpSessionAcceptOptions::HttpSessionAcceptOptions
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSessionAcceptOptions::HttpSessionAcceptOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: '&

      HttpSessionAcceptOptions::setTransportType(int type)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setTransportType(int type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:107,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:108,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:109,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: '&

      HttpSessionAcceptOptions::setOutboundIp(IpAddr &ip)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    - swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
    - IpAddr::isIp6
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundIp(IpAddr &ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: '&

      HttpSessionAcceptOptions::setOutboundIp(IpEndpoint *ip)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundIp(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      HttpSessionAcceptOptions::setOutboundPort(uint16_t port)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundPort(uint16_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: '&

      HttpSessionAcceptOptions::setOutboundTransparent(bool flag)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundTransparent(bool flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: '&

      HttpSessionAcceptOptions::setTransparentPassthrough(bool flag)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setTransparentPassthrough(bool flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - order
    argTypes:
    - HostResPreferenceOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: '&

      HttpSessionAcceptOptions::setHostResPreference(HostResPreferenceOrder const
      &order)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setHostResPreference(HostResPreferenceOrder const
      &order)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp_set
    argTypes:
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: '&

      HttpSessionAcceptOptions::setSessionProtocolPreference(SessionProtocolSet const
      &sp_set)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setSessionProtocolPreference(SessionProtocolSet const
      &sp_set)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: detail::HttpSessionAcceptOptions::HttpSessionAcceptOptions
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSessionAcceptOptions::HttpSessionAcceptOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: '&

      HttpSessionAcceptOptions::setTransportType(int type)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setTransportType(int type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::isIp4
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:107,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:108,1
    - Dst: IpAddr::isIp6
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:109,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: '&

      HttpSessionAcceptOptions::setOutboundIp(IpAddr &ip)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached:
    - IpAddr::isIp4
    - swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    - swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
    - IpAddr::isIp6
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundIp(IpAddr &ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: '&

      HttpSessionAcceptOptions::setOutboundIp(IpEndpoint *ip)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundIp(IpEndpoint *ip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      HttpSessionAcceptOptions::setOutboundPort(uint16_t port)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundPort(uint16_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: '&

      HttpSessionAcceptOptions::setOutboundTransparent(bool flag)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setOutboundTransparent(bool flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: '&

      HttpSessionAcceptOptions::setTransparentPassthrough(bool flag)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setTransparentPassthrough(bool flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - order
    argTypes:
    - HostResPreferenceOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: '&

      HttpSessionAcceptOptions::setHostResPreference(HostResPreferenceOrder const
      &order)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setHostResPreference(HostResPreferenceOrder const
      &order)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp_set
    argTypes:
    - SessionProtocolSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: '&

      HttpSessionAcceptOptions::setSessionProtocolPreference(SessionProtocolSet const
      &sp_set)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAcceptOptions
    signature: 'HttpSessionAcceptOptions &

      HttpSessionAcceptOptions::setSessionProtocolPreference(SessionProtocolSet const
      &sp_set)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Options
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:183,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/include/proxy/http/HttpSessionAccept.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: HttpSessionAccept::HttpSessionAccept
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 2
    functionsReached:
    - Options
    - SET_HANDLER
    linkageType: ''
    returnType: void
    signature: void HttpSessionAccept(Options const &opt = Options())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~HttpSessionAccept() override
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpSessionAccept() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: HttpSessionAccept::HttpSessionAccept
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSessionAccept(const HttpSessionAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: '&operator=(const HttpSessionAccept &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/HttpSessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpSessionAccept
    signature: HttpSessionAccept &operator=(const HttpSessionAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: RemapPlugins
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapPlugins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPlugins()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - s
    - u
    - h
    argTypes:
    - HttpTransact::State*
    - URL*
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: RemapPlugins
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapPlugins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPlugins(HttpTransact::State *s, URL *u, HTTPHdr *h, host_hdr_info
      * /* hi ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - HttpTransact::State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: setState
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapPlugins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setState(HttpTransact::State *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: setRequestUrl
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapPlugins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRequestUrl(URL *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - HTTPHdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: setRequestHeader
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapPlugins.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRequestHeader(HTTPHdr *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctl
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: NH_Dbg
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Dbg(ctl, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: NH_Error
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Error(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: NH_Note
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Note(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: NH_Warn
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NH_Warn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~NHHealthStatus()
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NHHealthStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: ResponseCodes
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResponseCodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: add
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 46
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(short code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:86,1
    - Dst: begin
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:86,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 68
    functionsReached:
    - begin
    - std::binary_search
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(short code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:91,1
    - Dst: begin
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:91,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: sort
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 27
    functionsReached:
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void sort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - o
    argTypes:
    - HostRecordCfg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: HostRecord
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostRecord(HostRecordCfg &&o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: HostRecord
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostRecord(const HostRecord &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '&operator=(const HostRecord &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostRecord
    signature: HostRecord &operator=(const HostRecord &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: set_unavailable
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void set_unavailable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: set_available
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void set_available()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - NHSchemeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: getPort
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int getPort(NHSchemeType scheme) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: makeHostPort
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 2
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string makeHostPort(const std::string &hostname, const int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeHostPort
      Src: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: getHostPort
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 1
    functionsReached:
    - makeHostPort
    linkageType: ''
    returnType: std::string
    signature: std::string getHostPort(const int port) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: NextHopHealthStatus::NextHopHealthStatus
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopHealthStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: NextHopSelectionStrategy::NextHopSelectionStrategy
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopSelectionStrategy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ~NextHopSelectionStrategy()
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopSelectionStrategy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NextHopSelectionStrategy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidate
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:51,1
    - Dst: invalidate
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: reset
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/AclFiltering.h
    functionUses: 155
    functionsReached:
    - invalidate
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:65,1
    - Dst: IpAddr::cmp
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/AclFiltering.h
    functionUses: 68
    functionsReached:
    - IpAddr::cmp
    linkageType: ''
    returnType: bool
    signature: bool contains(IpEndpoint const &ip) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: reset
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/AclFiltering.h
    functionUses: 155
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ask_ip_allow_about_category
      Src: /src/trafficserver/include/proxy/http/remap/AclFiltering.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - IpEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: contains
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/AclFiltering.h
    functionUses: 68
    functionsReached:
    - ask_ip_allow_about_category
    linkageType: ''
    returnType: bool
    signature: bool contains(IpEndpoint const &ip) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: NextHopConsistentHash::NextHopConsistentHash
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopConsistentHash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopConsistentHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: RemapProcessor::RemapProcessor
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~RemapProcessor()
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RemapProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: BUILD_TABLE_INFO
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapConfig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BUILD_TABLE_INFO(const BUILD_TABLE_INFO &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '&operator=(const BUILD_TABLE_INFO &)'
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/RemapConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BUILD_TABLE_INFO
    signature: BUILD_TABLE_INFO &operator=(const BUILD_TABLE_INFO &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: PluginDso::dlh
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginDso.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  dlh() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/include/proxy/http/remap/PluginDso.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: PluginDso::LoadedPlugins::LoadedPlugins
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginDso.h
    functionUses: 0
    functionsReached:
    - new_ProxyMutex
    linkageType: ''
    returnType: void
    signature: void LoadedPlugins()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadedPlugins::LoadedPlugins
      Src: /src/trafficserver/include/proxy/http/remap/PluginDso.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: "&\n  loadedPlugins()"
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginDso.h
    functionUses: 0
    functionsReached:
    - LoadedPlugins::LoadedPlugins
    linkageType: ''
    returnType: Ptr<LoadedPlugins>
    signature: "Ptr<LoadedPlugins> &\n  loadedPlugins()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      PluginDso::_dbg_ctl()'
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginDso.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      PluginDso::_dbg_ctl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: UrlRewrite::UrlRewrite
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlRewrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::refcount_inc
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: UrlRewrite::acquire
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 0
    functionsReached:
    - UrlRewrite::refcount_inc
    linkageType: ''
    returnType: UrlRewrite
    signature: "UrlRewrite *\n  acquire()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::refcount_dec
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:106,1
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:109,1
    - Dst: new_Deleter
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: UrlRewrite::release
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 0
    functionsReached:
    - Dbg
    - new_Deleter
    - UrlRewrite::refcount_dec
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: UrlRewrite::is_valid
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: UrlRewrite::rule_count
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rule_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::empty
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: UrlRewrite::empty
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 3
    functionsReached:
    - UrlRewrite::empty
    linkageType: ''
    returnType: bool
    signature: bool empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_destroyTable
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:172,1
    - Dst: UrlRewrite::_destroyList
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - MappingsStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: UrlRewrite::DestroyStore
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 1
    functionsReached:
    - UrlRewrite::_destroyTable
    - UrlRewrite::_destroyList
    linkageType: ''
    returnType: void
    signature: void DestroyStore(MappingsStore &store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_mappingLookup
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - request_url
    - request_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: UrlRewrite::forwardMappingLookup
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 0
    functionsReached:
    - UrlRewrite::_mappingLookup
    linkageType: ''
    returnType: bool
    signature: "bool forwardMappingLookup(URL *request_url, int request_port, const
      char *request_host, int request_host_len,\n                       UrlMappingContainer
      &mapping_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_mappingLookup
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - request_url
    - request_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: UrlRewrite::reverseMappingLookup
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 1
    functionsReached:
    - UrlRewrite::_mappingLookup
    linkageType: ''
    returnType: bool
    signature: "bool reverseMappingLookup(URL *request_url, int request_port, const
      char *request_host, int request_host_len,\n                       UrlMappingContainer
      &mapping_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_mappingLookup
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - request_url
    - request_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: UrlRewrite::permanentRedirectLookup
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 1
    functionsReached:
    - UrlRewrite::_mappingLookup
    linkageType: ''
    returnType: bool
    signature: "bool permanentRedirectLookup(URL *request_url, int request_port, const
      char *request_host, int request_host_len,\n                          UrlMappingContainer
      &mapping_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_mappingLookup
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - request_url
    - request_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: UrlRewrite::temporaryRedirectLookup
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 1
    functionsReached:
    - UrlRewrite::_mappingLookup
    linkageType: ''
    returnType: bool
    signature: "bool temporaryRedirectLookup(URL *request_url, int request_port, const
      char *request_host, int request_host_len,\n                          UrlMappingContainer
      &mapping_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlRewrite::_mappingLookup
      Src: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - request_url
    - recv_port
    - request_host
    - request_host_len
    - mapping_container
    argTypes:
    - URL*
    - int
    - char*
    - int
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: UrlRewrite::forwardMappingWithRecvPortLookup
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlRewrite.h
    functionUses: 0
    functionsReached:
    - UrlRewrite::_mappingLookup
    linkageType: ''
    returnType: bool
    signature: "bool forwardMappingWithRecvPortLookup(URL *request_url, int recv_port,
      const char *request_host, int request_host_len,\n                                   UrlMappingContainer
      &mapping_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: UrlMappingPathIndex::UrlMappingPathIndex
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingPathIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - idx
    - p
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: UrlMappingPathIndex::UrlMappingTrieKey
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingTrieKey(int idx, int p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - UrlMappingTrieKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: operator<(const UrlMappingTrieKey &rhs) const
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const UrlMappingTrieKey &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: UrlMappingPathIndex::UrlMappingPathIndex
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingPathIndex(const UrlMappingPathIndex & /* rhs ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: "&\n  operator=(const UrlMappingPathIndex & /* rhs ATS_UNUSED */)"
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UrlMappingPathIndex
    signature: "UrlMappingPathIndex &\n  operator=(const UrlMappingPathIndex & /*
      rhs ATS_UNUSED */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: URL*::scheme_get_wksidx
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:76,1
    - Dst: find
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:88,1
    - Dst: UrlMappingPathIndex::UrlMappingTrieKey
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:88,1
    - Dst: Dbg
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:91,1
    - Dst: begin
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:92,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - url
    - idx
    - port
    argTypes:
    - URL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: UrlMappingPathIndex::_GetTrie
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMappingPathIndex.h
    functionUses: 2
    functionsReached:
    - begin
    - find
    - end
    - Dbg
    - UrlMappingPathIndex::UrlMappingTrieKey
    - URL*::scheme_get_wksidx
    linkageType: ''
    returnType: UrlMappingTrie
    signature: "UrlMappingTrie *\n  _GetTrie(URL *url, int &idx, int port, bool search
      = true) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: redirect_tag_str::redirect_tag_str
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void redirect_tag_str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_free
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: ~redirect_tag_str()
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached:
    - ats_free
    linkageType: ''
    returnType: void
    signature: void ~redirect_tag_str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: url_mapping::plugin_instance_count
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t plugin_instance_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: url_mapping::getRank
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getRank() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rank
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: url_mapping::setRank
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setRank(int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_get_ref
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: url_mapping::setRemapKey
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached:
    - string_get_ref
    linkageType: ''
    returnType: void
    signature: void setRemapKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: "&\n  getRemapKey()"
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getRemapKey()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: url_mapping::incrementCount
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void incrementCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: UrlMappingContainer::UrlMappingContainer
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: UrlMappingContainer::UrlMappingContainer
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingContainer(HdrHeap *heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteToURL
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ~UrlMappingContainer()
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached:
    - deleteToURL
    linkageType: ''
    returnType: void
    signature: void ~UrlMappingContainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: UrlMappingContainer::getToURL
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: URL
    signature: "URL *\n  getToURL() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: UrlMappingContainer::getFromURL
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: URL
    signature: "URL *\n  getFromURL() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: UrlMappingContainer::getMapping
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: url_mapping
    signature: "url_mapping *\n  getMapping() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlMappingContainer::deleteToURL
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - url_mapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: UrlMappingContainer::set
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 2
    functionsReached:
    - UrlMappingContainer::deleteToURL
    linkageType: ''
    returnType: void
    signature: void set(url_mapping *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - heap
    argTypes:
    - HdrHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: UrlMappingContainer::set
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(HdrHeap *heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:197,1
    - Dst: UrlMappingContainer::deleteToURL
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:198,1
    - Dst: create
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: UrlMappingContainer::createNewToURL
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 1
    functionsReached:
    - create
    - ink_assert
    - UrlMappingContainer::deleteToURL
    linkageType: ''
    returnType: URL
    signature: "URL *\n  createNewToURL()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlMappingContainer::clear
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: UrlMappingContainer::deleteToURL
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 2
    functionsReached:
    - UrlMappingContainer::clear
    linkageType: ''
    returnType: void
    signature: void deleteToURL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlMappingContainer::deleteToURL
      Src: /src/trafficserver/include/proxy/http/remap/UrlMapping.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: UrlMappingContainer::clear
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 1
    functionsReached:
    - UrlMappingContainer::deleteToURL
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - orig
    argTypes:
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: UrlMappingContainer::UrlMappingContainer
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlMappingContainer(const UrlMappingContainer &orig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - UrlMappingContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '&operator=(const UrlMappingContainer &rhs)'
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/UrlMapping.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UrlMappingContainer
    signature: UrlMappingContainer &operator=(const UrlMappingContainer &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: NextHopRoundRobin::NextHopRoundRobin
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopRoundRobin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopRoundRobin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - policy
    - n
    argTypes:
    - std::string_view
    - NHPolicyType
    - ts::Yaml::Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: NextHopRoundRobin::NextHopRoundRobin
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopRoundRobin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopRoundRobin(const std::string_view &name, const NHPolicyType
      &policy, ts::Yaml::Map &n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: RemapPluginInst::RemapPluginInst
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginFactory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: RemapPluginInst::RemapPluginInst
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginFactory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapPluginInst(RemapPluginInst &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: '&

      PluginFactory::_dbg_ctl()'
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/PluginFactory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      PluginFactory::_dbg_ctl()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: NextHopStrategyFactory::NextHopStrategyFactory
    functionSourceFile: /src/trafficserver/include/proxy/http/remap/NextHopStrategyFactory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NextHopStrategyFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Http2ConnectionState::Http2ConnectionState
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState(const Http2ConnectionState &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(const Http2ConnectionState &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ConnectionState
    signature: Http2ConnectionState &operator=(const Http2ConnectionState &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - settings
    argTypes:
    - Http2ConnectionSettings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: Http2ConnectionState::OutstandingSettingsFrame::OutstandingSettingsFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutstandingSettingsFrame(const Http2ConnectionSettings &settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: "&\n    get_outstanding_settings() const"
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ConnectionSettings
    signature: "Http2ConnectionSettings &\n    get_outstanding_settings() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: Http2ConnectionState::get_latest_stream_id_in
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2StreamId
    signature: Http2StreamId Http2ConnectionState::get_latest_stream_id_in() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: Http2ConnectionState::get_latest_stream_id_out
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2StreamId
    signature: Http2StreamId Http2ConnectionState::get_latest_stream_id_out() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: Http2ConnectionState::get_stream_requests
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http2ConnectionState::get_stream_requests() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: Http2ConnectionState::increment_stream_requests
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::increment_stream_requests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: Http2ConnectionState::get_continued_stream_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2StreamId
    signature: Http2StreamId Http2ConnectionState::get_continued_stream_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - Http2StreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: Http2ConnectionState::set_continued_stream_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::set_continued_stream_id(Http2StreamId stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: Http2ConnectionState::clear_continued_stream_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::clear_continued_stream_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: Http2ConnectionState::get_peer_stream_count
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Http2ConnectionState::get_peer_stream_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: Http2ConnectionState::decrement_peer_stream_count
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::decrement_peer_stream_count()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Http2ConnectionState::get_stream_requests
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:485,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: Http2ConnectionState::get_stream_error_rate
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - Http2ConnectionState::get_stream_requests
    linkageType: ''
    returnType: double
    signature: double Http2ConnectionState::get_stream_error_rate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: Http2ConnectionState::get_shutdown_reason
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ErrorCode
    signature: Http2ErrorCode Http2ConnectionState::get_shutdown_reason() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: Http2ConnectionState::is_state_closed
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::is_state_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: Http2ConnectionState::is_recursing
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::is_recursing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http2_is_client_streamid
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:519,1
    - Dst: Http2ConnectionState::get_latest_stream_id_in
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:520,1
    - Dst: Http2ConnectionState::get_latest_stream_id_out
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - Http2StreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: Http2ConnectionState::is_valid_streamid
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 5
    functionsReached:
    - http2_is_client_streamid
    - Http2ConnectionState::get_latest_stream_id_in
    - Http2ConnectionState::get_latest_stream_id_out
    linkageType: ''
    returnType: bool
    signature: bool Http2ConnectionState::is_valid_streamid(Http2StreamId id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: Http2ConnectionState::get_shutdown_state
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2ShutdownState
    signature: Http2ShutdownState Http2ConnectionState::get_shutdown_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - reason
    argTypes:
    - Http2ShutdownState
    - Http2ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: Http2ConnectionState::set_shutdown_state
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::set_shutdown_state(Http2ShutdownState state,
      Http2ErrorCode reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: Http2ConnectionState::get_zombie_event
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Event
    signature: 'Event *

      Http2ConnectionState::get_zombie_event()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:550,1
    - Dst: this_ethread
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:552,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 554
    functionName: Http2ConnectionState::schedule_zombie_event
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ConnectionState.h
    functionUses: 3
    functionsReached:
    - HRTIME_SECONDS
    - cancel
    - this_ethread
    linkageType: ''
    returnType: void
    signature: void Http2ConnectionState::schedule_zombie_event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Http2Stream::Http2Stream
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Http2Stream::do_io_shutdown
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_io_shutdown(ShutdownHowTo_t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Http2Stream::get_send_header
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HTTPHdr
    signature: "HTTPHdr *\n  get_send_header()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::_milestones::mark
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Http2StreamMilestone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: Http2Stream::mark_milestone
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 1
    functionsReached:
    - Http2Stream::_milestones::mark
    linkageType: ''
    returnType: void
    signature: void Http2Stream::mark_milestone(Http2StreamMilestone type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::write_vio::ntodo
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: Http2Stream::is_write_vio_done
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - Http2Stream::write_vio::ntodo
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_write_vio_done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: Http2Stream::update_sent_count
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::update_sent_count(unsigned num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: Http2Stream::get_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2StreamId
    signature: Http2StreamId Http2Stream::get_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: Http2Stream::get_transaction_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http2Stream::get_transaction_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: Http2Stream::set_transaction_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_transaction_id(int new_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: Http2Stream::get_state
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Http2StreamState
    signature: Http2StreamState Http2Stream::get_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - Http2WindowSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: Http2Stream::set_peer_rwnd
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_peer_rwnd(Http2WindowSize new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - Http2WindowSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: Http2Stream::set_local_rwnd
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_local_rwnd(Http2WindowSize new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: Http2Stream::trailing_header_is_possible
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::trailing_header_is_possible() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: Http2Stream::set_trailing_header_is_possible
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_trailing_header_is_possible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2_headers
    argTypes:
    - HTTPHdr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: Http2Stream::set_receive_headers
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - copy
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_receive_headers(HTTPHdr &h2_headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::_receive_header::destroy
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:371,1
    - Dst: Http2Stream::_receive_header::create
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: Http2Stream::reset_receive_headers
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - Http2Stream::_receive_header::destroy
    - Http2Stream::_receive_header::create
    linkageType: ''
    returnType: void
    signature: void Http2Stream::reset_receive_headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::_send_header::destroy
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:378,1
    - Dst: Http2Stream::_send_header::create
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: Http2Stream::reset_send_headers
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 1
    functionsReached:
    - Http2Stream::_send_header::destroy
    - Http2Stream::_send_header::create
    linkageType: ''
    returnType: void
    signature: void Http2Stream::reset_send_headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: Http2Stream::increment_data_length
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::increment_data_length(uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_content_length
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:392,1
    - Dst: Warning
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:394,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:395,1
    - Dst: connection_id
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: Http2Stream::payload_length_is_valid
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - get_content_length
    - Warning
    - connection_id
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::payload_length_is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::is_outbound_connection
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: Http2Stream::is_state_writeable
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 4
    functionsReached:
    - Http2Stream::is_outbound_connection
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_state_writeable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: Http2Stream::is_closed
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_closed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: Http2Stream::is_first_transaction
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_first_transaction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::read_vio::get_writer
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: Http2Stream::read_vio_writer
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - Http2Stream::read_vio::get_writer
    linkageType: ''
    returnType: MIOBuffer
    signature: 'MIOBuffer *

      Http2Stream::read_vio_writer() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::read_vio::is_disabled
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: Http2Stream::is_read_enabled
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached:
    - Http2Stream::read_vio::is_disabled
    linkageType: ''
    returnType: bool
    signature: bool Http2Stream::is_read_enabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2Stream::cancel_active_timeout
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:435,1
    - Dst: cancel_inactive_timeout
      Src: /src/trafficserver/include/proxy/http2/Http2Stream.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: Http2Stream::_clear_timers
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 3
    functionsReached:
    - Http2Stream::cancel_active_timeout
    - cancel_inactive_timeout
    linkageType: ''
    returnType: void
    signature: void Http2Stream::_clear_timers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: Http2Stream::update_read_length
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::update_read_length(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: Http2Stream::set_read_done
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Stream::set_read_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - f
    - hh
    - impl
    argTypes:
    - MIMEField*
    - HdrHeap*
    - MIMEHdrImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: MIMEFieldWrapper::MIMEFieldWrapper
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MIMEFieldWrapper(MIMEField *f, HdrHeap *hh, MIMEHdrImpl *impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldWrapper::name_set
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:77,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: MIMEFieldWrapper::name_set
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 3
    functionsReached:
    - MIMEFieldWrapper::name_set
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void name_set(const char *name, int name_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldWrapper::value_set
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:83,1
    - Dst: static_cast<std::string_view::size_type>
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - value_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: MIMEFieldWrapper::value_set
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 3
    functionsReached:
    - MIMEFieldWrapper::value_set
    - static_cast<std::string_view::size_type>
    linkageType: ''
    returnType: void
    signature: void value_set(const char *value, int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldWrapper::name_get
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: MIMEFieldWrapper::name_get
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 3
    functionsReached:
    - MIMEFieldWrapper::name_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view name_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIMEFieldWrapper::value_get
      Src: /src/trafficserver/include/proxy/http2/HPACK.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: MIMEFieldWrapper::value_get
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 3
    functionsReached:
    - MIMEFieldWrapper::value_get
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view value_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: MIMEFieldWrapper::field_get
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MIMEField
    signature: "MIMEField *\n  field_get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: HpackIndexingTable::HpackIndexingTable
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpackIndexingTable(uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~HpackIndexingTable()
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HpackIndexingTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: HpackIndexingTable::HpackIndexingTable
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpackIndexingTable(HpackIndexingTable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '&operator=(const HpackIndexingTable &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/HPACK.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpackIndexingTable
    signature: HpackIndexingTable &operator=(const HpackIndexingTable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Http2SessionAccept
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2SessionAccept.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2SessionAccept(const Http2SessionAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '&operator=(const Http2SessionAccept &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2SessionAccept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2SessionAccept
    signature: Http2SessionAccept &operator=(const Http2SessionAccept &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - h
    - r
    argTypes:
    - Http2FrameHeader
    - IOBufferReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Http2Frame::Http2Frame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Frame(const Http2FrameHeader &h, IOBufferReader *r, bool
      e = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - h
    argTypes:
    - Http2FrameHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Http2TxFrame::Http2TxFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2TxFrame(const Http2FrameHeader &h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Http2TxFrame()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http2TxFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '*operator new(std::size_t)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '*operator new[](std::size_t)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new[](std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stream_id
    - flags
    - r
    - l
    argTypes:
    - Http2StreamId
    - uint8_t
    - IOBufferReader*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Http2DataFrame::Http2DataFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2DataFrame(Http2StreamId stream_id, uint8_t flags, IOBufferReader
      *r, uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stream_id
    - flags
    - h
    - l
    argTypes:
    - Http2StreamId
    - uint8_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Http2HeadersFrame::Http2HeadersFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2HeadersFrame(Http2StreamId stream_id, uint8_t flags, uint8_t
      *h, uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - stream_id
    - flags
    - p
    argTypes:
    - Http2StreamId
    - uint8_t
    - Http2Priority
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: Http2PriorityFrame::Http2PriorityFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2PriorityFrame(Http2StreamId stream_id, uint8_t flags, Http2Priority
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream_id
    - e
    argTypes:
    - Http2StreamId
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Http2RstStreamFrame::Http2RstStreamFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2RstStreamFrame(Http2StreamId stream_id, uint32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream_id
    - flags
    argTypes:
    - Http2StreamId
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Http2SettingsFrame::Http2SettingsFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2SettingsFrame(Http2StreamId stream_id, uint8_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http2/Http2Frame.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stream_id
    - flags
    - p
    - s
    argTypes:
    - Http2StreamId
    - uint8_t
    - Http2SettingsParameter*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: Http2SettingsFrame::Http2SettingsFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Http2SettingsFrame(Http2StreamId stream_id, uint8_t flags, Http2SettingsParameter
      *p, uint32_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/include/proxy/http2/Http2Frame.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - stream_id
    - flags
    - p
    - h
    - l
    argTypes:
    - Http2StreamId
    - uint8_t
    - Http2PushPromise
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: Http2PushPromiseFrame::Http2PushPromiseFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Http2PushPromiseFrame(Http2StreamId stream_id, uint8_t flags,
      Http2PushPromise p, uint8_t *h, uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - stream_id
    - flags
    - data
    argTypes:
    - Http2StreamId
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: Http2PingFrame::Http2PingFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2PingFrame(Http2StreamId stream_id, uint8_t flags, const uint8_t
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Http2Goaway
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: Http2GoawayFrame::Http2GoawayFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2GoawayFrame(Http2Goaway p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream_id
    - w
    argTypes:
    - Http2StreamId
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: Http2WindowUpdateFrame::Http2WindowUpdateFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2WindowUpdateFrame(Http2StreamId stream_id, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stream_id
    - flags
    - h
    - l
    argTypes:
    - Http2StreamId
    - uint8_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: Http2ContinuationFrame::Http2ContinuationFrame
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2Frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ContinuationFrame(Http2StreamId stream_id, uint8_t flags,
      uint8_t *h, uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: Http2Error
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Http2Error(const Http2ErrorClass error_class = Http2ErrorClass::HTTP2_ERROR_CLASS_NONE,\n
      \            const Http2ErrorCode error_code = Http2ErrorCode::HTTP2_ERROR_NO_ERROR,
      const char *err_msg = \"\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Http2Priority
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Priority()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Http2HeadersParameter
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2HeadersParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: Http2Goaway
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2Goaway()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - streamid
    argTypes:
    - Http2StreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: http2_is_client_streamid
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http2_is_client_streamid(Http2StreamId streamid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - streamid
    argTypes:
    - Http2StreamId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: http2_is_server_streamid
    functionSourceFile: /src/trafficserver/include/proxy/http2/HTTP2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http2_is_server_streamid(Http2StreamId streamid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Http2ClientSession::Http2ClientSession
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ClientSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ClientSession(Http2ClientSession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '&operator=(const Http2ClientSession &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ClientSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ClientSession
    signature: Http2ClientSession &operator=(const Http2ClientSession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~Http2CommonSession()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Http2CommonSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: Http2CommonSession::ready_to_free
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::ready_to_free() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Http2CommonSession::set_dying_event
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::set_dying_event(int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: Http2CommonSession::get_dying_event
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Http2CommonSession::get_dying_event() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Http2CommonSession::is_recursing
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::is_recursing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: Http2CommonSession::get_half_close_local_flag
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::get_half_close_local_flag() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:241,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:241,1
    - Dst: end
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: Http2CommonSession::is_url_pushed
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached:
    - find
    - static_cast<size_t>
    - end
    linkageType: ''
    returnType: bool
    signature: bool Http2CommonSession::is_url_pushed(const char *url, int url_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_session
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: Http2CommonSession::get_connection_id
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 1
    functionsReached:
    - get_proxy_session
    linkageType: ''
    returnType: int64_t
    signature: int64_t Http2CommonSession::get_connection_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_session
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: '&

      Http2CommonSession::get_mutex()'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached:
    - get_proxy_session
    linkageType: ''
    returnType: Ptr<ProxyMutex>
    signature: 'Ptr<ProxyMutex> &

      Http2CommonSession::get_mutex()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_session
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: Http2CommonSession::get_netvc
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 1
    functionsReached:
    - get_proxy_session
    linkageType: ''
    returnType: NetVConnection
    signature: 'NetVConnection *

      Http2CommonSession::get_netvc()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_session
      Src: /src/trafficserver/include/proxy/http2/Http2CommonSession.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: Http2CommonSession::do_clear_session_active
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSession.h
    functionUses: 0
    functionsReached:
    - get_proxy_session
    linkageType: ''
    returnType: void
    signature: void Http2CommonSession::do_clear_session_active()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PriorityQueueEntry<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:48,1
    - Dst: std::make_unique<PriorityQueue<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PriorityQueueEntry<Node *>>
    - std::make_unique<PriorityQueue<Node *>>
    linkageType: ''
    returnType: void
    signature: void Node(void *t = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PriorityQueueEntry<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:54,1
    - Dst: std::make_unique<PriorityQueue<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - i
    - w
    - p
    - n
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PriorityQueueEntry<Node *>>
    - std::make_unique<PriorityQueue<Node *>>
    linkageType: ''
    returnType: void
    signature: void Node(uint32_t i, uint32_t w, uint32_t p, Node *n, void *t = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:61,1
    - Dst: remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - empty
    - remove
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Node &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '&operator=(const Node &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node &operator=(const Node &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: operator<(const Node &n) const
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Node &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator>(const Node &n) const
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Node &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Http2DependencyTree::Node::is_shadow
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shadow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:117,1
    - Dst: resize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_concurrent_streams
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Http2DependencyTree::Tree::Tree
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - MIN
    - resize
    linkageType: ''
    returnType: void
    signature: void Tree(uint32_t max_concurrent_streams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~Tree()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Tree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _dump
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Http2DependencyTree::Tree::dump_tree
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - _dump
    linkageType: ''
    returnType: void
    signature: void dump_tree(std::ostream &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_dump
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - node
    - output
    argTypes:
    - Node*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: Http2DependencyTree::Tree<T>::_dump
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Http2DependencyTree::Tree<T>::_dump
    linkageType: ''
    returnType: void
    signature: void Tree<T>::_dump(Node *node, std::ostream &output) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:205,1
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - node
    - id
    - depth
    - is_max_leaf
    argTypes:
    - Node*
    - uint32_t
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: Http2DependencyTree::Tree<T>::_find
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Node*::children::empty
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::_find(Node *node, uint32_t id, uint32_t depth, bool *is_max_leaf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - is_max_leaf
    argTypes:
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: Http2DependencyTree::Tree<T>::find_shadow
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::find_shadow(uint32_t id, bool *is_max_leaf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:231,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - is_max_leaf
    argTypes:
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: Http2DependencyTree::Tree<T>::find
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::is_shadow
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::find(uint32_t id, bool *is_max_leaf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: Http2DependencyTree::Tree<T>::add_ancestor
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tree<T>::add_ancestor(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Http2DependencyTree::Tree<T>::was_ancestor
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Tree<T>::was_ancestor(uint32_t pid) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::find_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:268,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:269,1
    - Dst: Http2DependencyTree::Tree<T>::reprioritize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:275,1
    - Dst: Http2DependencyTree::Tree<T>::find_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:280,1
    - Dst: Http2DependencyTree::Tree<T>::was_ancestor
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:286,1
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:288,1
    - Dst: Http2DependencyTree::Tree<T>::add
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:299,1
    - Dst: Node::Node
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:308,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:311,1
    - Dst: Node*::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:313,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:313,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:314,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:314,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:316,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:321,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:322,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:323,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:324,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - parent_id
    - id
    - weight
    - exclusive
    - t
    - shadow
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 330
    functionName: Http2DependencyTree::Tree<T>::add
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - Http2DependencyTree::Tree<T>::reprioritize
    - Http2DependencyTree::Tree<T>::add
    - Node*::queue::empty
    - Http2DependencyTree::Tree<T>::find_shadow
    - Node*::children::push
    - Node*::children::pop
    - Node*::queue::push
    - Http2DependencyTree::Tree<T>::was_ancestor
    - Node::Node
    - Http2DependencyTree::Tree<T>::find
    - Node*::queue::erase
    - Node*::entry::get
    - Node*::is_shadow
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::add(uint32_t parent_id, uint32_t id, uint32_t weight, bool exclusive,
      T t, bool shadow)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::in
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:339,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:339,1
    - Dst: Http2DependencyTree::Tree<T>::in
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - current
    - node
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Http2DependencyTree::Tree<T>::in
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Http2DependencyTree::Tree<T>::in
    - Node*::queue::in
    - Node*::entry::get
    linkageType: ''
    returnType: bool
    signature: bool Tree<T>::in(Node *current, Node *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::add_ancestor
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:362,1
    - Dst: Node*::children::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:365,1
    - Dst: Node*::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:367,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:367,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:371,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:372,1
    - Dst: Node*::queue::top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:372,1
    - Dst: Node*::queue::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:373,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:377,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:378,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:379,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Http2DependencyTree::Tree<T>::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 392
    functionName: Http2DependencyTree::Tree<T>::remove
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Http2DependencyTree::Tree<T>::remove
    - Node*::queue::empty
    - Node*::children::remove
    - Node*::children::push
    - Http2DependencyTree::Tree<T>::add_ancestor
    - Node*::queue::push
    - Node*::children::pop
    - Node*::children::empty
    - Node*::queue::top
    - Node*::queue::erase
    - Node*::queue::pop
    - Node*::entry::get
    - Node*::is_shadow
    linkageType: ''
    returnType: void
    signature: void Tree<T>::remove(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:398,1
    - Dst: Http2DependencyTree::Tree<T>::reprioritize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - id
    - new_parent_id
    - exclusive
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: Http2DependencyTree::Tree<T>::reprioritize
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - Http2DependencyTree::Tree<T>::reprioritize
    - Http2DependencyTree::Tree<T>::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::reprioritize(uint32_t id, uint32_t new_parent_id, bool exclusive)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:420,1
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:422,1
    - Dst: Http2DependencyTree::Tree<T>::in_parent_chain
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:427,1
    - Dst: Http2DependencyTree::Tree<T>::_change_parent
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:428,1
    - Dst: Http2DependencyTree::Tree<T>::_change_parent
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:430,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Http2DependencyTree::Tree<T>::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - node
    - new_parent_id
    - exclusive
    argTypes:
    - Node*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 439
    functionName: Http2DependencyTree::Tree<T>::reprioritize
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - Http2DependencyTree::Tree<T>::remove
    - Node*::queue::empty
    - Http2DependencyTree::Tree<T>::_change_parent
    - Http2DependencyTree::Tree<T>::in_parent_chain
    - ink_assert
    - Node*::children::empty
    - Http2DependencyTree::Tree<T>::find
    - Node*::is_shadow
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::reprioritize(Node *node, uint32_t new_parent_id, bool exclusive)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - maybe_parent
    - target
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: Http2DependencyTree::Tree<T>::in_parent_chain
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Tree<T>::in_parent_chain(Node *maybe_parent, Node *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:459,1
    - Dst: Node*::parent::children::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:460,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:462,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:462,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:466,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:467,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:467,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:475,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:477,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:477,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:478,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:478,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:481,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:482,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:487,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:488,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:491,1
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:494,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - node
    - new_parent
    - exclusive
    argTypes:
    - Node*
    - Node*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 499
    functionName: Http2DependencyTree::Tree<T>::_change_parent
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - ink_release_assert
    - Node*::queue::empty
    - Node*::children::push
    - Node*::children::pop
    - Node*::queue::push
    - Node*::parent::children::remove
    - Node*::parent::queue::erase
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::_change_parent(Node *node, Node *new_parent, bool exclusive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:510,1
    - Dst: Node*::queue::top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: Http2DependencyTree::Tree<T>::_top
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::queue::empty
    - Node*::queue::top
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::_top(Node *node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: Http2DependencyTree::Tree<T>::top
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Http2DependencyTree::Tree<T>::_top
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::top()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:534,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: Http2DependencyTree::Tree<T>::activate
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::activate(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:546,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:548,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:548,1
    - Dst: Http2DependencyTree::Tree<T>::update
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - node
    - sent
    argTypes:
    - Node*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 556
    functionName: Http2DependencyTree::Tree<T>::deactivate
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::queue::empty
    - Node*::parent::queue::erase
    - Http2DependencyTree::Tree<T>::update
    - Node*::entry::get
    linkageType: ''
    returnType: void
    signature: void Tree<T>::deactivate(Node *node, uint32_t sent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::parent::queue::update
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:566,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:566,1
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:568,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - sent
    argTypes:
    - Node*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: Http2DependencyTree::Tree<T>::update
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Node*::parent::queue::update
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::update(Node *node, uint32_t sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: Http2DependencyTree::Tree<T>::size
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Tree<T>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PriorityQueueEntry<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:48,1
    - Dst: std::make_unique<PriorityQueue<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PriorityQueueEntry<Node *>>
    - std::make_unique<PriorityQueue<Node *>>
    linkageType: ''
    returnType: void
    signature: void Node(void *t = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PriorityQueueEntry<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:54,1
    - Dst: std::make_unique<PriorityQueue<Node *>>
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - i
    - w
    - p
    - n
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PriorityQueueEntry<Node *>>
    - std::make_unique<PriorityQueue<Node *>>
    linkageType: ''
    returnType: void
    signature: void Node(uint32_t i, uint32_t w, uint32_t p, Node *n, void *t = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:61,1
    - Dst: remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - empty
    - remove
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Http2DependencyTree::Node::Node
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(const Node &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '&operator=(const Node &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node &operator=(const Node &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: operator<(const Node &n) const
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Node &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator>(const Node &n) const
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Node &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Http2DependencyTree::Node::is_shadow
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shadow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:117,1
    - Dst: resize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_concurrent_streams
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Http2DependencyTree::Tree::Tree
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - MIN
    - resize
    linkageType: ''
    returnType: void
    signature: void Tree(uint32_t max_concurrent_streams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~Tree()
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Tree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _dump
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Http2DependencyTree::Tree::dump_tree
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - _dump
    linkageType: ''
    returnType: void
    signature: void dump_tree(std::ostream &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_dump
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - node
    - output
    argTypes:
    - Node*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: Http2DependencyTree::Tree<T>::_dump
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - Http2DependencyTree::Tree<T>::_dump
    linkageType: ''
    returnType: void
    signature: void Tree<T>::_dump(Node *node, std::ostream &output) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:205,1
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - node
    - id
    - depth
    - is_max_leaf
    argTypes:
    - Node*
    - uint32_t
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: Http2DependencyTree::Tree<T>::_find
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 4
    functionsReached:
    - Node*::children::empty
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::_find(Node *node, uint32_t id, uint32_t depth, bool *is_max_leaf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - is_max_leaf
    argTypes:
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: Http2DependencyTree::Tree<T>::find_shadow
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::find_shadow(uint32_t id, bool *is_max_leaf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:231,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - is_max_leaf
    argTypes:
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: Http2DependencyTree::Tree<T>::find
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 3
    functionsReached:
    - Node*::is_shadow
    - Http2DependencyTree::Tree<T>::_find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::find(uint32_t id, bool *is_max_leaf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: Http2DependencyTree::Tree<T>::add_ancestor
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tree<T>::add_ancestor(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Http2DependencyTree::Tree<T>::was_ancestor
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Tree<T>::was_ancestor(uint32_t pid) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::find_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:268,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:269,1
    - Dst: Http2DependencyTree::Tree<T>::reprioritize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:275,1
    - Dst: Http2DependencyTree::Tree<T>::find_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:280,1
    - Dst: Http2DependencyTree::Tree<T>::was_ancestor
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:286,1
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:288,1
    - Dst: Http2DependencyTree::Tree<T>::add
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:299,1
    - Dst: Node::Node
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:308,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:311,1
    - Dst: Node*::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:313,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:313,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:314,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:314,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:316,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:321,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:322,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:323,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:324,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - parent_id
    - id
    - weight
    - exclusive
    - t
    - shadow
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 330
    functionName: Http2DependencyTree::Tree<T>::add
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - Http2DependencyTree::Tree<T>::reprioritize
    - Http2DependencyTree::Tree<T>::add
    - Node*::queue::empty
    - Http2DependencyTree::Tree<T>::find_shadow
    - Node*::children::push
    - Node*::children::pop
    - Node*::queue::push
    - Http2DependencyTree::Tree<T>::was_ancestor
    - Node::Node
    - Http2DependencyTree::Tree<T>::find
    - Node*::queue::erase
    - Node*::entry::get
    - Node*::is_shadow
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::add(uint32_t parent_id, uint32_t id, uint32_t weight, bool exclusive,
      T t, bool shadow)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::in
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:339,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:339,1
    - Dst: Http2DependencyTree::Tree<T>::in
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - current
    - node
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Http2DependencyTree::Tree<T>::in
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - Http2DependencyTree::Tree<T>::in
    - Node*::queue::in
    - Node*::entry::get
    linkageType: ''
    returnType: bool
    signature: bool Tree<T>::in(Node *current, Node *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::add_ancestor
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:362,1
    - Dst: Node*::children::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:365,1
    - Dst: Node*::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:367,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:367,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:371,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:372,1
    - Dst: Node*::queue::top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:372,1
    - Dst: Node*::queue::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:373,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:377,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:378,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:379,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:384,1
    - Dst: Http2DependencyTree::Tree<T>::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 392
    functionName: Http2DependencyTree::Tree<T>::remove
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 3
    functionsReached:
    - Http2DependencyTree::Tree<T>::remove
    - Node*::queue::empty
    - Node*::children::remove
    - Node*::children::push
    - Http2DependencyTree::Tree<T>::add_ancestor
    - Node*::queue::push
    - Node*::children::pop
    - Node*::children::empty
    - Node*::queue::top
    - Node*::queue::erase
    - Node*::queue::pop
    - Node*::entry::get
    - Node*::is_shadow
    linkageType: ''
    returnType: void
    signature: void Tree<T>::remove(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:398,1
    - Dst: Http2DependencyTree::Tree<T>::reprioritize
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - id
    - new_parent_id
    - exclusive
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: Http2DependencyTree::Tree<T>::reprioritize
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 4
    functionsReached:
    - Http2DependencyTree::Tree<T>::reprioritize
    - Http2DependencyTree::Tree<T>::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::reprioritize(uint32_t id, uint32_t new_parent_id, bool exclusive)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:420,1
    - Dst: Http2DependencyTree::Tree<T>::find
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:422,1
    - Dst: Http2DependencyTree::Tree<T>::in_parent_chain
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:427,1
    - Dst: Http2DependencyTree::Tree<T>::_change_parent
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:428,1
    - Dst: Http2DependencyTree::Tree<T>::_change_parent
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:430,1
    - Dst: Node*::is_shadow
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Node*::children::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:433,1
    - Dst: Http2DependencyTree::Tree<T>::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - node
    - new_parent_id
    - exclusive
    argTypes:
    - Node*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 439
    functionName: Http2DependencyTree::Tree<T>::reprioritize
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 4
    functionsReached:
    - Http2DependencyTree::Tree<T>::remove
    - Node*::queue::empty
    - Http2DependencyTree::Tree<T>::_change_parent
    - Http2DependencyTree::Tree<T>::in_parent_chain
    - ink_assert
    - Node*::children::empty
    - Http2DependencyTree::Tree<T>::find
    - Node*::is_shadow
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::reprioritize(Node *node, uint32_t new_parent_id, bool exclusive)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - maybe_parent
    - target
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: Http2DependencyTree::Tree<T>::in_parent_chain
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Tree<T>::in_parent_chain(Node *maybe_parent, Node *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:459,1
    - Dst: Node*::parent::children::remove
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:460,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:462,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:462,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:466,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:467,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:467,1
    - Dst: Node*::children::pop
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:475,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:477,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:477,1
    - Dst: Node*::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:478,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:478,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:481,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:482,1
    - Dst: Node*::children::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:487,1
    - Dst: ink_release_assert
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:488,1
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:491,1
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:494,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - node
    - new_parent
    - exclusive
    argTypes:
    - Node*
    - Node*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 499
    functionName: Http2DependencyTree::Tree<T>::_change_parent
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - ink_release_assert
    - Node*::queue::empty
    - Node*::children::push
    - Node*::children::pop
    - Node*::queue::push
    - Node*::parent::children::remove
    - Node*::parent::queue::erase
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::_change_parent(Node *node, Node *new_parent, bool exclusive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:510,1
    - Dst: Node*::queue::top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: Http2DependencyTree::Tree<T>::_top
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 1
    functionsReached:
    - Node*::queue::empty
    - Node*::queue::top
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::_top(Node *node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Http2DependencyTree::Tree<T>::_top
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: Http2DependencyTree::Tree<T>::top
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Http2DependencyTree::Tree<T>::_top
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Tree<T>::top()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:534,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: Http2DependencyTree::Tree<T>::activate
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::activate(Node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::queue::empty
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:546,1
    - Dst: Node*::parent::queue::erase
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:548,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:548,1
    - Dst: Http2DependencyTree::Tree<T>::update
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - node
    - sent
    argTypes:
    - Node*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 556
    functionName: Http2DependencyTree::Tree<T>::deactivate
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached:
    - Node*::queue::empty
    - Node*::parent::queue::erase
    - Http2DependencyTree::Tree<T>::update
    - Node*::entry::get
    linkageType: ''
    returnType: void
    signature: void Tree<T>::deactivate(Node *node, uint32_t sent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::parent::queue::update
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:566,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:566,1
    - Dst: Node*::parent::queue::push
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:568,1
    - Dst: Node*::entry::get
      Src: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - sent
    argTypes:
    - Node*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: Http2DependencyTree::Tree<T>::update
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 2
    functionsReached:
    - Node*::parent::queue::update
    - Node*::entry::get
    - Node*::parent::queue::push
    linkageType: ''
    returnType: void
    signature: void Tree<T>::update(Node *node, uint32_t sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: Http2DependencyTree::Tree<T>::size
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2DependencyTree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Tree<T>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::increment
      Src: /src/trafficserver/include/proxy/http2/Http2ServerSession.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Http2ServerSession::increment_current_active_connections_stat
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ServerSession.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::increment
    linkageType: ''
    returnType: void
    signature: void increment_current_active_connections_stat() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::Metrics::Gauge::decrement
      Src: /src/trafficserver/include/proxy/http2/Http2ServerSession.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Http2ServerSession::decrement_current_active_connections_stat
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ServerSession.h
    functionUses: 0
    functionsReached:
    - ts::Metrics::Gauge::decrement
    linkageType: ''
    returnType: void
    signature: void decrement_current_active_connections_stat() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Http2ServerSession::Http2ServerSession
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ServerSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Http2ServerSession(Http2ServerSession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(const Http2ServerSession &)'
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2ServerSession.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Http2ServerSession
    signature: Http2ServerSession &operator=(const Http2ServerSession &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Http2CommonSessionInternalDbgCtl::http2_cs
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      http2_cs()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Http2CommonSessionInternalDbgCtl::http2_cs
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbgCtl
    signature: 'DbgCtl &

      http2_cs()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: REMEMBER
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMEMBER(e, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state_name
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: STATE_ENTER
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_ENTER(state_name, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Http2SsnDebug
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Http2SsnDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handler
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: HTTP2_SET_SESSION_HANDLER
    functionSourceFile: /src/trafficserver/include/proxy/http2/Http2CommonSessionInternal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP2_SET_SESSION_HANDLER(handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/slice/Stage.h:36,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/slice/Stage.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: ~Channel()
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~Channel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reader_avail_more_than
      Src: /src/trafficserver/plugins/slice/Stage.h:48,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/Stage.h:49,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/Stage.h:50,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/Stage.h:53,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/Stage.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: drainReader
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - TSVIONDoneSet
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - reader_avail_more_than
    - TSVIONDoneGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t drainReader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/Stage.h:63,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/slice/Stage.h:65,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/slice/Stage.h:66,1
    - Dst: drainReader
      Src: /src/trafficserver/plugins/slice/Stage.h:68,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Stage.h:70,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/slice/Stage.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - vc
    - contp
    - bytesin
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: setForRead
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - drainReader
    - TSIOBufferCreate
    - DEBUG_LOG
    - TSAssert
    - TSVConnRead
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: bool
    signature: bool setForRead(TSVConn vc, TSCont contp, int64_t const bytesin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/Stage.h:80,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/slice/Stage.h:82,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/slice/Stage.h:83,1
    - Dst: drainReader
      Src: /src/trafficserver/plugins/slice/Stage.h:85,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Stage.h:87,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/slice/Stage.h:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - vc
    - contp
    - bytesout
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: setForWrite
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - drainReader
    - TSIOBufferCreate
    - DEBUG_LOG
    - TSAssert
    - TSVConnWrite
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: bool
    signature: bool setForWrite(TSVConn vc, TSCont contp, int64_t const bytesout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drainReader
      Src: /src/trafficserver/plugins/slice/Stage.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: close
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 261
    functionsReached:
    - drainReader
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: isOpen
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reader_avail_more_than
      Src: /src/trafficserver/plugins/slice/Stage.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: isDrained
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - reader_avail_more_than
    linkageType: ''
    returnType: bool
    signature: bool isDrained() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Stage
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stage(Stage const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '&operator=(Stage const &)'
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stage
    signature: Stage &operator=(Stage const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Stage
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/slice/Stage.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ~Stage()
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    linkageType: ''
    returnType: void
    signature: void ~Stage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/slice/Stage.h:137,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:139,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: setupConnection
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - close
    linkageType: ''
    returnType: void
    signature: void setupConnection(TSVConn vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForRead
      Src: /src/trafficserver/plugins/slice/Stage.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - contp
    - bytesin
    argTypes:
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: setupVioRead
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - setForRead
    linkageType: ''
    returnType: void
    signature: void setupVioRead(TSCont contp, int64_t const bytesin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForWrite
      Src: /src/trafficserver/plugins/slice/Stage.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - contp
    - bytesout
    argTypes:
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: setupVioWrite
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 0
    functionsReached:
    - setForWrite
    linkageType: ''
    returnType: void
    signature: void setupVioWrite(TSCont contp, int64_t const bytesout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/slice/Stage.h:160,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:163,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: abort
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 91
    functionsReached:
    - TSVConnAbort
    - close
    linkageType: ''
    returnType: void
    signature: void abort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/slice/Stage.h:171,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:174,1
    - Dst: close
      Src: /src/trafficserver/plugins/slice/Stage.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: close
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 264
    functionsReached:
    - TSVConnClose
    - close
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isOpen
      Src: /src/trafficserver/plugins/slice/Stage.h:181,1
    - Dst: isOpen
      Src: /src/trafficserver/plugins/slice/Stage.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: isOpen
    functionSourceFile: /src/trafficserver/plugins/slice/Stage.h
    functionUses: 1
    functionsReached:
    - isOpen
    linkageType: ''
    returnType: bool
    signature: bool isOpen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BgBlockFetch::BgBlockFetch
      Src: /src/trafficserver/plugins/slice/prefetch.cc:31,1
    - Dst: BgBlockFetch*::fetch
      Src: /src/trafficserver/plugins/slice/prefetch.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - blocknum
    argTypes:
    - Data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: BgBlockFetch::schedule
    functionSourceFile: /src/trafficserver/plugins/slice/prefetch.cc
    functionUses: 0
    functionsReached:
    - BgBlockFetch*::fetch
    - BgBlockFetch::BgBlockFetch
    linkageType: ''
    returnType: bool
    signature: bool BgBlockFetch::schedule(Data *const data, int blocknum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_read::isOpen
      Src: /src/trafficserver/plugins/slice/prefetch.cc:46,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/prefetch.cc:48,1
    - Dst: Range::toStringClosed
      Src: /src/trafficserver/plugins/slice/prefetch.cc:57,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/prefetch.cc:58,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/prefetch.cc:60,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/prefetch.cc:66,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/prefetch.cc:69,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/prefetch.cc:72,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/slice/prefetch.cc:75,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/slice/prefetch.cc:75,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:76,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/slice/prefetch.cc:76,1
    - Dst: TSHttpConnectOptionsGet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:79,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/slice/prefetch.cc:80,1
    - Dst: TSHttpConnectPlugin
      Src: /src/trafficserver/plugins/slice/prefetch.cc:86,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:88,1
    - Dst: setupConnection
      Src: /src/trafficserver/plugins/slice/prefetch.cc:91,1
    - Dst: setupVioWrite
      Src: /src/trafficserver/plugins/slice/prefetch.cc:92,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/prefetch.cc:93,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/prefetch.cc:95,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/prefetch.cc:96,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/prefetch.cc:97,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/prefetch.cc:97,1
    - Dst: setupVioRead
      Src: /src/trafficserver/plugins/slice/prefetch.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 103
    functionName: BgBlockFetch::fetch
    functionSourceFile: /src/trafficserver/plugins/slice/prefetch.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - ERROR_LOG
    - TSAssert
    - m_read::isOpen
    - DEBUG_LOG
    - HttpHeader::toString
    - TSHttpHdrPrint
    - std::string::c_str
    - TSHttpHdrLengthGet
    - reinterpret_cast<sockaddr *>
    - TSContCreate
    - TSMutexCreate
    - setupVioRead
    - 'on'
    - Range::toStringClosed
    - TSContDataSet
    - HttpHeader::setKeyVal
    - setupConnection
    - TSHttpConnectPlugin
    - TSHttpConnectOptionsGet
    - setupVioWrite
    linkageType: ''
    returnType: bool
    signature: bool BgBlockFetch::fetch(Data *const data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BgBlockFetch *>
      Src: /src/trafficserver/plugins/slice/prefetch.cc:113,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:113,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/slice/prefetch.cc:117,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/prefetch.cc:122,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/prefetch.cc:123,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:125,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:125,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/prefetch.cc:126,1
    - Dst: BgBlockFetch*::m_stream::abort
      Src: /src/trafficserver/plugins/slice/prefetch.cc:133,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:134,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/prefetch.cc:136,1
    - Dst: BgBlockFetch*::m_stream::close
      Src: /src/trafficserver/plugins/slice/prefetch.cc:140,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/prefetch.cc:141,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/prefetch.cc:143,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/prefetch.cc:146,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/slice/prefetch.cc:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: BgBlockFetch::handler
    functionSourceFile: /src/trafficserver/plugins/slice/prefetch.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - BgBlockFetch*::m_stream::close
    - TSContDestroy
    - DEBUG_LOG
    - TSVConnShutdown
    - TSContDataSet
    - TSVIOReenable
    - TSHttpEventNameLookup
    - static_cast<BgBlockFetch *>
    - TSContDataGet
    - BgBlockFetch*::m_stream::abort
    - TSVIONDoneGet
    linkageType: ''
    returnType: int
    signature: int BgBlockFetch::handler(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:29,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/util.cc:30,1
    - Dst: Data*::m_dnstream::close
      Src: /src/trafficserver/plugins/slice/util.cc:31,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/util.cc:32,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/util.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: shutdown
    functionSourceFile: /src/trafficserver/plugins/slice/util.cc
    functionUses: 26
    functionsReached:
    - Data*::m_upstream::close
    - TSContDestroy
    - DEBUG_LOG
    - TSContDataSet
    - Data*::m_dnstream::close
    linkageType: ''
    returnType: void
    signature: void shutdown(TSCont const contp, Data *const data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:40,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/util.cc:41,1
    - Dst: Data*::m_dnstream::abort
      Src: /src/trafficserver/plugins/slice/util.cc:42,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/util.cc:43,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/util.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: abort
    functionSourceFile: /src/trafficserver/plugins/slice/util.cc
    functionUses: 93
    functionsReached:
    - TSContDestroy
    - DEBUG_LOG
    - TSContDataSet
    - Data*::m_dnstream::abort
    - Data*::m_upstream::abort
    linkageType: ''
    returnType: void
    signature: void abort(TSCont const contp, Data *const data)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: Data*::m_upstream::m_read::isOpen
      Src: /src/trafficserver/plugins/slice/util.cc:53,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:54,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:64,1
    - Dst: Range::toStringClosed
      Src: /src/trafficserver/plugins/slice/util.cc:74,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/util.cc:75,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:77,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/util.cc:84,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/util.cc:87,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:90,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/util.cc:95,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/util.cc:95,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/util.cc:95,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/util.cc:97,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/util.cc:98,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/util.cc:98,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/util.cc:98,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/util.cc:98,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/util.cc:98,1
    - Dst: Config*::m_crr_ident_header::empty
      Src: /src/trafficserver/plugins/slice/util.cc:103,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/util.cc:103,1
    - Dst: Config*::m_crr_ident_header::data
      Src: /src/trafficserver/plugins/slice/util.cc:103,1
    - Dst: Config*::m_crr_ident_header::size
      Src: /src/trafficserver/plugins/slice/util.cc:103,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:106,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:107,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:108,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:110,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:111,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/slice/util.cc:112,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/slice/util.cc:115,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:116,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/slice/util.cc:116,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/slice/util.cc:116,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/util.cc:117,1
    - Dst: Config*::m_crr_ident_header::data
      Src: /src/trafficserver/plugins/slice/util.cc:117,1
    - Dst: Config*::m_crr_ident_header::size
      Src: /src/trafficserver/plugins/slice/util.cc:117,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/slice/util.cc:117,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/slice/util.cc:117,1
    - Dst: TSHttpConnectOptionsGet
      Src: /src/trafficserver/plugins/slice/util.cc:122,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/slice/util.cc:123,1
    - Dst: TSHttpConnectPlugin
      Src: /src/trafficserver/plugins/slice/util.cc:129,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/util.cc:131,1
    - Dst: Data*::m_upstream::setupConnection
      Src: /src/trafficserver/plugins/slice/util.cc:134,1
    - Dst: Data*::m_upstream::setupVioWrite
      Src: /src/trafficserver/plugins/slice/util.cc:135,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/util.cc:138,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/util.cc:139,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/util.cc:141,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/util.cc:142,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:143,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/util.cc:143,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/util.cc:149,1
    - Dst: Data*::m_req_range::blockIsInside
      Src: /src/trafficserver/plugins/slice/util.cc:153,1
    - Dst: BgBlockFetch::schedule
      Src: /src/trafficserver/plugins/slice/util.cc:154,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:155,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:157,1
    - Dst: Data*::m_upstream::setupVioRead
      Src: /src/trafficserver/plugins/slice/util.cc:163,1
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/slice/util.cc:166,1
    - Dst: Data*::m_resp_hdrmgr::resetHeader
      Src: /src/trafficserver/plugins/slice/util.cc:167,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/util.cc:180,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/util.cc:180,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/util.cc:180,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/util.cc:185,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/util.cc:185,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/util.cc:185,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/util.cc:188,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 97
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 194
    functionName: request_block
    functionSourceFile: /src/trafficserver/plugins/slice/util.cc
    functionUses: 0
    functionsReached:
    - Data*::m_upstream::setupVioRead
    - ERROR_LOG
    - TSAssert
    - TSVIOReenable
    - Data*::m_req_range::blockIsInside
    - size
    - Config*::m_crr_ident_header::size
    - Config*::m_crr_ims_header::size
    - Config*::m_crr_ident_header::data
    - DEBUG_LOG
    - Data*::m_upstream::setupVioWrite
    - HttpHeader::toString
    - TSHttpParserClear
    - TSHttpHdrPrint
    - Config*::m_crr_ims_header::c_str
    - data
    - HttpHeader::removeKey
    - std::string::c_str
    - TSHttpHdrLengthGet
    - BgBlockFetch::schedule
    - reinterpret_cast<sockaddr *>
    - Data*::m_resp_hdrmgr::resetHeader
    - Config*::m_crr_ident_header::empty
    - HttpHeader::hasKey
    - Data*::m_upstream::m_read::isOpen
    - 'on'
    - Data*::m_req_range::firstBlockFor
    - Range::toStringClosed
    - swoc::LocalBufferWriter::write
    - HttpHeader::setKeyVal
    - swoc::LocalBufferWriter::data
    - TSHttpConnectPlugin
    - TSHttpConnectOptionsGet
    - swoc::LocalBufferWriter::size
    - Data*::m_upstream::setupConnection
    linkageType: ''
    returnType: bool
    signature: bool request_block(TSCont contp, Data *const data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/slice/util.cc:199,1
    - Dst: TSIOBufferBlockReadAvail
      Src: /src/trafficserver/plugins/slice/util.cc:206,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/slice/util.cc:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - reader
    - bytes
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: reader_avail_more_than
    functionSourceFile: /src/trafficserver/plugins/slice/util.cc
    functionUses: 2
    functionsReached:
    - TSIOBufferBlockReadAvail
    - TSIOBufferReaderStart
    - TSIOBufferBlockNext
    linkageType: ''
    returnType: bool
    signature: bool reader_avail_more_than(TSIOBufferReader const reader, int64_t
      bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:30,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: HttpHeader::type
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrTypeGet
    - isValid
    linkageType: ''
    returnType: TSHttpType
    signature: TSHttpType HttpHeader::type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:41,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: HttpHeader::status
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - isValid
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus HttpHeader::status() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:50,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newstatus
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: HttpHeader::setStatus
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusSet
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::setStatus(TSHttpStatus const newstatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:61,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:64,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:67,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - urllen
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: HttpHeader::urlString
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrUrlGet
    - TSAssert
    - TSHandleMLocRelease
    - TSUrlStringGet
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpHeader::urlString(int *const urllen) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:80,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:85,1
    - Dst: TSUrlCopy
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:91,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:95,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bufurl
    - locurl
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: HttpHeader::setUrl
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSUrlCopy
    - TSHttpHdrUrlSet
    - TSHttpHdrUrlGet
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::setUrl(TSMBuffer const bufurl, TSMLoc const locurl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:106,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - valstr
    - vallen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: HttpHeader::setReason
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrReasonSet
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::setReason(char const *const valstr, int const vallen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:117,1
    - Dst: func
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - func
    - len
    argTypes:
    - CharPtrGetFunc
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: HttpHeader::getCharPtr
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - func
    - isValid
    linkageType: ''
    returnType: char
    signature: 'char *

      HttpHeader::getCharPtr(CharPtrGetFunc func, int *const len) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:136,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: HttpHeader::hasKey
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::hasKey(char const *const key, int const keylen) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:152,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:158,1
    - Dst: TSMimeHdrFieldRemove
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:160,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keystr
    - keylen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: HttpHeader::removeKey
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldRemove
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::removeKey(char const *const keystr, int const keylen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:171,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:178,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:182,1
    - Dst: stpncpy
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - keystr
    - keylen
    - valstr
    - vallen
    - index
    argTypes:
    - char*
    - int
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 201
    functionName: HttpHeader::valueForKey
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - stpncpy
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::valueForKey(char const *const keystr, int const keylen,
      char *const valstr, int *const vallen, int const index) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:206,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:215,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:217,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:220,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:222,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - keystr
    - keylen
    - valstr
    - vallen
    - index
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 233
    functionName: HttpHeader::setKeyVal
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 2
    functionsReached:
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::setKeyVal(char const *const keystr, int const keylen,
      char const *const valstr, int const vallen, int const index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:238,1
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:240,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:247,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:250,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - keystr
    - keylen
    - timeval
    argTypes:
    - char*
    - int
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: HttpHeader::timeForKey
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSAssert
    - TSMimeHdrFieldValueDateGet
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::timeForKey(char const *const keystr, int const keylen,
      time_t *const timeval) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:262,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:271,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:272,1
    - Dst: TSMimeHdrFieldValueDateSet
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:276,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:277,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:279,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:279,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - keystr
    - keylen
    - timeval
    argTypes:
    - char*
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: HttpHeader::setKeyTime
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - static_cast<intmax_t>
    - TSHandleMLocRelease
    - DEBUG_LOG
    - TSMimeHdrFieldValueDateSet
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool HttpHeader::setKeyTime(char const *const keystr, int const keylen,
      time_t const timeval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:293,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:294,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:295,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:296,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:299,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:303,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:305,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:307,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:310,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:313,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 321
    functionName: HttpHeader::toString
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 2
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderFree
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::empty
    - std::string::append
    - TSHttpHdrPrint
    - TSIOBufferReaderAlloc
    - isValid
    linkageType: ''
    returnType: std::string
    signature: std::string HttpHeader::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:332,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:335,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:338,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:340,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:347,1
    - Dst: parsefunc
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:352,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:360,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/HttpHeader.cc:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - http_parser
    - reader
    - parsefunc
    - bytes
    argTypes:
    - TSHttpParser
    - TSIOBufferReader
    - HeaderParseFunc
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 375
    functionName: HdrMgr::populateFrom
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.cc
    functionUses: 0
    functionsReached:
    - parsefunc
    - TSIOBufferReaderAvail
    - TSIOBufferBlockNext
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrCreate
    - TSMBufferCreate
    linkageType: ''
    returnType: TSParseResult
    signature: "TSParseResult HdrMgr::populateFrom(TSHttpParser const http_parser,
      TSIOBufferReader const reader, HeaderParseFunc const parsefunc,\n                     int64_t
      *const bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Data
    functionSourceFile: /src/trafficserver/plugins/slice/Data.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(Data const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(Data const &)'
    functionSourceFile: /src/trafficserver/plugins/slice/Data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data &operator=(Data const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/slice/Data.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: Data
    functionSourceFile: /src/trafficserver/plugins/slice/Data.h
    functionUses: 44
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Data(Config *const config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: onlyHeader
    functionSourceFile: /src/trafficserver/plugins/slice/Data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool onlyHeader() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/Data.h:125,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/Data.h:128,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/slice/Data.h:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: ~Data()
    functionSourceFile: /src/trafficserver/plugins/slice/Data.h
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~Data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/response.cc:35,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:36,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:37,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:38,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:39,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:40,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:41,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:42,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:43,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: bodyString416
    functionSourceFile: /src/trafficserver/plugins/slice/response.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      bodyString416()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/response.cc:58,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:60,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:61,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:62,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:63,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:65,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:66,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:67,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:68,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:69,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/response.cc:73,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/slice/response.cc:73,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/slice/response.cc:73,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:74,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/response.cc:77,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/response.cc:77,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:78,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:79,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:80,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:82,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/slice/response.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - httpver
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: string502
    functionSourceFile: /src/trafficserver/plugins/slice/response.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::empty
    - std::string::append
    - TS_HTTP_MINOR
    - snprintf
    - TS_HTTP_MAJOR
    linkageType: ''
    returnType: std::string
    signature: std::string string502(int const httpver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/response.cc:92,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/response.cc:93,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/response.cc:94,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/response.cc:95,1
    - Dst: HttpHeader::setStatus
      Src: /src/trafficserver/plugins/slice/response.cc:97,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/slice/response.cc:98,1
    - Dst: HttpHeader::setReason
      Src: /src/trafficserver/plugins/slice/response.cc:99,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/response.cc:99,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/response.cc:102,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/response.cc:102,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/response.cc:103,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/response.cc:106,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/response.cc:107,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/response.cc:109,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/response.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - header
    - contentlen
    - bodystr
    argTypes:
    - HttpHeader
    - int64_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: form416HeaderAndBody
    functionSourceFile: /src/trafficserver/plugins/slice/response.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - TSHttpHdrReasonLookup
    - HttpHeader::setKeyVal
    - HttpHeader::setStatus
    - snprintf
    - strlen
    - HttpHeader::setReason
    - HttpHeader::removeKey
    linkageType: ''
    returnType: void
    signature: void form416HeaderAndBody(HttpHeader &header, int64_t const contentlen,
      std::string const &bodystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Range::isValid
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Range::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Range::size
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Range::size() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/Range.cc:44,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/slice/Range.cc:49,1
    - Dst: isblank
      Src: /src/trafficserver/plugins/slice/Range.cc:55,1
    - Dst: isblank
      Src: /src/trafficserver/plugins/slice/Range.cc:64,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/slice/Range.cc:78,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/slice/Range.cc:94,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/slice/Range.cc:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - rangestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: Range::fromStringClosed
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached:
    - isblank
    - strncmp
    - strlen
    - sscanf
    linkageType: ''
    returnType: bool
    signature: bool Range::fromStringClosed(char const *const rangestr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Range::isValid
      Src: /src/trafficserver/plugins/slice/Range.cc:126,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/Range.cc:137,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/Range.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - bufstr
    - buflen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: Range::toStringClosed
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 2
    functionsReached:
    - Range::isValid
    - snprintf
    linkageType: ''
    returnType: bool
    signature: "bool Range::toStringClosed(char *const bufstr,\n                      int
      *const  buflen // returns actual bytes used\n) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Range::isValid
      Src: /src/trafficserver/plugins/slice/Range.cc:148,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/Range.cc:149,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/Range.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - blocksize
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: Range::firstBlockFor
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached:
    - Range::isValid
    - max
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t Range::firstBlockFor(int64_t const blocksize) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Range::isValid
      Src: /src/trafficserver/plugins/slice/Range.cc:158,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/Range.cc:159,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/Range.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - blocksize
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: Range::lastBlockFor
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached:
    - Range::isValid
    - max
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t Range::lastBlockFor(int64_t const blocksize) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Range
      Src: /src/trafficserver/plugins/slice/Range.cc:168,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/Range.cc:168,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/Range.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Range::intersectedWith
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached:
    - Range
    - min
    - max
    linkageType: ''
    returnType: Range
    signature: Range Range::intersectedWith(Range const &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Range::intersectedWith
      Src: /src/trafficserver/plugins/slice/Range.cc:175,1
    - Dst: Range::isValid
      Src: /src/trafficserver/plugins/slice/Range.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blocksize
    - blocknum
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: Range::blockIsInside
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached:
    - Range::isValid
    - Range::intersectedWith
    linkageType: ''
    returnType: bool
    signature: bool Range::blockIsInside(int64_t const blocksize, int64_t const blocknum)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blocksize
    - blocknum
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: Range::skipBytesForBlock
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Range::skipBytesForBlock(int64_t const blocksize, int64_t const
      blocknum) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: Range::isEndBytes
    functionSourceFile: /src/trafficserver/plugins/slice/Range.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Range::isEndBytes() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Data *>
      Src: /src/trafficserver/plugins/slice/intercept.cc:29,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/slice/intercept.cc:29,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/intercept.cc:32,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/intercept.cc:33,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/slice/intercept.cc:42,1
    - Dst: Data*::m_dnstream::setupConnection
      Src: /src/trafficserver/plugins/slice/intercept.cc:43,1
    - Dst: Data*::m_dnstream::setupVioRead
      Src: /src/trafficserver/plugins/slice/intercept.cc:44,1
    - Dst: abort
      Src: /src/trafficserver/plugins/slice/intercept.cc:51,1
    - Dst: Data*::m_dnstream::m_read::isOpen
      Src: /src/trafficserver/plugins/slice/intercept.cc:56,1
    - Dst: handle_client_req
      Src: /src/trafficserver/plugins/slice/intercept.cc:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/slice/intercept.cc:59,1
    - Dst: Data*::m_upstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/intercept.cc:64,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/slice/intercept.cc:66,1
    - Dst: Data*::m_upstream::m_read::isOpen
      Src: /src/trafficserver/plugins/slice/intercept.cc:69,1
    - Dst: handle_server_resp
      Src: /src/trafficserver/plugins/slice/intercept.cc:70,1
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/intercept.cc:73,1
    - Dst: handle_client_resp
      Src: /src/trafficserver/plugins/slice/intercept.cc:74,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/intercept.cc:76,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 82
    functionName: intercept_hook
    functionSourceFile: /src/trafficserver/plugins/slice/intercept.cc
    functionUses: 0
    functionsReached:
    - Data*::m_dnstream::m_write::isOpen
    - Data*::m_upstream::m_read::isOpen
    - TSContDestroy
    - ERROR_LOG
    - static_cast<TSVConn>
    - TSVConnShutdown
    - handle_client_resp
    - static_cast<Data *>
    - Data*::m_dnstream::m_read::isOpen
    - Data*::m_dnstream::setupConnection
    - TSContDataGet
    - handle_client_req
    - Data*::m_upstream::m_write::isOpen
    - handle_server_resp
    - abort
    - Data*::m_dnstream::setupVioRead
    linkageType: ''
    returnType: int
    signature: int intercept_hook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blocknum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: BgBlockFetch
    functionSourceFile: /src/trafficserver/plugins/slice/prefetch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgBlockFetch(int blocknum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:54,1
    - Dst: Config*::isKnownLargeObj
      Src: /src/trafficserver/plugins/slice/slice.cc:56,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/slice.cc:56,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:57,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - config
    argTypes:
    - TSHttpTxn
    - Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: should_skip_this_obj
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - DEBUG_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - Config*::isKnownLargeObj
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool should_skip_this_obj(TSHttpTxn txnp, Config *const config)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:70,1
    - Dst: TxnHdrMgr::populateFrom
      Src: /src/trafficserver/plugins/slice/slice.cc:72,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: Config*::m_skip_header::data
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: TSHttpTxnStatusGet
      Src: /src/trafficserver/plugins/slice/slice.cc:78,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:80,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/slice/slice.cc:80,1
    - Dst: Config*::hasRegex
      Src: /src/trafficserver/plugins/slice/slice.cc:84,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:86,1
    - Dst: Config*::matchesRegex
      Src: /src/trafficserver/plugins/slice/slice.cc:88,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:90,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:91,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:95,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:96,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:100,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/slice/slice.cc:102,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/slice.cc:107,1
    - Dst: std::make_unique<Data>
      Src: /src/trafficserver/plugins/slice/slice.cc:108,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:110,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:115,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:117,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:119,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/slice.cc:126,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:127,1
    - Dst: should_skip_this_obj
      Src: /src/trafficserver/plugins/slice/slice.cc:132,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:133,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:134,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/slice.cc:138,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: length
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: length
      Src: /src/trafficserver/plugins/slice/slice.cc:141,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/slice.cc:148,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/slice/slice.cc:151,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:154,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/plugins/slice/slice.cc:156,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/slice.cc:157,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:160,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/slice.cc:161,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:170,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:173,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:177,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/slice/slice.cc:179,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/slice/slice.cc:181,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:187,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:190,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/slice.cc:192,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/slice.cc:194,1
    - Dst: TSPluginVCIOBufferIndexGet
      Src: /src/trafficserver/plugins/slice/slice.cc:203,1
    - Dst: TSPluginVCIOBufferWaterMarkGet
      Src: /src/trafficserver/plugins/slice/slice.cc:204,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/slice.cc:206,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:208,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:209,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:210,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/slice/slice.cc:214,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/plugins/slice/slice.cc:214,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/slice.cc:216,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/slice/slice.cc:216,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/slice/slice.cc:219,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/plugins/slice/slice.cc:222,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:226,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 3
    argNames:
    - txnp
    - config
    - read_resp_hdr_contp
    argTypes:
    - TSHttpTxn
    - Config*
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 231
    functionName: read_request
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 5
    functionsReached:
    - memcpy
    - TSHandleMLocRelease
    - Config*::matchesRegex
    - ERROR_LOG
    - TSAssert
    - TSHttpTxnEffectiveUrlStringGet
    - TSUrlClone
    - TSContMutexGet
    - TSHttpTxnCntlSet
    - TSUrlStringGet
    - std::make_unique<Data>
    - TSfree
    - TSUrlPortSet
    - DEBUG_LOG
    - std::string::empty
    - length
    - TSHttpTxnPristineUrlGet
    - Config*::m_skip_header::size
    - TSUrlParse
    - data
    - TSUrlCreate
    - std::string::c_str
    - static_cast<int>
    - TSUrlHostSet
    - TSPluginVCIOBufferIndexGet
    - std::unique_ptr::release
    - TSHttpTxnHookAdd
    - TSPluginVCIOBufferWaterMarkGet
    - Config*::m_skip_header::data
    - HttpHeader::method
    - TSHttpTxnClientAddrGet
    - HttpHeader::hasKey
    - TSMBufferCreate
    - 'on'
    - std::string::size
    - TSContDataSet
    - HttpHeader::setKeyVal
    - TSHttpTxnStatusGet
    - TSHttpTxnIntercept
    - HttpHeader::valueForKey
    - TSMBufferDestroy
    - should_skip_this_obj
    - TxnHdrMgr::populateFrom
    - Config*::hasRegex
    - reinterpret_cast<TSCont>
    linkageType: ''
    returnType: bool
    signature: bool read_request(TSHttpTxn txnp, Config *const config, TSCont read_resp_hdr_contp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/slice/slice.cc:236,1
    - Dst: static_cast<PluginInfo *>
      Src: /src/trafficserver/plugins/slice/slice.cc:237,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/slice/slice.cc:237,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:245,1
    - Dst: TxnHdrMgr::populateFrom
      Src: /src/trafficserver/plugins/slice/slice.cc:249,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/slice.cc:253,1
    - Dst: std::from_chars
      Src: /src/trafficserver/plugins/slice/slice.cc:257,1
    - Dst: std::errc
      Src: /src/trafficserver/plugins/slice/slice.cc:258,1
    - Dst: PluginInfo*::config::sizeCacheAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:261,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/slice.cc:261,1
    - Dst: TSHttpTxnServerRespNoStoreSet
      Src: /src/trafficserver/plugins/slice/slice.cc:263,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:264,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:266,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:269,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:270,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:273,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:274,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:276,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:278,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:279,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/slice/slice.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: read_resp_hdr
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - std::from_chars
    - ERROR_LOG
    - DEBUG_LOG
    - static_cast<size_t>
    - TSHttpTxnEffectiveUrlStringGet
    - HttpHeader::valueForKey
    - TSHttpTxnServerRespNoStoreSet
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - static_cast<PluginInfo *>
    - std::errc
    - TxnHdrMgr::populateFrom
    - TSHttpTxnReenable
    - PluginInfo*::config::sizeCacheAdd
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int read_resp_hdr(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/slice/slice.cc:294,1
    - Dst: read_request
      Src: /src/trafficserver/plugins/slice/slice.cc:295,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/slice/slice.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: global_read_request_hook
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - read_request
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: "int global_read_request_hook(TSCont // contp\n                         ,\n
      \                        TSEvent // event\n                         ,\n                         void
      *edata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:54,1
    - Dst: Config*::isKnownLargeObj
      Src: /src/trafficserver/plugins/slice/slice.cc:56,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/slice.cc:56,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:57,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txnp
    - config
    argTypes:
    - TSHttpTxn
    - Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: should_skip_this_obj
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 1
    functionsReached:
    - TSfree
    - DEBUG_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - Config*::isKnownLargeObj
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool should_skip_this_obj(TSHttpTxn txnp, Config *const config)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:70,1
    - Dst: TxnHdrMgr::populateFrom
      Src: /src/trafficserver/plugins/slice/slice.cc:72,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:75,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: Config*::m_skip_header::data
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/slice.cc:76,1
    - Dst: TSHttpTxnStatusGet
      Src: /src/trafficserver/plugins/slice/slice.cc:78,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:80,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/slice/slice.cc:80,1
    - Dst: Config*::hasRegex
      Src: /src/trafficserver/plugins/slice/slice.cc:84,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:86,1
    - Dst: Config*::matchesRegex
      Src: /src/trafficserver/plugins/slice/slice.cc:88,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:90,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:91,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:95,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:96,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:100,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/slice/slice.cc:102,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/slice/slice.cc:107,1
    - Dst: std::make_unique<Data>
      Src: /src/trafficserver/plugins/slice/slice.cc:108,1
    - Dst: HttpHeader::method
      Src: /src/trafficserver/plugins/slice/slice.cc:110,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:115,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:117,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/slice/slice.cc:119,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/slice.cc:126,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:127,1
    - Dst: should_skip_this_obj
      Src: /src/trafficserver/plugins/slice/slice.cc:132,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:133,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:134,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/slice.cc:138,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: length
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/slice.cc:140,1
    - Dst: length
      Src: /src/trafficserver/plugins/slice/slice.cc:141,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/slice.cc:148,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/slice/slice.cc:151,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:154,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/plugins/slice/slice.cc:156,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/slice.cc:157,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:160,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/slice.cc:161,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:170,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:173,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:177,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/slice/slice.cc:179,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/slice.cc:180,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/slice/slice.cc:181,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:187,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:190,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/slice.cc:192,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/slice.cc:194,1
    - Dst: TSPluginVCIOBufferIndexGet
      Src: /src/trafficserver/plugins/slice/slice.cc:203,1
    - Dst: TSPluginVCIOBufferWaterMarkGet
      Src: /src/trafficserver/plugins/slice/slice.cc:204,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/slice.cc:206,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:208,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:209,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:210,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/slice/slice.cc:214,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/plugins/slice/slice.cc:214,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/slice.cc:216,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/slice/slice.cc:216,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/slice/slice.cc:219,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/plugins/slice/slice.cc:222,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:226,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 3
    argNames:
    - txnp
    - config
    - read_resp_hdr_contp
    argTypes:
    - TSHttpTxn
    - Config*
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 231
    functionName: read_request
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 6
    functionsReached:
    - memcpy
    - TSHandleMLocRelease
    - Config*::matchesRegex
    - ERROR_LOG
    - TSAssert
    - TSHttpTxnEffectiveUrlStringGet
    - TSUrlClone
    - TSContMutexGet
    - TSHttpTxnCntlSet
    - TSUrlStringGet
    - std::make_unique<Data>
    - TSfree
    - TSUrlPortSet
    - DEBUG_LOG
    - std::string::empty
    - length
    - TSHttpTxnPristineUrlGet
    - Config*::m_skip_header::size
    - TSUrlParse
    - data
    - TSUrlCreate
    - std::string::c_str
    - static_cast<int>
    - TSUrlHostSet
    - TSPluginVCIOBufferIndexGet
    - std::unique_ptr::release
    - TSHttpTxnHookAdd
    - TSPluginVCIOBufferWaterMarkGet
    - Config*::m_skip_header::data
    - HttpHeader::method
    - TSHttpTxnClientAddrGet
    - HttpHeader::hasKey
    - TSMBufferCreate
    - 'on'
    - std::string::size
    - TSContDataSet
    - HttpHeader::setKeyVal
    - TSHttpTxnStatusGet
    - TSHttpTxnIntercept
    - HttpHeader::valueForKey
    - TSMBufferDestroy
    - should_skip_this_obj
    - TxnHdrMgr::populateFrom
    - Config*::hasRegex
    - reinterpret_cast<TSCont>
    linkageType: ''
    returnType: bool
    signature: bool read_request(TSHttpTxn txnp, Config *const config, TSCont read_resp_hdr_contp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/slice/slice.cc:236,1
    - Dst: static_cast<PluginInfo *>
      Src: /src/trafficserver/plugins/slice/slice.cc:237,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/slice/slice.cc:237,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/slice.cc:245,1
    - Dst: TxnHdrMgr::populateFrom
      Src: /src/trafficserver/plugins/slice/slice.cc:249,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/slice.cc:253,1
    - Dst: std::from_chars
      Src: /src/trafficserver/plugins/slice/slice.cc:257,1
    - Dst: std::errc
      Src: /src/trafficserver/plugins/slice/slice.cc:258,1
    - Dst: PluginInfo*::config::sizeCacheAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:261,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/slice.cc:261,1
    - Dst: TSHttpTxnServerRespNoStoreSet
      Src: /src/trafficserver/plugins/slice/slice.cc:263,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:264,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:266,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:269,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:270,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:273,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:274,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/slice.cc:276,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:278,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/slice.cc:279,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/slice/slice.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: read_resp_hdr
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - std::from_chars
    - ERROR_LOG
    - DEBUG_LOG
    - static_cast<size_t>
    - TSHttpTxnEffectiveUrlStringGet
    - HttpHeader::valueForKey
    - TSHttpTxnServerRespNoStoreSet
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - static_cast<PluginInfo *>
    - std::errc
    - TxnHdrMgr::populateFrom
    - TSHttpTxnReenable
    - PluginInfo*::config::sizeCacheAdd
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int read_resp_hdr(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/slice/slice.cc:294,1
    - Dst: read_request
      Src: /src/trafficserver/plugins/slice/slice.cc:295,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/slice/slice.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: global_read_request_hook
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - read_request
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: "int global_read_request_hook(TSCont // contp\n                         ,\n
      \                        TSEvent // event\n                         ,\n                         void
      *edata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PluginInfo *>
      Src: /src/trafficserver/plugins/slice/slice.cc:312,1
    - Dst: read_request
      Src: /src/trafficserver/plugins/slice/slice.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - read_request
    - static_cast<PluginInfo *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: TSRemapOSResponse
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapOSResponse(void * /* ih ATS_UNUSED */, TSHttpTxn /* rh
      ATS_UNUSED */, int /* os_response_type ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/slice/slice.cc:330,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:331,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:333,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: register_stat
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - ERROR_LOG
    - DEBUG_LOG
    - TSStatFindName
    linkageType: ''
    returnType: bool
    signature: bool register_stat(const char *name, int &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_stat
      Src: /src/trafficserver/plugins/slice/slice.cc:361,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/slice.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - config
    - prefix
    argTypes:
    - Config
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: init_stats
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - register_stat
    linkageType: ''
    returnType: void
    signature: void init_stats(Config &config, const std::string &prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginInfo::PluginInfo
      Src: /src/trafficserver/plugins/slice/slice.cc:368,1
    - Dst: PluginInfo*::config::fromArgs
      Src: /src/trafficserver/plugins/slice/slice.cc:370,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:372,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/slice/slice.cc:373,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/slice/slice.cc:373,1
    - Dst: PluginInfo*::config::stat_prefix::empty
      Src: /src/trafficserver/plugins/slice/slice.cc:376,1
    - Dst: init_stats
      Src: /src/trafficserver/plugins/slice/slice.cc:377,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/slice/slice.cc:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - PluginInfo*::config::stat_prefix::empty
    - static_cast<void *>
    - init_stats
    - TSContDataSet
    - PluginInfo*::config::fromArgs
    - PluginInfo::PluginInfo
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf */, int /* errbuf_size */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PluginInfo *>
      Src: /src/trafficserver/plugins/slice/slice.cc:389,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/slice/slice.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - static_cast<PluginInfo *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbug ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/slice/slice.cc:411,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:412,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/slice.cc:413,1
    - Dst: fromArgs
      Src: /src/trafficserver/plugins/slice/slice.cc:417,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/slice/slice.cc:420,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/slice/slice.cc:423,1
    - Dst: init_stats
      Src: /src/trafficserver/plugins/slice/slice.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 427
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/slice/slice.cc
    functionUses: 0
    functionsReached:
    - fromArgs
    - init_stats
    - ERROR_LOG
    - TSHttpHookAdd
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/slice_test.cc:38,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/slice_test.cc:44,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/slice_test.cc:54,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:58,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:60,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/slice_test.cc:70,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/slice_test.cc:70,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/slice_test.cc:78,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/slice_test.cc:78,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/slice/slice_test.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: testContentRange
    functionSourceFile: /src/trafficserver/plugins/slice/slice_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - ContentRange::toStringClosed
    - std::ostringstream::str
    - ContentRange::fromStringClosed
    - std::string::c_str
    - ContentRange::isValid
    linkageType: ''
    returnType: std::string
    signature: std::string testContentRange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/slice_test.cc:140,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:140,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:140,1
    - Dst: std::vector::reserve
      Src: /src/trafficserver/plugins/slice/slice_test.cc:143,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/slice/slice_test.cc:148,1
    - Dst: Range::fromStringClosed
      Src: /src/trafficserver/plugins/slice/slice_test.cc:148,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/slice_test.cc:148,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/slice/slice_test.cc:149,1
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/slice_test.cc:152,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:152,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:152,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/slice_test.cc:154,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/slice/slice_test.cc:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (exps.size() == teststrings.size())
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/slice/slice_test.cc
    - condition: (gots.size() == exps.size())
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/trafficserver/plugins/slice/slice_test.cc
    constantsTouched: []
    func_position:
      end: 166
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 166
    functionName: testParseRange
    functionSourceFile: /src/trafficserver/plugins/slice/slice_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - Range::fromStringClosed
    - c_str
    - std::ostringstream::str
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string testParseRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/slice/slice_test.cc:175,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/slice/slice_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - func
    - fname
    argTypes:
    - TestFunc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: add
    functionSourceFile: /src/trafficserver/plugins/slice/slice_test.cc
    functionUses: 48
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void add(TestFunc const &func, char const *const fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/slice_test.cc:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: run
    functionSourceFile: /src/trafficserver/plugins/slice/slice_test.cc
    functionUses: 35
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: int
    signature: int run() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tests::add
      Src: /src/trafficserver/plugins/slice/slice_test.cc:205,1
    - Dst: Tests::add
      Src: /src/trafficserver/plugins/slice/slice_test.cc:206,1
    - Dst: Tests::run
      Src: /src/trafficserver/plugins/slice/slice_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/slice/slice_test.cc
    functionUses: 6
    functionsReached:
    - Tests::add
    - Tests::run
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ContentRange
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContentRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - begin
    - end
    - len
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ContentRange
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContentRange(int64_t const begin, int64_t const end, int64_t const
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: isValid
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: rangeSize
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t rangeSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/trafficserver/plugins/slice/ContentRange.cc:29,1
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/ContentRange.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - valstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: ContentRange::fromStringClosed
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.cc
    functionUses: 1
    functionsReached:
    - sscanf
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool ContentRange::fromStringClosed(char const *const valstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/ContentRange.cc:43,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/ContentRange.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rangestr
    - rangelen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: ContentRange::toStringClosed
    functionSourceFile: /src/trafficserver/plugins/slice/ContentRange.cc
    functionUses: 1
    functionsReached:
    - snprintf
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool ContentRange::toStringClosed(char *const rangestr, int *const
      rangelen) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:45,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:48,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:52,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 6
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: contentRangeFrom
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    - HttpHeader::valueForKey
    - ContentRange::fromStringClosed
    linkageType: ''
    returnType: ContentRange
    signature: ContentRange contentRangeFrom(HttpHeader const &header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:69,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:72,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: strtoll
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: contentLengthFrom
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    - max
    - HttpHeader::valueForKey
    - strtoll
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t contentLengthFrom(HttpHeader const &header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/server.cc:95,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:102,1
    - Dst: Config::sizeCacheAdd
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/server.cc:104,1
    - Dst: Config::sizeCacheRemove
      Src: /src/trafficserver/plugins/slice/server.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/server.cc:106,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/server.cc:107,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/server.cc:110,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - txnp
    - size
    - config
    argTypes:
    - TSHttpTxn
    - int64_t
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: update_object_size
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - Config::sizeCacheRemove
    - TSfree
    - DEBUG_LOG
    - ERROR_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - Config::sizeCacheAdd
    - static_cast<uint64_t>
    - static_cast<size_t>
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void update_object_size(TSHttpTxn txnp, int64_t size, Config &config)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:121,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:122,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/server.cc:122,1
    - Dst: Data*::m_dnstream::setupVioWrite
      Src: /src/trafficserver/plugins/slice/server.cc:125,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:132,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:133,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:133,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:136,1
    - Dst: contentLengthFrom
      Src: /src/trafficserver/plugins/slice/server.cc:137,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:138,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:138,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:139,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:142,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:145,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:148,1
    - Dst: update_object_size
      Src: /src/trafficserver/plugins/slice/server.cc:150,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:151,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:153,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:155,1
    - Dst: contentRangeFrom
      Src: /src/trafficserver/plugins/slice/server.cc:159,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/server.cc:162,1
    - Dst: string502
      Src: /src/trafficserver/plugins/slice/server.cc:163,1
    - Dst: HttpHeader::version
      Src: /src/trafficserver/plugins/slice/server.cc:163,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:164,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:164,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:166,1
    - Dst: update_object_size
      Src: /src/trafficserver/plugins/slice/server.cc:170,1
    - Dst: Data*::m_req_range::isEndBytes
      Src: /src/trafficserver/plugins/slice/server.cc:176,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/server.cc:179,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:179,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/server.cc:182,1
    - Dst: Data*::m_req_range::size
      Src: /src/trafficserver/plugins/slice/server.cc:185,1
    - Dst: bodyString416
      Src: /src/trafficserver/plugins/slice/server.cc:190,1
    - Dst: form416HeaderAndBody
      Src: /src/trafficserver/plugins/slice/server.cc:191,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:193,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:194,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:196,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:197,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:199,1
    - Dst: Data*::m_upstream::m_read::close
      Src: /src/trafficserver/plugins/slice/server.cc:200,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:206,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:210,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:212,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:223,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:227,1
    - Dst: Data*::m_dnstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:228,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:230,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/server.cc:234,1
    - Dst: HttpHeader::setStatus
      Src: /src/trafficserver/plugins/slice/server.cc:236,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/slice/server.cc:237,1
    - Dst: HttpHeader::setReason
      Src: /src/trafficserver/plugins/slice/server.cc:238,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/server.cc:238,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/server.cc:239,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/server.cc:243,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/server.cc:244,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:247,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:250,1
    - Dst: ContentRange::rangeSize
      Src: /src/trafficserver/plugins/slice/server.cc:256,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:258,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:259,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:261,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:263,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 2
    argNames:
    - data
    - contp
    argTypes:
    - Data*
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 269
    functionName: handleFirstServerHeader
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - Data*::m_upstream::close
    - std::string::data
    - ERROR_LOG
    - ContentRange::toStringClosed
    - ContentRange::rangeSize
    - TSVIOReenable
    - min
    - snprintf
    - Data*::onlyHeader
    - Data*::m_dnstream::setupVioWrite
    - HttpHeader::setReason
    - contentLengthFrom
    - size
    - DEBUG_LOG
    - TSHttpHdrReasonLookup
    - max
    - HttpHeader::toString
    - Data*::m_req_range::size
    - TSHttpHdrPrint
    - HttpHeader::status
    - data
    - HttpHeader::removeKey
    - ContentRange::isValid
    - TSHttpHdrLengthGet
    - bodyString416
    - TSIOBufferWrite
    - Data*::m_upstream::m_read::close
    - HttpHeader::setStatus
    - strlen
    - Data*::m_req_range::isEndBytes
    - Data*::m_dnstream::close
    - contentRangeFrom
    - update_object_size
    - static_cast<int64_t>
    - HttpHeader::hasKey
    - 'on'
    - Data*::m_req_range::firstBlockFor
    - std::string::size
    - form416HeaderAndBody
    - HttpHeader::setKeyVal
    - HttpHeader::valueForKey
    - HttpHeader::version
    - string502
    linkageType: ''
    returnType: HeaderState
    signature: HeaderState handleFirstServerHeader(Data *const data, TSCont const
      contp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config*::canLogError
      Src: /src/trafficserver/plugins/slice/server.cc:276,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:279,1
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/slice/server.cc:285,1
    - Dst: HttpHeader::urlString
      Src: /src/trafficserver/plugins/slice/server.cc:292,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:296,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/server.cc:299,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:305,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: Config*::m_skip_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:316,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/server.cc:320,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:323,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:328,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:333,1
    - Dst: HttpHeader::timeForKey
      Src: /src/trafficserver/plugins/slice/server.cc:337,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:342,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:347,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:351,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:355,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:357,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:359,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - message
    - data
    - header_resp
    argTypes:
    - char*
    - Data*
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 379
    functionName: logSliceError
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    - TSfree
    - static_cast<intmax_t>
    - 'on'
    - Config*::canLogError
    - DEBUG_LOG
    - ERROR_LOG
    - ContentRange::toStringClosed
    - HttpHeader::urlString
    - min
    - TSStringPercentEncode
    - HttpHeader::valueForKey
    - Config*::m_skip_header::size
    - HttpHeader::status
    - Config*::m_skip_header::data
    - HttpHeader::timeForKey
    linkageType: ''
    returnType: void
    signature: void logSliceError(char const *const message, Data const *const data,
      HttpHeader const &header_resp)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:386,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:387,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/server.cc:387,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:392,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:394,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:398,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:404,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:404,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:407,1
    - Dst: contentRangeFrom
      Src: /src/trafficserver/plugins/slice/server.cc:416,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/server.cc:417,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:418,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:427,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/slice/server.cc:430,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:432,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:437,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/slice/server.cc:439,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:441,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:452,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:458,1
    - Dst: HttpHeader::timeForKey
      Src: /src/trafficserver/plugins/slice/server.cc:464,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:469,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:469,1
    - Dst: HttpHeader::setKeyTime
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: Config*::m_crr_ims_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:475,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/server.cc:475,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:481,1
    - Dst: TSMimeParseDate
      Src: /src/trafficserver/plugins/slice/server.cc:487,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:492,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:492,1
    - Dst: HttpHeader::setKeyTime
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: Config*::m_crr_ims_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:498,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/server.cc:498,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:506,1
    - Dst: ContentRange::rangeSize
      Src: /src/trafficserver/plugins/slice/server.cc:524,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:526,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 381
    functionDepth: 7
    functionLinenumber: 381
    functionLinenumberEnd: 532
    functionName: handleNextServerHeader
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - ERROR_LOG
    - ContentRange::rangeSize
    - HttpHeader::setKeyTime
    - logSliceError
    - Data*::onlyHeader
    - size
    - Config*::m_crr_ims_header::size
    - DEBUG_LOG
    - HttpHeader::toString
    - HttpHeader::status
    - Config*::m_crr_ims_header::c_str
    - strncmp
    - data
    - Data*::m_upstream::abort
    - ContentRange::isValid
    - contentRangeFrom
    - HttpHeader::hasKey
    - static_cast<intmax_t>
    - 'on'
    - Data*::m_req_range::firstBlockFor
    - Config*::m_crr_ims_header::data
    - HttpHeader::valueForKey
    - TSMimeParseDate
    - HttpHeader::timeForKey
    linkageType: ''
    returnType: bool
    signature: bool handleNextServerHeader(Data *const data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:45,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:48,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:52,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 6
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: contentRangeFrom
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 2
    functionsReached:
    - DEBUG_LOG
    - HttpHeader::valueForKey
    - ContentRange::fromStringClosed
    linkageType: ''
    returnType: ContentRange
    signature: ContentRange contentRangeFrom(HttpHeader const &header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:69,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:72,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    - Dst: strtoll
      Src: /src/trafficserver/plugins/slice/server.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: contentLengthFrom
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 1
    functionsReached:
    - DEBUG_LOG
    - max
    - HttpHeader::valueForKey
    - strtoll
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t contentLengthFrom(HttpHeader const &header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/slice/server.cc:95,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:102,1
    - Dst: Config::sizeCacheAdd
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:103,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/server.cc:104,1
    - Dst: Config::sizeCacheRemove
      Src: /src/trafficserver/plugins/slice/server.cc:106,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/slice/server.cc:106,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/slice/server.cc:107,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/server.cc:110,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - txnp
    - size
    - config
    argTypes:
    - TSHttpTxn
    - int64_t
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: update_object_size
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 1
    functionsReached:
    - Config::sizeCacheRemove
    - TSfree
    - DEBUG_LOG
    - ERROR_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - Config::sizeCacheAdd
    - static_cast<uint64_t>
    - static_cast<size_t>
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void update_object_size(TSHttpTxn txnp, int64_t size, Config &config)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:121,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:122,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/server.cc:122,1
    - Dst: Data*::m_dnstream::setupVioWrite
      Src: /src/trafficserver/plugins/slice/server.cc:125,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:132,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:133,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:133,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:136,1
    - Dst: contentLengthFrom
      Src: /src/trafficserver/plugins/slice/server.cc:137,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:138,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:138,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:139,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:142,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:145,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:148,1
    - Dst: update_object_size
      Src: /src/trafficserver/plugins/slice/server.cc:150,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:151,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:153,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:155,1
    - Dst: contentRangeFrom
      Src: /src/trafficserver/plugins/slice/server.cc:159,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/server.cc:162,1
    - Dst: string502
      Src: /src/trafficserver/plugins/slice/server.cc:163,1
    - Dst: HttpHeader::version
      Src: /src/trafficserver/plugins/slice/server.cc:163,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:164,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:164,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:165,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:166,1
    - Dst: update_object_size
      Src: /src/trafficserver/plugins/slice/server.cc:170,1
    - Dst: Data*::m_req_range::isEndBytes
      Src: /src/trafficserver/plugins/slice/server.cc:176,1
    - Dst: max
      Src: /src/trafficserver/plugins/slice/server.cc:179,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/slice/server.cc:179,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/server.cc:182,1
    - Dst: Data*::m_req_range::size
      Src: /src/trafficserver/plugins/slice/server.cc:185,1
    - Dst: bodyString416
      Src: /src/trafficserver/plugins/slice/server.cc:190,1
    - Dst: form416HeaderAndBody
      Src: /src/trafficserver/plugins/slice/server.cc:191,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:193,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:194,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:196,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:197,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/server.cc:198,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:199,1
    - Dst: Data*::m_upstream::m_read::close
      Src: /src/trafficserver/plugins/slice/server.cc:200,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:206,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:210,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:212,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:223,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:227,1
    - Dst: Data*::m_dnstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:228,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:230,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/server.cc:234,1
    - Dst: HttpHeader::setStatus
      Src: /src/trafficserver/plugins/slice/server.cc:236,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/slice/server.cc:237,1
    - Dst: HttpHeader::setReason
      Src: /src/trafficserver/plugins/slice/server.cc:238,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/server.cc:238,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/server.cc:239,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/slice/server.cc:243,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/server.cc:244,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/server.cc:247,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:250,1
    - Dst: ContentRange::rangeSize
      Src: /src/trafficserver/plugins/slice/server.cc:256,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/slice/server.cc:258,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/slice/server.cc:259,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:261,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:263,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/server.cc:264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 2
    argNames:
    - data
    - contp
    argTypes:
    - Data*
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 269
    functionName: handleFirstServerHeader
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - Data*::m_upstream::close
    - std::string::data
    - ERROR_LOG
    - ContentRange::toStringClosed
    - ContentRange::rangeSize
    - TSVIOReenable
    - min
    - snprintf
    - Data*::onlyHeader
    - Data*::m_dnstream::setupVioWrite
    - HttpHeader::setReason
    - contentLengthFrom
    - size
    - DEBUG_LOG
    - TSHttpHdrReasonLookup
    - max
    - HttpHeader::toString
    - Data*::m_req_range::size
    - TSHttpHdrPrint
    - HttpHeader::status
    - data
    - HttpHeader::removeKey
    - ContentRange::isValid
    - TSHttpHdrLengthGet
    - bodyString416
    - TSIOBufferWrite
    - Data*::m_upstream::m_read::close
    - HttpHeader::setStatus
    - strlen
    - Data*::m_req_range::isEndBytes
    - Data*::m_dnstream::close
    - contentRangeFrom
    - update_object_size
    - static_cast<int64_t>
    - HttpHeader::hasKey
    - 'on'
    - Data*::m_req_range::firstBlockFor
    - std::string::size
    - form416HeaderAndBody
    - HttpHeader::setKeyVal
    - HttpHeader::valueForKey
    - HttpHeader::version
    - string502
    linkageType: ''
    returnType: HeaderState
    signature: HeaderState handleFirstServerHeader(Data *const data, TSCont const
      contp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config*::canLogError
      Src: /src/trafficserver/plugins/slice/server.cc:276,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:279,1
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/slice/server.cc:285,1
    - Dst: HttpHeader::urlString
      Src: /src/trafficserver/plugins/slice/server.cc:292,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:296,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/slice/server.cc:299,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:305,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: Config*::m_skip_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:310,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/server.cc:316,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/server.cc:320,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:323,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:328,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:333,1
    - Dst: HttpHeader::timeForKey
      Src: /src/trafficserver/plugins/slice/server.cc:337,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:342,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:347,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:351,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/slice/server.cc:355,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:357,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:359,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - message
    - data
    - header_resp
    argTypes:
    - char*
    - Data*
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 379
    functionName: logSliceError
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 1
    functionsReached:
    - TShrtime
    - TSfree
    - static_cast<intmax_t>
    - 'on'
    - Config*::canLogError
    - DEBUG_LOG
    - ERROR_LOG
    - ContentRange::toStringClosed
    - HttpHeader::urlString
    - min
    - TSStringPercentEncode
    - HttpHeader::valueForKey
    - Config*::m_skip_header::size
    - HttpHeader::status
    - Config*::m_skip_header::data
    - HttpHeader::timeForKey
    linkageType: ''
    returnType: void
    signature: void logSliceError(char const *const message, Data const *const data,
      HttpHeader const &header_resp)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/server.cc:386,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:387,1
    - Dst: HttpHeader::toString
      Src: /src/trafficserver/plugins/slice/server.cc:387,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:392,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:394,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:398,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:404,1
    - Dst: HttpHeader::status
      Src: /src/trafficserver/plugins/slice/server.cc:404,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:407,1
    - Dst: contentRangeFrom
      Src: /src/trafficserver/plugins/slice/server.cc:416,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/server.cc:417,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:418,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:427,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/slice/server.cc:430,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:432,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/server.cc:437,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/slice/server.cc:439,1
    - Dst: logSliceError
      Src: /src/trafficserver/plugins/slice/server.cc:441,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:452,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:458,1
    - Dst: HttpHeader::timeForKey
      Src: /src/trafficserver/plugins/slice/server.cc:464,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:469,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:469,1
    - Dst: HttpHeader::setKeyTime
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: Config*::m_crr_ims_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:474,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:475,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/server.cc:475,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:481,1
    - Dst: TSMimeParseDate
      Src: /src/trafficserver/plugins/slice/server.cc:487,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:492,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/slice/server.cc:492,1
    - Dst: HttpHeader::setKeyTime
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: Config*::m_crr_ims_header::data
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: Config*::m_crr_ims_header::size
      Src: /src/trafficserver/plugins/slice/server.cc:497,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:498,1
    - Dst: Config*::m_crr_ims_header::c_str
      Src: /src/trafficserver/plugins/slice/server.cc:498,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:506,1
    - Dst: ContentRange::rangeSize
      Src: /src/trafficserver/plugins/slice/server.cc:524,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:526,1
    - Dst: HttpHeader::hasKey
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    - Dst: data
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    - Dst: size
      Src: /src/trafficserver/plugins/slice/server.cc:527,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 381
    functionDepth: 7
    functionLinenumber: 381
    functionLinenumberEnd: 532
    functionName: handleNextServerHeader
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 0
    functionsReached:
    - ERROR_LOG
    - ContentRange::rangeSize
    - HttpHeader::setKeyTime
    - logSliceError
    - Data*::onlyHeader
    - size
    - Config*::m_crr_ims_header::size
    - DEBUG_LOG
    - HttpHeader::toString
    - HttpHeader::status
    - Config*::m_crr_ims_header::c_str
    - strncmp
    - data
    - Data*::m_upstream::abort
    - ContentRange::isValid
    - contentRangeFrom
    - HttpHeader::hasKey
    - static_cast<intmax_t>
    - 'on'
    - Data*::m_req_range::firstBlockFor
    - Config*::m_crr_ims_header::data
    - HttpHeader::valueForKey
    - TSMimeParseDate
    - HttpHeader::timeForKey
    linkageType: ''
    returnType: bool
    signature: bool handleNextServerHeader(Data *const data)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: transfer_all_bytes
      Src: /src/trafficserver/plugins/slice/server.cc:543,1
    - Dst: Data*::m_resp_hdrmgr::populateFrom
      Src: /src/trafficserver/plugins/slice/server.cc:552,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/server.cc:554,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/server.cc:554,1
    - Dst: handleFirstServerHeader
      Src: /src/trafficserver/plugins/slice/server.cc:566,1
    - Dst: transfer_all_bytes
      Src: /src/trafficserver/plugins/slice/server.cc:576,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:577,1
    - Dst: handleNextServerHeader
      Src: /src/trafficserver/plugins/slice/server.cc:586,1
    - Dst: Data*::m_upstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:594,1
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/server.cc:596,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:597,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/server.cc:599,1
    - Dst: request_block
      Src: /src/trafficserver/plugins/slice/server.cc:609,1
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/server.cc:611,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:612,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/server.cc:614,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:622,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/server.cc:624,1
    - Dst: Data*::m_dnstream::isOpen
      Src: /src/trafficserver/plugins/slice/server.cc:628,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/server.cc:630,1
    - Dst: Data*::m_dnstream::abort
      Src: /src/trafficserver/plugins/slice/server.cc:633,1
    - Dst: Data*::m_req_range::skipBytesForBlock
      Src: /src/trafficserver/plugins/slice/server.cc:639,1
    - Dst: transfer_content_bytes
      Src: /src/trafficserver/plugins/slice/server.cc:644,1
    - Dst: transfer_all_bytes
      Src: /src/trafficserver/plugins/slice/server.cc:653,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:654,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/server.cc:657,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/server.cc:659,1
    - Dst: Data*::onlyHeader
      Src: /src/trafficserver/plugins/slice/server.cc:670,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/server.cc:671,1
    - Dst: transfer_content_bytes
      Src: /src/trafficserver/plugins/slice/server.cc:675,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:677,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:682,1
    - Dst: Data*::m_req_range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/server.cc:695,1
    - Dst: Data*::m_req_range::blockIsInside
      Src: /src/trafficserver/plugins/slice/server.cc:702,1
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/server.cc:711,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/server.cc:714,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:720,1
    - Dst: request_block
      Src: /src/trafficserver/plugins/slice/server.cc:726,1
    - Dst: abort
      Src: /src/trafficserver/plugins/slice/server.cc:728,1
    - Dst: Data*::m_upstream::close
      Src: /src/trafficserver/plugins/slice/server.cc:733,1
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/server.cc:735,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/server.cc:736,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/server.cc:741,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/slice/server.cc:741,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 147
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 537
    functionDepth: 8
    functionLinenumber: 537
    functionLinenumberEnd: 744
    functionName: handle_server_resp
    functionSourceFile: /src/trafficserver/plugins/slice/server.cc
    functionUses: 1
    functionsReached:
    - handleFirstServerHeader
    - Data*::m_upstream::close
    - TSVIOReenable
    - min
    - transfer_all_bytes
    - Data*::onlyHeader
    - transfer_content_bytes
    - Data*::m_req_range::blockIsInside
    - TSVIONDoneGet
    - Data*::m_dnstream::m_write::isOpen
    - Data*::m_resp_hdrmgr::populateFrom
    - shutdown
    - DEBUG_LOG
    - Data*::m_dnstream::abort
    - abort
    - Data*::m_upstream::abort
    - Data*::m_dnstream::isOpen
    - request_block
    - TSHttpEventNameLookup
    - TSVIONDoneSet
    - Data*::m_req_range::firstBlockFor
    - Data*::m_req_range::skipBytesForBlock
    - handleNextServerHeader
    linkageType: ''
    returnType: void
    signature: void handle_server_resp(TSCont contp, TSEvent event, Data *const data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cache_size
    argTypes:
    - cache_size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ObjectSizeCache::ObjectSizeCache
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSizeCache::ObjectSizeCache(cache_size_type cache_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:36,1
    - Dst: end
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:36,1
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts:
    - condition: (url == _urls[i])
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: ObjectSizeCache::get
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached:
    - find
    - assert
    - end
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> ObjectSizeCache::get(const std::string_view
      url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:53,1
    - Dst: end
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:53,1
    - Dst: ObjectSizeCache::find_eviction_slot
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - url
    - object_size
    argTypes:
    - std::string_view
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: ObjectSizeCache::set
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached:
    - find
    - ObjectSizeCache::find_eviction_slot
    - end
    linkageType: ''
    returnType: void
    signature: void ObjectSizeCache::set(const std::string_view url, uint64_t object_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:74,1
    - Dst: end
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:74,1
    - Dst: erase
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:77,1
    - Dst: erase
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: ObjectSizeCache::remove
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void ObjectSizeCache::remove(const std::string_view url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:98,1
    - Dst: find
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:99,1
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:100,1
    - Dst: end
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:100,1
    - Dst: erase
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:101,1
    - Dst: erase
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (it != _index.end())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: ObjectSizeCache::find_eviction_slot
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 1
    functionsReached:
    - erase
    - find
    - std::string_view::empty
    - end
    - assert
    linkageType: ''
    returnType: void
    signature: void ObjectSizeCache::find_eviction_slot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ObjectSizeCache::cache_capacity
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectSizeCache::cache_size_type
    signature: ObjectSizeCache::cache_size_type ObjectSizeCache::cache_capacity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/slice/ObjectSizeCache.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ObjectSizeCache::cache_count
    functionSourceFile: /src/trafficserver/plugins/slice/ObjectSizeCache.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: ObjectSizeCache::cache_size_type
    signature: ObjectSizeCache::cache_size_type ObjectSizeCache::cache_count()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/slice/client.cc:34,1
    - Dst: Data*::m_req_hdrmgr::populateFrom
      Src: /src/trafficserver/plugins/slice/client.cc:40,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/client.cc:46,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/client.cc:46,1
    - Dst: HttpHeader::setUrl
      Src: /src/trafficserver/plugins/slice/client.cc:52,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/client.cc:54,1
    - Dst: HttpHeader::valueForKey
      Src: /src/trafficserver/plugins/slice/client.cc:61,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/client.cc:66,1
    - Dst: Config*::m_skip_header::c_str
      Src: /src/trafficserver/plugins/slice/client.cc:66,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/client.cc:66,1
    - Dst: Range::fromStringClosed
      Src: /src/trafficserver/plugins/slice/client.cc:67,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:70,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:74,1
    - Dst: Range
      Src: /src/trafficserver/plugins/slice/client.cc:78,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:81,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/client.cc:83,1
    - Dst: HttpHeader::setKeyVal
      Src: /src/trafficserver/plugins/slice/client.cc:84,1
    - Dst: Config*::m_skip_header::data
      Src: /src/trafficserver/plugins/slice/client.cc:84,1
    - Dst: Config*::m_skip_header::size
      Src: /src/trafficserver/plugins/slice/client.cc:84,1
    - Dst: Range
      Src: /src/trafficserver/plugins/slice/client.cc:86,1
    - Dst: Range::firstBlockFor
      Src: /src/trafficserver/plugins/slice/client.cc:92,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:98,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:99,1
    - Dst: request_block
      Src: /src/trafficserver/plugins/slice/client.cc:102,1
    - Dst: abort
      Src: /src/trafficserver/plugins/slice/client.cc:103,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:109,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:110,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:111,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:112,1
    - Dst: HttpHeader::removeKey
      Src: /src/trafficserver/plugins/slice/client.cc:113,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:116,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/slice/client.cc:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 27
    functionDepth: 6
    functionLinenumber: 27
    functionLinenumberEnd: 121
    functionName: handle_client_req
    functionSourceFile: /src/trafficserver/plugins/slice/client.cc
    functionUses: 1
    functionsReached:
    - Range::firstBlockFor
    - HttpHeader::setUrl
    - TSVIONDoneGet
    - Range::fromStringClosed
    - DEBUG_LOG
    - Config*::m_skip_header::c_str
    - Config*::m_skip_header::size
    - abort
    - HttpHeader::removeKey
    - request_block
    - TSHttpEventNameLookup
    - strlen
    - Config*::m_skip_header::data
    - TSHttpParserCreate
    - TSVIONDoneSet
    - Range
    - HttpHeader::setKeyVal
    - Data*::m_req_hdrmgr::populateFrom
    - HttpHeader::valueForKey
    linkageType: ''
    returnType: bool
    signature: bool handle_client_req(TSCont contp, TSEvent event, Data *const data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/client.cc:134,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:138,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/client.cc:139,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/client.cc:146,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:152,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:154,1
    - Dst: request_block
      Src: /src/trafficserver/plugins/slice/client.cc:155,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/slice/client.cc:168,1
    - Dst: reader_avail_more_than
      Src: /src/trafficserver/plugins/slice/client.cc:168,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/client.cc:169,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:170,1
    - Dst: Data*::m_dnstream::close
      Src: /src/trafficserver/plugins/slice/client.cc:173,1
    - Dst: Data*::m_upstream::m_read::isOpen
      Src: /src/trafficserver/plugins/slice/client.cc:174,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/slice/client.cc:175,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/client.cc:179,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/slice/client.cc:179,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 182
    functionName: handle_client_resp
    functionSourceFile: /src/trafficserver/plugins/slice/client.cc
    functionUses: 1
    functionsReached:
    - Data*::m_upstream::m_read::isOpen
    - TSIOBufferReaderAvail
    - 'on'
    - shutdown
    - DEBUG_LOG
    - request_block
    - reader_avail_more_than
    - TSHttpEventNameLookup
    - Data*::m_dnstream::close
    - TSVIONDoneGet
    linkageType: ''
    returnType: void
    signature: void handle_client_resp(TSCont contp, TSEvent event, Data *const data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - lochdr
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: HttpHeader
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader(TSMBuffer buffer, TSMLoc lochdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: isValid
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:61,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: byteSize
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached:
    - TSHttpHdrLengthGet
    - isValid
    linkageType: ''
    returnType: int
    signature: int byteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCharPtr
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: method
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 22
    functionsReached:
    - getCharPtr
    linkageType: ''
    returnType: char
    signature: "char *\n  method(int *const len = nullptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: version
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 74
    functionsReached:
    - TSHttpHdrVersionGet
    linkageType: ''
    returnType: int
    signature: int version() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCharPtr
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: hostname
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 9
    functionsReached:
    - getCharPtr
    linkageType: ''
    returnType: char
    signature: "char *\n  hostname(int *const len) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCharPtr
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: reason
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 2
    functionsReached:
    - getCharPtr
    linkageType: ''
    returnType: char
    signature: "char *\n  reason(int *const len) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: TxnHdrMgr
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxnHdrMgr(TxnHdrMgr const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '&operator=(TxnHdrMgr const &)'
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TxnHdrMgr
    signature: TxnHdrMgr &operator=(TxnHdrMgr const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: TxnHdrMgr
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxnHdrMgr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: ~TxnHdrMgr()
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~TxnHdrMgr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - func
    argTypes:
    - TSHttpTxn
    - HeaderGetFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: populateFrom
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 6
    functionsReached:
    - func
    linkageType: ''
    returnType: bool
    signature: bool populateFrom(TSHttpTxn const &txnp, HeaderGetFunc const &func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: isValid
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: HdrMgr
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrMgr(HdrMgr const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '&operator=(HdrMgr const &)'
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HdrMgr
    signature: HdrMgr &operator=(HdrMgr const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: HdrMgr
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HdrMgr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:201,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:202,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: ~HdrMgr()
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ~HdrMgr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:212,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/slice/HttpHeader.h:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: resetHeader
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void resetHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: isValid
    functionSourceFile: /src/trafficserver/plugins/slice/HttpHeader.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/slice/Config.cc:39,1
    - Dst: pcre_free_study
      Src: /src/trafficserver/plugins/slice/Config.cc:41,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/slice/Config.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: Config::~Config()
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - pcre_free_study
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/trafficserver/plugins/slice/Config.cc:53,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/slice/Config.cc:58,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/slice/Config.cc:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - valstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: Config::bytesFrom
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - strtoll
    - tolower
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: int64_t Config::bytesFrom(char const *const valstr)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:85,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:87,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/slice/Config.cc:97,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/slice/Config.cc:99,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/slice/Config.cc:100,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/slice/Config.cc:102,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/slice/Config.cc:102,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/slice/Config.cc:103,1
    - Dst: Config::bytesFrom
      Src: /src/trafficserver/plugins/slice/Config.cc:104,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:107,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:116,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:117,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:118,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:119,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:120,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:121,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:122,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:123,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:124,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:125,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:126,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:127,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:128,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:129,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:130,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/slice/Config.cc:131,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/slice/Config.cc:136,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/slice/Config.cc:138,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:143,1
    - Dst: Config::bytesFrom
      Src: /src/trafficserver/plugins/slice/Config.cc:147,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:149,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:152,1
    - Dst: assign
      Src: /src/trafficserver/plugins/slice/Config.cc:156,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:157,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:164,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/slice/Config.cc:171,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:171,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:173,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:173,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/slice/Config.cc:176,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:177,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:177,1
    - Dst: assign
      Src: /src/trafficserver/plugins/slice/Config.cc:181,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:182,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:186,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/slice/Config.cc:193,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:193,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:195,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:195,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/slice/Config.cc:198,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:199,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:199,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:204,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/slice/Config.cc:207,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/Config.cc:209,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:211,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:216,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:216,1
    - Dst: assign
      Src: /src/trafficserver/plugins/slice/Config.cc:219,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:220,1
    - Dst: Config::bytesFrom
      Src: /src/trafficserver/plugins/slice/Config.cc:224,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:226,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:229,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:232,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/slice/Config.cc:236,1
    - Dst: Config::bytesFrom
      Src: /src/trafficserver/plugins/slice/Config.cc:242,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:244,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:247,1
    - Dst: std::stoul
      Src: /src/trafficserver/plugins/slice/Config.cc:251,1
    - Dst: Config::setCacheSize
      Src: /src/trafficserver/plugins/slice/Config.cc:252,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:253,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:255,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:257,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:262,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:262,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:270,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:273,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:277,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:279,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:281,1
    - Dst: empty
      Src: /src/trafficserver/plugins/slice/Config.cc:283,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:285,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:285,1
    - Dst: empty
      Src: /src/trafficserver/plugins/slice/Config.cc:287,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:289,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:289,1
    - Dst: empty
      Src: /src/trafficserver/plugins/slice/Config.cc:291,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:293,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/Config.cc:293,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/slice/Config.cc:297,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:298,1
    - Dst: cache_capacity
      Src: /src/trafficserver/plugins/slice/Config.cc:298,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:300,1
    - Dst: Config::setCacheSize
      Src: /src/trafficserver/plugins/slice/Config.cc:301,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 183
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 306
    functionName: Config::fromArgs
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - ERROR_LOG
    - min
    - Config::setCacheSize
    - pcre_compile
    - assign
    - std::string_view::data
    - std::string_view::find_first_of
    - std::string_view::substr
    - DEBUG_LOG
    - const_cast<char *const *>
    - has_value
    - empty
    - pcre_study
    - cache_capacity
    - getopt_long
    - atoi
    - Config::bytesFrom
    - const_cast<char *>
    - std::string_view::empty
    - c_str
    - std::stoul
    linkageType: ''
    returnType: bool
    signature: bool Config::fromArgs(int const argc, char const *const argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/slice/Config.cc:318,1
    - Dst: TS_HRTIME_SECONDS
      Src: /src/trafficserver/plugins/slice/Config.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 334
    functionName: Config::canLogError
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - TS_HRTIME_SECONDS
    - TShrtime
    linkageType: ''
    returnType: bool
    signature: bool Config::canLogError()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/slice/Config.cc:343,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/slice/Config.cc:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - url
    - urllen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: Config::matchesRegex
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - pcre_exec
    linkageType: ''
    returnType: bool
    signature: bool Config::matchesRegex(char const *const url, int const urllen)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/slice/Config.cc:363,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/slice/Config.cc:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entries
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: Config::setCacheSize
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 1
    functionsReached:
    - reset
    - emplace
    linkageType: ''
    returnType: void
    signature: void Config::setCacheSize(size_t entries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/Config.cc:377,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/slice/Config.cc:377,1
    - Dst: get
      Src: /src/trafficserver/plugins/slice/Config.cc:378,1
    - Dst: std::optional::has_value
      Src: /src/trafficserver/plugins/slice/Config.cc:379,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:380,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/slice/Config.cc:380,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/slice/Config.cc:380,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/slice/Config.cc:380,1
    - Dst: std::optional::value
      Src: /src/trafficserver/plugins/slice/Config.cc:380,1
    - Dst: std::optional::value
      Src: /src/trafficserver/plugins/slice/Config.cc:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts:
    - condition: (m_oscache.has_value())
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/trafficserver/plugins/slice/Config.cc
    constantsTouched: []
    func_position:
      end: 387
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 387
    functionName: Config::isKnownLargeObj
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<int>
    - DEBUG_LOG
    - std::optional::has_value
    - has_value
    - std::string_view::size
    - std::optional::value
    - std::string_view::data
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Config::isKnownLargeObj(std::string_view url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:393,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/slice/Config.cc:393,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/slice/Config.cc:393,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/slice/Config.cc:393,1
    - Dst: set
      Src: /src/trafficserver/plugins/slice/Config.cc:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - url
    - size
    argTypes:
    - std::string_view
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: Config::sizeCacheAdd
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - DEBUG_LOG
    - std::string_view::size
    - set
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Config::sizeCacheAdd(std::string_view url, uint64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/slice/Config.cc:402,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/slice/Config.cc:402,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/slice/Config.cc:402,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/slice/Config.cc:402,1
    - Dst: remove
      Src: /src/trafficserver/plugins/slice/Config.cc:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: Config::sizeCacheRemove
    functionSourceFile: /src/trafficserver/plugins/slice/Config.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - DEBUG_LOG
    - remove
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Config::sizeCacheRemove(std::string_view url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/transfer.cc:36,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/transfer.cc:38,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/transfer.cc:40,1
    - Dst: min
      Src: /src/trafficserver/plugins/slice/transfer.cc:51,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/slice/transfer.cc:53,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/transfer.cc:56,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/transfer.cc:65,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/transfer.cc:70,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/transfer.cc:78,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/transfer.cc:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: transfer_content_bytes
    functionSourceFile: /src/trafficserver/plugins/slice/transfer.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - TSVIOReenable
    - min
    - TSIOBufferCopy
    - TSVIONDoneGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t transfer_content_bytes(Data *const data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Data*::m_dnstream::m_write::isOpen
      Src: /src/trafficserver/plugins/slice/transfer.cc:90,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/slice/transfer.cc:99,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/slice/transfer.cc:102,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/slice/transfer.cc:105,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/slice/transfer.cc:110,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/slice/transfer.cc:118,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/slice/transfer.cc:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: transfer_all_bytes
    functionSourceFile: /src/trafficserver/plugins/slice/transfer.cc
    functionUses: 1
    functionsReached:
    - Data*::m_dnstream::m_write::isOpen
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - TSVIOReenable
    - TSIOBufferCopy
    - TSVIONDoneGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t transfer_all_bytes(Data *const data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Range
    functionSourceFile: /src/trafficserver/plugins/slice/Range.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Range
    functionSourceFile: /src/trafficserver/plugins/slice/Range.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range(int64_t const begin, int64_t const end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: hasRegex
    functionSourceFile: /src/trafficserver/plugins/slice/Config.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasRegex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DEBUG_LOG
    functionSourceFile: /src/trafficserver/plugins/slice/slice.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_LOG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ERROR_LOG
    functionSourceFile: /src/trafficserver/plugins/slice/slice.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERROR_LOG(fmt, ...)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:38,1
    - Dst: ContentRange::isValid
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:44,1
    - Dst: ContentRange::toStringClosed
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:54,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:58,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:60,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:70,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:70,1
    - Dst: ContentRange::fromStringClosed
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:78,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:78,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: testContentRange
    functionSourceFile: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - ContentRange::toStringClosed
    - std::ostringstream::str
    - ContentRange::fromStringClosed
    - std::string::c_str
    - ContentRange::isValid
    linkageType: ''
    returnType: std::string
    signature: std::string testContentRange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:126,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:126,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:126,1
    - Dst: std::vector::reserve
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:129,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:129,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:134,1
    - Dst: Range::fromStringClosed
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:134,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:134,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:135,1
    - Dst: assert
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:138,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:138,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:138,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:140,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (exps.size() == teststrings.size())
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    - condition: (gots.size() == exps.size())
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    constantsTouched: []
    func_position:
      end: 152
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 152
    functionName: testParseRange
    functionSourceFile: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::size
    - std::vector::push_back
    - Range::fromStringClosed
    - c_str
    - std::ostringstream::str
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string testParseRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:161,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - func
    - fname
    argTypes:
    - TestFunc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: add
    functionSourceFile: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    functionUses: 49
    functionsReached:
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void add(TestFunc const &func, char const *const fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: run
    functionSourceFile: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    functionUses: 36
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: int
    signature: int run() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tests::add
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:191,1
    - Dst: Tests::add
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:192,1
    - Dst: Tests::run
      Src: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/slice/unit-tests/slice_test.cc
    functionUses: 6
    functionsReached:
    - Tests::add
    - Tests::run
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:30,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:35,1
    - Dst: String::replace
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - from
    - to
    argTypes:
    - String
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: replaceString
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - String::length
    - String::empty
    - String::replace
    - String::find
    linkageType: ''
    returnType: void
    signature: void replaceString(String &str, const String &from, const String &to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Pattern::Pattern
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pattern::Pattern()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:52,1
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:54,1
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:55,1
    - Dst: Pattern::compile
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:59,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:60,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:60,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:60,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pattern
    - replacement
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - Pattern::compile
    - Pattern::pcreFree
    - String::c_str
    - PrefetchDebug
    - assign
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &pattern, const String &replacement)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:87,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:91,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:94,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:94,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:101,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:105,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:108,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:108,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:113,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:114,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:116,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - config
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 123
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - String::find_first_of
    - replaceString
    - Pattern::init
    - String::substr
    - String::c_str
    - PrefetchError
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Pattern::empty
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - Pattern::empty
    linkageType: ''
    returnType: bool
    signature: bool Pattern::empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:142,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: Pattern::pcreFree
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void Pattern::pcreFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: Pattern::~Pattern()
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - Pattern::pcreFree
    linkageType: ''
    returnType: void
    signature: void Pattern::~Pattern()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:171,1
    - Dst: Pattern::replace
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:174,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:175,1
    - Dst: Pattern::capture
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:182,1
    - Dst: StringVector::size
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:183,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:184,1
    - Dst: StringVector::begin
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:186,1
    - Dst: StringVector::end
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:187,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 197
    functionName: Pattern::process
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - StringVector::size
    - StringVector::end
    - StringVector::begin
    - Pattern::replace
    - Pattern::empty
    - StringVector::push_back
    - Pattern::capture
    linkageType: ''
    returnType: bool
    signature: bool Pattern::process(const String &subject, StringVector &result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:208,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:208,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:208,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:214,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:214,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:214,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: Pattern::match
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    - PrefetchDebug
    - PrefetchError
    linkageType: ''
    returnType: bool
    signature: bool Pattern::match(const String &subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:236,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:236,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:236,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:242,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:242,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:242,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:245,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:256,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:256,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 261
    functionName: Pattern::capture
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - StringVector::push_back
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    - PrefetchDebug
    - PrefetchError
    linkageType: ''
    returnType: bool
    signature: bool Pattern::capture(const String &subject, StringVector &result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:275,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:275,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:275,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:281,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:281,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:281,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:284,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:292,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:306,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:306,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:306,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:308,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:309,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:314,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:314,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:316,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:316,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 319
    functionName: Pattern::replace
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - length
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    - PrefetchDebug
    - PrefetchError
    - String::append
    linkageType: ''
    returnType: bool
    signature: bool Pattern::replace(const String &subject, String &result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:331,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:331,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:331,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:333,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:333,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:340,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:340,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:345,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:348,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:348,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:350,1
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:355,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:363,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:366,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:366,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:371,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:371,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 392
    functionName: Pattern::compile
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - pcre_study
    - length
    - Pattern::pcreFree
    - c_str
    - Pattern::empty
    - PrefetchDebug
    - pcre_compile
    - PrefetchError
    - pcre_free
    linkageType: ''
    returnType: bool
    signature: bool Pattern::compile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: MultiPattern::~MultiPattern()
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern::~MultiPattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::empty
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: MultiPattern::empty
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - MultiPattern::empty
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::_list::push_back
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:418,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::unique_ptr<Pattern>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: MultiPattern::add
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached:
    - std::move
    - MultiPattern::_list::push_back
    linkageType: ''
    returnType: void
    signature: void MultiPattern::add(std::unique_ptr<Pattern> pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: MultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::match(const String &subject) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::replace
      Src: /src/trafficserver/plugins/prefetch/pattern.cc:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: MultiPattern::replace
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 1
    functionsReached:
    - MultiPattern::replace
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::replace(const String &subject, String &result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: '&

      MultiPattern::name() const'
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      MultiPattern::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/plugins/prefetch/configs.cc:40,1
    - Dst: ContainerType::insert
      Src: /src/trafficserver/plugins/prefetch/configs.cc:41,1
    - Dst: ContainerType::end
      Src: /src/trafficserver/plugins/prefetch/configs.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - input
    argTypes:
    - ContainerType
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: commaSeparateString
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached:
    - std::getline
    - ContainerType::end
    - ContainerType::insert
    linkageType: ''
    returnType: void
    signature: void commaSeparateString(ContainerType &c, const String &input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/prefetch/configs.cc:48,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/prefetch/configs.cc:48,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/prefetch/configs.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: isTrue
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool isTrue(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - policy
    argTypes:
    - EvalPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: fetchOverflowString
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: String fetchOverflowString(const EvalPolicy policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equal
      Src: /src/trafficserver/plugins/prefetch/configs.cc:70,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/configs.cc:70,1
    - Dst: StringView::end
      Src: /src/trafficserver/plugins/prefetch/configs.cc:70,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/configs.cc:70,1
    - Dst: StringView::end
      Src: /src/trafficserver/plugins/prefetch/configs.cc:70,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/prefetch/configs.cc:71,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/prefetch/configs.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: iequals
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached:
    - StringView::begin
    - tolower
    - equal
    - StringView::end
    linkageType: ''
    returnType: bool
    signature: bool iequals(const StringView lhs, const StringView rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringView
      Src: /src/trafficserver/plugins/prefetch/configs.cc:77,1
    - Dst: iequals
      Src: /src/trafficserver/plugins/prefetch/configs.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: PrefetchConfig::setFetchOverflow
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached:
    - iequals
    - StringView
    linkageType: ''
    returnType: void
    signature: void PrefetchConfig::setFetchOverflow(const char *optarg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:93,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:94,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:95,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:96,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:97,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:98,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:99,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:100,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:101,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:102,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:103,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:104,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:105,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:106,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:107,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/prefetch/configs.cc:120,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:126,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/prefetch/configs.cc:130,1
    - Dst: PrefetchConfig::setApiHeader
      Src: /src/trafficserver/plugins/prefetch/configs.cc:134,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/prefetch/configs.cc:138,1
    - Dst: PrefetchConfig::setNextHeader
      Src: /src/trafficserver/plugins/prefetch/configs.cc:142,1
    - Dst: PrefetchConfig::setFetchPolicy
      Src: /src/trafficserver/plugins/prefetch/configs.cc:146,1
    - Dst: PrefetchConfig::setFetchCount
      Src: /src/trafficserver/plugins/prefetch/configs.cc:150,1
    - Dst: std::make_unique<Pattern>
      Src: /src/trafficserver/plugins/prefetch/configs.cc:154,1
    - Dst: auto::init
      Src: /src/trafficserver/plugins/prefetch/configs.cc:156,1
    - Dst: add
      Src: /src/trafficserver/plugins/prefetch/configs.cc:157,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/prefetch/configs.cc:157,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/configs.cc:159,1
    - Dst: PrefetchConfig::setQueryKey
      Src: /src/trafficserver/plugins/prefetch/configs.cc:165,1
    - Dst: PrefetchConfig::setFetchMax
      Src: /src/trafficserver/plugins/prefetch/configs.cc:169,1
    - Dst: PrefetchConfig::setFetchOverflow
      Src: /src/trafficserver/plugins/prefetch/configs.cc:173,1
    - Dst: PrefetchConfig::setReplaceHost
      Src: /src/trafficserver/plugins/prefetch/configs.cc:177,1
    - Dst: PrefetchConfig::setNameSpace
      Src: /src/trafficserver/plugins/prefetch/configs.cc:181,1
    - Dst: PrefetchConfig::setMetricsPrefix
      Src: /src/trafficserver/plugins/prefetch/configs.cc:185,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/prefetch/configs.cc:189,1
    - Dst: PrefetchConfig::setLogName
      Src: /src/trafficserver/plugins/prefetch/configs.cc:193,1
    - Dst: PrefetchConfig::finalize
      Src: /src/trafficserver/plugins/prefetch/configs.cc:198,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 201
    functionName: PrefetchConfig::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 0
    functionsReached:
    - auto::init
    - std::make_unique<Pattern>
    - PrefetchConfig::setApiHeader
    - PrefetchConfig::setQueryKey
    - PrefetchConfig::finalize
    - PrefetchConfig::setNextHeader
    - PrefetchConfig::setLogName
    - add
    - std::move
    - PrefetchError
    - PrefetchConfig::setMetricsPrefix
    - PrefetchConfig::setFetchMax
    - getopt_long
    - PrefetchConfig::setFetchPolicy
    - PrefetchConfig::setFetchCount
    - PrefetchDebug
    - PrefetchConfig::setFetchOverflow
    - PrefetchConfig::setNameSpace
    - const_cast<char *>
    - PrefetchConfig::setReplaceHost
    - isTrue
    linkageType: ''
    returnType: bool
    signature: bool PrefetchConfig::init(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:211,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:212,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:213,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:213,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:214,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:215,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:215,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:216,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:216,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:217,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:217,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:218,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:219,1
    - Dst: fetchOverflowString
      Src: /src/trafficserver/plugins/prefetch/configs.cc:220,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:221,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/configs.cc:221,1
    - Dst: String::data
      Src: /src/trafficserver/plugins/prefetch/configs.cc:221,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:222,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:222,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:223,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:223,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/configs.cc:224,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/configs.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: PrefetchConfig::finalize
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.cc
    functionUses: 1
    functionsReached:
    - String::data
    - String::length
    - fetchOverflowString
    - c_str
    - PrefetchDebug
    linkageType: ''
    returnType: bool
    signature: bool PrefetchConfig::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tonum
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t tonum(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tochar
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char tochar(int8_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: is_valid_digits
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached:
    - StringView::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool is_valid_digits(const StringView val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:63,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:63,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:65,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:68,1
    - Dst: String::rbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:73,1
    - Dst: StringView::crbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:74,1
    - Dst: StringView::crend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:76,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:77,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:77,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:88,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:94,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:95,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: add
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 51
    functionsReached:
    - StringView::crbegin
    - StringView::crend
    - String::rbegin
    - tochar
    - tonum
    - String::rend
    - StringView::length
    - String::append
    linkageType: ''
    returnType: String
    signature: String add(StringView const lhs, StringView const rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:116,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:116,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:118,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: String::rbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:128,1
    - Dst: StringView::crbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:129,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:131,1
    - Dst: StringView::crend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:131,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:132,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:132,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:143,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:150,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:151,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:159,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:163,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 171
    functionName: sub
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 7
    functionsReached:
    - StringView::data
    - StringView::crbegin
    - StringView::crend
    - String::rbegin
    - tochar
    - tonum
    - String::c_str
    - PrefetchDebug
    - StringView::length
    - String::append
    - String::rend
    linkageType: ''
    returnType: String
    signature: String sub(StringView const lhs, StringView const rhs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:181,1
    - Dst: std::from_chars
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:184,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:184,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:185,1
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:188,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:190,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:191,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:194,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:195,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:198,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:199,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: add
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:204,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: sub
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:207,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::front
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::erase
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:213,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:217,1
    - Dst: String::insert
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:218,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: evaluateBignum
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached:
    - sub
    - StringView::begin
    - StringView::data
    - std::from_chars
    - StringView::length
    - String::front
    - String::insert
    - String::assign
    - is_valid_digits
    - String::length
    - String::erase
    - PrefetchDebug
    - add
    - StringView::substr
    - StringView::find_first_of
    linkageType: ''
    returnType: String
    signature: String evaluateBignum(const StringView view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tonum
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t tonum(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tochar
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char tochar(int8_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: is_valid_digits
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 1
    functionsReached:
    - StringView::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool is_valid_digits(const StringView val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:63,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:63,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:65,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:68,1
    - Dst: String::rbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:73,1
    - Dst: StringView::crbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:74,1
    - Dst: StringView::crend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:76,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:77,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:77,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:88,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:94,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:95,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: add
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 52
    functionsReached:
    - StringView::crbegin
    - StringView::crend
    - String::rbegin
    - tochar
    - tonum
    - String::rend
    - StringView::length
    - String::append
    linkageType: ''
    returnType: String
    signature: String add(StringView const lhs, StringView const rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:116,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:116,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:117,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:118,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:123,1
    - Dst: String::rbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:128,1
    - Dst: StringView::crbegin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:129,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:131,1
    - Dst: StringView::crend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:131,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:132,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:132,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:143,1
    - Dst: String::rend
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:150,1
    - Dst: tonum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:151,1
    - Dst: tochar
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:159,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:163,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 171
    functionName: sub
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 8
    functionsReached:
    - StringView::data
    - StringView::crbegin
    - StringView::crend
    - String::rbegin
    - tochar
    - tonum
    - String::c_str
    - PrefetchDebug
    - StringView::length
    - String::append
    - String::rend
    linkageType: ''
    returnType: String
    signature: String sub(StringView const lhs, StringView const rhs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:181,1
    - Dst: std::from_chars
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: StringView::begin
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:183,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:184,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:184,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:185,1
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:188,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:190,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:191,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:194,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:195,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:198,1
    - Dst: is_valid_digits
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:199,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:203,1
    - Dst: add
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:204,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:206,1
    - Dst: sub
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:207,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::front
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:212,1
    - Dst: String::erase
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:213,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:217,1
    - Dst: String::insert
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:218,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - view
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: evaluateBignum
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached:
    - sub
    - StringView::begin
    - StringView::data
    - std::from_chars
    - StringView::length
    - String::front
    - String::insert
    - String::assign
    - is_valid_digits
    - String::length
    - String::erase
    - PrefetchDebug
    - add
    - StringView::substr
    - StringView::find_first_of
    linkageType: ''
    returnType: String
    signature: String evaluateBignum(const StringView view)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:234,1
    - Dst: String
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:235,1
    - Dst: evaluateBignum
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:240,1
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:248,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:250,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:250,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:253,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:255,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:255,1
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:258,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:261,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:261,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:272,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:272,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:274,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:285,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:285,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:287,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:299,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:299,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:313,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:313,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:314,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:314,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:314,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:314,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/prefetch/evaluate.cc:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - view
    - policy
    argTypes:
    - StringView
    - EvalPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 316
    functionName: evaluate
    functionSourceFile: /src/trafficserver/plugins/prefetch/evaluate.cc
    functionUses: 0
    functionsReached:
    - std::setfill
    - StringView::data
    - String
    - std::setw
    - StringView::length
    - String::assign
    - StringView::empty
    - String::c_str
    - evaluateBignum
    - std::ostringstream::str
    - PrefetchDebug
    - StringView::substr
    - StringView::find_first_of
    linkageType: ''
    returnType: String
    signature: String evaluate(const StringView view, const EvalPolicy policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: PrefetchConfig::PrefetchConfig
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: PrefetchConfig::setApiHeader
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setApiHeader(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: "&\n  getApiHeader() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getApiHeader() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: PrefetchConfig::setNextHeader
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setNextHeader(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: "&\n  getNextHeader() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getNextHeader() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: PrefetchConfig::setFetchPolicy
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setFetchPolicy(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: "&\n  getFetchPolicy() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getFetchPolicy() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: PrefetchConfig::setReplaceHost
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setReplaceHost(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: "&\n  getReplaceHost() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getReplaceHost() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: PrefetchConfig::isFront
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFront() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: PrefetchConfig::isExactMatch
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isExactMatch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: PrefetchConfig::isCmcdNor
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCmcdNor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/trafficserver/plugins/prefetch/configs.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: PrefetchConfig::setFetchCount
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - getValue
    linkageType: ''
    returnType: void
    signature: void setFetchCount(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: PrefetchConfig::getFetchCount
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned getFetchCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/trafficserver/plugins/prefetch/configs.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: PrefetchConfig::setFetchMax
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - getValue
    linkageType: ''
    returnType: void
    signature: void setFetchMax(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: PrefetchConfig::getFetchMax
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned getFetchMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: PrefetchConfig::getFetchOverflow
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EvalPolicy
    signature: EvalPolicy getFetchOverflow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: PrefetchConfig::setNameSpace
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setNameSpace(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: "&\n  getNameSpace() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n  getNameSpace() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: PrefetchConfig::setMetricsPrefix
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setMetricsPrefix(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: "&\n  getMetricsPrefix() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n  getMetricsPrefix() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: "&\n  getNextPath()"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MultiPattern
    signature: "MultiPattern &\n  getNextPath()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: PrefetchConfig::setLogName
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setLogName(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: "&\n  getLogName() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n  getLogName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/configs.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: PrefetchConfig::setQueryKey
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void setQueryKey(const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: "&\n  getQueryKeyName() const"
    functionSourceFile: /src/trafficserver/plugins/prefetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n  getQueryKeyName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: FetchPolicySimple::FetchPolicySimple
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchPolicySimple()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~FetchPolicySimple() override
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FetchPolicySimple() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:36,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:37,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:40,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:42,1
    - Dst: FetchPolicySimple::FetchPolicySimple
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:43,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:44,1
    - Dst: FetchPolicyLru::FetchPolicyLru
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:45,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:47,1
    - Dst: FetchPolicy*::init
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.cc:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 57
    functionName: FetchPolicy::getInstance
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy.cc
    functionUses: 0
    functionsReached:
    - FetchPolicy*::init
    - FetchPolicyLru::FetchPolicyLru
    - strchr
    - PrefetchError
    - strlen
    - PrefetchDebug
    - strncmp
    - FetchPolicySimple::FetchPolicySimple
    linkageType: ''
    returnType: FetchPolicy
    signature: 'FetchPolicy *

      FetchPolicy::getInstance(const char *parameters)'
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - metric
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 96
    functionName: getPrefetchMetricsNames
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getPrefetchMetricsNames(int metric)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:103,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:105,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:107,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:109,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:109,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:110,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:110,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:112,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:112,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:116,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:119,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - prefix
    - space
    - module
    - statName
    - statId
    argTypes:
    - String
    - String
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: createStat
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSStatIntSet
    - TSStatFindName
    - String::c_str
    - PrefetchDebug
    - PrefetchError
    - String::append
    linkageType: ''
    returnType: bool
    signature: "bool createStat(const String &prefix, const String &space, const char
      *module, const char *statName,\n           TSRecordDataType /* statType ATS_UNUSED
      */, int &statId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:126,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:128,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:130,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:133,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:135,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: BgFetchState::BgFetchState
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - PrefetchError
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void BgFetchState::BgFetchState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:143,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:145,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:147,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:149,1
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:151,1
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:152,1
    - Dst: TSTextLogObjectFlush
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:154,1
    - Dst: TSTextLogObjectDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: BgFetchState::~BgFetchState()
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    - TSMutexLock
    - TSTextLogObjectDestroy
    - TSMutexUnlock
    - TSTextLogObjectFlush
    linkageType: ''
    returnType: void
    signature: void BgFetchState::~BgFetchState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FetchPolicy::getInstance
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:163,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:165,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - policy
    - policyName
    argTypes:
    - FetchPolicy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: initializePolicy
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - PrefetchError
    - FetchPolicy::getInstance
    linkageType: ''
    returnType: bool
    signature: bool initializePolicy(FetchPolicy *&policy, const char *policyName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStat
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:180,1
    - Dst: PrefetchConfig::getMetricsPrefix
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:180,1
    - Dst: PrefetchConfig::getNameSpace
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:180,1
    - Dst: getPrefetchMetricsNames
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:180,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:183,1
    - Dst: getPrefetchMetricsNames
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - metrics
    - config
    argTypes:
    - PrefetchMetricInfo[]
    - PrefetchConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: initializeMetrics
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - createStat
    - PrefetchConfig::getNameSpace
    - getPrefetchMetricsNames
    - PrefetchDebug
    - PrefetchConfig::getMetricsPrefix
    linkageType: ''
    returnType: bool
    signature: bool initializeMetrics(PrefetchMetricInfo metrics[], const PrefetchConfig
      &config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchConfig::getLogName
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:193,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:195,1
    - Dst: PrefetchConfig::getLogName
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:195,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:197,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:200,1
    - Dst: PrefetchConfig::getLogName
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:200,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:203,1
    - Dst: PrefetchConfig::getLogName
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:203,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - log
    - config
    argTypes:
    - TSTextLogObject
    - PrefetchConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: initializeLog
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - PrefetchConfig::getLogName
    - PrefetchError
    - TSTextLogObjectCreate
    linkageType: ''
    returnType: bool
    signature: bool initializeLog(TSTextLogObject &log, const PrefetchConfig &config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchConfig::getFetchMax
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:217,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:220,1
    - Dst: initializePolicy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:223,1
    - Dst: initializeMetrics
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:226,1
    - Dst: initializeLog
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:229,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:231,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:234,1
    - Dst: PrefetchConfig::getFetchPolicy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:236,1
    - Dst: PrefetchConfig::getFetchPolicy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:236,1
    - Dst: initializePolicy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:237,1
    - Dst: PrefetchConfig::getFetchPolicy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:237,1
    - Dst: BgFetchState::setMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:239,1
    - Dst: getMaxSize
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:239,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:242,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - config
    argTypes:
    - PrefetchConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 248
    functionName: BgFetchState::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - BgFetchState::setMetric
    - initializeMetrics
    - getMaxSize
    - PrefetchConfig::getFetchMax
    - PrefetchConfig::getFetchPolicy
    - TSMutexUnlock
    - initializeLog
    - PrefetchDebug
    - initializePolicy
    linkageType: ''
    returnType: bool
    signature: bool BgFetchState::init(const PrefetchConfig &config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:255,1
    - Dst: BgFetchState::acquire
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:256,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:257,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:261,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:263,1
    - Dst: BgFetchState::setMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:267,1
    - Dst: getSize
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: BgFetchState::acquire
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 1
    functionsReached:
    - BgFetchState::acquire
    - TSMutexLock
    - BgFetchState::setMetric
    - getSize
    - BgFetchState::incrementMetric
    - TSMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool BgFetchState::acquire(const String &url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:278,1
    - Dst: BgFetchState::release
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:279,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:280,1
    - Dst: BgFetchState::setMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:284,1
    - Dst: getSize
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: BgFetchState::release
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 1
    functionsReached:
    - TSMutexLock
    - BgFetchState::setMetric
    - getSize
    - TSMutexUnlock
    - BgFetchState::release
    linkageType: ''
    returnType: bool
    signature: bool BgFetchState::release(const String &url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:297,1
    - Dst: BgFetchState::acquire
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:299,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:306,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:310,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:314,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:315,1
    - Dst: BgFetchState::setMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:316,1
    - Dst: BgFetchState::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: BgFetchState::uniqueAcquire
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetchState::acquire
    - TSMutexLock
    - BgFetchState::setMetric
    - BgFetchState::incrementMetric
    - TSMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool BgFetchState::uniqueAcquire(const String &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:330,1
    - Dst: BgFetchState::release
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:332,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:333,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:335,1
    - Dst: BgFetchState::setMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 342
    functionName: BgFetchState::uniqueRelease
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - BgFetchState::setMetric
    - TSMutexUnlock
    - PrefetchDebug
    - BgFetchState::release
    linkageType: ''
    returnType: bool
    signature: bool BgFetchState::uniqueRelease(const String &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - PrefetchMetric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: BgFetchState::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 2
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void BgFetchState::incrementMetric(PrefetchMetric m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - PrefetchMetric
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: BgFetchState::setMetric
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 5
    functionsReached:
    - TSStatIntSet
    linkageType: ''
    returnType: void
    signature: void BgFetchState::setMetric(PrefetchMetric m, size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: BgFetchState::getLog
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSTextLogObject
    signature: TSTextLogObject BgFetchState::getLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:384,1
    - Dst: memset
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - state
    - config
    - lock
    argTypes:
    - BgFetchState*
    - PrefetchConfig
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 386
    functionName: BgFetch::BgFetch
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSMBufferCreate
    linkageType: ''
    returnType: void
    signature: void BgFetch::BgFetch(BgFetchState *state, const PrefetchConfig &config,
      bool lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:390,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:391,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:393,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:396,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:397,1
    - Dst: release
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:403,1
    - Dst: uniqueRelease
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:404,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:407,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:410,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:411,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:412,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 415
    functionName: BgFetch::~BgFetch()
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSHandleMLocRelease
    - uniqueRelease
    - TSIOBufferReaderFree
    - TSContDestroy
    - release
    - TSIOBufferDestroy
    - TSMBufferDestroy
    - PrefetchError
    linkageType: ''
    returnType: void
    signature: void BgFetch::~BgFetch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BgFetch::BgFetch
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:423,1
    - Dst: BgFetch*::init
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:424,1
    - Dst: BgFetch*::schedule
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - state
    - config
    - askPermission
    - requestBuffer
    - requestHeaderLoc
    - txnp
    - path
    - pathLen
    - cachekey
    - removeQuery
    argTypes:
    - BgFetchState*
    - PrefetchConfig
    - bool
    - TSMBuffer
    - TSMLoc
    - TSHttpTxn
    - char*
    - size_t
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 431
    functionName: BgFetch::schedule
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetch*::schedule
    - BgFetch*::init
    - BgFetch::BgFetch
    linkageType: ''
    returnType: bool
    signature: "bool BgFetch::schedule(BgFetchState *state, const PrefetchConfig &config,
      bool askPermission, TSMBuffer requestBuffer,\n                  TSMLoc requestHeaderLoc,
      TSHttpTxn txnp, const char *path, size_t pathLen, const String &cachekey,\n
      \                 bool removeQuery)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:436,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:439,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:441,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:443,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:445,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: BgFetch::saveIp
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - PrefetchError
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: bool
    signature: bool BgFetch::saveIp(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: BgFetch::addBytes
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetch::addBytes(int64_t b)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:466,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:467,1
    - Dst: acquire
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:470,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:471,1
    - Dst: uniqueAcquire
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:475,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:476,1
    - Dst: release
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:477,1
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:482,1
    - Dst: BgFetch::saveIp
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:485,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:490,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:493,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:494,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:499,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:500,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:501,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:502,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:505,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:507,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:513,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:515,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:521,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:522,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:524,1
    - Dst: getApiHeader
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:529,1
    - Dst: isFront
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:530,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:531,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:531,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:531,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:531,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:532,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:532,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:532,1
    - Dst: removeHeader
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:535,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:535,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:535,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:536,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:536,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:536,1
    - Dst: removeHeader
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:542,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:543,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:548,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:549,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:551,1
    - Dst: getReplaceHost
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:558,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:559,1
    - Dst: getReplaceHost
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:561,1
    - Dst: getReplaceHost
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:562,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:566,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:567,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:569,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:573,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:574,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:576,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:582,1
    - Dst: assign
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:584,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:585,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:585,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:589,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 7
    argNames:
    - reqBuffer
    - reqHdrLoc
    - txnp
    - fetchPath
    - fetchPathLen
    - cachekey
    - removeQuery
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSHttpTxn
    - char*
    - size_t
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 595
    functionName: BgFetch::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - static_cast<void *>
    - release
    - TSAssert
    - TSHttpHdrUrlSet
    - TSUrlClone
    - assign
    - getApiHeader
    - TSUrlStringGet
    - setHeader
    - TSfree
    - acquire
    - TSHttpTxnPristineUrlGet
    - String::length
    - TSUrlPathSet
    - PrefetchError
    - BgFetch::saveIp
    - static_cast<int>
    - TSUrlPathGet
    - TSUrlHostSet
    - uniqueAcquire
    - getReplaceHost
    - String::c_str
    - PrefetchDebug
    - removeHeader
    - TSHttpHdrCopy
    - TSHttpHdrCreate
    - TSUrlHostGet
    - isFront
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: bool
    signature: "bool BgFetch::init(TSMBuffer reqBuffer, TSMLoc reqHdrLoc, TSHttpTxn
      txnp, const char *fetchPath, size_t fetchPathLen,\n              const String
      &cachekey, bool removeQuery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:603,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:606,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:606,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:607,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:607,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:610,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:611,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:612,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:613,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:616,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:616,1
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:617,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 619
    functionName: BgFetch::schedule
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    - static_cast<void *>
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSAssert
    - TSContDataSet
    - c_str
    - TSContCreate
    - PrefetchDebug
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void BgFetch::schedule()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:630,1
    - Dst: incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:634,1
    - Dst: incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:637,1
    - Dst: incrementMetric
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:641,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:649,1
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:650,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:651,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:653,1
    - Dst: getNameSpace
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:653,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:654,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:654,1
    - Dst: getLog
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:655,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:656,1
    - Dst: getLog
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:656,1
    - Dst: getNameSpace
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:657,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:657,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 660
    functionName: BgFetch::logAndMetricUpdate
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - TShrtime
    - 'on'
    - static_cast<double>
    - c_str
    - getLog
    - incrementMetric
    - PrefetchDebug
    - getNameSpace
    linkageType: ''
    returnType: void
    signature: void BgFetch::logAndMetricUpdate(TSEvent event) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BgFetch *>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:670,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:670,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:673,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:673,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:679,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:681,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:685,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:686,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:689,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:690,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:694,1
    - Dst: ats_unix_cast
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:694,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:695,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:698,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:701,1
    - Dst: dumpHeaders
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:702,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:706,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:707,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:707,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:708,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:710,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:712,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:713,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:713,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:716,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:723,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:727,1
    - Dst: BgFetch*::addBytes
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:728,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:729,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:730,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:730,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:731,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:739,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:740,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:742,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:745,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:746,1
    - Dst: BgFetch*::addBytes
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:747,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:748,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:749,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:749,1
    - Dst: BgFetch*::logAndMetricUpdate
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:750,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch.cc:758,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 763
    functionName: BgFetch::handler
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - TSAssert
    - TSVIOReenable
    - TSVConnWrite
    - TSVConnAbort
    - TSVConnRead
    - TSContDataGet
    - ats_unix_cast
    - reinterpret_cast<const sockaddr *>
    - TSVIONDoneGet
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSHttpConnect
    - TSHttpHdrPrint
    - PrefetchError
    - TSIOBufferReaderAvail
    - BgFetch*::addBytes
    - TSError
    - dumpHeaders
    - reinterpret_cast<sockaddr *>
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - strncpy
    - PrefetchDebug
    - static_cast<BgFetch *>
    - TSVIONDoneSet
    - 'on'
    - BgFetch*::logAndMetricUpdate
    linkageType: ''
    returnType: int
    signature: int BgFetch::handler(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BgFetchStates::BgFetchStates
      Src: /src/trafficserver/plugins/prefetch/fetch.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: BgFetchStates::get
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.h
    functionUses: 0
    functionsReached:
    - BgFetchStates::BgFetchStates
    linkageType: ''
    returnType: BgFetchStates
    signature: "BgFetchStates *\n  get()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/prefetch/fetch.h:143,1
    - Dst: _states::find
      Src: /src/trafficserver/plugins/prefetch/fetch.h:144,1
    - Dst: _states::end
      Src: /src/trafficserver/plugins/prefetch/fetch.h:145,1
    - Dst: BgFetchState::BgFetchState
      Src: /src/trafficserver/plugins/prefetch/fetch.h:148,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/prefetch/fetch.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - space
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: BgFetchStates::getStateByName
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.h
    functionUses: 0
    functionsReached:
    - _states::end
    - TSMutexLock
    - TSMutexUnlock
    - _states::find
    - BgFetchState::BgFetchState
    linkageType: ''
    returnType: BgFetchState
    signature: "BgFetchState *\n  getStateByName(const String &space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/prefetch/fetch.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: BgFetchStates::BgFetchStates
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.h
    functionUses: 1
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void BgFetchStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/prefetch/fetch.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ~BgFetchStates()
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch.h
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: MultiPattern::MultiPattern
    functionSourceFile: /src/trafficserver/plugins/prefetch/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern(const String &name = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:29,1
    - Dst: FetchPolicySimple::name
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: FetchPolicySimple::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - FetchPolicySimple::name
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicySimple::init(const char * /* parameters ATS_UNUSED
      */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:37,1
    - Dst: find
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:37,1
    - Dst: log
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: FetchPolicySimple::acquire
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    - log
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicySimple::acquire(const std::string &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:52,1
    - Dst: find
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:52,1
    - Dst: erase
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:55,1
    - Dst: log
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: FetchPolicySimple::release
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    - erase
    - log
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicySimple::release(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: FetchPolicySimple::name
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      FetchPolicySimple::name()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: FetchPolicySimple::getSize
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t FetchPolicySimple::getSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: FetchPolicySimple::getMaxSize
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_simple.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FetchPolicySimple::getMaxSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/prefetch/common.cc:36,1
    - Dst: vfprintf
      Src: /src/trafficserver/plugins/prefetch/common.cc:37,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/prefetch/common.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/common.cc:53,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/prefetch/common.cc:54,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/common.cc:54,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/common.cc:54,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/common.cc:55,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/prefetch/common.cc:56,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/prefetch/common.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: getValue
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.cc
    functionUses: 4
    functionsReached:
    - strtoul
    - String::length
    - strncpy
    - String::c_str
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getValue(const String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/plugins/prefetch/common.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/prefetch/common.cc:65,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/prefetch/common.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: getValue
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.cc
    functionUses: 4
    functionsReached:
    - strtoul
    - static_cast<size_t>
    - strncpy
    linkageType: ''
    returnType: size_t
    signature: size_t getValue(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PrefetchDebug
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PrefetchDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PrefetchError
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PrefetchError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: PrefetchDebug
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PrefetchDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: PrefetchError
    functionSourceFile: /src/trafficserver/plugins/prefetch/common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PrefetchError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: FetchPolicyLru::name
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      FetchPolicyLru::name()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:43,1
    - Dst: getValue
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:47,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:47,1
    - Dst: getValue
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:50,1
    - Dst: max_size
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:58,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:60,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:68,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:71,1
    - Dst: FetchPolicyLru::name
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 75
    functionName: FetchPolicyLru::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached:
    - max_size
    - FetchPolicyLru::name
    - strchr
    - strlen
    - getValue
    - PrefetchDebug
    - PrefetchError
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicyLru::init(const char *parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: FetchPolicyLru::getMaxSize
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FetchPolicyLru::getMaxSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: FetchPolicyLru::getSize
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FetchPolicyLru::getSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LruHash::LruHash
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:94,1
    - Dst: LruHash::init
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:95,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:95,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:95,1
    - Dst: find
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:97,1
    - Dst: end
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:99,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:100,1
    - Dst: PrefetchAssert
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:103,1
    - Dst: size
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:103,1
    - Dst: splice
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:106,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:106,1
    - Dst: splice
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:114,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:114,1
    - Dst: end
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:114,1
    - Dst: erase
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:115,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:115,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:116,1
    - Dst: push_front
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:120,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:122,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:125,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:126,1
    - Dst: begin
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:126,1
    - Dst: log
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: FetchPolicyLru::acquire
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - splice
    - find
    - size
    - push_front
    - LruHash::init
    - LruHash::LruHash
    - end
    - std::string::length
    - PrefetchDebug
    - log
    - PrefetchAssert
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicyLru::acquire(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: FetchPolicyLru::release
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.cc
    functionUses: 0
    functionsReached:
    - log
    linkageType: ''
    returnType: bool
    signature: bool FetchPolicyLru::release(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~FetchPolicy()
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FetchPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: FetchPolicy::FetchPolicy
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:63,1
    - Dst: name
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:63,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:63,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:63,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:63,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/fetch_policy.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - url
    - ret
    argTypes:
    - char*
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: FetchPolicy::log
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy.h
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - String::length
    - name
    - String::c_str
    linkageType: ''
    returnType: void
    signature: void log(const char *msg, const String &url, bool ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/prefetch/headers.cc:42,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/prefetch/headers.cc:46,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/prefetch/headers.cc:49,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/headers.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: removeHeader
    functionSourceFile: /src/trafficserver/plugins/prefetch/headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int removeHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header,
      int headerlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/prefetch/headers.cc:67,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/headers.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: headerExist
    functionSourceFile: /src/trafficserver/plugins/prefetch/headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    linkageType: ''
    returnType: bool
    signature: bool headerExist(TSMBuffer bufp, TSMLoc hdrLoc, const char *header,
      int headerlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/prefetch/headers.cc:89,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/prefetch/headers.cc:92,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/prefetch/headers.cc:94,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/prefetch/headers.cc:98,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/headers.cc:107,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/headers.cc:110,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/headers.cc:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    - value
    - valuelen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: getHeader
    functionSourceFile: /src/trafficserver/plugins/prefetch/headers.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - memcpy
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: char
    signature: 'char *

      getHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header, int headerlen,
      char *value, int *valuelen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/prefetch/headers.cc:143,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/prefetch/headers.cc:147,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/prefetch/headers.cc:148,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/prefetch/headers.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/headers.cc:152,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/prefetch/headers.cc:159,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/prefetch/headers.cc:162,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/prefetch/headers.cc:166,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/headers.cc:168,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    - value
    - valuelen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: setHeader
    functionSourceFile: /src/trafficserver/plugins/prefetch/headers.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header, int
      headerlen, const char *value, int valuelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/prefetch/headers.cc:192,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/prefetch/headers.cc:193,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/plugins/prefetch/headers.cc:196,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/prefetch/headers.cc:199,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/prefetch/headers.cc:201,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/headers.cc:203,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/prefetch/headers.cc:203,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/prefetch/headers.cc:205,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/prefetch/headers.cc:206,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/prefetch/headers.cc:210,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/prefetch/headers.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - hdrLoc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: dumpHeaders
    functionSourceFile: /src/trafficserver/plugins/prefetch/headers.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSMimeHdrPrint
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - PrefetchDebug
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void dumpHeaders(TSMLoc hdrLoc)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: getEventName
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getEventName(TSEvent event)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - result
    argTypes:
    - TSCacheLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: getCacheLookupResultName
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getCacheLookupResultName(TSCacheLookupResult result)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* apiInfo ATS_UNUSED */,
      char * /* errBuf ATS_UNUSED */, int /* erroBufSize ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: PrefetchInstance
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inst
    argTypes:
    - PrefetchInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: PrefetchTxnData::PrefetchTxnData
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefetchTxnData(PrefetchInstance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: PrefetchTxnData::firstPass
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool firstPass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: PrefetchTxnData::secondPass
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool secondPass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: PrefetchTxnData::frontend
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool frontend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: PrefetchTxnData::backend
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool backend() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:191,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:192,1
    - Dst: String::replace
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:195,1
    - Dst: evaluate
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:195,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - oflow
    argTypes:
    - String
    - EvalPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: expand
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 6
    functionsReached:
    - evaluate
    - String::find_first_of
    - String::replace
    - String::substr
    linkageType: ''
    returnType: void
    signature: void expand(String &s, const EvalPolicy oflow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:216,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:217,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:219,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:221,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:222,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:222,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:223,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:223,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:227,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:229,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:231,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - txnp
    - reqBuffer
    - key
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 238
    functionName: appendCacheKey
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlGet
    - TSfree
    - static_cast<void *>
    - TSHandleMLocRelease
    - String::c_str
    - PrefetchDebug
    - PrefetchError
    - TSUrlCreate
    - String::append
    - TSUrlStringGet
    linkageType: ''
    returnType: bool
    signature: bool appendCacheKey(const TSHttpTxn txnp, const TSMBuffer reqBuffer,
      String &key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:252,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:253,1
    - Dst: getCacheLookupResultName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:253,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: foundFresh
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - TSHttpTxnCacheLookupStatusGet
    - getCacheLookupResultName
    linkageType: ''
    returnType: bool
    signature: bool foundFresh(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:279,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:280,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:281,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:286,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: isResponseGood
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - TSHttpTxnServerRespGet
    - PrefetchDebug
    - TSHandleMLocRelease
    linkageType: ''
    returnType: bool
    signature: bool isResponseGood(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:308,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:310,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:312,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:313,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:315,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:317,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: getPristineUrlPath
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - TSHandleMLocRelease
    - String::assign
    - TSHttpTxnPristineUrlGet
    - PrefetchDebug
    - PrefetchError
    linkageType: ''
    returnType: String
    signature: String getPristineUrlPath(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:337,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:339,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:341,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:342,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:344,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: getPristineUrlQuery
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - String::assign
    - TSHttpTxnPristineUrlGet
    - PrefetchDebug
    - PrefetchError
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: String
    signature: String getPristineUrlQuery(TSHttpTxn txnp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:374,1
    - Dst: data
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:374,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:374,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:377,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:380,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:383,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:383,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:383,1
    - Dst: StringView::compare
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:384,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:384,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:385,1
    - Dst: StringView::compare
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:390,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:390,1
    - Dst: StringView::remove_prefix
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:391,1
    - Dst: length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:391,1
    - Dst: StringView::front
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:392,1
    - Dst: StringView::remove_prefix
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:393,1
    - Dst: StringView::back
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:395,1
    - Dst: StringView::remove_suffix
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:396,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:399,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:399,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:399,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:404,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:404,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:404,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:405,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:407,1
    - Dst: StringView::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:407,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:407,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:411,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:413,1
    - Dst: String::clear
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - buffer
    - hdrloc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 422
    functionName: getCmcdNor
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - StringView::back
    - StringView::data
    - TSStringPercentDecode
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - length
    - StringView::remove_suffix
    - String::assign
    - StringView::compare
    - StringView::remove_prefix
    - PrefetchDebug
    - data
    - String::clear
    - StringView::length
    - StringView::front
    linkageType: ''
    returnType: String
    signature: String getCmcdNor(const TSMBuffer buffer, const TSMLoc hdrloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchTxnData*::_body::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - status
    - body
    - event
    argTypes:
    - PrefetchTxnData*
    - TSHttpStatus
    - char*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: shortcutResponse
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchTxnData*::_body::assign
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent shortcutResponse(PrefetchTxnData *data, TSHttpStatus status,
      const char *body, TSEvent event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: foundFresh
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:448,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:450,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:453,1
    - Dst: BgFetchState*::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:454,1
    - Dst: BgFetchState*::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - txnp
    - data
    argTypes:
    - TSHttpTxn
    - PrefetchTxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: isFetchable
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - BgFetchState*::incrementMetric
    - foundFresh
    linkageType: ''
    returnType: bool
    signature: bool isFetchable(TSHttpTxn txnp, PrefetchTxnData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: foundFresh
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:472,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:474,1
    - Dst: isResponseGood
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:476,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:478,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 6
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: respToTriggerPrefetch
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchDebug
    - isResponseGood
    - foundFresh
    linkageType: ''
    returnType: bool
    signature: bool respToTriggerPrefetch(TSHttpTxn txnp)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefetchTxnData *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:497,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:497,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:498,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:504,1
    - Dst: getEventName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:504,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:513,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:514,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:515,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:527,1
    - Dst: PrefetchTxnData*::secondPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:527,1
    - Dst: PrefetchTxnData*::_cachekey::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:529,1
    - Dst: appendCacheKey
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:531,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:532,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:533,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:537,1
    - Dst: PrefetchTxnData*::firstPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:539,1
    - Dst: PrefetchConfig::isExactMatch
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:541,1
    - Dst: BgFetchState*::acquire
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:542,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:543,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:550,1
    - Dst: PrefetchTxnData*::secondPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:552,1
    - Dst: BgFetchState*::acquire
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:554,1
    - Dst: BgFetchState*::uniqueAcquire
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:555,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:556,1
    - Dst: isFetchable
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:558,1
    - Dst: shortcutResponse
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:561,1
    - Dst: shortcutResponse
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:566,1
    - Dst: PrefetchTxnData*::firstPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:571,1
    - Dst: isFetchable
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:572,1
    - Dst: BgFetch::schedule
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:573,1
    - Dst: shortcutResponse
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:574,1
    - Dst: shortcutResponse
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:576,1
    - Dst: shortcutResponse
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:579,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:586,1
    - Dst: getPristineUrlPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:589,1
    - Dst: getPristineUrlQuery
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:590,1
    - Dst: PrefetchConfig::getQueryKeyName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:595,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:595,1
    - Dst: PrefetchConfig::getQueryKeyName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:595,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:596,1
    - Dst: PrefetchTxnData*::firstPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:600,1
    - Dst: respToTriggerPrefetch
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:600,1
    - Dst: PrefetchConfig::isCmcdNor
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:603,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:604,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:606,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:607,1
    - Dst: getCmcdNor
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:609,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:610,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:611,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:611,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:612,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:612,1
    - Dst: String::find_last_of
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:614,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:615,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:617,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:617,1
    - Dst: BgFetch::schedule
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:621,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:621,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:621,1
    - Dst: PrefetchConfig::getNextPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:626,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:629,1
    - Dst: PrefetchConfig::getFetchCount
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:630,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:633,1
    - Dst: PrefetchConfig::getNextPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:636,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:637,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:637,1
    - Dst: expand
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:638,1
    - Dst: PrefetchConfig::getFetchOverflow
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:638,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:639,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:639,1
    - Dst: PrefetchTxnData*::_cachekey::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:639,1
    - Dst: BgFetch::schedule
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:641,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:641,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:642,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:645,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:650,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:653,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:658,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:658,1
    - Dst: String::find_last_of
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:659,1
    - Dst: PrefetchConfig::getQueryKeyName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:660,1
    - Dst: getline
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:665,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:666,1
    - Dst: PrefetchConfig::getQueryKeyName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:666,1
    - Dst: PrefetchConfig::getFetchCount
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:669,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:672,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:673,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:675,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:675,1
    - Dst: PrefetchTxnData*::_cachekey::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:675,1
    - Dst: BgFetch::schedule
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:676,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:676,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:677,1
    - Dst: PrefetchTxnData*::backend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:683,1
    - Dst: PrefetchTxnData*::firstPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:683,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:683,1
    - Dst: PrefetchTxnData*::secondPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:683,1
    - Dst: PrefetchTxnData*::_body::empty
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:683,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:687,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:688,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:689,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:690,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:691,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:692,1
    - Dst: PrefetchTxnData*::_body::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:692,1
    - Dst: PrefetchTxnData*::_body::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:694,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:695,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:695,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:696,1
    - Dst: PrefetchTxnData*::_body::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:696,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:697,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:697,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:699,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:702,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:704,1
    - Dst: PrefetchTxnData*::frontend
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:711,1
    - Dst: PrefetchTxnData*::firstPass
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:713,1
    - Dst: PrefetchConfig::isExactMatch
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:715,1
    - Dst: BgFetchState*::release
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:716,1
    - Dst: BgFetchState*::uniqueRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:720,1
    - Dst: BgFetchState*::release
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:721,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:728,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:732,1
    - Dst: getEventName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:732,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:739,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:743,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 159
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 494
    functionDepth: 7
    functionLinenumber: 494
    functionLinenumberEnd: 745
    functionName: contHandleFetch
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - static_cast<PrefetchTxnData *>
    - TSContDestroy
    - BgFetchState*::acquire
    - TSAssert
    - String::find_last_of
    - getCmcdNor
    - PrefetchConfig::getQueryKeyName
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - getEventName
    - PrefetchConfig::getFetchOverflow
    - PrefetchTxnData*::_cachekey::c_str
    - BgFetchState*::uniqueRelease
    - PrefetchTxnData*::_body::length
    - BgFetch::schedule
    - setHeader
    - shortcutResponse
    - TSHttpHdrReasonSet
    - respToTriggerPrefetch
    - String::empty
    - TSHttpHdrReasonLookup
    - PrefetchTxnData*::firstPass
    - String::find
    - static_cast<char *>
    - String::length
    - PrefetchTxnData*::_body::c_str
    - appendCacheKey
    - PrefetchError
    - isFetchable
    - getline
    - BgFetchState*::release
    - PrefetchConfig::isExactMatch
    - PrefetchTxnData*::_cachekey::assign
    - PrefetchTxnData*::backend
    - String::assign
    - PrefetchTxnData*::_body::empty
    - TSmalloc
    - strlen
    - String::c_str
    - PrefetchDebug
    - getPristineUrlQuery
    - PrefetchConfig::isCmcdNor
    - PrefetchTxnData*::secondPass
    - TSHttpTxnReenable
    - BgFetchState*::uniqueAcquire
    - PrefetchTxnData*::frontend
    - expand
    - String::substr
    - PrefetchConfig::getNextPath
    - TSHttpHdrStatusSet
    - getPristineUrlPath
    - static_cast<TSHttpTxn>
    - PrefetchConfig::getFetchCount
    - TSHttpTxnErrorBodySet
    linkageType: ''
    returnType: int
    signature: int contHandleFetch(const TSCont contp, TSEvent event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrefetchInstance::PrefetchInstance
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:763,1
    - Dst: PrefetchInstance*::_config::init
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:765,1
    - Dst: BgFetchStates::get
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:766,1
    - Dst: PrefetchInstance*::_config::getNameSpace
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:766,1
    - Dst: PrefetchInstance*::_state::init
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:768,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 782
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchInstance*::_config::getNameSpace
    - BgFetchStates::get
    - PrefetchInstance*::_state::init
    - PrefetchInstance*::_config::init
    - PrefetchInstance::PrefetchInstance
    - PrefetchError
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* errBuf ATS_UNUSED */, int /* errBufSize ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefetchInstance *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<PrefetchInstance *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefetchInstance *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:808,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:814,1
    - Dst: PrefetchConfig::getApiHeader
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:815,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:816,1
    - Dst: PrefetchConfig::isFront
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:817,1
    - Dst: headerExist
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:819,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:819,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:819,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:820,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:820,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:820,1
    - Dst: PrefetchConfig::isCmcdNor
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:830,1
    - Dst: PrefetchConfig::getNextPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:832,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:834,1
    - Dst: getPristineUrlPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:838,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:839,1
    - Dst: PrefetchConfig::getNextPath
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:840,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:842,1
    - Dst: PrefetchInstance*::_state::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:843,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:846,1
    - Dst: PrefetchInstance*::_state::incrementMetric
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:847,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:851,1
    - Dst: PrefetchConfig::getQueryKeyName
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:854,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:855,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:856,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:856,1
    - Dst: PrefetchTxnData::PrefetchTxnData
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:863,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:868,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:868,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:869,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:869,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:871,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:872,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:873,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:874,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:876,1
    - Dst: PrefetchDebug
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:880,1
    - Dst: PrefetchError
      Src: /src/trafficserver/plugins/prefetch/plugin.cc:883,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - instance
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 805
    functionDepth: 6
    functionLinenumber: 805
    functionLinenumberEnd: 887
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/prefetch/plugin.cc
    functionUses: 0
    functionsReached:
    - PrefetchTxnData::PrefetchTxnData
    - static_cast<PrefetchInstance *>
    - TSHttpHdrMethodGet
    - headerExist
    - static_cast<void *>
    - PrefetchConfig::isFront
    - PrefetchConfig::getQueryKeyName
    - PrefetchConfig::getApiHeader
    - String::empty
    - String::length
    - PrefetchError
    - TSHttpTxnHookAdd
    - TSContCreate
    - String::c_str
    - PrefetchDebug
    - PrefetchInstance*::_state::incrementMetric
    - TSMutexCreate
    - PrefetchConfig::isCmcdNor
    - memcmp
    - TSContDataSet
    - PrefetchConfig::getNextPath
    - getPristineUrlPath
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: LruHash::LruHash
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LruHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~LruHash()
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LruHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - LruHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: "&\n  operator=(const LruHash &h)"
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: LruHash
    signature: "LruHash &\n  operator=(const LruHash &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:56,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:56,1
    - Dst: EVP_Digest
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:59,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: LruHash::init
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const unsigned char *>
    - EVP_sha1
    - EVP_Digest
    - SHA1
    linkageType: ''
    returnType: void
    signature: void init(const char *data, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - LruHash*
    - LruHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: operator()(const LruHash *s1, const LruHash *s2) const
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const LruHash *s1, const LruHash *s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - LruHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: operator()(const LruHash *s) const
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const LruHash *s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: FetchPolicyLru::FetchPolicyLru
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchPolicyLru()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~FetchPolicyLru() override
    functionSourceFile: /src/trafficserver/plugins/prefetch/fetch_policy_lru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FetchPolicyLru() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:34,1
    - Dst: ts_lua_inject_log_object_creat_api
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:36,1
    - Dst: ts_lua_inject_log_object_write_api
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:37,1
    - Dst: ts_lua_inject_log_object_destroy_api
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:38,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: ts_lua_inject_log_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_log_object_destroy_api
    - lua_setfield
    - lua_newtable
    - ts_lua_inject_log_object_creat_api
    - ts_lua_inject_log_object_write_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_log_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:46,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ts_lua_inject_log_object_creat_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_log_object_creat_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:58,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:60,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:61,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:64,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:67,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: ts_lua_log_object_creat
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 0
    functionsReached:
    - lua_isnil
    - luaL_checklstring
    - TSError
    - luaL_checknumber
    - TSTextLogObjectCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_log_object_creat(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:79,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: ts_lua_inject_log_object_write_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_log_object_write_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:89,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:91,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: ts_lua_log_object_write
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - luaL_checklstring
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_log_object_write(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:102,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_log.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ts_lua_inject_log_object_destroy_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_log.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_log_object_destroy_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:134,1
    - Dst: ts_lua_inject_http_retset_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:136,1
    - Dst: ts_lua_inject_http_cache_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:137,1
    - Dst: ts_lua_inject_http_transform_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:138,1
    - Dst: ts_lua_inject_http_intercept_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:139,1
    - Dst: ts_lua_inject_http_config_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:140,1
    - Dst: ts_lua_inject_http_cntl_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:141,1
    - Dst: ts_lua_inject_http_milestone_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:142,1
    - Dst: ts_lua_inject_txn_info_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:143,1
    - Dst: ts_lua_inject_http_misc_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:144,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: ts_lua_inject_http_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_http_config_api
    - ts_lua_inject_http_transform_api
    - lua_setfield
    - ts_lua_inject_http_cache_api
    - ts_lua_inject_txn_info_api
    - ts_lua_inject_http_cntl_api
    - lua_newtable
    - ts_lua_inject_http_misc_api
    - ts_lua_inject_http_retset_api
    - ts_lua_inject_http_milestone_api
    - ts_lua_inject_http_intercept_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:152,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:153,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:155,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:156,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:158,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: ts_lua_inject_http_retset_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_retset_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:165,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:166,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:168,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:169,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:171,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:172,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:174,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:175,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:177,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:178,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:180,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:181,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:183,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:184,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:186,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:187,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:189,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:190,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:192,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:193,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:195,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:196,1
    - Dst: ts_lua_inject_cache_lookup_result_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 199
    functionName: ts_lua_inject_http_cache_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - ts_lua_inject_cache_lookup_result_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_cache_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:204,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:205,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:207,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:208,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:211,1
    - Dst: ts_lua_inject_http_resp_transform_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:212,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:213,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:216,1
    - Dst: ts_lua_inject_http_req_transform_api
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:217,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: ts_lua_inject_http_transform_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - ts_lua_inject_http_req_transform_api
    - lua_pushcfunction
    - ts_lua_inject_http_resp_transform_api
    - lua_newtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_transform_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:224,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:225,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:227,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:228,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:230,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:231,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:233,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: ts_lua_inject_http_resp_transform_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_resp_transform_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:240,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:241,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:243,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:244,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:246,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:247,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:249,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: ts_lua_inject_http_req_transform_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_req_transform_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:256,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:257,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:259,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:260,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:262,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:263,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:265,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:266,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:268,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:269,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:271,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:272,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:274,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:275,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:277,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:278,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:280,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:281,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:283,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:284,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:286,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:287,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:289,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:290,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:292,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:293,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:295,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:296,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:298,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:299,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:301,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:302,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:304,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:305,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:307,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:308,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:310,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:311,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:313,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:314,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:316,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:317,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:319,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:320,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:322,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:323,1
    - Dst: ts_lua_inject_server_state_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 326
    functionName: ts_lua_inject_http_misc_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - ts_lua_inject_server_state_variables
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_misc_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:334,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: ts_lua_inject_cache_lookup_result_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cache_lookup_result_variables(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:345,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: ts_lua_inject_server_state_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_state_variables(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:356,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:358,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:359,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: ts_lua_http_set_retstatus
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpStatus
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_retstatus(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:370,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:372,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:373,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 375
    functionName: ts_lua_http_set_retbody
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSHttpTxnErrorBodySet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_retbody(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:385,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:387,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:389,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:390,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:390,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:393,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:394,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: ts_lua_http_set_resp
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpStatus
    - luaL_checklstring
    - TSstrdup
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnErrorBodySet
    - lua_gettop
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_resp(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:407,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:409,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:410,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: ts_lua_http_get_cache_lookup_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupStatusGet
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_cache_lookup_status(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:425,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:427,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 432
    functionName: ts_lua_http_set_cache_lookup_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSHttpTxnCacheLookupStatusSet
    - luaL_checknumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_cache_lookup_status(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:443,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:445,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:446,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:450,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:451,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:455,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:457,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:461,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: ts_lua_http_get_cache_lookup_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSHttpTxnCacheLookupUrlGet
    - TSfree
    - TSHandleMLocRelease
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_cache_lookup_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:479,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:481,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:487,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:488,1
    - Dst: TSHttpTxnCacheLookupUrlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:489,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:490,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 497
    functionName: ts_lua_http_set_cache_lookup_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlSet
    - luaL_checklstring
    - TSError
    - GET_HTTP_CONTEXT
    - Dbg
    - TSUrlParse
    - TSUrlCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_cache_lookup_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:507,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:509,1
    - Dst: TSHttpTxnRedoCacheLookup
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:512,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 518
    functionName: ts_lua_http_redo_cache_lookup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnRedoCacheLookup
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_redo_cache_lookup(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:527,1
    - Dst: TSHttpTxnParentProxyGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:529,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:532,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:534,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: ts_lua_http_get_parent_proxy
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    - TSHttpTxnParentProxyGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_parent_proxy(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:548,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:550,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:557,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:558,1
    - Dst: TSHttpTxnParentProxySet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:559,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 565
    functionName: ts_lua_http_set_parent_proxy
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnParentProxySet
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_parent_proxy(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:576,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:578,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:579,1
    - Dst: TSHttpTxnParentSelectionUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:583,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:584,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:588,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:590,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:594,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 602
    functionName: ts_lua_http_get_parent_selection_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - TSHandleMLocRelease
    - TSHttpTxnParentSelectionUrlGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_parent_selection_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:612,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:614,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:620,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:621,1
    - Dst: TSHttpTxnParentSelectionUrlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:622,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:623,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 630
    functionName: ts_lua_http_set_parent_selection_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnParentSelectionUrlSet
    - luaL_checklstring
    - TSError
    - GET_HTTP_CONTEXT
    - Dbg
    - TSUrlParse
    - TSUrlCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_parent_selection_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:640,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:642,1
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:645,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 651
    functionName: ts_lua_http_set_cache_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSCacheUrlSet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_cache_url(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:660,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:662,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: ts_lua_http_set_server_resp_no_store
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlSet
    - GET_HTTP_CONTEXT
    - luaL_checknumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_server_resp_no_store(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:675,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:677,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: ts_lua_http_resp_cache_transformed
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnTransformedRespCache
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_cache_transformed(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:690,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:692,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 697
    functionName: ts_lua_http_resp_cache_untransformed
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnUntransformedRespCache
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_cache_untransformed(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:706,1
    - Dst: TSHttpTxnClientProtocolStackGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:708,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 714
    functionName: ts_lua_http_get_client_protocol_stack
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnClientProtocolStackGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_client_protocol_stack(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:723,1
    - Dst: TSHttpTxnServerProtocolStackGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:725,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: ts_lua_http_get_server_protocol_stack
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnServerProtocolStackGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_server_protocol_stack(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:740,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:742,1
    - Dst: TSHttpTxnServerPush
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 746
    functionName: ts_lua_http_server_push
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerPush
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_server_push(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:753,1
    - Dst: lua_pushboolean
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:755,1
    - Dst: TSHttpTxnIsWebsocket
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 758
    functionName: ts_lua_http_is_websocket
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - TSHttpTxnIsWebsocket
    - GET_HTTP_CONTEXT
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_is_websocket(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:765,1
    - Dst: TSHttpTxnPluginTagGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:767,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 771
    functionName: ts_lua_http_get_plugin_tag
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnPluginTagGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_plugin_tag(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:778,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:780,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: ts_lua_http_get_id
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIdGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_id(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:791,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:793,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:793,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 797
    functionName: ts_lua_http_get_ssn_id
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnIdGet
    - GET_HTTP_CONTEXT
    - TSHttpTxnSsnGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_ssn_id(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:804,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:806,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:807,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 813
    functionName: ts_lua_http_is_internal_request
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_is_internal_request(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:820,1
    - Dst: TSHttpTxnAborted
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:822,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:823,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ts_lua_http_is_aborted
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnAborted
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_is_aborted(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:837,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:839,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 844
    functionName: ts_lua_http_skip_remapping_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_skip_remapping_set(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:851,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:853,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:855,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:856,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 862
    functionName: ts_lua_http_transaction_count
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - TSHttpTxnSsnGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_transaction_count(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:869,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:871,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 875
    functionName: ts_lua_http_server_transaction_count
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_server_transaction_count(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:885,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:887,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:888,1
    - Dst: TSHttpTxnRedirectUrlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 892
    functionName: ts_lua_http_redirect_url_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnRedirectUrlSet
    - GET_HTTP_CONTEXT
    - TSstrndup
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_redirect_url_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:899,1
    - Dst: TSHttpTxnServerStateGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:901,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 905
    functionName: ts_lua_http_get_server_state
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerStateGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_server_state(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:915,1
    - Dst: TSRemapFromUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:917,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:918,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:922,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:924,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 932
    functionName: ts_lua_http_get_remap_from_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSRemapFromUrlGet
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_remap_from_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:942,1
    - Dst: TSRemapToUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:944,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:945,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:949,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:951,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 934
    functionDepth: 3
    functionLinenumber: 934
    functionLinenumberEnd: 959
    functionName: ts_lua_http_get_remap_to_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSRemapToUrlGet
    - lua_pushnil
    - TSfree
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_remap_to_url(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:967,1
    - Dst: TSHttpTxnServerFdGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:969,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:970,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 976
    functionName: ts_lua_http_get_server_fd
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerFdGet
    - GET_HTTP_CONTEXT
    - lua_pushnil
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_server_fd(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:984,1
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:986,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:987,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 993
    functionName: ts_lua_http_get_client_fd
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    - TSHttpTxnClientFdGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_client_fd(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1002,1
    - Dst: TSHttpTxnClientReceivedErrorGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1004,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1005,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 1009
    functionName: ts_lua_http_get_client_received_error
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientReceivedErrorGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_client_received_error(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1018,1
    - Dst: TSHttpTxnClientSentErrorGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1020,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1021,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1025
    functionName: ts_lua_http_get_client_sent_error
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientSentErrorGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_client_sent_error(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1034,1
    - Dst: TSHttpTxnServerReceivedErrorGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1036,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1037,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1041
    functionName: ts_lua_http_get_server_received_error
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerReceivedErrorGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_server_received_error(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1050,1
    - Dst: TSHttpTxnServerSentErrorGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1052,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1053,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1057
    functionName: ts_lua_http_get_server_sent_error
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerSentErrorGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_server_sent_error(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1068,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1070,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1071,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1072,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1075,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1076,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1077,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1081,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1082,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1085,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1086,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1090,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1091,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1096
    functionName: ts_lua_http_get_ssn_remote_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - GET_HTTP_CONTEXT
    - TSHttpTxnSsnGet
    - ntohs
    - lua_pushnumber
    - TSHttpSsnClientVConnGet
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_get_ssn_remote_addr(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1103,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1105,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1106,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1113
    functionName: ts_lua_http_resp_transform_get_upstream_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - TSReleaseAssert
    - ts_lua_get_http_transform_ctx
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_transform_get_upstream_bytes(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1120,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1122,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1123,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1130
    functionName: ts_lua_http_resp_transform_get_upstream_watermark_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - TSReleaseAssert
    - ts_lua_get_http_transform_ctx
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_transform_get_upstream_watermark_bytes(lua_State
      *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1138,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1140,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1141,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1150
    functionName: ts_lua_http_resp_transform_set_upstream_watermark_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - luaL_checkinteger
    - TSReleaseAssert
    - ts_lua_get_http_transform_ctx
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_transform_set_upstream_watermark_bytes(lua_State
      *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1158,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1160,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1161,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1170
    functionName: ts_lua_http_resp_transform_set_downstream_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - luaL_checkinteger
    - TSReleaseAssert
    - ts_lua_get_http_transform_ctx
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_resp_transform_set_downstream_bytes(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_http_resp_transform_get_upstream_bytes
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: ts_lua_http_req_transform_get_downstream_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - ts_lua_http_resp_transform_get_upstream_bytes
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_req_transform_get_downstream_bytes(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_http_resp_transform_get_upstream_watermark_bytes
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1185
    functionName: ts_lua_http_req_transform_get_downstream_watermark_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - ts_lua_http_resp_transform_get_upstream_watermark_bytes
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_req_transform_get_downstream_watermark_bytes(lua_State
      *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_http_resp_transform_set_upstream_watermark_bytes
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 2
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: ts_lua_http_req_transform_set_downstream_watermark_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - ts_lua_http_resp_transform_set_upstream_watermark_bytes
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_req_transform_set_downstream_watermark_bytes(lua_State
      *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_http_resp_transform_set_downstream_bytes
      Src: /src/trafficserver/plugins/lua/ts_lua_http.cc:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: ts_lua_http_req_transform_set_upstream_bytes
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http.cc
    functionUses: 0
    functionsReached:
    - ts_lua_http_resp_transform_set_downstream_bytes
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_req_transform_set_upstream_bytes(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/lua/ts_lua_io.cc:29,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/lua/ts_lua_io.cc:32,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_io.cc:36,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/lua/ts_lua_io.cc:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - readerp
    - buf
    - length
    argTypes:
    - TSIOBufferReader
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: IOBufferReaderCopy
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_io.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferBlockNext
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferReaderCopy(TSIOBufferReader readerp, void *buf, int64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:29,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:31,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:32,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:34,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:35,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:37,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:38,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: ts_lua_inject_vconn_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_vconn.cc
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_vconn_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_VCONN_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:48,1
    - Dst: TSVConnProtocolDisable
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ts_lua_vconn_disable_h2
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_vconn.cc
    functionUses: 0
    functionsReached:
    - GET_VCONN_CONTEXT
    - TSVConnProtocolDisable
    linkageType: ''
    returnType: int
    signature: int ts_lua_vconn_disable_h2(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_VCONN_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:63,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:65,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:68,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:69,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:70,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:73,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:74,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:77,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:78,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:82,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:83,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: ts_lua_vconn_get_remote_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_vconn.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - GET_VCONN_CONTEXT
    - ntohs
    - lua_pushnumber
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_vconn_get_remote_addr(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_VCONN_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:96,1
    - Dst: TSVConnFdGet
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:98,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_vconn.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: ts_lua_vconn_get_fd
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_vconn.cc
    functionUses: 0
    functionsReached:
    - GET_VCONN_CONTEXT
    - TSVConnFdGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_vconn_get_fd(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: TS_LUA_MEM_ALIGN
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_MEM_ALIGN(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: TS_LUA_ALIGN_COUNT
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_ALIGN_COUNT(size)
  - 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: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: TS_LUA_MAKE_VAR_ITEM
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_MAKE_VAR_ITEM(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ih
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: TS_LUA_RELEASE_IO_HANDLE
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_RELEASE_IO_HANDLE(ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:55,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:58,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:59,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:61,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:64,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:65,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:68,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:69,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:72,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:73,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:76,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:77,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:80,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:81,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:84,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:85,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:88,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:89,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:92,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:93,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:96,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:97,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:100,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:101,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:104,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:105,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:108,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:109,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:112,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:113,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:116,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:117,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:120,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:121,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:124,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:125,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:128,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:129,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:132,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:133,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:136,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:137,1
    - Dst: ts_lua_inject_misc_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 140
    functionName: ts_lua_inject_misc_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushcfunction
    - ts_lua_inject_misc_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_misc_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:145,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:146,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:147,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: ts_lua_inject_misc_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_misc_variables(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:155,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:157,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:159,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: ts_lua_get_process_id
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSUuidStringGet
    - luaL_error
    - TSProcessUuidGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_process_id(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:171,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: ts_lua_get_now_time
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_now_time(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:183,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:184,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:187,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: ts_lua_debug
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - lua_gettop
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_debug(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:203,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:204,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:205,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:207,1
    - Dst: lua_pushboolean
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:211,1
    - Dst: lua_pushboolean
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: ts_lua_is_debug_tag_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - lua_gettop
    - 'on'
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_is_debug_tag_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:225,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: ts_lua_error
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSError
    linkageType: ''
    returnType: int
    signature: int ts_lua_error(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:236,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: ts_lua_emergency
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSEmergency
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_emergency(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:247,1
    - Dst: TSFatal
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: ts_lua_fatal
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSFatal
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_fatal(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:258,1
    - Dst: TSStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: ts_lua_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSStatus
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_status(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:269,1
    - Dst: TSNote
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: ts_lua_note
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSNote
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_note(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:280,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: ts_lua_warning
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSWarning
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_warning(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:291,1
    - Dst: TSAlert
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: ts_lua_alert
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSAlert
    linkageType: ''
    returnType: int
    signature: int ts_lua_alert(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:311,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:313,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:314,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:318,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:320,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:325,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:329,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:332,1
    - Dst: ts_lua_create_async_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:337,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:339,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:340,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:346,1
    - Dst: TSThreadPool
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 349
    functionName: ts_lua_schedule
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSThreadPool
    - TSContDataSet
    - luaL_checknumber
    - lua_tointeger
    - ts_lua_create_async_ctx
    - ts_lua_get_cont_info
    - TSReleaseAssert
    - TSContCreate
    - lua_gettop
    - lua_type
    - TSContScheduleOnPool
    linkageType: ''
    returnType: int
    signature: int ts_lua_schedule(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:362,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:363,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:365,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:372,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:373,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:376,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:378,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:380,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:381,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:382,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:386,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:391,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:391,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:394,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:394,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:395,1
    - Dst: ts_lua_destroy_async_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - contp
    - ev
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 400
    functionName: ts_lua_schedule_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - TSMutexLock
    - TSError
    - lua_pop
    - ts_lua_destroy_async_ctx
    - Dbg
    - TSContDataGet
    - ts_lua_set_cont_info
    - TSMutexUnlock
    - lua_gettop
    - lua_resume
    linkageType: ''
    returnType: int
    signature: int ts_lua_schedule_handler(TSCont contp, TSEvent ev, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:411,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:413,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:414,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:418,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:423,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:424,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:426,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:427,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 430
    functionName: ts_lua_sleep_ms
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSContDataSet
    - luaL_checknumber
    - ts_lua_async_create_item
    - lua_yield
    - ts_lua_get_cont_info
    - TSContCreate
    - TSReleaseAssert
    - TSContScheduleOnPool
    linkageType: ''
    returnType: int
    signature: int ts_lua_sleep_ms(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:441,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:443,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:444,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:448,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:453,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:454,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:456,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:457,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 460
    functionName: ts_lua_sleep
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSContDataSet
    - luaL_checknumber
    - ts_lua_async_create_item
    - lua_yield
    - ts_lua_get_cont_info
    - TSContCreate
    - TSReleaseAssert
    - TSContScheduleOnPool
    linkageType: ''
    returnType: int
    signature: int ts_lua_sleep(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(ai)>
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:468,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:468,1
    - Dst: ts_lua_sleep_cleanup
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:472,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:474,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - contp
    - ATS_UNUSED
    - ATS_UNUSED
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: ts_lua_sleep_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSContCall
    - static_cast<decltype(ai)>
    - TSContDataGet
    - ts_lua_sleep_cleanup
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_sleep_handler(TSCont contp, TSEvent event ATS_UNUSED, void
      *edata ATS_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:483,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ai
    argTypes:
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: ts_lua_sleep_cleanup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 1
    functionsReached:
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: int
    signature: int ts_lua_sleep_cleanup(ts_lua_async_item *ai)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:503,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:505,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:506,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:510,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:511,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:515,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:517,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:518,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:520,1
    - Dst: TSHostLookup
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:521,1
    - Dst: TSActionDone
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:522,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 528
    functionName: ts_lua_host_lookup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSError
    - TSContDataSet
    - TSHostLookup
    - TSActionDone
    - ts_lua_async_create_item
    - lua_yield
    - ts_lua_get_cont_info
    - TSReleaseAssert
    - TSContCreate
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_host_lookup(lua_State *L)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(ai)>
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:540,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:540,1
    - Dst: ts_lua_host_lookup_cleanup
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:554,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:557,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:558,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:560,1
    - Dst: TSHostLookupResultAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:563,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:565,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:567,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:571,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:575,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 579
    functionName: ts_lua_host_lookup_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - ts_lua_host_lookup_cleanup
    - lua_pushnil
    - inet_ntop
    - TSError
    - TSContCall
    - TSHostLookupResultAddrGet
    - static_cast<decltype(ai)>
    - TSContDataGet
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_host_lookup_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:585,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ai
    argTypes:
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 593
    functionName: ts_lua_host_lookup_cleanup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 1
    functionsReached:
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: int
    signature: int ts_lua_host_lookup_cleanup(ts_lua_async_item *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:598,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: ts_lua_get_install_dir
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSInstallDirGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_install_dir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:606,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: ts_lua_get_config_dir
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSConfigDirGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_config_dir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRuntimeDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:614,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 617
    functionName: ts_lua_get_runtime_dir
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - TSRuntimeDirGet
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_runtime_dir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:622,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: ts_lua_get_plugin_dir
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSPluginDirGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_plugin_dir(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:630,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_misc.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: ts_lua_get_traffic_server_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_misc.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSTrafficServerVersionGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_get_traffic_server_version(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_number_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_constant.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ts_lua_inject_constant_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_constant.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_number_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_constant_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_constant.cc:37,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_constant.cc:38,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_constant.cc:40,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_constant.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ts_lua_inject_number_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_constant.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_number_variables(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:43,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:44,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:47,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: ts_lua_inject_http_intercept_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_intercept_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:55,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:56,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:59,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: ts_lua_inject_intercept_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_intercept_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:71,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:73,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:76,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:80,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:82,1
    - Dst: lua_typename
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:82,1
    - Dst: ts_lua_create_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:86,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:87,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:87,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:88,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: ts_lua_http_intercept
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - TSError
    - lua_typename
    - GET_HTTP_CONTEXT
    - TSContDataSet
    - TSHttpTxnIntercept
    - ts_lua_create_http_intercept_ctx
    - TSContCreate
    - lua_gettop
    - lua_type
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:104,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:106,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:109,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:113,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:115,1
    - Dst: lua_typename
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:116,1
    - Dst: ts_lua_create_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:120,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:121,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:121,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:122,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: ts_lua_http_server_intercept
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - TSError
    - lua_typename
    - TSHttpTxnServerIntercept
    - GET_HTTP_CONTEXT
    - TSContDataSet
    - ts_lua_create_http_intercept_ctx
    - TSContCreate
    - lua_gettop
    - lua_type
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_server_intercept(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:135,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:140,1
    - Dst: ts_lua_destroy_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:143,1
    - Dst: ts_lua_http_intercept_process
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:147,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 156
    functionName: ts_lua_http_intercept_entry
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - ts_lua_destroy_http_intercept_ctx
    - TSContDestroy
    - ts_lua_http_intercept_process
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:169,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:170,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:170,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:171,1
    - Dst: ts_lua_http_intercept_setup_read
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:176,1
    - Dst: ts_lua_http_intercept_setup_write
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:179,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:184,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:186,1
    - Dst: ts_lua_http_intercept_run_coroutine
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:188,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ictx
    - contp
    - conn
    argTypes:
    - ts_lua_http_intercept_ctx*
    - TSCont
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: ts_lua_http_intercept_process
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSMutexLock
    - ts_lua_http_intercept_setup_write
    - TSContDataSet
    - ts_lua_http_intercept_setup_read
    - TSContCreate
    - TSMutexUnlock
    - ts_lua_http_intercept_run_coroutine
    - TSContMutexGet
    - lua_gettop
    linkageType: ''
    returnType: void
    signature: void ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx,
      TSCont contp, TSVConn conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:196,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:197,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ictx
    argTypes:
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: ts_lua_http_intercept_setup_read
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx *ictx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:204,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:205,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ictx
    argTypes:
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: ts_lua_http_intercept_setup_write
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx *ictx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:216,1
    - Dst: ts_lua_http_intercept_process_read
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:220,1
    - Dst: ts_lua_http_intercept_process_write
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:223,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:229,1
    - Dst: ts_lua_http_intercept_run_coroutine
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:230,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:231,1
    - Dst: ts_lua_destroy_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: ts_lua_http_intercept_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - ts_lua_destroy_http_intercept_ctx
    - ts_lua_http_intercept_process_read
    - TSMutexLock
    - ts_lua_http_intercept_process_write
    - TSContDataGet
    - TSMutexUnlock
    - ts_lua_http_intercept_run_coroutine
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept_handler(TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:253,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:254,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:258,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:259,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:260,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:264,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:275,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:275,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ictx
    - n
    argTypes:
    - ts_lua_http_intercept_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: ts_lua_http_intercept_run_coroutine
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 2
    functionsReached:
    - TSVIONBytesSet
    - TSIOBufferReaderAvail
    - lua_tostring
    - TSError
    - lua_pop
    - TSVIOReenable
    - ts_lua_set_cont_info
    - lua_resume
    - TSVIONDoneGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept_run_coroutine(ts_lua_http_intercept_ctx *ictx,
      int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:286,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:287,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - event
    - ictx
    argTypes:
    - TSEvent
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: ts_lua_http_intercept_process_read
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSVConnShutdown
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept_process_read(TSEvent event, ts_lua_http_intercept_ctx
      *ictx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:314,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:317,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:321,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:324,1
    - Dst: ts_lua_flush_wakeup
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:328,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - event
    - ictx
    argTypes:
    - TSEvent
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 347
    functionName: ts_lua_http_intercept_process_write
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - ts_lua_flush_wakeup
    - TSIOBufferReaderAvail
    - TSVIOReenable
    - TSVIONDoneGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_intercept_process_write(TSEvent event, ts_lua_http_intercept_ctx
      *ictx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:356,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:358,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:359,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:363,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:366,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: ts_lua_say
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - ts_lua_get_http_intercept_ctx
    - luaL_checklstring
    - TSError
    - TSIOBufferWrite
    - TSVIOReenable
    - TSReleaseAssert
    linkageType: ''
    returnType: int
    signature: int ts_lua_say(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:379,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:381,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:382,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:386,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:389,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:389,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:390,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: ts_lua_flush
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - ts_lua_get_http_intercept_ctx
    - TSIOBufferReaderAvail
    - TSError
    - lua_yield
    - TSVIOReenable
    - TSReleaseAssert
    - TSVIONDoneGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_flush(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:408,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:409,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:411,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ictx
    argTypes:
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: ts_lua_flush_wakeup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSContScheduleOnPool
    - TSContDataSet
    - TSContCreate
    - ts_lua_async_create_item
    linkageType: ''
    returnType: int
    signature: int ts_lua_flush_wakeup(ts_lua_http_intercept_ctx *ictx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(ai)>
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:423,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:423,1
    - Dst: ts_lua_flush_cleanup
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:428,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:430,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - contp
    - ATS_UNUSED
    - ATS_UNUSED
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: ts_lua_flush_wakeup_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 0
    functionsReached:
    - TSContCall
    - ts_lua_flush_cleanup
    - static_cast<decltype(ai)>
    - TSContDataGet
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_flush_wakeup_handler(TSCont contp, TSEvent event ATS_UNUSED,
      void *edata ATS_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:443,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ai
    argTypes:
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 451
    functionName: ts_lua_flush_cleanup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_intercept.cc
    functionUses: 1
    functionsReached:
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: int
    signature: int ts_lua_flush_cleanup(ts_lua_async_item *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_http_cntl_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:45,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:47,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:48,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:50,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: ts_lua_inject_http_cntl_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - ts_lua_inject_http_cntl_variables
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_cntl_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:60,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: ts_lua_inject_http_cntl_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_cntl_variables(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:72,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:74,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:75,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:77,1
    - Dst: TSHttpCntlType
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: ts_lua_http_cntl_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnCntlSet
    - TSHttpCntlType
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_cntl_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:89,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:91,1
    - Dst: TSHttpTxnCntlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:93,1
    - Dst: TSHttpCntlType
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:93,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: ts_lua_http_cntl_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_cntl.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlGet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - lua_pushnumber
    - TSHttpCntlType
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_cntl_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:29,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:31,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:33,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:34,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:35,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:36,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:38,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: ts_lua_inject_context_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_context.cc
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_context_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:46,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:47,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ts_lua_create_context_table
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_context.cc
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_rawset
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_create_context_table(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:57,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:60,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:61,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:63,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:64,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: ts_lua_context_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_context.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_checklstring
    - lua_rawget
    - lua_pushlstring
    - lua_pushlightuserdata
    linkageType: ''
    returnType: int
    signature: int ts_lua_context_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:78,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:80,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:81,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:83,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:84,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:86,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_context.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: ts_lua_context_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_context.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_checklstring
    - lua_pushvalue
    - lua_rawget
    - lua_rawset
    - lua_pushlstring
    - lua_pushlightuserdata
    linkageType: ''
    returnType: int
    signature: int ts_lua_context_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: GET_HTTP_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HTTP_CONTEXT(ctx, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: GET_VCONN_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_VCONN_CONTEXT(ctx, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:40,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:41,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:44,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: ts_lua_inject_fetch_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_fetch_api(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:61,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:63,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:64,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:68,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:70,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:74,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:75,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:78,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:82,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:85,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:88,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:91,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:93,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:99,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:100,1
    - Dst: ts_lua_fetch_one_item
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:102,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:105,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:107,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:108,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 112
    functionName: ts_lua_fetch
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_checklstring
    - lua_pushvalue
    - ts_lua_async_create_item
    - lua_isstring
    - lua_pop
    - TSError
    - TSReleaseAssert
    - TSContCreate
    - TSmalloc
    - lua_gettop
    - memset
    - luaL_error
    - ts_lua_fetch_one_item
    - TSIOBufferCreate
    - TSContDataSet
    - lua_yield
    - ts_lua_get_cont_info
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:127,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:129,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:130,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:134,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:135,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:138,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:140,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:144,1
    - Dst: lua_objlen
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:147,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:150,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:152,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:159,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:160,1
    - Dst: lua_objlen
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:162,1
    - Dst: ts_lua_destroy_fetch_multi_info
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:163,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:164,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:166,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:170,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:171,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:173,1
    - Dst: ts_lua_destroy_fetch_multi_info
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:174,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:175,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:177,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:180,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:183,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:184,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:188,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:189,1
    - Dst: ts_lua_fetch_one_item
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:191,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:192,1
    - Dst: ts_lua_async_create_item
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:195,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:196,1
    - Dst: lua_yield
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 200
    functionName: ts_lua_fetch_multi
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSContDestroy
    - ts_lua_async_create_item
    - lua_pushnumber
    - lua_pushinteger
    - lua_gettable
    - lua_isstring
    - lua_pop
    - lua_objlen
    - TSError
    - TSReleaseAssert
    - TSContCreate
    - TSmalloc
    - lua_gettop
    - ts_lua_destroy_fetch_multi_info
    - memset
    - luaL_error
    - ts_lua_fetch_one_item
    - TSIOBufferCreate
    - TSContDataSet
    - lua_yield
    - ts_lua_get_cont_info
    - TSIOBufferReaderAlloc
    - lua_type
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch_multi(lua_State *L)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:216,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:220,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:221,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:222,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:223,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:230,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:242,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:243,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:245,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:246,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:249,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:253,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:256,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:257,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:259,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:260,1
    - Dst: TSIpStringToAddr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:262,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:263,1
    - Dst: TSIpStringToAddr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:264,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:265,1
    - Dst: TSIpStringToAddr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:270,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:271,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:276,1
    - Dst: TSIpStringToAddr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:278,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:279,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:288,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:289,1
    - Dst: lua_isstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:291,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:292,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:308,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:311,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:311,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:312,1
    - Dst: TSFetchCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:315,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:321,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:322,1
    - Dst: lua_istable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:324,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:326,1
    - Dst: lua_next
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:328,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:329,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:331,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:332,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:335,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:338,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:341,1
    - Dst: TSFetchHeaderAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:345,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:347,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:351,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:356,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:356,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:362,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:362,1
    - Dst: TSFetchHeaderAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:371,1
    - Dst: TSFetchHeaderAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:377,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:382,1
    - Dst: TSFetchHeaderAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:383,1
    - Dst: TSFetchLaunch
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:386,1
    - Dst: TSFetchWriteData
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:389,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 126
    argCount: 4
    argNames:
    - L
    - url
    - url_len
    - fi
    argTypes:
    - lua_State*
    - char*
    - size_t
    - ts_lua_fetch_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 393
    functionName: ts_lua_fetch_one_item
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 2
    functionsReached:
    - lua_pushnil
    - luaL_checklstring
    - lua_pushvalue
    - TSFetchLaunch
    - TSFetchCreate
    - snprintf
    - lua_gettable
    - TSContMutexGet
    - lua_isstring
    - TSIpStringToAddr
    - lua_istable
    - TSFetchHeaderAdd
    - lua_pop
    - static_cast<char const *>
    - TSFetchWriteData
    - memchr
    - lua_next
    - strncasecmp
    - TSError
    - lua_pushlstring
    - TSContCreate
    - memset
    - TSContDataSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch_one_item(lua_State *L, const char *url, size_t url_len,
      ts_lua_fetch_info *fi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(fi)>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:407,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:407,1
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:419,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:420,1
    - Dst: TSFetchReadData
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:421,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:422,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:437,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:437,1
    - Dst: ts_lua_destroy_fetch_multi_info
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - contp
    - ev
    - ATS_UNUSED
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 442
    functionName: ts_lua_fetch_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferProduce
    - TSContCall
    - TSIOBufferStart
    - TSContDataGet
    - TSIOBufferBlockWriteStart
    - TSFetchReadData
    - static_cast<decltype(fi)>
    - ts_lua_destroy_fetch_multi_info
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch_handler(TSCont contp, TSEvent ev, void *edata ATS_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSFetchRespHdrMBufGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:456,1
    - Dst: TSFetchRespHdrMLocGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:457,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:460,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:463,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:464,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:465,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:466,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:469,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:470,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:472,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:474,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:475,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:477,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:478,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:479,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:481,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:482,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:485,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:488,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:490,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:492,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:493,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:494,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:496,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:497,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:501,1
    - Dst: lua_pushboolean
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:503,1
    - Dst: lua_pushboolean
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:506,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - L
    - fi
    argTypes:
    - lua_State*
    - ts_lua_fetch_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 512
    functionName: ts_lua_fill_one_result
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSHandleMLocRelease
    - TSFetchRespHdrMLocGet
    - TSIOBufferReaderAvail
    - TSHttpHdrStatusGet
    - lua_rawset
    - TSFetchRespHdrMBufGet
    - lua_pushlstring
    - TSMimeHdrFieldGet
    - TSMimeHdrFieldValueStringGet
    - lua_pushnumber
    - lua_newtable
    - lua_pushboolean
    - IOBufferReaderCopy
    - TSMimeHdrFieldNext
    - TSmalloc
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_fill_one_result(lua_State *L, ts_lua_fetch_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(ai)>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:526,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:526,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:542,1
    - Dst: ts_lua_fill_one_result
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:545,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:546,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:546,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:546,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:549,1
    - Dst: ts_lua_fill_one_result
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:552,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:553,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:556,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:556,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:556,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 514
    functionDepth: 6
    functionLinenumber: 514
    functionLinenumberEnd: 561
    functionName: ts_lua_fetch_multi_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - lua_rawseti
    - TSMutexLock
    - TSContCall
    - ts_lua_fill_one_result
    - reinterpret_cast<void *>
    - lua_newtable
    - static_cast<decltype(ai)>
    - TSContDataGet
    - TSMutexUnlock
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch_multi_handler(TSCont contp, TSEvent event ATS_UNUSED,
      void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:577,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:581,1
    - Dst: TSFetchDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:585,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:589,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - fmi
    argTypes:
    - ts_lua_fetch_multi_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 594
    functionName: ts_lua_destroy_fetch_multi_info
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 2
    functionsReached:
    - TSfree
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - TSContDestroy
    - TSFetchDestroy
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_fetch_multi_info(ts_lua_fetch_multi_info *fmi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_fetch.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ai
    argTypes:
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 612
    functionName: ts_lua_fetch_multi_cleanup
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_fetch.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: int
    signature: int ts_lua_fetch_multi_cleanup(ts_lua_async_item *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - http_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: TS_LUA_CHECK_SERVER_REQUEST_HDR
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_CHECK_SERVER_REQUEST_HDR(http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - http_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: TS_LUA_CHECK_SERVER_REQUEST_URL
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_CHECK_SERVER_REQUEST_URL(http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:90,1
    - Dst: ts_lua_inject_server_request_socket_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:92,1
    - Dst: ts_lua_inject_server_request_header_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:93,1
    - Dst: ts_lua_inject_server_request_header_table_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:94,1
    - Dst: ts_lua_inject_server_request_headers_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:95,1
    - Dst: ts_lua_inject_server_request_get_header_size_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:96,1
    - Dst: ts_lua_inject_server_request_get_body_size_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:97,1
    - Dst: ts_lua_inject_server_request_method_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:98,1
    - Dst: ts_lua_inject_server_request_uri_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:99,1
    - Dst: ts_lua_inject_server_request_uri_args_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:100,1
    - Dst: ts_lua_inject_server_request_url_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:102,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: ts_lua_inject_server_request_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_server_request_get_body_size_api
    - ts_lua_inject_server_request_uri_api
    - ts_lua_inject_server_request_header_api
    - ts_lua_inject_server_request_socket_api
    - ts_lua_inject_server_request_method_api
    - lua_setfield
    - lua_newtable
    - ts_lua_inject_server_request_headers_api
    - ts_lua_inject_server_request_get_header_size_api
    - ts_lua_inject_server_request_header_table_api
    - ts_lua_inject_server_request_uri_args_api
    - ts_lua_inject_server_request_url_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_server_request_server_addr_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: ts_lua_inject_server_request_socket_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_server_request_server_addr_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_socket_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:116,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:118,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:119,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:121,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:122,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:124,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:125,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:127,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:128,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:130,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:131,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:133,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:134,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:136,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:137,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:139,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:140,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:142,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:143,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:145,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:147,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:148,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:150,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: ts_lua_inject_server_request_server_addr_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_server_addr_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:157,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:159,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:161,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:162,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:163,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:164,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:166,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: ts_lua_inject_server_request_header_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_header_api(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:183,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:186,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:189,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:190,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:196,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:201,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:202,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:203,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:207,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:210,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:213,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:215,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 223
    functionName: ts_lua_server_request_header_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TSHttpTxnServerReqGet
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_header_get(lua_State *L)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:239,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:245,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:246,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:249,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:253,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:258,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:262,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:263,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:264,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:270,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:273,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:275,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:277,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:280,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:282,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:286,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:287,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 295
    functionName: ts_lua_server_request_header_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - lua_isnil
    - luaL_checklstring
    - TSError
    - GET_HTTP_CONTEXT
    - TSHttpTxnServerReqGet
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_header_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:300,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:302,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:304,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:305,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:306,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:307,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:309,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: ts_lua_inject_server_request_header_table_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_header_table_api(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:326,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:329,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:332,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:333,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:339,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:342,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:345,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:346,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:349,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:350,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:352,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:357,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 365
    functionName: ts_lua_server_request_header_table_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - lua_rawseti
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_newtable
    - TSHttpTxnServerReqGet
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_header_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: ts_lua_server_request_header_table_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_header_table_set(lua_State * /* L ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:376,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: ts_lua_inject_server_request_headers_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_headers_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:394,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:396,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:398,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:400,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:403,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:406,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:407,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:408,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:410,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:412,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:413,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:414,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:415,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:418,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:419,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:421,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:422,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:423,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:424,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:425,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:426,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:427,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:431,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 437
    functionName: ts_lua_server_request_get_headers
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - lua_pop
    - TS_LUA_CHECK_SERVER_REQUEST_HDR
    - lua_isnil
    - TSMimeHdrFieldValueStringGet
    - lua_rawset
    - TSMimeHdrFieldGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_tolstring
    - lua_concat
    - lua_newtable
    - TSMimeHdrFieldNext
    - lua_gettable
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_headers(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:442,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: ts_lua_inject_server_request_get_header_size_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_get_header_size_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:452,1
    - Dst: TSHttpTxnServerReqHdrBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:454,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: ts_lua_server_request_get_header_size
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerReqHdrBytesGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_header_size(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:463,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: ts_lua_inject_server_request_get_body_size_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_get_body_size_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:473,1
    - Dst: TSHttpTxnServerReqBodyBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:475,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: ts_lua_server_request_get_body_size
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSHttpTxnServerReqBodyBytesGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_body_size(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:484,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:485,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:487,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: ts_lua_inject_server_request_uri_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_uri_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:499,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:501,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:503,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:505,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:506,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 510
    functionName: ts_lua_server_request_get_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_uri(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:520,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:522,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:524,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: ts_lua_server_request_set_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSUrlPathSet
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_uri(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:539,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:540,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:542,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: ts_lua_inject_server_request_uri_args_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_uri_args_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:554,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:556,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:558,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: ts_lua_server_request_set_uri_args
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSUrlHttpQuerySet
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_uri_args(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:572,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:574,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:576,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:579,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 586
    functionName: ts_lua_server_request_get_uri_args
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_uri_args(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:591,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:592,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:593,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:594,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:596,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:597,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:598,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:599,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:601,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:602,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:603,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 605
    functionName: ts_lua_inject_server_request_url_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_url_api(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:615,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:617,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:619,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:628,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:630,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:631,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:634,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:636,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:637,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 645
    functionName: ts_lua_server_request_get_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlHostGet
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_url_host(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:655,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:656,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:658,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 663
    functionName: ts_lua_server_request_set_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    - TSUrlHostSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_url_host(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:673,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:674,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:676,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 665
    functionDepth: 4
    functionLinenumber: 665
    functionLinenumberEnd: 681
    functionName: ts_lua_server_request_get_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_url_scheme(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:691,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_URL
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:692,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:694,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 699
    functionName: ts_lua_server_request_set_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - TSUrlSchemeSet
    - TS_LUA_CHECK_SERVER_REQUEST_URL
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_url_scheme(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:710,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:711,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:713,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:715,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:715,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:715,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:718,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 724
    functionName: ts_lua_server_request_get_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - TS_LUA_CHECK_SERVER_REQUEST_HDR
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_MINOR
    - snprintf
    - TSHttpHdrVersionGet
    - TS_HTTP_MAJOR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_version(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:735,1
    - Dst: TS_LUA_CHECK_SERVER_REQUEST_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:737,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:739,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:741,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:742,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:745,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 748
    functionName: ts_lua_server_request_set_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - sscanf
    - TS_LUA_CHECK_SERVER_REQUEST_HDR
    - GET_HTTP_CONTEXT
    - TSHttpHdrVersionSet
    - TS_HTTP_VERSION
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_version(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:757,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:759,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:762,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:766,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:768,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 775
    functionName: ts_lua_server_request_server_addr_get_ip
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - TSHttpTxnServerAddrGet
    - GET_HTTP_CONTEXT
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_ip(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:784,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:786,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:789,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:798,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 802
    functionName: ts_lua_server_request_server_addr_get_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSHttpTxnServerAddrGet
    - GET_HTTP_CONTEXT
    - ntohs
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_port(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:811,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:813,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:816,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:825,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 829
    functionName: ts_lua_server_request_server_addr_get_outgoing_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - ntohs
    - lua_pushnumber
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_outgoing_port(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:840,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:842,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:845,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:846,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:847,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:851,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:852,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:855,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:856,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:860,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:861,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 866
    functionName: ts_lua_server_request_server_addr_get_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - TSHttpTxnServerAddrGet
    - GET_HTTP_CONTEXT
    - ntohs
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_addr(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:877,1
    - Dst: TSHttpTxnNextHopAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:879,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:882,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:883,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:884,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:888,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:889,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:892,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:893,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:897,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:898,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 903
    functionName: ts_lua_server_request_server_addr_get_nexthop_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - GET_HTTP_CONTEXT
    - TSHttpTxnNextHopAddrGet
    - ntohs
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_nexthop_addr(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:911,1
    - Dst: TSHttpTxnNextHopNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:913,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:916,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: ts_lua_server_request_server_addr_get_nexthop_name
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - TSHttpTxnNextHopNameGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_nexthop_name(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:929,1
    - Dst: TSHttpTxnNextHopPortGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:930,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 934
    functionName: ts_lua_server_request_server_addr_get_nexthop_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSHttpTxnNextHopPortGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_get_nexthop_port(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:951,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:953,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:956,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:957,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:958,1
    - Dst: htons
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:962,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:963,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:964,1
    - Dst: htons
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:968,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:969,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:970,1
    - Dst: TSHttpTxnServerAddrSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:974,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 980
    functionName: ts_lua_server_request_server_addr_set_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - htons
    - TSHttpTxnServerAddrSet
    - GET_HTTP_CONTEXT
    - inet_pton
    - luaL_checknumber
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_set_addr(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:997,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:999,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1002,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1003,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1004,1
    - Dst: htons
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1008,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1009,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1010,1
    - Dst: htons
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1014,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1015,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1016,1
    - Dst: TSHttpTxnOutgoingAddrSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1020,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1026
    functionName: ts_lua_server_request_server_addr_set_outgoing_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - htons
    - GET_HTTP_CONTEXT
    - inet_pton
    - luaL_checknumber
    - TSHttpTxnOutgoingAddrSet
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_server_addr_set_outgoing_addr(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1031,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1032,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1034,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: ts_lua_inject_server_request_method_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_request_method_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1046,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1048,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1051,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1057
    functionName: ts_lua_server_request_get_method
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_pushnil
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_get_method(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1067,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1069,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_request.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: ts_lua_server_request_set_method
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    - TSHttpHdrMethodSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_request_set_method(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:32,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:38,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:39,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:39,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:43,1
    - Dst: ts_lua_client_handler
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:51,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - contp
    - ev
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: ts_lua_client_entry
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_transform.cc
    functionUses: 0
    functionsReached:
    - TSVConnWriteVIOGet
    - TSContCall
    - TSVIOContGet
    - Dbg
    - TSContDataGet
    - ts_lua_client_handler
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_entry(TSCont contp, TSEvent ev, void *edata)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:79,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:83,1
    - Dst: TSIOBufferWaterMarkGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:86,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:88,1
    - Dst: TSIOBufferWaterMarkSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:89,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:89,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:94,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:98,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:99,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:101,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:102,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:105,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:114,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:115,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:116,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:132,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:135,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:136,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:140,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:145,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:146,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:166,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:167,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:169,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:170,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:173,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:175,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:177,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:178,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:183,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:185,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:188,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:189,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:191,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:192,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:196,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:197,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:201,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:209,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:209,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:214,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:223,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:228,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:228,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:232,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:232,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:237,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:237,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 137
    argCount: 4
    argNames:
    - contp
    - transform_ctx
    - event
    - n
    argTypes:
    - TSCont
    - ts_lua_http_transform_ctx*
    - TSEvent
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 242
    functionName: ts_lua_client_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_transform.cc
    functionUses: 1
    functionsReached:
    - lua_tostring
    - TSIOBufferReaderStart
    - TSVIOReaderGet
    - lua_pushinteger
    - TSIOBufferCopy
    - TSVIONTodoGet
    - lua_resume
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - lua_pop
    - TSIOBufferWaterMarkGet
    - TSIOBufferBlockReadStart
    - lua_pushlightuserdata
    - ts_lua_set_cont_info
    - TSVIONBytesGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSError
    - TSContCall
    - lua_pushlstring
    - Dbg
    - TSMutexUnlock
    - lua_gettop
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSMutexLock
    - TSIOBufferCreate
    - lua_rawget
    - TSVIOContGet
    - TSIOBufferWaterMarkSet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_handler(TSCont contp, ts_lua_http_transform_ctx *transform_ctx,
      TSEvent event, int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:252,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:254,1
    - Dst: ts_lua_destroy_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:255,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:263,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:264,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:264,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:268,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:268,1
    - Dst: ts_lua_transform_handler
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:276,1
    - Dst: TSEvent
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - contp
    - ev
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 281
    functionName: ts_lua_transform_entry
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_transform.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - ts_lua_transform_handler
    - TSVConnWriteVIOGet
    - TSContCall
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSVConnShutdown
    - ts_lua_destroy_http_transform_ctx
    - TSContDataGet
    - TSEvent
    linkageType: ''
    returnType: int
    signature: int ts_lua_transform_entry(TSCont contp, TSEvent ev, void *edata)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:307,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:308,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:311,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:313,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:314,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:315,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:318,1
    - Dst: TSIOBufferWaterMarkGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:322,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:322,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:324,1
    - Dst: TSIOBufferWaterMarkSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:325,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:325,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:330,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:334,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:335,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:337,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:338,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:341,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:350,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:351,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:352,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:368,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:371,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:372,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:377,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:382,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:383,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:398,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:399,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:401,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:402,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:405,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:407,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:409,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:410,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:415,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:417,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:420,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:421,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:423,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:424,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:428,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:429,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:433,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:438,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:439,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:448,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:448,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:462,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:465,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:470,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:479,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:482,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:486,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:491,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:493,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:493,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:497,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:497,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:501,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:503,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/lua/ts_lua_transform.cc:503,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 172
    argCount: 4
    argNames:
    - contp
    - transform_ctx
    - event
    - n
    argTypes:
    - TSCont
    - ts_lua_http_transform_ctx*
    - TSEvent
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 508
    functionName: ts_lua_transform_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_transform.cc
    functionUses: 1
    functionsReached:
    - TSVIONBytesSet
    - lua_tostring
    - TSIOBufferReaderStart
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - lua_pushinteger
    - TSIOBufferCopy
    - TSVIONTodoGet
    - lua_resume
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - lua_pop
    - TSIOBufferWaterMarkGet
    - TSIOBufferBlockReadStart
    - lua_pushlightuserdata
    - ts_lua_set_cont_info
    - TSVIONBytesGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSError
    - TSContCall
    - lua_pushlstring
    - TSIOBufferWrite
    - Dbg
    - TSMutexUnlock
    - lua_gettop
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSMutexLock
    - TSIOBufferCreate
    - lua_rawget
    - TSTransformOutputVConnGet
    - lua_tolstring
    - TSIOBufferWaterMarkSet
    - TSVIOContGet
    - lua_tointeger
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int ts_lua_transform_handler(TSCont contp, ts_lua_http_transform_ctx
      *transform_ctx, TSEvent event, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_txn_info_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:42,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:44,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ts_lua_inject_txn_info_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_txn_info_variables
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_txn_info_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:54,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ts_lua_inject_txn_info_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_txn_info_variables(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:66,1
    - Dst: TSHttpTxnInfoKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:68,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:68,1
    - Dst: TSHttpTxnInfoIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:70,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: ts_lua_txn_info_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_txn_info.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - lua_pushnumber
    - TSHttpTxnInfoKey
    - TSHttpTxnInfoIntGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_txn_info_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - http_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: TS_LUA_CHECK_CACHED_RESPONSE_HDR
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_CHECK_CACHED_RESPONSE_HDR(http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:53,1
    - Dst: ts_lua_inject_cached_response_header_api
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:55,1
    - Dst: ts_lua_inject_cached_response_header_table_api
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:56,1
    - Dst: ts_lua_inject_cached_response_headers_api
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:57,1
    - Dst: ts_lua_inject_cached_response_misc_api
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:58,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ts_lua_inject_cached_response_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_cached_response_headers_api
    - ts_lua_inject_cached_response_header_api
    - lua_setfield
    - ts_lua_inject_cached_response_misc_api
    - lua_newtable
    - ts_lua_inject_cached_response_header_table_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cached_response_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:66,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:68,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:70,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:71,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:72,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:73,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:75,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: ts_lua_inject_cached_response_header_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cached_response_header_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:85,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:87,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:89,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:90,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:91,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:92,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:94,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: ts_lua_inject_cached_response_header_table_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cached_response_header_table_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:102,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ts_lua_inject_cached_response_headers_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cached_response_headers_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:109,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:110,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:112,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: ts_lua_inject_cached_response_misc_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_cached_response_misc_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:122,1
    - Dst: TS_LUA_CHECK_CACHED_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:124,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:126,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: ts_lua_cached_response_get_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - TS_LUA_CHECK_CACHED_RESPONSE_HDR
    - lua_pushinteger
    - GET_HTTP_CONTEXT
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_get_status(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:142,1
    - Dst: TS_LUA_CHECK_CACHED_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:144,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:146,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:148,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:148,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:148,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:150,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: ts_lua_cached_response_get_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_MINOR
    - snprintf
    - TSHttpHdrVersionGet
    - TS_LUA_CHECK_CACHED_RESPONSE_HDR
    - TS_HTTP_MAJOR
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_get_version(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:170,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:173,1
    - Dst: TS_LUA_CHECK_CACHED_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:175,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:178,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:183,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:184,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:185,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:189,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:192,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:195,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:197,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 204
    functionName: ts_lua_cached_response_header_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TS_LUA_CHECK_CACHED_RESPONSE_HDR
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_header_get(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:224,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:227,1
    - Dst: TS_LUA_CHECK_CACHED_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:229,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:232,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:235,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:238,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:239,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:242,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:243,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:245,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:250,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 258
    functionName: ts_lua_cached_response_header_table_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_rawseti
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_newtable
    - TS_LUA_CHECK_CACHED_RESPONSE_HDR
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_header_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: ts_lua_cached_response_header_table_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_header_table_set(lua_State * /* L ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:280,1
    - Dst: TS_LUA_CHECK_CACHED_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:282,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:284,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:286,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:289,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:292,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:293,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:294,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:296,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:298,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:299,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:300,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:301,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:304,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:305,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:307,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:308,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:309,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:310,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:311,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:312,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:313,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:317,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 323
    functionName: ts_lua_cached_response_get_headers
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_cached_response.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_isnil
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - lua_rawset
    - TSMimeHdrFieldGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_tolstring
    - lua_concat
    - lua_newtable
    - TSMimeHdrFieldNext
    - lua_gettable
    - TSMimeHdrFieldNameGet
    - TS_LUA_CHECK_CACHED_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_cached_response_get_headers(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_http_config_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:329,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:331,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:332,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:334,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:335,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:337,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:338,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:340,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:341,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:343,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:344,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:346,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:347,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:349,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:350,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:352,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:353,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:355,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:356,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:358,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:359,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:361,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:362,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:364,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:365,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:367,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 369
    functionName: ts_lua_inject_http_config_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 1
    functionsReached:
    - lua_pushcfunction
    - lua_setfield
    - ts_lua_inject_http_config_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_config_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:377,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:378,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:382,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 385
    functionName: ts_lua_inject_http_config_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_config_variables(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:394,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:396,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:397,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:399,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: ts_lua_http_config_int_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - TSOverridableConfigKey
    - TSHttpTxnConfigIntSet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_int_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:411,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:413,1
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:415,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:415,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: ts_lua_http_config_int_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - lua_pushnumber
    - TSHttpTxnConfigIntGet
    - TSOverridableConfigKey
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_int_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:429,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:431,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:432,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:434,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: ts_lua_http_config_float_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - luaL_checknumber
    - TSHttpTxnConfigFloatSet
    - TSOverridableConfigKey
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_float_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:446,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:448,1
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:450,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:450,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: ts_lua_http_config_float_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigFloatGet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - lua_pushnumber
    - TSOverridableConfigKey
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_float_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:465,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:467,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:468,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:470,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: ts_lua_http_config_string_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - luaL_checklstring
    - TSHttpTxnConfigStringSet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSOverridableConfigKey
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_string_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:483,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:485,1
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:487,1
    - Dst: TSOverridableConfigKey
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:487,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: ts_lua_http_config_string_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSOverridableConfigKey
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_config_string_get(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:501,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:503,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:504,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:508,1
    - Dst: TSHttpTxnActiveTimeoutSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:509,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:513,1
    - Dst: TSHttpTxnConnectTimeoutSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:518,1
    - Dst: TSHttpTxnDNSTimeoutSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:519,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:523,1
    - Dst: TSHttpTxnNoActivityTimeoutSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:524,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 533
    functionName: ts_lua_http_timeout_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpTxnConnectTimeoutSet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnNoActivityTimeoutSet
    - Dbg
    - TSHttpTxnDNSTimeoutSet
    - TSHttpTxnActiveTimeoutSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_timeout_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:541,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:543,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:545,1
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 549
    functionName: ts_lua_http_client_packet_mark_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_client_packet_mark_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:557,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:559,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:561,1
    - Dst: TSHttpTxnServerPacketMarkSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 565
    functionName: ts_lua_http_server_packet_mark_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnServerPacketMarkSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_server_packet_mark_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:574,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:576,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:578,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 582
    functionName: ts_lua_http_enable_redirect
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnConfigIntSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_enable_redirect(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:590,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:592,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:594,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: ts_lua_http_set_debug
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_set_debug(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:606,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:608,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:610,1
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: ts_lua_http_client_packet_dscp_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnClientPacketDscpSet
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_client_packet_dscp_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:622,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:624,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:626,1
    - Dst: TSHttpTxnServerPacketDscpSet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_config.cc:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: ts_lua_http_server_packet_dscp_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_config.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnServerPacketDscpSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_server_packet_dscp_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:69,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:70,1
    - Dst: ts_lua_inject_hook_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ts_lua_inject_hook_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_hook.cc
    functionUses: 0
    functionsReached:
    - lua_setfield
    - ts_lua_inject_hook_variables
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_hook_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:81,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: ts_lua_inject_hook_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_hook.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_hook_variables(lua_State *L)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:95,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:97,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:99,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:106,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:108,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:109,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:111,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:112,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:118,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:120,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:121,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:123,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:124,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:130,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:132,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:133,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:135,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:136,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:142,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:144,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:145,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:147,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:148,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:154,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:156,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:157,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:159,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:160,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:166,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:168,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:169,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:171,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:172,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:178,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:180,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:181,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:183,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:184,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:190,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:192,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:193,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:195,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:196,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:202,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:204,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:205,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:207,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:208,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:214,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:216,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:217,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:219,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:220,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:227,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:228,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:230,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:231,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:238,1
    - Dst: ts_lua_create_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:239,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:242,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:244,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:252,1
    - Dst: ts_lua_create_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:253,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:256,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:258,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:265,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:267,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_hook.cc:268,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 161
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 276
    functionName: ts_lua_add_hook
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_hook.cc
    functionUses: 0
    functionsReached:
    - lua_pushvalue
    - TSError
    - TSHttpTxnHookAdd
    - lua_tointeger
    - ts_lua_get_http_ctx
    - lua_setglobal
    - TSTransformCreate
    - lua_type
    - ts_lua_create_http_transform_ctx
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_hook(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - head
    - node
    argTypes:
    - ts_lua_async_item**
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ts_lua_async_push_item
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ts_lua_async_push_item(ts_lua_async_item **head, ts_lua_async_item
      *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_async_item*::cleanup
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:32,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - ts_lua_async_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ts_lua_async_destroy_item
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - ts_lua_async_item*::cleanup
    linkageType: ''
    returnType: void
    signature: void ts_lua_async_destroy_item(ts_lua_async_item *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_async_destroy_item
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - head
    argTypes:
    - ts_lua_async_item**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: ts_lua_async_destroy_chain
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc
    functionUses: 0
    functionsReached:
    - ts_lua_async_destroy_item
    linkageType: ''
    returnType: void
    signature: void ts_lua_async_destroy_chain(ts_lua_async_item **head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:57,1
    - Dst: ts_lua_async_push_item
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cont
    - func
    - d
    - ci
    argTypes:
    - TSCont
    - async_clean
    - void*
    - ts_lua_cont_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: ts_lua_async_create_item
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc
    functionUses: 6
    functionsReached:
    - ts_lua_async_push_item
    - TSmalloc
    linkageType: ''
    returnType: ts_lua_async_item
    signature: 'ts_lua_async_item *

      ts_lua_async_create_item(TSCont cont, async_clean func, void *d, ts_lua_cont_info
      *ci)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:83,1
    - Dst: ts_lua_async_destroy_chain
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:85,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:88,1
    - Dst: luaL_unref
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:92,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ci
    argTypes:
    - ts_lua_cont_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: ts_lua_release_cont_info
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_coroutine.cc
    functionUses: 0
    functionsReached:
    - luaL_unref
    - TSMutexLock
    - TSContDestroy
    - TSMutexUnlock
    - ts_lua_async_destroy_chain
    linkageType: ''
    returnType: void
    signature: void ts_lua_release_cont_info(ts_lua_cont_info *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - http_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: TS_LUA_CHECK_SERVER_RESPONSE_HDR
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_CHECK_SERVER_RESPONSE_HDR(http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:56,1
    - Dst: ts_lua_inject_server_response_header_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:58,1
    - Dst: ts_lua_inject_server_response_header_table_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:59,1
    - Dst: ts_lua_inject_server_response_headers_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:60,1
    - Dst: ts_lua_inject_server_response_misc_api
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:61,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: ts_lua_inject_server_response_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_server_response_misc_api
    - lua_setfield
    - ts_lua_inject_server_response_header_api
    - lua_newtable
    - ts_lua_inject_server_response_header_table_api
    - ts_lua_inject_server_response_headers_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_response_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:69,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:71,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:73,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:74,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:75,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:76,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:78,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: ts_lua_inject_server_response_header_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_response_header_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:86,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:88,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:90,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:91,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:92,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:93,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:95,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: ts_lua_inject_server_response_header_table_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_response_header_table_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:103,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: ts_lua_inject_server_response_headers_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_response_headers_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:121,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:123,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:125,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:127,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:130,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:133,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:134,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:135,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:137,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:139,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:140,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:141,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:142,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:145,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:146,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:148,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:149,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:150,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:151,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:152,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:153,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:154,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:158,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 164
    functionName: ts_lua_server_response_get_headers
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_isnil
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - lua_rawset
    - TSMimeHdrFieldGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_tolstring
    - lua_concat
    - lua_newtable
    - TSMimeHdrFieldNext
    - lua_gettable
    - TSMimeHdrFieldNameGet
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_get_headers(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:169,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:170,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:171,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:172,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:174,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:175,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:176,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:177,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:179,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:180,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:181,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: ts_lua_inject_server_response_misc_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_server_response_misc_api(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:198,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:201,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:203,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:206,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:210,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:211,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:212,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:216,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:219,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:222,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:224,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 232
    functionName: ts_lua_server_response_header_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TSMimeHdrFieldNextDup
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_header_get(lua_State *L)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:248,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:254,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:255,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:258,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:261,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:263,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:267,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:268,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:269,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:275,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:278,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:280,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:282,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:285,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:287,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:291,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:292,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 300
    functionName: ts_lua_server_response_header_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - lua_isnil
    - luaL_checklstring
    - TSError
    - GET_HTTP_CONTEXT
    - TSMimeHdrFieldNextDup
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_header_set(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:314,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:317,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:319,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:322,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:325,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:328,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:329,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:332,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:333,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:335,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:340,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 348
    functionName: ts_lua_server_response_header_table_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_rawseti
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_newtable
    - TSMimeHdrFieldNextDup
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_header_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: ts_lua_server_response_header_table_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_header_table_set(lua_State * /* L ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:362,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:364,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:366,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 371
    functionName: ts_lua_server_response_get_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - lua_pushinteger
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_get_status(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:382,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:384,1
    - Dst: luaL_checkint
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:387,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:389,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:389,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:391,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:394,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:394,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 398
    functionName: ts_lua_server_response_set_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpStatus
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - GET_HTTP_CONTEXT
    - TSHttpHdrStatusSet
    - luaL_checkint
    - strlen
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_set_status(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:409,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:411,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:413,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:415,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:415,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:415,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:418,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 424
    functionName: ts_lua_server_response_get_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_MINOR
    - snprintf
    - TSHttpHdrVersionGet
    - TS_HTTP_MAJOR
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_get_version(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:435,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:437,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:439,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:441,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:442,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:445,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 448
    functionName: ts_lua_server_response_set_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - sscanf
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_VERSION
    - TSHttpHdrVersionSet
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_set_version(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:455,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:457,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:459,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: ts_lua_server_response_is_cacheable
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsCacheable
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_is_cacheable(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:469,1
    - Dst: TS_LUA_CHECK_SERVER_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:471,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:473,1
    - Dst: TSHttpTxnGetMaxAge
      Src: /src/trafficserver/plugins/lua/ts_lua_server_response.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 476
    functionName: ts_lua_server_response_get_maxage
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_server_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnGetMaxAge
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    - TS_LUA_CHECK_SERVER_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_server_response_get_maxage(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_remap_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:52,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:54,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:56,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:57,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:59,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:60,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:62,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:63,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:65,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:66,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:68,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:69,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:71,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:72,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:74,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:75,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:77,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:78,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:80,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:81,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:83,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:84,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 87
    functionName: ts_lua_inject_remap_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - ts_lua_inject_remap_variables
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_remap_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:95,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: ts_lua_inject_remap_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_remap_variables(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:108,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:111,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:114,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:116,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: ts_lua_remap_get_from_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - TSUrlHostGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_from_url_host(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:132,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:135,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:137,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: ts_lua_remap_get_from_url_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - TSUrlPortGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_from_url_port(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:153,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:156,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:159,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:161,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: ts_lua_remap_get_from_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_from_url_scheme(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:178,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:181,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:183,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:184,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:185,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: ts_lua_remap_get_from_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - lua_pushnil
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_from_uri(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:201,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:204,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:206,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:208,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: ts_lua_remap_get_from_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_from_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:224,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:227,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:230,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:232,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: ts_lua_remap_get_to_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - TSUrlHostGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_to_url_host(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:248,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:251,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:253,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: ts_lua_remap_get_to_url_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - TSUrlPortGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_to_url_port(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:269,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:272,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:275,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:277,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 284
    functionName: ts_lua_remap_get_to_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_to_url_scheme(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:294,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:297,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:299,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:300,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:301,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: ts_lua_remap_get_to_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - lua_pushnil
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_to_uri(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:317,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:320,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:322,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:324,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_remap.cc:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 330
    functionName: ts_lua_remap_get_to_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_remap.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_remap_get_to_url(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:30,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:32,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:33,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:35,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:36,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:38,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:39,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:41,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:42,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:44,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:45,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: ts_lua_inject_mgmt_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_mgmt_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:57,1
    - Dst: TSMgmtIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:59,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: ts_lua_mgmt_get_int
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - TSMgmtIntGet
    - lua_pushinteger
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_mgmt_get_int(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:74,1
    - Dst: TSMgmtCounterGet
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:75,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: ts_lua_mgmt_get_counter
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - TSMgmtCounterGet
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_mgmt_get_counter(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:90,1
    - Dst: TSMgmtFloatGet
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:91,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: ts_lua_mgmt_get_float
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - TSMgmtFloatGet
    - luaL_checklstring
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_mgmt_get_float(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:105,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:106,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:107,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ts_lua_mgmt_get_string
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSfree
    - TSMgmtStringGet
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_mgmt_get_string(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:122,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:123,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:124,1
    - Dst: TSMgmtConfigFileAdd
      Src: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: ts_lua_mgmt_add_config_file
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_mgmt.cc
    functionUses: 0
    functionsReached:
    - lua_gettop
    - TSMgmtConfigFileAdd
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_mgmt_add_config_file(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - http_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_LUA_CHECK_CLIENT_RESPONSE_HDR(http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:55,1
    - Dst: ts_lua_inject_client_response_header_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:57,1
    - Dst: ts_lua_inject_client_response_header_table_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:58,1
    - Dst: ts_lua_inject_client_response_headers_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:59,1
    - Dst: ts_lua_inject_client_response_misc_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:60,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: ts_lua_inject_client_response_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - ts_lua_inject_client_response_header_api
    - lua_setfield
    - ts_lua_inject_client_response_misc_api
    - ts_lua_inject_client_response_header_table_api
    - lua_newtable
    - ts_lua_inject_client_response_headers_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_response_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:68,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:70,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:72,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:73,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:74,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:75,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:77,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: ts_lua_inject_client_response_header_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_response_header_api(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:95,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:98,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:101,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:102,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:108,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:112,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:113,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:114,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:118,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:121,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:124,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:126,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 134
    functionName: ts_lua_client_response_header_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSHttpTxnClientRespGet
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_header_get(lua_State *L)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:150,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:156,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:157,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:160,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:164,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:169,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:173,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:174,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:175,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:182,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:185,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:187,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:189,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:192,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:194,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:198,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:199,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 207
    functionName: ts_lua_client_response_header_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - lua_isnil
    - luaL_checklstring
    - TSHttpTxnClientRespGet
    - TSError
    - GET_HTTP_CONTEXT
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_header_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:212,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:214,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:216,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:217,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:218,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:219,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:221,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: ts_lua_inject_client_response_header_table_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_response_header_table_api(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:238,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:241,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:244,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:245,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:251,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:254,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:257,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:258,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:261,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:262,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:264,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:269,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 277
    functionName: ts_lua_client_response_header_table_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - lua_rawseti
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSHttpTxnClientRespGet
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_newtable
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_header_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: ts_lua_client_response_header_table_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_header_table_set(lua_State * /* L ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:288,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: ts_lua_inject_client_response_headers_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_response_headers_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:306,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:308,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:310,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:312,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:315,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:318,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:319,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:320,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:322,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:324,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:325,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:326,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:327,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:330,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:331,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:333,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:334,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:335,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:336,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:337,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:338,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:339,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:343,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 349
    functionName: ts_lua_client_response_get_headers
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    - lua_isnil
    - lua_pop
    - TSMimeHdrFieldValueStringGet
    - lua_rawset
    - TSMimeHdrFieldGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_tolstring
    - lua_concat
    - lua_newtable
    - TSMimeHdrFieldNext
    - lua_gettable
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_get_headers(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:354,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:355,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:356,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:357,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:359,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:360,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:361,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:362,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:364,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 368
    functionName: ts_lua_inject_client_response_misc_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_response_misc_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:376,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:378,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:380,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: ts_lua_client_response_get_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    - lua_pushinteger
    - GET_HTTP_CONTEXT
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_get_status(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:396,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:398,1
    - Dst: luaL_checkint
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:401,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:403,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:403,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:404,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:406,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:406,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 410
    functionName: ts_lua_client_response_set_status
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    - TSHttpStatus
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - GET_HTTP_CONTEXT
    - TSHttpHdrStatusSet
    - luaL_checkint
    - strlen
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_set_status(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:421,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:423,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:425,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:427,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:427,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:427,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:429,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 435
    functionName: ts_lua_client_response_get_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_MINOR
    - snprintf
    - TSHttpHdrVersionGet
    - TS_HTTP_MAJOR
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_get_version(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:446,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:448,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:450,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:452,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:453,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:456,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 459
    functionName: ts_lua_client_response_set_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    - sscanf
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - TSHttpHdrVersionSet
    - TS_HTTP_VERSION
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_set_version(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:475,1
    - Dst: TS_LUA_CHECK_CLIENT_RESPONSE_HDR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:477,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:479,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:481,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:483,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:483,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:489,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:491,1
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:491,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:492,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:497,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:501,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:502,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:506,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:507,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:511,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:515,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:516,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_response.cc:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 522
    functionName: ts_lua_client_response_set_error_resp
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - memcpy
    - TSRalloc
    - TS_LUA_CHECK_CLIENT_RESPONSE_HDR
    - TSHttpStatus
    - TSHttpHdrReasonSet
    - luaL_checklstring
    - TSHandleMLocRelease
    - TSHttpHdrReasonLookup
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - TSHttpTxnErrorBodySet
    - TSHttpHdrStatusSet
    - strlen
    - TSMimeHdrFieldDestroy
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_response_set_error_resp(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:52,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:53,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:56,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:57,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:60,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:61,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:64,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:65,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:68,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:69,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:72,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:73,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:76,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:77,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:80,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:81,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:84,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:85,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:88,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:89,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:92,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:93,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:96,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:97,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:100,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 102
    functionName: ts_lua_inject_crypto_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_crypto_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:114,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:115,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:118,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:123,1
    - Dst: MD5_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:126,1
    - Dst: MD5_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:127,1
    - Dst: MD5_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:128,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:130,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: ts_lua_md5
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - ts_lua_hex_dump
    - lua_pushlstring
    - MD5_Final
    - MD5_Init
    - MD5_Update
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_md5(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:146,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:147,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:150,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:155,1
    - Dst: MD5_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:158,1
    - Dst: MD5_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:159,1
    - Dst: MD5_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:160,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 165
    functionName: ts_lua_md5_bin
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - lua_pushlstring
    - MD5_Final
    - MD5_Init
    - MD5_Update
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_md5_bin(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:177,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:178,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:181,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:186,1
    - Dst: SHA1_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:189,1
    - Dst: SHA1_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:190,1
    - Dst: SHA1_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:191,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:193,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: ts_lua_sha1
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - SHA1_Init
    - ts_lua_hex_dump
    - lua_pushlstring
    - SHA1_Update
    - SHA1_Final
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_sha1(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:208,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:209,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:212,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:217,1
    - Dst: SHA1_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:220,1
    - Dst: SHA1_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:221,1
    - Dst: SHA1_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:222,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: ts_lua_sha1_bin
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - SHA1_Init
    - lua_pushlstring
    - SHA1_Update
    - SHA1_Final
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_sha1_bin(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:239,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:240,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:243,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:248,1
    - Dst: SHA256_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:251,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:252,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:253,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:255,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 259
    functionName: ts_lua_sha256
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - SHA256_Final
    - luaL_checklstring
    - lua_isnil
    - ts_lua_hex_dump
    - lua_pushlstring
    - SHA256_Init
    - lua_gettop
    - SHA256_Update
    linkageType: ''
    returnType: int
    signature: int ts_lua_sha256(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:270,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:271,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:274,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:279,1
    - Dst: SHA256_Init
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:282,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:283,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:284,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 289
    functionName: ts_lua_sha256_bin
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - SHA256_Final
    - luaL_checklstring
    - lua_isnil
    - lua_pushlstring
    - SHA256_Init
    - lua_gettop
    - SHA256_Update
    linkageType: ''
    returnType: int
    signature: int ts_lua_sha256_bin(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:306,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:307,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:310,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:315,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:318,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:323,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:326,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:328,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:329,1
    - Dst: ts_lua_hex_to_bin
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:331,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:332,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:333,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:337,1
    - Dst: EVP_md5
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:337,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:339,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:340,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 344
    functionName: ts_lua_hmac_md5
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - luaL_error
    - TSfree
    - luaL_checklstring
    - lua_isnil
    - ts_lua_hex_dump
    - ts_lua_hex_to_bin
    - lua_pushlstring
    - HMAC
    - EVP_md5
    - Dbg
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_hmac_md5(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:361,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:362,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:365,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:370,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:373,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:378,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:381,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:383,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:384,1
    - Dst: ts_lua_hex_to_bin
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:386,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:387,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:388,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:392,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:392,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:394,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:395,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 399
    functionName: ts_lua_hmac_sha1
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - luaL_error
    - TSfree
    - luaL_checklstring
    - lua_isnil
    - ts_lua_hex_dump
    - ts_lua_hex_to_bin
    - lua_pushlstring
    - HMAC
    - Dbg
    - EVP_sha1
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_hmac_sha1(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:416,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:417,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:420,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:425,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:428,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:433,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:436,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:438,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:439,1
    - Dst: ts_lua_hex_to_bin
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:441,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:442,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:443,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:447,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:447,1
    - Dst: ts_lua_hex_dump
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:449,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:450,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 454
    functionName: ts_lua_hmac_sha256
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - luaL_error
    - TSfree
    - luaL_checklstring
    - lua_isnil
    - ts_lua_hex_dump
    - ts_lua_hex_to_bin
    - lua_pushlstring
    - HMAC
    - Dbg
    - EVP_sha256
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_hmac_sha256(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:466,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:467,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:470,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:474,1
    - Dst: static_cast<u_char *>
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:478,1
    - Dst: lua_newuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:478,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:480,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:481,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 486
    functionName: ts_lua_base64_encode
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - lua_newuserdata
    - lua_pushlstring
    - static_cast<u_char *>
    - TSBase64Encode
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_base64_encode(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:498,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:499,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:502,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:506,1
    - Dst: static_cast<u_char *>
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:510,1
    - Dst: lua_newuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:510,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:512,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:513,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 518
    functionName: ts_lua_base64_decode
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - lua_newuserdata
    - lua_pushlstring
    - static_cast<u_char *>
    - TSBase64Decode
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_base64_decode(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:528,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:529,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:532,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:533,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:537,1
    - Dst: static_cast<u_char *>
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:543,1
    - Dst: lua_newuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:543,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:545,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:546,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 551
    functionName: ts_lua_escape_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - lua_newuserdata
    - lua_pushliteral
    - lua_pushlstring
    - static_cast<u_char *>
    - TSStringPercentEncode
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_escape_uri(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:561,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:562,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:565,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:566,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:570,1
    - Dst: static_cast<u_char *>
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:577,1
    - Dst: lua_newuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:577,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:579,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:580,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_crypto.cc:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 585
    functionName: ts_lua_unescape_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_crypto.cc
    functionUses: 0
    functionsReached:
    - TSStringPercentDecode
    - luaL_error
    - luaL_checklstring
    - lua_isnil
    - lua_newuserdata
    - lua_pushliteral
    - lua_pushlstring
    - static_cast<u_char *>
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int ts_lua_unescape_uri(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:57,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - http_ctx
    argTypes:
    - ts_lua_http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: ts_lua_update_server_response_hdrp
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerRespGet
    - TSError
    linkageType: ''
    returnType: void
    signature: void ts_lua_update_server_response_hdrp(ts_lua_http_ctx *http_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:69,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:74,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:81,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:86,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:92,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:98,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:104,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:105,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - http_ctx
    argTypes:
    - ts_lua_http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 110
    functionName: ts_lua_clear_http_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ts_lua_clear_http_ctx(ts_lua_http_ctx *http_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_new_state
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:119,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:124,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:126,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:128,1
    - Dst: ts_lua_create_ctx_stats
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - n
    argTypes:
    - ts_lua_main_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: ts_lua_create_vm
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pushvalue
    - ts_lua_new_state
    - luaL_ref
    - ts_lua_create_ctx_stats
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int ts_lua_create_vm(ts_lua_main_ctx *arr, int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_close
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:146,1
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:151,1
    - Dst: ts_lua_destroy_ctx_stats
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - n
    argTypes:
    - ts_lua_main_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: ts_lua_destroy_vm
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    - lua_close
    - ts_lua_destroy_ctx_stats
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_vm(ts_lua_main_ctx *arr, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newstate
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:170,1
    - Dst: luaL_openlibs
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:176,1
    - Dst: ts_lua_init_registry
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:178,1
    - Dst: ts_lua_init_globals
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: ts_lua_new_state
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - ts_lua_init_registry
    - luaL_openlibs
    - luaL_newstate
    - ts_lua_init_globals
    linkageType: ''
    returnType: lua_State
    signature: 'lua_State *

      ts_lua_new_state()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:188,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:189,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: ts_lua_create_ctx_stats
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - memset
    - TSRalloc
    - TSMutexCreate
    linkageType: ''
    returnType: ts_lua_ctx_stats
    signature: 'ts_lua_ctx_stats *

      ts_lua_create_ctx_stats()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:200,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ts_lua_ctx_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: ts_lua_destroy_ctx_stats
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - TSMutexDestroy
    - TSfree
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_ctx_stats(ts_lua_ctx_stats *stats)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:212,1
    - Dst: TSMgmtIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:217,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:218,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:219,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:220,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:221,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:222,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:223,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:224,1
    - Dst: lua_tonumber
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:227,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:228,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:231,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:232,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:233,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:234,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:236,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:237,1
    - Dst: static_cast<decltype(conf)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:240,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:240,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:241,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:245,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - L
    - script
    argTypes:
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: ts_lua_script_registered
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pop
    - lua_isnil
    - TSError
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - lua_concat
    - static_cast<decltype(conf)>
    - Dbg
    - TSMgmtIntGet
    - lua_tonumber
    linkageType: ''
    returnType: ts_lua_instance_conf
    signature: 'ts_lua_instance_conf *

      ts_lua_script_registered(lua_State *L, char *script)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:261,1
    - Dst: TSMgmtIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:264,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:265,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:266,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:267,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:268,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:269,1
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:271,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:272,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:273,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:274,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:275,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - L
    - script
    - conf
    argTypes:
    - lua_State*
    - char*
    - ts_lua_instance_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 279
    functionName: ts_lua_script_register
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - TSError
    - lua_rawset
    - lua_pushliteral
    - lua_concat
    - lua_pushlightuserdata
    - lua_pushnumber
    - Dbg
    - TSMgmtIntGet
    linkageType: ''
    returnType: void
    signature: void ts_lua_script_register(lua_State *L, char *script, ts_lua_instance_conf
      *conf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:292,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:296,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:297,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:298,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:299,1
    - Dst: lua_rawgeti
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:300,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:301,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:302,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:303,1
    - Dst: ts_lua_set_instance_conf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:305,1
    - Dst: luaL_loadstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:308,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:309,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:309,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:310,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:311,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:315,1
    - Dst: luaL_loadfile
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:316,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:317,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:317,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:318,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:319,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:324,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:325,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:325,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:326,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:327,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:332,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:334,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:338,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:341,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:342,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:343,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:346,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:347,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:347,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:348,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:349,1
    - Dst: lua_tonumber
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:353,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:354,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:357,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:362,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:365,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:366,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:367,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:369,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:370,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:373,1
    - Dst: lua_gc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:374,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:376,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 7
    argNames:
    - conf
    - arr
    - n
    - argc
    - argv
    - errbuf
    - errbuf_size
    argTypes:
    - ts_lua_instance_conf*
    - ts_lua_main_ctx*
    - int
    - int
    - char*[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 383
    functionName: ts_lua_add_module
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - lua_rawgeti
    - lua_pushvalue
    - lua_setfield
    - lua_pushnumber
    - lua_newtable
    - snprintf
    - lua_tonumber
    - lua_type
    - lua_pop
    - lua_pushlightuserdata
    - lua_setmetatable
    - lua_replace
    - lua_pcall
    - ts_lua_set_instance_conf
    - lua_gc
    - Dbg
    - TSMutexUnlock
    - strlen
    - lua_getglobal
    - lua_pushstring
    - luaL_loadfile
    - TSMutexLock
    - lua_rawset
    - luaL_loadstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_module(ts_lua_instance_conf *conf, ts_lua_main_ctx *arr,
      int n, int argc, char *argv[], char *errbuf, int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:392,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:397,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:398,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:399,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:401,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:403,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:404,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:405,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:405,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:409,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:415,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:416,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:417,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:419,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:420,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:421,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:424,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:425,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:428,1
    - Dst: lua_gc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:429,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:431,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - conf
    - arr
    - n
    argTypes:
    - ts_lua_instance_conf*
    - ts_lua_main_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 438
    functionName: ts_lua_del_module
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_replace
    - TSMutexLock
    - TSError
    - lua_rawget
    - lua_tostring
    - lua_pop
    - lua_pcall
    - lua_pushvalue
    - lua_rawset
    - lua_pushlightuserdata
    - lua_gc
    - lua_newtable
    - Dbg
    - TSMutexUnlock
    - lua_type
    - lua_getglobal
    linkageType: ''
    returnType: int
    signature: int ts_lua_del_module(ts_lua_instance_conf *conf, ts_lua_main_ctx *arr,
      int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:447,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:452,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:453,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:454,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:456,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:458,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:459,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:460,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:460,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:463,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:467,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:468,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:469,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:470,1
    - Dst: lua_rawgeti
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:471,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:472,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:473,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:474,1
    - Dst: ts_lua_set_instance_conf
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:476,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:478,1
    - Dst: luaL_loadfile
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:479,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:480,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:480,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:482,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:483,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:483,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:488,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:489,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:490,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:492,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:493,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:496,1
    - Dst: lua_gc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:497,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:499,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 3
    argNames:
    - conf
    - arr
    - n
    argTypes:
    - ts_lua_instance_conf*
    - ts_lua_main_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 506
    functionName: ts_lua_reload_module
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - lua_rawgeti
    - lua_pushvalue
    - lua_setfield
    - lua_newtable
    - lua_pop
    - lua_pushlightuserdata
    - lua_setmetatable
    - lua_replace
    - TSError
    - lua_pcall
    - ts_lua_set_instance_conf
    - lua_gc
    - Dbg
    - strlen
    - TSMutexUnlock
    - lua_getglobal
    - luaL_loadfile
    - TSMutexLock
    - lua_rawset
    - lua_rawget
    - lua_type
    linkageType: ''
    returnType: int
    signature: int ts_lua_reload_module(ts_lua_instance_conf *conf, ts_lua_main_ctx
      *arr, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_ts_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: ts_lua_init_globals
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_ts_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_init_globals(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:535,1
    - Dst: ts_lua_inject_remap_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:537,1
    - Dst: ts_lua_inject_constant_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:538,1
    - Dst: ts_lua_inject_client_request_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:540,1
    - Dst: ts_lua_inject_server_request_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:541,1
    - Dst: ts_lua_inject_server_response_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:542,1
    - Dst: ts_lua_inject_client_response_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:543,1
    - Dst: ts_lua_inject_cached_response_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:544,1
    - Dst: ts_lua_inject_log_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:545,1
    - Dst: ts_lua_inject_context_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:547,1
    - Dst: ts_lua_inject_hook_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:548,1
    - Dst: ts_lua_inject_vconn_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:550,1
    - Dst: ts_lua_inject_http_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:552,1
    - Dst: ts_lua_inject_intercept_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:553,1
    - Dst: ts_lua_inject_misc_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:554,1
    - Dst: ts_lua_inject_crypto_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:555,1
    - Dst: ts_lua_inject_mgmt_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:556,1
    - Dst: ts_lua_inject_package_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:557,1
    - Dst: ts_lua_inject_stat_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:558,1
    - Dst: ts_lua_inject_fetch_api
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:559,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:561,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:562,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:563,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:564,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:565,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 568
    functionName: ts_lua_inject_ts_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_server_response_api
    - ts_lua_inject_client_request_api
    - lua_pushvalue
    - lua_setfield
    - ts_lua_inject_client_response_api
    - ts_lua_inject_crypto_api
    - ts_lua_inject_cached_response_api
    - lua_newtable
    - ts_lua_inject_context_api
    - ts_lua_inject_intercept_api
    - lua_pop
    - lua_setglobal
    - ts_lua_inject_remap_api
    - ts_lua_inject_log_api
    - ts_lua_inject_server_request_api
    - ts_lua_inject_vconn_api
    - ts_lua_inject_fetch_api
    - ts_lua_inject_package_api
    - ts_lua_inject_hook_api
    - ts_lua_inject_mgmt_api
    - lua_getglobal
    - ts_lua_inject_constant_api
    - ts_lua_inject_http_api
    - lua_getfield
    - ts_lua_inject_misc_api
    - ts_lua_inject_stat_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_ts_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:573,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:574,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - conf
    argTypes:
    - lua_State*
    - ts_lua_instance_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: ts_lua_set_instance_conf
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 2
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_instance_conf(lua_State *L, ts_lua_instance_conf *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:583,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:584,1
    - Dst: static_cast<decltype(conf)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:585,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:585,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: ts_lua_get_instance_conf
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - static_cast<decltype(conf)>
    linkageType: ''
    returnType: ts_lua_instance_conf
    signature: 'ts_lua_instance_conf *

      ts_lua_get_instance_conf(lua_State *L)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:595,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:596,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - ci
    argTypes:
    - lua_State*
    - ts_lua_cont_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: ts_lua_set_cont_info
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 4
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_cont_info(lua_State *L, ts_lua_cont_info *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:605,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:606,1
    - Dst: static_cast<decltype(ci)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:607,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:607,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: ts_lua_get_cont_info
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 6
    functionsReached:
    - lua_pop
    - static_cast<decltype(ci)>
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    linkageType: ''
    returnType: ts_lua_cont_info
    signature: 'ts_lua_cont_info *

      ts_lua_get_cont_info(lua_State *L)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:622,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:623,1
    - Dst: lua_newthread
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:626,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:632,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:638,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:643,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:647,1
    - Dst: lua_xmove
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - L
    - hci
    - n
    argTypes:
    - lua_State*
    - ts_lua_cont_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 653
    functionName: ts_lua_create_async_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - memset
    - TSRalloc
    - TSMutexLock
    - lua_pushvalue
    - luaL_ref
    - lua_newthread
    - TSMutexUnlock
    - lua_xmove
    linkageType: ''
    returnType: ts_lua_http_ctx
    signature: 'ts_lua_http_ctx *

      ts_lua_create_async_ctx(lua_State *L, ts_lua_cont_info *hci, int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:666,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:668,1
    - Dst: ts_lua_release_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:670,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - http_ctx
    argTypes:
    - ts_lua_http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 672
    functionName: ts_lua_destroy_async_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - TSfree
    - ts_lua_release_cont_info
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_async_ctx(ts_lua_http_ctx *http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:677,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:678,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - ctx
    argTypes:
    - lua_State*
    - ts_lua_vconn_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: ts_lua_set_vconn_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_vconn_ctx(lua_State *L, ts_lua_vconn_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:687,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:688,1
    - Dst: static_cast<decltype(ctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:689,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:689,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 694
    functionName: ts_lua_get_vconn_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - static_cast<decltype(ctx)>
    linkageType: ''
    returnType: ts_lua_vconn_ctx
    signature: 'ts_lua_vconn_ctx *

      ts_lua_get_vconn_ctx(lua_State *L)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:701,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:702,1
    - Dst: lua_newthread
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:705,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:707,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:708,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:711,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:712,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:713,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:714,1
    - Dst: lua_xmove
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:715,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:716,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:717,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:719,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:722,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:730,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:735,1
    - Dst: ts_lua_set_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:739,1
    - Dst: ts_lua_create_context_table
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - main_ctx
    - conf
    argTypes:
    - ts_lua_main_ctx*
    - ts_lua_instance_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 743
    functionName: ts_lua_create_vconn_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - lua_replace
    - TSMutexLock
    - lua_pushvalue
    - lua_rawget
    - lua_setfield
    - ts_lua_set_vconn_ctx
    - luaL_ref
    - ts_lua_create_context_table
    - lua_pushlightuserdata
    - lua_newthread
    - lua_newtable
    - lua_setmetatable
    - TSMutexUnlock
    - lua_xmove
    linkageType: ''
    returnType: ts_lua_vconn_ctx
    signature: 'ts_lua_vconn_ctx *

      ts_lua_create_vconn_ctx(ts_lua_main_ctx *main_ctx, ts_lua_instance_conf *conf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:752,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:754,1
    - Dst: luaL_unref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:757,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vconn_ctx
    argTypes:
    - ts_lua_vconn_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 761
    functionName: ts_lua_destroy_vconn_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - luaL_unref
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_vconn_ctx(ts_lua_vconn_ctx *vconn_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:766,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:767,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - ctx
    argTypes:
    - lua_State*
    - ts_lua_http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: ts_lua_set_http_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_http_ctx(lua_State *L, ts_lua_http_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:776,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:777,1
    - Dst: static_cast<decltype(ctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:778,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:778,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: ts_lua_get_http_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - lua_pop
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - static_cast<decltype(ctx)>
    linkageType: ''
    returnType: ts_lua_http_ctx
    signature: 'ts_lua_http_ctx *

      ts_lua_get_http_ctx(lua_State *L)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:795,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:796,1
    - Dst: lua_newthread
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:800,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:802,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:803,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:806,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:807,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:808,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:809,1
    - Dst: lua_xmove
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:810,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:811,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:812,1
    - Dst: lua_replace
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:814,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:817,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:824,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:829,1
    - Dst: ts_lua_set_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:833,1
    - Dst: ts_lua_create_context_table
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - main_ctx
    - conf
    argTypes:
    - ts_lua_main_ctx*
    - ts_lua_instance_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 837
    functionName: ts_lua_create_http_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - lua_replace
    - TSMutexLock
    - lua_pushvalue
    - lua_rawget
    - lua_setfield
    - luaL_ref
    - ts_lua_create_context_table
    - lua_pushlightuserdata
    - lua_newthread
    - lua_newtable
    - ts_lua_set_http_ctx
    - lua_setmetatable
    - TSMutexUnlock
    - lua_xmove
    linkageType: ''
    returnType: ts_lua_http_ctx
    signature: 'ts_lua_http_ctx *

      ts_lua_create_http_ctx(ts_lua_main_ctx *main_ctx, ts_lua_instance_conf *conf)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:848,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:852,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:857,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:861,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:865,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:869,1
    - Dst: TSMimeHdrDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:873,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:874,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:875,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:882,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:884,1
    - Dst: ts_lua_release_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:886,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - http_ctx
    argTypes:
    - ts_lua_http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 888
    functionName: ts_lua_destroy_http_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSHandleMLocRelease
    - TSMutexLock
    - TSMBufferDestroy
    - TSMutexUnlock
    - ts_lua_release_cont_info
    - TSMimeHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_http_ctx(ts_lua_http_ctx *http_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:893,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:894,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - ictx
    argTypes:
    - lua_State*
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: ts_lua_set_http_intercept_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_http_intercept_ctx(lua_State *L, ts_lua_http_intercept_ctx
      *ictx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:903,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:904,1
    - Dst: static_cast<decltype(ictx)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:905,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:905,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: ts_lua_get_http_intercept_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 2
    functionsReached:
    - lua_pop
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - static_cast<decltype(ictx)>
    linkageType: ''
    returnType: ts_lua_http_intercept_ctx
    signature: 'ts_lua_http_intercept_ctx *

      ts_lua_get_http_intercept_ctx(lua_State *L)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:923,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:924,1
    - Dst: lua_newthread
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:929,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:935,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:941,1
    - Dst: lua_xmove
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:944,1
    - Dst: ts_lua_set_http_intercept_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - L
    - http_ctx
    - n
    argTypes:
    - lua_State*
    - ts_lua_http_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 949
    functionName: ts_lua_create_http_intercept_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 2
    functionsReached:
    - memset
    - TSRalloc
    - lua_pushvalue
    - luaL_ref
    - ts_lua_set_http_intercept_ctx
    - lua_newthread
    - lua_xmove
    linkageType: ''
    returnType: ts_lua_http_intercept_ctx
    signature: 'ts_lua_http_intercept_ctx *

      ts_lua_create_http_intercept_ctx(lua_State *L, ts_lua_http_ctx *http_ctx, int
      n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:959,1
    - Dst: TS_LUA_RELEASE_IO_HANDLE
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:962,1
    - Dst: TS_LUA_RELEASE_IO_HANDLE
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:963,1
    - Dst: ts_lua_release_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:965,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ictx
    argTypes:
    - ts_lua_http_intercept_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: ts_lua_destroy_http_intercept_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 2
    functionsReached:
    - TSVConnClose
    - TSfree
    - ts_lua_release_cont_info
    - TS_LUA_RELEASE_IO_HANDLE
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_http_intercept_ctx(ts_lua_http_intercept_ctx *ictx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:972,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:973,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - tctx
    argTypes:
    - lua_State*
    - ts_lua_http_transform_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: ts_lua_set_http_transform_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_rawset
    - lua_pushliteral
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void ts_lua_set_http_transform_ctx(lua_State *L, ts_lua_http_transform_ctx
      *tctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:982,1
    - Dst: lua_rawget
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:983,1
    - Dst: static_cast<decltype(tctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:984,1
    - Dst: lua_touserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:984,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 989
    functionName: ts_lua_get_http_transform_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 4
    functionsReached:
    - lua_pop
    - lua_rawget
    - lua_touserdata
    - lua_pushliteral
    - static_cast<decltype(tctx)>
    linkageType: ''
    returnType: ts_lua_http_transform_ctx
    signature: 'ts_lua_http_transform_ctx *

      ts_lua_get_http_transform_ctx(lua_State *L)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1003,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1004,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1007,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1011,1
    - Dst: lua_newthread
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1015,1
    - Dst: luaL_ref
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1016,1
    - Dst: ts_lua_set_http_transform_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1017,1
    - Dst: lua_pushlightuserdata
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1019,1
    - Dst: lua_pushvalue
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1020,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - http_ctx
    - connp
    argTypes:
    - ts_lua_http_ctx*
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1024
    functionName: ts_lua_create_http_transform_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - memset
    - TSRalloc
    - lua_pushvalue
    - lua_rawset
    - TSContDataSet
    - luaL_ref
    - lua_pushlightuserdata
    - lua_newthread
    - ts_lua_set_http_transform_ctx
    - TSContMutexGet
    linkageType: ''
    returnType: ts_lua_http_transform_ctx
    signature: 'ts_lua_http_transform_ctx *

      ts_lua_create_http_transform_ctx(ts_lua_http_ctx *http_ctx, TSVConn connp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_LUA_RELEASE_IO_HANDLE
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1037,1
    - Dst: TS_LUA_RELEASE_IO_HANDLE
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1038,1
    - Dst: ts_lua_release_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1040,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - transform_ctx
    argTypes:
    - ts_lua_http_transform_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1026
    functionDepth: 3
    functionLinenumber: 1026
    functionLinenumberEnd: 1043
    functionName: ts_lua_destroy_http_transform_ctx
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 1
    functionsReached:
    - TSfree
    - ts_lua_release_cont_info
    - TS_LUA_RELEASE_IO_HANDLE
    linkageType: ''
    returnType: void
    signature: void ts_lua_destroy_http_transform_ctx(ts_lua_http_transform_ctx *transform_ctx)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1060,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1071,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1074,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1078,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1085,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1087,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1091,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1096,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1098,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1099,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1102,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1108,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1110,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1111,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1114,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1120,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1122,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1123,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1126,1
    - Dst: ts_lua_update_server_response_hdrp
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1131,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1133,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1135,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1136,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1139,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1145,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1147,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1148,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1151,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1157,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1158,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1159,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1162,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1168,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1169,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1170,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1173,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1179,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1180,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1181,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1184,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1190,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1191,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1192,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1195,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1201,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1202,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1203,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1206,1
    - Dst: ts_lua_update_server_response_hdrp
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1211,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1213,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1214,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1215,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1216,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1216,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1220,1
    - Dst: lua_resume
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1225,1
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1233,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1235,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1236,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1245,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1245,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1247,1
    - Dst: lua_getgccount
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1252,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1254,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1259,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1266,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1269,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua_util.cc:1272,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 147
    argCount: 3
    argNames:
    - contp
    - ev
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1045
    functionDepth: 6
    functionLinenumber: 1045
    functionLinenumberEnd: 1279
    functionName: ts_lua_http_cont_handler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_util.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - ts_lua_destroy_http_ctx
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - lua_resume
    - lua_pop
    - lua_getgccount
    - ts_lua_set_cont_info
    - TSError
    - lua_pcall
    - ts_lua_clear_http_ctx
    - TSMutexUnlock
    - lua_gettop
    - TSHttpHdrUrlGet
    - lua_getglobal
    - TSHttpTxnReenable
    - TSMutexLock
    - lua_tointeger
    - ts_lua_update_server_response_hdrp
    - lua_type
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_cont_handler(TSCont contp, TSEvent ev, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - u_char*
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: ts_lua_hex_dump
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_string.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      ts_lua_hex_dump(u_char *dst, u_char *src, size_t len)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: hex_to_int
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_string.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char hex_to_int(unsigned char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_string.cc:54,1
    - Dst: hex_to_int
      Src: /src/trafficserver/plugins/lua/ts_lua_string.cc:59,1
    - Dst: hex_to_int
      Src: /src/trafficserver/plugins/lua/ts_lua_string.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua_string.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - u_char*
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: ts_lua_hex_to_bin
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_string.cc
    functionUses: 3
    functionsReached:
    - Dbg
    - hex_to_int
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      ts_lua_hex_to_bin(u_char *dst, u_char *src, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_http_milestone_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:80,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:82,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: ts_lua_inject_http_milestone_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - ts_lua_inject_http_milestone_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_milestone_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:92,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: ts_lua_inject_http_milestone_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_http_milestone_variables(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:105,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:107,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:109,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:110,1
    - Dst: TSMilestonesType
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:110,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: ts_lua_http_milestone_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_http_milestone.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checkinteger
    - lua_pushnumber
    - TSMilestonesType
    - TSHttpTxnMilestoneGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_http_milestone_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:50,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:51,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:54,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: ts_lua_inject_package_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_package.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_package_api(lua_State *L)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_instance_conf
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:70,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:72,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:75,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:82,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:82,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:94,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:102,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:110,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:118,1
    - Dst: ts_lua_add_package_path_items
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:131,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:142,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:143,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 156
    functionName: ts_lua_add_package_path
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_package.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - luaL_error
    - ts_lua_get_instance_conf
    - luaL_checklstring
    - static_cast<char const *>
    - ts_lua_add_package_path_items
    - TSmalloc
    - memchr
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_package_path(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:166,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:168,1
    - Dst: lua_istable
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:170,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:171,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:174,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:176,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:181,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:185,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:190,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:196,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:197,1
    - Dst: lua_settop
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - L
    - pp
    - n
    argTypes:
    - lua_State*
    - ts_lua_package_path*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 202
    functionName: ts_lua_add_package_path_items
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_package.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - lua_istable
    - luaL_error
    - TSError
    - lua_setfield
    - lua_pushlstring
    - lua_tolstring
    - lua_getfield
    - snprintf
    - lua_settop
    - lua_gettop
    - lua_getglobal
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_package_path_items(lua_State *L, ts_lua_package_path
      *pp, int n)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_get_instance_conf
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:216,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:218,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:221,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:228,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:228,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:240,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:248,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:256,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:264,1
    - Dst: ts_lua_add_package_cpath_items
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:277,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:288,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:289,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 302
    functionName: ts_lua_add_package_cpath
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_package.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - luaL_error
    - ts_lua_get_instance_conf
    - luaL_checklstring
    - static_cast<char const *>
    - TSmalloc
    - ts_lua_add_package_cpath_items
    - memchr
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_package_cpath(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:312,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:314,1
    - Dst: lua_istable
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:316,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:317,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:320,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:322,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:327,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:331,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:336,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:342,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:343,1
    - Dst: lua_settop
      Src: /src/trafficserver/plugins/lua/ts_lua_package.cc:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - L
    - pp
    - n
    argTypes:
    - lua_State*
    - ts_lua_package_path*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 348
    functionName: ts_lua_add_package_cpath_items
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_package.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - lua_istable
    - luaL_error
    - TSError
    - lua_setfield
    - lua_pushlstring
    - lua_tolstring
    - lua_getfield
    - snprintf
    - lua_settop
    - lua_gettop
    - lua_getglobal
    linkageType: ''
    returnType: int
    signature: int ts_lua_add_package_cpath_items(lua_State *L, ts_lua_package_path
      *pp, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_stat_variables
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:66,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:68,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:69,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:71,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: ts_lua_inject_stat_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - ts_lua_inject_stat_variables
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_stat_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:81,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:82,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:86,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:87,1
    - Dst: lua_pushinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:91,1
    - Dst: lua_setglobal
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: ts_lua_inject_stat_variables
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 1
    functionsReached:
    - lua_setglobal
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_stat_variables(lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:106,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:108,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:111,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:114,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:117,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:120,1
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:123,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:127,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:128,1
    - Dst: TSRecordDataType
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:128,1
    - Dst: TSStatPersistence
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:128,1
    - Dst: TSStatSync
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:128,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:131,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:132,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:133,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:135,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:136,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:137,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:138,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:139,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:140,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:141,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:142,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 148
    functionName: ts_lua_stat_create
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - lua_pushnil
    - lua_isnil
    - luaL_checklstring
    - TSStatSync
    - lua_setfield
    - luaL_checkinteger
    - lua_pushcfunction
    - TSStatFindName
    - lua_pushnumber
    - lua_newtable
    - TSRecordDataType
    - TSStatPersistence
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_create(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:157,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:160,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:161,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:162,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:163,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:165,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:166,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:167,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:168,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:169,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:170,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:171,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:172,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:174,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: ts_lua_stat_find
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_checklstring
    - lua_setfield
    - lua_pushcfunction
    - TSStatFindName
    - lua_pushnumber
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_find(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:188,1
    - Dst: luaL_checktype
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:190,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:191,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:192,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:193,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: ts_lua_stat_increment
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_checkinteger
    - luaL_checknumber
    - luaL_checktype
    - lua_getfield
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_increment(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:205,1
    - Dst: luaL_checktype
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:207,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:208,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:209,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:210,1
    - Dst: TSStatIntDecrement
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: ts_lua_stat_decrement
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - TSStatIntDecrement
    - luaL_checkinteger
    - luaL_checknumber
    - luaL_checktype
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_decrement(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:223,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:224,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:225,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:226,1
    - Dst: TSStatIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:228,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: ts_lua_stat_get_value
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - TSStatIntGet
    - lua_pop
    - luaL_checknumber
    - lua_pushnumber
    - luaL_checktype
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_get_value(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:239,1
    - Dst: luaL_checktype
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:241,1
    - Dst: lua_getfield
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:242,1
    - Dst: luaL_checknumber
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:243,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:244,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua_stat.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: ts_lua_stat_set_value
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_stat.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_checkinteger
    - luaL_checknumber
    - TSStatIntSet
    - luaL_checktype
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: int ts_lua_stat_set_value(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:82,1
    - Dst: ts_lua_inject_client_request_socket_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:84,1
    - Dst: ts_lua_inject_client_request_header_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:85,1
    - Dst: ts_lua_inject_client_request_header_table_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:86,1
    - Dst: ts_lua_inject_client_request_headers_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:87,1
    - Dst: ts_lua_inject_client_request_url_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:88,1
    - Dst: ts_lua_inject_client_request_uri_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:89,1
    - Dst: ts_lua_inject_client_request_args_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:90,1
    - Dst: ts_lua_inject_client_request_method_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:91,1
    - Dst: ts_lua_inject_client_request_version_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:92,1
    - Dst: ts_lua_inject_client_request_body_size_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:93,1
    - Dst: ts_lua_inject_client_request_header_size_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:94,1
    - Dst: ts_lua_inject_client_request_ssl_reused_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:95,1
    - Dst: ts_lua_inject_client_request_ssl_cipher_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:96,1
    - Dst: ts_lua_inject_client_request_ssl_protocol_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:97,1
    - Dst: ts_lua_inject_client_request_ssl_curve_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:98,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: ts_lua_inject_client_request_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_client_request_args_api
    - ts_lua_inject_client_request_headers_api
    - ts_lua_inject_client_request_header_api
    - ts_lua_inject_client_request_header_size_api
    - lua_setfield
    - ts_lua_inject_client_request_ssl_reused_api
    - ts_lua_inject_client_request_ssl_protocol_api
    - ts_lua_inject_client_request_header_table_api
    - ts_lua_inject_client_request_uri_api
    - lua_newtable
    - ts_lua_inject_client_request_body_size_api
    - ts_lua_inject_client_request_version_api
    - ts_lua_inject_client_request_ssl_curve_api
    - ts_lua_inject_client_request_ssl_cipher_api
    - ts_lua_inject_client_request_socket_api
    - ts_lua_inject_client_request_url_api
    - ts_lua_inject_client_request_method_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_inject_client_request_client_addr_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:106,1
    - Dst: ts_lua_inject_client_request_server_addr_api
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: ts_lua_inject_client_request_socket_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - ts_lua_inject_client_request_client_addr_api
    - ts_lua_inject_client_request_server_addr_api
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_socket_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:113,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:115,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:116,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:118,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:119,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:121,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:122,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:124,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:125,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: ts_lua_inject_client_request_client_addr_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_newtable
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_client_addr_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:139,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:141,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:143,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:144,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:145,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:146,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:148,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: ts_lua_inject_client_request_header_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_header_api(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:165,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:168,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:171,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:176,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:177,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:178,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:182,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:185,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:188,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:190,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 198
    functionName: ts_lua_client_request_header_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_header_get(lua_State *L)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:214,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:220,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:221,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:224,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:227,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:231,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:232,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:233,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:239,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:242,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:244,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:246,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:249,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:251,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:255,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:256,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 264
    functionName: ts_lua_client_request_header_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - lua_isnil
    - luaL_checklstring
    - TSError
    - GET_HTTP_CONTEXT
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_header_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:269,1
    - Dst: lua_createtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:271,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:273,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:274,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:275,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:276,1
    - Dst: lua_setmetatable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:278,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: ts_lua_inject_client_request_header_table_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    - lua_newtable
    - lua_setmetatable
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_header_table_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:295,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:298,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:301,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:304,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:307,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:308,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:311,1
    - Dst: lua_rawseti
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:312,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:314,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:319,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 327
    functionName: ts_lua_client_request_header_table_get
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - lua_rawseti
    - lua_pushnil
    - TSHandleMLocRelease
    - luaL_checklstring
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_newtable
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_header_table_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: ts_lua_client_request_header_table_set
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_header_table_set(lua_State * /* L ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:338,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:339,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:341,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: ts_lua_inject_client_request_headers_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_headers_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:359,1
    - Dst: lua_newtable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:361,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:363,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:366,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:369,1
    - Dst: lua_gettable
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:370,1
    - Dst: lua_isnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:371,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:373,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:375,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:376,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:377,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:378,1
    - Dst: lua_tolstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:381,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:382,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:384,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:385,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:386,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:387,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:388,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:389,1
    - Dst: lua_rawset
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:390,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:394,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 400
    functionName: ts_lua_client_request_get_headers
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_isnil
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - lua_rawset
    - TSMimeHdrFieldGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    - lua_tolstring
    - lua_concat
    - lua_newtable
    - TSMimeHdrFieldNext
    - lua_gettable
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_headers(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:418,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:420,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:421,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:423,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:425,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:427,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:427,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:430,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:432,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:438,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:441,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:442,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:448,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:449,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:452,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:454,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 459
    functionName: ts_lua_client_request_get_header_block
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - lua_pushnil
    - TSfree
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSMimeHdrPrint
    - TSIOBufferReaderFree
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - GET_HTTP_CONTEXT
    - TSIOBufferReaderStart
    - lua_pushlstring
    - static_cast<char *>
    - TSmalloc
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_header_block(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:464,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:465,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:467,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:468,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:470,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:471,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:472,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:473,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:475,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:476,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:477,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:478,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:480,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:481,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:482,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 484
    functionName: ts_lua_inject_client_request_url_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_url_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:489,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:490,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:492,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: ts_lua_inject_client_request_uri_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_uri_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:504,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:506,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:509,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:510,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: ts_lua_client_request_get_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnEffectiveUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_url(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:530,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:532,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:536,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:539,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:540,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:543,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 549
    functionName: ts_lua_client_request_get_pristine_url
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSfree
    - TSHandleMLocRelease
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnPristineUrlGet
    - TSUrlStringGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_pristine_url(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:559,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:561,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:570,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:572,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:573,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:576,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:578,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:579,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 587
    functionName: ts_lua_client_request_get_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TSUrlHostGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_url_host(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:597,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:599,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: ts_lua_client_request_set_url_host
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_url_host(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:613,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:615,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 620
    functionName: ts_lua_client_request_get_url_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSUrlPortGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_url_port(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:629,1
    - Dst: luaL_checkint
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:632,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 637
    functionName: ts_lua_client_request_set_url_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSUrlPortSet
    - luaL_checkint
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_url_port(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:647,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:649,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 639
    functionDepth: 4
    functionLinenumber: 639
    functionLinenumberEnd: 654
    functionName: ts_lua_client_request_get_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeGet
    - GET_HTTP_CONTEXT
    - lua_pushlstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_url_scheme(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:664,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:666,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 671
    functionName: ts_lua_client_request_set_url_scheme
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeSet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_url_scheme(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:681,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:683,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:685,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:686,1
    - Dst: lua_concat
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 690
    functionName: ts_lua_client_request_get_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_concat
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_uri(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:700,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:702,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 712
    functionName: ts_lua_client_request_set_uri
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathSet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_uri(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:717,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:718,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:720,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: ts_lua_inject_client_request_args_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_args_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:732,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:734,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:737,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 743
    functionName: ts_lua_client_request_get_uri_args
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_pushnil
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_uri_args(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:753,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:755,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 759
    functionName: ts_lua_client_request_set_uri_args
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSUrlHttpQuerySet
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_uri_args(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:768,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:770,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:773,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:777,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:779,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 786
    functionName: ts_lua_client_request_client_addr_get_ip
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - GET_HTTP_CONTEXT
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_client_addr_get_ip(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:795,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:797,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:800,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 813
    functionName: ts_lua_client_request_client_addr_get_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - GET_HTTP_CONTEXT
    - TSHttpTxnClientAddrGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_client_addr_get_port(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:822,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:824,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:827,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:836,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 840
    functionName: ts_lua_client_request_client_addr_get_incoming_port
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - TSHttpTxnIncomingAddrGet
    - GET_HTTP_CONTEXT
    - ntohs
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_client_addr_get_incoming_port(lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:851,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:853,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:856,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:857,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:858,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:862,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:863,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:866,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:867,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:871,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:872,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 842
    functionDepth: 3
    functionLinenumber: 842
    functionLinenumberEnd: 877
    functionName: ts_lua_client_request_client_addr_get_addr
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - inet_ntop
    - GET_HTTP_CONTEXT
    - ntohs
    - lua_pushnumber
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_client_addr_get_addr(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:882,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:883,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:885,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: ts_lua_inject_client_request_method_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_method_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:897,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:899,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:902,1
    - Dst: lua_pushnil
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 908
    functionName: ts_lua_client_request_get_method
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - lua_pushnil
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_method(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:918,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:920,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 927
    functionName: ts_lua_client_request_set_method
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - luaL_checklstring
    - TSHttpHdrMethodSet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_method(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:932,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: ts_lua_inject_client_request_body_size_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_body_size_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:942,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:944,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 948
    functionName: ts_lua_client_request_get_body_size
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSHttpTxnClientReqBodyBytesGet
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_body_size(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:953,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:954,1
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:956,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 958
    functionName: ts_lua_inject_client_request_version_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_version_api(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:969,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:971,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:973,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:973,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:973,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:975,1
    - Dst: lua_pushlstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 960
    functionDepth: 2
    functionLinenumber: 960
    functionLinenumberEnd: 981
    functionName: ts_lua_client_request_get_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - GET_HTTP_CONTEXT
    - TS_HTTP_MINOR
    - snprintf
    - TSHttpHdrVersionGet
    - TS_HTTP_MAJOR
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_version(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:992,1
    - Dst: luaL_checklstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:994,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:996,1
    - Dst: luaL_error
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:997,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1000,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 1003
    functionName: ts_lua_client_request_set_version
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - luaL_error
    - sscanf
    - luaL_checklstring
    - GET_HTTP_CONTEXT
    - TSHttpHdrVersionSet
    - TS_HTTP_VERSION
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_set_version(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1008,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: ts_lua_inject_client_request_header_size_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_header_size_api(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1018,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1020,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1024
    functionName: ts_lua_client_request_get_header_size
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientReqHdrBytesGet
    - GET_HTTP_CONTEXT
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_header_size(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1029,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1031
    functionName: ts_lua_inject_client_request_ssl_reused_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_ssl_reused_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1041,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1042,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1043,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1045,1
    - Dst: TSVConnIsSslReused
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1046,1
    - Dst: lua_pushnumber
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1052
    functionName: ts_lua_client_request_get_ssl_reused
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - GET_HTTP_CONTEXT
    - TSVConnIsSslReused
    - TSHttpTxnSsnGet
    - lua_pushnumber
    - TSVConnIsSsl
    - TSHttpSsnClientVConnGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_ssl_reused(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1057,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    functionName: ts_lua_inject_client_request_ssl_cipher_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_ssl_cipher_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1069,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1071,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1072,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1074,1
    - Dst: TSVConnSslCipherGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1075,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1081
    functionName: ts_lua_client_request_get_ssl_cipher
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSHttpTxnSsnGet
    - TSVConnIsSsl
    - TSVConnSslCipherGet
    - TSHttpSsnClientVConnGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_ssl_cipher(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1086,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1088
    functionName: ts_lua_inject_client_request_ssl_protocol_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_ssl_protocol_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1098,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1100,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1101,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1103,1
    - Dst: TSVConnSslProtocolGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1104,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1110
    functionName: ts_lua_client_request_get_ssl_protocol
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSVConnSslProtocolGet
    - TSHttpTxnSsnGet
    - TSVConnIsSsl
    - TSHttpSsnClientVConnGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_ssl_protocol(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1115,1
    - Dst: lua_setfield
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: ts_lua_inject_client_request_ssl_curve_api
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: void ts_lua_inject_client_request_ssl_curve_api(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_HTTP_CONTEXT
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1127,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1129,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1130,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1132,1
    - Dst: TSVConnSslCurveGet
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1133,1
    - Dst: lua_pushstring
      Src: /src/trafficserver/plugins/lua/ts_lua_client_request.cc:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1139
    functionName: ts_lua_client_request_get_ssl_curve
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua_client_request.cc
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - GET_HTTP_CONTEXT
    - TSVConnSslCurveGet
    - TSHttpTxnSsnGet
    - TSVConnIsSsl
    - TSHttpSsnClientVConnGet
    linkageType: ''
    returnType: int
    signature: int ts_lua_client_request_get_ssl_curve(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:89,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:90,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:101,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - main_ctx_array
    - stat_strs
    argTypes:
    - ts_lua_main_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: create_plugin_stats
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - TSStatIntSet
    - TSStatCreate
    linkageType: ''
    returnType: ts_lua_plugin_stats
    signature: 'ts_lua_plugin_stats *

      create_plugin_stats(ts_lua_main_ctx *const main_ctx_array, char const *const
      *stat_strs)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMgmtIntCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:121,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:124,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:127,1
    - Dst: TSMgmtIntGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:135,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:140,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:144,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:150,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:151,1
    - Dst: ts_lua_create_vm
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:153,1
    - Dst: ts_lua_destroy_vm
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:156,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:157,1
    - Dst: lua_getgccount
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: create_lua_vms
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - TSfree
    - TSError
    - lua_getgccount
    - ts_lua_create_vm
    - Dbg
    - ts_lua_destroy_vm
    - TSMgmtIntGet
    - TSMgmtIntCreate
    linkageType: ''
    returnType: ts_lua_main_ctx
    signature: 'ts_lua_main_ctx *

      create_lua_vms()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:189,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - plugin_stats
    argTypes:
    - ts_lua_plugin_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: collectStats
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void collectStats(ts_lua_plugin_stats *const plugin_stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:205,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin_stats
    argTypes:
    - ts_lua_plugin_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: publishStats
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - TSStatIntSet
    linkageType: ''
    returnType: void
    signature: void publishStats(ts_lua_plugin_stats *const plugin_stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:213,1
    - Dst: collectStats
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:215,1
    - Dst: publishStats
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:216,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: statsHandler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - collectStats
    - TSContDataGet
    - publishStats
    linkageType: ''
    returnType: int
    signature: int statsHandler(TSCont contp, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:226,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:232,1
    - Dst: strftime
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:233,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: get_time_now_str
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - snprintf
    - TShrtime
    - strftime
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: void get_time_now_str(char *const buf, size_t const buflen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:245,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:245,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:249,1
    - Dst: get_time_now_str
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:263,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:268,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:270,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:271,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:273,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:275,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:283,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:293,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 304
    functionName: lifecycleHandler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - strncasecmp
    - TSMutexLock
    - get_time_now_str
    - Dbg
    - TSContDataGet
    - strlen
    - TSMutexUnlock
    linkageType: ''
    returnType: int
    signature: int lifecycleHandler(TSCont contp, TSEvent /* event ATS_UNUSED */,
      void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:310,1
    - Dst: create_lua_vms
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:316,1
    - Dst: pthread_key_create
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:318,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:320,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:320,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:321,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:322,1
    - Dst: create_plugin_stats
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:324,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:328,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:329,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:329,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:330,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 339
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - pthread_key_create
    - TSLifecycleHookAdd
    - create_plugin_stats
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - create_lua_vms
    - strncpy
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:365,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:368,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:369,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:373,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:375,1
    - Dst: luaJIT_setmode
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:379,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:380,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:389,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:399,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:407,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:409,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:409,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:413,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:414,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:419,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:420,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:429,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:432,1
    - Dst: ts_lua_script_registered
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:433,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:434,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:438,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:440,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:442,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:454,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:457,1
    - Dst: ts_lua_init_instance
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:462,1
    - Dst: ts_lua_add_module
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:464,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:473,1
    - Dst: ts_lua_script_register
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:474,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:479,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 96
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 485
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - luaJIT_setmode
    - TSMutexLock
    - TSError
    - getopt_long
    - ts_lua_add_module
    - ts_lua_init_instance
    - atoi
    - Dbg
    - ts_lua_script_register
    - snprintf
    - strncpy
    - strlen
    - TSConfigDirGet
    - TSMutexUnlock
    - ts_lua_script_registered
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_lua_del_module
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:491,1
    - Dst: ts_lua_del_instance
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:492,1
    - Dst: static_cast<ts_lua_instance_conf *>
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:492,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:495,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - static_cast<ts_lua_instance_conf *>
    - ts_lua_del_instance
    - Dbg
    - ts_lua_del_module
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(main_ctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:521,1
    - Dst: pthread_getspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:521,1
    - Dst: __sync_fetch_and_add
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:523,1
    - Dst: pthread_setspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:525,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:528,1
    - Dst: ts_lua_create_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:530,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:544,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:545,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:548,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:550,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:551,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:552,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:553,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:554,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:558,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:559,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:560,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:560,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:564,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:567,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:570,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:571,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:573,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:574,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:577,1
    - Dst: TSRemapStatus
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 580
    functionName: ts_lua_remap_plugin_init
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - ts_lua_destroy_http_ctx
    - static_cast<decltype(main_ctx)>
    - TSContMutexGet
    - lua_pop
    - ts_lua_set_cont_info
    - __sync_fetch_and_add
    - TSError
    - TSHttpTxnHookAdd
    - lua_pcall
    - Dbg
    - TSContCreate
    - TSMutexUnlock
    - pthread_setspecific
    - ts_lua_create_http_ctx
    - lua_getglobal
    - TSMutexLock
    - TSContDataSet
    - lua_tointeger
    - TSRemapStatus
    - pthread_getspecific
    - lua_type
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus ts_lua_remap_plugin_init(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:585,1
    - Dst: ts_lua_remap_plugin_init
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ih
    - rh
    - os_response_type
    argTypes:
    - void*
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 7
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: TSRemapOSResponse
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - ts_lua_remap_plugin_init
    - Dbg
    linkageType: ''
    returnType: void
    signature: void TSRemapOSResponse(void *ih, TSHttpTxn rh, int os_response_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:592,1
    - Dst: ts_lua_remap_plugin_init
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 7
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - ts_lua_remap_plugin_init
    - Dbg
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:599,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:600,1
    - Dst: ts_lua_reload_module
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - contp
    - ATS_UNUSED
    - ATS_UNUSED
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: configHandler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ts_lua_reload_module
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int configHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata
      ATS_UNUSED)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:618,1
    - Dst: static_cast<decltype(main_ctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:620,1
    - Dst: pthread_getspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:620,1
    - Dst: __sync_fetch_and_add
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:622,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:623,1
    - Dst: pthread_setspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:625,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:628,1
    - Dst: ts_lua_create_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:630,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:636,1
    - Dst: ts_lua_destroy_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:640,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:641,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:642,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:646,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:647,1
    - Dst: ts_lua_destroy_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:648,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:649,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:651,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:655,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:656,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:656,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:659,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:660,1
    - Dst: ts_lua_destroy_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:662,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:664,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:666,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:668,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 672
    functionName: vconnHookHandler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - __sync_fetch_and_add
    - ts_lua_create_vconn_ctx
    - lua_pop
    - TSMutexLock
    - TSError
    - lua_tostring
    - TSVConnReenable
    - lua_pcall
    - lua_tointeger
    - static_cast<decltype(main_ctx)>
    - Dbg
    - TSContDataGet
    - TSMutexUnlock
    - pthread_setspecific
    - pthread_getspecific
    - lua_type
    - lua_getglobal
    - ts_lua_destroy_vconn_ctx
    linkageType: ''
    returnType: int
    signature: int vconnHookHandler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:693,1
    - Dst: static_cast<decltype(main_ctx)>
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:695,1
    - Dst: pthread_getspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:695,1
    - Dst: __sync_fetch_and_add
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:697,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:698,1
    - Dst: pthread_setspecific
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:700,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:703,1
    - Dst: ts_lua_create_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:705,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:711,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:715,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:722,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:723,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:725,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:729,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:730,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:734,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:740,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:744,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:748,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:752,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:756,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:760,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:764,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:768,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:772,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:776,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:780,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:784,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:785,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:786,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:790,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:791,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:792,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:793,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:795,1
    - Dst: ts_lua_set_cont_info
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:799,1
    - Dst: lua_pcall
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:801,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:802,1
    - Dst: lua_tostring
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:802,1
    - Dst: lua_tointeger
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:805,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:806,1
    - Dst: ts_lua_clear_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:808,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:812,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:813,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:815,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:816,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:819,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:822,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:824,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 102
    argCount: 3
    argNames:
    - contp
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 674
    functionDepth: 6
    functionLinenumber: 674
    functionLinenumberEnd: 828
    functionName: globalHookHandler
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - lua_tostring
    - ts_lua_destroy_http_ctx
    - static_cast<decltype(main_ctx)>
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - TSContMutexGet
    - lua_pop
    - ts_lua_set_cont_info
    - __sync_fetch_and_add
    - TSError
    - TSHttpTxnHookAdd
    - lua_pcall
    - ts_lua_clear_http_ctx
    - Dbg
    - TSContCreate
    - TSMutexUnlock
    - pthread_setspecific
    - TSHttpHdrUrlGet
    - ts_lua_create_http_ctx
    - lua_getglobal
    - TSHttpTxnReenable
    - TSMutexLock
    - TSContDataSet
    - lua_tointeger
    - pthread_getspecific
    - lua_type
    linkageType: ''
    returnType: int
    signature: int globalHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void
      *edata)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:839,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:840,1
    - Dst: create_lua_vms
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:844,1
    - Dst: pthread_key_create
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:846,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:848,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:848,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:849,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:850,1
    - Dst: create_plugin_stats
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:852,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:855,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:855,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:856,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:857,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:878,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:881,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:885,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:887,1
    - Dst: luaJIT_setmode
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:891,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:892,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:899,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:909,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:914,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:918,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:919,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:923,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:925,1
    - Dst: memset
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:928,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:933,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:935,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:935,1
    - Dst: ts_lua_init_instance
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:938,1
    - Dst: ts_lua_add_module
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:943,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:946,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:947,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:951,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:953,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:956,1
    - Dst: ts_lua_create_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:960,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:963,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:964,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:965,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:966,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:968,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:970,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:971,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:972,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:973,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:975,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:977,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:978,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:979,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:980,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:982,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:984,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:985,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:986,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:987,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:989,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:991,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:992,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:993,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:994,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:996,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:998,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:999,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1000,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1001,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1003,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1005,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1006,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1007,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1008,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1010,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1012,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1013,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1014,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1015,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1017,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1019,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1020,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1021,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1022,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1024,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1026,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1027,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1028,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1029,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1031,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1033,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1034,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1035,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1036,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1038,1
    - Dst: ts_lua_destroy_http_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1040,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1042,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1044,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1047,1
    - Dst: ts_lua_create_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1050,1
    - Dst: lua_getglobal
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1053,1
    - Dst: lua_type
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1054,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1055,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1056,1
    - Dst: lua_pop
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1058,1
    - Dst: ts_lua_destroy_vconn_ctx
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1060,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1064,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1066,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1069,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/lua/ts_lua.cc:1071,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 169
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 830
    functionDepth: 6
    functionLinenumber: 830
    functionLinenumberEnd: 1073
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/lua/ts_lua.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - luaJIT_setmode
    - TSMgmtUpdateRegister
    - create_plugin_stats
    - ts_lua_destroy_http_ctx
    - create_lua_vms
    - snprintf
    - TSConfigDirGet
    - TSContScheduleOnPool
    - ts_lua_destroy_vconn_ctx
    - TSPluginRegister
    - pthread_key_create
    - lua_pop
    - TSHttpHookAdd
    - ts_lua_create_vconn_ctx
    - TSError
    - getopt_long
    - ts_lua_add_module
    - ts_lua_init_instance
    - atoi
    - Dbg
    - TSContCreate
    - strlen
    - ts_lua_create_http_ctx
    - TSMutexCreate
    - lua_getglobal
    - memset
    - TSLifecycleHookAdd
    - TSContDataSet
    - TSEmergency
    - lua_type
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:44,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:45,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:46,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:51,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:63,1
    - Dst: BgFetchConfig::readConfig
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:70,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: BgFetchConfig::parseOptions
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.cc
    functionUses: 0
    functionsReached:
    - getopt_long
    - TSError
    - BgFetchConfig::readConfig
    - const_cast<char *>
    - const_cast<char *const *>
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool BgFetchConfig::parseOptions(int argc, const char *argv[])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:94,1
    - Dst: swoc::file::path::is_absolute
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:96,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:97,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:99,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:99,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:102,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:104,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:105,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:105,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:106,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:106,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:112,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:114,1
    - Dst: auto::front
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:114,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:118,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:123,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:123,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:123,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:126,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:128,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:129,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:130,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:130,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:134,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:134,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:135,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:135,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:139,1
    - Dst: auto::front
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:139,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:140,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:141,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:141,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:142,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:148,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:148,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:156,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:156,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:157,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:162,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:163,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:163,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:164,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:164,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:165,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:168,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:171,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:171,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:173,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:174,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:175,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:175,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:178,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:178,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:183,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 1
    argNames:
    - config_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 186
    functionName: BgFetchConfig::readConfig
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - get_yaml_path
    - swoc::IPRange::load
    - TSConfigDirGet
    - swoc::SWOC_VERSION_NS::file::load
    - auto::size
    - strcasecmp
    - auto::data
    - swoc::TextView::size
    - swoc::SWOC_VERSION_NS::bwprint
    - swoc::SWOC_VERSION_NS::svtou
    - emplace_back
    - TSError
    - Dbg
    - auto::front
    - swoc::file::path::c_str
    - swoc::file::path::is_absolute
    - auto::take_prefix_if
    - c_str
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool BgFetchConfig::readConfig(const char *config_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:195,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:196,1
    - Dst: check_field_configured
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:204,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/configs.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: BgFetchConfig::bgFetchAllowed
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    - Dbg
    - check_field_configured
    linkageType: ''
    returnType: bool
    signature: bool BgFetchConfig::bgFetchAllowed(TSHttpTxn txnp) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:45,1
    - Dst: swoc::IPRange::empty
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:50,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:56,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:57,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:57,1
    - Dst: swoc::IPEndpoint::family
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:59,1
    - Dst: swoc::IPRange::family
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:59,1
    - Dst: swoc::IPRange::is_ip4
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:60,1
    - Dst: swoc::IPRange::ip4
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:60,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:60,1
    - Dst: swoc::IPEndpoint::ip4
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:60,1
    - Dst: swoc::IPRange::is_ip6
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:61,1
    - Dst: swoc::IPRange::ip6
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:61,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:61,1
    - Dst: swoc::IPEndpoint::ip6
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - txnp
    - range
    argTypes:
    - TSHttpTxn
    - swoc::IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: check_value
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.cc
    functionUses: 0
    functionsReached:
    - swoc::IPRange::is_ip6
    - swoc::IPRange::empty
    - swoc::IPRange::ip6
    - swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    - swoc::SWOC_VERSION_NS::IP6Addr::IP6Addr
    - Dbg
    - swoc::IPRange::family
    - c_str
    - swoc::IPRange::ip4
    - swoc::IPEndpoint::ip4
    - swoc::IPEndpoint::family
    - swoc::IPEndpoint::ip6
    - swoc::IPRange::is_ip4
    - swoc::SWOC_VERSION_NS::bwprint
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: bool
    signature: bool check_value(TSHttpTxn txnp, swoc::IPRange const &range)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:73,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:74,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:80,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:84,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - txnp
    - cmp
    argTypes:
    - TSHttpTxn
    - BgFetchRule::size_cmp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: check_value
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - Dbg
    - TSHttpTxnServerRespGet
    - TSMimeHdrFieldValueUintGet
    linkageType: ''
    returnType: bool
    signature: bool check_value(TSHttpTxn txnp, BgFetchRule::size_cmp_type const &cmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:102,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:103,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:107,1
    - Dst: BgFetchRule::field_cmp_type::_name::data
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:107,1
    - Dst: BgFetchRule::field_cmp_type::_name::size
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:107,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:110,1
    - Dst: BgFetchRule::field_cmp_type::_name::c_str
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:110,1
    - Dst: BgFetchRule::field_cmp_type::_name::size
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:114,1
    - Dst: BgFetchRule::field_cmp_type::_name::front
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:114,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:115,1
    - Dst: BgFetchRule::field_cmp_type::_name::c_str
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:115,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:126,1
    - Dst: BgFetchRule::field_cmp_type::_value::c_str
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:126,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:127,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - txnp
    - cmp
    argTypes:
    - TSHttpTxn
    - BgFetchRule::field_cmp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: check_value
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - BgFetchRule::field_cmp_type::_name::c_str
    - TSError
    - TSMimeHdrFieldValueStringGet
    - BgFetchRule::field_cmp_type::_name::size
    - Dbg
    - BgFetchRule::field_cmp_type::_name::front
    - BgFetchRule::field_cmp_type::_value::c_str
    - TSHttpTxnClientReqGet
    - std::string_view
    - BgFetchRule::field_cmp_type::_name::data
    linkageType: ''
    returnType: bool
    signature: bool check_value(TSHttpTxn txnp, BgFetchRule::field_cmp_type const
      &cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:139,1
    - Dst: check_value
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:140,1
    - Dst: check_value
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:141,1
    - Dst: check_value
      Src: /src/trafficserver/plugins/background_fetch/rules.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: BgFetchRule::check_field_configured
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.cc
    functionUses: 0
    functionsReached:
    - std::visit
    - check_value
    linkageType: ''
    returnType: bool
    signature: bool BgFetchRule::check_field_configured(TSHttpTxn txnp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/background_fetch/configs.h:49,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/background_fetch/configs.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: BgFetchConfig::BgFetchConfig
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void BgFetchConfig(TSCont cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/background_fetch/configs.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ~BgFetchConfig()
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: "&\n  getRules() const"
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: list_type
    signature: "list_type &\n  getRules() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: BgFetchConfig::getCont
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont getCont() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: "&\n  logFile() const"
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  logFile() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: BgFetchConfig::allow304
    functionSourceFile: /src/trafficserver/plugins/background_fetch/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow304() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: BgFetchState::BgFetchState
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: BgFetchState::BgFetchState
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchState(BgFetchState const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator=(BgFetchState const &)
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(BgFetchState const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BgFetchState::BgFetchState
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: "&\n  getInstance()"
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetchState::BgFetchState
    linkageType: ''
    returnType: BgFetchState
    signature: "BgFetchState &\n  getInstance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: ~BgFetchState()
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:82,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:82,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:83,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:83,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:83,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:85,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - log_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: BgFetchState::createLog
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSAssert
    - TSTextLogObjectCreate
    - Dbg
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void createLog(const std::string &log_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: BgFetchState::getLog
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSTextLogObject
    signature: TSTextLogObject getLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:100,1
    - Dst: end
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:101,1
    - Dst: find
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:101,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:107,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:109,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: BgFetchState::acquire
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 2
    functionsReached:
    - TSMutexLock
    - find
    - end
    - Dbg
    - TSMutexUnlock
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool acquire(const std::string &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:119,1
    - Dst: end
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:120,1
    - Dst: find
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:120,1
    - Dst: erase
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:123,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: BgFetchState::release
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 2
    functionsReached:
    - erase
    - TSMutexLock
    - find
    - end
    - TSMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool release(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: BgFetchData
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void BgFetchData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:146,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:147,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:149,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:152,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:153,1
    - Dst: releaseUrl
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:159,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:161,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:163,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:164,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:165,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: ~BgFetchData()
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - releaseUrl
    - TSHandleMLocRelease
    - TSIOBufferReaderFree
    - TSError
    - TSContDestroy
    - TSIOBufferDestroy
    - TSMBufferDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: acquireUrl
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: bool
    signature: bool acquireUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: releaseUrl
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 1
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: bool
    signature: bool releaseUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: getUrl
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 5
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getUrl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: addBytes
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addBytes(int64_t b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:230,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:233,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:234,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:238,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:240,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:242,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:245,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:249,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:250,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:254,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:255,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:262,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:263,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:264,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:265,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:266,1
    - Dst: assign
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:271,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:272,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:272,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:274,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:276,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:278,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:279,1
    - Dst: remove_header
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:284,1
    - Dst: data
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:284,1
    - Dst: size
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:284,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:285,1
    - Dst: data
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:285,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:294,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - request
    - req_hdr
    - txnp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 299
    functionName: BgFetchData::initialize
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSHandleMLocRelease
    - static_cast<void *>
    - set_header
    - TSAssert
    - TSHttpHdrUrlSet
    - TSUrlClone
    - assign
    - size
    - TSUrlStringGet
    - TSfree
    - TSHttpTxnPristineUrlGet
    - data
    - TSUrlCreate
    - TSError
    - Dbg
    - TSHttpTxnClientAddrGet
    - TSHttpHdrCopy
    - TSHttpTxnCacheLookupUrlGet
    - TSHttpHdrCreate
    - remove_header
    - TSUrlHostGet
    linkageType: ''
    returnType: bool
    signature: bool BgFetchData::initialize(TSMBuffer request, TSMLoc req_hdr, TSHttpTxn
      txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:307,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:310,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:310,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:311,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:311,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:314,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:315,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:316,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:317,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 321
    functionName: BgFetchData::schedule
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSAssert
    - TSContDataSet
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void BgFetchData::schedule()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:328,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:330,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:352,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:352,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:354,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 357
    functionName: BgFetchData::log
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - 'on'
    - Dbg
    - c_str
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: void
    signature: void BgFetchData::log(TSEvent event) const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BgFetchData *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:366,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:366,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:373,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:375,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:379,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:380,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:384,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:387,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:390,1
    - Dst: dump_headers
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:391,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:395,1
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:396,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:396,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:397,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:399,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:401,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:402,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:402,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:405,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:412,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:416,1
    - Dst: BgFetchData*::addBytes
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:417,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:418,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:419,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:419,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:420,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:428,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:429,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:431,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:434,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:434,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:435,1
    - Dst: BgFetchData*::addBytes
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:436,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:437,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:438,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:438,1
    - Dst: BgFetchData*::log
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:439,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:447,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 452
    functionName: cont_bg_fetch
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - TSAssert
    - TSVIOReenable
    - TSVConnWrite
    - TSVConnAbort
    - TSVConnRead
    - TSContDataGet
    - reinterpret_cast<const sockaddr *>
    - TSVIONDoneGet
    - BgFetchData*::log
    - TSVConnClose
    - BgFetchData*::addBytes
    - TSIOBufferReaderConsume
    - TSHttpHdrPrint
    - TSIOBufferReaderAvail
    - TSError
    - reinterpret_cast<sockaddr *>
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - Dbg
    - dump_headers
    - static_cast<BgFetchData *>
    - TSVIONDoneSet
    - 'on'
    - TSHttpConnectWithPluginId
    linkageType: ''
    returnType: int
    signature: int cont_bg_fetch(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:463,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:467,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:468,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:470,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:471,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:472,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:474,1
    - Dst: BgFetchData::BgFetchData
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:476,1
    - Dst: BgFetchData*::initialize
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:479,1
    - Dst: BgFetchData*::acquireUrl
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:479,1
    - Dst: BgFetchData*::schedule
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:480,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:486,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:489,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:493,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: cont_check_cacheable
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetchData::BgFetchData
    - TSHandleMLocRelease
    - TSHttpTxnIsCacheable
    - TSContDestroy
    - TSHttpHdrStatusSet
    - Dbg
    - BgFetchData*::schedule
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - BgFetchData*::acquireUrl
    - BgFetchData*::initialize
    linkageType: ''
    returnType: int
    signature: int cont_check_cacheable(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:514,1
    - Dst: static_cast<BgFetchConfig *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:515,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:515,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:519,1
    - Dst: BgFetchConfig*::bgFetchAllowed
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:523,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:527,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:532,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:533,1
    - Dst: BgFetchConfig*::allow304
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:534,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:536,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:538,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:541,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:546,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:547,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:553,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 510
    functionDepth: 5
    functionLinenumber: 510
    functionLinenumberEnd: 555
    functionName: cont_handle_response
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetchConfig*::allow304
    - TSHandleMLocRelease
    - BgFetchConfig*::bgFetchAllowed
    - TSError
    - TSHttpHdrStatusGet
    - TSHttpTxnHookAdd
    - Dbg
    - static_cast<BgFetchConfig *>
    - TSContCreate
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnServerRespGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int cont_handle_response(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:568,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:569,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:572,1
    - Dst: BgFetchConfig::BgFetchConfig
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:574,1
    - Dst: parseOptions
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:576,1
    - Dst: logFile
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:579,1
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:580,1
    - Dst: logFile
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:580,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:582,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:583,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 588
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSError
    - BgFetchConfig::BgFetchConfig
    - TSHttpHookAdd
    - parseOptions
    - Dbg
    - TSContCreate
    - logFile
    - TLSSNISupport::getInstance
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:598,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:609,1
    - Dst: BgFetchConfig::BgFetchConfig
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:610,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:621,1
    - Dst: BgFetchConfig*::readConfig
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:622,1
    - Dst: BgFetchConfig*::parseOptions
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:626,1
    - Dst: const_cast<const char **>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:626,1
    - Dst: BgFetchConfig*::logFile
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:628,1
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:629,1
    - Dst: BgFetchConfig*::logFile
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 645
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - BgFetchConfig*::readConfig
    - const_cast<const char **>
    - BgFetchConfig*::parseOptions
    - BgFetchConfig::BgFetchConfig
    - Dbg
    - BgFetchConfig*::logFile
    - TSContCreate
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf */, int /* errbuf_size */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BgFetchConfig *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - static_cast<BgFetchConfig *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:667,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:668,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:671,1
    - Dst: static_cast<BgFetchConfig *>
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:675,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:677,1
    - Dst: BgFetchConfig*::getCont
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:677,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:678,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:679,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/background_fetch.cc:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 685
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/background_fetch/background_fetch.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - BgFetchConfig*::getCont
    - TSHandleMLocRelease
    - TSHttpTxnHookAdd
    - Dbg
    - static_cast<BgFetchConfig *>
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - exc
    - op
    - n
    argTypes:
    - bool
    - size_cmp_type::OP
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: BgFetchRule::BgFetchRule
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchRule(bool exc, size_cmp_type::OP op, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exc
    - range
    argTypes:
    - bool
    - swoc::IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: BgFetchRule::BgFetchRule
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchRule(bool exc, swoc::IPRange const &range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/background_fetch/rules.h:63,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/background_fetch/rules.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - exc
    - name
    - value
    argTypes:
    - bool
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: BgFetchRule::BgFetchRule
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void BgFetchRule(bool exc, swoc::TextView name, swoc::TextView value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: BgFetchRule::BgFetchRule
    functionSourceFile: /src/trafficserver/plugins/background_fetch/rules.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchRule(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:35,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:39,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:42,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - header
    - len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: remove_header
    functionSourceFile: /src/trafficserver/plugins/background_fetch/headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int remove_header(TSMBuffer bufp, TSMLoc hdr_loc, const char *header,
      int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:62,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:66,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:67,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:68,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:71,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:78,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:81,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:85,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - bufp
    - hdr_loc
    - header
    - len
    - val
    - val_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/background_fetch/headers.cc
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char *header,
      int len, const char *val, int val_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:100,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:101,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:105,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:108,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:112,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:112,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:114,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:115,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:119,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/background_fetch/headers.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - hdr_loc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: dump_headers
    functionSourceFile: /src/trafficserver/plugins/background_fetch/headers.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSMimeHdrPrint
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - Dbg
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void dump_headers(TSMLoc hdr_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:60,1
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:63,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:65,1
    - Dst: mkdir
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:66,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:68,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:68,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:72,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: make_state_path
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - TSError
    - mkdir
    - TSstrdup
    - TSInstallDirGet
    - snprintf
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      make_state_path(const char *filename)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:83,1
    - Dst: fscanf
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:87,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:89,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:91,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:91,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - purge
    argTypes:
    - PurgeInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: init_purge_instance
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - fscanf
    - TSError
    - fclose
    - fopen
    - Dbg
    - TSMutexCreate
    - strerror
    linkageType: ''
    returnType: void
    signature: void init_purge_instance(PurgeInstance *purge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:101,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:102,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:103,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:104,1
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:105,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - purge
    argTypes:
    - PurgeInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: delete_purge_instance
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    - TSfree
    linkageType: ''
    returnType: void
    signature: void delete_purge_instance(PurgeInstance *purge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:120,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:123,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:124,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:125,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:127,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - purge
    argTypes:
    - PurgeInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: update_purge_state
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - TSMutexLock
    - TSError
    - fclose
    - fopen
    - Dbg
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void update_purge_state(PurgeInstance *purge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:141,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:142,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:144,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:146,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:147,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:148,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:148,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:150,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:151,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:153,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - txnp
    - contp
    - purge
    argTypes:
    - TSHttpTxn
    - TSCont
    - PurgeInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: on_send_response_header
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrReasonSet
    - TSstrdup
    - TSContDestroy
    - TSHttpHdrStatusSet
    - Dbg
    - snprintf
    - TSHttpTxnErrorBodySet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode on_send_response_header(TSHttpTxn txnp, TSCont contp,
      PurgeInstance *purge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:166,1
    - Dst: on_send_response_header
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 6
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: purge_cont
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContDataGet
    - on_send_response_header
    linkageType: ''
    returnType: int
    signature: int purge_cont(TSCont contp, TSEvent event, void *edata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:188,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:190,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:195,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:202,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:203,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:206,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:210,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:214,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:224,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:228,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:232,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:237,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:237,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:239,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:240,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:241,1
    - Dst: update_purge_state
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:242,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:244,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:245,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - txnp
    - purge
    argTypes:
    - TSHttpTxn
    - PurgeInstance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 247
    functionName: handle_purge
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - memcmp
    - TSUrlPathGet
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - TSMimeHdrFieldValueStringGet
    - TSHttpTxnHookAdd
    - TSContDataSet
    - Dbg
    - TSHttpTxnConfigIntSet
    - TSContCreate
    - TSHttpTxnClientReqGet
    - update_purge_state
    - TSHttpHdrUrlGet
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void handle_purge(TSHttpTxn txnp, PurgeInstance *purge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:260,1
    - Dst: memset
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:270,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:279,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:290,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:291,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:294,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:297,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:298,1
    - Dst: make_state_path
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:301,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:307,1
    - Dst: delete_purge_instance
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:308,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:312,1
    - Dst: init_purge_instance
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 318
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - memset
    - init_purge_instance
    - TSRalloc
    - getopt_long
    - TSError
    - TSstrdup
    - strlen
    - delete_purge_instance
    - make_state_path
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_purge_instance
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - delete_purge_instance
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_purge
      Src: /src/trafficserver/plugins/remap_purge/remap_purge.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/remap_purge/remap_purge.cc
    functionUses: 0
    functionsReached:
    - handle_purge
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/trafficserver/plugins/libloader/libloader.cc:48,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/libloader/libloader.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: unloadlibs
    functionSourceFile: /src/trafficserver/plugins/libloader/libloader.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - dlclose
    linkageType: ''
    returnType: void
    signature: void unloadlibs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/libloader/libloader.cc:65,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/libloader/libloader.cc:66,1
    - Dst: atexit
      Src: /src/trafficserver/plugins/libloader/libloader.cc:70,1
    - Dst: dlopen
      Src: /src/trafficserver/plugins/libloader/libloader.cc:76,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/libloader/libloader.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/libloader/libloader.cc:82,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/libloader/libloader.cc:84,1
    - Dst: dlerror
      Src: /src/trafficserver/plugins/libloader/libloader.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/libloader/libloader.cc
    functionUses: 0
    functionsReached:
    - dlerror
    - TSRalloc
    - TSError
    - Dbg
    - dlopen
    - atexit
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: DEBUG_LOG
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_LOG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ERROR_LOG
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERROR_LOG(fmt, ...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:108,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:110,1
    - Dst: pluginconfig::pluginconfig
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:113,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:116,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:121,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:122,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:123,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:124,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:125,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:126,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:127,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:128,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:137,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:144,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:148,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:152,1
    - Dst: pluginconfig*::ims_header::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:153,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:157,1
    - Dst: pluginconfig*::ident_header::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:158,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:162,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:166,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:170,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:174,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:183,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:184,1
    - Dst: pluginconfig*::ims_header::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:188,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:190,1
    - Dst: pluginconfig*::ims_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:190,1
    - Dst: pluginconfig*::ident_header::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:193,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:195,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:195,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: create_pluginconfig
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - pluginconfig*::ident_header::empty
    - getopt_long
    - DEBUG_LOG
    - const_cast<char *>
    - ERROR_LOG
    - pluginconfig*::ims_header::assign
    - pluginconfig*::ident_header::assign
    - pluginconfig*::ident_header::c_str
    - pluginconfig*::ims_header::empty
    - pluginconfig*::ims_header::c_str
    - pluginconfig::pluginconfig
    linkageType: ''
    returnType: pluginconfig
    signature: 'pluginconfig *

      create_pluginconfig(int argc, char *const argv[])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pc
    argTypes:
    - pluginconfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: delete_pluginconfig
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void delete_pluginconfig(pluginconfig *const pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:219,1
    - Dst: has_skip_crr_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:221,1
    - Dst: range_header_check
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:222,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: handle_read_request_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - has_skip_crr_header
    - TSHttpTxnReenable
    - range_header_check
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int handle_read_request_header(TSCont /* txn_contp ATS_UNUSED */, TSEvent
      /* event ATS_UNUSED */, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:236,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:239,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: has_skip_crr_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - length
    - TSHttpTxnClientReqGet
    - data
    linkageType: ''
    returnType: bool
    signature: bool has_skip_crr_header(TSHttpTxn txnp)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:263,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:264,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:267,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:270,1
    - Dst: txndata::txndata
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:272,1
    - Dst: txndata*::range_value::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:273,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:276,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:276,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:286,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:287,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:288,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:290,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:296,1
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:297,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:298,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:299,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:300,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:301,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:310,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:311,1
    - Dst: TSHttpTxnParentSelectionUrlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:312,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:313,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:315,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: pluginconfig*::ims_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: pluginconfig*::ims_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:324,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:325,1
    - Dst: pluginconfig*::ims_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:325,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:326,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: pluginconfig*::ident_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: pluginconfig*::ident_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:338,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:338,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:339,1
    - Dst: remove_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:349,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:350,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:354,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:355,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:356,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:357,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:358,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:359,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:362,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:363,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:369,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:373,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:375,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:377,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - txnp
    - pc
    argTypes:
    - TSHttpTxn
    - pluginconfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 379
    functionName: range_header_check
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnParentSelectionUrlSet
    - ERROR_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - snprintf
    - TSHttpTxnClientReqGet
    - txndata::txndata
    - size
    - TSMimeHdrFieldFind
    - TSfree
    - DEBUG_LOG
    - TSUrlParse
    - txndata*::range_value::assign
    - data
    - TSUrlCreate
    - pluginconfig*::ims_header::data
    - std::string::c_str
    - pluginconfig*::ident_header::size
    - pluginconfig*::ident_header::data
    - TSHttpTxnHookAdd
    - TSMimeHdrFieldValueDateGet
    - TSContCreate
    - pluginconfig*::ims_header::c_str
    - TSMimeHdrFieldValueStringGet
    - TSCacheUrlSet
    - TSContDataSet
    - remove_header
    - pluginconfig*::ims_header::size
    - pluginconfig*::ident_header::c_str
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void range_header_check(TSHttpTxn txnp, pluginconfig *const pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:392,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:393,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:397,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:397,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:399,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:399,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:400,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - txnp
    - txn_state
    argTypes:
    - TSCont
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: handle_send_origin_request
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - std::string::size
    - std::string::data
    - ERROR_LOG
    - std::string::empty
    - set_header
    - DEBUG_LOG
    - TSHttpTxnHookAdd
    - TSHttpTxnServerReqGet
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void handle_send_origin_request(TSCont contp, TSHttpTxn txnp, txndata
      *const txn_state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:418,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:419,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:425,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:428,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:430,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:432,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:436,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:439,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:443,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:444,1
    - Dst: remove_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:450,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:453,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:455,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:459,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:462,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:465,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:466,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:466,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 474
    functionName: handle_client_send_response
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrStatusGet
    - std::string::size
    - DEBUG_LOG
    - set_header
    - std::string::empty
    - std::string::data
    - TSHttpHdrStatusSet
    - remove_header
    - TSHttpTxnClientReqGet
    - data
    - size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void handle_client_send_response(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:488,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:489,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:492,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:494,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:495,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:497,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:498,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:499,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:505,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:506,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:510,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:511,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:513,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:519,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:520,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:525,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 527
    functionName: handle_server_read_response
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrStatusGet
    - TSHttpTxnIsCacheable
    - DEBUG_LOG
    - TSHttpTxnCacheLookupStatusGet
    - TSHttpHdrStatusSet
    - TSHttpTxnServerRespGet
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void handle_server_read_response(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:538,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:542,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:545,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - hdr_loc
    - header
    - len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 535
    functionDepth: 5
    functionLinenumber: 535
    functionLinenumberEnd: 551
    functionName: remove_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int remove_header(TSMBuffer buf, TSMLoc hdr_loc, const char *header,
      int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:567,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:569,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:573,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:574,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:575,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:578,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:584,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:587,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:591,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:593,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - buf
    - hdr_loc
    - header
    - len
    - val
    - val_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 560
    functionDepth: 5
    functionLinenumber: 560
    functionLinenumberEnd: 599
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 5
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - DEBUG_LOG
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer buf, TSMLoc hdr_loc, const char *header,
      int len, const char *val, int val_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:608,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:609,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:611,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:612,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 618
    functionName: get_date_from_cached_hdr
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHttpTxnCachedRespGet
    - TSMimeHdrFieldValueDateGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: time_t
    signature: time_t get_date_from_cached_hdr(TSHttpTxn txn)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:627,1
    - Dst: get_date_from_cached_hdr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:629,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:630,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:630,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:631,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:633,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:634,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:636,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:639,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:639,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:641,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:647,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:652,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:653,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:657,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: pluginconfig*::ident_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: pluginconfig*::ident_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:660,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:660,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:663,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:668,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:668,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:669,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:671,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:671,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:672,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:676,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:680,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:685,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:686,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:687,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:689,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:693,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:695,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:698,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 623
    functionDepth: 5
    functionLinenumber: 623
    functionLinenumberEnd: 702
    functionName: handle_cache_lookup_complete
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - std::string_view::rfind
    - TSHttpTxnEffectiveUrlStringGet
    - TSHttpTxnClientReqGet
    - std::string_view::data
    - TSMimeHdrFieldFind
    - TSfree
    - TSHttpHdrStatusGet
    - TSHttpTxnCacheLookupStatusGet
    - DEBUG_LOG
    - std::string_view::substr
    - length
    - std::string_view::size
    - std::string::c_str
    - pluginconfig*::ident_header::size
    - get_date_from_cached_hdr
    - pluginconfig*::ident_header::data
    - TSHttpTxnCacheLookupStatusSet
    - static_cast<intmax_t>
    - 'on'
    - TSMimeHdrFieldValueStringGet
    - std::string_view::empty
    - pluginconfig*::ident_header::c_str
    - TSHttpTxnCachedRespGet
    linkageType: ''
    returnType: void
    signature: void handle_cache_lookup_complete(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:710,1
    - Dst: static_cast<txndata *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:711,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:711,1
    - Dst: handle_server_read_response
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:715,1
    - Dst: handle_send_origin_request
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:718,1
    - Dst: handle_client_send_response
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:721,1
    - Dst: handle_cache_lookup_complete
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:724,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:728,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:731,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:734,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 739
    functionName: transaction_handler
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - handle_server_read_response
    - handle_send_origin_request
    - handle_client_send_response
    - static_cast<txndata *>
    - TSContDestroy
    - handle_cache_lookup_complete
    - TSContDataSet
    - TSAssert
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transaction_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:108,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:110,1
    - Dst: pluginconfig::pluginconfig
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:113,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:116,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:121,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:122,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:123,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:124,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:125,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:126,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:127,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:128,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:137,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:144,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:148,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:152,1
    - Dst: pluginconfig*::ims_header::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:153,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:157,1
    - Dst: pluginconfig*::ident_header::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:158,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:162,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:166,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:170,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:174,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:183,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:184,1
    - Dst: pluginconfig*::ims_header::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:188,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:190,1
    - Dst: pluginconfig*::ims_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:190,1
    - Dst: pluginconfig*::ident_header::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:193,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:195,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:195,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: create_pluginconfig
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - pluginconfig*::ident_header::empty
    - getopt_long
    - DEBUG_LOG
    - const_cast<char *>
    - ERROR_LOG
    - pluginconfig*::ims_header::assign
    - pluginconfig*::ident_header::assign
    - pluginconfig*::ident_header::c_str
    - pluginconfig*::ims_header::empty
    - pluginconfig*::ims_header::c_str
    - pluginconfig::pluginconfig
    linkageType: ''
    returnType: pluginconfig
    signature: 'pluginconfig *

      create_pluginconfig(int argc, char *const argv[])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pc
    argTypes:
    - pluginconfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: delete_pluginconfig
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    linkageType: ''
    returnType: void
    signature: void delete_pluginconfig(pluginconfig *const pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:219,1
    - Dst: has_skip_crr_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:221,1
    - Dst: range_header_check
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:222,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: handle_read_request_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - has_skip_crr_header
    - TSHttpTxnReenable
    - range_header_check
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int handle_read_request_header(TSCont /* txn_contp ATS_UNUSED */, TSEvent
      /* event ATS_UNUSED */, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:236,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:237,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:239,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: has_skip_crr_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - length
    - TSHttpTxnClientReqGet
    - data
    linkageType: ''
    returnType: bool
    signature: bool has_skip_crr_header(TSHttpTxn txnp)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:263,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:264,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:267,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:270,1
    - Dst: txndata::txndata
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:272,1
    - Dst: txndata*::range_value::assign
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:273,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:276,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:276,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:286,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:287,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:288,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:290,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:296,1
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:297,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:298,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:299,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:300,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:301,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:310,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:311,1
    - Dst: TSHttpTxnParentSelectionUrlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:312,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:313,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:315,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: pluginconfig*::ims_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: pluginconfig*::ims_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:322,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:324,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:325,1
    - Dst: pluginconfig*::ims_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:325,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:326,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: pluginconfig*::ident_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: pluginconfig*::ident_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:336,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:338,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:338,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:339,1
    - Dst: remove_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:349,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:350,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:354,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:355,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:356,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:357,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:358,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:359,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:362,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:363,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:367,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:369,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:373,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:375,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:377,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - txnp
    - pc
    argTypes:
    - TSHttpTxn
    - pluginconfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 379
    functionName: range_header_check
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 2
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnParentSelectionUrlSet
    - ERROR_LOG
    - TSHttpTxnEffectiveUrlStringGet
    - snprintf
    - TSHttpTxnClientReqGet
    - txndata::txndata
    - size
    - TSMimeHdrFieldFind
    - TSfree
    - DEBUG_LOG
    - TSUrlParse
    - txndata*::range_value::assign
    - data
    - TSUrlCreate
    - pluginconfig*::ims_header::data
    - std::string::c_str
    - pluginconfig*::ident_header::size
    - pluginconfig*::ident_header::data
    - TSHttpTxnHookAdd
    - TSMimeHdrFieldValueDateGet
    - TSContCreate
    - pluginconfig*::ims_header::c_str
    - TSMimeHdrFieldValueStringGet
    - TSCacheUrlSet
    - TSContDataSet
    - remove_header
    - pluginconfig*::ims_header::size
    - pluginconfig*::ident_header::c_str
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void range_header_check(TSHttpTxn txnp, pluginconfig *const pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:392,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:393,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:397,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:397,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:398,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:399,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:399,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:400,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - txnp
    - txn_state
    argTypes:
    - TSCont
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: handle_send_origin_request
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - std::string::size
    - std::string::data
    - ERROR_LOG
    - std::string::empty
    - set_header
    - DEBUG_LOG
    - TSHttpTxnHookAdd
    - TSHttpTxnServerReqGet
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void handle_send_origin_request(TSCont contp, TSHttpTxn txnp, txndata
      *const txn_state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:418,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:419,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:425,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:428,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:430,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:432,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:436,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:439,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:443,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:444,1
    - Dst: remove_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:447,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:449,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:450,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:453,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:455,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:459,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:462,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:465,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:466,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:466,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:467,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 474
    functionName: handle_client_send_response
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrStatusGet
    - std::string::size
    - DEBUG_LOG
    - set_header
    - std::string::empty
    - std::string::data
    - TSHttpHdrStatusSet
    - remove_header
    - TSHttpTxnClientReqGet
    - data
    - size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void handle_client_send_response(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:488,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:489,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:492,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:494,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:495,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:497,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:498,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:499,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:505,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:506,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:510,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:511,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:513,1
    - Dst: TSHttpTxnIsCacheable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:519,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:520,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:525,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 527
    functionName: handle_server_read_response
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrStatusGet
    - TSHttpTxnIsCacheable
    - DEBUG_LOG
    - TSHttpTxnCacheLookupStatusGet
    - TSHttpHdrStatusSet
    - TSHttpTxnServerRespGet
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: void
    signature: void handle_server_read_response(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:538,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:542,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:545,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - hdr_loc
    - header
    - len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 535
    functionDepth: 5
    functionLinenumber: 535
    functionLinenumberEnd: 551
    functionName: remove_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 5
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int remove_header(TSMBuffer buf, TSMLoc hdr_loc, const char *header,
      int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:567,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:569,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:573,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:574,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:575,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:578,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:584,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:587,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:591,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:593,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - buf
    - hdr_loc
    - header
    - len
    - val
    - val_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 560
    functionDepth: 5
    functionLinenumber: 560
    functionLinenumberEnd: 599
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 7
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - DEBUG_LOG
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer buf, TSMLoc hdr_loc, const char *header,
      int len, const char *val, int val_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:608,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:609,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:611,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:612,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 618
    functionName: get_date_from_cached_hdr
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHttpTxnCachedRespGet
    - TSMimeHdrFieldValueDateGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: time_t
    signature: time_t get_date_from_cached_hdr(TSHttpTxn txn)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:627,1
    - Dst: get_date_from_cached_hdr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:629,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:630,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:630,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:631,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:633,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:634,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:636,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:639,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:639,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:641,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:647,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:652,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:653,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:657,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: pluginconfig*::ident_header::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: pluginconfig*::ident_header::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:658,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:660,1
    - Dst: pluginconfig*::ident_header::c_str
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:660,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:663,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:668,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:668,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:669,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:671,1
    - Dst: length
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:671,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:672,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:676,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:677,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:680,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:683,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:685,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:686,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:687,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:689,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:693,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:695,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:698,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - txnp
    - txn_state
    argTypes:
    - TSHttpTxn
    - txndata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 623
    functionDepth: 5
    functionLinenumber: 623
    functionLinenumberEnd: 702
    functionName: handle_cache_lookup_complete
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - std::string_view::rfind
    - TSHttpTxnEffectiveUrlStringGet
    - TSHttpTxnClientReqGet
    - std::string_view::data
    - TSMimeHdrFieldFind
    - TSfree
    - TSHttpHdrStatusGet
    - TSHttpTxnCacheLookupStatusGet
    - DEBUG_LOG
    - std::string_view::substr
    - length
    - std::string_view::size
    - std::string::c_str
    - pluginconfig*::ident_header::size
    - get_date_from_cached_hdr
    - pluginconfig*::ident_header::data
    - TSHttpTxnCacheLookupStatusSet
    - static_cast<intmax_t>
    - 'on'
    - TSMimeHdrFieldValueStringGet
    - std::string_view::empty
    - pluginconfig*::ident_header::c_str
    - TSHttpTxnCachedRespGet
    linkageType: ''
    returnType: void
    signature: void handle_cache_lookup_complete(TSHttpTxn txnp, txndata *const txn_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:710,1
    - Dst: static_cast<txndata *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:711,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:711,1
    - Dst: handle_server_read_response
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:715,1
    - Dst: handle_send_origin_request
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:718,1
    - Dst: handle_client_send_response
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:721,1
    - Dst: handle_cache_lookup_complete
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:724,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:728,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:731,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:734,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 739
    functionName: transaction_handler
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - handle_server_read_response
    - handle_send_origin_request
    - handle_client_send_response
    - static_cast<txndata *>
    - TSContDestroy
    - handle_cache_lookup_complete
    - TSContDataSet
    - TSAssert
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transaction_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:749,1
    - Dst: DEBUG_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 752
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - DEBUG_LOG
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:761,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:766,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:769,1
    - Dst: create_pluginconfig
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:769,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 776
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *const *>
    - ERROR_LOG
    - static_cast<void *>
    - create_pluginconfig
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /*errbuf */, int /* errbuf_size */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pluginconfig *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:784,1
    - Dst: delete_pluginconfig
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - static_cast<pluginconfig *>
    - delete_pluginconfig
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pluginconfig *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:797,1
    - Dst: has_skip_crr_header
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:799,1
    - Dst: range_header_check
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 794
    functionDepth: 6
    functionLinenumber: 794
    functionLinenumberEnd: 804
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - static_cast<pluginconfig *>
    - range_header_check
    - has_skip_crr_header
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:819,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:820,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:821,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:827,1
    - Dst: create_pluginconfig
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:828,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:832,1
    - Dst: static_cast<TSEventFunc>
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:832,1
    - Dst: ERROR_LOG
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:833,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 838
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/cache_range_requests/cache_range_requests.cc
    functionUses: 0
    functionsReached:
    - ERROR_LOG
    - create_pluginconfig
    - TSHttpHookAdd
    - const_cast<char *const *>
    - TSContCreate
    - static_cast<TSEventFunc>
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:82,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:82,1
    - Dst: ja3_string::c_str
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:82,1
    - Dst: ja3_string::length
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:82,1
    - Dst: std::snprintf
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:84,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: update_fingerprint
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - MD5
    - static_cast<unsigned int>
    - reinterpret_cast<unsigned char const *>
    - ja3_string::length
    - std::snprintf
    - ja3_string::c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  update_fingerprint()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ~ja3_remap_info()
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~ja3_remap_info()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:116,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:117,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:120,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s_sockaddr
    - res
    argTypes:
    - sockaddr*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: getIP
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - reinterpret_cast<const struct sockaddr_in *>
    linkageType: ''
    returnType: char
    signature: 'char *

      getIP(sockaddr const *s_sockaddr, char res[INET6_ADDRSTRLEN])'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_legacy_version
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:138,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:139,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:139,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:140,1
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:143,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:144,1
    - Dst: ja3::encode_word_buffer
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:144,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:145,1
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:149,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:150,1
    - Dst: ja3::encode_integer_buffer
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:150,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:151,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:153,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:156,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:158,1
    - Dst: ja3::encode_word_buffer
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:158,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:160,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:163,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:165,1
    - Dst: ja3::encode_byte_buffer
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 168
    functionName: custom_get_ja3
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - ja3::encode_word_buffer
    - OPENSSL_free
    - ja3::encode_byte_buffer
    - SSL_client_hello_get0_legacy_version
    - SSL_client_hello_get1_extensions_present
    - SSL_client_hello_get0_ext
    - std::string::append
    - SSL_client_hello_get0_ciphers
    - std::string::push_back
    - ja3::encode_integer_buffer
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string custom_get_ja3(SSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:179,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:181,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:182,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:183,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:188,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:190,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:192,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 7
    argNames:
    - bufp
    - hdr_loc
    - field
    - field_len
    - value
    - value_len
    - preserve
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: append_to_field
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void append_to_field(TSMBuffer bufp, TSMLoc hdr_loc, const char *field,
      int field_len, const char *value, int value_len, bool preserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ja3_data::ja3_data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:200,1
    - Dst: custom_get_ja3
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:201,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:201,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:201,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:202,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:203,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl_vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: create_ja3_data
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - ja3_data::ja3_data
    - getIP
    - TSNetVConnRemoteAddrGet
    - reinterpret_cast<SSL *>
    - custom_get_ja3
    - std::move
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: ja3_data
    signature: 'ja3_data *

      create_ja3_data(TSVConn const ssl_vc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:211,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:216,1
    - Dst: create_ja3_data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:217,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:218,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:218,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:219,1
    - Dst: ja3_data*::ja3_string::c_str
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:219,1
    - Dst: ja3_data*::update_fingerprint
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:220,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:221,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: tls_client_hello_handler
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - create_ja3_data
    - ja3_data*::update_fingerprint
    - static_cast<void *>
    - TSUserArgSet
    - static_cast<TSVConn>
    - TSVConnReenable
    - Dbg
    - ja3_data*::ja3_string::c_str
    linkageType: ''
    returnType: int
    signature: int tls_client_hello_handler(TSCont /* contp ATS_UNUSED */, TSEvent
      event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:230,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:235,1
    - Dst: static_cast<ja3_data *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:236,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:236,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:237,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: vconn_close_handler
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    - static_cast<TSVConn>
    - Dbg
    - static_cast<ja3_data *>
    - TSVConnReenable
    - TSUserArgGet
    linkageType: ''
    returnType: int
    signature: int vconn_close_handler(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ja3_remap_info *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:246,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:246,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:250,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:256,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:256,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:258,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:258,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:262,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:263,1
    - Dst: data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:264,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:265,1
    - Dst: append_to_field
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:267,1
    - Dst: data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:267,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:267,1
    - Dst: length
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:267,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:268,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:268,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:269,1
    - Dst: append_to_field
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:272,1
    - Dst: append_to_field
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:276,1
    - Dst: ja3_data*::ja3_string::data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:276,1
    - Dst: ja3_data*::ja3_string::size
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:276,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:279,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:283,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:284,1
    - Dst: ja3_data*::ja3_string::size
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:284,1
    - Dst: ja3_data*::ja3_string::data
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - contp
    - txnp
    - ja3_vconn_data
    argTypes:
    - TSCont
    - TSHttpTxn
    - ja3_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 287
    functionName: modify_ja3_headers
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSAssert
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - TSfree
    - length
    - std::strlen
    - data
    - TSMgmtStringGet
    - append_to_field
    - static_cast<int>
    - TSError
    - TSstrdup
    - Dbg
    - TSHttpTxnServerReqGet
    - TSTextLogObjectWrite
    - ja3_data*::ja3_string::data
    - ja3_data*::ja3_string::size
    - static_cast<ja3_remap_info *>
    linkageType: ''
    returnType: void
    signature: void modify_ja3_headers(TSCont contp, TSHttpTxn txnp, ja3_data const
      *ja3_vconn_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:294,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:295,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:301,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:301,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:303,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:304,1
    - Dst: static_cast<ja3_data *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:309,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:309,1
    - Dst: modify_ja3_headers
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:311,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:313,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: req_hdr_ja3_handler
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - modify_ja3_headers
    - TSError
    - TSAssert
    - TSHttpTxnSsnGet
    - Dbg
    - static_cast<ja3_data *>
    - static_cast<TSHttpTxn>
    - TSUserArgGet
    - TSHttpSsnClientVConnGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int req_hdr_ja3_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:331,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:331,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:334,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:339,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:344,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:345,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:346,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - argc
    - argv
    - raw
    - log
    - modify_incoming
    - preserve
    argTypes:
    - int
    - char*[]
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 349
    functionName: read_config_option
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - const_cast<char *const *>
    - Dbg
    - getopt_long
    linkageType: ''
    returnType: bool
    signature: bool read_config_option(int argc, const char *argv[], int &raw, int
      &log, int &modify_incoming, int &preserve)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:354,1
    - Dst: read_config_option
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:363,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:368,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:369,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:372,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:372,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:373,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:376,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:377,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:377,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:378,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:378,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:381,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 385
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSUserArgIndexReserve
    - TSAssert
    - read_config_option
    - TSHttpHookAdd
    - TSTextLogObjectCreate
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:391,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:395,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:400,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:401,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:401,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:402,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexReserve
    - TSError
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:410,1
    - Dst: ja3_remap_info::ja3_remap_info
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:411,1
    - Dst: read_config_option
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:415,1
    - Dst: const_cast<const char **>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:415,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:417,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:422,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:422,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:423,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:427,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:428,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:428,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:431,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - const_cast<const char **>
    - std::unique_ptr::get
    - static_cast<void *>
    - std::unique_ptr::release
    - TSAssert
    - read_config_option
    - TSContDataSet
    - ja3_remap_info::ja3_remap_info
    - TSTextLogObjectCreate
    - Dbg
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ja3_remap_info *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:438,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:442,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSError
    - static_cast<ja3_remap_info *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ja3_remap_info *>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_fingerprint.cc
    functionUses: 0
    functionsReached:
    - static_cast<ja3_remap_info *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint16_t>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lowbyte
    - highbyte
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ja3::from_big_endian
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::uint16_t>
    linkageType: ''
    returnType: std::uint16_t
    signature: std::uint16_t from_big_endian(unsigned char lowbyte, unsigned char
      highbyte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:46,1
    - Dst: end
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ja3::ja3_should_ignore
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool ja3_should_ignore(std::uint16_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:57,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:57,1
    - Dst: std::for_each
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:58,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:59,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: ja3::encode_byte_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - std::for_each
    - std::to_string
    - std::string::append
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string encode_byte_buffer(unsigned char const *buf, int const
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:71,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:71,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:81,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:82,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:83,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:84,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: ja3::encode_word_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - ja3::ja3_should_ignore
    - ja3::from_big_endian
    - std::string::append
    - std::string::push_back
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string encode_word_buffer(unsigned char const *buf, int const
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:95,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:95,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:97,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:97,1
    - Dst: std::for_each
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:98,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:99,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:100,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:101,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: ja3::encode_integer_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - std::for_each
    - ja3::ja3_should_ignore
    - std::string::append
    - std::string::push_back
    - std::find_if
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string encode_integer_buffer(int const *buf, int const len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint16_t>
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lowbyte
    - highbyte
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ja3::from_big_endian
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - static_cast<std::uint16_t>
    linkageType: ''
    returnType: std::uint16_t
    signature: std::uint16_t from_big_endian(unsigned char lowbyte, unsigned char
      highbyte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:46,1
    - Dst: end
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ja3::ja3_should_ignore
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 2
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool ja3_should_ignore(std::uint16_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:57,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:57,1
    - Dst: std::for_each
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:58,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:59,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: ja3::encode_byte_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - std::for_each
    - std::to_string
    - std::string::append
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string encode_byte_buffer(unsigned char const *buf, int const
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:71,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:71,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:78,1
    - Dst: ja3::from_big_endian
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:81,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:82,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:83,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:84,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: ja3::encode_word_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - ja3::ja3_should_ignore
    - ja3::from_big_endian
    - std::string::append
    - std::string::push_back
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string encode_word_buffer(unsigned char const *buf, int const
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:95,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:95,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:97,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:97,1
    - Dst: std::for_each
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:98,1
    - Dst: ja3::ja3_should_ignore
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:99,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:100,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:101,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: ja3::encode_integer_buffer
    functionSourceFile: /src/trafficserver/plugins/ja3_fingerprint/ja3_utils.cc
    functionUses: 1
    functionsReached:
    - std::for_each
    - ja3::ja3_should_ignore
    - std::string::append
    - std::string::push_back
    - std::find_if
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string encode_integer_buffer(int const *buf, int const len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: VDEBUG
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VDEBUG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: VERROR
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vio
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: VIODEBUG
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VIODEBUG(vio, fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::path::is_absolute
      Src: /src/trafficserver/plugins/statichit/statichit.cc:70,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/statichit/statichit.cc:71,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:71,1
    - Dst: std::filesystem::weakly_canonical
      Src: /src/trafficserver/plugins/statichit/statichit.cc:73,1
    - Dst: ink_file_is_directory
      Src: /src/trafficserver/plugins/statichit/statichit.cc:75,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/statichit/statichit.cc:76,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/statichit/statichit.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - fileOrDir
    - mimeType
    - exact
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: StaticHitConfig
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - std::filesystem::weakly_canonical
    - get_yaml_path
    - ink_file_is_directory
    - std::filesystem::path::is_absolute
    - TSConfigDirGet
    - std::move
    linkageType: ''
    returnType: void
    signature: void StaticHitConfig(const std::string &fileOrDir, const std::string
      &mimeType, bool exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ~StaticHitConfig()
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~StaticHitConfig()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/statichit/statichit.cc:93,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:97,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:98,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:100,1
    - Dst: std::filesystem::weakly_canonical
      Src: /src/trafficserver/plugins/statichit/statichit.cc:103,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:103,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:105,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:106,1
    - Dst: equal
      Src: /src/trafficserver/plugins/statichit/statichit.cc:108,1
    - Dst: begin
      Src: /src/trafficserver/plugins/statichit/statichit.cc:108,1
    - Dst: end
      Src: /src/trafficserver/plugins/statichit/statichit.cc:108,1
    - Dst: std::filesystem::path::begin
      Src: /src/trafficserver/plugins/statichit/statichit.cc:108,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_regular_file
      Src: /src/trafficserver/plugins/statichit/statichit.cc:109,1
    - Dst: std::filesystem::path::string
      Src: /src/trafficserver/plugins/statichit/statichit.cc:110,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/statichit/statichit.cc:111,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/statichit/statichit.cc:111,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - txnp
    - output
    argTypes:
    - TSHttpTxn
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: makePath
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - begin
    - TSUrlPathGet
    - std::filesystem::weakly_canonical
    - swoc::SWOC_VERSION_NS::file::is_regular_file
    - TSHandleMLocRelease
    - std::string::size
    - std::filesystem::path::begin
    - static_cast<size_t>
    - end
    - equal
    - TSHttpTxnClientReqGet
    - std::filesystem::path::string
    - empty
    - TSHttpHdrUrlGet
    - std::string::c_str
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view makePath(TSHttpTxn txnp, std::string &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: argument_type
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argument_type(void *_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:160,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/statichit/statichit.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: IOChannel
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void IOChannel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/statichit/statichit.cc:164,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: ~IOChannel()
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IOChannel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/statichit/statichit.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: read
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 663
    functionsReached:
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void read(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/statichit/statichit.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: write
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 280
    functionsReached:
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void write(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:192,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:193,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: StaticHitHttpHeader
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void StaticHitHttpHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:200,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:203,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:204,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: ~StaticHitHttpHeader()
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ~StaticHitHttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: StaticHitRequest
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StaticHitRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StaticHitRequest::StaticHitRequest
      Src: /src/trafficserver/plugins/statichit/statichit.cc:225,1
    - Dst: StaticHitConfig*::makePath
      Src: /src/trafficserver/plugins/statichit/statichit.cc:228,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:230,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/statichit/statichit.cc:230,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/statichit/statichit.cc:232,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/statichit/statichit.cc:232,1
    - Dst: std::ifstream::rdbuf
      Src: /src/trafficserver/plugins/statichit/statichit.cc:239,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/statichit/statichit.cc:240,1
    - Dst: StaticHitRequest*::body::size
      Src: /src/trafficserver/plugins/statichit/statichit.cc:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - tc
    - txn
    argTypes:
    - StaticHitConfig*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: createStaticHitRequest
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - StaticHitConfig*::makePath
    - std::ifstream::rdbuf
    - StaticHitRequest::StaticHitRequest
    - VDEBUG
    - std::ifstream::open
    - StaticHitRequest*::body::size
    - std::stringstream::str
    - std::string_view::data
    linkageType: ''
    returnType: StaticHitRequest
    signature: "StaticHitRequest *\n  createStaticHitRequest(StaticHitConfig *tc,
      TSHttpTxn txn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: ~StaticHitRequest()
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StaticHitRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/statichit/statichit.cc:257,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:257,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - trq
    - vio
    - contp
    argTypes:
    - StaticHitRequest*
    - TSVIO
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: StaticHitRequestDestroy
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSVIOVConnGet
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void StaticHitRequestDestroy(StaticHitRequest *trq, TSVIO vio, TSCont
      contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/statichit/statichit.cc:270,1
    - Dst: TSMimeHdrFieldValueDateSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:271,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/statichit/statichit.cc:272,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - StaticHitHttpHeader
    - char*
    - int64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: HeaderFieldDateSet
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueDateSet
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldDateSet(const StaticHitHttpHeader &http, const char
      *field_name, int64_t field_len, time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/statichit/statichit.cc:282,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/plugins/statichit/statichit.cc:283,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/statichit/statichit.cc:284,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - StaticHitHttpHeader
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: HeaderFieldIntSet
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueInt64Set
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldIntSet(const StaticHitHttpHeader &http, const char
      *field_name, int64_t field_len, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/statichit/statichit.cc:294,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:295,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/statichit/statichit.cc:296,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/statichit/statichit.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - StaticHitHttpHeader
    - char*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: HeaderFieldStringSet
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldStringSet(const StaticHitHttpHeader &http, const char
      *field_name, int64_t field_len, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:305,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:307,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:308,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:311,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/statichit/statichit.cc:311,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:312,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:315,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:316,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:320,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/statichit/statichit.cc:320,1
    - Dst: HeaderFieldIntSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:324,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/statichit/statichit.cc:330,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:331,1
    - Dst: HeaderFieldDateSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:332,1
    - Dst: time
      Src: /src/trafficserver/plugins/statichit/statichit.cc:332,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:335,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:338,1
    - Dst: StaticHitRequest*::mimeType::c_str
      Src: /src/trafficserver/plugins/statichit/statichit.cc:338,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:343,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/statichit/statichit.cc:345,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:346,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/statichit/statichit.cc:347,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/statichit/statichit.cc:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - trq
    - status
    argTypes:
    - StaticHitRequest*
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 352
    functionName: WriteResponseHeader
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSVIONBytesSet
    - TSVIOReenable
    - StaticHitRequest*::mimeType::c_str
    - snprintf
    - HeaderFieldIntSet
    - TS_HTTP_VERSION
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - TSHttpHdrTypeSet
    - VDEBUG
    - TSHttpHdrPrint
    - TSHttpHdrVersionSet
    - TSHttpHdrLengthGet
    - HeaderFieldStringSet
    - TSHttpHdrStatusSet
    - HeaderFieldDateSet
    - time
    - TSStatIntIncrement
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode WriteResponseHeader(StaticHitRequest *trq, TSHttpStatus
      status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:361,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trq
    argTypes:
    - StaticHitRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: StaticHitParseRequest
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - VDEBUG
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: bool
    signature: bool StaticHitParseRequest(StaticHitRequest *trq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:376,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:380,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/statichit/statichit.cc:380,1
    - Dst: static_cast<StaticHitRequest *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:387,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:387,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/statichit/statichit.cc:389,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:390,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:394,1
    - Dst: StaticHitRequest*::readio::read
      Src: /src/trafficserver/plugins/statichit/statichit.cc:397,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:398,1
    - Dst: static_cast<StaticHitRequest *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:413,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:413,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:416,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:421,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:424,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:424,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/statichit/statichit.cc:429,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/statichit/statichit.cc:429,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:433,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/statichit/statichit.cc:435,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/statichit/statichit.cc:441,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:445,1
    - Dst: StaticHitRequestDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:446,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:451,1
    - Dst: StaticHitParseRequest
      Src: /src/trafficserver/plugins/statichit/statichit.cc:452,1
    - Dst: argument_type::trq::writeio::write
      Src: /src/trafficserver/plugins/statichit/statichit.cc:457,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:457,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:458,1
    - Dst: WriteResponseHeader
      Src: /src/trafficserver/plugins/statichit/statichit.cc:460,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:461,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/statichit/statichit.cc:472,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/statichit/statichit.cc:475,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:480,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:485,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/statichit/statichit.cc:486,1
    - Dst: argument_type::trq::body::c_str
      Src: /src/trafficserver/plugins/statichit/statichit.cc:486,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/statichit/statichit.cc:489,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:492,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:492,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/statichit/statichit.cc:493,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:501,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:503,1
    - Dst: StaticHitRequestDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:504,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:510,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:514,1
    - Dst: argument_type::trq::writeio::write
      Src: /src/trafficserver/plugins/statichit/statichit.cc:519,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:519,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:520,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:522,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:522,1
    - Dst: StaticHitRequestDestroy
      Src: /src/trafficserver/plugins/statichit/statichit.cc:523,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:534,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/statichit/statichit.cc:534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 88
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 537
    functionName: StaticHitInterceptHook
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - VERROR
    - static_cast<TSHttpStatus>
    - TSContDestroy
    - TSIOBufferReaderStart
    - TSVIOReenable
    - TSContDataGet
    - TSVIONTodoGet
    - argument_type::trq::body::c_str
    - TSIOBufferBlockReadStart
    - VDEBUG
    - WriteResponseHeader
    - VIODEBUG
    - TSVIONBytesGet
    - StaticHitRequestDestroy
    - TSHttpHdrParseReq
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - TSReleaseAssert
    - StaticHitParseRequest
    - StaticHitRequest*::readio::read
    - static_cast<StaticHitRequest *>
    - TSIOBufferBlockNext
    - argument_type::trq::writeio::write
    - TSVIOVConnGet
    - TSContDataSet
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int StaticHitInterceptHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStaticHitRequest
      Src: /src/trafficserver/plugins/statichit/statichit.cc:542,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:548,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:548,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:549,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/statichit/statichit.cc:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cfg
    - txn
    argTypes:
    - StaticHitConfig*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 539
    functionDepth: 7
    functionLinenumber: 539
    functionLinenumberEnd: 554
    functionName: StaticHitSetupIntercept
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerIntercept
    - TSContDataSet
    - createStaticHitRequest
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void StaticHitSetupIntercept(StaticHitConfig *cfg, TSHttpTxn txn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:562,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/statichit/statichit.cc:562,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:571,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:572,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:576,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:577,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:581,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:583,1
    - Dst: StaticHitSetupIntercept
      Src: /src/trafficserver/plugins/statichit/statichit.cc:588,1
    - Dst: static_cast<StaticHitConfig *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:588,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:588,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:595,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/statichit/statichit.cc:595,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/statichit/statichit.cc:600,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 557
    functionDepth: 8
    functionLinenumber: 557
    functionLinenumberEnd: 602
    functionName: StaticHitTxnHook
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSHttpHdrMethodGet
    - TSHttpTxnCacheLookupStatusGet
    - static_cast<StaticHitConfig *>
    - VDEBUG
    - TSHttpEventNameLookup
    - StaticHitSetupIntercept
    - TSHttpTxnClientReqGet
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int StaticHitTxnHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/statichit/statichit.cc:607,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:608,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/statichit/statichit.cc:611,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 616
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSStatFindName
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info */, char *
      /* errbuf */, int /* errbuf_size */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:621,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:623,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:623,1
    - Dst: static_cast<StaticHitConfig *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:627,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:630,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:631,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:638,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/statichit/statichit.cc:640,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:641,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:647,1
    - Dst: StaticHitSetupIntercept
      Src: /src/trafficserver/plugins/statichit/statichit.cc:648,1
    - Dst: static_cast<StaticHitConfig *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:648,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/statichit/statichit.cc:650,1
    - Dst: static_cast<StaticHitConfig *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 618
    functionDepth: 8
    functionLinenumber: 618
    functionLinenumberEnd: 654
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - VERROR
    - TSUrlPathGet
    - static_cast<StaticHitConfig *>
    - TSHttpTxnHookAdd
    - VDEBUG
    - TSHttpTxnStatusGet
    - TSHttpTxnConfigIntSet
    - StaticHitSetupIntercept
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/statichit/statichit.cc:681,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/statichit/statichit.cc:685,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/statichit/statichit.cc:688,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/statichit/statichit.cc:691,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/statichit/statichit.cc:694,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/statichit/statichit.cc:697,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/statichit/statichit.cc:709,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/statichit/statichit.cc:710,1
    - Dst: StaticHitConfig::StaticHitConfig
      Src: /src/trafficserver/plugins/statichit/statichit.cc:714,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/statichit/statichit.cc:727,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/statichit/statichit.cc:728,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:730,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 656
    functionDepth: 7
    functionLinenumber: 656
    functionLinenumberEnd: 733
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - StaticHitConfig::StaticHitConfig
    - static_cast<void *>
    - getopt_long
    - std::string::size
    - TSContDataSet
    - std::string
    - atoi
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StaticHitConfig *>
      Src: /src/trafficserver/plugins/statichit/statichit.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/statichit/statichit.cc
    functionUses: 0
    functionsReached:
    - static_cast<StaticHitConfig *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:108,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:109,1
    - Dst: fread
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:112,1
    - Dst: feof
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:113,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - info
    - data
    argTypes:
    - HCFileInfo*
    - HCFileData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: reload_status_file
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - memset
    - feof
    - fclose
    - fopen
    - fread
    linkageType: ''
    returnType: void
    signature: void reload_status_file(HCFileInfo *info, HCFileData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dname
    - dir
    argTypes:
    - char*
    - HCDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: find_direntry
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: HCDirEntry
    signature: 'HCDirEntry *

      find_direntry(const char *dname, HCDirEntry *dir)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inotify_add_watch
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:141,1
    - Dst: TSstrlcpy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:142,1
    - Dst: dirname
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:144,1
    - Dst: find_direntry
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:146,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:147,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:148,1
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:149,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:150,1
    - Dst: inotify_add_watch
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: setup_watchers
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - dirname
    - Dbg
    - TSstrlcpy
    - strncpy
    - find_direntry
    - inotify_add_watch
    linkageType: ''
    returnType: HCDirEntry
    signature: 'HCDirEntry *

      setup_watchers(int fd)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:192,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - event
    - finfo
    argTypes:
    - struct inotify_event*
    - HCFileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 196
    functionName: event_matches_config
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - strnlen
    linkageType: ''
    returnType: bool
    signature: bool event_matches_config(struct inotify_event *event, HCFileInfo *finfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inotify_init
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:201,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:206,1
    - Dst: setup_watchers
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:209,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:214,1
    - Dst: read
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:216,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:234,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:235,1
    - Dst: event_matches_config
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:252,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:262,1
    - Dst: inotify_add_watch
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:263,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:265,1
    - Dst: inotify_rm_watch
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:266,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:268,1
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:271,1
    - Dst: reload_status_file
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:272,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:273,1
    - Dst: HCFileInfo*::data::exchange
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ATS_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 288
    functionName: hc_thread
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - memset
    - event_matches_config
    - TSRalloc
    - TSfree
    - read
    - inotify_rm_watch
    - HCFileInfo*::data::exchange
    - setup_watchers
    - inotify_init
    - Dbg
    - gettimeofday
    - reload_status_file
    - inotify_add_watch
    linkageType: ''
    returnType: void
    signature: 'void *

      hc_thread(void *data ATS_UNUSED)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpStatus
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:299,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:299,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:304,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:305,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:306,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:307,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - status_str
    - mime
    - header_len
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: gen_header
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - TSHttpStatus
    - TSHttpHdrReasonLookup
    - atoi
    - snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gen_header(char *status_str, char *mime, int *header_len)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:328,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:332,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:332,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:333,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:337,1
    - Dst: feof
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:341,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:345,1
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:346,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:346,1
    - Dst: fgets
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:348,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:349,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:352,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:358,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:360,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:363,1
    - Dst: strrchr
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:365,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:368,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:388,1
    - Dst: gen_header
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:389,1
    - Dst: gen_header
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:390,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:391,1
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:392,1
    - Dst: reload_status_file
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:393,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:396,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:404,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 411
    functionName: parse_configs
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSRalloc
    - TSfree
    - feof
    - static_cast<void *>
    - TSError
    - fclose
    - fopen
    - strrchr
    - gen_header
    - strtok_r
    - Dbg
    - snprintf
    - strncpy
    - strlen
    - TSConfigDirGet
    - fgets
    - reload_status_file
    linkageType: ''
    returnType: HCFileInfo
    signature: 'HCFileInfo *

      parse_configs(const char *fname)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:418,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:423,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:428,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:433,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:437,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - contp
    - my_state
    argTypes:
    - TSCont
    - HCState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 439
    functionName: cleanup
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 17
    functionsReached:
    - TSVConnClose
    - TSfree
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void cleanup(TSCont contp, HCState *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - my_state
    argTypes:
    - char*
    - int
    - HCState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: add_data_to_resp
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferWrite
    linkageType: ''
    returnType: int
    signature: int add_data_to_resp(const char *buf, int len, HCState *my_state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:455,1
    - Dst: add_data_to_resp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:456,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:458,1
    - Dst: add_data_to_resp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:459,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:461,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:462,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:464,1
    - Dst: cleanup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:465,1
    - Dst: cleanup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:468,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:471,1
    - Dst: cleanup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:472,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - contp
    - event
    - my_state
    argTypes:
    - TSCont
    - TSEvent
    - HCState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 476
    functionName: hc_process_read
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSVConnShutdown
    - add_data_to_resp
    - TSVConnWrite
    - Dbg
    - TSReleaseAssert
    - cleanup
    linkageType: ''
    returnType: void
    signature: void hc_process_read(TSCont contp, TSEvent event, HCState *my_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:486,1
    - Dst: add_data_to_resp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:487,1
    - Dst: add_data_to_resp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:489,1
    - Dst: add_data_to_resp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:491,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:493,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:494,1
    - Dst: cleanup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:496,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:498,1
    - Dst: cleanup
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:499,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - contp
    - event
    - my_state
    argTypes:
    - TSCont
    - TSEvent
    - HCState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 503
    functionName: hc_process_write
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSError
    - TSVIOReenable
    - add_data_to_resp
    - snprintf
    - TSReleaseAssert
    - cleanup
    linkageType: ''
    returnType: void
    signature: void hc_process_write(TSCont contp, TSEvent event, HCState *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:509,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:510,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:511,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - my_state
    argTypes:
    - TSCont
    - HCState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: hc_process_accept
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void hc_process_accept(TSCont contp, HCState *my_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HCState *>
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:519,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:519,1
    - Dst: hc_process_accept
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:523,1
    - Dst: hc_process_read
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:525,1
    - Dst: hc_process_write
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:527,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 533
    functionName: hc_intercept
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - hc_process_accept
    - hc_process_read
    - hc_process_write
    - TSReleaseAssert
    - TSContDataGet
    - static_cast<HCState *>
    linkageType: ''
    returnType: int
    signature: int hc_intercept(TSCont contp, TSEvent event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:546,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:546,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:548,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:556,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:557,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:567,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:570,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:570,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:571,1
    - Dst: memset
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:572,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:575,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:576,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:581,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:584,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - ATS_UNUSED
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 590
    functionName: health_check_origin
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - TSUrlPathGet
    - TSRalloc
    - memset
    - TSHandleMLocRelease
    - TSContDataSet
    - TSHttpTxnIntercept
    - Dbg
    - TSContCreate
    - TSHttpTxnReenable
    - TSHttpTxnClientReqGet
    - TSHttpHdrUrlGet
    - TSMutexCreate
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int health_check_origin(TSCont contp ATS_UNUSED, TSEvent event ATS_UNUSED,
      void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:599,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:607,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:608,1
    - Dst: parse_configs
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:614,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:615,1
    - Dst: TSThreadCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:620,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:621,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:627,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:628,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/healthchecks/healthchecks.cc:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 593
    functionDepth: 4
    functionLinenumber: 593
    functionLinenumberEnd: 629
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/healthchecks/healthchecks.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSThreadCreate
    - TSHttpHookAdd
    - parse_configs
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: RemapConfigs
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void RemapConfigs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:69,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:71,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: str_to_datatype
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType str_to_datatype(const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:92,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:97,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:97,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:98,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:98,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:98,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:100,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:100,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:101,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:101,1
    - Dst: strtoll
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:107,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:107,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:110,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:110,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:114,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:114,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:115,1
    - Dst: strtof
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:119,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:119,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:122,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 130
    functionName: RemapConfigs::parse_inline
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - strtof
    - std::distance
    - TSError
    - TSstrdup
    - std::string::size
    - std::string
    - strchr
    - strlen
    - TSHttpTxnConfigFind
    - TSWarning
    - strtoll
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool RemapConfigs::parse_inline(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: try_deduce_type
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::Tag
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType try_deduce_type(YAML::Node node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:161,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:162,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:164,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:164,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:165,1
    - Dst: try_deduce_type
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:175,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:176,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:176,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:186,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:189,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:190,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:194,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:194,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:195,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:199,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:202,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:208,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:208,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    - Dst: what
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - cfg
    - data
    argTypes:
    - TSYAMLRecCfgFieldData*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 219
    functionName: scalar_node_handler
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<Context *>
    - YAML::Node::IsNull
    - TSError
    - what
    - TSstrdup
    - std::string::size
    - try_deduce_type
    - YAML::Node::as
    - Dbg
    - strlen
    - reinterpret_cast<YAML::Node *>
    - TSHttpTxnConfigFind
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode scalar_node_handler(const TSYAMLRecCfgFieldData *cfg,
      void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: try_deduce_type
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 2
    functionsReached:
    - YAML::Node::Tag
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType try_deduce_type(YAML::Node node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:161,1
    - Dst: reinterpret_cast<YAML::Node *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:162,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:164,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:164,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:165,1
    - Dst: try_deduce_type
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:175,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:176,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:176,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:186,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:189,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:190,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:194,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:194,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:195,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:199,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:202,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:208,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:208,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    - Dst: what
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - cfg
    - data
    argTypes:
    - TSYAMLRecCfgFieldData*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 219
    functionName: scalar_node_handler
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<Context *>
    - YAML::Node::IsNull
    - TSError
    - what
    - TSstrdup
    - std::string::size
    - try_deduce_type
    - YAML::Node::as
    - Dbg
    - strlen
    - reinterpret_cast<YAML::Node *>
    - TSHttpTxnConfigFind
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode scalar_node_handler(const TSYAMLRecCfgFieldData *cfg,
      void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:241,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:241,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:243,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:245,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:249,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:249,1
    - Dst: what
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:249,1
    - Dst: TSRecYAMLConfigParse
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:255,1
    - Dst: reinterpret_cast<TSYaml>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:255,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:258,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 263
    functionName: RemapConfigs::parse_file
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Node
    - TSError
    - what
    - TSRecYAMLConfigParse
    - reinterpret_cast<TSYaml>
    - YAML::LoadFile
    - Dbg
    - TSConfigDirGet
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool RemapConfigs::parse_file(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSstrlcpy
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:272,1
    - Dst: TSstrlcpy
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:277,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSstrlcpy
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:289,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:295,1
    - Dst: RemapConfigs*::parse_inline
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:297,1
    - Dst: RemapConfigs*::parse_file
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:302,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSError
    - RemapConfigs*::parse_file
    - RemapConfigs*::parse_inline
    - strchr
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapConfigs *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:319,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - static_cast<RemapConfigs *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapConfigs *>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:337,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:338,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:342,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:343,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:346,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:347,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:350,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/conf_remap/conf_remap.cc:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ih
    - rh
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/conf_remap/conf_remap.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigStringSet
    - Dbg
    - TSHttpTxnConfigIntSet
    - TSHttpTxnConfigFloatSet
    - static_cast<TSHttpTxn>
    - static_cast<RemapConfigs *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectDestroy
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ~Config()
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectDestroy
    linkageType: ''
    returnType: void
    signature: void ~Config()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: addr
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  addr() const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:113,1
    - Dst: TSHttpSsnClientFdGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:120,1
    - Dst: getsockopt
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:125,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:125,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:129,1
    - Dst: TSHttpSsnIncomingAddrGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:130,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:137,1
    - Dst: const_sockaddr_ptr::addr
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:137,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:138,1
    - Dst: const_sockaddr_ptr::addr
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:138,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:145,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:152,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:158,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - config
    - event_name
    - ssnp
    argTypes:
    - Config*
    - char*
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 172
    functionName: log_tcp_info
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - inet_ntop
    - TSHttpSsnIncomingAddrGet
    - TSHttpSsnClientAddrGet
    - TSHttpSsnClientFdGet
    - Dbg
    - getsockopt
    - TSReleaseAssert
    - const_sockaddr_ptr::addr
    - strerror
    linkageType: ''
    returnType: void
    signature: void log_tcp_info(Config *config, const char *event_name, TSHttpSsn
      ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: log_tcp_info
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_tcp_info(Config * /* config */, const char * /* event_name
      */, TSHttpSsn /* ssnp */)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Config *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:190,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:190,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:195,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:199,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:200,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:204,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:205,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:209,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:210,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:217,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:217,1
    - Dst: TSHttpSsnIsInternal
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:224,1
    - Dst: rand
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:231,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:236,1
    - Dst: log_tcp_info
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:237,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:242,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 248
    functionName: tcp_info_hook
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnSsnGet
    - rand
    - TSHttpEventNameLookup
    - TSHttpSsnIsInternal
    - Dbg
    - log_tcp_info
    - static_cast<TSHttpSsn>
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    - static_cast<Config *>
    linkageType: ''
    returnType: int
    signature: int tcp_info_hook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - lval
    argTypes:
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: parse_unsigned
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: bool
    signature: bool parse_unsigned(const char *str, unsigned long &lval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:293,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:295,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:295,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:299,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:307,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - hook_list
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 313
    functionName: parse_hook_list
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - TSfree
    - TSError
    - TSstrdup
    - strtok_r
    linkageType: ''
    returnType: unsigned
    signature: unsigned parse_hook_list(const char *hook_list)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:322,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:323,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:324,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:325,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:326,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:327,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:328,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:329,1
    - Dst: std::make_unique<Config>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:334,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:349,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:350,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:356,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:356,1
    - Dst: parse_unsigned
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:358,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:359,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:361,1
    - Dst: parse_unsigned
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:368,1
    - Dst: countof
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:368,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:371,1
    - Dst: parse_hook_list
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:375,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:378,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:380,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:387,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:389,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:395,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:397,1
    - Dst: ink_atoui
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:403,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:405,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:413,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:420,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:423,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:424,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:425,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:426,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:427,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:429,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:430,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:436,1
    - Dst: TSTextLogObjectRollingEnabledSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:438,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:439,1
    - Dst: TSTextLogObjectRollingIntervalSecSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:443,1
    - Dst: TSTextLogObjectRollingOffsetHrSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:444,1
    - Dst: TSTextLogObjectRollingSizeMbSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:445,1
    - Dst: TSTextLogObjectHeaderSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:447,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:449,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:450,1
    - Dst: auto::release
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:450,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:453,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:454,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:458,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:459,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:463,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:464,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:468,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc:469,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 315
    functionDepth: 5
    functionLinenumber: 315
    functionLinenumberEnd: 471
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/tcpinfo/tcpinfo.cc
    functionUses: 0
    functionsReached:
    - strtoul
    - TSTextLogObjectHeaderSet
    - TSTextLogObjectRollingOffsetHrSet
    - parse_hook_list
    - TSTextLogObjectRollingEnabledSet
    - TSPluginRegister
    - auto::release
    - parse_unsigned
    - TSHttpHookAdd
    - std::make_unique<Config>
    - const_cast<char *const *>
    - countof
    - ink_atoui
    - TSError
    - getopt_long
    - TSTextLogObjectCreate
    - atoi
    - Dbg
    - TSTextLogObjectRollingSizeMbSet
    - TSContCreate
    - const_cast<char *>
    - TSTextLogObjectRollingIntervalSecSet
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:91,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:92,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:97,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:98,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:103,1
    - Dst: HostConfiguration*::range_request_ctl
      Src: /src/trafficserver/plugins/compress/compress.cc:105,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:107,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/compress.cc:109,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:110,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:111,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:117,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/compress.cc:119,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:120,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:121,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:128,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - req_buf
    - req_loc
    - hc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - HostConfiguration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 136
    functionName: handle_range_request
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - HostConfiguration*::range_request_ctl
    - debug
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void handle_range_request(TSMBuffer req_buf, TSMLoc req_loc, HostConfiguration
      *hc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:91,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:92,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:97,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:98,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:103,1
    - Dst: HostConfiguration*::range_request_ctl
      Src: /src/trafficserver/plugins/compress/compress.cc:105,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:107,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/compress.cc:109,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:110,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:111,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:117,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/compress.cc:119,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:120,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:121,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:128,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - req_buf
    - req_loc
    - hc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - HostConfiguration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 136
    functionName: handle_range_request
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - HostConfiguration*::range_request_ctl
    - debug
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void handle_range_request(TSMBuffer req_buf, TSMLoc req_loc, HostConfiguration
      *hc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Data *>
      Src: /src/trafficserver/plugins/compress/compress.cc:145,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/compress/compress.cc:145,1
    - Dst: deflateInit2
      Src: /src/trafficserver/plugins/compress/compress.cc:169,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:172,1
    - Dst: deflateSetDictionary
      Src: /src/trafficserver/plugins/compress/compress.cc:176,1
    - Dst: reinterpret_cast<const Bytef *>
      Src: /src/trafficserver/plugins/compress/compress.cc:176,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/compress.cc:176,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:178,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:184,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/trafficserver/plugins/compress/compress.cc:185,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:187,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/trafficserver/plugins/compress/compress.cc:189,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/trafficserver/plugins/compress/compress.cc:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - compression_type
    - compression_algorithms
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 200
    functionName: data_alloc
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 4
    functionsReached:
    - deflateInit2
    - debug
    - BrotliEncoderCreateInstance
    - deflateSetDictionary
    - static_cast<Data *>
    - fatal
    - TSmalloc
    - strlen
    - BrotliEncoderSetParameter
    - reinterpret_cast<const Bytef *>
    linkageType: ''
    returnType: Data
    signature: 'Data *

      data_alloc(int compression_type, int compression_algorithms)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/compress/compress.cc:205,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/compress/compress.cc:209,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:212,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/trafficserver/plugins/compress/compress.cc:217,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/compress/compress.cc:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: data_destroy
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 2
    functionsReached:
    - TSfree
    - TSIOBufferDestroy
    - deflateEnd
    - BrotliEncoderDestroyInstance
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void data_destroy(Data *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:243,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/compress/compress.cc:247,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/compress.cc:249,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/compress/compress.cc:251,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:253,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - compression_type
    - algorithm
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: content_encoding_header
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - error
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode content_encoding_header(TSMBuffer bufp, TSMLoc hdr_loc,
      const int compression_type, int algorithm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:269,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/compress/compress.cc:273,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:275,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/compress/compress.cc:276,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:278,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/compress.cc:283,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:284,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/compress/compress.cc:286,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/compress.cc:287,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/compress/compress.cc:289,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:292,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 301
    functionName: vary_header
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - error
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode vary_header(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:311,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:315,1
    - Dst: TSMimeHdrFieldValueAppend
      Src: /src/trafficserver/plugins/compress/compress.cc:325,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:328,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: etag_header
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - error
    - TSMimeHdrFieldValueAppend
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode etag_header(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnTransformRespGet
      Src: /src/trafficserver/plugins/compress/compress.cc:351,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:352,1
    - Dst: content_encoding_header
      Src: /src/trafficserver/plugins/compress/compress.cc:356,1
    - Dst: vary_header
      Src: /src/trafficserver/plugins/compress/compress.cc:357,1
    - Dst: etag_header
      Src: /src/trafficserver/plugins/compress/compress.cc:357,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/compress/compress.cc:358,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:359,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/compress/compress.cc:360,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/compress/compress.cc:361,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: compress_transform_init
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - vary_header
    - TSHandleMLocRelease
    - content_encoding_header
    - TSIOBufferCreate
    - TSTransformOutputVConnGet
    - etag_header
    - TSVConnWrite
    - error
    - TSIOBufferReaderAlloc
    - TSHttpTxnTransformRespGet
    linkageType: ''
    returnType: void
    signature: void compress_transform_init(TSCont contp, Data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/plugins/compress/compress.cc:377,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/plugins/compress/compress.cc:378,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/compress/compress.cc:380,1
    - Dst: Data*::hc::flush
      Src: /src/trafficserver/plugins/compress/compress.cc:383,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/compress/compress.cc:384,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/compress/compress.cc:386,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/compress.cc:390,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/plugins/compress/compress.cc:394,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - data
    - upstream_buffer
    - upstream_length
    argTypes:
    - Data*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: gzip_transform_one
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - Data*::hc::flush
    - TSIOBufferProduce
    - deflate
    - TSIOBufferStart
    - error
    - TSIOBufferBlockWriteStart
    - reinterpret_cast<unsigned char *>
    - warning
    linkageType: ''
    returnType: void
    signature: void gzip_transform_one(Data *data, const char *upstream_buffer, int64_t
      upstream_length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/plugins/compress/compress.cc:418,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/plugins/compress/compress.cc:419,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/compress/compress.cc:421,1
    - Dst: BrotliEncoderCompressStream
      Src: /src/trafficserver/plugins/compress/compress.cc:426,1
    - Dst: const_cast<const uint8_t *&>
      Src: /src/trafficserver/plugins/compress/compress.cc:426,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:430,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/plugins/compress/compress.cc:434,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/trafficserver/plugins/compress/compress.cc:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - data
    - upstream_buffer
    - upstream_length
    - op
    argTypes:
    - Data*
    - char*
    - int64_t
    - BrotliEncoderOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 444
    functionName: brotli_compress_operation
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - BrotliEncoderHasMoreOutput
    - TSIOBufferBlockWriteStart
    - TSIOBufferProduce
    - BrotliEncoderCompressStream
    - TSIOBufferStart
    - error
    - const_cast<const uint8_t *&>
    - reinterpret_cast<unsigned char *>
    linkageType: ''
    returnType: bool
    signature: bool brotli_compress_operation(Data *data, const char *upstream_buffer,
      int64_t upstream_length, BrotliEncoderOperation op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: brotli_compress_operation
      Src: /src/trafficserver/plugins/compress/compress.cc:449,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:451,1
    - Dst: Data*::hc::flush
      Src: /src/trafficserver/plugins/compress/compress.cc:457,1
    - Dst: brotli_compress_operation
      Src: /src/trafficserver/plugins/compress/compress.cc:461,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - upstream_buffer
    - upstream_length
    argTypes:
    - Data*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 466
    functionName: brotli_transform_one
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - brotli_compress_operation
    - error
    - Data*::hc::flush
    linkageType: ''
    returnType: void
    signature: void brotli_transform_one(Data *data, const char *upstream_buffer,
      int64_t upstream_length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/compress/compress.cc:475,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:477,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/compress/compress.cc:481,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:483,1
    - Dst: brotli_transform_one
      Src: /src/trafficserver/plugins/compress/compress.cc:493,1
    - Dst: gzip_transform_one
      Src: /src/trafficserver/plugins/compress/compress.cc:498,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/compress.cc:500,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/compress/compress.cc:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - data
    - upstream_reader
    - amount
    argTypes:
    - Data*
    - TSIOBufferReader
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: compress_transform_one
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - error
    - gzip_transform_one
    - warning
    - brotli_transform_one
    linkageType: ''
    returnType: void
    signature: void compress_transform_one(Data *data, TSIOBufferReader upstream_reader,
      int amount)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferStart
      Src: /src/trafficserver/plugins/compress/compress.cc:518,1
    - Dst: TSIOBufferBlockWriteStart
      Src: /src/trafficserver/plugins/compress/compress.cc:520,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/compress/compress.cc:521,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/compress/compress.cc:524,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/compress/compress.cc:526,1
    - Dst: TSIOBufferProduce
      Src: /src/trafficserver/plugins/compress/compress.cc:527,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/compress.cc:536,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/compress/compress.cc:541,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:542,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:545,1
    - Dst: log_compression_ratio
      Src: /src/trafficserver/plugins/compress/compress.cc:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 548
    functionName: gzip_transform_finish
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferProduce
    - debug
    - deflate
    - TSIOBufferStart
    - error
    - log_compression_ratio
    - TSIOBufferBlockWriteStart
    - reinterpret_cast<unsigned char *>
    - warning
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void gzip_transform_finish(Data *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: brotli_compress_operation
      Src: /src/trafficserver/plugins/compress/compress.cc:560,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:562,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/compress/compress.cc:566,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:567,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:570,1
    - Dst: log_compression_ratio
      Src: /src/trafficserver/plugins/compress/compress.cc:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 572
    functionName: brotli_transform_finish
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - debug
    - brotli_compress_operation
    - error
    - log_compression_ratio
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void brotli_transform_finish(Data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: brotli_transform_finish
      Src: /src/trafficserver/plugins/compress/compress.cc:580,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:581,1
    - Dst: gzip_transform_finish
      Src: /src/trafficserver/plugins/compress/compress.cc:586,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:587,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/compress.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 4
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: compress_transform_finish
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - debug
    - brotli_transform_finish
    - gzip_transform_finish
    - error
    linkageType: ''
    returnType: void
    signature: void compress_transform_finish(Data *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Data *>
      Src: /src/trafficserver/plugins/compress/compress.cc:601,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/compress/compress.cc:601,1
    - Dst: compress_transform_init
      Src: /src/trafficserver/plugins/compress/compress.cc:603,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/compress/compress.cc:606,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/compress/compress.cc:609,1
    - Dst: compress_transform_finish
      Src: /src/trafficserver/plugins/compress/compress.cc:610,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/compress/compress.cc:612,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/compress/compress.cc:615,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/compress/compress.cc:620,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/compress/compress.cc:623,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/compress/compress.cc:623,1
    - Dst: compress_transform_one
      Src: /src/trafficserver/plugins/compress/compress.cc:630,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/compress/compress.cc:630,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/compress/compress.cc:631,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/compress/compress.cc:631,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/compress/compress.cc:635,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/compress/compress.cc:638,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/compress/compress.cc:640,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/compress/compress.cc:640,1
    - Dst: compress_transform_finish
      Src: /src/trafficserver/plugins/compress/compress.cc:643,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/compress/compress.cc:644,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/compress/compress.cc:647,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/compress/compress.cc:650,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/compress/compress.cc:650,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 652
    functionName: compress_transform_do
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSVIOBufferGet
    - TSVIONBytesSet
    - TSVConnWriteVIOGet
    - TSVIONDoneSet
    - TSIOBufferReaderAvail
    - TSContCall
    - TSVIOContGet
    - compress_transform_init
    - TSVIOReenable
    - static_cast<Data *>
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - compress_transform_finish
    - compress_transform_one
    - TSVIONDoneGet
    linkageType: ''
    returnType: void
    signature: void compress_transform_do(TSCont contp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/compress/compress.cc:657,1
    - Dst: data_destroy
      Src: /src/trafficserver/plugins/compress/compress.cc:658,1
    - Dst: static_cast<Data *>
      Src: /src/trafficserver/plugins/compress/compress.cc:658,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/compress/compress.cc:658,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:659,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:664,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/compress/compress.cc:665,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/compress/compress.cc:666,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/compress/compress.cc:666,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/compress/compress.cc:669,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/compress/compress.cc:669,1
    - Dst: compress_transform_do
      Src: /src/trafficserver/plugins/compress/compress.cc:672,1
    - Dst: compress_transform_do
      Src: /src/trafficserver/plugins/compress/compress.cc:675,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/compress.cc:678,1
    - Dst: compress_transform_do
      Src: /src/trafficserver/plugins/compress/compress.cc:679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 654
    functionDepth: 8
    functionLinenumber: 654
    functionLinenumberEnd: 685
    functionName: compress_transform
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - data_destroy
    - TSContCall
    - TSContDestroy
    - debug
    - TSVIOContGet
    - TSVConnShutdown
    - TSTransformOutputVConnGet
    - compress_transform_do
    - static_cast<Data *>
    - TSContDataGet
    - warning
    linkageType: ''
    returnType: int
    signature: int compress_transform(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/compress/compress.cc:705,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/compress/compress.cc:709,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/compress/compress.cc:714,1
    - Dst: HostConfiguration*::is_status_code_compressible
      Src: /src/trafficserver/plugins/compress/compress.cc:718,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:719,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:720,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:728,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/compress/compress.cc:729,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/compress/compress.cc:734,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:735,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:736,1
    - Dst: HostConfiguration*::range_request_ctl
      Src: /src/trafficserver/plugins/compress/compress.cc:741,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:744,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:746,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:747,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:748,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:749,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:754,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:756,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:757,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:758,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:759,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:763,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:764,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/compress/compress.cc:769,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/compress/compress.cc:771,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/compress/compress.cc:772,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:773,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:774,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:775,1
    - Dst: HostConfiguration*::compression_algorithms
      Src: /src/trafficserver/plugins/compress/compress.cc:779,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:780,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/compress/compress.cc:783,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:785,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/compress/compress.cc:790,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/compress/compress.cc:795,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/compress/compress.cc:800,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:808,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:809,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:812,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:813,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:817,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:818,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:819,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:820,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:826,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:828,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:829,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:830,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:834,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/compress/compress.cc:836,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:837,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:839,1
    - Dst: HostConfiguration*::minimum_content_length
      Src: /src/trafficserver/plugins/compress/compress.cc:843,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:844,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:851,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:853,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:854,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:858,1
    - Dst: HostConfiguration*::is_content_type_compressible
      Src: /src/trafficserver/plugins/compress/compress.cc:860,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:863,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:866,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:867,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 124
    argCount: 5
    argNames:
    - txnp
    - server
    - host_configuration
    - compress_type
    - algorithms
    argTypes:
    - TSHttpTxn
    - bool
    - HostConfiguration*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 687
    functionDepth: 5
    functionLinenumber: 687
    functionLinenumberEnd: 870
    functionName: transformable
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - TSMimeHdrFieldFind
    - TSHttpHdrStatusGet
    - TSMimeHdrFieldValueUintGet
    - TSMimeHdrFieldValuesCount
    - strncasecmp
    - HostConfiguration*::range_request_ctl
    - debug
    - HostConfiguration*::is_content_type_compressible
    - HostConfiguration*::is_status_code_compressible
    - HostConfiguration*::compression_algorithms
    - HostConfiguration*::minimum_content_length
    - memcmp
    - info
    - TSMimeHdrFieldValueStringGet
    - TSHttpTxnCachedRespGet
    linkageType: ''
    returnType: int
    signature: int transformable(TSHttpTxn txnp, bool server, HostConfiguration *host_configuration,
      int *compress_type, int *algorithms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/compress/compress.cc:878,1
    - Dst: HostConfiguration*::cache
      Src: /src/trafficserver/plugins/compress/compress.cc:880,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:881,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/compress/compress.cc:882,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:884,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/compress/compress.cc:885,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/compress/compress.cc:886,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:889,1
    - Dst: data_alloc
      Src: /src/trafficserver/plugins/compress/compress.cc:890,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/compress/compress.cc:894,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - txnp
    - hc
    - compress_type
    - algorithms
    argTypes:
    - TSHttpTxn
    - HostConfiguration*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 896
    functionName: compress_transform_add
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - data_alloc
    - debug
    - TSHttpTxnHookAdd
    - TSHttpTxnUntransformedRespCache
    - TSContDataSet
    - TSTransformCreate
    - HostConfiguration*::cache
    - TSHttpTxnTransformedRespCache
    linkageType: ''
    returnType: void
    signature: void compress_transform_add(TSHttpTxn txnp, HostConfiguration *hc,
      int compress_type, int algorithms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/compress.cc:901,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:907,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:908,1
    - Dst: find
      Src: /src/trafficserver/plugins/compress/compress.cc:911,1
    - Dst: Configuration*::find
      Src: /src/trafficserver/plugins/compress/compress.cc:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bufp
    - locp
    - config
    argTypes:
    - TSMBuffer
    - TSMLoc
    - Configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 898
    functionDepth: 5
    functionLinenumber: 898
    functionLinenumberEnd: 916
    functionName: find_host_configuration
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - find
    - TSMimeHdrFieldValueStringGet
    - Configuration*::find
    linkageType: ''
    returnType: HostConfiguration
    signature: 'HostConfiguration *

      find_host_configuration(TSHttpTxn /* txnp ATS_UNUSED */, TSMBuffer bufp, TSMLoc
      locp, Configuration *config)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/compress/compress.cc:921,1
    - Dst: static_cast<HostConfiguration *>
      Src: /src/trafficserver/plugins/compress/compress.cc:924,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/compress/compress.cc:924,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:931,1
    - Dst: HostConfiguration*::remove_accept_encoding
      Src: /src/trafficserver/plugins/compress/compress.cc:932,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/compress/compress.cc:936,1
    - Dst: restore_accept_encoding
      Src: /src/trafficserver/plugins/compress/compress.cc:937,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:938,1
    - Dst: transformable
      Src: /src/trafficserver/plugins/compress/compress.cc:942,1
    - Dst: compress_transform_add
      Src: /src/trafficserver/plugins/compress/compress.cc:943,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:950,1
    - Dst: HostConfiguration*::remove_accept_encoding
      Src: /src/trafficserver/plugins/compress/compress.cc:951,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/compress/compress.cc:955,1
    - Dst: hide_accept_encoding
      Src: /src/trafficserver/plugins/compress/compress.cc:956,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:957,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:960,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/compress/compress.cc:967,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:969,1
    - Dst: transformable
      Src: /src/trafficserver/plugins/compress/compress.cc:970,1
    - Dst: compress_transform_add
      Src: /src/trafficserver/plugins/compress/compress.cc:971,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:976,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:977,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/compress/compress.cc:983,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:987,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/compress/compress.cc:990,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 918
    functionDepth: 5
    functionLinenumber: 918
    functionLinenumberEnd: 993
    functionName: transform_plugin
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - info
    - restore_accept_encoding
    - TSHandleMLocRelease
    - transformable
    - hide_accept_encoding
    - TSHttpTxnHookAdd
    - TSHttpTxnCacheLookupStatusGet
    - TSContDestroy
    - HostConfiguration*::remove_accept_encoding
    - TSHttpTxnServerReqGet
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - fatal
    - compress_transform_add
    - TSHttpTxnReenable
    - static_cast<HostConfiguration *>
    linkageType: ''
    returnType: int
    signature: int transform_plugin(TSCont contp, TSEvent event, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/compress/compress.cc:1012,1
    - Dst: find_host_configuration
      Src: /src/trafficserver/plugins/compress/compress.cc:1014,1
    - Dst: find_host_configuration
      Src: /src/trafficserver/plugins/compress/compress.cc:1016,1
    - Dst: HostConfiguration*::enabled
      Src: /src/trafficserver/plugins/compress/compress.cc:1020,1
    - Dst: HostConfiguration*::has_allows
      Src: /src/trafficserver/plugins/compress/compress.cc:1021,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/compress/compress.cc:1023,1
    - Dst: HostConfiguration*::is_url_allowed
      Src: /src/trafficserver/plugins/compress/compress.cc:1024,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/compress/compress.cc:1025,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:1031,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/compress/compress.cc:1033,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1035,1
    - Dst: normalize_accept_encoding
      Src: /src/trafficserver/plugins/compress/compress.cc:1036,1
    - Dst: handle_range_request
      Src: /src/trafficserver/plugins/compress/compress.cc:1037,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:1038,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:1039,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/compress.cc:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - txnp
    - config
    argTypes:
    - TSHttpTxn
    - Configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1005
    functionDepth: 6
    functionLinenumber: 1005
    functionLinenumberEnd: 1043
    functionName: handle_request
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - info
    - TSfree
    - handle_range_request
    - TSHandleMLocRelease
    - TSHttpTxnHookAdd
    - HostConfiguration*::has_allows
    - TSContDataSet
    - find_host_configuration
    - TSHttpTxnEffectiveUrlStringGet
    - HostConfiguration*::enabled
    - TSContCreate
    - TSHttpTxnClientReqGet
    - HostConfiguration*::is_url_allowed
    - normalize_accept_encoding
    linkageType: ''
    returnType: void
    signature: void handle_request(TSHttpTxn txnp, Configuration *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/compress/compress.cc:1048,1
    - Dst: handle_request
      Src: /src/trafficserver/plugins/compress/compress.cc:1053,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:1057,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/compress/compress.cc:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1045
    functionDepth: 7
    functionLinenumber: 1045
    functionLinenumberEnd: 1063
    functionName: transform_global_plugin
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - handle_request
    - fatal
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transform_global_plugin(TSCont /* contp ATS_UNUSED */, TSEvent
      event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/compress/compress.cc:1068,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/compress/compress.cc:1068,1
    - Dst: Gzip::Configuration::Parse
      Src: /src/trafficserver/plugins/compress/compress.cc:1069,1
    - Dst: __sync_lock_test_and_set
      Src: /src/trafficserver/plugins/compress/compress.cc:1070,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:1072,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/compress/compress.cc:1075,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:1077,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/compress/compress.cc:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1082
    functionName: load_global_configuration
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - debug
    - __sync_lock_test_and_set
    - TSContDataGet
    - TSMutexUnlock
    - static_cast<const char *>
    - Gzip::Configuration::Parse
    linkageType: ''
    returnType: void
    signature: void load_global_configuration(TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/compress/compress.cc:1087,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1088,1
    - Dst: load_global_configuration
      Src: /src/trafficserver/plugins/compress/compress.cc:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: management_update
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - load_global_configuration
    - info
    - TSReleaseAssert
    linkageType: ''
    returnType: int
    signature: int management_update(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:1098,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:1101,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/compress/compress.cc:1103,1
    - Dst: register_plugin
      Src: /src/trafficserver/plugins/compress/compress.cc:1106,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:1107,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1110,1
    - Dst: init_hidden_header_name
      Src: /src/trafficserver/plugins/compress/compress.cc:1113,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:1116,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/compress/compress.cc:1119,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/compress/compress.cc:1120,1
    - Dst: load_global_configuration
      Src: /src/trafficserver/plugins/compress/compress.cc:1121,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/compress/compress.cc:1124,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/compress/compress.cc:1126,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1094
    functionDepth: 4
    functionLinenumber: 1094
    functionLinenumberEnd: 1128
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - info
    - TSMgmtUpdateRegister
    - TSstrdup
    - TSContDataSet
    - TSHttpHookAdd
    - register_plugin
    - load_global_configuration
    - fatal
    - TSContCreate
    - init_hidden_header_name
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/compress/compress.cc:1136,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1139
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - info
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1144,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1145,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/compress.cc:1150,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/compress/compress.cc:1152,1
    - Dst: init_hidden_header_name
      Src: /src/trafficserver/plugins/compress/compress.cc:1155,1
    - Dst: Gzip::Configuration::Parse
      Src: /src/trafficserver/plugins/compress/compress.cc:1158,1
    - Dst: free
      Src: /src/trafficserver/plugins/compress/compress.cc:1161,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1164
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - info
    - free
    - TSstrdup
    - fatal
    - Gzip::Configuration::Parse
    - init_hidden_header_name
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/compress.cc:1169,1
    - Dst: static_cast<Configuration *>
      Src: /src/trafficserver/plugins/compress/compress.cc:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1172
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - debug
    - static_cast<Configuration *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1178,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/compress.cc:1180,1
    - Dst: static_cast<Configuration *>
      Src: /src/trafficserver/plugins/compress/compress.cc:1181,1
    - Dst: handle_request
      Src: /src/trafficserver/plugins/compress/compress.cc:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1174
    functionDepth: 7
    functionLinenumber: 1174
    functionLinenumberEnd: 1186
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/compress/compress.cc
    functionUses: 0
    functionsReached:
    - handle_request
    - static_cast<Configuration *>
    - info
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<voidpf>
      Src: /src/trafficserver/plugins/compress/misc.cc:36,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/compress/misc.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - items
    - size
    argTypes:
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: gzip_alloc
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 0
    functionsReached:
    - static_cast<voidpf>
    - TSmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf gzip_alloc(voidpf /* opaque ATS_UNUSED */, uInt items, uInt
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/compress/misc.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: gzip_free
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void gzip_free(voidpf /* opaque ATS_UNUSED */, voidpf address)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:53,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:54,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:56,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:57,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:58,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/compress/misc.cc:59,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:61,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:63,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/plugins/compress/misc.cc:64,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:66,1
    - Dst: swoc::TextView::clear
      Src: /src/trafficserver/plugins/compress/misc.cc:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: strip_ae_value
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - swoc::TextView::ltrim
    - swoc::TextView::clear
    - swoc::TextView::trim
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void strip_ae_value(swoc::TextView &value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:53,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:54,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:56,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:57,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:58,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/compress/misc.cc:59,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:61,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:63,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/plugins/compress/misc.cc:64,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/compress/misc.cc:66,1
    - Dst: swoc::TextView::clear
      Src: /src/trafficserver/plugins/compress/misc.cc:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: strip_ae_value
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - swoc::TextView::ltrim
    - swoc::TextView::clear
    - swoc::TextView::trim
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void strip_ae_value(swoc::TextView &value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/misc.cc:83,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/compress/misc.cc:91,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/compress/misc.cc:95,1
    - Dst: strip_ae_value
      Src: /src/trafficserver/plugins/compress/misc.cc:96,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/compress/misc.cc:97,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/compress/misc.cc:99,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/compress/misc.cc:101,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/misc.cc:107,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/compress/misc.cc:108,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/misc.cc:109,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/plugins/compress/misc.cc:115,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/compress/misc.cc:116,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/misc.cc:118,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/misc.cc:118,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/misc.cc:119,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/misc.cc:122,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/misc.cc:122,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/misc.cc:123,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/compress/misc.cc:125,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/misc.cc:125,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/misc.cc:126,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/compress/misc.cc:129,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/misc.cc:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - reqp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 132
    functionName: normalize_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldFind
    - swoc::TextView::take_prefix_at
    - info
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - strip_ae_value
    - strlen
    - strcasecmp
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void normalize_accept_encoding(TSHttpTxn /* txnp ATS_UNUSED */, TSMBuffer
      reqp, TSMLoc hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/misc.cc:137,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/misc.cc:140,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/compress/misc.cc:141,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/misc.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - reqp
    - hdr_loc
    - hidden_header_name
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: hide_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldNameSet
    - TSHandleMLocRelease
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void hide_accept_encoding(TSHttpTxn /* txnp ATS_UNUSED */, TSMBuffer
      reqp, TSMLoc hdr_loc, const char *hidden_header_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/compress/misc.cc:150,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/compress/misc.cc:154,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/compress/misc.cc:155,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/compress/misc.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - reqp
    - hdr_loc
    - hidden_header_name
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: restore_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldNameSet
    - TSHandleMLocRelease
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void restore_accept_encoding(TSHttpTxn /* txnp ATS_UNUSED */, TSMBuffer
      reqp, TSMLoc hdr_loc, const char *hidden_header_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/compress/misc.cc:168,1
    - Dst: fatal
      Src: /src/trafficserver/plugins/compress/misc.cc:169,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/misc.cc:171,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/compress/misc.cc:171,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/compress/misc.cc:172,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/compress/misc.cc:172,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/compress/misc.cc:173,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/compress/misc.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: init_hidden_header_name
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 2
    functionsReached:
    - TSfree
    - static_cast<char *>
    - snprintf
    - TSmalloc
    - fatal
    - strlen
    - TSMgmtStringGet
    linkageType: ''
    returnType: char
    signature: 'char *

      init_hidden_header_name()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/compress/misc.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: register_plugin
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 1
    functionsReached:
    - TSPluginRegister
    linkageType: ''
    returnType: int
    signature: int register_plugin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/trafficserver/plugins/compress/misc.cc:198,1
    - Dst: debug
      Src: /src/trafficserver/plugins/compress/misc.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: log_compression_ratio
    functionSourceFile: /src/trafficserver/plugins/compress/misc.cc
    functionUses: 2
    functionsReached:
    - debug
    - info
    linkageType: ''
    returnType: void
    signature: void log_compression_ratio(int64_t in, int64_t out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:40,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:41,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/compress/configuration.cc:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: Gzip::ltrim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - fp
    - string::erase
    - string::size
    linkageType: ''
    returnType: void
    signature: void ltrim_if(string &s, int (*fp)(int))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/plugins/compress/configuration.cc:52,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:52,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:53,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/compress/configuration.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: Gzip::rtrim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - fp
    - static_cast<ssize_t>
    - string::erase
    - string::size
    linkageType: ''
    returnType: void
    signature: void rtrim_if(string &s, int (*fp)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Gzip::ltrim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:64,1
    - Dst: Gzip::rtrim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: Gzip::trim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - Gzip::ltrim_if
    - Gzip::rtrim_if
    linkageType: ''
    returnType: void
    signature: void trim_if(string &s, int (*fp)(int))
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string::length
      Src: /src/trafficserver/plugins/compress/configuration.cc:74,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:79,1
    - Dst: string
      Src: /src/trafficserver/plugins/compress/configuration.cc:92,1
    - Dst: string
      Src: /src/trafficserver/plugins/compress/configuration.cc:96,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/compress/configuration.cc:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: Gzip::extractFirstToken
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - string::length
    - fp
    - string
    linkageType: ''
    returnType: string
    signature: string extractFirstToken(string &s, int (*fp)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hc
    argTypes:
    - HostConfiguration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Gzip::Configuration::add_host_configuration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Configuration::add_host_configuration(HostConfiguration *hc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: Gzip::HostConfiguration::update_defaults
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::update_defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Gzip::HostConfiguration::add_allow
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_allow(const std::string &allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Gzip::HostConfiguration::add_compressible_content_type
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compressible_content_type(const std::string
      &content_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/compress/configuration.cc:146,1
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:150,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:150,1
    - Dst: host
      Src: /src/trafficserver/plugins/compress/configuration.cc:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - host
    - host_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: Gzip::Configuration::find
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - size
    - host
    - end
    linkageType: ''
    returnType: HostConfiguration
    signature: 'HostConfiguration *

      Configuration::find(const char *host, int host_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Gzip::HostConfiguration::has_allows
      Src: /src/trafficserver/plugins/compress/configuration.cc:165,1
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:166,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:166,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:167,1
    - Dst: fnmatch
      Src: /src/trafficserver/plugins/compress/configuration.cc:172,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:172,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:173,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:173,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:174,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:178,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:178,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:181,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: Gzip::HostConfiguration::is_url_allowed
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - info
    - StringContainer::iterator::c_str
    - end
    - string::c_str
    - Gzip::HostConfiguration::has_allows
    - fnmatch
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_url_allowed(const char *url, int url_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/compress/configuration.cc:188,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: Gzip::HostConfiguration::is_status_code_compressible
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_status_code_compressible(const TSHttpStatus
      status_code) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:199,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:199,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:200,1
    - Dst: fnmatch
      Src: /src/trafficserver/plugins/compress/configuration.cc:209,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:209,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - content_type
    - content_type_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: Gzip::HostConfiguration::is_content_type_compressible
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - info
    - StringContainer::iterator::c_str
    - end
    - string::c_str
    - fnmatch
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_content_type_compressible(const char *content_type,
      int content_type_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/plugins/compress/configuration.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Gzip::isCommaOrSpace
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: int isCommaOrSpace(int ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:229,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:230,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:236,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: Gzip::HostConfiguration::add_compression_algorithms
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - extractFirstToken
    - string::empty
    - error
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compression_algorithms(string &line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/compress/configuration.cc:251,1
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:254,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:255,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/compress/configuration.cc:259,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:259,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:261,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:261,1
    - Dst: insert
      Src: /src/trafficserver/plugins/compress/configuration.cc:265,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/compress/configuration.cc:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: Gzip::HostConfiguration::add_compressible_status_codes
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - strtoul
    - insert
    - static_cast<TSHttpStatus>
    - error
    - string::c_str
    - string::empty
    - extractFirstToken
    - clear
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compressible_status_codes(string &line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Gzip::HostConfiguration::compression_algorithms
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HostConfiguration::compression_algorithms()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - token
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: Gzip::HostConfiguration::set_range_request
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - error
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::set_range_request(const std::string &token)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:301,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/compress/configuration.cc:302,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/compress/configuration.cc:302,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/compress/configuration.cc:303,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/compress/configuration.cc:304,1
    - Dst: trim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:307,1
    - Dst: Configuration::Configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:309,1
    - Dst: HostConfiguration::HostConfiguration
      Src: /src/trafficserver/plugins/compress/configuration.cc:310,1
    - Dst: Configuration*::add_host_configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:312,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:314,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:318,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:319,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/compress/configuration.cc:324,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/compress/configuration.cc:326,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:327,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/plugins/compress/configuration.cc:333,1
    - Dst: getline
      Src: /src/trafficserver/plugins/compress/configuration.cc:335,1
    - Dst: trim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:338,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:339,1
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:344,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:346,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:357,1
    - Dst: string::substr
      Src: /src/trafficserver/plugins/compress/configuration.cc:358,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:358,1
    - Dst: HostConfiguration*::update_defaults
      Src: /src/trafficserver/plugins/compress/configuration.cc:361,1
    - Dst: HostConfiguration::HostConfiguration
      Src: /src/trafficserver/plugins/compress/configuration.cc:362,1
    - Dst: Configuration*::add_host_configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:363,1
    - Dst: HostConfiguration*::add_compression_algorithms
      Src: /src/trafficserver/plugins/compress/configuration.cc:377,1
    - Dst: HostConfiguration*::add_compressible_status_codes
      Src: /src/trafficserver/plugins/compress/configuration.cc:382,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:387,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:387,1
    - Dst: HostConfiguration*::add_compressible_content_type
      Src: /src/trafficserver/plugins/compress/configuration.cc:391,1
    - Dst: HostConfiguration*::set_remove_accept_encoding
      Src: /src/trafficserver/plugins/compress/configuration.cc:395,1
    - Dst: HostConfiguration*::set_enabled
      Src: /src/trafficserver/plugins/compress/configuration.cc:399,1
    - Dst: HostConfiguration*::set_cache
      Src: /src/trafficserver/plugins/compress/configuration.cc:403,1
    - Dst: HostConfiguration*::set_range_request
      Src: /src/trafficserver/plugins/compress/configuration.cc:407,1
    - Dst: HostConfiguration*::set_flush
      Src: /src/trafficserver/plugins/compress/configuration.cc:411,1
    - Dst: HostConfiguration*::add_allow
      Src: /src/trafficserver/plugins/compress/configuration.cc:415,1
    - Dst: HostConfiguration*::set_minimum_content_length
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: HostConfiguration*::update_defaults
      Src: /src/trafficserver/plugins/compress/configuration.cc:427,1
    - Dst: HostConfiguration*::cache
      Src: /src/trafficserver/plugins/compress/configuration.cc:430,1
    - Dst: HostConfiguration*::range_request_ctl
      Src: /src/trafficserver/plugins/compress/configuration.cc:430,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:431,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:435,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 439
    functionName: Gzip::Configuration::Parse
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 2
    functionsReached:
    - strtoul
    - trim_if
    - string::substr
    - TSConfigDirGet
    - warning
    - Configuration::Configuration
    - HostConfiguration*::set_enabled
    - HostConfiguration*::add_compressible_content_type
    - std::string::empty
    - HostConfiguration*::set_minimum_content_length
    - HostConfiguration*::cache
    - string::c_str
    - string::empty
    - HostConfiguration*::add_compression_algorithms
    - HostConfiguration*::set_flush
    - extractFirstToken
    - HostConfiguration*::add_allow
    - string::size
    - HostConfiguration*::set_remove_accept_encoding
    - getline
    - HostConfiguration*::range_request_ctl
    - std::ifstream::open
    - string::assign
    - std::ifstream::is_open
    - string::append
    - Configuration*::add_host_configuration
    - HostConfiguration*::update_defaults
    - info
    - HostConfiguration::HostConfiguration
    - HostConfiguration*::set_cache
    - HostConfiguration*::set_range_request
    - HostConfiguration*::add_compressible_status_codes
    - std::ifstream::eof
    linkageType: ''
    returnType: Configuration
    signature: 'Configuration *

      Configuration::Parse(const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:40,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:41,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/compress/configuration.cc:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: Gzip::ltrim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 1
    functionsReached:
    - fp
    - string::erase
    - string::size
    linkageType: ''
    returnType: void
    signature: void ltrim_if(string &s, int (*fp)(int))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/plugins/compress/configuration.cc:52,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:52,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:53,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/compress/configuration.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: Gzip::rtrim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 1
    functionsReached:
    - fp
    - static_cast<ssize_t>
    - string::erase
    - string::size
    linkageType: ''
    returnType: void
    signature: void rtrim_if(string &s, int (*fp)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Gzip::ltrim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:64,1
    - Dst: Gzip::rtrim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: Gzip::trim_if
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - Gzip::ltrim_if
    - Gzip::rtrim_if
    linkageType: ''
    returnType: void
    signature: void trim_if(string &s, int (*fp)(int))
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string::length
      Src: /src/trafficserver/plugins/compress/configuration.cc:74,1
    - Dst: fp
      Src: /src/trafficserver/plugins/compress/configuration.cc:79,1
    - Dst: string
      Src: /src/trafficserver/plugins/compress/configuration.cc:92,1
    - Dst: string
      Src: /src/trafficserver/plugins/compress/configuration.cc:96,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/compress/configuration.cc:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: Gzip::extractFirstToken
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - string::length
    - fp
    - string
    linkageType: ''
    returnType: string
    signature: string extractFirstToken(string &s, int (*fp)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hc
    argTypes:
    - HostConfiguration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Gzip::Configuration::add_host_configuration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Configuration::add_host_configuration(HostConfiguration *hc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: Gzip::HostConfiguration::update_defaults
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::update_defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Gzip::HostConfiguration::add_allow
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_allow(const std::string &allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/compress/configuration.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Gzip::HostConfiguration::add_compressible_content_type
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compressible_content_type(const std::string
      &content_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/compress/configuration.cc:146,1
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:150,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:150,1
    - Dst: host
      Src: /src/trafficserver/plugins/compress/configuration.cc:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - host
    - host_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: Gzip::Configuration::find
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - size
    - host
    - end
    linkageType: ''
    returnType: HostConfiguration
    signature: 'HostConfiguration *

      Configuration::find(const char *host, int host_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Gzip::HostConfiguration::has_allows
      Src: /src/trafficserver/plugins/compress/configuration.cc:165,1
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:166,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:166,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:167,1
    - Dst: fnmatch
      Src: /src/trafficserver/plugins/compress/configuration.cc:172,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:172,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:173,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:173,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:174,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:178,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:178,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:181,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: Gzip::HostConfiguration::is_url_allowed
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - info
    - StringContainer::iterator::c_str
    - end
    - string::c_str
    - Gzip::HostConfiguration::has_allows
    - fnmatch
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_url_allowed(const char *url, int url_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/compress/configuration.cc:188,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: Gzip::HostConfiguration::is_status_code_compressible
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_status_code_compressible(const TSHttpStatus
      status_code) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/compress/configuration.cc:199,1
    - Dst: end
      Src: /src/trafficserver/plugins/compress/configuration.cc:199,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:200,1
    - Dst: fnmatch
      Src: /src/trafficserver/plugins/compress/configuration.cc:209,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:209,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    - Dst: StringContainer::iterator::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - content_type
    - content_type_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: Gzip::HostConfiguration::is_content_type_compressible
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - begin
    - info
    - StringContainer::iterator::c_str
    - end
    - string::c_str
    - fnmatch
    linkageType: ''
    returnType: bool
    signature: bool HostConfiguration::is_content_type_compressible(const char *content_type,
      int content_type_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/plugins/compress/configuration.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Gzip::isCommaOrSpace
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: int isCommaOrSpace(int ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:229,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:230,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:236,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: Gzip::HostConfiguration::add_compression_algorithms
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - extractFirstToken
    - string::empty
    - error
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compression_algorithms(string &line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/compress/configuration.cc:251,1
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:254,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:255,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/compress/configuration.cc:259,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:259,1
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:261,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:261,1
    - Dst: insert
      Src: /src/trafficserver/plugins/compress/configuration.cc:265,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/compress/configuration.cc:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: Gzip::HostConfiguration::add_compressible_status_codes
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - strtoul
    - insert
    - static_cast<TSHttpStatus>
    - error
    - string::c_str
    - string::empty
    - extractFirstToken
    - clear
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::add_compressible_status_codes(string &line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Gzip::HostConfiguration::compression_algorithms
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HostConfiguration::compression_algorithms()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/trafficserver/plugins/compress/configuration.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - token
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: Gzip::HostConfiguration::set_range_request
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 0
    functionsReached:
    - error
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void HostConfiguration::set_range_request(const std::string &token)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:301,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/compress/configuration.cc:302,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/compress/configuration.cc:302,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/compress/configuration.cc:303,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/compress/configuration.cc:304,1
    - Dst: trim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:307,1
    - Dst: Configuration::Configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:309,1
    - Dst: HostConfiguration::HostConfiguration
      Src: /src/trafficserver/plugins/compress/configuration.cc:310,1
    - Dst: Configuration*::add_host_configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:312,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:314,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:318,1
    - Dst: info
      Src: /src/trafficserver/plugins/compress/configuration.cc:319,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/compress/configuration.cc:324,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/compress/configuration.cc:326,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:327,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/plugins/compress/configuration.cc:333,1
    - Dst: getline
      Src: /src/trafficserver/plugins/compress/configuration.cc:335,1
    - Dst: trim_if
      Src: /src/trafficserver/plugins/compress/configuration.cc:338,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:339,1
    - Dst: extractFirstToken
      Src: /src/trafficserver/plugins/compress/configuration.cc:344,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/compress/configuration.cc:346,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:357,1
    - Dst: string::substr
      Src: /src/trafficserver/plugins/compress/configuration.cc:358,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/compress/configuration.cc:358,1
    - Dst: HostConfiguration*::update_defaults
      Src: /src/trafficserver/plugins/compress/configuration.cc:361,1
    - Dst: HostConfiguration::HostConfiguration
      Src: /src/trafficserver/plugins/compress/configuration.cc:362,1
    - Dst: Configuration*::add_host_configuration
      Src: /src/trafficserver/plugins/compress/configuration.cc:363,1
    - Dst: HostConfiguration*::add_compression_algorithms
      Src: /src/trafficserver/plugins/compress/configuration.cc:377,1
    - Dst: HostConfiguration*::add_compressible_status_codes
      Src: /src/trafficserver/plugins/compress/configuration.cc:382,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:387,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:387,1
    - Dst: HostConfiguration*::add_compressible_content_type
      Src: /src/trafficserver/plugins/compress/configuration.cc:391,1
    - Dst: HostConfiguration*::set_remove_accept_encoding
      Src: /src/trafficserver/plugins/compress/configuration.cc:395,1
    - Dst: HostConfiguration*::set_enabled
      Src: /src/trafficserver/plugins/compress/configuration.cc:399,1
    - Dst: HostConfiguration*::set_cache
      Src: /src/trafficserver/plugins/compress/configuration.cc:403,1
    - Dst: HostConfiguration*::set_range_request
      Src: /src/trafficserver/plugins/compress/configuration.cc:407,1
    - Dst: HostConfiguration*::set_flush
      Src: /src/trafficserver/plugins/compress/configuration.cc:411,1
    - Dst: HostConfiguration*::add_allow
      Src: /src/trafficserver/plugins/compress/configuration.cc:415,1
    - Dst: HostConfiguration*::set_minimum_content_length
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/compress/configuration.cc:419,1
    - Dst: HostConfiguration*::update_defaults
      Src: /src/trafficserver/plugins/compress/configuration.cc:427,1
    - Dst: HostConfiguration*::cache
      Src: /src/trafficserver/plugins/compress/configuration.cc:430,1
    - Dst: HostConfiguration*::range_request_ctl
      Src: /src/trafficserver/plugins/compress/configuration.cc:430,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:431,1
    - Dst: warning
      Src: /src/trafficserver/plugins/compress/configuration.cc:435,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 439
    functionName: Gzip::Configuration::Parse
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.cc
    functionUses: 2
    functionsReached:
    - strtoul
    - trim_if
    - string::substr
    - TSConfigDirGet
    - warning
    - Configuration::Configuration
    - HostConfiguration*::set_enabled
    - HostConfiguration*::add_compressible_content_type
    - std::string::empty
    - HostConfiguration*::set_minimum_content_length
    - HostConfiguration*::cache
    - string::c_str
    - string::empty
    - HostConfiguration*::add_compression_algorithms
    - HostConfiguration*::set_flush
    - extractFirstToken
    - HostConfiguration*::add_allow
    - string::size
    - HostConfiguration*::set_remove_accept_encoding
    - getline
    - HostConfiguration*::range_request_ctl
    - std::ifstream::open
    - string::assign
    - std::ifstream::is_open
    - string::append
    - Configuration*::add_host_configuration
    - HostConfiguration*::update_defaults
    - info
    - HostConfiguration::HostConfiguration
    - HostConfiguration*::set_cache
    - HostConfiguration*::set_range_request
    - HostConfiguration*::add_compressible_status_codes
    - std::ifstream::eof
    linkageType: ''
    returnType: Configuration
    signature: 'Configuration *

      Configuration::Parse(const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: debug
    functionSourceFile: /src/trafficserver/plugins/compress/debug_macros.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: info
    functionSourceFile: /src/trafficserver/plugins/compress/debug_macros.h
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: info(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: warning
    functionSourceFile: /src/trafficserver/plugins/compress/debug_macros.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warning(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: error
    functionSourceFile: /src/trafficserver/plugins/compress/debug_macros.h
    functionUses: 287
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: error(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: fatal
    functionSourceFile: /src/trafficserver/plugins/compress/debug_macros.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - host
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: Gzip::HostConfiguration::HostConfiguration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostConfiguration(const std::string &host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Gzip::HostConfiguration::enabled
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Gzip::HostConfiguration::set_enabled
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_enabled(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: Gzip::HostConfiguration::range_request_ctl
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RangeRequestCtrl
    signature: RangeRequestCtrl range_request_ctl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Gzip::HostConfiguration::cache
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Gzip::HostConfiguration::set_cache
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Gzip::HostConfiguration::flush
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Gzip::HostConfiguration::set_flush
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_flush(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Gzip::HostConfiguration::remove_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool remove_accept_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Gzip::HostConfiguration::set_remove_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_remove_accept_encoding(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Gzip::HostConfiguration::host
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string host()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/compress/configuration.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Gzip::HostConfiguration::has_allows
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool has_allows() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Gzip::HostConfiguration::minimum_content_length
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int minimum_content_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Gzip::HostConfiguration::set_minimum_content_length
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_minimum_content_length(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Gzip::Configuration::Configuration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Configuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - host
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: Gzip::HostConfiguration::HostConfiguration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostConfiguration(const std::string &host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Gzip::HostConfiguration::enabled
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool enabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Gzip::HostConfiguration::set_enabled
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_enabled(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: Gzip::HostConfiguration::range_request_ctl
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RangeRequestCtrl
    signature: RangeRequestCtrl range_request_ctl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Gzip::HostConfiguration::cache
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Gzip::HostConfiguration::set_cache
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cache(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Gzip::HostConfiguration::flush
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Gzip::HostConfiguration::set_flush
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_flush(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Gzip::HostConfiguration::remove_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool remove_accept_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Gzip::HostConfiguration::set_remove_accept_encoding
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_remove_accept_encoding(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Gzip::HostConfiguration::host
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string host()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/compress/configuration.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Gzip::HostConfiguration::has_allows
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool has_allows() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Gzip::HostConfiguration::minimum_content_length
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int minimum_content_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Gzip::HostConfiguration::set_minimum_content_length
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_minimum_content_length(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Gzip::Configuration::Configuration
    functionSourceFile: /src/trafficserver/plugins/compress/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Configuration()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: releasePolicy
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: PromotionConfig::~PromotionConfig()
    functionSourceFile: /src/trafficserver/plugins/cache_promote/configs.cc
    functionUses: 0
    functionsReached:
    - releasePolicy
    linkageType: ''
    returnType: void
    signature: void PromotionConfig::~PromotionConfig()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:55,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:60,1
    - Dst: ChancePolicy::ChancePolicy
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:61,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:62,1
    - Dst: LRUPolicy::LRUPolicy
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:65,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:69,1
    - Dst: policyName
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:69,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:73,1
    - Dst: stats_add
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:76,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:78,1
    - Dst: setSample
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:85,1
    - Dst: setInternalEnabled
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:87,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:88,1
    - Dst: parseOption
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:90,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:91,1
    - Dst: policyName
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:92,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:96,1
    - Dst: coalescePolicy
      Src: /src/trafficserver/plugins/cache_promote/configs.cc:110,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 113
    functionName: PromotionConfig::factory
    functionSourceFile: /src/trafficserver/plugins/cache_promote/configs.cc
    functionUses: 0
    functionsReached:
    - setInternalEnabled
    - DBG
    - policyName
    - strncasecmp
    - TSError
    - getopt_long
    - setSample
    - coalescePolicy
    - LRUPolicy::LRUPolicy
    - ChancePolicy::ChancePolicy
    - stats_add
    - parseOption
    linkageType: ''
    returnType: bool
    signature: bool PromotionConfig::factory(int argc, char *argv[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:49,1
    - Dst: static_cast<PromotionConfig *>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:50,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:50,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:55,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:55,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:58,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:62,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:62,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:63,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:65,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:66,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:68,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:71,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:73,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:78,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:80,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:81,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:81,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:86,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:87,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:87,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:90,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:96,1
    - Dst: PromotionConfig*::getPolicy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:100,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:105,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:105,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:110,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 112
    functionName: cont_handle_policy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - DBG
    - TSHttpTxnIsInternal
    - TSHttpTxnCacheLookupStatusGet
    - TSHttpTxnHookAdd
    - PromotionConfig*::getPolicy
    - static_cast<PromotionConfig *>
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    - TSHttpTxnCntlSet
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int cont_handle_policy(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:120,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:123,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:124,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - DBG
    - strncpy
    - CHECK_REMAP_API_COMPATIBILITY
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:135,1
    - Dst: clear
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: TSRemapDone
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - DBG
    - clear
    linkageType: ''
    returnType: void
    signature: void TSRemapDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PromotionConfig::PromotionConfig
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:142,1
    - Dst: PromotionConfig*::factory
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:146,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:147,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:149,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:149,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSContDataSet
    - PromotionConfig::PromotionConfig
    - TSContCreate
    - PromotionConfig*::factory
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf */, int /* errbuf_size */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:162,1
    - Dst: static_cast<PromotionConfig *>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:163,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:163,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSCont>
    - TSContDestroy
    - static_cast<PromotionConfig *>
    - TSContDataGet
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:176,1
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:178,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:180,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/cache_promote/cache_promote.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ih
    - rh
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/cache_promote/cache_promote.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSCont>
    - TSHttpTxnHookAdd
    - DBG
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      * /* ATS_UNUSED rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - PolicyManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: PromotionConfig::PromotionConfig
    functionSourceFile: /src/trafficserver/plugins/cache_promote/configs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PromotionConfig(PolicyManager *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: PromotionConfig::getPolicy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PromotionPolicy
    signature: "PromotionPolicy *\n  getPolicy() const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:35,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:39,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:40,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:42,1
    - Dst: SHA1_Init
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:51,1
    - Dst: SHA1_Update
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:52,1
    - Dst: SHA1_Final
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:53,1
    - Dst: EVP_Digest
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:56,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:56,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:58,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:59,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:63,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: LRUHash::initFromUrl
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlGet
    - EVP_Digest
    - DBG
    - TSfree
    - TSHandleMLocRelease
    - SHA1_Init
    - EVP_sha1
    - SHA1_Update
    - SHA1_Final
    - TSHttpTxnClientReqGet
    - TSUrlCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: bool
    signature: bool LRUHash::initFromUrl(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:72,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:73,1
    - Dst: clear
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:75,1
    - Dst: clear
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:76,1
    - Dst: clear
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:78,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:81,1
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: LRUPolicy::~LRUPolicy()
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    - DBG
    - TSMutexLock
    - TSMutexUnlock
    - clear
    linkageType: ''
    returnType: void
    signature: void LRUPolicy::~LRUPolicy()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:90,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:90,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:92,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:93,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:98,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:98,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:101,1
    - Dst: strtoll
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:101,1
    - Dst: srand48
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: time
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: getpid
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    - Dst: getppid
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - opt
    - optarg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: LRUPolicy::parseOption
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - srand48
    - DBG
    - TSError
    - getppid
    - static_cast<long>
    - getpid
    - static_cast<unsigned>
    - strtoll
    - strtol
    - time
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: bool LRUPolicy::parseOption(int opt, char *optarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LRUHash::LRUHash
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:121,1
    - Dst: LRUHash::initFromUrl
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:125,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:130,1
    - Dst: find
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:132,1
    - Dst: end
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:133,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:145,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:147,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:150,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:153,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:158,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:159,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:163,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:164,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:168,1
    - Dst: splice
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:169,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:169,1
    - Dst: erase
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:172,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:173,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:174,1
    - Dst: decrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:175,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:179,1
    - Dst: splice
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:180,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:180,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:184,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:186,1
    - Dst: splice
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:187,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:187,1
    - Dst: end
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:187,1
    - Dst: erase
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:188,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:188,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:188,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:189,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:191,1
    - Dst: splice
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:192,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:192,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:192,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:195,1
    - Dst: decrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:196,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:198,1
    - Dst: push_front
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:199,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:201,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:204,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:205,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:205,1
    - Dst: begin
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:205,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:208,1
    - Dst: LRUPolicy::countBytes
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:211,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:212,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:212,1
    - Dst: LRUHash::LRUHash
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:212,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 218
    functionName: LRUPolicy::doPromote
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - static_cast<void *>
    - TSHttpHdrMethodGet
    - TSUserArgSet
    - LRUPolicy::countBytes
    - TSAssert
    - TSHttpTxnClientReqGet
    - LRUHash::initFromUrl
    - TSMimeHdrFieldFind
    - begin
    - DBG
    - LRUHash::LRUHash
    - push_front
    - incrementStat
    - erase
    - splice
    - find
    - decrementStat
    - end
    - TSMutexUnlock
    - TSMutexLock
    - std::get<0>
    linkageType: ''
    returnType: bool
    signature: bool LRUPolicy::doPromote(TSHttpTxn txnp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LRUHash *>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:223,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:223,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:229,1
    - Dst: find
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:230,1
    - Dst: end
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:231,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:235,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:236,1
    - Dst: TSMimeHdrFieldValueInt64Get
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:240,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:246,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:247,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:249,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 254
    functionName: LRUPolicy::addBytes
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - DBG
    - TSHandleMLocRelease
    - TSMutexLock
    - find
    - TSMimeHdrFieldValueInt64Get
    - end
    - TSMutexUnlock
    - TSHttpTxnServerRespGet
    - static_cast<LRUHash *>
    - TSUserArgGet
    linkageType: ''
    returnType: void
    signature: void LRUPolicy::addBytes(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:273,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:278,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:279,1
    - Dst: create_stat
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.cc:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - remap_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: LRUPolicy::stats_add
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.cc
    functionUses: 0
    functionsReached:
    - create_stat
    - std::get<1>
    - std::get<0>
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool LRUPolicy::stats_add(const char *remap_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DBG
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy.h:45,1
    - Dst: srand48
      Src: /src/trafficserver/plugins/cache_promote/policy.h:46,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/cache_promote/policy.h:46,1
    - Dst: time
      Src: /src/trafficserver/plugins/cache_promote/policy.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: PromotionPolicy::PromotionPolicy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached:
    - srand48
    - static_cast<long>
    - DBG
    - time
    linkageType: ''
    returnType: void
    signature: void PromotionPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~PromotionPolicy()
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PromotionPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtof
      Src: /src/trafficserver/plugins/cache_promote/policy.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: PromotionPolicy::setSample
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached:
    - strtof
    linkageType: ''
    returnType: void
    signature: void setSample(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: PromotionPolicy::getSample
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float getSample() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntDecrement
      Src: /src/trafficserver/plugins/cache_promote/policy.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stat
    - amount
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: PromotionPolicy::decrementStat
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached:
    - TSStatIntDecrement
    linkageType: ''
    returnType: void
    signature: void decrementStat(const int stat, const int amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/cache_promote/policy.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stat
    - amount
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: PromotionPolicy::incrementStat
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void incrementStat(const int stat, const int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: PromotionPolicy::parseOption
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parseOption(int /* opt ATS_UNUSED */, char * /* optarg ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: PromotionPolicy::id
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: PromotionPolicy::cleanup
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup(TSHttpTxn /* txnp ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: PromotionPolicy::countBytes
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool countBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: PromotionPolicy::addBytes
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addBytes(TSHttpTxn /* txnp ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: PromotionPolicy::isInternalEnabled
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInternalEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: PromotionPolicy::setInternalEnabled
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setInternalEnabled(const bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::Random::drandom
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:27,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:30,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: PromotionPolicy::doSample
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.cc
    functionUses: 0
    functionsReached:
    - ts::Random::drandom
    - DBG
    linkageType: ''
    returnType: bool
    signature: bool PromotionPolicy::doSample() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter::clear
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:45,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:46,1
    - Dst: swoc::LocalBufferWriter::restore
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:47,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:49,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:49,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:50,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:50,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:52,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:52,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:54,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/cache_promote/policy.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - name
    - remap_identifier
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: PromotionPolicy::create_stat
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - DBG
    - swoc::LocalBufferWriter::clear
    - swoc::LocalBufferWriter::print
    - TSStatFindName
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::restore
    linkageType: ''
    returnType: int
    signature: int PromotionPolicy::create_stat(std::string_view name, std::string_view
      remap_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: PolicyManager::PolicyManager
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.h
    functionUses: 0
    functionsReached:
    - DBG
    linkageType: ''
    returnType: void
    signature: void PolicyManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PolicyManager()
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.h
    functionUses: 0
    functionsReached:
    - DBG
    linkageType: ''
    returnType: void
    signature: void ~PolicyManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.h:36,1
    - Dst: size
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: PolicyManager::clear
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.h
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    - size
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: PolicyManager::PolicyManager
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolicyManager(PolicyManager const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: operator=(PolicyManager const &)
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(PolicyManager const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PromotionPolicy*::id
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:23,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:25,1
    - Dst: find
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:26,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:28,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:28,1
    - Dst: end
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:30,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:31,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:31,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:38,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:38,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - policy
    argTypes:
    - PromotionPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: PolicyManager::coalescePolicy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.cc
    functionUses: 0
    functionsReached:
    - DBG
    - find
    - std::string::size
    - std::make_pair
    - end
    - PromotionPolicy*::id
    - std::string::c_str
    linkageType: ''
    returnType: PromotionPolicy
    signature: 'PromotionPolicy *

      PolicyManager::coalescePolicy(PromotionPolicy *policy)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PromotionPolicy*::id
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:49,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:51,1
    - Dst: find
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:52,1
    - Dst: end
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:54,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:56,1
    - Dst: erase
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:58,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/policy_manager.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - policy
    argTypes:
    - PromotionPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: PolicyManager::releasePolicy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/policy_manager.cc
    functionUses: 0
    functionsReached:
    - DBG
    - erase
    - find
    - std::string::size
    - end
    - PromotionPolicy*::id
    linkageType: ''
    returnType: void
    signature: void PolicyManager::releasePolicy(PromotionPolicy *policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:32,1
    - Dst: getSample
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:32,1
    - Dst: incrementStat
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ChancePolicy::doPromote
    functionSourceFile: /src/trafficserver/plugins/cache_promote/chance_policy.h
    functionUses: 0
    functionsReached:
    - getSample
    - DBG
    - incrementStat
    linkageType: ''
    returnType: bool
    signature: bool doPromote(TSHttpTxn /* txnp ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ChancePolicy::usage
    functionSourceFile: /src/trafficserver/plugins/cache_promote/chance_policy.h
    functionUses: 0
    functionsReached:
    - TSError
    linkageType: ''
    returnType: void
    signature: void usage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ChancePolicy::policyName
    functionSourceFile: /src/trafficserver/plugins/cache_promote/chance_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  policyName() const override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:61,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:66,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:67,1
    - Dst: create_stat
      Src: /src/trafficserver/plugins/cache_promote/chance_policy.h:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - remap_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: ChancePolicy::stats_add
    functionSourceFile: /src/trafficserver/plugins/cache_promote/chance_policy.h
    functionUses: 0
    functionsReached:
    - create_stat
    - std::get<1>
    - std::get<0>
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool stats_add(const char *remap_id) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: LRUHash::LRUHash
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 1
    functionsReached:
    - DBG
    linkageType: ''
    returnType: void
    signature: void LRUHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~LRUHash()
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - DBG
    linkageType: ''
    returnType: void
    signature: void ~LRUHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:51,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: LRUHash::LRUHash
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 1
    functionsReached:
    - memcpy
    - DBG
    linkageType: ''
    returnType: void
    signature: void LRUHash(const LRUHash &h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:58,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - LRUHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: "&\n  operator=(const LRUHash &h)"
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - memcpy
    - DBG
    linkageType: ''
    returnType: LRUHash
    signature: "LRUHash &\n  operator=(const LRUHash &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - LRUHash*
    - LRUHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operator()(const LRUHash *s1, const LRUHash *s2) const
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const LRUHash *s1, const LRUHash *s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const size_t *>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:82,1
    - Dst: reinterpret_cast<const size_t *>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - LRUHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: operator()(const LRUHash *s) const
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const size_t *>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const LRUHash *s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: LRUPolicy::LRUPolicy
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 1
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void LRUPolicy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: LRUPolicy::countBytes
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool countBytes() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: LRUPolicy::usage
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - TSError
    linkageType: ''
    returnType: void
    signature: void usage() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: LRUPolicy::policyName
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  policyName() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:123,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:123,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:123,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: LRUPolicy::id
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string id() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LRUHash *>
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:130,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:130,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/cache_promote/lru_policy.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: LRUPolicy::cleanup
    functionSourceFile: /src/trafficserver/plugins/cache_promote/lru_policy.h
    functionUses: 0
    functionsReached:
    - static_cast<LRUHash *>
    - TSUserArgGet
    - TSUserArgSet
    linkageType: ''
    returnType: void
    signature: void cleanup(TSHttpTxn txnp) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionPlugin::registerHook
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ServerPushTransaction::ServerPushTransaction
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - TransactionPlugin::registerHook
    linkageType: ''
    returnType: void
    signature: void ServerPushTransaction(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerPushTransaction::serverPush
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:61,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ServerPushTransaction::handleSendResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - Transaction::resume
    - ServerPushTransaction::serverPush
    linkageType: ''
    returnType: void
    signature: void handleSendResponseHeaders(Transaction &transaction) override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:68,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:68,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:69,1
    - Dst: Transaction::getClientRequest
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:73,1
    - Dst: Transaction::getClientResponse
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:74,1
    - Dst: Response::getHeaders
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:75,1
    - Dst: ClientRequest::getPristineUrl
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:77,1
    - Dst: Headers::find
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:79,1
    - Dst: Headers::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:79,1
    - Dst: header_field_iterator::nextDup
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:79,1
    - Dst: HeaderField::begin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:82,1
    - Dst: HeaderField::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:85,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:85,1
    - Dst: regex_search
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:88,1
    - Dst: str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:90,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:90,1
    - Dst: ServerPushTransaction::split
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:92,1
    - Dst: str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:92,1
    - Dst: set::find
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:93,1
    - Dst: set::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:94,1
    - Dst: set::find
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:98,1
    - Dst: set::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:99,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:100,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:100,1
    - Dst: Request::getUrl
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:105,1
    - Dst: Url::getHost
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:107,1
    - Dst: Url::setHost
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:108,1
    - Dst: Url::getHost
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:108,1
    - Dst: Url::setScheme
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:109,1
    - Dst: Url::getScheme
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:109,1
    - Dst: Url::getPort
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:111,1
    - Dst: Url::setPort
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:112,1
    - Dst: Url::getPort
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:112,1
    - Dst: Url::getUrlString
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:114,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:115,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:115,1
    - Dst: TSHttpTxnServerPush
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:116,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:116,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:118,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 122
    functionName: ServerPushTransaction::serverPush
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 1
    functionsReached:
    - Url::getUrlString
    - Response::getHeaders
    - TSHttpTxnClientProtocolStackContains
    - header_field_iterator::nextDup
    - regex_search
    - TSHttpTxnServerPush
    - ClientRequest::getPristineUrl
    - Headers::find
    - Transaction::getAtsHandle
    - Url::getScheme
    - string::c_str
    - HeaderField::begin
    - Url::setHost
    - Url::setScheme
    - Request::getUrl
    - Headers::end
    - Dbg
    - str
    - set::find
    - Url::setPort
    - set::end
    - HeaderField::end
    - Url::getHost
    - string::length
    - ServerPushTransaction::split
    - static_cast<TSHttpTxn>
    - Transaction::getClientRequest
    - Url::getPort
    - Transaction::getClientResponse
    linkageType: ''
    returnType: void
    signature: void serverPush(Transaction &transaction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:130,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: find_if
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: string::rbegin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: string::rend
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: string::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:131,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: string::begin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: find_if
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: string::begin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: string::end
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:132,1
    - Dst: set::insert
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - params
    - delim
    argTypes:
    - string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: ServerPushTransaction::split
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 1
    functionsReached:
    - getline
    - string::erase
    - find_if
    - set::insert
    - string::begin
    - string::rend
    - string::rbegin
    - std::isspace
    - string::end
    linkageType: ''
    returnType: set<string>
    signature: set<string> split(const string &params, char delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - instance_handle
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: ServerPushRemap::ServerPushRemap
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerPushRemap(void **instance_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::addPlugin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:148,1
    - Dst: ServerPushTransaction::ServerPushTransaction
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ServerPushRemap::doRemap
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - Transaction::addPlugin
    - ServerPushTransaction::ServerPushTransaction
    linkageType: ''
    returnType: Result
    signature: "Result doRemap(const Url & /* map_from_url ATS_UNUSED */, const Url
      & /* map_to_url ATS_UNUSED */, Transaction &transaction,\n          bool & /*
      redirect ATS_UNUSED */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GlobalPlugin::registerHook
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: ServerPushGlobal::ServerPushGlobal
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - GlobalPlugin::registerHook
    linkageType: ''
    returnType: void
    signature: void ServerPushGlobal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::addPlugin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:161,1
    - Dst: ServerPushTransaction::ServerPushTransaction
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:161,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: ServerPushGlobal::handleReadRequestHeadersPreRemap
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - Transaction::addPlugin
    - Transaction::resume
    - ServerPushTransaction::ServerPushTransaction
    linkageType: ''
    returnType: void
    signature: void handleReadRequestHeadersPreRemap(Transaction &transaction) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:169,1
    - Dst: RegisterGlobalPlugin
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:170,1
    - Dst: ServerPushGlobal::ServerPushGlobal
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ATSCPPAPI_UNUSED
    - ATSCPPAPI_UNUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - RegisterGlobalPlugin
    - ServerPushGlobal::ServerPushGlobal
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc ATSCPPAPI_UNUSED, const char *argv[] ATSCPPAPI_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:180,1
    - Dst: ServerPushRemap::ServerPushRemap
      Src: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ATSCPPAPI_UNUSED
    - ATSCPPAPI_UNUSED
    - instance_handle
    - ATSCPPAPI_UNUSED
    - errbuf_size ATSCPPAPI_UNUSED
    argTypes:
    - int
    - char*
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/server_push_preload/server_push_preload.cc
    functionUses: 0
    functionsReached:
    - ServerPushRemap::ServerPushRemap
    - Dbg
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int argc ATSCPPAPI_UNUSED, char *argv[]
      ATSCPPAPI_UNUSED, void **instance_handle, char *errbuf ATSCPPAPI_UNUSED,\n                   int
      errbuf_size ATSCPPAPI_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: lengthof
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned lengthof(const char (&)[N])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:147,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:149,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:150,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - buffer
    - hdr
    - name
    - len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: FindOrMakeHdrField
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldCreateNamed
    - TSReleaseAssert
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc FindOrMakeHdrField(TSMBuffer buffer, TSMLoc hdr, const char
      *name, unsigned len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:163,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:164,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:164,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:166,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:166,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: InjectGenerationHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - lengthof
    - TSHttpTxnConfigIntGet
    - TSReleaseAssert
    - TSMimeHdrFieldValueInt64Set
    - FindOrMakeHdrField
    linkageType: ''
    returnType: void
    signature: void InjectGenerationHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc
      hdr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:186,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:188,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:192,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:196,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:202,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:202,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:208,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:208,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:212,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:216,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: InjectCacheKeyHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCacheLookupUrlGet
    - TSUrlCreate
    - TSHandleMLocRelease
    - TSfree
    - lengthof
    - Dbg
    - TSReleaseAssert
    - TSMimeHdrFieldValueStringInsert
    - FindOrMakeHdrField
    - TSUrlStringGet
    linkageType: ''
    returnType: void
    signature: void InjectCacheKeyHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:229,1
    - Dst: TSHttpTxnCacheDiskPathGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:231,1
    - Dst: TSHttpTxnInfoIntGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:235,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:240,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:240,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:246,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:249,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:249,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:249,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: InjectCacheInfoHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - lengthof
    - std::strlen
    - Dbg
    - TSHttpTxnInfoIntGet
    - snprintf
    - TSReleaseAssert
    - TSHttpTxnCacheDiskPathGet
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectCacheInfoHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc
      hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:270,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:273,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:273,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:278,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:280,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:280,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:282,1
    - Dst: countof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:282,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:284,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:284,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 291
    functionName: InjectCacheHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHandleMLocRelease
    - TSHttpTxnCacheLookupStatusGet
    - lengthof
    - Dbg
    - TSReleaseAssert
    - countof
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectCacheHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:335,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:338,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:338,1
    - Dst: countof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:343,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:350,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:352,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:353,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:355,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:355,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 363
    functionName: InjectMilestonesHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - lengthof
    - static_cast<double>
    - TSHttpTxnMilestoneGet
    - snprintf
    - TSReleaseAssert
    - countof
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectMilestonesHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc
      hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remapUrlGetFunc
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:374,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:380,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:384,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - txnp
    - urlStrLen
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 395
    functionName: getRemapUrlStr
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - remapUrlGetFunc
    - TSError
    - TSfree
    - TSUrlStringGet
    linkageType: ''
    returnType: char
    signature: 'char *

      getRemapUrlStr(TSHttpTxn txnp, TSReturnCode (*remapUrlGetFunc)(TSHttpTxn, TSMLoc
      *), int &urlStrLen)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:400,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:400,1
    - Dst: getRemapUrlStr
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:404,1
    - Dst: getRemapUrlStr
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:405,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:408,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:411,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:411,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:414,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:414,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:417,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:417,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 397
    functionDepth: 6
    functionLinenumber: 397
    functionLinenumberEnd: 420
    functionName: InjectRemapHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - getRemapUrlStr
    - TSHandleMLocRelease
    - lengthof
    - const_cast<char *>
    - snprintf
    - TSReleaseAssert
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectRemapHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:430,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:432,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:435,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:435,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:438,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:439,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:440,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:440,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:442,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 6
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: InjectEffectiveURLHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSfree
    - TSHandleMLocRelease
    - lengthof
    - Dbg
    - TSHttpTxnEffectiveUrlStringGet
    - snprintf
    - TSReleaseAssert
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectEffectiveURLHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc
      hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:452,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:455,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:457,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:457,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:458,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:459,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:459,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:463,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:464,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:464,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:468,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:469,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:469,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - hdr
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: InjectOriginalContentTypeHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValueStringGet
    - lengthof
    - TSMimeHdrFieldValuesClear
    - TSReleaseAssert
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectOriginalContentTypeHeader(TSMBuffer buffer, TSMLoc hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:475,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:475,1
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:479,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:480,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:480,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:480,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:482,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:482,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 472
    functionDepth: 6
    functionLinenumber: 472
    functionLinenumberEnd: 485
    functionName: InjectTxnUuidHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSUuidStringGet
    - TSHandleMLocRelease
    - lengthof
    - TSProcessUuidGet
    - snprintf
    - TSHttpTxnIdGet
    - TSReleaseAssert
    - FindOrMakeHdrField
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void InjectTxnUuidHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:498,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:500,1
    - Dst: TSHttpTxnParentSelectionUrlGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:504,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:508,1
    - Dst: FindOrMakeHdrField
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:514,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:514,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:520,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:520,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:524,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:528,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - txn
    - buffer
    - hdr
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 532
    functionName: InjectParentSelectionKeyHeader
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSUrlCreate
    - TSfree
    - TSHandleMLocRelease
    - TSHttpTxnParentSelectionUrlGet
    - lengthof
    - Dbg
    - TSReleaseAssert
    - TSMimeHdrFieldValueStringInsert
    - FindOrMakeHdrField
    - TSUrlStringGet
    linkageType: ''
    returnType: void
    signature: void InjectParentSelectionKeyHeader(TSHttpTxn txn, TSMBuffer buffer,
      TSMLoc hdr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:537,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:541,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:543,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:548,1
    - Dst: InjectCacheKeyHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:553,1
    - Dst: InjectCacheInfoHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:557,1
    - Dst: InjectCacheHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:561,1
    - Dst: InjectMilestonesHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:565,1
    - Dst: InjectGenerationHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:569,1
    - Dst: InjectTxnUuidHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:573,1
    - Dst: InjectRemapHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:577,1
    - Dst: InjectEffectiveURLHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:581,1
    - Dst: log_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:587,1
    - Dst: InjectOriginalContentTypeHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:591,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:592,1
    - Dst: get
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:592,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:593,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:595,1
    - Dst: writePostBody
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:599,1
    - Dst: InjectParentSelectionKeyHeader
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:603,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:607,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 534
    functionDepth: 7
    functionLinenumber: 534
    functionLinenumberEnd: 609
    functionName: XInjectResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    - log_headers
    - InjectOriginalContentTypeHeader
    - FetchSM::ext_read_data
    - InjectGenerationHeader
    - InjectCacheHeader
    - InjectCacheKeyHeader
    - get
    - InjectParentSelectionKeyHeader
    - writePostBody
    - Dbg
    - TSReleaseAssert
    - InjectEffectiveURLHeader
    - InjectCacheInfoHeader
    - TSHttpTxnReenable
    - InjectMilestonesHeader
    - InjectRemapHeader
    - InjectTxnUuidHeader
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int XInjectResponseHeaders(TSCont /* contp */, TSEvent event, void
      *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:616,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:616,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:622,1
    - Dst: swoc::TextView::prefix
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:622,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:622,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:626,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:626,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:628,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:636,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:642,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:643,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:645,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:646,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - value
    - fwdCnt
    argTypes:
    - std::string_view
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 656
    functionName: isFwdFieldValue
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::ltrim
    - swoc::TextView::remove_prefix
    - swoc::TextView::prefix
    - std::string_view::size
    - strcasecmp
    - swoc::TextView::size
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: bool
    signature: bool isFwdFieldValue(std::string_view value, intmax_t &fwdCnt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:663,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:672,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:674,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:676,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:680,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:683,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:685,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:691,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:695,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:699,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:701,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:703,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:705,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:707,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:709,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:711,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:713,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:715,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:716,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:718,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:720,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:723,1
    - Dst: BodyBuilder::BodyBuilder
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:726,1
    - Dst: auto::body_builder::reset
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:727,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:729,1
    - Dst: BodyBuilder*::transform_connp::reset
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:730,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:731,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:732,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:735,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:736,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:737,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:738,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:739,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:741,1
    - Dst: isFwdFieldValue
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:744,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:744,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:748,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:749,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:749,1
    - Dst: header_field_eq
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:751,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:754,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:761,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:764,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:771,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:771,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:772,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:773,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:777,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:782,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 660
    functionDepth: 5
    functionLinenumber: 660
    functionLinenumberEnd: 784
    functionName: XScanRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - header_field_eq
    - reinterpret_cast<void *>
    - FetchSM::ext_read_data
    - snprintf
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldNextDup
    - TSMimeHdrFieldFind
    - std::strlen
    - BodyBuilder*::transform_connp::reset
    - TSHttpTxnConfigIntSet
    - TSHttpTxnTransformedRespCache
    - TSMimeHdrFieldValuesCount
    - TSHttpTxnHookAdd
    - TSHttpTxnUntransformedRespCache
    - Dbg
    - TSTransformCreate
    - TSReleaseAssert
    - BodyBuilder::BodyBuilder
    - TSMimeHdrFieldValueStringSet
    - std::string_view
    - TSHttpTxnReenable
    - isFwdFieldValue
    - TSMimeHdrFieldValueStringGet
    - auto::body_builder::reset
    - TSContDataSet
    - static_cast<TSHttpTxn>
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: int
    signature: int XScanRequestHeaders(TSCont /* contp */, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - vptr
    - ','
    - vlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: header_field_eq
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: header_field_eq(name, vptr, vlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:791,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:797,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:799,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:801,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:805,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:810,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:811,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 817
    functionName: XDeleteDebugHdr
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - TSReleaseAssert
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldDestroy
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int XDeleteDebugHdr(TSCont /* contp */, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:826,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:827,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:827,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:828,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:828,1
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:829,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:829,1
    - Dst: end
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:829,1
    - Dst: name::compare
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:830,1
    - Dst: end
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:831,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:832,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:835,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:836,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 819
    functionDepth: 4
    functionLinenumber: 819
    functionLinenumberEnd: 840
    functionName: updateAllowedHeaders
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSError
    - TSstrdup
    - name::compare
    - std::transform
    - end
    - strtok_r
    - Dbg
    - strlen
    - std::find_if
    - std::begin
    linkageType: ''
    returnType: void
    signature: void updateAllowedHeaders(const char *optarg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:845,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:848,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:849,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:858,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:859,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:864,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:864,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:868,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:869,1
    - Dst: updateAllowedHeaders
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:872,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:882,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:886,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:888,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:893,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:894,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:895,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:896,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:896,1
    - Dst: atscppapi::TxnAuxDataMgr::init
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:898,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:901,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:902,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:903,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:904,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:905,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:905,1
    - Dst: gethostname
      Src: /src/trafficserver/plugins/xdebug/xdebug.cc:907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 842
    functionDepth: 5
    functionLinenumber: 842
    functionLinenumberEnd: 908
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug.cc
    functionUses: 0
    functionsReached:
    - updateAllowedHeaders
    - TSError
    - getopt_long
    - TSstrdup
    - const_cast<char *>
    - TSUserArgIndexReserve
    - TSUserArgSet
    - atscppapi::TxnAuxDataMgr::init
    - TSHttpHookAdd
    - const_cast<char *const *>
    - Dbg
    - TSReleaseAssert
    - TSContCreate
    - strlen
    - gethostname
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_request_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:38,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: getPreBody
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - print_request_headers
    linkageType: ''
    returnType: std::string
    signature: std::string getPreBody(TSHttpTxn txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_response_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:50,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: getPostBody
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc
    functionUses: 0
    functionsReached:
    - print_response_headers
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string getPostBody(TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BodyBuilder*::wrote_postbody::test_and_set
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:59,1
    - Dst: getPostBody
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:60,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:61,1
    - Dst: BodyBuilder*::output_buffer::get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:61,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:61,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:62,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:63,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - txn
    - data
    argTypes:
    - TSHttpTxn
    - BodyBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: writePostBody
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc
    functionUses: 1
    functionsReached:
    - TSVIONBytesSet
    - std::string::data
    - TSIOBufferWrite
    - BodyBuilder*::output_buffer::get
    - TSVIOReenable
    - getPostBody
    - Dbg
    - BodyBuilder*::wrote_postbody::test_and_set
    - std::string::length
    linkageType: ''
    returnType: void
    signature: void writePostBody(TSHttpTxn txn, BodyBuilder *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:71,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:71,1
    - Dst: FetchSM::ext_read_data
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:72,1
    - Dst: get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:72,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:76,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:81,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:86,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:86,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:90,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:94,1
    - Dst: BodyBuilder*::output_buffer::get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:97,1
    - Dst: BodyBuilder*::output_buffer::reset
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:98,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:98,1
    - Dst: BodyBuilder*::output_reader::reset
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:99,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:99,1
    - Dst: BodyBuilder*::output_buffer::get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:99,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:100,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:100,1
    - Dst: BodyBuilder*::output_reader::get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:104,1
    - Dst: getPreBody
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:105,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:106,1
    - Dst: BodyBuilder*::output_buffer::get
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:106,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:106,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:106,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:108,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:111,1
    - Dst: writePostBody
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:116,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:121,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:122,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:122,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:125,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:125,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:125,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:126,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:126,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:127,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:128,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:131,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:132,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:133,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:133,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:138,1
    - Dst: writePostBody
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:139,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:140,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 144
    functionName: body_transform
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_transforms.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - TSVConnShutdown
    - BodyBuilder*::output_buffer::get
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - FetchSM::ext_read_data
    - TSIOBufferCopy
    - TSContDataGet
    - TSVIONTodoGet
    - BodyBuilder*::output_buffer::reset
    - TSVIONDoneGet
    - get
    - TSVConnClosedGet
    - TSIOBufferReaderConsume
    - std::string::length
    - TSVConnWriteVIOGet
    - writePostBody
    - TSIOBufferReaderAvail
    - TSContCall
    - TSIOBufferWrite
    - Dbg
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - getPreBody
    - BodyBuilder*::output_reader::reset
    - static_cast<TSHttpTxn>
    - BodyBuilder*::output_reader::get
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int body_transform(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _after_value
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:53,1
    - Dst: _missing_value
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:59,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: operator()(char const &c)
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 0
    functionsReached:
    - _after_value
    - _missing_value
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view operator()(char const &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EscapeCharForJson::_after_value
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: EscapeCharForJson::backup
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 0
    functionsReached:
    - EscapeCharForJson::_after_value
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t backup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: EscapeCharForJson::_missing_value
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view _missing_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EscapeCharForJson::_missing_value
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: EscapeCharForJson::_after_name
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 0
    functionsReached:
    - EscapeCharForJson::_missing_value
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view _after_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EscapeCharForJson::_missing_value
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: EscapeCharForJson::_after_value
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 1
    functionsReached:
    - EscapeCharForJson::_missing_value
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view _after_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:130,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:131,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:136,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:139,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:141,1
    - Dst: escape_char_for_json
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:143,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:145,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:146,1
    - Dst: std::stringstream::seekp
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:149,1
    - Dst: EscapeCharForJson::backup
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:149,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:152,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:155,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:155,1
    - Dst: std::stringstream::tellp
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:155,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - ss
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::stringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: print_headers
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - escape_char_for_json
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::stringstream::tellp
    - Dbg
    - TSHttpHdrPrint
    - std::stringstream::seekp
    - TSIOBufferReaderAlloc
    - std::stringstream::str
    - EscapeCharForJson::backup
    linkageType: ''
    returnType: void
    signature: void print_headers(TSMBuffer bufp, TSMLoc hdr_loc, std::stringstream
      &ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:161,1
    - Dst: print_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:164,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - type_msg
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: log_headers
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 1
    functionsReached:
    - print_headers
    - Dbg
    - std::stringstream::str
    - 'on'
    linkageType: ''
    returnType: void
    signature: void log_headers(TSHttpTxn /* txn ATS_UNUSED */, TSMBuffer bufp, TSMLoc
      hdr_loc, char const *type_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:173,1
    - Dst: print_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:175,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:177,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:179,1
    - Dst: print_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:181,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - txn
    - output
    argTypes:
    - TSHttpTxn
    - std::stringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 185
    functionName: print_request_headers
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 1
    functionsReached:
    - print_headers
    - TSHttpTxnServerReqGet
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: void
    signature: void print_request_headers(TSHttpTxn txn, std::stringstream &output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:192,1
    - Dst: print_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:194,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:196,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:198,1
    - Dst: print_headers
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:200,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/xdebug/xdebug_headers.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - txn
    - output
    argTypes:
    - TSHttpTxn
    - std::stringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: print_response_headers
    functionSourceFile: /src/trafficserver/plugins/xdebug/xdebug_headers.cc
    functionUses: 1
    functionsReached:
    - print_headers
    - TSHttpTxnServerRespGet
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    linkageType: ''
    returnType: void
    signature: void print_response_headers(TSHttpTxn txn, std::stringstream &output)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: std::unordered_map::cend
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:62,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:63,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:68,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:71,1
    - Dst: std::unordered_map::emplace
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:75,1
    - Dst: std::unordered_map::at
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:78,1
    - Dst: likely
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:81,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - name
    - amount
    - persist_type
    - create_mutex
    argTypes:
    - char*
    - TSMgmtInt
    - TSStatPersistence
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 86
    functionName: stat_add
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSMutexLock
    - likely
    - std::unordered_map::cend
    - TSStatFindName
    - Dbg
    - std::unordered_map::at
    - std::unordered_map::find
    - TSMutexUnlock
    - unlikely
    - std::unordered_map::emplace
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void stat_add(const char *name, TSMgmtInt amount, TSStatPersistence
      persist_type, TSMutex create_mutex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:97,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:99,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:101,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:103,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:109,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:111,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:113,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:115,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:117,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - txnp
    - uriType
    argTypes:
    - TSHttpTxn
    - UriType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: get_hostname
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnPristineUrlGet
    - std::string::assign
    - TSUrlHostGet
    - TSHttpTxnClientReqGet
    - TSHttpHdrUrlGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_hostname(TSHttpTxn txnp, UriType uriType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:132,1
    - Dst: static_cast<config_t *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:133,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:133,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:134,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:135,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cont
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: handle_post_remap
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    - reinterpret_cast<void *>
    - Dbg
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<config_t *>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handle_post_remap(TSCont cont, TSEvent event ATS_UNUSED, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::clear
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:144,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:145,1
    - Dst: swoc::FixedBufferWriter::restore
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stat_name
    - h
    - b
    argTypes:
    - swoc::FixedBufferWriter
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: create_stat_name
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::clear
    - swoc::FixedBufferWriter::print
    - swoc::FixedBufferWriter::restore
    linkageType: ''
    returnType: void
    signature: void create_stat_name(swoc::FixedBufferWriter &stat_name, std::string_view
      const h, std::string_view const b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:152,1
    - Dst: static_cast<config_t *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:153,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:153,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:154,1
    - Dst: get_hostname
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:163,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:169,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:170,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:174,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: TSHttpTxnClientRespHdrBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:177,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:178,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:180,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:185,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:186,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:187,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:190,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:192,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:194,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:196,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:198,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:200,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:203,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:203,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:205,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:206,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:209,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - cont
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 215
    functionName: handle_txn_close
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - create_stat_name
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpTxnClientRespBodyBytesGet
    - TSContDataGet
    - get_hostname
    - TSHttpHdrStatusGet
    - std::string::empty
    - TSHttpTxnClientReqBodyBytesGet
    - static_cast<config_t *>
    - static_cast<int>
    - stat_add
    - TSHttpTxnClientReqHdrBytesGet
    - static_cast<TSMgmtInt>
    - Dbg
    - TSUserArgGet
    - TSHttpTxnReenable
    - swoc::LocalBufferWriter::data
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientRespHdrBytesGet
    linkageType: ''
    returnType: int
    signature: int handle_txn_close(TSCont cont, TSEvent event ATS_UNUSED, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: std::unordered_map::cend
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:58,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:62,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:63,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:68,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:71,1
    - Dst: std::unordered_map::emplace
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:74,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:75,1
    - Dst: std::unordered_map::at
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:78,1
    - Dst: likely
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:81,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - name
    - amount
    - persist_type
    - create_mutex
    argTypes:
    - char*
    - TSMgmtInt
    - TSStatPersistence
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 86
    functionName: stat_add
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 1
    functionsReached:
    - TSStatCreate
    - TSMutexLock
    - likely
    - std::unordered_map::cend
    - TSStatFindName
    - Dbg
    - std::unordered_map::at
    - std::unordered_map::find
    - TSMutexUnlock
    - unlikely
    - std::unordered_map::emplace
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void stat_add(const char *name, TSMgmtInt amount, TSStatPersistence
      persist_type, TSMutex create_mutex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:97,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:99,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:101,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:103,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:109,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:111,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:113,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:115,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:117,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - txnp
    - uriType
    argTypes:
    - TSHttpTxn
    - UriType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: get_hostname
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnPristineUrlGet
    - std::string::assign
    - TSUrlHostGet
    - TSHttpTxnClientReqGet
    - TSHttpHdrUrlGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_hostname(TSHttpTxn txnp, UriType uriType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:132,1
    - Dst: static_cast<config_t *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:133,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:133,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:134,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:135,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cont
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: handle_post_remap
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    - reinterpret_cast<void *>
    - Dbg
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<config_t *>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handle_post_remap(TSCont cont, TSEvent event ATS_UNUSED, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::clear
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:144,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:145,1
    - Dst: swoc::FixedBufferWriter::restore
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stat_name
    - h
    - b
    argTypes:
    - swoc::FixedBufferWriter
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: create_stat_name
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 1
    functionsReached:
    - swoc::FixedBufferWriter::clear
    - swoc::FixedBufferWriter::print
    - swoc::FixedBufferWriter::restore
    linkageType: ''
    returnType: void
    signature: void create_stat_name(swoc::FixedBufferWriter &stat_name, std::string_view
      const h, std::string_view const b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:152,1
    - Dst: static_cast<config_t *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:153,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:153,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:154,1
    - Dst: get_hostname
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:163,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:169,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:170,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:174,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:175,1
    - Dst: TSHttpTxnClientRespHdrBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:177,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:178,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:180,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: static_cast<TSMgmtInt>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:181,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:185,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:186,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:187,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:190,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:192,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:194,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:196,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:198,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:200,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:203,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:203,1
    - Dst: create_stat_name
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:205,1
    - Dst: stat_add
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:206,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:209,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:212,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - cont
    - ATS_UNUSED
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 215
    functionName: handle_txn_close
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - create_stat_name
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpTxnClientRespBodyBytesGet
    - TSContDataGet
    - get_hostname
    - TSHttpHdrStatusGet
    - std::string::empty
    - TSHttpTxnClientReqBodyBytesGet
    - static_cast<config_t *>
    - static_cast<int>
    - stat_add
    - TSHttpTxnClientReqHdrBytesGet
    - static_cast<TSMgmtInt>
    - Dbg
    - TSUserArgGet
    - TSHttpTxnReenable
    - swoc::LocalBufferWriter::data
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientRespHdrBytesGet
    linkageType: ''
    returnType: int
    signature: int handle_txn_close(TSCont cont, TSEvent event ATS_UNUSED, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:227,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:232,1
    - Dst: config_t::config_t
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:235,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:246,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:249,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:254,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:257,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:258,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:258,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:259,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:262,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:263,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:263,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:264,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/remap_stats/remap_stats.cc:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 267
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/remap_stats/remap_stats.cc
    functionUses: 0
    functionsReached:
    - config_t::config_t
    - static_cast<void *>
    - TSError
    - TSUserArgIndexReserve
    - TSContDataSet
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/escalate/escalate.cc:62,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: EscalationState
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void EscalationState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/escalate/escalate.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~EscalationState()
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~EscalationState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/escalate/escalate.cc:81,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:83,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/escalate/escalate.cc:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/escalate/escalate.cc:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/escalate/escalate.cc:84,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/plugins/escalate/escalate.cc:85,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:87,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mbuf
    - url
    - host
    - host_len
    - url_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: MakeEscalateUrl
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - swoc::SWOC_VERSION_NS::svtou
    - TSUrlPortSet
    - Dbg
    - std::string_view::size
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - std::string_view::data
    - TSUrlStringGet
    linkageType: ''
    returnType: char
    signature: 'char *

      MakeEscalateUrl(TSMBuffer mbuf, TSMLoc url, const char *host, size_t host_len,
      int &url_len)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/escalate/escalate.cc:101,1
    - Dst: static_cast<EscalationState *>
      Src: /src/trafficserver/plugins/escalate/escalate.cc:102,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:102,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/escalate/escalate.cc:106,1
    - Dst: TSHttpTxnServerStateGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:110,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/escalate/escalate.cc:113,1
    - Dst: TSHttpTxnRedirectRetries
      Src: /src/trafficserver/plugins/escalate/escalate.cc:118,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:120,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/escalate/escalate.cc:121,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:127,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:129,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/escalate/escalate.cc:132,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:137,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/escalate/escalate.cc:138,1
    - Dst: EscalationState*::status_map::find
      Src: /src/trafficserver/plugins/escalate/escalate.cc:141,1
    - Dst: EscalationState*::status_map::end
      Src: /src/trafficserver/plugins/escalate/escalate.cc:142,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/escalate/escalate.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:148,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/escalate/escalate.cc:152,1
    - Dst: EscalationState::RetryInfo::target::c_str
      Src: /src/trafficserver/plugins/escalate/escalate.cc:152,1
    - Dst: EscalationState::RetryInfo::target::size
      Src: /src/trafficserver/plugins/escalate/escalate.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:154,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:157,1
    - Dst: MakeEscalateUrl
      Src: /src/trafficserver/plugins/escalate/escalate.cc:158,1
    - Dst: EscalationState::RetryInfo::target::c_str
      Src: /src/trafficserver/plugins/escalate/escalate.cc:158,1
    - Dst: EscalationState::RetryInfo::target::size
      Src: /src/trafficserver/plugins/escalate/escalate.cc:158,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/escalate/escalate.cc:159,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:162,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:163,1
    - Dst: MakeEscalateUrl
      Src: /src/trafficserver/plugins/escalate/escalate.cc:164,1
    - Dst: EscalationState::RetryInfo::target::c_str
      Src: /src/trafficserver/plugins/escalate/escalate.cc:164,1
    - Dst: EscalationState::RetryInfo::target::size
      Src: /src/trafficserver/plugins/escalate/escalate.cc:164,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/escalate/escalate.cc:167,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:170,1
    - Dst: TSHttpTxnRedirectUrlSet
      Src: /src/trafficserver/plugins/escalate/escalate.cc:175,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/escalate/escalate.cc:179,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 181
    functionName: EscalateResponse
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSAssert
    - EscalationState::RetryInfo::target::size
    - TSHttpTxnServerStateGet
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - EscalationState*::status_map::end
    - TSHttpTxnRedirectUrlSet
    - TSHttpHdrStatusGet
    - TSHttpTxnPristineUrlGet
    - static_cast<EscalationState *>
    - MakeEscalateUrl
    - TSstrdup
    - Dbg
    - TSHttpTxnRedirectRetries
    - TSHttpHdrUrlGet
    - TSHttpTxnReenable
    - EscalationState*::status_map::find
    - static_cast<TSHttpTxn>
    - EscalationState::RetryInfo::target::c_str
    linkageType: ''
    returnType: int
    signature: int EscalateResponse(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api */, char * /* errbuf
      */, int /* bufsz */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EscalationState::EscalationState
      Src: /src/trafficserver/plugins/escalate/escalate.cc:192,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/escalate/escalate.cc:200,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/escalate/escalate.cc:204,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/escalate/escalate.cc:206,1
    - Dst: EscalationState::RetryInfo::target::find
      Src: /src/trafficserver/plugins/escalate/escalate.cc:217,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:219,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:222,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/escalate/escalate.cc:225,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/escalate/escalate.cc:225,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/escalate/escalate.cc:226,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/escalate/escalate.cc:229,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/escalate/escalate.cc:229,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/escalate/escalate.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/escalate/escalate.cc:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - argc
    - argv
    - instance
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 245
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - EscalationState::EscalationState
    - strncasecmp
    - std::distance
    - Dbg
    - strchr
    - snprintf
    - strtok_r
    - EscalationState::RetryInfo::target::find
    - strtol
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EscalationState *>
      Src: /src/trafficserver/plugins/escalate/escalate.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - static_cast<EscalationState *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EscalationState *>
      Src: /src/trafficserver/plugins/escalate/escalate.cc:256,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/escalate/escalate.cc:258,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/escalate/escalate.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - instance
    - txn
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/escalate/escalate.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - static_cast<EscalationState *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txn, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: UrlComponents
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlComponents()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:86,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:87,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:88,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:89,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bufp
    - url
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: populate
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 3
    functionsReached:
    - TSUrlPathGet
    - TSUrlPortGet
    - TSUrlHostGet
    - TSUrlSchemeGet
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: void
    signature: void populate(TSMBuffer bufp, TSMLoc url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:117,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:118,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:119,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:122,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: ~RemapRegex()
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSfree
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void ~RemapRegex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: RemapRegex::increment
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - ink_atomic_increment
    linkageType: ''
    returnType: void
    signature: void increment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ix
    - max
    - now
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: RemapRegex::print
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print(int ix, int max, const char *now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - ovector
    argTypes:
    - char*
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: RemapRegex::match
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: int match(const char *str, int len, int ovector[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - RemapRegex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: RemapRegex::set_next
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(RemapRegex *next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: RemapRegex::next
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RemapRegex
    signature: "RemapRegex *\n  next() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: RemapRegex::set_order
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_order(int order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: RemapRegex::order
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int order()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: RemapRegex::regex
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  regex() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: RemapRegex::regex_empty
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool regex_empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: RemapRegex::status_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus status_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: RemapRegex::active_timeout_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int active_timeout_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: RemapRegex::no_activity_timeout_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_activity_timeout_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: RemapRegex::connect_timeout_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int connect_timeout_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: RemapRegex::dns_timeout_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_timeout_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: RemapRegex::lowercase_substitutions_option
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool lowercase_substitutions_option() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: RemapRegex::get_overrides
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Override
    signature: "Override *\n  get_overrides() const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:274,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:275,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:275,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:278,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:279,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:279,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:280,1
    - Dst: memset
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:283,1
    - Dst: memset
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:284,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:287,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:295,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:296,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:298,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:304,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:308,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:310,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:312,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:314,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:314,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:316,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:317,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:317,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:317,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:318,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:319,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:319,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:320,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:321,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:321,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:322,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:323,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:323,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:324,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:325,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:325,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:329,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:331,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:331,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:331,1
    - Dst: Override::Override
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:332,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:334,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:334,1
    - Dst: strtoll
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:337,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:337,1
    - Dst: strtof
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:340,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:340,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:343,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:343,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:344,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:347,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:347,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:350,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:350,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:350,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:354,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:356,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:358,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:362,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:362,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:365,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 3
    argNames:
    - reg
    - sub
    - opt
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 369
    functionName: RemapRegex::initialize
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - static_cast<TSHttpStatus>
    - TSHttpTxnConfigFind
    - std::unique_ptr::get
    - std::string::empty
    - std::string::length
    - std::string::c_str
    - TSError
    - std::unique_ptr::release
    - TSstrdup
    - std::string::compare
    - std::string::find_first_of
    - Dbg
    - Override::Override
    - TSReleaseAssert
    - strtol
    - memset
    - strtof
    - std::string::size
    - strtoll
    linkageType: ''
    returnType: bool
    signature: bool RemapRegex::initialize(const std::string &reg, const std::string
      &sub, const std::string &opt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:382,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:392,1
    - Dst: pcre_fullinfo
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:401,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:414,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - error
    - erroffset
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 468
    functionName: RemapRegex::compile
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - pcre_compile
    - isdigit
    - pcre_study
    - pcre_fullinfo
    linkageType: ''
    returnType: int
    signature: int RemapRegex::compile(const char *&error, int &erroffset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:492,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - ovector
    - lengths
    - rri
    - req_url
    argTypes:
    - int[]
    - int[]
    - TSRemapRequestInfo*
    - UrlComponents*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 522
    functionName: RemapRegex::get_lengths
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostGet
    linkageType: ''
    returnType: int
    signature: int RemapRegex::get_lengths(const int ovector[], int lengths[], TSRemapRequestInfo
      *rri, UrlComponents *req_url)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:540,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:543,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:556,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:559,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:562,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:578,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:578,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:579,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:586,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:595,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:601,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:606,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 8
    argNames:
    - dest
    - src
    - ovector
    - lengths
    - txnp
    - rri
    - req_url
    - lowercase_substitutions
    argTypes:
    - char[]
    - char*
    - int[]
    - int[]
    - TSHttpTxn
    - TSRemapRequestInfo*
    - UrlComponents*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 611
    functionName: RemapRegex::substitute
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - tolower
    - ats_ip_ntop
    - snprintf
    - TSUrlHostGet
    - strlen
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: int
    signature: "int RemapRegex::substitute(char dest[], const char *src, const int
      ovector[], const int lengths[], TSHttpTxn txnp,\n                       TSRemapRequestInfo
      *rri, UrlComponents *req_url, bool lowercase_substitutions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: RemapInstance
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemapInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:636,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: RemapInstance::RemapInstance
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:647,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:655,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:660,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:666,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:668,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:670,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:672,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:674,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:676,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:678,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:680,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:682,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:684,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:687,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:696,1
    - Dst: access
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:701,1
    - Dst: RemapInstance*::filename::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:701,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:702,1
    - Dst: RemapInstance*::filename::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:702,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:702,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:706,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:706,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:707,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:708,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:708,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:711,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:711,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:713,1
    - Dst: getline
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:717,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:719,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:723,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:729,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:731,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:732,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:734,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:736,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:738,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:739,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:741,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:743,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:745,1
    - Dst: empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:751,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:753,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:753,1
    - Dst: empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:756,1
    - Dst: empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:756,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:758,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:758,1
    - Dst: RemapRegex::RemapRegex
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:763,1
    - Dst: std::unique_ptr::initialize
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:765,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:766,1
    - Dst: std::unique_ptr::compile
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:772,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:774,1
    - Dst: std::unique_ptr::regex_empty
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:779,1
    - Dst: std::unique_ptr::regex
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:782,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:784,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:784,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:786,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:786,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:786,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:786,1
    - Dst: std::unique_ptr::set_order
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:787,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:788,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:790,1
    - Dst: RemapInstance*::last::set_next
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:792,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:792,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:800,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 133
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 805
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - RemapInstance*::last::set_next
    - TSConfigDirGet
    - std::ostringstream::str
    - strerror
    - RemapInstance::RemapInstance
    - std::unique_ptr::get
    - std::string::empty
    - std::unique_ptr::regex
    - std::unique_ptr::set_order
    - std::unique_ptr::regex_empty
    - std::string::length
    - empty
    - strncmp
    - strcmp
    - getline
    - TSError
    - std::unique_ptr::release
    - RemapRegex::RemapRegex
    - std::ifstream::open
    - std::string::find_first_of
    - Dbg
    - std::unique_ptr::compile
    - std::unique_ptr::initialize
    - std::ifstream::is_open
    - std::string::find_first_not_of
    - RemapInstance*::filename::c_str
    - c_str
    - access
    - std::ifstream::eof
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_sizeATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapInstance *>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:810,1
    - Dst: time
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:816,1
    - Dst: ink_ctime_r
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:818,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:819,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:821,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:824,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:824,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:825,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:826,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:827,1
    - Dst: RemapRegex*::print
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:834,1
    - Dst: RemapRegex*::next
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:835,1
    - Dst: RemapRegex*::get_overrides
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:843,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:849,1
    - Dst: RemapRegex*::next
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 860
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - TSfree
    - static_cast<RemapInstance *>
    - ink_ctime_r
    - c_str
    - strncpy
    - strlen
    - RemapRegex*::print
    - RemapRegex*::next
    - RemapRegex*::get_overrides
    - time
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:869,1
    - Dst: static_cast<RemapInstance *>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:872,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:889,1
    - Dst: UrlComponents::UrlComponents
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:899,1
    - Dst: UrlComponents::populate
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:900,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:910,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:910,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:918,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:918,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:919,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:924,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:930,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:931,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:938,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:944,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:948,1
    - Dst: RemapRegex*::match
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:953,1
    - Dst: RemapRegex*::get_lengths
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:955,1
    - Dst: RemapRegex*::active_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:958,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:959,1
    - Dst: RemapRegex*::active_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:959,1
    - Dst: TSHttpTxnActiveTimeoutSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:960,1
    - Dst: RemapRegex*::active_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:960,1
    - Dst: RemapRegex*::no_activity_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:962,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:963,1
    - Dst: RemapRegex*::no_activity_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:963,1
    - Dst: TSHttpTxnNoActivityTimeoutSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:964,1
    - Dst: RemapRegex*::no_activity_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:964,1
    - Dst: RemapRegex*::connect_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:966,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:967,1
    - Dst: RemapRegex*::connect_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:967,1
    - Dst: TSHttpTxnConnectTimeoutSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:968,1
    - Dst: RemapRegex*::connect_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:968,1
    - Dst: RemapRegex*::dns_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:970,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:971,1
    - Dst: RemapRegex*::dns_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:971,1
    - Dst: TSHttpTxnDNSTimeoutSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:972,1
    - Dst: RemapRegex*::dns_timeout_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:972,1
    - Dst: RemapRegex*::lowercase_substitutions_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:975,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:976,1
    - Dst: RemapRegex*::get_overrides
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:980,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:985,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:986,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:989,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:990,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:993,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:994,1
    - Dst: RemapRegex*::increment
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1004,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1005,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1011,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1011,1
    - Dst: RemapRegex*::substitute
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1012,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1014,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1015,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1016,1
    - Dst: RemapRegex*::order
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1016,1
    - Dst: RemapRegex*::regex
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1016,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1019,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1020,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1020,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1021,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1022,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1024,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1024,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1028,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1028,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1029,1
    - Dst: RemapRegex*::status_option
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1029,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1038,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1039,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1040,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1046,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1047,1
    - Dst: RemapRegex*::regex
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1047,1
    - Dst: RemapInstance*::filename::c_str
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1048,1
    - Dst: RemapRegex*::next
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1052,1
    - Dst: ink_atomic_increment
      Src: /src/trafficserver/plugins/regex_remap/regex_remap.cc:1056,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 130
    argCount: 3
    argNames:
    - ih
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 1062
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/regex_remap/regex_remap.cc
    functionUses: 0
    functionsReached:
    - UrlComponents::UrlComponents
    - memcpy
    - TSHttpHdrMethodGet
    - RemapRegex*::active_timeout_option
    - alloca
    - TSHttpTxnConfigFloatSet
    - TSHttpTxnClientReqGet
    - RemapRegex*::get_overrides
    - RemapRegex*::regex
    - RemapRegex*::increment
    - RemapRegex*::status_option
    - RemapRegex*::lowercase_substitutions_option
    - RemapRegex*::substitute
    - TSHttpTxnConnectTimeoutSet
    - TSHttpTxnConfigStringSet
    - TSHttpTxnPristineUrlGet
    - static_cast<char *>
    - ink_atomic_increment
    - TSHttpTxnConfigIntSet
    - RemapRegex*::no_activity_timeout_option
    - UrlComponents::populate
    - TSUrlParse
    - TSHttpTxnActiveTimeoutSet
    - RemapRegex*::get_lengths
    - TSError
    - TSHttpTxnNoActivityTimeoutSet
    - RemapRegex*::match
    - static_cast<RemapInstance *>
    - Dbg
    - RemapRegex*::order
    - TSHttpTxnStatusSet
    - RemapRegex*::connect_timeout_option
    - RemapRegex*::dns_timeout_option
    - TSHttpTxnDNSTimeoutSet
    - RemapRegex*::next
    - static_cast<TSHttpTxn>
    - RemapInstance*::filename::c_str
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: operator()(X509 *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: operator()(X509_REQ *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509_REQ *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operator()(EVP_PKEY *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_PKEY *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: operator()(SSL_CTX *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(SSL_CTX *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: operator()(X509 *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509 *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: operator()(X509_REQ *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    linkageType: ''
    returnType: void
    signature: void operator()(X509_REQ *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operator()(EVP_PKEY *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_PKEY *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: operator()(SSL_CTX *n)
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(SSL_CTX *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: SslLRUList::SslData
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SslData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~SslData()
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SslData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: SslLRUList::SslLRUList
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void SslLRUList(int in_limit = 4096)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~SslLRUList()
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    linkageType: ''
    returnType: void
    signature: void ~SslLRUList()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:139,1
    - Dst: find
      Src: /src/trafficserver/plugins/certifier/certifier.cc:140,1
    - Dst: end
      Src: /src/trafficserver/plugins/certifier/certifier.cc:142,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:144,1
    - Dst: SslData*::ctx::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:147,1
    - Dst: SslData*::vconnQ::push
      Src: /src/trafficserver/plugins/certifier/certifier.cc:149,1
    - Dst: scoped_SslData::reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:153,1
    - Dst: SslData::SslData
      Src: /src/trafficserver/plugins/certifier/certifier.cc:153,1
    - Dst: scoped_SslData::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:154,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:155,1
    - Dst: SslData*::vconnQ::push
      Src: /src/trafficserver/plugins/certifier/certifier.cc:156,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:158,1
    - Dst: SslLRUList::prepend
      Src: /src/trafficserver/plugins/certifier/certifier.cc:163,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - servername
    - edata
    - wontdo
    argTypes:
    - char*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 170
    functionName: SslLRUList::lookup_and_create
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - scoped_SslData::get
    - SslLRUList::prepend
    - TSMutexLock
    - find
    - SslData*::ctx::get
    - end
    - std::move
    - TSMutexUnlock
    - SslData*::vconnQ::push
    - scoped_SslData::reset
    - auto::second::get
    - SslData::SslData
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *\n  lookup_and_create(const char *servername, void *edata,
      bool &wontdo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:180,1
    - Dst: find
      Src: /src/trafficserver/plugins/certifier/certifier.cc:181,1
    - Dst: end
      Src: /src/trafficserver/plugins/certifier/certifier.cc:182,1
    - Dst: std::swap
      Src: /src/trafficserver/plugins/certifier/certifier.cc:183,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:184,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:185,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - commonName
    - localQ
    - ctx
    - cert
    - wontdo
    argTypes:
    - std::string
    - std::queue<void *>
    - std::unique_ptr<SSL_CTX>
    - std::unique_ptr<X509>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: SslLRUList::setup_data_ctx
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - find
    - end
    - TSMutexUnlock
    - std::move
    - std::swap
    linkageType: ''
    returnType: void
    signature: "void setup_data_ctx(const std::string &commonName, std::queue<void
      *> &localQ, std::unique_ptr<SSL_CTX> ctx,\n                 std::unique_ptr<X509>
      cert, const bool &wontdo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:195,1
    - Dst: SslLRUList::remove_from_list
      Src: /src/trafficserver/plugins/certifier/certifier.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:217,1
    - Dst: commonName::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:217,1
    - Dst: find
      Src: /src/trafficserver/plugins/certifier/certifier.cc:218,1
    - Dst: end
      Src: /src/trafficserver/plugins/certifier/certifier.cc:219,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:220,1
    - Dst: erase
      Src: /src/trafficserver/plugins/certifier/certifier.cc:221,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:230,1
    - Dst: SslData*::commonName::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:230,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:231,1
    - Dst: size
      Src: /src/trafficserver/plugins/certifier/certifier.cc:231,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - SslData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 234
    functionName: SslLRUList::prepend
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - commonName::c_str
    - erase
    - TSMutexLock
    - find
    - SslData*::commonName::c_str
    - end
    - Dbg
    - TSMutexUnlock
    - std::move
    - SslLRUList::remove_from_list
    - size
    linkageType: ''
    returnType: void
    signature: void prepend(SslData *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:240,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - SslData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: SslLRUList::remove_from_list
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 1
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void remove_from_list(SslData *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:268,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: SslLRUList::get_newest
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: SslData
    signature: "SslData *\n  get_newest()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:277,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: SslLRUList::get_oldest
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: SslData
    signature: "SslData *\n  get_oldest()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:286,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: SslLRUList::get_size
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: int
    signature: int get_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:297,1
    - Dst: find
      Src: /src/trafficserver/plugins/certifier/certifier.cc:298,1
    - Dst: end
      Src: /src/trafficserver/plugins/certifier/certifier.cc:299,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - commonName
    - flag
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: SslLRUList::set_schedule
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - find
    - TSMutexUnlock
    - TSMutexLock
    - end
    linkageType: ''
    returnType: int
    signature: int set_schedule(const std::string &commonName, bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:334,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/trafficserver/plugins/certifier/certifier.cc:335,1
    - Dst: GENERAL_NAME_new
      Src: /src/trafficserver/plugins/certifier/certifier.cc:336,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/trafficserver/plugins/certifier/certifier.cc:337,1
    - Dst: ASN1_STRING_set
      Src: /src/trafficserver/plugins/certifier/certifier.cc:338,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/certifier/certifier.cc:338,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/certifier/certifier.cc:338,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/trafficserver/plugins/certifier/certifier.cc:340,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/trafficserver/plugins/certifier/certifier.cc:341,1
    - Dst: X509_add1_ext_i2d
      Src: /src/trafficserver/plugins/certifier/certifier.cc:342,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/trafficserver/plugins/certifier/certifier.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - dnsName
    argTypes:
    - X509*
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: addSANExtToCert
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_set0_value
    - ASN1_STRING_set
    - sk_GENERAL_NAME_pop_free
    - std::string_view::length
    - GENERAL_NAME_new
    - ASN1_IA5STRING_new
    - Dbg
    - X509_add1_ext_i2d
    - sk_GENERAL_NAME_new_null
    - std::string_view::data
    - sk_GENERAL_NAME_push
    linkageType: ''
    returnType: void
    signature: void addSANExtToCert(X509 *cert, std::string_view dnsName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scoped_X509::reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:353,1
    - Dst: X509_new
      Src: /src/trafficserver/plugins/certifier/certifier.cc:353,1
    - Dst: X509_set_version
      Src: /src/trafficserver/plugins/certifier/certifier.cc:356,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:356,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:357,1
    - Dst: ASN1_INTEGER_set
      Src: /src/trafficserver/plugins/certifier/certifier.cc:362,1
    - Dst: X509_get_serialNumber
      Src: /src/trafficserver/plugins/certifier/certifier.cc:362,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:362,1
    - Dst: X509_set_issuer_name
      Src: /src/trafficserver/plugins/certifier/certifier.cc:365,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:365,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/certifier/certifier.cc:365,1
    - Dst: get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:365,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:366,1
    - Dst: X509_gmtime_adj
      Src: /src/trafficserver/plugins/certifier/certifier.cc:371,1
    - Dst: X509_get_notBefore
      Src: /src/trafficserver/plugins/certifier/certifier.cc:371,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:371,1
    - Dst: X509_gmtime_adj
      Src: /src/trafficserver/plugins/certifier/certifier.cc:372,1
    - Dst: X509_get_notAfter
      Src: /src/trafficserver/plugins/certifier/certifier.cc:372,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:372,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:372,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/certifier/certifier.cc:375,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:375,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/trafficserver/plugins/certifier/certifier.cc:377,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:377,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:378,1
    - Dst: X509_set_pubkey
      Src: /src/trafficserver/plugins/certifier/certifier.cc:383,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:383,1
    - Dst: get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:383,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:384,1
    - Dst: addSANExtToCert
      Src: /src/trafficserver/plugins/certifier/certifier.cc:389,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:389,1
    - Dst: X509_sign
      Src: /src/trafficserver/plugins/certifier/certifier.cc:392,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:392,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/certifier/certifier.cc:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - commonName
    - serial
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 395
    functionName: mkcrt
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - X509_set_version
    - X509_get_subject_name
    - static_cast<long>
    - scoped_X509::get
    - X509_get_notBefore
    - scoped_X509::reset
    - X509_set_pubkey
    - get
    - X509_get_serialNumber
    - X509_set_issuer_name
    - std::string::c_str
    - TSError
    - X509_gmtime_adj
    - X509_new
    - X509_NAME_add_entry_by_txt
    - ASN1_INTEGER_set
    - addSANExtToCert
    - X509_sign
    - X509_get_notAfter
    - EVP_sha256
    linkageType: ''
    returnType: scoped_X509
    signature: scoped_X509 mkcrt(const std::string &commonName, int serial)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:400,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/certifier/certifier.cc:400,1
    - Dst: MD5
      Src: /src/trafficserver/plugins/certifier/certifier.cc:411,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:411,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/certifier/certifier.cc:411,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/certifier/certifier.cc:411,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/certifier/certifier.cc:413,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/certifier/certifier.cc:414,1
    - Dst: stat
      Src: /src/trafficserver/plugins/certifier/certifier.cc:420,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:420,1
    - Dst: mkdir
      Src: /src/trafficserver/plugins/certifier/certifier.cc:421,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:421,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/certifier/certifier.cc:424,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:424,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:426,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:426,1
    - Dst: scoped_X509::reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:429,1
    - Dst: PEM_read_X509
      Src: /src/trafficserver/plugins/certifier/certifier.cc:429,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/certifier/certifier.cc:430,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:434,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:434,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:436,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:436,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:443,1
    - Dst: setup_data_ctx
      Src: /src/trafficserver/plugins/certifier/certifier.cc:446,1
    - Dst: std::queue::empty
      Src: /src/trafficserver/plugins/certifier/certifier.cc:447,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:449,1
    - Dst: std::queue::front
      Src: /src/trafficserver/plugins/certifier/certifier.cc:449,1
    - Dst: std::queue::pop
      Src: /src/trafficserver/plugins/certifier/certifier.cc:450,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/certifier/certifier.cc:451,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:453,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:456,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:459,1
    - Dst: seekp
      Src: /src/trafficserver/plugins/certifier/certifier.cc:464,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/certifier/certifier.cc:468,1
    - Dst: mkcrt
      Src: /src/trafficserver/plugins/certifier/certifier.cc:471,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:473,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:474,1
    - Dst: set_schedule
      Src: /src/trafficserver/plugins/certifier/certifier.cc:475,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/certifier/certifier.cc:480,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/certifier/certifier.cc:480,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:481,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/certifier/certifier.cc:481,1
    - Dst: PEM_write_X509
      Src: /src/trafficserver/plugins/certifier/certifier.cc:483,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:484,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/certifier/certifier.cc:486,1
    - Dst: SSL_CTX_new
      Src: /src/trafficserver/plugins/certifier/certifier.cc:491,1
    - Dst: SSLv23_server_method
      Src: /src/trafficserver/plugins/certifier/certifier.cc:491,1
    - Dst: scoped_SSL_CTX::reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:492,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:494,1
    - Dst: scoped_X509::get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:494,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:495,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:496,1
    - Dst: set_schedule
      Src: /src/trafficserver/plugins/certifier/certifier.cc:497,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/trafficserver/plugins/certifier/certifier.cc:500,1
    - Dst: get
      Src: /src/trafficserver/plugins/certifier/certifier.cc:500,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:501,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:502,1
    - Dst: set_schedule
      Src: /src/trafficserver/plugins/certifier/certifier.cc:503,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:506,1
    - Dst: setup_data_ctx
      Src: /src/trafficserver/plugins/certifier/certifier.cc:507,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:507,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/certifier/certifier.cc:507,1
    - Dst: std::queue::empty
      Src: /src/trafficserver/plugins/certifier/certifier.cc:510,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:511,1
    - Dst: std::queue::size
      Src: /src/trafficserver/plugins/certifier/certifier.cc:511,1
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:512,1
    - Dst: std::queue::front
      Src: /src/trafficserver/plugins/certifier/certifier.cc:512,1
    - Dst: std::queue::pop
      Src: /src/trafficserver/plugins/certifier/certifier.cc:513,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/certifier/certifier.cc:514,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:515,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/trafficserver/plugins/certifier/certifier.cc:516,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/certifier/certifier.cc:517,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/certifier/certifier.cc:520,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 522
    functionName: shadow_cert_generator
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - setup_data_ctx
    - SSL_CTX_new
    - std::queue::size
    - mkdir
    - stat
    - std::string::data
    - TSContDestroy
    - std::string
    - scoped_X509::get
    - scoped_X509::reset
    - snprintf
    - TSContDataGet
    - std::queue::empty
    - strerror
    - MD5
    - get
    - scoped_SSL_CTX::reset
    - fclose
    - reinterpret_cast<unsigned char const *>
    - SSL_CTX_use_PrivateKey
    - seekp
    - std::string::length
    - reinterpret_cast<SSL *>
    - mkcrt
    - std::move
    - TSVConnSslConnectionGet
    - std::string::c_str
    - std::queue::front
    - TSError
    - PEM_write_X509
    - std::queue::pop
    - Dbg
    - TSMutexUnlock
    - SSLv23_server_method
    - TSMutexLock
    - fopen
    - reinterpret_cast<const char *>
    - set_schedule
    - PEM_read_X509
    - TSVConnReenable
    - SSL_set_SSL_CTX
    - SSL_CTX_use_certificate
    linkageType: ''
    returnType: int
    signature: int shadow_cert_generator(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSVConn>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:528,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/certifier/certifier.cc:529,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:530,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/certifier/certifier.cc:531,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:535,1
    - Dst: lookup_and_create
      Src: /src/trafficserver/plugins/certifier/certifier.cc:540,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:543,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/certifier/certifier.cc:544,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:550,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/trafficserver/plugins/certifier/certifier.cc:551,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/certifier/certifier.cc:552,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:557,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:558,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:558,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/certifier/certifier.cc:559,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:559,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/certifier/certifier.cc:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 563
    functionName: cert_retriever
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSVConn>
    - TSError
    - TSContScheduleOnPool
    - const_cast<char *>
    - TSVConnReenable
    - TSContDataSet
    - Dbg
    - lookup_and_create
    - TSContCreate
    - SSL_get_servername
    - reinterpret_cast<SSL *>
    - TSMutexCreate
    - SSL_set_SSL_CTX
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: int
    signature: int cert_retriever(TSCont /* contp ATS_UNUSED */, TSEvent /* event
      ATS_UNUSED */, void *edata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:568,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/certifier/certifier.cc:592,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:592,1
    - Dst: reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:607,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/certifier/certifier.cc:607,1
    - Dst: std::strtol
      Src: /src/trafficserver/plugins/certifier/certifier.cc:607,1
    - Dst: SslLRUList::SslLRUList
      Src: /src/trafficserver/plugins/certifier/certifier.cc:607,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/certifier/certifier.cc:611,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:618,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:619,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/certifier/certifier.cc:625,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:626,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:630,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:631,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/certifier/certifier.cc:641,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:642,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/certifier/certifier.cc:642,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:643,1
    - Dst: reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:646,1
    - Dst: PEM_read_X509
      Src: /src/trafficserver/plugins/certifier/certifier.cc:646,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/certifier/certifier.cc:647,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/certifier/certifier.cc:649,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:650,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/certifier/certifier.cc:650,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:651,1
    - Dst: reset
      Src: /src/trafficserver/plugins/certifier/certifier.cc:654,1
    - Dst: PEM_read_PrivateKey
      Src: /src/trafficserver/plugins/certifier/certifier.cc:654,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/certifier/certifier.cc:655,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:658,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:659,1
    - Dst: open
      Src: /src/trafficserver/plugins/certifier/certifier.cc:664,1
    - Dst: is_open
      Src: /src/trafficserver/plugins/certifier/certifier.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:666,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/certifier/certifier.cc:667,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/certifier/certifier.cc:671,1
    - Dst: seekg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:674,1
    - Dst: bad
      Src: /src/trafficserver/plugins/certifier/certifier.cc:676,1
    - Dst: fail
      Src: /src/trafficserver/plugins/certifier/certifier.cc:676,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/certifier/certifier.cc:681,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/certifier/certifier.cc:684,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 687
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/certifier/certifier.cc
    functionUses: 0
    functionsReached:
    - fail
    - std::string
    - strerror
    - SslLRUList::SslLRUList
    - open
    - TSPluginRegister
    - fclose
    - TSHttpHookAdd
    - const_cast<char *const *>
    - std::strtol
    - bad
    - static_cast<int>
    - getopt_long
    - TSError
    - is_open
    - reset
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - fopen
    - PEM_read_X509
    - seekg
    - PEM_read_PrivateKey
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::write
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - prevIdx
    - idx
    - jsonfile
    argTypes:
    - char*
    - int64_t
    - int64_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: write_buffered_context
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - std::ostream::write
    linkageType: ''
    returnType: void
    signature: void write_buffered_context(char const *buf, int64_t &prevIdx, int64_t
      idx, std::ostream &jsonfile)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:87,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:92,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:97,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:102,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:107,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:112,1
    - Dst: std::ostream::flags
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:118,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:119,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: std::ostream::flags
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:121,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - len
    - jsonfile
    argTypes:
    - char*
    - int64_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 136
    functionName: esc_json_out
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setfill
    - std::setw
    - write_buffered_context
    - std::ostream::flags
    linkageType: ''
    returnType: int
    signature: int esc_json_out(const char *buf, int64_t len, std::ostream &jsonfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::write
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - prevIdx
    - idx
    - jsonfile
    argTypes:
    - char*
    - int64_t
    - int64_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: write_buffered_context
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 1
    functionsReached:
    - std::ostream::write
    linkageType: ''
    returnType: void
    signature: void write_buffered_context(char const *buf, int64_t &prevIdx, int64_t
      idx, std::ostream &jsonfile)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:87,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:92,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:97,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:102,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:107,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:112,1
    - Dst: std::ostream::flags
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:118,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:119,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:120,1
    - Dst: std::ostream::flags
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:121,1
    - Dst: write_buffered_context
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - len
    - jsonfile
    argTypes:
    - char*
    - int64_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 136
    functionName: esc_json_out
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setfill
    - std::setw
    - write_buffered_context
    - std::ostream::flags
    linkageType: ''
    returnType: int
    signature: int esc_json_out(const char *buf, int64_t len, std::ostream &jsonfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:145,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: traffic_dump::json_entry
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry(std::string_view name, std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:151,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - size
    argTypes:
    - std::string_view
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: traffic_dump::json_entry
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry(std::string_view name, char const *value, int64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:157,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: traffic_dump::json_entry_array
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry_array(std::string_view name, std::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: esc_json_out
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: traffic_dump::escape_json
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 3
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - esc_json_out
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string escape_json(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: esc_json_out
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:172,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: traffic_dump::escape_json
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - esc_json_out
    linkageType: ''
    returnType: std::string
    signature: std::string escape_json(char const *buf, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:145,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: traffic_dump::json_entry
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry(std::string_view name, std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:151,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - size
    argTypes:
    - std::string_view
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: traffic_dump::json_entry
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry(std::string_view name, char const *value, int64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:157,1
    - Dst: traffic_dump::escape_json
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: traffic_dump::json_entry_array
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::escape_json
    linkageType: ''
    returnType: std::string
    signature: std::string json_entry_array(std::string_view name, std::string_view
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: esc_json_out
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:164,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: traffic_dump::escape_json
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 6
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - esc_json_out
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string escape_json(std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: esc_json_out
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:172,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/json_utils.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: traffic_dump::escape_json
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/json_utils.cc
    functionUses: 6
    functionsReached:
    - std::ostringstream::str
    - esc_json_out
    linkageType: ''
    returnType: std::string
    signature: std::string escape_json(char const *buf, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(std::string_view a, std::string_view b) const
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h
    functionUses: 0
    functionsReached:
    - std::string_view::data
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string_view a, std::string_view b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:50,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::hash<std::string>
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: operator()(std::string_view str) const
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h
    functionUses: 0
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - std::string::resize
    - std::transform
    - tolower
    - std::string::begin
    - std::string_view::size
    - std::hash<std::string>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(std::string_view str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(std::string_view a, std::string_view b) const
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h
    functionUses: 0
    functionsReached:
    - std::string_view::data
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::string_view a, std::string_view b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:50,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:51,1
    - Dst: std::hash<std::string>
      Src: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: operator()(std::string_view str) const
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/sensitive_fields.h
    functionUses: 0
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - std::string::resize
    - std::transform
    - tolower
    - std::string::begin
    - std::string_view::size
    - std::hash<std::string>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(std::string_view str) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:42,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:45,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:46,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:46,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:47,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:47,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:50,1
    - Dst: traffic_dump::SessionData::set_sample_pool_size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:53,1
    - Dst: traffic_dump::SessionData::reset_disk_usage
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:56,1
    - Dst: traffic_dump::SessionData::disable_disk_limit_enforcement
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:57,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:60,1
    - Dst: traffic_dump::SessionData::set_max_disk_usage
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 70
    functionName: traffic_dump::global_message_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - static_cast<TSPluginMsg *>
    - static_cast<char const *>
    - traffic_dump::SessionData::set_sample_pool_size
    - traffic_dump::SessionData::disable_disk_limit_enforcement
    - traffic_dump::SessionData::set_max_disk_usage
    - Dbg
    - std::string_view::size
    - strlen
    - std::string_view::remove_prefix
    - traffic_dump::SessionData::reset_disk_usage
    - strtol
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int global_message_handler(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:42,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:45,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:46,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:46,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:47,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:47,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:49,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:50,1
    - Dst: traffic_dump::SessionData::set_sample_pool_size
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:53,1
    - Dst: traffic_dump::SessionData::reset_disk_usage
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:54,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:56,1
    - Dst: traffic_dump::SessionData::disable_disk_limit_enforcement
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:57,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: static_cast<char const *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:60,1
    - Dst: traffic_dump::SessionData::set_max_disk_usage
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 70
    functionName: traffic_dump::global_message_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - static_cast<TSPluginMsg *>
    - static_cast<char const *>
    - traffic_dump::SessionData::set_sample_pool_size
    - traffic_dump::SessionData::disable_disk_limit_enforcement
    - traffic_dump::SessionData::set_max_disk_usage
    - Dbg
    - std::string_view::size
    - strlen
    - std::string_view::remove_prefix
    - traffic_dump::SessionData::reset_disk_usage
    - strtol
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int global_message_handler(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:77,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:84,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:85,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:113,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:113,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:131,1
    - Dst: empty
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:131,1
    - Dst: swoc::TextView::trim_if
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:132,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:133,1
    - Dst: traffic_dump::sensitive_fields_t::emplace
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:136,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:142,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:150,1
    - Dst: std::strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:150,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:154,1
    - Dst: std::strtol
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:154,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:160,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:168,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:169,1
    - Dst: swoc::file::path::is_absolute
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:173,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:174,1
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:174,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:176,1
    - Dst: traffic_dump::SessionData::init
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:177,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:177,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:178,1
    - Dst: traffic_dump::SessionData::init
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:182,1
    - Dst: swoc::file::path::view
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:182,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:184,1
    - Dst: traffic_dump::TransactionData::init
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:190,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:190,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:191,1
    - Dst: traffic_dump::TransactionData::init
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:197,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:198,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:203,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc:204,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 206
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/traffic_dump.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - get_yaml_path
    - std::string
    - swoc::file::path::view
    - TSPluginRegister
    - std::string::empty
    - const_cast<char *const *>
    - std::strtol
    - empty
    - traffic_dump::SessionData::init
    - std::move
    - traffic_dump::sensitive_fields_t::emplace
    - TSError
    - getopt_long
    - TSInstallDirGet
    - Dbg
    - swoc::TextView::trim_if
    - traffic_dump::TransactionData::init
    - TSContCreate
    - static_cast<int64_t>
    - swoc::file::path::is_absolute
    - TSLifecycleHookAdd
    - swoc::TextView::empty
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:54,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:54,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:56,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:59,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:60,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:68,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:69,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:69,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:76,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:77,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:78,1
    - Dst: TSIOBufferReaderCopy
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:81,1
    - Dst: auto*::_response_body::append
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:83,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:85,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:86,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:87,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:89,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:91,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:91,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:93,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:93,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: traffic_dump::TransactionData::response_buffer_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - auto*::_response_body::append
    - TSContDestroy
    - TSAssert
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSVConnClosedGet
    - TSIOBufferReaderConsume
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSError
    - TSContCall
    - Dbg
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSVIOContGet
    - TSIOBufferReaderCopy
    - reinterpret_cast<TransactionData *>
    linkageType: ''
    returnType: int
    signature: int TransactionData::response_buffer_handler(TSCont contp, TSEvent
      event, void * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:114,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:114,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: traffic_dump::TransactionData::initialize_default_sensitive_field
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - std::setw
    - std::setfill
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void TransactionData::initialize_default_sensitive_field()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: traffic_dump::TransactionData::get_sensitive_field_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::get_sensitive_field_description()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - txnp
    - http_version_from_client_stack
    argTypes:
    - TSHttpTxn
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: traffic_dump::TransactionData::TransactionData
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionData::TransactionData(TSHttpTxn txnp, std::string_view
      http_version_from_client_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:146,1
    - Dst: traffic_dump::TransactionData::init_helper
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dump_body
    - new_fields
    argTypes:
    - bool
    - sensitive_fields_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: traffic_dump::TransactionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - std::move
    - traffic_dump::TransactionData::init_helper
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init(bool dump_body, sensitive_fields_t &&new_fields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::init_helper
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dump_body
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: traffic_dump::TransactionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - traffic_dump::TransactionData::init_helper
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init(bool dump_body)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:160,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:160,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:161,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:164,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:165,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:165,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:166,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:167,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:169,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:169,1
    - Dst: data
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - original_value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: traffic_dump::TransactionData::replace_sensitive_fields
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSError
    - find
    - std::string
    - end
    - std::string_view::size
    - data
    - size
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view TransactionData::replace_sensitive_fields(std::string_view
      name, std::string_view original_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:177,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_body_bytes
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: traffic_dump::TransactionData::write_content_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_content_node(int64_t num_body_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:184,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:184,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:185,1
    - Dst: escape_json
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:186,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:186,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - body
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: traffic_dump::TransactionData::write_content_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::empty
    - std::string
    - std::ostringstream::str
    - escape_json
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_content_node(std::string_view body)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:202,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:203,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:211,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:212,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:212,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:214,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:215,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:216,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:219,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:220,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:221,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:224,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:225,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:227,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:228,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:230,1
    - Dst: traffic_dump::TransactionData::remove_scheme_prefix
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:240,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:241,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:242,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:245,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:245,1
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:247,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:248,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:253,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:260,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:261,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:262,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:263,1
    - Dst: traffic_dump::TransactionData::replace_sensitive_fields
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:264,1
    - Dst: traffic_dump::json_entry_array
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:265,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:268,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - buffer
    - hdr_loc
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 275
    functionName: traffic_dump::TransactionData::write_message_node_no_content
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - TSAssert
    - TS_HTTP_MINOR
    - TSHttpHdrVersionGet
    - TSUrlSchemeGet
    - std::string_view::data
    - TS_HTTP_MAJOR
    - TSUrlStringGet
    - TSfree
    - traffic_dump::json_entry
    - TSHttpHdrStatusGet
    - std::string_view::size
    - TSHttpHdrReasonGet
    - static_cast<int>
    - traffic_dump::TransactionData::remove_scheme_prefix
    - TSMimeHdrFieldGet
    - traffic_dump::TransactionData::replace_sensitive_fields
    - Dbg
    - TSMimeHdrFieldNameGet
    - static_cast<size_t>
    - TSHttpHdrUrlGet
    - std::to_string
    - TSMimeHdrFieldValueStringGet
    - traffic_dump::json_entry_array
    - std::string_view::empty
    - TSUrlHostGet
    - TSMimeHdrFieldNext
    - TSHttpHdrTypeGet
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node_no_content(TSMBuffer
      &buffer, TSMLoc &hdr_loc, std::string_view http_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:280,1
    - Dst: traffic_dump::TransactionData::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buffer
    - hdr_loc
    - num_body_bytes
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int64_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: traffic_dump::TransactionData::write_message_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::TransactionData::write_message_node_no_content
    - traffic_dump::TransactionData::write_content_node
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc, int64_t num_body_bytes, std::string_view http_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:288,1
    - Dst: traffic_dump::TransactionData::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buffer
    - hdr_loc
    - body
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: traffic_dump::TransactionData::write_message_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::TransactionData::write_message_node_no_content
    - traffic_dump::TransactionData::write_content_node
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc, std::string_view body, std::string_view http_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:296,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: traffic_dump::TransactionData::remove_scheme_prefix
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - std::string_view::remove_prefix
    - std::string_view::find
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view TransactionData::remove_scheme_prefix(std::string_view
      url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:308,1
    - Dst: traffic_dump::TransactionData::initialize_default_sensitive_field
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:309,1
    - Dst: traffic_dump::TransactionData::get_sensitive_field_description
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:310,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:311,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:311,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:314,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:315,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:322,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:323,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - dump_body
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: traffic_dump::TransactionData::init_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 2
    functionsReached:
    - TSUserArgIndexReserve
    - TSError
    - TSHttpHookAdd
    - Dbg
    - traffic_dump::TransactionData::initialize_default_sensitive_field
    - TSContCreate
    - traffic_dump::TransactionData::get_sensitive_field_description
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init_helper(bool dump_body)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:339,1
    - Dst: TSHttpTxnClientStreamIdGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:339,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:340,1
    - Dst: memset
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:343,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: TSHttpTxnClientStreamPriorityGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: reinterpret_cast<TSHttpPriority *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:345,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:349,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:350,1
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:359,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: traffic_dump::TransactionData::write_client_request_node_no_content
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - memset
    - traffic_dump::TransactionData::write_message_node_no_content
    - TSAssert
    - TSHttpTxnClientStreamIdGet
    - reinterpret_cast<TSHttpPriority *>
    - std::ostringstream::str
    - TSHttpTxnClientStreamPriorityGet
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_client_request_node_no_content(TSMBuffer
      &buffer, TSMLoc &hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:373,1
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:376,1
    - Dst: TSHttpTxnServerReqBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:376,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: traffic_dump::TransactionData::write_proxy_request_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerReqBodyBytesGet
    - empty
    - traffic_dump::TransactionData::write_message_node
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_proxy_request_node(TSMBuffer &buffer, TSMLoc
      &hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:383,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: traffic_dump::TransactionData::write_server_response_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerRespBodyBytesGet
    - traffic_dump::TransactionData::write_message_node
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_server_response_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:390,1
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:393,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 7
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: traffic_dump::TransactionData::write_proxy_response_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::TransactionData::write_message_node
    - TSHttpTxnClientRespBodyBytesGet
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_proxy_response_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:401,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:404,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: traffic_dump::SessionData::get_session_arg_index
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:410,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:411,1
    - Dst: SessionData*::get_http_version_in_client_stack
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:422,1
    - Dst: TransactionData::TransactionData
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:422,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:423,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:426,1
    - Dst: TSClientRequestUuidGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:426,1
    - Dst: strnlen
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:427,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:433,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:434,1
    - Dst: json_entry_array
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:440,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:446,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:446,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:448,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:460,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:461,1
    - Dst: TransactionData*::write_client_request_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:464,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:465,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:472,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:472,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:474,1
    - Dst: SessionData*::get_server_protocol_description
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:477,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:479,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:480,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:481,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:487,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:487,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:489,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:495,1
    - Dst: TransactionData*::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:498,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:498,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:499,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:502,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:503,1
    - Dst: TransactionData*::write_proxy_request_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:504,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:505,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:508,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:509,1
    - Dst: TransactionData*::write_server_response_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:510,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:511,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:515,1
    - Dst: TransactionData*::write_proxy_response_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:516,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:517,1
    - Dst: SessionData*::write_transaction_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:522,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:527,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:528,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:532,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 534
    functionName: traffic_dump::TransactionData::global_transaction_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSUserArgSet
    - TransactionData*::write_client_request_node_no_content
    - TSAssert
    - TSHttpTxnMilestoneGet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - SessionData*::write_transaction_to_disk
    - json_entry_array
    - SessionData*::get_http_version_in_client_stack
    - TSHttpTxnSsnGet
    - TSClientRequestUuidGet
    - TSHttpTxnClientReqBodyBytesGet
    - strnlen
    - TSError
    - TSHttpTxnHookAdd
    - Dbg
    - TSTransformCreate
    - traffic_dump::SessionData::get_session_arg_index
    - static_cast<TransactionData *>
    - TSHttpTxnServerReqGet
    - TransactionData::TransactionData
    - std::to_string
    - TSHttpTxnReenable
    - TSUserArgGet
    - TransactionData*::write_content_node
    - TSContDataSet
    - TransactionData*::write_proxy_request_node
    - SessionData*::get_server_protocol_description
    - static_cast<TSHttpTxn>
    - TransactionData*::write_server_response_node
    - TransactionData*::write_proxy_response_node
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int TransactionData::global_transaction_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent event, void *edata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:54,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:54,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:56,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:59,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:60,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:64,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:68,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:69,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:69,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:76,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:77,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:78,1
    - Dst: TSIOBufferReaderCopy
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:81,1
    - Dst: auto*::_response_body::append
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:83,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:85,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:86,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:87,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:89,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:91,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:91,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:93,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:93,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: traffic_dump::TransactionData::response_buffer_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - auto*::_response_body::append
    - TSContDestroy
    - TSAssert
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSVConnClosedGet
    - TSIOBufferReaderConsume
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSError
    - TSContCall
    - Dbg
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSVIOContGet
    - TSIOBufferReaderCopy
    - reinterpret_cast<TransactionData *>
    linkageType: ''
    returnType: int
    signature: int TransactionData::response_buffer_handler(TSCont contp, TSEvent
      event, void * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:114,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:114,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: traffic_dump::TransactionData::initialize_default_sensitive_field
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - std::setw
    - std::setfill
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void TransactionData::initialize_default_sensitive_field()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: traffic_dump::TransactionData::get_sensitive_field_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::get_sensitive_field_description()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - txnp
    - http_version_from_client_stack
    argTypes:
    - TSHttpTxn
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: traffic_dump::TransactionData::TransactionData
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransactionData::TransactionData(TSHttpTxn txnp, std::string_view
      http_version_from_client_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:146,1
    - Dst: traffic_dump::TransactionData::init_helper
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dump_body
    - new_fields
    argTypes:
    - bool
    - sensitive_fields_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: traffic_dump::TransactionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - std::move
    - traffic_dump::TransactionData::init_helper
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init(bool dump_body, sensitive_fields_t &&new_fields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::init_helper
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dump_body
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: traffic_dump::TransactionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - traffic_dump::TransactionData::init_helper
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init(bool dump_body)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:160,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:160,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:161,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:164,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:165,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:165,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:166,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:167,1
    - Dst: size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:169,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:169,1
    - Dst: data
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - original_value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: traffic_dump::TransactionData::replace_sensitive_fields
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 1
    functionsReached:
    - TSError
    - find
    - std::string
    - end
    - std::string_view::size
    - data
    - size
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view TransactionData::replace_sensitive_fields(std::string_view
      name, std::string_view original_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:177,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_body_bytes
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: traffic_dump::TransactionData::write_content_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 2
    functionsReached:
    - std::to_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_content_node(int64_t num_body_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:184,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:184,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:185,1
    - Dst: escape_json
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:186,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:186,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - body
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: traffic_dump::TransactionData::write_content_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 2
    functionsReached:
    - std::string_view::length
    - std::string_view::empty
    - std::string
    - std::ostringstream::str
    - escape_json
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_content_node(std::string_view body)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:202,1
    - Dst: TSHttpHdrVersionGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:203,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TS_HTTP_MAJOR
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TS_HTTP_MINOR
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:204,1
    - Dst: TSHttpHdrTypeGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:211,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:212,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:212,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:214,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:215,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:216,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:219,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:220,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:221,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:224,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:225,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:227,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:228,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:230,1
    - Dst: traffic_dump::TransactionData::remove_scheme_prefix
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:239,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:240,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:241,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:242,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:245,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:245,1
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:247,1
    - Dst: traffic_dump::json_entry
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:248,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:253,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:260,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:261,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:262,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:263,1
    - Dst: traffic_dump::TransactionData::replace_sensitive_fields
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:264,1
    - Dst: traffic_dump::json_entry_array
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:265,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:268,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - buffer
    - hdr_loc
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 275
    functionName: traffic_dump::TransactionData::write_message_node_no_content
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 3
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - TSAssert
    - TS_HTTP_MINOR
    - TSHttpHdrVersionGet
    - TSUrlSchemeGet
    - std::string_view::data
    - TS_HTTP_MAJOR
    - TSUrlStringGet
    - TSfree
    - traffic_dump::json_entry
    - TSHttpHdrStatusGet
    - std::string_view::size
    - TSHttpHdrReasonGet
    - static_cast<int>
    - traffic_dump::TransactionData::remove_scheme_prefix
    - TSMimeHdrFieldGet
    - traffic_dump::TransactionData::replace_sensitive_fields
    - Dbg
    - TSMimeHdrFieldNameGet
    - static_cast<size_t>
    - TSHttpHdrUrlGet
    - std::to_string
    - TSMimeHdrFieldValueStringGet
    - traffic_dump::json_entry_array
    - std::string_view::empty
    - TSUrlHostGet
    - TSMimeHdrFieldNext
    - TSHttpHdrTypeGet
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node_no_content(TSMBuffer
      &buffer, TSMLoc &hdr_loc, std::string_view http_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:280,1
    - Dst: traffic_dump::TransactionData::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buffer
    - hdr_loc
    - num_body_bytes
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - int64_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: traffic_dump::TransactionData::write_message_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 3
    functionsReached:
    - traffic_dump::TransactionData::write_message_node_no_content
    - traffic_dump::TransactionData::write_content_node
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc, int64_t num_body_bytes, std::string_view http_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:288,1
    - Dst: traffic_dump::TransactionData::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buffer
    - hdr_loc
    - body
    - http_version
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: traffic_dump::TransactionData::write_message_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 3
    functionsReached:
    - traffic_dump::TransactionData::write_message_node_no_content
    - traffic_dump::TransactionData::write_content_node
    linkageType: ''
    returnType: std::string
    signature: std::string TransactionData::write_message_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc, std::string_view body, std::string_view http_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:296,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: traffic_dump::TransactionData::remove_scheme_prefix
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 2
    functionsReached:
    - std::string_view::remove_prefix
    - std::string_view::find
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view TransactionData::remove_scheme_prefix(std::string_view
      url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:308,1
    - Dst: traffic_dump::TransactionData::initialize_default_sensitive_field
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:309,1
    - Dst: traffic_dump::TransactionData::get_sensitive_field_description
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:310,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:311,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:311,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:314,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:315,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:322,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:323,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - dump_body
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: traffic_dump::TransactionData::init_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 4
    functionsReached:
    - TSUserArgIndexReserve
    - TSError
    - TSHttpHookAdd
    - Dbg
    - traffic_dump::TransactionData::initialize_default_sensitive_field
    - TSContCreate
    - traffic_dump::TransactionData::get_sensitive_field_description
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool TransactionData::init_helper(bool dump_body)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:339,1
    - Dst: TSHttpTxnClientStreamIdGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:339,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:340,1
    - Dst: memset
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:343,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: TSHttpTxnClientStreamPriorityGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: reinterpret_cast<TSHttpPriority *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:344,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:345,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:349,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:350,1
    - Dst: traffic_dump::TransactionData::write_message_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:359,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: traffic_dump::TransactionData::write_client_request_node_no_content
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - memset
    - traffic_dump::TransactionData::write_message_node_no_content
    - TSAssert
    - TSHttpTxnClientStreamIdGet
    - reinterpret_cast<TSHttpPriority *>
    - std::ostringstream::str
    - TSHttpTxnClientStreamPriorityGet
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_client_request_node_no_content(TSMBuffer
      &buffer, TSMLoc &hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:373,1
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:376,1
    - Dst: TSHttpTxnServerReqBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:376,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: traffic_dump::TransactionData::write_proxy_request_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerReqBodyBytesGet
    - empty
    - traffic_dump::TransactionData::write_message_node
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_proxy_request_node(TSMBuffer &buffer, TSMLoc
      &hdr_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:383,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: traffic_dump::TransactionData::write_server_response_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerRespBodyBytesGet
    - traffic_dump::TransactionData::write_message_node
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_server_response_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:390,1
    - Dst: traffic_dump::TransactionData::write_message_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:393,1
    - Dst: TSHttpTxnClientRespBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 7
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: traffic_dump::TransactionData::write_proxy_response_node
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::TransactionData::write_message_node
    - TSHttpTxnClientRespBodyBytesGet
    linkageType: ''
    returnType: void
    signature: void TransactionData::write_proxy_response_node(TSMBuffer &buffer,
      TSMLoc &hdr_loc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:401,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:404,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: traffic_dump::SessionData::get_session_arg_index
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:405,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:410,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:411,1
    - Dst: SessionData*::get_http_version_in_client_stack
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:422,1
    - Dst: TransactionData::TransactionData
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:422,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:423,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:426,1
    - Dst: TSClientRequestUuidGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:426,1
    - Dst: strnlen
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:427,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:433,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:434,1
    - Dst: json_entry_array
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:440,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:446,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:446,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:448,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:460,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:461,1
    - Dst: TransactionData*::write_client_request_node_no_content
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:464,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:465,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:472,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:472,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:474,1
    - Dst: SessionData*::get_server_protocol_description
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:477,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:479,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:480,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:481,1
    - Dst: static_cast<TransactionData *>
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:487,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:487,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:489,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:495,1
    - Dst: TransactionData*::write_content_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:498,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:498,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:499,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:502,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:503,1
    - Dst: TransactionData*::write_proxy_request_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:504,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:505,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:508,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:509,1
    - Dst: TransactionData*::write_server_response_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:510,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:511,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:514,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:515,1
    - Dst: TransactionData*::write_proxy_response_node
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:516,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:517,1
    - Dst: SessionData*::write_transaction_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:522,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:527,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:528,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/traffic_dump/transaction_data.cc:532,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 534
    functionName: traffic_dump::TransactionData::global_transaction_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/transaction_data.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSUserArgSet
    - TransactionData*::write_client_request_node_no_content
    - TSAssert
    - TSHttpTxnMilestoneGet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - SessionData*::write_transaction_to_disk
    - json_entry_array
    - SessionData*::get_http_version_in_client_stack
    - TSHttpTxnSsnGet
    - TSClientRequestUuidGet
    - TSHttpTxnClientReqBodyBytesGet
    - strnlen
    - TSError
    - TSHttpTxnHookAdd
    - Dbg
    - TSTransformCreate
    - traffic_dump::SessionData::get_session_arg_index
    - static_cast<TransactionData *>
    - TSHttpTxnServerReqGet
    - TransactionData::TransactionData
    - std::to_string
    - TSHttpTxnReenable
    - TSUserArgGet
    - TransactionData*::write_content_node
    - TSContDataSet
    - TransactionData*::write_proxy_request_node
    - SessionData*::get_server_protocol_description
    - static_cast<TSHttpTxn>
    - TransactionData*::write_server_response_node
    - TransactionData*::write_proxy_response_node
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int TransactionData::global_transaction_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:96,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:96,1
    - Dst: SSL_get_version
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:102,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:105,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:109,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:112,1
    - Dst: SSL_get_verify_mode
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:118,1
    - Dst: TSVConnProvidedSslCert
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:119,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: get_tls_description_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - SSL_get_version
    - std::string_view::empty
    - TSVConnProvidedSslCert
    - SSL_get_servername
    - reinterpret_cast<SSL *>
    - std::ostringstream::str
    - SSL_get_verify_mode
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_tls_description_helper(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:133,1
    - Dst: get_tls_description_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: get_client_tls_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientVConnGet
    - get_tls_description_helper
    linkageType: ''
    returnType: std::string
    signature: std::string get_client_tls_description(TSHttpSsn ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:146,1
    - Dst: get_tls_description_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: get_server_tls_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - get_tls_description_helper
    - TSHttpTxnServerVConnGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_server_tls_description(TSHttpTxn txnp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:96,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:96,1
    - Dst: SSL_get_version
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:102,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:105,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:109,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:112,1
    - Dst: SSL_get_verify_mode
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:118,1
    - Dst: TSVConnProvidedSslCert
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:119,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: get_tls_description_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached:
    - std::to_string
    - SSL_get_version
    - std::string_view::empty
    - TSVConnProvidedSslCert
    - SSL_get_servername
    - reinterpret_cast<SSL *>
    - std::ostringstream::str
    - SSL_get_verify_mode
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_tls_description_helper(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:133,1
    - Dst: get_tls_description_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: get_client_tls_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientVConnGet
    - get_tls_description_helper
    linkageType: ''
    returnType: std::string
    signature: std::string get_client_tls_description(TSHttpSsn ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:146,1
    - Dst: get_tls_description_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: get_server_tls_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - get_tls_description_helper
    - TSHttpTxnServerVConnGet
    linkageType: ''
    returnType: std::string
    signature: std::string get_server_tls_description(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: traffic_dump::SessionData::get_session_arg_index
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SessionData::get_session_arg_index()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_sample_size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: traffic_dump::SessionData::set_sample_pool_size
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::set_sample_pool_size(int64_t new_sample_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: traffic_dump::SessionData::reset_disk_usage
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::reset_disk_usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: traffic_dump::SessionData::disable_disk_limit_enforcement
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::disable_disk_limit_enforcement()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_max_disk_usage
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: traffic_dump::SessionData::set_max_disk_usage
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::set_max_disk_usage(int64_t new_max_disk_usage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:204,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:205,1
    - Dst: load
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:217,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:218,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:222,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:223,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:224,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:226,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - log_directory
    - enforce_disk_limit
    - max_disk_usage
    - sample_size
    - ip_filter
    argTypes:
    - std::string_view
    - bool
    - int64_t
    - int64_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 234
    functionName: traffic_dump::SessionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - load
    - TSError
    - TSUserArgIndexReserve
    - TSHttpHookAdd
    - emplace
    - std::string_view::empty
    - Dbg
    - std::string_view::size
    - TSContCreate
    - c_str
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool SessionData::init(std::string_view log_directory, bool enforce_disk_limit,
      int64_t max_disk_usage, int64_t sample_size,\n                  std::string_view
      ip_filter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::init
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:244,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - log_directory
    - enforce_disk_limit
    - max_disk_usage
    - sample_size
    - ip_filter
    - sni_filter
    argTypes:
    - std::string_view
    - bool
    - int64_t
    - int64_t
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: traffic_dump::SessionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached:
    - Dbg
    - traffic_dump::SessionData::init
    - c_str
    linkageType: ''
    returnType: bool
    signature: "bool SessionData::init(std::string_view log_directory, bool enforce_disk_limit,
      int64_t max_disk_usage, int64_t sample_size,\n                  std::string_view
      ip_filter, std::string_view sni_filter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:256,1
    - Dst: get_protocol_stack
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:256,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:264,1
    - Dst: get_tls_node
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:265,1
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:267,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:267,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:268,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:272,1
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:279,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:279,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:280,1
    - Dst: handle_http_version
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:281,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - get_protocol_stack
    - get_tls_node
    - handle_http_version
    argTypes:
    - get_protocol_stack_f
    - get_tls_description_f
    - handle_http_version_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 287
    functionName: traffic_dump::SessionData::get_protocol_stack_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - get_protocol_stack
    - find
    - TSError
    - TSAssert
    - std::string_view::length
    - std::string
    - end
    - std::string_view::data
    - std::string_view::find
    - handle_http_version
    - std::ostringstream::str
    - get_tls_node
    linkageType: ''
    returnType: std::string
    signature: "std::string SessionData::get_protocol_stack_helper(const get_protocol_stack_f
      &get_protocol_stack, const get_tls_description_f &get_tls_node,\n                                       const
      handle_http_version_f &handle_http_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::get_protocol_stack_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:292,1
    - Dst: TSHttpSsnClientProtocolStackGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:294,1
    - Dst: get_client_tls_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - client_ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: traffic_dump::SessionData::get_client_protocol_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientProtocolStackGet
    - get_client_tls_description
    - traffic_dump::SessionData::get_protocol_stack_helper
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_client_protocol_description(TSHttpSsn
      client_ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::get_protocol_stack_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:303,1
    - Dst: TSHttpTxnServerProtocolStackGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:305,1
    - Dst: get_server_tls_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - server_txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: traffic_dump::SessionData::get_server_protocol_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerProtocolStackGet
    - get_server_tls_description
    - traffic_dump::SessionData::get_protocol_stack_helper
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_server_protocol_description(TSHttpTxn
      server_txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:312,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:312,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: traffic_dump::SessionData::SessionData
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void SessionData::SessionData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:319,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: SessionData::~SessionData()
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void SessionData::~SessionData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: TSAIOWrite
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:338,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:338,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:340,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: traffic_dump::SessionData::write_to_disk_no_lock
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSAIOWrite
    - TSfree
    - static_cast<char *>
    - std::string_view::size
    - TSmalloc
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int SessionData::write_to_disk_no_lock(std::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: traffic_dump::SessionData::write_to_disk
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::SessionData::write_to_disk_no_lock
    linkageType: ''
    returnType: int
    signature: int SessionData::write_to_disk(std::string_view content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:367,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:367,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:368,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:369,1
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:370,1
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: traffic_dump::SessionData::write_transaction_to_disk
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - std::string::append
    - traffic_dump::SessionData::write_to_disk_no_lock
    - std::string::push_back
    - std::string_view::size
    linkageType: ''
    returnType: int
    signature: int SessionData::write_transaction_to_disk(std::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: traffic_dump::SessionData::get_http_version_in_client_stack
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_http_version_in_client_stack() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:393,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - session_client_ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: traffic_dump::SessionData::is_filtered_out
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool SessionData::is_filtered_out(const sockaddr *session_client_ip)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSAIOCallback>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:411,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:412,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:414,1
    - Dst: TSAIOBufGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:417,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:424,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:427,1
    - Dst: close
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:428,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:430,1
    - Dst: swoc::SWOC_VERSION_NS::file::file_size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:432,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:433,1
    - Dst: swoc::SWOC_VERSION_NS::file::file_size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:433,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 450
    functionName: traffic_dump::SessionData::session_aio_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - swoc::SWOC_VERSION_NS::file::status
    - close
    - TSContDataSet
    - TSAIOBufGet
    - Dbg
    - swoc::SWOC_VERSION_NS::file::file_size
    - TSContDataGet
    - static_cast<TSAIOCallback>
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int SessionData::session_aio_handler(TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:456,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:462,1
    - Dst: empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:467,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:468,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:469,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:472,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:477,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:482,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:489,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:492,1
    - Dst: load
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:492,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:495,1
    - Dst: traffic_dump::SessionData::is_filtered_out
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:497,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:503,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:503,1
    - Dst: SessionData::SessionData
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:506,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:507,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:509,1
    - Dst: SessionData*::get_client_protocol_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:513,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:515,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:515,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:519,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:519,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:520,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:524,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:526,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:526,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:528,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:528,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:530,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:531,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:537,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:538,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:542,1
    - Dst: mkdir
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:543,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:543,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:544,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:544,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:545,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:545,1
    - Dst: open
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:549,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:549,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:551,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:551,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:552,1
    - Dst: SessionData*::write_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:557,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:560,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:561,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:566,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:567,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:569,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:569,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:572,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:573,1
    - Dst: SessionData*::write_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:576,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:587,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 589
    functionName: traffic_dump::SessionData::global_session_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - get_yaml_path
    - load
    - TSUserArgSet
    - TSHttpSsnClientAddrGet
    - swoc::SWOC_VERSION_NS::file::status
    - mkdir
    - SessionData*::write_to_disk
    - std::string
    - SessionData*::get_client_protocol_description
    - snprintf
    - TSHttpSsnClientVConnGet
    - open
    - TSHttpSsnIdGet
    - reinterpret_cast<sockaddr_in const *>
    - reinterpret_cast<SSL *>
    - empty
    - TSVConnSslConnectionGet
    - std::stringstream::str
    - auto::count
    - std::setfill
    - TSError
    - Dbg
    - static_cast<TSHttpSsn>
    - std::to_string
    - TSUserArgGet
    - failover_now
    - swoc::file::path::c_str
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - SessionData::SessionData
    - reinterpret_cast<sockaddr_in6 const *>
    - traffic_dump::SessionData::is_filtered_out
    - std::setw
    - TSContDataSet
    - TSHttpSsnHookAdd
    - SSL_get_servername
    - TSHttpSsnReenable
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int SessionData::global_session_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: traffic_dump::SessionData::get_session_arg_index
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SessionData::get_session_arg_index()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_sample_size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: traffic_dump::SessionData::set_sample_pool_size
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::set_sample_pool_size(int64_t new_sample_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: traffic_dump::SessionData::reset_disk_usage
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::reset_disk_usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: traffic_dump::SessionData::disable_disk_limit_enforcement
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::disable_disk_limit_enforcement()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_max_disk_usage
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: traffic_dump::SessionData::set_max_disk_usage
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SessionData::set_max_disk_usage(int64_t new_max_disk_usage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:204,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:205,1
    - Dst: load
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:207,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:208,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:213,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:217,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:218,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:222,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:223,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:224,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:226,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:228,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - log_directory
    - enforce_disk_limit
    - max_disk_usage
    - sample_size
    - ip_filter
    argTypes:
    - std::string_view
    - bool
    - int64_t
    - int64_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 234
    functionName: traffic_dump::SessionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - load
    - TSError
    - TSUserArgIndexReserve
    - TSHttpHookAdd
    - emplace
    - std::string_view::empty
    - Dbg
    - std::string_view::size
    - TSContCreate
    - c_str
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool SessionData::init(std::string_view log_directory, bool enforce_disk_limit,
      int64_t max_disk_usage, int64_t sample_size,\n                  std::string_view
      ip_filter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::init
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:244,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - log_directory
    - enforce_disk_limit
    - max_disk_usage
    - sample_size
    - ip_filter
    - sni_filter
    argTypes:
    - std::string_view
    - bool
    - int64_t
    - int64_t
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: traffic_dump::SessionData::init
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 3
    functionsReached:
    - Dbg
    - traffic_dump::SessionData::init
    - c_str
    linkageType: ''
    returnType: bool
    signature: "bool SessionData::init(std::string_view log_directory, bool enforce_disk_limit,
      int64_t max_disk_usage, int64_t sample_size,\n                  std::string_view
      ip_filter, std::string_view sni_filter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:256,1
    - Dst: get_protocol_stack
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:256,1
    - Dst: std::string_view::find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:264,1
    - Dst: get_tls_node
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:265,1
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:267,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:267,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:268,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:271,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:272,1
    - Dst: find
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:279,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:279,1
    - Dst: end
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:280,1
    - Dst: handle_http_version
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:281,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - get_protocol_stack
    - get_tls_node
    - handle_http_version
    argTypes:
    - get_protocol_stack_f
    - get_tls_description_f
    - handle_http_version_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 287
    functionName: traffic_dump::SessionData::get_protocol_stack_helper
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - get_protocol_stack
    - find
    - TSError
    - TSAssert
    - std::string_view::length
    - std::string
    - end
    - std::string_view::data
    - std::string_view::find
    - handle_http_version
    - std::ostringstream::str
    - get_tls_node
    linkageType: ''
    returnType: std::string
    signature: "std::string SessionData::get_protocol_stack_helper(const get_protocol_stack_f
      &get_protocol_stack, const get_tls_description_f &get_tls_node,\n                                       const
      handle_http_version_f &handle_http_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::get_protocol_stack_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:292,1
    - Dst: TSHttpSsnClientProtocolStackGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:294,1
    - Dst: get_client_tls_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - client_ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: traffic_dump::SessionData::get_client_protocol_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientProtocolStackGet
    - get_client_tls_description
    - traffic_dump::SessionData::get_protocol_stack_helper
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_client_protocol_description(TSHttpSsn
      client_ssnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::get_protocol_stack_helper
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:303,1
    - Dst: TSHttpTxnServerProtocolStackGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:305,1
    - Dst: get_server_tls_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - server_txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: traffic_dump::SessionData::get_server_protocol_description
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerProtocolStackGet
    - get_server_tls_description
    - traffic_dump::SessionData::get_protocol_stack_helper
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_server_protocol_description(TSHttpTxn
      server_txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:312,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:312,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: traffic_dump::SessionData::SessionData
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void SessionData::SessionData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:319,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: SessionData::~SessionData()
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void SessionData::~SessionData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:336,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:337,1
    - Dst: TSAIOWrite
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:338,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:338,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:340,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: traffic_dump::SessionData::write_to_disk_no_lock
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - TSAIOWrite
    - TSfree
    - static_cast<char *>
    - std::string_view::size
    - TSmalloc
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int SessionData::write_to_disk_no_lock(std::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: traffic_dump::SessionData::write_to_disk
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - traffic_dump::SessionData::write_to_disk_no_lock
    linkageType: ''
    returnType: int
    signature: int SessionData::write_to_disk(std::string_view content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:367,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:367,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:368,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:369,1
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:370,1
    - Dst: traffic_dump::SessionData::write_to_disk_no_lock
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: traffic_dump::SessionData::write_transaction_to_disk
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - std::string::append
    - traffic_dump::SessionData::write_to_disk_no_lock
    - std::string::push_back
    - std::string_view::size
    linkageType: ''
    returnType: int
    signature: int SessionData::write_transaction_to_disk(std::string_view content)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: traffic_dump::SessionData::get_http_version_in_client_stack
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SessionData::get_http_version_in_client_stack() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:393,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - session_client_ip
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: traffic_dump::SessionData::is_filtered_out
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool SessionData::is_filtered_out(const sockaddr *session_client_ip)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSAIOCallback>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:411,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:412,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:414,1
    - Dst: TSAIOBufGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:417,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:424,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:427,1
    - Dst: close
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:428,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:430,1
    - Dst: swoc::SWOC_VERSION_NS::file::file_size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:432,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:433,1
    - Dst: swoc::SWOC_VERSION_NS::file::file_size
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:433,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 450
    functionName: traffic_dump::SessionData::session_aio_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - swoc::SWOC_VERSION_NS::file::status
    - close
    - TSContDataSet
    - TSAIOBufGet
    - Dbg
    - swoc::SWOC_VERSION_NS::file::file_size
    - TSContDataGet
    - static_cast<TSAIOCallback>
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int SessionData::session_aio_handler(TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:456,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:462,1
    - Dst: empty
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:467,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:468,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:469,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:472,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:477,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:482,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:489,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:492,1
    - Dst: load
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:492,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:495,1
    - Dst: traffic_dump::SessionData::is_filtered_out
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:497,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:503,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:503,1
    - Dst: SessionData::SessionData
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:506,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:507,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:509,1
    - Dst: SessionData*::get_client_protocol_description
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:513,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:515,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:515,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:519,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:519,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:520,1
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:524,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:526,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:526,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:528,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:528,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:530,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:531,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:537,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:538,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:542,1
    - Dst: mkdir
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:543,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:543,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:544,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:544,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:545,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:545,1
    - Dst: open
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:549,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:549,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:551,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:551,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:552,1
    - Dst: SessionData*::write_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:557,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:560,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:561,1
    - Dst: TSHttpSsnIdGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:566,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:567,1
    - Dst: static_cast<SessionData *>
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:569,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:569,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:572,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:573,1
    - Dst: SessionData*::write_to_disk
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:576,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/traffic_dump/session_data.cc:587,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 589
    functionName: traffic_dump::SessionData::global_session_handler
    functionSourceFile: /src/trafficserver/plugins/traffic_dump/session_data.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - get_yaml_path
    - load
    - TSUserArgSet
    - TSHttpSsnClientAddrGet
    - swoc::SWOC_VERSION_NS::file::status
    - mkdir
    - SessionData*::write_to_disk
    - std::string
    - SessionData*::get_client_protocol_description
    - snprintf
    - TSHttpSsnClientVConnGet
    - open
    - TSHttpSsnIdGet
    - reinterpret_cast<sockaddr_in const *>
    - reinterpret_cast<SSL *>
    - empty
    - TSVConnSslConnectionGet
    - std::stringstream::str
    - auto::count
    - std::setfill
    - TSError
    - Dbg
    - static_cast<TSHttpSsn>
    - std::to_string
    - TSUserArgGet
    - failover_now
    - swoc::file::path::c_str
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - SessionData::SessionData
    - reinterpret_cast<sockaddr_in6 const *>
    - traffic_dump::SessionData::is_filtered_out
    - std::setw
    - TSContDataSet
    - TSHttpSsnHookAdd
    - SSL_get_servername
    - TSHttpSsnReenable
    - static_cast<SessionData *>
    linkageType: ''
    returnType: int
    signature: int SessionData::global_session_handler(TSCont /* contp ATS_UNUSED
      */, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:57,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: length
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 309
    functionsReached:
    - static_cast<int>
    - std::string::size
    linkageType: ''
    returnType: int
    signature: int length(std::string const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: LOG_ERROR
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_ERROR(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: LOG_DEBUG
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_DEBUG(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: ClientRequest
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: IoHandle
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IoHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:111,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: ~IoHandle()
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IoHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: InterceptData
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    linkageType: ''
    returnType: void
    signature: void InterceptData(TSCont cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - resp_header_fields
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: ContentTypeHandler::ContentTypeHandler
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContentTypeHandler(std::string &resp_header_fields)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:205,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:211,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:212,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:213,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:215,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:216,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:217,1
    - Dst: HttpDataFetcherImpl::HttpDataFetcherImpl
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:219,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: InterceptData::init
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - HttpDataFetcherImpl::HttpDataFetcherImpl
    - LOG_ERROR
    - TSIOBufferCreate
    - TSHttpHdrTypeSet
    - TSHttpHdrCreate
    - TSVConnRead
    - LOG_DEBUG
    - TSIOBufferReaderAlloc
    - TSMBufferCreate
    linkageType: ''
    returnType: bool
    signature: bool InterceptData::init(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:229,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:230,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:231,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: InterceptData::setupWrite
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSAssert
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void InterceptData::setupWrite()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:238,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:241,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:246,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: InterceptData::~InterceptData()
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void InterceptData::~InterceptData()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:259,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:261,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:266,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:269,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:271,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:278,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:284,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:287,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:287,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:292,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:296,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 304
    functionName: CacheControlHeader::update
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - const_cast<char *>
    - atoi
    - LOG_DEBUG
    - strlen
    linkageType: ''
    returnType: void
    signature: void CacheControlHeader::update(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:323,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:325,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 327
    functionName: CacheControlHeader::generate
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - max
    - snprintf
    - string
    linkageType: ''
    returnType: string
    signature: string CacheControlHeader::generate() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:352,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:353,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:366,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:366,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:370,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:372,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:374,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:377,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:382,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:391,1
    - Dst: erase
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:394,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:396,1
    - Dst: erase
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:397,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:397,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:402,1
    - Dst: length
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:402,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:402,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:406,1
    - Dst: length
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:406,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:406,1
    - Dst: getline
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:411,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:412,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:417,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:418,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:418,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:422,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:423,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:428,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:428,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:430,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:430,1
    - Dst: ContentTypeHandler::loadAllowList
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:431,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:435,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:437,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:441,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:443,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:444,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:447,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:450,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 451
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - std::string
    - TSConfigDirGet
    - size
    - TSPluginRegister
    - ContentTypeHandler::loadAllowList
    - LOG_ERROR
    - TSUserArgIndexReserve
    - std::string::empty
    - length
    - TSHttpHookAdd
    - const_cast<char *const *>
    - LOG_DEBUG
    - data
    - std::string::c_str
    - getline
    - erase
    - TSError
    - getopt_long
    - push_back
    - Dbg
    - TSContCreate
    - clear
    - strtol
    - c_str
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:466,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:469,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:473,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:473,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:474,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:475,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:479,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:480,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:486,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:488,1
    - Dst: isComboHandlerRequest
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:489,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:490,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:490,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:492,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:495,1
    - Dst: InterceptData::InterceptData
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:496,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:497,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:499,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:500,1
    - Dst: getClientRequest
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:501,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:502,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:505,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:507,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:509,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:511,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 463
    functionDepth: 5
    functionLinenumber: 463
    functionLinenumberEnd: 516
    functionName: handleReadRequestHeader
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - getClientRequest
    - reinterpret_cast<intptr_t>
    - TSHandleMLocRelease
    - LOG_ERROR
    - isComboHandlerRequest
    - TSHttpTxnServerIntercept
    - InterceptData::InterceptData
    - TSContDataSet
    - LOG_DEBUG
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    - TSHttpTxnClientReqGet
    - TSContCreate
    - TSHttpTxnCntlSet
    - TSHttpHdrUrlGet
    - TSMutexCreate
    - TSUserArgGet
    linkageType: ''
    returnType: int
    signature: int handleReadRequestHeader(TSCont /* contp ATS_UNUSED */, TSEvent
      event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:523,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:526,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:528,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:529,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:536,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:538,1
    - Dst: length
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:541,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:542,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:542,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:542,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - url_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 548
    functionName: isComboHandlerRequest
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - TSUrlPathGet
    - strncasecmp
    - TSHttpHdrMethodGet
    - LOG_ERROR
    - length
    - LOG_DEBUG
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool isComboHandlerRequest(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:553,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:559,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:561,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:565,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:567,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:568,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:572,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:573,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:576,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:578,1
    - Dst: ClientRequest::defaultBucket::data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - bufp
    - hdr_obj
    - creq
    argTypes:
    - TSMBuffer
    - TSMLoc
    - ClientRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 580
    functionName: getDefaultBucket
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - string
    - TSHandleMLocRelease
    - LOG_ERROR
    - TSMimeHdrFieldValueStringGet
    - LOG_DEBUG
    - ClientRequest::defaultBucket::data
    linkageType: ''
    returnType: bool
    signature: bool getDefaultBucket(TSHttpTxn /* txnp ATS_UNUSED */, TSMBuffer bufp,
      TSMLoc hdr_obj, ClientRequest &creq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:586,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:589,1
    - Dst: getDefaultBucket
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:593,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:594,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:599,1
    - Dst: parseQueryParameters
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:602,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:603,1
    - Dst: checkGzipAcceptance
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - txnp
    - bufp
    - hdr_loc
    - url_loc
    - creq
    argTypes:
    - TSHttpTxn
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    - ClientRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: getClientRequest
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 2
    functionsReached:
    - getDefaultBucket
    - LOG_ERROR
    - parseQueryParameters
    - checkGzipAcceptance
    - TSHttpTxnClientAddrGet
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: void
    signature: void getClientRequest(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_loc,
      TSMLoc url_loc, ClientRequest &creq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:616,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:627,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:628,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:630,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:632,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:635,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:639,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:642,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:662,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:667,1
    - Dst: ClientRequest::file_urls::clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:670,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:673,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:676,1
    - Dst: ClientRequest::file_urls::clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:677,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:680,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:691,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:693,1
    - Dst: ClientRequest::file_urls::push_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:694,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:695,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:695,1
    - Dst: string::resize
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:696,1
    - Dst: ClientRequest::file_urls::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:704,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:706,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:707,1
    - Dst: ClientRequest::file_urls::clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:709,1
    - Dst: ClientRequest::file_urls::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:712,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:714,1
    - Dst: ClientRequest::file_urls::clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:715,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 3
    argNames:
    - query
    - query_len
    - creq
    argTypes:
    - char*
    - int
    - ClientRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 717
    functionName: parseQueryParameters
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - ClientRequest::file_urls::clear
    - LOG_ERROR
    - string::resize
    - ClientRequest::file_urls::size
    - ClientRequest::file_urls::push_back
    - LOG_DEBUG
    - string::c_str
    - strncmp
    - size
    - string::append
    - string::size
    linkageType: ''
    returnType: void
    signature: void parseQueryParameters(const char *query, int query_len, ClientRequest
      &creq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:723,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:727,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:730,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:732,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:736,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:742,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - creq
    argTypes:
    - TSMBuffer
    - TSMLoc
    - ClientRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 719
    functionDepth: 5
    functionLinenumber: 719
    functionLinenumberEnd: 745
    functionName: checkGzipAcceptance
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void checkGzipAcceptance(TSMBuffer bufp, TSMLoc hdr_loc, ClientRequest
      &creq)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<InterceptData *>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:750,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:750,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:755,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:760,1
    - Dst: initRequestProcessing
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:761,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:762,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:768,1
    - Dst: readInterceptRequest
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:769,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:770,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:777,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:782,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:786,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:791,1
    - Dst: InterceptData*::fetcher::isFetchEvent
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:795,1
    - Dst: InterceptData*::fetcher::handleFetchEvent
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:796,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:797,1
    - Dst: InterceptData*::fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:799,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:801,1
    - Dst: writeResponse
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:807,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:808,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:811,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:816,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:818,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 822
    functionName: handleServerEvent
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - writeResponse
    - LOG_ERROR
    - TSContDestroy
    - static_cast<InterceptData *>
    - InterceptData*::fetcher::isFetchComplete
    - LOG_DEBUG
    - InterceptData*::fetcher::isFetchEvent
    - TSContDataGet
    - readInterceptRequest
    - initRequestProcessing
    - InterceptData*::fetcher::handleFetchEvent
    linkageType: ''
    returnType: int
    signature: int handleServerEvent(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:827,1
    - Dst: InterceptData::init
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:828,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:828,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:829,1
    - Dst: InterceptData::creq::file_urls::begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:834,1
    - Dst: InterceptData::creq::file_urls::end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:834,1
    - Dst: InterceptData::fetcher::addFetchRequest
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:835,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:836,1
    - Dst: StringList::iterator::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:836,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:838,1
    - Dst: StringList::iterator::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:838,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - int_data
    - edata
    - write_response
    argTypes:
    - InterceptData
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 846
    functionName: initRequestProcessing
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - InterceptData::creq::file_urls::end
    - LOG_ERROR
    - InterceptData::creq::file_urls::begin
    - StringList::iterator::c_str
    - TSAssert
    - static_cast<TSVConn>
    - LOG_DEBUG
    - InterceptData::init
    - InterceptData::fetcher::addFetchRequest
    linkageType: ''
    returnType: bool
    signature: bool initRequestProcessing(InterceptData &int_data, void *edata, bool
      &write_response)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:851,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:852,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:854,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:862,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:864,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:866,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:870,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:873,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:875,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:878,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:878,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:881,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - int_data
    argTypes:
    - InterceptData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 885
    functionName: readInterceptRequest
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSVIONDoneSet
    - LOG_ERROR
    - TSIOBufferBlockReadStart
    - TSAssert
    - TSIOBufferReaderStart
    - TSHttpHdrParseReq
    - TSVIOReenable
    - LOG_DEBUG
    - TSVIONDoneGet
    linkageType: ''
    returnType: bool
    signature: bool readInterceptRequest(InterceptData &int_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: InterceptData::setupWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:897,1
    - Dst: prepareResponse
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:901,1
    - Dst: writeErrorResponse
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:905,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:906,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:910,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:911,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:911,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:912,1
    - Dst: writeStandardHeaderFields
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:916,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:917,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:921,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:922,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:922,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:922,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:923,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:926,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:929,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:930,1
    - Dst: ByteBlockList::begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:935,1
    - Dst: ByteBlockList::end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:935,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:936,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:937,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:944,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:945,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:947,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - int_data
    argTypes:
    - InterceptData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 949
    functionName: writeResponse
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - InterceptData::setupWrite
    - prepareResponse
    - TSVIONBytesSet
    - writeStandardHeaderFields
    - LOG_ERROR
    - writeErrorResponse
    - string::data
    - TSIOBufferWrite
    - ByteBlockList::end
    - TSVIOReenable
    - LOG_DEBUG
    - ByteBlockList::begin
    - data
    - size
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool writeResponse(InterceptData &int_data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:959,1
    - Dst: InterceptData::creq::file_urls::begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:969,1
    - Dst: InterceptData::creq::file_urls::end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:969,1
    - Dst: InterceptData::fetcher::getData
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:970,1
    - Dst: ByteBlockList::push_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:971,1
    - Dst: ByteBlock
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:971,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:972,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:972,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:972,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:972,1
    - Dst: ContentTypeHandler::nextObjectHeader
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:973,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:974,1
    - Dst: StringList::iterator::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:974,1
    - Dst: CacheControlHeader::update
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:981,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:983,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:986,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:988,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:996,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1006,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1006,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1006,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1011,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1014,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1016,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1019,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1021,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1024,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1028,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1033,1
    - Dst: StringList::iterator::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1033,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1040,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1040,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1040,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1040,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1041,1
    - Dst: CacheControlHeader::generate
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1041,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1043,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1043,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1043,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1043,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1046,1
    - Dst: strftime
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1050,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1050,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1051,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1055,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1055,1
    - Dst: gzip
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1060,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1061,1
    - Dst: ByteBlockList::clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1064,1
    - Dst: ByteBlockList::push_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1065,1
    - Dst: ByteBlock
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1065,1
    - Dst: InterceptData::gzipped_data::data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1065,1
    - Dst: InterceptData::gzipped_data::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1065,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1066,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 3
    argNames:
    - int_data
    - body_blocks
    - resp_header_fields
    argTypes:
    - InterceptData
    - ByteBlockList
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 951
    functionDepth: 5
    functionLinenumber: 951
    functionLinenumberEnd: 1069
    functionName: prepareResponse
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - InterceptData::creq::file_urls::begin
    - gmtime_r
    - size
    - begin
    - InterceptData::creq::file_urls::end
    - TSMimeHdrFieldFind
    - InterceptData::gzipped_data::size
    - ByteBlockList::clear
    - LOG_ERROR
    - StringList::iterator::c_str
    - ByteBlock
    - LOG_DEBUG
    - ByteBlockList::push_back
    - string::c_str
    - gzip
    - string::size
    - TSMimeHdrFieldValuesCount
    - InterceptData::fetcher::getData
    - find
    - TSMimeHdrFieldValueDateGet
    - InterceptData::gzipped_data::data
    - end
    - ContentTypeHandler::nextObjectHeader
    - string::append
    - CacheControlHeader::update
    - TSMimeHdrFieldValueStringGet
    - CacheControlHeader::generate
    - strftime
    linkageType: ''
    returnType: void
    signature: void prepareResponse(InterceptData &int_data, ByteBlockList &body_blocks,
      string &resp_header_fields)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1074,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1079,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1081,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1083,1
    - Dst: empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1084,1
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1086,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1086,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1086,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1087,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1088,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1090,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1096,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1099,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1101,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1104,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1106,1
    - Dst: empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1071
    functionDepth: 5
    functionLinenumber: 1071
    functionLinenumberEnd: 1115
    functionName: ContentTypeHandler::nextObjectHeader
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - begin
    - swoc::TextView::take_prefix_at
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - swoc::TextView::empty
    - TSMimeHdrFieldValueStringGet
    - end
    - append
    - strcasecmp
    - empty
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool ContentTypeHandler::nextObjectHeader(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::fstream::open
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1125,1
    - Dst: std::fstream::good
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1126,1
    - Dst: std::fstream::getline
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1129,1
    - Dst: std::fstream::good
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1130,1
    - Dst: std::size_t
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1134,1
    - Dst: std::fstream::gcount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1134,1
    - Dst: swoc::TextView::ltrim
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1135,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1136,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1140,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1141,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1142,1
    - Dst: swoc::TextView::front
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1142,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1146,1
    - Dst: std::fstream::fail
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1149,1
    - Dst: std::fstream::eof
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1149,1
    - Dst: std::fstream::gcount
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1149,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1150,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1150,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1152,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1152,1
    - Dst: empty
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1153,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1154,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1154,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1159,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - file_spec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1162
    functionName: ContentTypeHandler::loadAllowList
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - std::fstream::fail
    - clear
    - swoc::TextView::ltrim
    - swoc::TextView::empty
    - emplace_back
    - LOG_ERROR
    - std::size_t
    - std::fstream::open
    - swoc::TextView::trim
    - swoc::TextView::front
    - std::fstream::good
    - std::fstream::getline
    - empty
    - std::fstream::gcount
    - std::fstream::eof
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ContentTypeHandler::loadAllowList(std::string const &file_spec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1170,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1170,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1170,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1170,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1171,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1172,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1178,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1178,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1178,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1178,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1179,1
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1179,1
    - Dst: strftime
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1183,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1183,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1184,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - int_data
    - n_bytes_written
    argTypes:
    - InterceptData
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1192
    functionName: writeStandardHeaderFields
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - begin
    - static_cast<time_t>
    - TShrtime
    - find
    - LOG_ERROR
    - TSIOBufferWrite
    - end
    - gmtime_r
    - strftime
    linkageType: ''
    returnType: bool
    signature: bool writeStandardHeaderFields(InterceptData &int_data, int &n_bytes_written)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1209,1
    - Dst: string*::data
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1209,1
    - Dst: string*::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1209,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1210,1
    - Dst: string*::size
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - int_data
    - n_bytes_written
    argTypes:
    - InterceptData
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1215
    functionName: writeErrorResponse
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 1
    functionsReached:
    - LOG_ERROR
    - string*::size
    - string*::data
    - TSIOBufferWrite
    linkageType: ''
    returnType: bool
    signature: bool writeErrorResponse(InterceptData &int_data, int &n_bytes_written)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rh
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1222
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSUserArgSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void * /* ih ATS_UNUSED */, TSHttpTxn
      rh, TSRemapRequestInfo * /* rri ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1231,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1236,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1240,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1241,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1244,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1250
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexReserve
    - LOG_ERROR
    - Dbg
    - LOG_DEBUG
    - strncpy
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/combo_handler.cc:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argv
    - ih
    argTypes:
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1260
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int /* argc ATS_UNUSED */, char *argv[],
      void **ih, char * /* errbuf ATS_UNUSED */,\n                   int /* errbuf_size
      ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1266
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/esi/combo_handler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void * /* ih ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: IoHandle
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IoHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:54,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: ~IoHandle()
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IoHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: SContData
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    linkageType: ''
    returnType: void
    signature: void SContData(TSCont cont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:94,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:95,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:97,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: ~SContData()
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~SContData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:109,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:115,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:116,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:117,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:119,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:120,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:121,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - vconn
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: SContData::init
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSIOBufferCreate
    - TSHttpHdrTypeSet
    - TSHttpHdrCreate
    - Dbg
    - TSVConnRead
    - TSIOBufferReaderAlloc
    - TSMBufferCreate
    linkageType: ''
    returnType: bool
    signature: bool SContData::init(TSVConn vconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:131,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:132,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:133,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: SContData::setupWrite
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSAssert
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void SContData::setupWrite()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:140,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:142,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:146,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:152,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:154,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:159,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:161,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:163,1
    - Dst: TSMimeHdrFieldValueIntGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:168,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:170,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:172,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:176,1
    - Dst: static_cast<long int>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:176,1
    - Dst: SContData*::body::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:182,1
    - Dst: SContData*::body::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:183,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:186,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:192,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:195,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:195,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:197,1
    - Dst: SContData*::body::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:197,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:198,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:202,1
    - Dst: static_cast<long int>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:203,1
    - Dst: SContData*::body::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:203,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - cont_data
    - read_complete
    argTypes:
    - SContData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 207
    functionName: handleRead
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSMimeHdrFieldValueIntGet
    - TSError
    - TSHandleMLocRelease
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSVIONDoneSet
    - TSHttpHdrParseReq
    - TSVIONDoneGet
    - TSVIOReenable
    - static_cast<long int>
    - Dbg
    - SContData*::body::size
    - SContData*::body::append
    linkageType: ''
    returnType: bool
    signature: bool handleRead(SContData *cont_data, bool &read_complete)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:214,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:219,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:222,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:224,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:225,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:227,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:230,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:231,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:237,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:239,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:240,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:242,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:245,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:248,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:249,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:253,1
    - Dst: SContData*::body::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:253,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:255,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:260,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:261,1
    - Dst: SContData*::setupWrite
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:265,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:266,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:266,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:266,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:267,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:270,1
    - Dst: SContData*::body::data
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:270,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:271,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:274,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:275,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:276,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - SContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 280
    functionName: processRequest
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSHandleMLocRelease
    - TSVIOReenable
    - SContData*::setupWrite
    - snprintf
    - SContData*::body::size
    - string::size
    - static_cast<int>
    - TSMimeHdrFieldValuesCount
    - strncasecmp
    - TSError
    - TSMimeHdrFieldGet
    - TSIOBufferWrite
    - SContData*::body::data
    - Dbg
    - TSMimeHdrFieldNameGet
    - string::append
    - TSMimeHdrFieldValueStringGet
    - string::data
    - TSMimeHdrFieldNext
    linkageType: ''
    returnType: bool
    signature: bool processRequest(SContData *cont_data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:285,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:285,1
    - Dst: static_cast<SContData *>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:287,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:287,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:292,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:293,1
    - Dst: SContData*::init
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:294,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:294,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:295,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:300,1
    - Dst: handleRead
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:301,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:309,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:316,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:321,1
    - Dst: processRequest
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:329,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:330,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:332,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:337,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:339,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 346
    functionName: serverIntercept
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSVConnClose
    - SContData*::init
    - TSError
    - handleRead
    - TSContDestroy
    - processRequest
    - TSAssert
    - static_cast<TSVConn>
    - Dbg
    - static_cast<SContData *>
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int serverIntercept(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:351,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:351,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:353,1
    - Dst: SContData::SContData
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:356,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:357,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:358,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:359,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:360,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/serverIntercept.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: setupServerIntercept
    functionSourceFile: /src/trafficserver/plugins/esi/serverIntercept.cc
    functionUses: 0
    functionsReached:
    - SContData::SContData
    - TSError
    - TSHttpTxnServerIntercept
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: bool
    signature: bool setupServerIntercept(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/esi/esi.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - contptr
    - tx
    - opt_info
    argTypes:
    - TSCont
    - TSHttpTxn
    - OptionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 153
    functionName: ContData
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 1
    functionsReached:
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: void
    signature: void ContData(TSCont contptr, TSHttpTxn tx, const OptionInfo *opt_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CONT_DATA_PTR
    - ','
    - FMT
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: CONT_DATA_DBG
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONT_DATA_DBG(CONT_DATA_PTR, FMT, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: TSStatSystem::create
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    linkageType: ''
    returnType: void
    signature: void create(int handle) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/esi/esi.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: TSStatSystem::increment
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void increment(int handle, int step = 1) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/esi/esi.cc:195,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:198,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: ContData::checkXformStatus
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - CONT_DATA_DBG
    linkageType: ''
    returnType: void
    signature: void ContData::checkXformStatus()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:211,1
    - Dst: ContData::checkXformStatus
      Src: /src/trafficserver/plugins/esi/esi.cc:215,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/esi/esi.cc:221,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:223,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/esi/esi.cc:226,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/esi/esi.cc:230,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:232,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:235,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/esi/esi.cc:236,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:239,1
    - Dst: HttpDataFetcherImpl::HttpDataFetcherImpl
      Src: /src/trafficserver/plugins/esi/esi.cc:243,1
    - Dst: Variables::Variables
      Src: /src/trafficserver/plugins/esi/esi.cc:246,1
    - Dst: EsiProcessor::EsiProcessor
      Src: /src/trafficserver/plugins/esi/esi.cc:249,1
    - Dst: EsiGzip::EsiGzip
      Src: /src/trafficserver/plugins/esi/esi.cc:251,1
    - Dst: EsiGunzip::EsiGunzip
      Src: /src/trafficserver/plugins/esi/esi.cc:252,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:254,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 264
    functionName: ContData::init
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - HttpDataFetcherImpl::HttpDataFetcherImpl
    - TSVConnWriteVIOGet
    - TSError
    - TSIOBufferCreate
    - ContData::checkXformStatus
    - TSTransformOutputVConnGet
    - Variables::Variables
    - TSVConnWrite
    - EsiGunzip::EsiGunzip
    - TSVIOReaderGet
    - CONT_DATA_DBG
    - EsiProcessor::EsiProcessor
    - TSIOBufferReaderAlloc
    - EsiGzip::EsiGzip
    linkageType: ''
    returnType: bool
    signature: bool ContData::init()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/esi/esi.cc:271,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:272,1
    - Dst: Variables::Variables
      Src: /src/trafficserver/plugins/esi/esi.cc:278,1
    - Dst: HttpDataFetcherImpl::HttpDataFetcherImpl
      Src: /src/trafficserver/plugins/esi/esi.cc:282,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/esi/esi.cc:287,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:288,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/esi/esi.cc:293,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:296,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:297,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/esi/esi.cc:299,1
    - Dst: populate
      Src: /src/trafficserver/plugins/esi/esi.cc:301,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:303,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/esi/esi.cc:306,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/esi/esi.cc:313,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:315,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/esi/esi.cc:316,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:319,1
    - Dst: HttpHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:323,1
    - Dst: HttpHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:325,1
    - Dst: useHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:327,1
    - Dst: populate
      Src: /src/trafficserver/plugins/esi/esi.cc:328,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/esi.cc:333,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:338,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:341,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:342,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:348,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:350,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:351,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:357,1
    - Dst: useHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:362,1
    - Dst: populate
      Src: /src/trafficserver/plugins/esi/esi.cc:363,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/esi/esi.cc:369,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:370,1
    - Dst: useHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:376,1
    - Dst: populate
      Src: /src/trafficserver/plugins/esi/esi.cc:377,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:386,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:390,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 391
    functionName: ContData::getClientState
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - populate
    - TSHandleMLocRelease
    - HttpHeader
    - snprintf
    - TSHttpTxnClientReqGet
    - TSUrlStringGet
    - TSfree
    - TSHttpTxnPristineUrlGet
    - TSMimeHdrFieldValueUintGet
    - TSUrlHttpQueryGet
    - useHeader
    - TSMimeHdrFieldValuesCount
    - TSError
    - TSMimeHdrFieldGet
    - Variables::Variables
    - Dbg
    - EsiLib::Utils::areEqual
    - TSMimeHdrFieldNameGet
    - HttpDataFetcherImpl::HttpDataFetcherImpl
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldNext
    linkageType: ''
    returnType: void
    signature: void ContData::getClientState()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/esi/esi.cc:396,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/esi/esi.cc:402,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:404,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/esi/esi.cc:407,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:409,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:410,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:411,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:412,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:413,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:414,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/esi.cc:416,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:417,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/esi.cc:418,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:420,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:422,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:424,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:425,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:426,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:427,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:428,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:429,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:431,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:432,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:434,1
    - Dst: checkForCacheHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:435,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:437,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:445,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:445,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:446,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/esi.cc:447,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:451,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/esi.cc:453,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - bufp
    - hdr_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 457
    functionName: ContData::fillPostHeader
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - checkForCacheHeader
    - clear
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldGet
    - push_back
    - Dbg
    - string::assign
    - EsiLib::Utils::areEqual
    - TSMimeHdrFieldNameGet
    - TSMimeHdrFieldsCount
    - string::append
    - string::size
    linkageType: ''
    returnType: void
    signature: void ContData::fillPostHeader(TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:469,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:470,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:474,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:475,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:480,1
    - Dst: ContData::fillPostHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:488,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 492
    functionName: ContData::getServerState
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSError
    - TSHttpTxnCachedRespGet
    - TSHttpTxnServerRespGet
    - checkHeaderValue
    - ContData::fillPostHeader
    linkageType: ''
    returnType: void
    signature: void ContData::getServerState()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:496,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/esi/esi.cc:498,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:501,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/esi/esi.cc:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 521
    functionName: ContData::~ContData()
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - CONT_DATA_DBG
    - TSIOBufferDestroy
    - TSfree
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ContData::~ContData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: removeCacheHandler
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: int
    signature: int removeCacheHandler(TSCont contp, TSEvent /* event ATS_UNUSED */,
      void * /* edata ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/esi/esi.cc:541,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:542,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/esi/esi.cc:547,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:548,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:552,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:554,1
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:558,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:560,1
    - Dst: TSCacheKeyDigestFromUrlSet
      Src: /src/trafficserver/plugins/esi/esi.cc:564,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:565,1
    - Dst: TSCacheRemove
      Src: /src/trafficserver/plugins/esi/esi.cc:569,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:571,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:575,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:579,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:583,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:585,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 589
    functionName: removeCacheKey
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - TSHandleMLocRelease
    - TSError
    - TSContDestroy
    - TSHttpTxnPristineUrlGet
    - TSCacheKeyDigestFromUrlSet
    - TSContCreate
    - TSHttpTxnClientReqGet
    - TSCacheRemove
    - TSCacheKeyDestroy
    linkageType: ''
    returnType: bool
    signature: bool removeCacheKey(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnAborted
      Src: /src/trafficserver/plugins/esi/esi.cc:595,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:596,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:600,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:601,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:602,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:603,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:604,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:605,1
    - Dst: ContData*::post_headers::begin
      Src: /src/trafficserver/plugins/esi/esi.cc:606,1
    - Dst: ContData*::post_headers::end
      Src: /src/trafficserver/plugins/esi/esi.cc:606,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:608,1
    - Dst: list<string>::iterator::length
      Src: /src/trafficserver/plugins/esi/esi.cc:610,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/esi.cc:611,1
    - Dst: list<string>::iterator::c_str
      Src: /src/trafficserver/plugins/esi/esi.cc:611,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:612,1
    - Dst: list<string>::iterator::c_str
      Src: /src/trafficserver/plugins/esi/esi.cc:612,1
    - Dst: list<string>::iterator::length
      Src: /src/trafficserver/plugins/esi/esi.cc:612,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:614,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:617,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:618,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:619,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:620,1
    - Dst: ContData*::esi_proc::packNodeList
      Src: /src/trafficserver/plugins/esi/esi.cc:623,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:625,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:625,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:625,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:627,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:628,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/esi/esi.cc:631,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:631,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - ContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 632
    functionName: cacheNodeList
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - list<string>::iterator::c_str
    - string::append
    - static_cast<int>
    - ContData*::post_headers::end
    - string::data
    - CONT_DATA_DBG
    - TSHttpTxnAborted
    - snprintf
    - ContData*::esi_proc::packNodeList
    - list<string>::iterator::length
    - strncmp
    - TSFetchUrl
    - ContData*::post_headers::begin
    - string::size
    linkageType: ''
    returnType: void
    signature: void cacheNodeList(ContData *cont_data)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ContData *>
      Src: /src/trafficserver/plugins/esi/esi.cc:643,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/esi.cc:643,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:646,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:649,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:652,1
    - Dst: ContData*::data_fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/esi.cc:655,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:656,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:661,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/esi/esi.cc:668,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:669,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/esi/esi.cc:672,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:674,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/esi/esi.cc:682,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/esi/esi.cc:685,1
    - Dst: ContData*::esi_proc::addParseData
      Src: /src/trafficserver/plugins/esi/esi.cc:687,1
    - Dst: ContData*::esi_gunzip::stream_decode
      Src: /src/trafficserver/plugins/esi/esi.cc:690,1
    - Dst: ContData*::esi_proc::addParseData
      Src: /src/trafficserver/plugins/esi/esi.cc:691,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:691,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:691,1
    - Dst: ContData*::packed_node_list::append
      Src: /src/trafficserver/plugins/esi/esi.cc:693,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:695,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/esi/esi.cc:699,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:702,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/esi/esi.cc:704,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/esi/esi.cc:707,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/esi/esi.cc:707,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/esi/esi.cc:709,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/esi/esi.cc:714,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/esi/esi.cc:714,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:721,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:723,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:724,1
    - Dst: ContData*::packed_node_list::size
      Src: /src/trafficserver/plugins/esi/esi.cc:724,1
    - Dst: ContData*::esi_proc::usePackedNodeList
      Src: /src/trafficserver/plugins/esi/esi.cc:725,1
    - Dst: removeCacheKey
      Src: /src/trafficserver/plugins/esi/esi.cc:726,1
    - Dst: ContData*::esi_proc::start
      Src: /src/trafficserver/plugins/esi/esi.cc:729,1
    - Dst: ContData*::esi_proc::addParseData
      Src: /src/trafficserver/plugins/esi/esi.cc:730,1
    - Dst: ContData*::packed_node_list::data
      Src: /src/trafficserver/plugins/esi/esi.cc:730,1
    - Dst: ContData*::packed_node_list::size
      Src: /src/trafficserver/plugins/esi/esi.cc:730,1
    - Dst: ContData*::esi_gunzip::stream_finish
      Src: /src/trafficserver/plugins/esi/esi.cc:737,1
    - Dst: ContData*::esi_proc::completeParse
      Src: /src/trafficserver/plugins/esi/esi.cc:739,1
    - Dst: cacheNodeList
      Src: /src/trafficserver/plugins/esi/esi.cc:742,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/esi/esi.cc:749,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/esi/esi.cc:749,1
    - Dst: ContData*::data_fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/esi.cc:755,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:756,1
    - Dst: ContData*::esi_proc::process
      Src: /src/trafficserver/plugins/esi/esi.cc:759,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:760,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:762,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:770,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:773,1
    - Dst: gzip
      Src: /src/trafficserver/plugins/esi/esi.cc:782,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:783,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:787,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:788,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:788,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:789,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:790,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/esi/esi.cc:796,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:798,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:803,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:805,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:805,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:806,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/esi.cc:810,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/esi.cc:813,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:816,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:822,1
    - Dst: ContData*::esi_proc::flush
      Src: /src/trafficserver/plugins/esi/esi.cc:826,1
    - Dst: ContData*::data_fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/esi.cc:828,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:829,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:834,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:835,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:835,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:835,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:835,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:837,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/esi.cc:838,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/esi.cc:841,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/esi.cc:842,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:847,1
    - Dst: ContData*::esi_gzip::stream_encode
      Src: /src/trafficserver/plugins/esi/esi.cc:849,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:850,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:852,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:853,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:853,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:853,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:853,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:855,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:855,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:855,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:855,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:856,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:860,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:860,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:860,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:860,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:861,1
    - Dst: ContData*::esi_gzip::stream_finish
      Src: /src/trafficserver/plugins/esi/esi.cc:872,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:873,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:876,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:877,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/esi/esi.cc:880,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/esi/esi.cc:880,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:880,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:880,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:881,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:884,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/esi.cc:885,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:888,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/esi/esi.cc:889,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/esi/esi.cc:894,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 191
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 634
    functionDepth: 6
    functionLinenumber: 634
    functionLinenumberEnd: 899
    functionName: transformData
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - ContData*::esi_proc::usePackedNodeList
    - TSIOBufferReaderStart
    - ContData*::packed_node_list::append
    - TSVIOReenable
    - TSVConnWrite
    - CONT_DATA_DBG
    - ContData*::data_fetcher::isFetchComplete
    - ContData*::esi_proc::flush
    - static_cast<ContData *>
    - TSContDataGet
    - TSVIONTodoGet
    - TSVIONDoneGet
    - ContData*::esi_gunzip::stream_finish
    - TSIOBufferReaderConsume
    - ContData*::esi_proc::process
    - TSIOBufferBlockReadStart
    - gzip
    - removeCacheKey
    - string::size
    - ContData*::esi_proc::addParseData
    - static_cast<int>
    - TSIOBufferReaderAvail
    - TSError
    - TSContCall
    - TSIOBufferWrite
    - Dbg
    - string::assign
    - ContData*::esi_gunzip::stream_decode
    - TSVIOBufferGet
    - TSIOBufferBlockNext
    - TSVIONDoneSet
    - ContData*::esi_proc::completeParse
    - TSVIOContGet
    - ContData*::esi_proc::start
    - string::data
    - TSTransformOutputVConnGet
    - ContData*::esi_gzip::stream_finish
    - ContData*::packed_node_list::data
    - ContData*::esi_gzip::stream_encode
    - cacheNodeList
    - ContData*::packed_node_list::size
    linkageType: ''
    returnType: int
    signature: int transformData(TSCont contp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ContData *>
      Src: /src/trafficserver/plugins/esi/esi.cc:906,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/esi.cc:906,1
    - Dst: ContData*::init
      Src: /src/trafficserver/plugins/esi/esi.cc:913,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:914,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:917,1
    - Dst: ContData*::checkXformStatus
      Src: /src/trafficserver/plugins/esi/esi.cc:920,1
    - Dst: ContData*::data_fetcher::isFetchEvent
      Src: /src/trafficserver/plugins/esi/esi.cc:922,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:925,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:927,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:930,1
    - Dst: ContData*::data_fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/esi.cc:934,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:935,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:941,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:946,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/esi/esi.cc:957,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:959,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/esi/esi.cc:961,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/esi/esi.cc:961,1
    - Dst: transformData
      Src: /src/trafficserver/plugins/esi/esi.cc:965,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:969,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/esi/esi.cc:971,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/esi/esi.cc:971,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:976,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/esi/esi.cc:977,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/esi/esi.cc:977,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:981,1
    - Dst: transformData
      Src: /src/trafficserver/plugins/esi/esi.cc:982,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:987,1
    - Dst: ContData*::data_fetcher::handleFetchEvent
      Src: /src/trafficserver/plugins/esi/esi.cc:988,1
    - Dst: ContData*::data_fetcher::isFetchComplete
      Src: /src/trafficserver/plugins/esi/esi.cc:992,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:993,1
    - Dst: transformData
      Src: /src/trafficserver/plugins/esi/esi.cc:994,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:998,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/esi/esi.cc:1001,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:1007,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:1008,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:1016,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/esi/esi.cc:1017,1
    - Dst: CONT_DATA_DBG
      Src: /src/trafficserver/plugins/esi/esi.cc:1026,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:1028,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 901
    functionDepth: 7
    functionLinenumber: 901
    functionLinenumberEnd: 1030
    functionName: transformHandler
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSVConnShutdown
    - TSAssert
    - CONT_DATA_DBG
    - ContData*::data_fetcher::isFetchComplete
    - static_cast<ContData *>
    - TSContDataGet
    - TSContScheduleOnPool
    - ContData*::init
    - static_cast<int>
    - TSVConnWriteVIOGet
    - TSError
    - TSContCall
    - transformData
    - ContData*::data_fetcher::handleFetchEvent
    - ContData*::checkXformStatus
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - ContData*::data_fetcher::isFetchEvent
    linkageType: ''
    returnType: int
    signature: int transformHandler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:1043,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1045,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1047,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1048,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/esi/esi.cc:1050,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1051,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/esi/esi.cc:1054,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1055,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - bufp
    - hdr_loc
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1039
    functionDepth: 5
    functionLinenumber: 1039
    functionLinenumberEnd: 1062
    functionName: addMimeHeaderField
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void addMimeHeaderField(TSMBuffer bufp, TSMLoc hdr_loc, const char
      *name, int name_len, const char *value, int value_len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RespHdrModData *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1068,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1068,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/esi/esi.cc:1069,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1071,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1076,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/esi/esi.cc:1077,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1082,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1084,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1087,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1091,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1093,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1095,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1097,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1100,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1101,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1106,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/esi.cc:1109,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1111,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1113,1
    - Dst: checkForCacheHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:1117,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1126,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:1127,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1132,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1134,1
    - Dst: addMimeHeaderField
      Src: /src/trafficserver/plugins/esi/esi.cc:1136,1
    - Dst: addMimeHeaderField
      Src: /src/trafficserver/plugins/esi/esi.cc:1141,1
    - Dst: addMimeHeaderField
      Src: /src/trafficserver/plugins/esi/esi.cc:1146,1
    - Dst: addMimeHeaderField
      Src: /src/trafficserver/plugins/esi/esi.cc:1148,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1152,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1153,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1156,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:1161,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/esi/esi.cc:1162,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1064
    functionDepth: 6
    functionLinenumber: 1064
    functionLinenumberEnd: 1164
    functionName: modifyResponseHeader
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - static_cast<RespHdrModData *>
    - TSContDestroy
    - TSContDataGet
    - TSMimeHdrFieldDestroy
    - addMimeHeaderField
    - checkForCacheHeader
    - strncmp
    - TSMimeHdrFieldValuesCount
    - TSError
    - TSMimeHdrFieldGet
    - Dbg
    - EsiLib::Utils::areEqual
    - TSMimeHdrFieldNameGet
    - TSHttpTxnReenable
    - TSMimeHdrFieldValueStringGet
    - static_cast<TSHttpTxn>
    - checkHeaderValue
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: int
    signature: int modifyResponseHeader(TSCont contp, TSEvent event, void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/esi.cc:1170,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/esi.cc:1178,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1180,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1183,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1186,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1190,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - bufp
    - hdr_loc
    - name
    - name_len
    - exp_value
    - exp_value_len
    - prefix
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1166
    functionDepth: 5
    functionLinenumber: 1166
    functionLinenumberEnd: 1201
    functionName: checkHeaderValue
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - Dbg
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: "bool checkHeaderValue(TSMBuffer bufp, TSMLoc hdr_loc, const char *name,
      int name_len, const char *exp_value, int exp_value_len,\n                 bool
      prefix)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1208,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1209,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/esi/esi.cc:1212,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1220,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1222,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1225,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/esi.cc:1228,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1230,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1232,1
    - Dst: checkForCacheHeader
      Src: /src/trafficserver/plugins/esi/esi.cc:1234,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1239,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/esi.cc:1246,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/esi.cc:1247,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1248,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/esi.cc:1248,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/esi.cc:1248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1249,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1253,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1203
    functionDepth: 5
    functionLinenumber: 1203
    functionLinenumberEnd: 1259
    functionName: maskOsCacheHeaders
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - checkForCacheHeader
    - TSError
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldGet
    - TSMimeHdrFieldNameSet
    - string::data
    - Dbg
    - string::assign
    - TSMimeHdrFieldNameGet
    - TSHttpTxnServerRespGet
    - TSMimeHdrFieldsCount
    - string::append
    - string::size
    linkageType: ''
    returnType: void
    signature: void maskOsCacheHeaders(TSHttpTxn txnp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1272,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1273,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/esi.cc:1281,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1283,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1285,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1287,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1294,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1296,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1297,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1301,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1303,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1304,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1305,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1306,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1309,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1311,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1311,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1313,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1320,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1322,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1323,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1325,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1332,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1338,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1343,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1344,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1346,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1348,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1349,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1350,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1353,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1354,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1361,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 5
    argNames:
    - txnp
    - is_cache_txn
    - pOptionInfo
    - intercept_header
    - head_only
    argTypes:
    - TSHttpTxn
    - bool
    - OptionInfo*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1261
    functionDepth: 6
    functionLinenumber: 1261
    functionLinenumberEnd: 1363
    functionName: isTxnTransformable
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - memcmp
    - TSHandleMLocRelease
    - TSError
    - TSHttpHdrMethodGet
    - TSHttpHdrStatusGet
    - Dbg
    - TSHttpTxnClientReqGet
    - TSHttpTxnCachedRespGet
    - TSHttpTxnServerRespGet
    - checkHeaderValue
    - TSMimeHdrFieldValueUintGet
    linkageType: ''
    returnType: bool
    signature: bool isTxnTransformable(TSHttpTxn txnp, bool is_cache_txn, const OptionInfo
      *pOptionInfo, bool *intercept_header, bool *head_only)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1369,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1370,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1374,1
    - Dst: isTxnTransformable
      Src: /src/trafficserver/plugins/esi/esi.cc:1375,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - txnp
    - pOptionInfo
    - intercept_header
    - head_only
    argTypes:
    - TSHttpTxn
    - OptionInfo*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1365
    functionDepth: 7
    functionLinenumber: 1365
    functionLinenumberEnd: 1379
    functionName: isCacheObjTransformable
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnCacheLookupStatusGet
    - isTxnTransformable
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool isCacheObjTransformable(TSHttpTxn txnp, const OptionInfo *pOptionInfo,
      bool *intercept_header, bool *head_only)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/esi/esi.cc:1384,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1385,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1391,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1392,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1399,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1401,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/esi.cc:1403,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1404,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1406,1
    - Dst: checkHeaderValue
      Src: /src/trafficserver/plugins/esi/esi.cc:1412,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/esi.cc:1414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1381
    functionDepth: 6
    functionLinenumber: 1381
    functionLinenumberEnd: 1416
    functionName: isInterceptRequest
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrMethodGet
    - TSHttpTxnIsInternal
    - TSError
    - Dbg
    - TSHttpTxnClientReqGet
    - checkHeaderValue
    linkageType: ''
    returnType: bool
    signature: bool isInterceptRequest(TSHttpTxn txnp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1422,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1425,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1430,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/esi.cc:1431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - name
    - name_len
    - value
    - value_len
    - cacheable
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1437
    functionName: checkForCacheHeader
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 3
    functionsReached:
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: bool checkForCacheHeader(const char *name, int name_len, const char
      *value, int value_len, bool &cacheable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:1442,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1444,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1447,1
    - Dst: RespHdrModData::RespHdrModData
      Src: /src/trafficserver/plugins/esi/esi.cc:1448,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - txnp
    - src_cont_data
    argTypes:
    - TSHttpTxn
    - ContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1439
    functionDepth: 3
    functionLinenumber: 1439
    functionLinenumberEnd: 1455
    functionName: addSendResponseHeaderHook
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpTxnHookAdd
    - RespHdrModData::RespHdrModData
    - TSContDataSet
    - TSContCreate
    linkageType: ''
    returnType: bool
    signature: bool addSendResponseHeaderHook(TSHttpTxn txnp, const ContData *src_cont_data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:1464,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1466,1
    - Dst: ContData::ContData
      Src: /src/trafficserver/plugins/esi/esi.cc:1470,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1471,1
    - Dst: ContData*::getClientState
      Src: /src/trafficserver/plugins/esi/esi.cc:1476,1
    - Dst: ContData*::getServerState
      Src: /src/trafficserver/plugins/esi/esi.cc:1477,1
    - Dst: removeCacheKey
      Src: /src/trafficserver/plugins/esi/esi.cc:1482,1
    - Dst: removeCacheKey
      Src: /src/trafficserver/plugins/esi/esi.cc:1486,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1491,1
    - Dst: addSendResponseHeaderHook
      Src: /src/trafficserver/plugins/esi/esi.cc:1493,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1494,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/esi/esi.cc:1498,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/esi/esi.cc:1500,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/esi/esi.cc:1502,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1505,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:1510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - txnp
    - processing_os_response
    - intercept_header
    - head_only
    - pOptionInfo
    argTypes:
    - TSHttpTxn
    - bool
    - bool
    - bool
    - OptionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1457
    functionDepth: 6
    functionLinenumber: 1457
    functionLinenumberEnd: 1516
    functionName: addTransform
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - ContData*::getClientState
    - TSError
    - ContData::ContData
    - TSHttpTxnHookAdd
    - ContData*::getServerState
    - TSContDataSet
    - TSHttpTxnUntransformedRespCache
    - TSContDestroy
    - Dbg
    - TSTransformCreate
    - TSHttpTxnTransformedRespCache
    - addSendResponseHeaderHook
    - removeCacheKey
    linkageType: ''
    returnType: bool
    signature: "bool addTransform(TSHttpTxn txnp, const bool processing_os_response,
      const bool intercept_header, const bool head_only,\n             const OptionInfo
      *pOptionInfo)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/esi/esi.cc:1521,1
    - Dst: isInterceptRequest
      Src: /src/trafficserver/plugins/esi/esi.cc:1524,1
    - Dst: static_cast<OptionInfo *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1525,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/esi/esi.cc:1525,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1529,1
    - Dst: setupServerIntercept
      Src: /src/trafficserver/plugins/esi/esi.cc:1531,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1532,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1534,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1537,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1546,1
    - Dst: isTxnTransformable
      Src: /src/trafficserver/plugins/esi/esi.cc:1547,1
    - Dst: addTransform
      Src: /src/trafficserver/plugins/esi/esi.cc:1548,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/esi.cc:1549,1
    - Dst: maskOsCacheHeaders
      Src: /src/trafficserver/plugins/esi/esi.cc:1556,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1559,1
    - Dst: isCacheObjTransformable
      Src: /src/trafficserver/plugins/esi/esi.cc:1560,1
    - Dst: addTransform
      Src: /src/trafficserver/plugins/esi/esi.cc:1564,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/esi.cc:1565,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1572,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/esi/esi.cc:1576,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1518
    functionDepth: 8
    functionLinenumber: 1518
    functionLinenumberEnd: 1578
    functionName: globalHookHandler
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - isCacheObjTransformable
    - TSError
    - maskOsCacheHeaders
    - isTxnTransformable
    - Dbg
    - setupServerIntercept
    - addTransform
    - isInterceptRequest
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - static_cast<OptionInfo *>
    - TSHttpTxnReenable
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: int
    signature: int globalHookHandler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSfopen
      Src: /src/trafficserver/plugins/esi/esi.cc:1584,1
    - Dst: TSfgets
      Src: /src/trafficserver/plugins/esi/esi.cc:1587,1
    - Dst: std::list::push_back
      Src: /src/trafficserver/plugins/esi/esi.cc:1588,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/esi.cc:1588,1
    - Dst: TSfclose
      Src: /src/trafficserver/plugins/esi/esi.cc:1590,1
    - Dst: Utils::parseKeyValueConfig
      Src: /src/trafficserver/plugins/esi/esi.cc:1591,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1592,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file_name
    - handler_conf
    argTypes:
    - char*
    - Utils::KeyValueMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1596
    functionName: loadHandlerConf
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - string
    - TSfopen
    - TSError
    - TSfclose
    - TSfgets
    - std::list::push_back
    - Dbg
    - Utils::parseKeyValueConfig
    linkageType: ''
    returnType: void
    signature: void loadHandlerConf(const char *file_name, Utils::KeyValueMap &handler_conf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TSStatSystem::TSStatSystem
      Src: /src/trafficserver/plugins/esi/esi.cc:1604,1
    - Dst: EsiLib::Stats::init
      Src: /src/trafficserver/plugins/esi/esi.cc:1605,1
    - Dst: HandlerManager::HandlerManager
      Src: /src/trafficserver/plugins/esi/esi.cc:1609,1
    - Dst: OptionInfo::OptionInfo
      Src: /src/trafficserver/plugins/esi/esi.cc:1612,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1617,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1618,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1619,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1620,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1621,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1622,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1623,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/esi/esi.cc:1628,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1628,1
    - Dst: loadHandlerConf
      Src: /src/trafficserver/plugins/esi/esi.cc:1644,1
    - Dst: loadObjects
      Src: /src/trafficserver/plugins/esi/esi.cc:1645,1
    - Dst: std::sscanf
      Src: /src/trafficserver/plugins/esi/esi.cc:1651,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/esi/esi.cc:1662,1
    - Dst: max
      Src: /src/trafficserver/plugins/esi/esi.cc:1664,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/esi/esi.cc:1665,1
    - Dst: std::sscanf
      Src: /src/trafficserver/plugins/esi/esi.cc:1672,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/esi/esi.cc:1674,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/esi/esi.cc:1677,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/esi/esi.cc:1683,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - argc
    - argv
    - pOptionInfo
    argTypes:
    - int
    - char*[]
    - OptionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1697
    functionName: esiPluginInit
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSStatSystem::TSStatSystem
    - std::sscanf
    - loadObjects
    - getopt_long
    - const_cast<char *>
    - EsiLib::Stats::init
    - HandlerManager::HandlerManager
    - OptionInfo::OptionInfo
    - const_cast<char *const *>
    - max
    - Dbg
    - TSEmergency
    - loadHandlerConf
    linkageType: ''
    returnType: int
    signature: int esiPluginInit(int argc, const char *argv[], OptionInfo *pOptionInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/esi/esi.cc:1707,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1708,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/esi/esi.cc:1712,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1714,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:1714,1
    - Dst: esiPluginInit
      Src: /src/trafficserver/plugins/esi/esi.cc:1717,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/esi/esi.cc:1718,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:1722,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1724,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/esi/esi.cc:1725,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1728,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1730,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1731,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1699
    functionDepth: 4
    functionLinenumber: 1699
    functionLinenumberEnd: 1733
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSRalloc
    - TSfree
    - TSError
    - TSContDataSet
    - TSHttpHookAdd
    - TSContCreate
    - esiPluginInit
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:1742,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1743,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:1748,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1749,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1755
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - snprintf
    - TSError
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:1761,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1765,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/esi/esi.cc:1778,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:1780,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:1780,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1781,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/esi.cc:1781,1
    - Dst: esiPluginInit
      Src: /src/trafficserver/plugins/esi/esi.cc:1784,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/esi.cc:1785,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/esi/esi.cc:1786,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/esi/esi.cc:1789,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/esi/esi.cc:1790,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/esi/esi.cc:1791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1757
    functionDepth: 4
    functionLinenumber: 1757
    functionLinenumberEnd: 1794
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSRalloc
    - TSfree
    - static_cast<void *>
    - TSError
    - TSContDataSet
    - snprintf
    - TSContCreate
    - esiPluginInit
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/esi/esi.cc:1799,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/esi/esi.cc:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1796
    functionDepth: 2
    functionLinenumber: 1796
    functionLinenumberEnd: 1803
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSCont>
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/esi/esi.cc:1812,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1813,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/esi/esi.cc:1814,1
    - Dst: isInterceptRequest
      Src: /src/trafficserver/plugins/esi/esi.cc:1816,1
    - Dst: setupServerIntercept
      Src: /src/trafficserver/plugins/esi/esi.cc:1817,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/esi.cc:1818,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1820,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/esi.cc:1823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1808
    functionDepth: 7
    functionLinenumber: 1808
    functionLinenumberEnd: 1828
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/esi/esi.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpTxnHookAdd
    - Dbg
    - setupServerIntercept
    - isInterceptRequest
    - static_cast<TSCont>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: TestHttpDataFetcher::TestHttpDataFetcher
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestHttpDataFetcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: TestHttpDataFetcher::addFetchRequest
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool addFetchRequest(const std::string & /* url ATS_UNUSED */,\n                  FetchedDataProcessor
      * /* callback_obj  ATS_UNUSED */ = nullptr) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<int &>
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: TestHttpDataFetcher::getRequestStatus
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached:
    - const_cast<int &>
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus getRequestStatus(const std::string & /* url ATS_UNUSED */)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TestHttpDataFetcher::getNumPendingRequests
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNumPendingRequests() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<TestHttpDataFetcher &>
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:61,1
    - Dst: TestHttpDataFetcher::_data::clear
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:64,1
    - Dst: TestHttpDataFetcher::_data::append
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:65,1
    - Dst: TestHttpDataFetcher::_data::append
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:66,1
    - Dst: TestHttpDataFetcher::_data::append
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:67,1
    - Dst: TestHttpDataFetcher::_data::data
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:68,1
    - Dst: TestHttpDataFetcher::_data::size
      Src: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - url
    - content
    - content_len
    argTypes:
    - std::string
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: TestHttpDataFetcher::getContent
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached:
    - TestHttpDataFetcher::_data::data
    - TestHttpDataFetcher::_data::clear
    - const_cast<TestHttpDataFetcher &>
    - TestHttpDataFetcher::_data::size
    - TestHttpDataFetcher::_data::append
    linkageType: ''
    returnType: bool
    signature: bool getContent(const std::string &url, const char *&content, int &content_len)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: TestHttpDataFetcher::setReturnData
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReturnData(bool rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: TestHttpDataFetcher::getReturnData
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getReturnData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - esi_vars
    - esi_expr
    - http_fetcher
    argTypes:
    - EsiLib::Variables
    - EsiLib::Expression
    - HttpDataFetcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: StubIncludeHandler::StubIncludeHandler
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubIncludeHandler(EsiLib::Variables &esi_vars, EsiLib::Expression
      &esi_expr, HttpDataFetcher &http_fetcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:43,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:47,1
    - Dst: make_pair
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: FailureInfo::FailureInfo
    functionSourceFile: /src/trafficserver/plugins/esi/test/sampleProb.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - make_pair
    - push_back
    linkageType: ''
    returnType: void
    signature: void FailureInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~FailureInfo()
    functionSourceFile: /src/trafficserver/plugins/esi/test/sampleProb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FailureInfo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FailureData::find
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:84,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:90,1
    - Dst: timersub
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:92,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - URL
    - data
    - isSuccess
    argTypes:
    - string
    - FailureData
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 117
    functionName: registerSuccFail
    functionSourceFile: /src/trafficserver/plugins/esi/test/sampleProb.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - FailureData::find
    - timersub
    linkageType: ''
    returnType: void
    signature: void registerSuccFail(string URL, FailureData &data, bool isSuccess)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FailureData::find
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:123,1
    - Dst: FailureData::end
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:124,1
    - Dst: rand
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:155,1
    - Dst: FailureInfo::FailureInfo
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - URL
    - data
    argTypes:
    - string
    - FailureData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: isAttemptReq
    functionSourceFile: /src/trafficserver/plugins/esi/test/sampleProb.cc
    functionUses: 0
    functionsReached:
    - FailureInfo::FailureInfo
    - FailureData::end
    - FailureData::find
    - rand
    linkageType: ''
    returnType: bool
    signature: bool isAttemptReq(string URL, FailureData &data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:179,1
    - Dst: rand
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:181,1
    - Dst: isAttemptReq
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:183,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:185,1
    - Dst: registerSuccFail
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:186,1
    - Dst: registerSuccFail
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:189,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:194,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/esi/test/sampleProb.cc:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/esi/test/sampleProb.cc
    functionUses: 6
    functionsReached:
    - atoi
    - isAttemptReq
    - rand
    - registerSuccFail
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:38,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:39,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:40,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:41,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:42,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:42,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:43,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - attr
    - name
    - value
    argTypes:
    - Attribute
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: check_node_attr
    functionSourceFile: /src/trafficserver/plugins/esi/test/docnode_test.cc
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strncmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_node_attr(const Attribute &attr, const char *name, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:49,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:50,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:51,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:52,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:52,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:54,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:55,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:56,1
    - Dst: DocNodeList::const_iterator::attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:56,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:57,1
    - Dst: DocNodeList::const_iterator::attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:57,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:59,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:60,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:61,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:61,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:62,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - node_list
    argTypes:
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: checkNodeList1
    functionSourceFile: /src/trafficserver/plugins/esi/test/docnode_test.cc
    functionUses: 0
    functionsReached:
    - DocNodeList::begin
    - DocNodeList::const_iterator::attr_list::front
    - REQUIRE
    - DocNodeList::const_iterator::attr_list::size
    - strncmp
    - check_node_attr
    - size
    linkageType: ''
    returnType: void
    signature: void checkNodeList1(const DocNodeList &node_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:68,1
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:68,1
    - Dst: DocNodeList::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:69,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:70,1
    - Dst: DocNodeList::const_iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:72,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:73,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:74,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:74,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:75,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:75,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:76,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:77,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:78,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:79,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:80,1
    - Dst: child_nodes::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:80,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:81,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:82,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:83,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:84,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:84,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:85,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:85,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:87,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:88,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:88,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:88,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:89,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:89,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:91,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:92,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:93,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:94,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:95,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:95,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:96,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:96,1
    - Dst: DocNodeList::const_iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:98,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:100,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:101,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:101,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:102,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:102,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:103,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:104,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:105,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:106,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:107,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:108,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:109,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:110,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:110,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:111,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:111,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:113,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:114,1
    - Dst: child_nodes::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:114,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:115,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:116,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:117,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:117,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:117,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:118,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:118,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:120,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:121,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:122,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:122,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:123,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:123,1
    - Dst: DocNodeList::const_iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:125,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:128,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:129,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:129,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:130,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:131,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:132,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:133,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:134,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:135,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:136,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:137,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:137,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:138,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:138,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:140,1
    - Dst: child_nodes::begin
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:141,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:142,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:143,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:144,1
    - Dst: attr_list::size
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:144,1
    - Dst: check_node_attr
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:145,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/test/docnode_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 1
    argNames:
    - node_list
    argTypes:
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 146
    functionName: checkNodeList2
    functionSourceFile: /src/trafficserver/plugins/esi/test/docnode_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - DocNodeList::begin
    - attr_list::front
    - REQUIRE
    - child_nodes::begin
    - attr_list::size
    - DocNodeList::size
    - child_nodes::size
    - strlen
    - DocNodeList::const_iterator::child_nodes::begin
    - strncmp
    - check_node_attr
    linkageType: ''
    returnType: void
    signature: void checkNodeList2(const DocNodeList &node_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeaderList::push_back
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:44,1
    - Dst: HttpHeader
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:44,1
    - Dst: HttpHeaderList::push_back
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:45,1
    - Dst: HttpHeader
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:45,1
    - Dst: HttpHeaderList::push_back
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:47,1
    - Dst: HttpHeader
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:47,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:47,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/vars_test.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - strings
    - headers
    argTypes:
    - char*[]
    - HttpHeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: addToHeaderList
    functionSourceFile: /src/trafficserver/plugins/esi/test/vars_test.cc
    functionUses: 0
    functionsReached:
    - HttpHeader
    - HttpHeaderList::push_back
    - strlen
    linkageType: ''
    returnType: void
    signature: void addToHeaderList(const char *strings[], HttpHeaderList &headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AttributeList::begin
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:41,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:43,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:43,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:43,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:44,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:44,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:45,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:45,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:45,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:46,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:46,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:48,1
    - Dst: AttributeList::end
      Src: /src/trafficserver/plugins/esi/test/utils_test.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - check_id
    - attr_list
    - attr_info
    argTypes:
    - char*
    - AttributeList
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: checkAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/test/utils_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - REQUIRE
    - AttributeList::begin
    - AttributeList::end
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void checkAttributes(const char *check_id, const AttributeList &attr_list,
      const char *attr_info[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: enableFakeDebugLog
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void enableFakeDebugLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:53,1
    - Dst: vsnprintf
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:54,1
    - Dst: printf
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:55,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:56,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tag
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: DbgCtl::print
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 0
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    - append
    - printf
    linkageType: ''
    returnType: void
    signature: void DbgCtl::print(const char *tag, const char * /* file */, const
      char * /* function */, int /* line */, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: "&\n  registry()"
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<char const *, bool>
    signature: "std::map<char const *, bool> &\n  registry()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DbgCtl::_RegistryAccessor::delete_registry
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:83,1
    - Dst: DbgCtl::_RegistryAccessor::delete_registry
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:84,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:85,1
    - Dst: char::char
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:85,1
    - Dst: std::strcpy
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:86,1
    - Dst: DbgCtl::_RegistryAccessor::delete_registry
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: DbgCtl::_new_reference
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 1
    functionsReached:
    - DbgCtl::_RegistryAccessor::delete_registry
    - std::strcpy
    - std::strlen
    - char::char
    linkageType: ''
    returnType: DbgCtl::_TagData
    signature: 'DbgCtl::_TagData *

      DbgCtl::_new_reference(char const *tag)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DbgCtl::_RegistryAccessor::delete_registry
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: DbgCtl::_rm_reference
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 0
    functionsReached:
    - DbgCtl::_RegistryAccessor::delete_registry
    linkageType: ''
    returnType: void
    signature: void DbgCtl::_rm_reference()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: DbgCtl::_override_global_on
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DbgCtl::_override_global_on()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:114,1
    - Dst: vsnprintf
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:115,1
    - Dst: printf
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:116,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/esi/test/print_funcs.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: TSError
    functionSourceFile: /src/trafficserver/plugins/esi/test/print_funcs.cc
    functionUses: 194
    functionsReached:
    - printf
    - va_end
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void TSError(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addFetchRequest
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: StubIncludeHandler::handleInclude
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc
    functionUses: 0
    functionsReached:
    - addFetchRequest
    linkageType: ''
    returnType: int
    signature: int StubIncludeHandler::handleInclude(const char *data, int data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: StubIncludeHandler::handleParseComplete
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubIncludeHandler::handleParseComplete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<TestHttpDataFetcher &>
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:55,1
    - Dst: TestHttpDataFetcher::getReturnData
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:56,1
    - Dst: char::char
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:57,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:58,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - include_id
    - data
    - data_len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: StubIncludeHandler::getData
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc
    functionUses: 0
    functionsReached:
    - char::char
    - push_back
    - snprintf
    - TestHttpDataFetcher::getReturnData
    - dynamic_cast<TestHttpDataFetcher &>
    linkageType: ''
    returnType: bool
    signature: bool StubIncludeHandler::getData(int include_id, const char *&data,
      int &data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - footer
    - footer_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: StubIncludeHandler::getFooter
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StubIncludeHandler::getFooter(const char *&footer, int &footer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:75,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: StubIncludeHandler::~StubIncludeHandler()
    functionSourceFile: /src/trafficserver/plugins/esi/test/StubIncludeHandler.cc
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void StubIncludeHandler::~StubIncludeHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:38,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:39,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:40,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:41,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:42,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:42,1
    - Dst: REQUIRE
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:43,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/esi/test/parser_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - attr
    - name
    - value
    argTypes:
    - Attribute
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: check_node_attr
    functionSourceFile: /src/trafficserver/plugins/esi/test/parser_test.cc
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strncmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_node_attr(const Attribute &attr, const char *name, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: HandlerManager::loadObjects
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHandlerManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerManager::loadObjects(const Utils::KeyValueMap & /* handlers
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StubIncludeHandler::StubIncludeHandler
      Src: /src/trafficserver/plugins/esi/test/TestHandlerManager.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - esi_vars
    - esi_expr
    - fetcher
    - id
    argTypes:
    - Variables
    - Expression
    - HttpDataFetcher
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: HandlerManager::getHandler
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHandlerManager.cc
    functionUses: 0
    functionsReached:
    - StubIncludeHandler::StubIncludeHandler
    linkageType: ''
    returnType: SpecialIncludeHandler
    signature: 'SpecialIncludeHandler *

      HandlerManager::getHandler(Variables &esi_vars, Expression &esi_expr, HttpDataFetcher
      &fetcher, const std::string &id) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: HandlerManager::~HandlerManager()
    functionSourceFile: /src/trafficserver/plugins/esi/test/TestHandlerManager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandlerManager::~HandlerManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<std::string>
      Src: /src/trafficserver/plugins/esi/common/StringHash.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: operator()(const std::string &str) const
    functionSourceFile: /src/trafficserver/plugins/esi/common/StringHash.h
    functionUses: 0
    functionsReached:
    - std::hash<std::string>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string &str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<std::string>
      Src: /src/trafficserver/plugins/esi/common/StringHash.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: operator()(const std::string &str) const
    functionSourceFile: /src/trafficserver/plugins/esi/common/StringHash.h
    functionUses: 0
    functionsReached:
    - std::hash<std::string>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string &str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - data
    argTypes:
    - string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: append
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.cc
    functionUses: 114
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void append(string &out, T data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - in
    - data
    argTypes:
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: extract
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: void
    signature: void extract(const char *in, T &data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:62,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:64,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - zstrm
    - flush
    - cdata
    argTypes:
    - z_stream
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: runDeflateLoop
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.cc
    functionUses: 0
    functionsReached:
    - std::string::append
    - deflate
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: int
    signature: int runDeflateLoop(z_stream &zstrm, int flush, std::string &cdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:80,1
    - Dst: deflateInit2
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:85,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:86,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:91,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:96,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:96,1
    - Dst: runDeflateLoop
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:99,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:103,1
    - Dst: reinterpret_cast<const Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:103,1
    - Dst: runDeflateLoop
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:112,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:114,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:116,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:123,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:124,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - blocks
    - cdata
    argTypes:
    - ByteBlockList
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 126
    functionName: EsiLib::gzip
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.cc
    functionUses: 0
    functionsReached:
    - deflateInit2
    - TSError
    - deflateEnd
    - crc32
    - const_cast<char *>
    - std::string::assign
    - static_cast<int32_t>
    - append
    - static_cast<uint32_t>
    - runDeflateLoop
    - reinterpret_cast<const Bytef *>
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: bool
    signature: bool EsiLib::gzip(const ByteBlockList &blocks, std::string &cdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:132,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:136,1
    - Dst: BufferList::clear
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:141,1
    - Dst: inflateInit2
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:151,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:152,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:155,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:155,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:161,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:163,1
    - Dst: inflate
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:165,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:173,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:177,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:181,1
    - Dst: reinterpret_cast<const Bytef *>
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:181,1
    - Dst: BufferList::push_back
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:185,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:185,1
    - Dst: BufferList::back
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:186,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:187,1
    - Dst: inflateEnd
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:193,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:195,1
    - Dst: extract
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:200,1
    - Dst: extract
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:201,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:203,1
    - Dst: unsigned
      Src: /src/trafficserver/plugins/esi/common/gzip.cc:204,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - data
    - data_len
    - buf_list
    argTypes:
    - char*
    - int
    - BufferList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 208
    functionName: EsiLib::gunzip
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.cc
    functionUses: 0
    functionsReached:
    - unsigned
    - inflate
    - string
    - TSError
    - const_cast<char *>
    - crc32
    - BufferList::clear
    - inflateInit2
    - BufferList::push_back
    - string::assign
    - inflateEnd
    - reinterpret_cast<const Bytef *>
    - extract
    - BufferList::back
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: bool
    signature: bool EsiLib::gunzip(const char *data, int data_len, BufferList &buf_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::clear
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:43,1
    - Dst: packToBuffer
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: EsiLib::DocNodeList::pack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 1
    functionsReached:
    - std::string::clear
    - packToBuffer
    linkageType: ''
    returnType: void
    signature: void pack(std::string &buffer, bool retain_buffer_data = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::DocNodeList::pack
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: EsiLib::DocNodeList::pack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 2
    functionsReached:
    - EsiLib::DocNodeList::pack
    linkageType: ''
    returnType: std::string
    signature: std::string pack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::DocNodeList::unpack
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: EsiLib::DocNodeList::unpack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::DocNodeList::unpack
    linkageType: ''
    returnType: bool
    signature: bool unpack(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: EsiLib::DocNode::DocNode
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DocNode(TYPE _type = TYPE_UNKNOWN, const char *_data = nullptr,
      int32_t _data_len = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::clear
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:43,1
    - Dst: packToBuffer
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: EsiLib::DocNodeList::pack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 2
    functionsReached:
    - std::string::clear
    - packToBuffer
    linkageType: ''
    returnType: void
    signature: void pack(std::string &buffer, bool retain_buffer_data = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::DocNodeList::pack
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: EsiLib::DocNodeList::pack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 3
    functionsReached:
    - EsiLib::DocNodeList::pack
    linkageType: ''
    returnType: std::string
    signature: std::string pack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::DocNodeList::unpack
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/DocNode.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: EsiLib::DocNodeList::unpack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 3
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::DocNodeList::unpack
    linkageType: ''
    returnType: bool
    signature: bool unpack(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: EsiLib::DocNode::DocNode
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DocNode(TYPE _type = TYPE_UNKNOWN, const char *_data = nullptr,
      int32_t _data_len = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: EsiLib::ByteBlock
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteBlock(const char *d = nullptr, int d_len = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteBlockList::push_back
      Src: /src/trafficserver/plugins/esi/common/gzip.h:58,1
    - Dst: EsiLib::ByteBlock
      Src: /src/trafficserver/plugins/esi/common/gzip.h:58,1
    - Dst: EsiLib::gzip
      Src: /src/trafficserver/plugins/esi/common/gzip.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_len
    - cdata
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: EsiLib::gzip
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.h
    functionUses: 1
    functionsReached:
    - EsiLib::ByteBlock
    - EsiLib::gzip
    - ByteBlockList::push_back
    linkageType: ''
    returnType: bool
    signature: bool gzip(const char *data, int data_len, std::string &cdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: EsiLib::ByteBlock
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteBlock(const char *d = nullptr, int d_len = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteBlockList::push_back
      Src: /src/trafficserver/plugins/esi/common/gzip.h:58,1
    - Dst: EsiLib::ByteBlock
      Src: /src/trafficserver/plugins/esi/common/gzip.h:58,1
    - Dst: EsiLib::gzip
      Src: /src/trafficserver/plugins/esi/common/gzip.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - data_len
    - cdata
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: EsiLib::gzip
    functionSourceFile: /src/trafficserver/plugins/esi/common/gzip.h
    functionUses: 2
    functionsReached:
    - EsiLib::ByteBlock
    - EsiLib::gzip
    - ByteBlockList::push_back
    linkageType: ''
    returnType: bool
    signature: bool gzip(const char *data, int data_len, std::string &cdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - attr
    - attr_info
    argTypes:
    - std::string
    - char*
    - Attribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: EsiLib::Utils::getAttribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - EsiLib::Utils::getAttribute
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getAttribute(const std::string &data, const char *attr, Attribute
      &attr_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/common/Utils.h:60,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:63,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: EsiLib::Utils::trimWhiteSpace
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached:
    - isspace
    - strlen
    linkageType: ''
    returnType: void
    signature: void trimWhiteSpace(const char *&data, int &data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/common/Utils.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - str1
    - str1_len
    - str2
    - str2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 5
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const char *str2, int
      str2_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str1
    - str1_len
    - str2
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - std::string::size
    - std::string::data
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const std::string &str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - attr_list
    argTypes:
    - std::string
    - AttributeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: EsiLib::Utils::parseAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Utils::parseAttributes
    linkageType: ''
    returnType: void
    signature: void parseAttributes(const std::string &data, AttributeList &attr_list,
      const char *pair_separators = " ")
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: EsiLib::Utils::unescape
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const char *str, int len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - attr
    - attr_info
    argTypes:
    - std::string
    - char*
    - Attribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: EsiLib::Utils::getAttribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - EsiLib::Utils::getAttribute
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getAttribute(const std::string &data, const char *attr, Attribute
      &attr_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/common/Utils.h:60,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:63,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: EsiLib::Utils::trimWhiteSpace
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached:
    - isspace
    - strlen
    linkageType: ''
    returnType: void
    signature: void trimWhiteSpace(const char *&data, int &data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/common/Utils.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - str1
    - str1_len
    - str2
    - str2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 6
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const char *str2, int
      str2_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str1
    - str1_len
    - str2
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - std::string::size
    - std::string::data
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const std::string &str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - attr_list
    argTypes:
    - std::string
    - AttributeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: EsiLib::Utils::parseAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Utils::parseAttributes
    linkageType: ''
    returnType: void
    signature: void parseAttributes(const std::string &data, AttributeList &attr_list,
      const char *pair_separators = " ")
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: EsiLib::Utils::unescape
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const char *str, int len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - attr
    - attr_info
    argTypes:
    - std::string
    - char*
    - Attribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: EsiLib::Utils::getAttribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 3
    functionsReached:
    - std::string::size
    - EsiLib::Utils::getAttribute
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getAttribute(const std::string &data, const char *attr, Attribute
      &attr_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/common/Utils.h:60,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:63,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: EsiLib::Utils::trimWhiteSpace
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached:
    - isspace
    - strlen
    linkageType: ''
    returnType: void
    signature: void trimWhiteSpace(const char *&data, int &data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/common/Utils.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - str1
    - str1_len
    - str2
    - str2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 7
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const char *str2, int
      str2_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str1
    - str1_len
    - str2
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - std::string::size
    - std::string::data
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const std::string &str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - attr_list
    argTypes:
    - std::string
    - AttributeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: EsiLib::Utils::parseAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 3
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Utils::parseAttributes
    linkageType: ''
    returnType: void
    signature: void parseAttributes(const std::string &data, AttributeList &attr_list,
      const char *pair_separators = " ")
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: EsiLib::Utils::unescape
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const char *str, int len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - attr
    - attr_info
    argTypes:
    - std::string
    - char*
    - Attribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: EsiLib::Utils::getAttribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 4
    functionsReached:
    - std::string::size
    - EsiLib::Utils::getAttribute
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getAttribute(const std::string &data, const char *attr, Attribute
      &attr_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/common/Utils.h:60,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:63,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.h:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: EsiLib::Utils::trimWhiteSpace
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached:
    - isspace
    - strlen
    linkageType: ''
    returnType: void
    signature: void trimWhiteSpace(const char *&data, int &data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/common/Utils.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - str1
    - str1_len
    - str2
    - str2_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 8
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const char *str2, int
      str2_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str1
    - str1_len
    - str2
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: EsiLib::Utils::areEqual
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - std::string::size
    - std::string::data
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: bool areEqual(const char *str1, int str1_len, const std::string &str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - attr_list
    argTypes:
    - std::string
    - AttributeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: EsiLib::Utils::parseAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 4
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Utils::parseAttributes
    linkageType: ''
    returnType: void
    signature: void parseAttributes(const std::string &data, AttributeList &attr_list,
      const char *pair_separators = " ")
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: EsiLib::Utils::unescape
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const char *str, int len = -1)
  - 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: EsiLib::Attribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Attribute.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attribute(const char *n = nullptr, int32_t n_len = 0, const char
      *v = nullptr, int32_t v_len = 0)
  - 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: EsiLib::Attribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Attribute.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attribute(const char *n = nullptr, int32_t n_len = 0, const char
      *v = nullptr, int32_t v_len = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:40,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:40,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - str
    - str_len
    - buffer
    argTypes:
    - char*
    - int32_t
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: packString
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - string::append
    linkageType: ''
    returnType: void
    signature: void packString(const char *str, int32_t str_len, string &buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const int32_t *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - packed_data
    - item
    - item_len
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: unpackString
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const int32_t *>
    linkageType: ''
    returnType: void
    signature: void unpackString(const char *&packed_data, const char *&item, int32_t
      &item_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packed_data
    - item
    argTypes:
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: unpackItem
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: void
    signature: void unpackItem(const char *&packed_data, T &item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:66,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:68,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:69,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:69,1
    - Dst: packString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:70,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:71,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:72,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:72,1
    - Dst: packString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:74,1
    - Dst: packString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:75,1
    - Dst: packToBuffer
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:77,1
    - Dst: reinterpret_cast<int32_t *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:78,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: DocNode::pack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 0
    functionsReached:
    - packToBuffer
    - reinterpret_cast<const char *>
    - packString
    - reinterpret_cast<int32_t *>
    - size
    - string::append
    - string::size
    linkageType: ''
    returnType: void
    signature: void DocNode::pack(string &buffer) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:86,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:87,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:91,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:91,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:92,1
    - Dst: unpackItem
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:98,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:100,1
    - Dst: unpackItem
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:105,1
    - Dst: unpackString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:107,1
    - Dst: unpackItem
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:110,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:112,1
    - Dst: unpackString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:114,1
    - Dst: unpackString
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:115,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:116,1
    - Dst: DocNode::unpack
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:119,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - packed_data
    - packed_data_len
    - node_len
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 124
    functionName: DocNode::unpack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - unpackString
    - unpackItem
    - TSError
    - push_back
    - clear
    - DocNode::unpack
    linkageType: ''
    returnType: bool
    signature: bool DocNode::unpack(const char *packed_data, int packed_data_len,
      int &node_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:129,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:130,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:130,1
    - Dst: pack
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: DocNodeList::packToBuffer
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 0
    functionsReached:
    - pack
    - reinterpret_cast<const char *>
    - size
    - string::append
    linkageType: ''
    returnType: void
    signature: void DocNodeList::packToBuffer(string &buffer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:139,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:140,1
    - Dst: unpackItem
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:145,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:146,1
    - Dst: DocNode::unpack
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:150,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:151,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/common/DocNode.cc:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: DocNodeList::unpack
    functionSourceFile: /src/trafficserver/plugins/esi/common/DocNode.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - unpackItem
    - TSError
    - push_back
    - clear
    - DocNode::unpack
    linkageType: ''
    returnType: bool
    signature: bool DocNodeList::unpack(const char *data, int data_len)
  - 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: EsiLib::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/esi/common/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader(const char *n = nullptr, int n_len = -1, const char
      *v = nullptr, int v_len = -1)
  - 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: EsiLib::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/esi/common/HttpHeader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader(const char *n = nullptr, int n_len = -1, const char
      *v = nullptr, int v_len = -1)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:43,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:45,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:45,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:45,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:48,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:61,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:61,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:61,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:66,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:66,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:66,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:84,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:86,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:86,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:87,1
    - Dst: string::find
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:91,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:93,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:93,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:93,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:98,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 7
    argNames:
    - data
    - attr
    - curr_pos
    - end_pos
    - attr_info
    - term_pos
    - terminator
    argTypes:
    - string
    - string
    - size_t
    - size_t
    - Attribute
    - size_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 106
    functionName: Utils::getAttribute
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.cc
    functionUses: 4
    functionsReached:
    - string::find
    - string::data
    - string::size
    - TSError
    linkageType: ''
    returnType: bool
    signature: "bool Utils::getAttribute(const string &data, const string &attr, size_t
      curr_pos, size_t end_pos, Attribute &attr_info,\n                    size_t
      *term_pos /* = 0 */, char terminator /* = 0 */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:115,1
    - Dst: std::istringstream::clear
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:118,1
    - Dst: std::istringstream::str
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:119,1
    - Dst: std::istringstream::good
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:120,1
    - Dst: HeaderValueList::push_back
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:124,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:127,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:127,1
    - Dst: KeyValueMap::insert
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:128,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:128,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:129,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:129,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:129,1
    - Dst: string::clear
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:132,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - lines
    - kvMap
    - allowlistCookies
    argTypes:
    - std::list<string>
    - KeyValueMap
    - HeaderValueList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: Utils::parseKeyValueConfig
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.cc
    functionUses: 1
    functionsReached:
    - HeaderValueList::push_back
    - std::istringstream::clear
    - std::istringstream::str
    - value_type
    - KeyValueMap::insert
    - Dbg
    - string::clear
    - c_str
    - string::c_str
    - std::istringstream::good
    - size
    - clear
    - string::size
    linkageType: ''
    returnType: void
    signature: void Utils::parseKeyValueConfig(const std::list<string> &lines, KeyValueMap
      &kvMap, HeaderValueList &allowlistCookies)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AttributeList::clear
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:140,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:147,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:161,1
    - Dst: trimWhiteSpace
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:168,1
    - Dst: trimWhiteSpace
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:175,1
    - Dst: AttributeList::push_back
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:177,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/esi/common/Utils.cc:181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 4
    argNames:
    - data
    - data_len
    - attr_list
    - pair_separators
    argTypes:
    - char*
    - int
    - AttributeList
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 197
    functionName: Utils::parseAttributes
    functionSourceFile: /src/trafficserver/plugins/esi/common/Utils.cc
    functionUses: 4
    functionsReached:
    - AttributeList::clear
    - AttributeList::push_back
    - isspace
    - Dbg
    - trimWhiteSpace
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Utils::parseAttributes(const char *data, int data_len, AttributeList
      &attr_list, const char *pair_separators /* = " " */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FMT
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DBG
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(FMT, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:45,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - req_data
    argTypes:
    - RequestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: HttpDataFetcherImpl::_release
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::_release(RequestData &req_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:56,1
    - Dst: memset
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:59,1
    - Dst: inet_addr
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:61,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:65,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:67,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:69,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:71,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:72,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:75,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - contp
    - client_addr
    - dbg_tag
    argTypes:
    - TSCont
    - sockaddr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: HttpDataFetcherImpl::HttpDataFetcherImpl
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 3
    functionsReached:
    - TSHttpParserCreate
    - memcpy
    - memset
    - TSError
    - inet_addr
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::HttpDataFetcherImpl(TSCont contp, sockaddr
      const *client_addr, char const *dbg_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcherImpl::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:82,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: HttpDataFetcherImpl::~HttpDataFetcherImpl()
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - HttpDataFetcherImpl::clear
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::~HttpDataFetcherImpl()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:90,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:90,1
    - Dst: HttpDataFetcherImpl::RequestData
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:90,1
    - Dst: callback_objects::push_back
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:92,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:95,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:95,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:104,1
    - Dst: length
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:104,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:105,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:110,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:110,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:112,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:117,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:117,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:117,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:125,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:125,1
    - Dst: free
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:127,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:130,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:130,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - url
    - callback_obj
    argTypes:
    - string
    - FetchedDataProcessor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 134
    functionName: HttpDataFetcherImpl::addFetchRequest
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - insert
    - callback_objects::push_back
    - snprintf
    - HttpDataFetcherImpl::RequestData
    - DBG
    - length
    - static_cast<char *>
    - string::c_str
    - TSFetchUrl
    - static_cast<int>
    - TSError
    - reinterpret_cast<sockaddr *>
    - value_type
    - push_back
    - free
    - string::data
    - string::length
    - c_str
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool HttpDataFetcherImpl::addFetchRequest(const string &url, FetchedDataProcessor
      *callback_obj /* = 0 */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcherImpl::_getBaseEventId
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:139,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:140,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:140,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:141,1
    - Dst: static_cast<long int>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:142,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - event
    - base_event_id
    argTypes:
    - TSEvent
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: HttpDataFetcherImpl::_isFetchEvent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - DBG
    - HttpDataFetcherImpl::_getBaseEventId
    - static_cast<long int>
    - size
    linkageType: ''
    returnType: bool
    signature: bool HttpDataFetcherImpl::_isFetchEvent(TSEvent event, int &base_event_id)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcherImpl::_isFetchEvent
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:152,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:153,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:163,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:163,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:170,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:172,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:173,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:178,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:178,1
    - Dst: RequestData::response::assign
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:179,1
    - Dst: RequestData::response::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:181,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:183,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:184,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:185,1
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:186,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:188,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:189,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:194,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:195,1
    - Dst: HttpDataFetcherImpl::_checkHeaderValue
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:197,1
    - Dst: gunzip
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:201,1
    - Dst: BufferList::begin
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:202,1
    - Dst: BufferList::end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:202,1
    - Dst: RequestData::raw_response::append
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:203,1
    - Dst: BufferList::iterator::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:203,1
    - Dst: BufferList::iterator::size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:203,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:206,1
    - Dst: RequestData::raw_response::size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:208,1
    - Dst: RequestData::raw_response::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:209,1
    - Dst: RequestData::callback_objects::begin
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:212,1
    - Dst: RequestData::callback_objects::end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:212,1
    - Dst: processData
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:214,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:214,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:214,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:218,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:218,1
    - Dst: RequestData::callback_objects::begin
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:221,1
    - Dst: RequestData::callback_objects::end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:221,1
    - Dst: processData
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:223,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:223,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:223,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:223,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:223,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:227,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:227,1
    - Dst: HttpDataFetcherImpl::_release
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:231,1
    - Dst: RequestData::response::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 148
    functionDepth: 6
    functionLinenumber: 148
    functionLinenumberEnd: 236
    functionName: HttpDataFetcherImpl::handleFetchEvent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - RequestData::callback_objects::end
    - HttpDataFetcherImpl::_release
    - TSHttpHdrParseResp
    - HttpDataFetcherImpl::_isFetchEvent
    - DBG
    - TSHttpHdrStatusGet
    - TSHttpHdrTypeSet
    - HttpDataFetcherImpl::_checkHeaderValue
    - TSHttpParserClear
    - string::c_str
    - RequestData::callback_objects::begin
    - processData
    - string::size
    - static_cast<int>
    - BufferList::end
    - TSError
    - RequestData::raw_response::size
    - RequestData::response::data
    - TSMBufferCreate
    - RequestData::response::clear
    - RequestData::raw_response::data
    - string::data
    - TSFetchRespGet
    - gunzip
    - TSHttpHdrCreate
    - BufferList::iterator::size
    - static_cast<TSHttpTxn>
    - RequestData::raw_response::append
    - RequestData::response::assign
    - BufferList::begin
    - BufferList::iterator::data
    linkageType: ''
    returnType: bool
    signature: bool HttpDataFetcherImpl::handleFetchEvent(TSEvent event, void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:242,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:252,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:255,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:258,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:261,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:265,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - bufp
    - hdr_loc
    - name
    - name_len
    - exp_value
    - exp_value_len
    - prefix
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 276
    functionName: HttpDataFetcherImpl::_checkHeaderValue
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - DBG
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: bool
    signature: "bool HttpDataFetcherImpl::_checkHeaderValue(TSMBuffer bufp, TSMLoc
      hdr_loc, const char *name, int name_len, const char *exp_value,\n                                       int
      exp_value_len, bool prefix) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:281,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:283,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:284,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:284,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:290,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:290,1
    - Dst: RequestData::response::empty
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:293,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:295,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:295,1
    - Dst: ResponseData::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:296,1
    - Dst: ResponseData::set
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:300,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:301,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - url
    - resp_data
    argTypes:
    - string
    - ResponseData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 303
    functionName: HttpDataFetcherImpl::getData
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - DBG
    - TSError
    - find
    - string::data
    - end
    - ResponseData::set
    - ResponseData::clear
    - RequestData::response::empty
    linkageType: ''
    returnType: bool
    signature: bool HttpDataFetcherImpl::getData(const string &url, ResponseData &resp_data)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:308,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:308,1
    - Dst: HttpDataFetcherImpl::_release
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:309,1
    - Dst: HttpDataFetcherImpl::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:312,1
    - Dst: HttpDataFetcherImpl::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:313,1
    - Dst: HttpDataFetcherImpl::clear
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 316
    functionName: HttpDataFetcherImpl::clear
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 2
    functionsReached:
    - begin
    - HttpDataFetcherImpl::clear
    - HttpDataFetcherImpl::_release
    - end
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:321,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:322,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:323,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - url
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: HttpDataFetcherImpl::getRequestStatus
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - find
    - TSError
    - string::data
    - end
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus HttpDataFetcherImpl::getRequestStatus(const string &url)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:342,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:347,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:352,1
    - Dst: EsiLib::Utils::areEqual
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:357,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:361,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:362,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:363,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 365
    functionName: HttpDataFetcherImpl::useHeader
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - append
    - EsiLib::Utils::areEqual
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::useHeader(const HttpHeader &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpHeaderList::begin
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:370,1
    - Dst: HttpHeaderList::end
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:370,1
    - Dst: HttpDataFetcherImpl::useHeader
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - headers
    argTypes:
    - HttpHeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: HttpDataFetcherImpl::useHeaders
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.cc
    functionUses: 0
    functionsReached:
    - HttpHeaderList::begin
    - HttpHeaderList::end
    - HttpDataFetcherImpl::useHeader
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::useHeaders(const HttpHeaderList &headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::addFetchRequest
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:42,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: HttpDataFetcher::addFetchRequest
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 1
    functionsReached:
    - HttpDataFetcher::addFetchRequest
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool addFetchRequest(const char *url, int url_len, FetchedDataProcessor
      *callback_obj = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::addFetchRequest
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: HttpDataFetcher::addFetchRequest
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 2
    functionsReached:
    - HttpDataFetcher::addFetchRequest
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool addFetchRequest(const char *url, FetchedDataProcessor *callback_obj
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::getRequestStatus
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:56,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - url_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: HttpDataFetcher::getRequestStatus
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 1
    functionsReached:
    - HttpDataFetcher::getRequestStatus
    - std::string
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus getRequestStatus(const char *url, int url_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::getRequestStatus
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:62,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: HttpDataFetcher::getRequestStatus
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 2
    functionsReached:
    - HttpDataFetcher::getRequestStatus
    - std::string
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus getRequestStatus(const char *url) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::getContent
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:72,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - url
    - url_len
    - content
    - content_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: HttpDataFetcher::getContent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 1
    functionsReached:
    - HttpDataFetcher::getContent
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getContent(const char *url, int url_len, const char *&content,
      int &content_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcher::getContent
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:78,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url
    - content
    - content_len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: HttpDataFetcher::getContent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 2
    functionsReached:
    - HttpDataFetcher::getContent
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool getContent(const char *url, const char *&content, int &content_len)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~HttpDataFetcher()
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpDataFetcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcherImpl::_isFetchEvent
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: HttpDataFetcherImpl::isFetchEvent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached:
    - HttpDataFetcherImpl::_isFetchEvent
    linkageType: ''
    returnType: bool
    signature: bool isFetchEvent(TSEvent event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: HttpDataFetcherImpl::isFetchComplete
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFetchComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: HttpDataFetcherImpl::getNumPendingRequests
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNumPendingRequests() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: HttpDataFetcherImpl::ResponseData
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void ResponseData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: HttpDataFetcherImpl::clear
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 2
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpDataFetcherImpl::getData
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - url
    - content
    - content_len
    argTypes:
    - std::string
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: HttpDataFetcherImpl::getContent
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached:
    - HttpDataFetcherImpl::getData
    linkageType: ''
    returnType: bool
    signature: bool getContent(const std::string &url, const char *&content, int &content_len)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: HttpDataFetcherImpl::RequestData
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: HttpDataFetcherImpl::_getBaseEventId
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int _getBaseEventId(TSEvent event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - c
    - clen
    - b
    - loc
    - s
    argTypes:
    - char*
    - int
    - TSMBuffer
    - TSMLoc
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: HttpDataFetcherImpl::ResponseData::set(const char *c, int clen,
      TSMBuffer b, TSMLoc loc, TSHttpStatus s)
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/HttpDataFetcherImpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpDataFetcherImpl::ResponseData::set(const char *c, int clen,
      TSMBuffer b, TSMLoc loc, TSHttpStatus s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: FetchedDataProcessor::FetchedDataProcessor
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/FetchedDataProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FetchedDataProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~FetchedDataProcessor()
    functionSourceFile: /src/trafficserver/plugins/esi/fetcher/FetchedDataProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FetchedDataProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FMT
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DBG
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(FMT, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - cont_addr
    - fetcher
    - variables
    - handler_mgr
    - max_doc_size
    argTypes:
    - void*
    - HttpDataFetcher
    - Variables
    - HandlerManager
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: EsiProcessor::EsiProcessor
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EsiProcessor::EsiProcessor(void *cont_addr, HttpDataFetcher &fetcher,
      Variables &variables, const HandlerManager &handler_mgr,\n                           unsigned
      max_doc_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:67,1
    - Dst: EsiProcessor::stop
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: EsiProcessor::start
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - DBG
    - EsiProcessor::stop
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::start()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:82,1
    - Dst: EsiProcessor::start
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:83,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:85,1
    - Dst: parseChunk
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:89,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:90,1
    - Dst: EsiProcessor::error
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:91,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:92,1
    - Dst: EsiProcessor::_preprocess
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:95,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:96,1
    - Dst: EsiProcessor::error
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: EsiProcessor::addParseData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - EsiProcessor::error
    - DBG
    - EsiProcessor::_preprocess
    - TSError
    - EsiProcessor::start
    - parseChunk
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::addParseData(const char *data, int data_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:110,1
    - Dst: EsiProcessor::start
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:111,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:113,1
    - Dst: EsiProcessor::completeParse
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:117,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:118,1
    - Dst: EsiProcessor::error
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:119,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:120,1
    - Dst: EsiProcessor::_handleParseComplete
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: EsiProcessor::completeParse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 1
    functionsReached:
    - EsiProcessor::error
    - DBG
    - TSError
    - EsiProcessor::start
    - EsiProcessor::_handleParseComplete
    - EsiProcessor::completeParse
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::completeParse(const char *data /* = 0 */, int data_len
      /* = -1 */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:130,1
    - Dst: EsiProcessor::start
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:133,1
    - Dst: unpack
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:134,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:135,1
    - Dst: EsiProcessor::error
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:136,1
    - Dst: EsiProcessor::_handleParseComplete
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: EsiProcessor::usePackedNodeList
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - EsiProcessor::error
    - unpack
    - TSError
    - EsiProcessor::start
    - EsiProcessor::_handleParseComplete
    linkageType: ''
    returnType: EsiProcessor::UsePackedNodeResult
    signature: EsiProcessor::UsePackedNodeResult EsiProcessor::usePackedNodeList(const
      char *data, int data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:147,1
    - Dst: EsiProcessor::_preprocess
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:150,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:151,1
    - Dst: EsiProcessor::error
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:152,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:155,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:155,1
    - Dst: IncludeHandlerMap::iterator::second::handleParseComplete
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:156,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:159,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: EsiProcessor::_handleParseComplete
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 2
    functionsReached:
    - EsiProcessor::error
    - begin
    - DBG
    - EsiProcessor::_preprocess
    - IncludeHandlerMap::iterator::second::handleParseComplete
    - TSError
    - end
    - size
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_handleParseComplete()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:168,1
    - Dst: DocNode::attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:170,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:177,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:179,1
    - Dst: getRequestStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:183,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:184,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:184,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:184,1
    - Dst: DocNode::attr_list::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:189,1
    - Dst: DocNode::attr_list::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:189,1
    - Dst: reinterpret_cast<SpecialIncludeHandler *>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:192,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:192,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:197,1
    - Dst: SpecialIncludeHandler*::getIncludeStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:200,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:201,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - node
    argTypes:
    - DocNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 207
    functionName: EsiProcessor::_getIncludeStatus
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - DBG
    - getRequestStatus
    - TSError
    - find
    - DocNode::attr_list::front
    - DocNode::attr_list::begin
    - string::data
    - reinterpret_cast<SpecialIncludeHandler *>
    - const_cast<char *>
    - SpecialIncludeHandler*::getIncludeStatus
    - end
    - DocNode::attr_list::end
    - string::size
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus EsiProcessor::_getIncludeStatus(const DocNode &node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DocNode::attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:213,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:226,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:227,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:228,1
    - Dst: getContent
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:234,1
    - Dst: getRequestStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:236,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:239,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:239,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:239,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:240,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:243,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:243,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:243,1
    - Dst: DocNode::attr_list::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:248,1
    - Dst: DocNode::attr_list::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:248,1
    - Dst: reinterpret_cast<SpecialIncludeHandler *>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:251,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:251,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:256,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:257,1
    - Dst: SpecialIncludeHandler*::getData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:262,1
    - Dst: SpecialIncludeHandler*::getIncludeStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:264,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:267,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:268,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:271,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - node
    - content_ptr
    - content_len_ptr
    argTypes:
    - DocNode
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 276
    functionName: EsiProcessor::_getIncludeData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - DBG
    - EsiLib::Stats::increment
    - getRequestStatus
    - TSError
    - find
    - DocNode::attr_list::front
    - DocNode::attr_list::begin
    - string::data
    - reinterpret_cast<SpecialIncludeHandler *>
    - const_cast<char *>
    - SpecialIncludeHandler*::getData
    - SpecialIncludeHandler*::getIncludeStatus
    - end
    - getContent
    - DocNode::attr_list::end
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_getIncludeData(const DocNode &node, const char
      **content_ptr /* = 0 */, int *content_len_ptr /* = 0 */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:285,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:290,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:294,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:294,1
    - Dst: TryBlockList::iterator::attempt_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:297,1
    - Dst: TryBlockList::iterator::attempt_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:297,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:299,1
    - Dst: EsiProcessor::_getIncludeData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:301,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:303,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:303,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:310,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:311,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:313,1
    - Dst: EsiProcessor::_preprocess
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:315,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:316,1
    - Dst: EsiProcessor::stop
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:317,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:320,1
    - Dst: getNumPendingRequests
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:321,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:322,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:330,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:330,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:332,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:336,1
    - Dst: EsiProcessor::_processEsiNode
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:337,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:338,1
    - Dst: EsiProcessor::stop
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:339,1
    - Dst: EsiProcessor::_addFooterData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:343,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:344,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:345,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:346,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 348
    functionName: EsiProcessor::process
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - EsiProcessor::_getIncludeData
    - EsiProcessor::_processEsiNode
    - size
    - EsiProcessor::stop
    - begin
    - DBG
    - EsiProcessor::_preprocess
    - string::c_str
    - append
    - getNumPendingRequests
    - TryBlockList::iterator::attempt_nodes::end
    - static_cast<int>
    - TSError
    - splice
    - TryBlockList::iterator::attempt_nodes::begin
    - end
    - attr_list::front
    - EsiProcessor::_addFooterData
    - c_str
    linkageType: ''
    returnType: EsiProcessor::ReturnCode
    signature: EsiProcessor::ReturnCode EsiProcessor::process(const char *&data, int
      &data_len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:358,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:365,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:366,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:370,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:370,1
    - Dst: TryBlockList::iterator::attempt_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:372,1
    - Dst: TryBlockList::iterator::attempt_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:372,1
    - Dst: EsiProcessor::_getIncludeStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:374,1
    - Dst: TryBlockList::iterator::attempt_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:386,1
    - Dst: TryBlockList::iterator::attempt_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:386,1
    - Dst: attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:388,1
    - Dst: EsiProcessor::_getIncludeStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:390,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:392,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:392,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:399,1
    - Dst: TryBlockList::iterator::attempt_nodes::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:400,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:401,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:403,1
    - Dst: EsiProcessor::_preprocess
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:405,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:406,1
    - Dst: TryBlockList::iterator::except_nodes::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:408,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:409,1
    - Dst: getNumPendingRequests
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:410,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:411,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:419,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:423,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:425,1
    - Dst: EsiProcessor::_getIncludeStatus
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:428,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:433,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:444,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:449,1
    - Dst: EsiProcessor::_processEsiNode
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:451,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:452,1
    - Dst: EsiProcessor::_addFooterData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:461,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:463,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:464,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:467,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:467,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:468,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:468,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 2
    argNames:
    - data
    - overall_len
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 470
    functionName: EsiProcessor::flush
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - EsiProcessor::_processEsiNode
    - size
    - begin
    - DBG
    - EsiProcessor::_preprocess
    - string::c_str
    - append
    - getNumPendingRequests
    - TryBlockList::iterator::attempt_nodes::end
    - string::size
    - static_cast<int>
    - TSError
    - splice
    - TryBlockList::iterator::attempt_nodes::begin
    - TryBlockList::iterator::attempt_nodes::size
    - end
    - string::assign
    - clear
    - attr_list::front
    - EsiProcessor::_getIncludeStatus
    - EsiProcessor::_addFooterData
    - string::data
    - TryBlockList::iterator::except_nodes::size
    linkageType: ''
    returnType: EsiProcessor::ReturnCode
    signature: EsiProcessor::ReturnCode EsiProcessor::flush(string &data, int &overall_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:475,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:476,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:477,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:478,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:482,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:482,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: EsiProcessor::stop
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 2
    functionsReached:
    - begin
    - clear
    - end
    linkageType: ''
    returnType: void
    signature: void EsiProcessor::stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::stop
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: EsiProcessor::~EsiProcessor()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - EsiProcessor::stop
    linkageType: ''
    returnType: void
    signature: void EsiProcessor::~EsiProcessor()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::_getIncludeData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:504,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:506,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:512,1
    - Dst: EsiProcessor::_handleVars
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:515,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:517,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:521,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - iter
    argTypes:
    - DocNodeList::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 526
    functionName: EsiProcessor::_processEsiNode
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 2
    functionsReached:
    - DBG
    - TSError
    - EsiProcessor::_getIncludeData
    - append
    - EsiProcessor::_handleVars
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_processEsiNode(const DocNodeList::iterator &iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: EsiProcessor::_isWhitespace
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_isWhitespace(const char *data, int data_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::iterator::child_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:543,1
    - Dst: DocNodeList::iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:545,1
    - Dst: DocNodeList::iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:552,1
    - Dst: DocNodeList::iterator::attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:554,1
    - Dst: evaluate
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:555,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:562,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:564,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:567,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - curr_node
    argTypes:
    - DocNodeList::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 578
    functionName: EsiProcessor::_handleChoose
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - evaluate
    - DocNodeList::iterator::child_nodes::end
    - DBG
    - splice
    - DocNodeList::iterator::child_nodes::begin
    - DocNodeList::iterator::attr_list::front
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_handleChoose(DocNodeList::iterator &curr_node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::iterator::child_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:583,1
    - Dst: DocNodeList::iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:585,1
    - Dst: EsiProcessor::_preprocess
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:594,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:595,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - curr_node
    argTypes:
    - DocNodeList::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 600
    functionName: EsiProcessor::_handleTry
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - DocNodeList::iterator::child_nodes::end
    - EsiProcessor::_preprocess
    - TSError
    - push_back
    - DocNodeList::iterator::child_nodes::begin
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_handleTry(DocNodeList::iterator &curr_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:605,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:606,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:606,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:606,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: EsiProcessor::_handleVars
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 1
    functionsReached:
    - DBG
    - string::data
    - expand
    - append
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_handleVars(const char *str, int str_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:615,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:616,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:617,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:620,1
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:620,1
    - Dst: splice
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - curr_node
    argTypes:
    - DocNodeList::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 625
    functionName: EsiProcessor::_handleHtmlComment
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 0
    functionsReached:
    - DBG
    - TSError
    - splice
    - parse
    - DocNodeList::size
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_handleHtmlComment(const DocNodeList::iterator &curr_node)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:630,1
    - Dst: DocNodeList::end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:639,1
    - Dst: EsiProcessor::_handleChoose
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:642,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:643,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:646,1
    - Dst: EsiProcessor::_handleTry
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:649,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:650,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:653,1
    - Dst: EsiProcessor::_handleHtmlComment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:666,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:667,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:672,1
    - Dst: DocNodeList::iterator::attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:673,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:674,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:675,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:675,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:675,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:676,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:677,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:678,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:678,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:678,1
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:681,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:682,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:683,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:683,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:683,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:684,1
    - Dst: addFetchRequest
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:688,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:689,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:689,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:689,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:690,1
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:693,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:693,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:697,1
    - Dst: DocNodeList::iterator::attr_list::front
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:698,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:701,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:702,1
    - Dst: getHandler
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:703,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:705,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:705,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:706,1
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:709,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:709,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:710,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:710,1
    - Dst: SpecialIncludeHandler*::handleInclude
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:714,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:716,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:716,1
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:718,1
    - Dst: DocNodeList::iterator::attr_list::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:723,1
    - Dst: Attribute
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:723,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:723,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:724,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:725,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - node_list
    - n_prescanned_nodes
    argTypes:
    - DocNodeList
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 733
    functionName: EsiProcessor::_preprocess
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 5
    functionsReached:
    - DocNodeList::end
    - insert
    - addFetchRequest
    - EsiLib::Stats::increment
    - DBG
    - EsiProcessor::_handleHtmlComment
    - string::c_str
    - string::size
    - TSError
    - find
    - value_type
    - end
    - SpecialIncludeHandler*::handleInclude
    - string::assign
    - DocNodeList::iterator::attr_list::front
    - DocNodeList::iterator::attr_list::push_back
    - DocNodeList::begin
    - string::data
    - reinterpret_cast<const char *>
    - expand
    - getHandler
    - EsiProcessor::_handleChoose
    - EsiProcessor::_handleTry
    - Attribute
    linkageType: ''
    returnType: bool
    signature: bool EsiProcessor::_preprocess(DocNodeList &node_list, int &n_prescanned_nodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:740,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:740,1
    - Dst: IncludeHandlerMap::iterator::second::getFooter
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:741,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: EsiProcessor::_addFooterData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.cc
    functionUses: 2
    functionsReached:
    - begin
    - append
    - IncludeHandlerMap::iterator::second::getFooter
    - end
    linkageType: ''
    returnType: void
    signature: void EsiProcessor::_addFooterData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Utils::KeyValueMap::begin
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:48,1
    - Dst: Utils::KeyValueMap::end
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:48,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:52,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:54,1
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:56,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:56,1
    - Dst: dlopen
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:59,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:59,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:61,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:61,1
    - Dst: dlerror
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:61,1
    - Dst: dlsym
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:65,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:66,1
    - Dst: dlerror
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:66,1
    - Dst: dlclose
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:67,1
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:69,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:69,1
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:70,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:70,1
    - Dst: ModuleHandles
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:71,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - handlers
    argTypes:
    - Utils::KeyValueMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: HandlerManager::loadObjects
    functionSourceFile: /src/trafficserver/plugins/esi/lib/HandlerManager.cc
    functionUses: 0
    functionsReached:
    - Utils::KeyValueMap::begin
    - dlsym
    - insert
    - TSError
    - find
    - dlclose
    - value_type
    - end
    - Dbg
    - Utils::KeyValueMap::end
    - dlopen
    - string::c_str
    - ModuleHandles
    - dlerror
    linkageType: ''
    returnType: void
    signature: void HandlerManager::loadObjects(const Utils::KeyValueMap &handlers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:81,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:82,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:83,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - esi_vars
    - esi_expr
    - fetcher
    - id
    argTypes:
    - Variables
    - Expression
    - HttpDataFetcher
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: HandlerManager::getHandler
    functionSourceFile: /src/trafficserver/plugins/esi/lib/HandlerManager.cc
    functionUses: 0
    functionsReached:
    - find
    - TSError
    - std::string::c_str
    - end
    linkageType: ''
    returnType: SpecialIncludeHandler
    signature: 'SpecialIncludeHandler *

      HandlerManager::getHandler(Variables &esi_vars, Expression &esi_expr, HttpDataFetcher
      &fetcher, const std::string &id) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:91,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:91,1
    - Dst: dlclose
      Src: /src/trafficserver/plugins/esi/lib/HandlerManager.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: HandlerManager::~HandlerManager()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/HandlerManager.cc
    functionUses: 0
    functionsReached:
    - begin
    - dlclose
    - end
    linkageType: ''
    returnType: void
    signature: void HandlerManager::~HandlerManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::addParseData
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:60,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:60,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: EsiProcessor::addParseData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiProcessor::addParseData
    linkageType: ''
    returnType: bool
    signature: bool addParseData(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::completeParse
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:71,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:71,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: EsiProcessor::completeParse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiProcessor::completeParse
    linkageType: ''
    returnType: bool
    signature: bool completeParse(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - retain_buffer_data
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: EsiProcessor::packNodeList
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 0
    functionsReached:
    - pack
    linkageType: ''
    returnType: void
    signature: void packNodeList(std::string &buffer, bool retain_buffer_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::usePackedNodeList
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:110,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:110,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: EsiProcessor::usePackedNodeList
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 1
    functionsReached:
    - EsiProcessor::usePackedNodeList
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: UsePackedNodeResult
    signature: UsePackedNodeResult usePackedNodeList(const std::string &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - att
    - exc
    - p
    argTypes:
    - EsiLib::DocNodeList
    - EsiLib::DocNodeList
    - EsiLib::DocNodeList::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: EsiProcessor::TryBlock
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TryBlock(EsiLib::DocNodeList &att, EsiLib::DocNodeList &exc, EsiLib::DocNodeList::iterator
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiProcessor::stop
      Src: /src/trafficserver/plugins/esi/lib/EsiProcessor.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: EsiProcessor::error
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiProcessor.h
    functionUses: 4
    functionsReached:
    - EsiProcessor::stop
    linkageType: ''
    returnType: void
    signature: void error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_doc_size
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: EsiParser::EsiParser
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void EsiParser::EsiParser(unsigned max_doc_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:76,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:79,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:81,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:82,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:82,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:86,1
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - data
    - parse_start_pos
    - orig_output_list_size
    - node_list
    - data_ptr
    - data_len
    argTypes:
    - string
    - int
    - size_t
    - DocNodeList
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: EsiParser::_setup
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Dbg
    - strlen
    - DocNodeList::size
    - string::append
    - string::size
    linkageType: ''
    returnType: bool
    signature: "bool EsiParser::_setup(string &data, int &parse_start_pos, size_t
      &orig_output_list_size, DocNodeList &node_list, const char *data_ptr,\n                  int
      &data_len) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::_setup
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:99,1
    - Dst: EsiParser::_parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:102,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - node_list
    - data_len
    argTypes:
    - char*
    - DocNodeList
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: EsiParser::parseChunk
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - EsiParser::_parse
    - EsiParser::_setup
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::parseChunk(const char *data, DocNodeList &node_list,
      int data_len /* = -1 */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::_setup
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:113,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:117,1
    - Dst: EsiParser::_parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:120,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:121,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:121,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:122,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:122,1
    - Dst: DocNodeList::resize
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - parse_start_pos
    - orig_output_list_size
    - node_list
    - data_ptr
    - data_len
    argTypes:
    - string
    - int
    - size_t
    - DocNodeList
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: EsiParser::_completeParse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - TSError
    - string::data
    - EsiParser::_setup
    - Dbg
    - DocNodeList::resize
    - EsiParser::_parse
    - string::size
    linkageType: ''
    returnType: bool
    signature: "bool EsiParser::_completeParse(string &data, int &parse_start_pos,
      size_t &orig_output_list_size, DocNodeList &node_list,\n                          const
      char *data_ptr /* = 0 */, int data_len /* = -1 */) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:132,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:133,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:155,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - data
    - start_pos
    - str
    - str_len
    - pos
    argTypes:
    - string
    - size_t
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: EsiParser::_searchData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - string::data
    - string::size
    linkageType: ''
    returnType: EsiParser::MATCH_TYPE
    signature: EsiParser::MATCH_TYPE EsiParser::_searchData(const string &data, size_t
      start_pos, const char *str, int str_len, size_t &pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:168,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:172,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - pos
    - str
    - str_len
    argTypes:
    - string
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: EsiParser::_compareData
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - string::size
    linkageType: ''
    returnType: EsiParser::MATCH_TYPE
    signature: EsiParser::MATCH_TYPE EsiParser::_compareData(const string &data, size_t
      pos, const char *str, int str_len) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:193,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:212,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - data
    - start_pos
    - opening_tag_pos
    - is_html_comment_node
    argTypes:
    - string
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 247
    functionName: EsiParser::_findOpeningTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - string::size
    linkageType: ''
    returnType: EsiParser::MATCH_TYPE
    signature: EsiParser::MATCH_TYPE EsiParser::_findOpeningTag(const string &data,
      size_t start_pos, size_t &opening_tag_pos, bool &is_html_comment_node) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:253,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:254,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - node_type
    - data
    - data_len
    - node_list
    argTypes:
    - DocNode::TYPE
    - char*
    - int
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: EsiParser::_processSimpleContentTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - DocNodeList::push_back
    - EsiParser::parse
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processSimpleContentTag(DocNode::TYPE node_type, const
      char *data, int data_len, DocNodeList &node_list) const
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:264,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:266,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:267,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:273,1
    - Dst: EsiParser::_findOpeningTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:274,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:274,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:292,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:294,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:299,1
    - Dst: EsiParser::_compareData
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:306,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:309,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:316,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:321,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:334,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:334,1
    - Dst: EsiParser::_searchData
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:340,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:344,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:344,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:355,1
    - Dst: EsiParser::_processIncludeTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:356,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:360,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:361,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:361,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:365,1
    - Dst: EsiParser::_processWhenTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:366,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:369,1
    - Dst: EsiParser::_processTryTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:370,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:373,1
    - Dst: EsiParser::_processChooseTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:374,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:379,1
    - Dst: EsiParser::_processSimpleContentTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:380,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:380,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:384,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:385,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:386,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:386,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:386,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:390,1
    - Dst: EsiParser::_processSpecialIncludeTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:391,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:399,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:408,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:410,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:414,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:415,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:417,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:417,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:419,1
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:419,1
    - Dst: DocNodeList::resize
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:423,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 136
    argCount: 4
    argNames:
    - data
    - parse_start_pos
    - node_list
    - last_chunk
    argTypes:
    - string
    - int
    - DocNodeList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 425
    functionName: EsiParser::_parse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 2
    functionsReached:
    - EsiParser::_processIncludeTag
    - EsiParser::_processWhenTag
    - EsiParser::_processSimpleContentTag
    - EsiParser::_findOpeningTag
    - DocNodeList::resize
    - string::c_str
    - DocNodeList::size
    - string::size
    - static_cast<int>
    - EsiParser::_processTryTag
    - TSError
    - Dbg
    - EsiParser::_processChooseTag
    - EsiParser::_compareData
    - EsiParser::_processSpecialIncludeTag
    - DocNodeList::push_back
    - EsiParser::_searchData
    - string::data
    - DocNode
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_parse(const string &data, int &parse_start_pos, DocNodeList
      &node_list, bool last_chunk /* = false */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:431,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:432,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:435,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:435,1
    - Dst: DocNodeList::back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:436,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:436,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - curr_pos
    - end_pos
    - node_list
    argTypes:
    - string
    - size_t
    - size_t
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: EsiParser::_processIncludeTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - DocNodeList::back
    - TSError
    - DocNodeList::push_back
    - DocNode
    - push_back
    - Utils::getAttribute
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processIncludeTag(const string &data, size_t curr_pos,
      size_t end_pos, DocNodeList &node_list) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:445,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:446,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:449,1
    - Dst: DocNode
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:449,1
    - Dst: DocNodeList::back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:450,1
    - Dst: DocNode::attr_list::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:451,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:452,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - curr_pos
    - end_pos
    - node_list
    argTypes:
    - string
    - size_t
    - size_t
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 457
    functionName: EsiParser::_processSpecialIncludeTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - DocNodeList::back
    - TSError
    - DocNodeList::push_back
    - string::data
    - DocNode
    - Utils::getAttribute
    - Dbg
    - DocNode::attr_list::push_back
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processSpecialIncludeTag(const string &data, size_t
      curr_pos, size_t end_pos, DocNodeList &node_list) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: EsiParser::_isWhitespace
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_isWhitespace(const char *data, int data_len) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Utils::getAttribute
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:475,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:476,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:480,1
    - Dst: EsiParser::_processSimpleContentTag
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:482,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:483,1
    - Dst: DocNodeList::back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:486,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:486,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - data
    - curr_pos
    - end_pos
    - node_list
    argTypes:
    - string
    - size_t
    - size_t
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 490
    functionName: EsiParser::_processWhenTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - DocNodeList::back
    - TSError
    - string::data
    - push_back
    - Utils::getAttribute
    - Dbg
    - EsiParser::_processSimpleContentTag
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processWhenTag(const string &data, size_t curr_pos,
      size_t end_pos, DocNodeList &node_list) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:495,1
    - Dst: EsiParser::parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:498,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:499,1
    - Dst: DocNode::child_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:504,1
    - Dst: DocNode::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:506,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:510,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:516,1
    - Dst: EsiParser::_isWhitespace
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:521,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:522,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:525,1
    - Dst: DocNode::child_nodes::erase
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:528,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:532,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:539,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:542,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - data
    - curr_pos
    - end_pos
    - node_list
    argTypes:
    - string
    - size_t
    - size_t
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 545
    functionName: EsiParser::_processTryTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - TSError
    - DocNodeList::push_back
    - string::data
    - Dbg
    - DocNode::child_nodes::erase
    - EsiParser::_isWhitespace
    - EsiParser::parse
    - DocNode::child_nodes::begin
    - DocNode::child_nodes::end
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processTryTag(const string &data, size_t curr_pos,
      size_t end_pos, DocNodeList &node_list) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:550,1
    - Dst: EsiParser::parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:553,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:554,1
    - Dst: DocNode::child_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:557,1
    - Dst: DocNode::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:559,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:563,1
    - Dst: EsiParser::_isWhitespace
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:568,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:569,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:573,1
    - Dst: DocNode::child_nodes::erase
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:576,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:580,1
    - Dst: DocNodeList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - data
    - curr_pos
    - end_pos
    - node_list
    argTypes:
    - string
    - size_t
    - size_t
    - DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 589
    functionName: EsiParser::_processChooseTag
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - TSError
    - DocNodeList::push_back
    - string::data
    - Dbg
    - DocNode::child_nodes::erase
    - EsiParser::_isWhitespace
    - EsiParser::parse
    - DocNode::child_nodes::begin
    - DocNode::child_nodes::end
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::_processChooseTag(const string &data, size_t curr_pos,
      size_t end_pos, DocNodeList &node_list) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::clear
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: EsiParser::clear
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - EsiParser::clear
    linkageType: ''
    returnType: void
    signature: void EsiParser::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: EsiParser::~EsiParser()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiParser::~EsiParser()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DocNodeList::iterator::attr_list::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:609,1
    - Dst: DocNodeList::iterator::attr_list::end
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:609,1
    - Dst: DocNodeList::iterator::child_nodes::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:617,1
    - Dst: EsiParser::_adjustPointers
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:618,1
    - Dst: DocNodeList::iterator::child_nodes::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:618,1
    - Dst: DocNodeList::iterator::child_nodes::end
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - node_iter
    - end
    - ext_data_ptr
    - int_data_start
    argTypes:
    - DocNodeList::iterator
    - DocNodeList::iterator
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 621
    functionName: EsiParser::_adjustPointers
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 1
    functionsReached:
    - EsiParser::_adjustPointers
    - DocNodeList::iterator::child_nodes::end
    - DocNodeList::iterator::child_nodes::size
    - DocNodeList::iterator::attr_list::end
    - DocNodeList::iterator::attr_list::begin
    - DocNodeList::iterator::child_nodes::begin
    linkageType: ''
    returnType: void
    signature: "void EsiParser::_adjustPointers(DocNodeList::iterator node_iter, DocNodeList::iterator
      end, const char *ext_data_ptr,\n                           const char *int_data_start)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::_completeParse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:629,1
    - Dst: DocNodeList::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:630,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:632,1
    - Dst: DocNodeList::begin
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:633,1
    - Dst: EsiParser::_adjustPointers
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:637,1
    - Dst: DocNodeList::end
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.cc:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - node_list
    - ext_data_ptr
    - data_len
    argTypes:
    - DocNodeList
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 640
    functionName: EsiParser::parse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.cc
    functionUses: 3
    functionsReached:
    - EsiParser::_adjustPointers
    - DocNodeList::begin
    - DocNodeList::end
    - string::data
    - DocNodeList::size
    - EsiParser::_completeParse
    linkageType: ''
    returnType: bool
    signature: bool EsiParser::parse(DocNodeList &node_list, const char *ext_data_ptr,
      int data_len /* = -1 */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - variables
    argTypes:
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Expression::Expression
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Expression::Expression(Variables &variables)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - expr
    - expr_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: Expression::_stripQuotes
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached:
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool Expression::_stripQuotes(const char *&expr, int &expr_len) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::trimWhiteSpace
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:72,1
    - Dst: _stripQuotes
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:75,1
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:83,1
    - Dst: getValue
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:93,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:93,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:93,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:95,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:98,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:109,1
    - Dst: _stripQuotes
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:114,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:118,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:129,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:133,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:133,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:133,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 2
    argNames:
    - expr
    - expr_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 138
    functionName: '&

      Expression::expand(const char *expr, int expr_len /* = -1 */)'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached:
    - _stripQuotes
    - string::data
    - EsiLib::Utils::trimWhiteSpace
    - Dbg
    - append
    - getValue
    - data
    - size
    - clear
    - string::size
    linkageType: ''
    returnType: string
    signature: 'string &

      Expression::expand(const char *expr, int expr_len /* = -1 */)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:147,1
    - Dst: string::find
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:147,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:148,1
    - Dst: static_cast<Operator>
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:149,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - expr
    - expr_len
    - op
    argTypes:
    - char*
    - int
    - Operator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: Expression::_findOperator
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - string::find
    - static_cast<Operator>
    - string::size
    linkageType: ''
    returnType: int
    signature: int Expression::_findOperator(const char *expr, int expr_len, Operator
      &op) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:159,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:160,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:160,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:160,1
    - Dst: _convert
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:162,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expr
    - expr_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: Expression::_evalSimpleExpr
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached:
    - string::data
    - expand
    - Dbg
    - string::empty
    - _convert
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool Expression::_evalSimpleExpr(const char *expr, int expr_len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Utils::trimWhiteSpace
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:168,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:170,1
    - Dst: Expression::_findOperator
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:178,1
    - Dst: Expression::_evalSimpleExpr
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:181,1
    - Dst: _isBinaryOperator
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:182,1
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:186,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:186,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:186,1
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:190,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:190,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:190,1
    - Dst: _convert
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:193,1
    - Dst: _convert
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:194,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:203,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:203,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:206,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:206,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:209,1
    - Dst: empty
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:211,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:228,1
    - Dst: Expression::_evalSimpleExpr
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:237,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:241,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/esi/lib/Expression.cc:243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - expr
    - expr_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 165
    functionDepth: 6
    functionLinenumber: 165
    functionLinenumberEnd: 245
    functionName: Expression::evaluate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.cc
    functionUses: 0
    functionsReached:
    - _isBinaryOperator
    - Expression::_evalSimpleExpr
    - string::data
    - EsiLib::Utils::trimWhiteSpace
    - expand
    - Dbg
    - string::empty
    - empty
    - data
    - size
    - _convert
    - Expression::_findOperator
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool Expression::evaluate(const char *expr, int expr_len /* = -1 */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: EsiGunzip::EsiGunzip
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiGunzip::EsiGunzip()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:46,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: EsiGunzip::stream_finish
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc
    functionUses: 0
    functionsReached:
    - inflateEnd
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool EsiGunzip::stream_finish()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:68,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:69,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:77,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:77,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:84,1
    - Dst: inflate
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:86,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:94,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:98,1
    - Dst: BufferList::push_back
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:104,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:104,1
    - Dst: BufferList::back
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:105,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:106,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:117,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:117,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - data
    - data_len
    - udata
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: EsiGunzip::stream_decode
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc
    functionUses: 0
    functionsReached:
    - inflate
    - string
    - TSError
    - const_cast<char *>
    - std::string::append
    - inflateInit2
    - BufferList::push_back
    - string::assign
    - data
    - size
    - BufferList::back
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: bool
    signature: bool EsiGunzip::stream_decode(const char *data, int data_len, std::string
      &udata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: EsiGunzip::~EsiGunzip()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGunzip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiGunzip::~EsiGunzip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: EsiLib::HandlerManager::ModuleHandles
    functionSourceFile: /src/trafficserver/plugins/esi/lib/HandlerManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleHandles(void *o = nullptr, SpecialIncludeHandlerCreator
      f = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: EsiLib::HandlerManager::ModuleHandles
    functionSourceFile: /src/trafficserver/plugins/esi/lib/HandlerManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModuleHandles(void *o = nullptr, SpecialIncludeHandlerCreator
      f = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - esi_vars
    - esi_expr
    - http_fetcher
    argTypes:
    - Variables
    - Expression
    - HttpDataFetcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: EsiLib::SpecialIncludeHandler::SpecialIncludeHandler
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpecialIncludeHandler(Variables &esi_vars, Expression &esi_expr,
      HttpDataFetcher &http_fetcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: EsiLib::SpecialIncludeHandler::getIncludeStatus
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached:
    - getData
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus getIncludeStatus(int include_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - footer
    - footer_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: EsiLib::SpecialIncludeHandler::getFooter
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getFooter(const char *&footer, int &footer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~SpecialIncludeHandler()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SpecialIncludeHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - esi_vars
    - esi_expr
    - http_fetcher
    argTypes:
    - Variables
    - Expression
    - HttpDataFetcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: EsiLib::SpecialIncludeHandler::SpecialIncludeHandler
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpecialIncludeHandler(Variables &esi_vars, Expression &esi_expr,
      HttpDataFetcher &http_fetcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - include_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: EsiLib::SpecialIncludeHandler::getIncludeStatus
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached:
    - getData
    linkageType: ''
    returnType: DataStatus
    signature: DataStatus getIncludeStatus(int include_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - footer
    - footer_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: EsiLib::SpecialIncludeHandler::getFooter
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getFooter(const char *&footer, int &footer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~SpecialIncludeHandler()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/SpecialIncludeHandler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SpecialIncludeHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - system
    argTypes:
    - StatSystem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: EsiLib::Stats::init
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 1
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void init(StatSystem *system)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - step
    argTypes:
    - Stats::STAT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: EsiLib::Stats::increment
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 7
    functionsReached:
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: void
    signature: void increment(Stats::STAT st, int step /* = 1 */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - system
    argTypes:
    - StatSystem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: EsiLib::Stats::init
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 1
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void init(StatSystem *system)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - step
    argTypes:
    - Stats::STAT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: EsiLib::Stats::increment
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 8
    functionsReached:
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: void
    signature: void increment(Stats::STAT st, int step /* = 1 */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - system
    argTypes:
    - StatSystem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: EsiLib::Stats::init
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 1
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void init(StatSystem *system)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - step
    argTypes:
    - Stats::STAT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: EsiLib::Stats::increment
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 9
    functionsReached:
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: void
    signature: void increment(Stats::STAT st, int step /* = 1 */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - system
    argTypes:
    - StatSystem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: EsiLib::Stats::init
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 1
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void init(StatSystem *system)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Stats::increment
      Src: /src/trafficserver/plugins/esi/lib/Stats.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - step
    argTypes:
    - Stats::STAT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: EsiLib::Stats::increment
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.cc
    functionUses: 10
    functionsReached:
    - EsiLib::Stats::increment
    linkageType: ''
    returnType: void
    signature: void increment(Stats::STAT st, int step /* = 1 */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: Utils::HeaderValueList::begin
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: Utils::HeaderValueList::end
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont_addr
    - allowlistCookies
    argTypes:
    - void*
    - Utils::HeaderValueList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: EsiLib::Variables::Variables
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - end
    - Utils::HeaderValueList::end
    - Utils::HeaderValueList::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Variables(void *cont_addr, Utils::HeaderValueList allowlistCookies)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Variables::populate
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - headers
    argTypes:
    - HttpHeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: EsiLib::Variables::populate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 1
    functionsReached:
    - EsiLib::Variables::populate
    linkageType: ''
    returnType: void
    signature: void populate(const HttpHeaderList &headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:60,1
    - Dst: _parseQueryString
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:63,1
    - Dst: assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - query_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: EsiLib::Variables::populate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 1
    functionsReached:
    - assign
    - strlen
    - _parseQueryString
    linkageType: ''
    returnType: void
    signature: void populate(const char *query_string, int query_string_len = -1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:83,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:85,1
    - Dst: getValue
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: "&\n  getValue(const char *name, int name_len = -1) const"
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - std::string::assign
    - getValue
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getValue(const char *name, int name_len = -1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _releaseCookieJar
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Variables()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - _releaseCookieJar
    linkageType: ''
    returnType: void
    signature: void ~Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: EsiLib::Variables::Variables
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Variables(const Variables &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator=(const Variables &)'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variables
    signature: Variables &operator=(const Variables &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: EsiLib::Variables::_releaseCookieJar
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void _releaseCookieJar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: Utils::HeaderValueList::begin
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    - Dst: Utils::HeaderValueList::end
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont_addr
    - allowlistCookies
    argTypes:
    - void*
    - Utils::HeaderValueList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: EsiLib::Variables::Variables
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - end
    - Utils::HeaderValueList::end
    - Utils::HeaderValueList::begin
    - insert
    linkageType: ''
    returnType: void
    signature: void Variables(void *cont_addr, Utils::HeaderValueList allowlistCookies)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Variables::populate
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - headers
    argTypes:
    - HttpHeaderList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: EsiLib::Variables::populate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 2
    functionsReached:
    - EsiLib::Variables::populate
    linkageType: ''
    returnType: void
    signature: void populate(const HttpHeaderList &headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:60,1
    - Dst: _parseQueryString
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:63,1
    - Dst: assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - query_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: EsiLib::Variables::populate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 2
    functionsReached:
    - assign
    - strlen
    - _parseQueryString
    linkageType: ''
    returnType: void
    signature: void populate(const char *query_string, int query_string_len = -1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:83,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:85,1
    - Dst: getValue
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: "&\n  getValue(const char *name, int name_len = -1) const"
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - std::string::assign
    - getValue
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getValue(const char *name, int name_len = -1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _releaseCookieJar
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Variables()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - _releaseCookieJar
    linkageType: ''
    returnType: void
    signature: void ~Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: EsiLib::Variables::Variables
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Variables(const Variables &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator=(const Variables &)'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variables
    signature: Variables &operator=(const Variables &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: EsiLib::Variables::_releaseCookieJar
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void _releaseCookieJar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiGzip::stream_encode
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.h:52,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.h:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - cdata
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: EsiGzip::stream_encode
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.h
    functionUses: 1
    functionsReached:
    - std::string_view::data
    - std::string_view::size
    - EsiGzip::stream_encode
    linkageType: ''
    returnType: bool
    signature: bool stream_encode(std::string_view data, std::string &cdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiGunzip::stream_decode
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.h:41,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.h:41,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGunzip.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - udata
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: EsiGunzip::stream_decode
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGunzip.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiGunzip::stream_decode
    linkageType: ''
    returnType: bool
    signature: bool stream_decode(std::string data, std::string &udata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::parseChunk
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:48,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:48,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - node_list
    argTypes:
    - std::string
    - EsiLib::DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: EsiParser::parseChunk
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - EsiParser::parseChunk
    - std::string::data
    linkageType: ''
    returnType: bool
    signature: bool parseChunk(const std::string &data, EsiLib::DocNodeList &node_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::_completeParse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node_list
    argTypes:
    - EsiLib::DocNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: EsiParser::completeParse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.h
    functionUses: 1
    functionsReached:
    - EsiParser::_completeParse
    linkageType: ''
    returnType: bool
    signature: bool completeParse(EsiLib::DocNodeList &node_list, const char *data
      = nullptr, int data_len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::completeParse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:66,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:66,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node_list
    - data
    argTypes:
    - EsiLib::DocNodeList
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: EsiParser::completeParse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiParser::completeParse
    linkageType: ''
    returnType: bool
    signature: bool completeParse(EsiLib::DocNodeList &node_list, const std::string
      &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiParser::parse
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:77,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:77,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiParser.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node_list
    - ext_data
    argTypes:
    - EsiLib::DocNodeList
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: EsiParser::parse
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.h
    functionUses: 4
    functionsReached:
    - std::string::size
    - EsiParser::parse
    - std::string::data
    linkageType: ''
    returnType: bool
    signature: bool parse(EsiLib::DocNodeList &node_list, const std::string &ext_data)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - t
    - s
    - s_len
    - ct
    - ct_len
    argTypes:
    - EsiLib::DocNode::TYPE
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: EsiParser::EsiNodeInfo
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiParser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiNodeInfo(EsiLib::DocNode::TYPE t, const char *s, int s_len,
      const char *ct, int ct_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: "&\n  expand(const std::string &expr)"
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - expand
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  expand(const std::string &expr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Expression::evaluate
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: EsiLib::Expression::evaluate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Expression::evaluate
    linkageType: ''
    returnType: bool
    signature: bool evaluate(const std::string &expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Expression()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Expression()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: EsiLib::Expression::OperatorString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorString(const char *s = nullptr, int s_len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - Operator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: EsiLib::Expression::_isBinaryOperator
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _isBinaryOperator(Operator &op) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:105,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:108,1
    - Dst: strtold
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:110,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: EsiLib::Expression::_convert
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - strtold
    - std::string::c_str
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool _convert(const std::string &str, double &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: "&\n  expand(const std::string &expr)"
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - expand
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  expand(const std::string &expr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsiLib::Expression::evaluate
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: EsiLib::Expression::evaluate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::data
    - EsiLib::Expression::evaluate
    linkageType: ''
    returnType: bool
    signature: bool evaluate(const std::string &expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Expression()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Expression()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: EsiLib::Expression::OperatorString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorString(const char *s = nullptr, int s_len = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - Operator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: EsiLib::Expression::_isBinaryOperator
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _isBinaryOperator(Operator &op) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:105,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:108,1
    - Dst: strtold
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:110,1
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/plugins/esi/lib/Expression.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: EsiLib::Expression::_convert
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Expression.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - strtold
    - std::string::c_str
    - static_cast<unsigned int>
    linkageType: ''
    returnType: bool
    signature: bool _convert(const std::string &str, double &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~StatSystem()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatSystem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~StatSystem()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatSystem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FMT
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: DBG
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(FMT, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: '&

      Variables::_toUpperCase(string &str) const'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: 'string &

      Variables::_toUpperCase(string &str) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:76,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:76,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:77,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - headers
    - name
    - name_len
    argTypes:
    - string[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: Variables::_searchHeaders
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - data
    - size
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int Variables::_searchHeaders(const string headers[], const char *name,
      int name_len) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringHash::insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:87,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hash
    - key
    - value
    argTypes:
    - StringHash
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Variables::_insert
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - StringHash::insert
    - value_type
    linkageType: ''
    returnType: void
    signature: void Variables::_insert(StringHash &hash, const std::string &key, const
      std::string &value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:98,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:99,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:102,1
    - Dst: _releaseCookieJar
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:103,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:104,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:105,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:107,1
    - Dst: Variables::_parseHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:111,1
    - Dst: Variables::_searchHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:113,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:115,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:115,1
    - Dst: Variables::_searchHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:117,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:119,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:119,1
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:123,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:123,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - header
    argTypes:
    - HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: Variables::populate
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 2
    functionsReached:
    - string
    - strncasecmp
    - Variables::_searchHeaders
    - _releaseCookieJar
    - Variables::_parseHeader
    - push_back
    - append
    - strlen
    - Variables::_insert
    - size
    linkageType: ''
    returnType: void
    signature: void Variables::populate(const HttpHeader &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:130,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hdr
    - value
    argTypes:
    - SimpleHeader
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: Variables::_parseSimpleHeader
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - DBG
    - c_str
    linkageType: ''
    returnType: void
    signature: void Variables::_parseSimpleHeader(SimpleHeader hdr, const string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Variables::_parseSimpleHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:137,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdr
    - value
    - value_len
    argTypes:
    - SimpleHeader
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Variables::_parseSimpleHeader
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached:
    - Variables::_parseSimpleHeader
    - string
    linkageType: ''
    returnType: void
    signature: void Variables::_parseSimpleHeader(SimpleHeader hdr, const char *value,
      int value_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Variables::_parseAcceptLangString
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:145,1
    - Dst: Variables::_parseCookieString
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:148,1
    - Dst: Variables::_parseUserAgentString
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:151,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hdr
    - value
    - value_len
    argTypes:
    - SpecialHeader
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: Variables::_parseSpecialHeader
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - Variables::_parseCookieString
    - DBG
    - Variables::_parseAcceptLangString
    - Variables::_parseUserAgentString
    linkageType: ''
    returnType: void
    signature: void Variables::_parseSpecialHeader(SpecialHeader hdr, const char *value,
      int value_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Variables::_searchHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:162,1
    - Dst: Variables::_parseSimpleHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:164,1
    - Dst: static_cast<SimpleHeader>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:164,1
    - Dst: Variables::_searchHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:166,1
    - Dst: Variables::_parseSpecialHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:168,1
    - Dst: static_cast<SpecialHeader>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:168,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: Variables::_parseHeader
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached:
    - DBG
    - static_cast<SimpleHeader>
    - Variables::_parseSpecialHeader
    - Variables::_searchHeaders
    - static_cast<SpecialHeader>
    - Variables::_parseSimpleHeader
    linkageType: ''
    returnType: void
    signature: void Variables::_parseHeader(const char *name, int name_len, const
      char *value, int value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:178,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:178,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:178,1
    - Dst: Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:180,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:182,1
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:184,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:184,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - query_string
    - query_string_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: Variables::_parseQueryString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - Utils::parseAttributes
    - string
    - Variables::_insert
    - DBG
    linkageType: ''
    returnType: void
    signature: void Variables::_parseQueryString(const char *query_string, int query_string_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:191,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:193,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:194,1
    - Dst: Variables::_parseSimpleHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:195,1
    - Dst: static_cast<SimpleHeader>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:195,1
    - Dst: begin
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:199,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:200,1
    - Dst: Variables::_parseSpecialHeader
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:201,1
    - Dst: static_cast<SpecialHeader>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:201,1
    - Dst: Utils::HeaderValueList::iterator::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:201,1
    - Dst: Utils::HeaderValueList::iterator::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: Variables::_parseCachedHeaders
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - begin
    - DBG
    - static_cast<SimpleHeader>
    - Variables::_parseSpecialHeader
    - Utils::HeaderValueList::iterator::data
    - Utils::HeaderValueList::iterator::size
    - end
    - static_cast<SpecialHeader>
    - Variables::_parseSimpleHeader
    linkageType: ''
    returnType: void
    signature: void Variables::_parseCachedHeaders()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Variables &>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:213,1
    - Dst: Variables::_parseCachedHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:215,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:219,1
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:219,1
    - Dst: Variables::_parseQueryString
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:221,1
    - Dst: data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:221,1
    - Dst: _toUpperCase
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:227,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:228,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:229,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:230,1
    - Dst: StringHash::const_iterator::second::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:230,1
    - Dst: StringHash::const_iterator::second::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:230,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:231,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:231,1
    - Dst: _parseDictVariable
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:238,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:239,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:239,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:239,1
    - Dst: _searchHeaders
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:242,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:244,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:244,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:244,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:249,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:250,1
    - Dst: string::assign
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:255,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:257,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:260,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:260,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:260,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:261,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:264,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:265,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:265,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:265,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:266,1
    - Dst: StringHash::const_iterator::second::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:266,1
    - Dst: StringHash::const_iterator::second::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:266,1
    - Dst: string::find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:270,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:270,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:271,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:272,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:272,1
    - Dst: _getSubCookieValue
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:273,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:276,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:276,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - name
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 278
    functionName: '&

      Variables::getValue(const string &name) const'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - _getSubCookieValue
    - size
    - DBG
    - Variables::_parseCachedHeaders
    - _parseDictVariable
    - _toUpperCase
    - string::c_str
    - const_cast<Variables &>
    - data
    - _searchHeaders
    - string::size
    - static_cast<int>
    - strncasecmp
    - TSError
    - find
    - Variables::_parseQueryString
    - end
    - StringHash::const_iterator::second::data
    - string::assign
    - StringHash::const_iterator::second::size
    - string::data
    - c_str
    - string::find
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      Variables::getValue(const string &name) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringHash::begin
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:284,1
    - Dst: StringHash::end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:284,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:287,1
    - Dst: Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:293,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:293,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:293,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:295,1
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:297,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:297,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: Variables::_parseSubCookies
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - DBG
    - StringHash::end
    - StringHash::begin
    - string
    - Utils::parseAttributes
    - strchr
    - std::string::length
    - Variables::_insert
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Variables::_parseSubCookies()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:306,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:307,1
    - Dst: const_cast<Variables &>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:311,1
    - Dst: Variables::_parseSubCookies
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:312,1
    - Dst: const_cast<string &>
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:319,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:323,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:324,1
    - Dst: find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:326,1
    - Dst: end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:327,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:328,1
    - Dst: StringKeyHash<StringHash>::const_iterator::second::find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:332,1
    - Dst: StringKeyHash<StringHash>::const_iterator::second::end
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:333,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:334,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:338,1
    - Dst: StringHash::const_iterator::second::c_str
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:338,1
    - Dst: '&

        Variables::_cached_sub_cookie_value::assign'
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - cookie_str
    - cookie_part_divider
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 349
    functionName: '&

      Variables::_getSubCookieValue(const string &cookie_str, size_t cookie_part_divider)
      const'
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - DBG
    - StringHash::const_iterator::second::c_str
    - find
    - Variables::_parseSubCookies
    - const_cast<string &>
    - string::data
    - StringKeyHash<StringHash>::const_iterator::second::find
    - end
    - StringKeyHash<StringHash>::const_iterator::second::end
    - string::c_str
    - const_cast<Variables &>
    - size
    - '&

      Variables::_cached_sub_cookie_value::assign'
    linkageType: ''
    returnType: string
    signature: 'string &

      Variables::_getSubCookieValue(const string &cookie_str, size_t cookie_part_divider)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:354,1
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:356,1
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:357,1
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:360,1
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:362,1
    - Dst: Variables::clear
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:364,1
    - Dst: _releaseCookieJar
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: Variables::clear
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached:
    - _releaseCookieJar
    - Variables::clear
    linkageType: ''
    returnType: void
    signature: void Variables::clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Utils::parseAttributes
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:372,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:375,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:378,1
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:389,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:389,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:389,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: Variables::_parseCookieString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached:
    - std::string::find
    - string
    - DBG
    - std::string::substr
    - Utils::parseAttributes
    - Variables::_insert
    linkageType: ''
    returnType: void
    signature: void Variables::_parseCookieString(const char *str, int str_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: Variables::_parseUserAgentString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Variables::_parseUserAgentString(const char * /* str ATS_UNUSED
      */, int /* str_len ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:405,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:413,1
    - Dst: Variables::_insert
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:417,1
    - Dst: string
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:417,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:418,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 426
    functionName: Variables::_parseAcceptLangString
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 1
    functionsReached:
    - DBG
    - isspace
    - Variables::_insert
    - string
    linkageType: ''
    returnType: void
    signature: void Variables::_parseAcceptLangString(const char *str, int str_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:432,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:433,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:441,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:447,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:452,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:456,1
    - Dst: DBG
      Src: /src/trafficserver/plugins/esi/lib/Variables.cc:460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - variable
    - header
    - header_len
    - attr
    - attr_len
    argTypes:
    - std::string
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 468
    functionName: Variables::_parseDictVariable
    functionSourceFile: /src/trafficserver/plugins/esi/lib/Variables.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - DBG
    linkageType: ''
    returnType: bool
    signature: "bool Variables::_parseDictVariable(const std::string &variable, const
      char *&header, int &header_len, const char *&attr,\n                              int
      &attr_len) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: EsiGzip::EsiGzip
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiGzip::EsiGzip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - data
    argTypes:
    - string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: append
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 130
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: void
    signature: void append(string &out, T data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:56,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:58,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - zstrm
    - flush
    - cdata
    argTypes:
    - z_stream
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: runDeflateLoop
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 1
    functionsReached:
    - std::string::append
    - deflate
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: int
    signature: int runDeflateLoop(z_stream &zstrm, int flush, std::string &cdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:74,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:76,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:82,1
    - Dst: deflateInit2
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:88,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:89,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:95,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:95,1
    - Dst: runDeflateLoop
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:97,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:99,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:101,1
    - Dst: crc32
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:105,1
    - Dst: reinterpret_cast<const Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:105,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:108,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - data
    - data_len
    - cdata
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 112
    functionName: EsiGzip::stream_encode
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 1
    functionsReached:
    - deflateInit2
    - TSError
    - std::string::size
    - crc32
    - const_cast<char *>
    - deflateEnd
    - std::string::assign
    - runDeflateLoop
    - reinterpret_cast<const Bytef *>
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: bool
    signature: bool EsiGzip::stream_encode(const char *data, int data_len, std::string
      &cdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EsiGzip::stream_encode
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:119,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:127,1
    - Dst: deflateInit2
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:133,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:134,1
    - Dst: reinterpret_cast<Bytef *>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:138,1
    - Dst: runDeflateLoop
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:141,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:142,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:144,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:148,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:148,1
    - Dst: append
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:149,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:149,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/esi/lib/EsiGzip.cc:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - cdata
    - downstream_length
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 153
    functionName: EsiGzip::stream_finish
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 0
    functionsReached:
    - deflateInit2
    - EsiGzip::stream_encode
    - TSError
    - std::string::size
    - deflateEnd
    - static_cast<int32_t>
    - append
    - static_cast<uint32_t>
    - runDeflateLoop
    - reinterpret_cast<Bytef *>
    linkageType: ''
    returnType: bool
    signature: bool EsiGzip::stream_finish(std::string &cdata, int &downstream_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: EsiGzip::~EsiGzip()
    functionSourceFile: /src/trafficserver/plugins/esi/lib/EsiGzip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsiGzip::~EsiGzip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransactionPlugin::registerHook
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - transaction
    - input_image_type
    - transform_image_type
    argTypes:
    - Transaction
    - ImageEncoding
    - ImageEncoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ImageTransform::ImageTransform
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - TransactionPlugin::registerHook
    linkageType: ''
    returnType: void
    signature: void ImageTransform(Transaction &transaction, ImageEncoding input_image_type,
      ImageEncoding transform_image_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:79,1
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:82,1
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:85,1
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:94,1
    - Dst: Transaction::getServerRequest
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:94,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: ImageTransform::handleReadResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - Transaction::resume
    - Transaction::getServerRequest
    - Transaction::getServerResponse
    linkageType: ''
    returnType: void
    signature: void handleReadResponseHeaders(Transaction &transaction) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:101,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:101,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: ImageTransform::consume
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - write
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void consume(std::string_view data) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:107,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:108,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:108,1
    - Dst: Image::read
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:112,1
    - Dst: increment
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:117,1
    - Dst: Image::magick
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:118,1
    - Dst: increment
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:121,1
    - Dst: Image::magick
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:122,1
    - Dst: Image::write
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:124,1
    - Dst: produce
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:125,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:125,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:125,1
    - Dst: Blob::data
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:125,1
    - Dst: Blob::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:125,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:127,1
    - Dst: what
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:127,1
    - Dst: produce
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:128,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:128,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:128,1
    - Dst: Blob::data
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:128,1
    - Dst: Blob::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:128,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:131,1
    - Dst: what
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:131,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:132,1
    - Dst: produce
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:133,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:133,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:133,1
    - Dst: Blob::data
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:133,1
    - Dst: Blob::length
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:133,1
    - Dst: setOutputComplete
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: ImageTransform::handleInputComplete
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - increment
    - TSError
    - what
    - std::string::data
    - produce
    - Image::magick
    - Image::write
    - reinterpret_cast<const char *>
    - str
    - Dbg
    - Blob::data
    - setOutputComplete
    - Blob::length
    - std::string::length
    - Image::read
    - std::string_view
    linkageType: ''
    returnType: void
    signature: void handleInputComplete() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~ImageTransform() override
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ImageTransform() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerHook
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: GlobalHookPlugin::GlobalHookPlugin
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - registerHook
    linkageType: ''
    returnType: void
    signature: void GlobalHookPlugin()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:160,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:165,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:169,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:184,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:184,1
    - Dst: Transaction::getServerRequest
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:189,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:191,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:191,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:194,1
    - Dst: Transaction::addPlugin
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:195,1
    - Dst: ImageTransform::ImageTransform
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:195,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:197,1
    - Dst: Transaction::addPlugin
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:198,1
    - Dst: ImageTransform::ImageTransform
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:198,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:200,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 205
    functionName: GlobalHookPlugin::handleReadResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - Transaction::getServerResponse
    - Transaction::getServerRequest
    - Dbg
    - ImageTransform::ImageTransform
    - Transaction::resume
    - Transaction::addPlugin
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void handleReadResponseHeaders(Transaction &transaction) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RegisterGlobalPlugin
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:211,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:217,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:218,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:221,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:222,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:226,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:229,1
    - Dst: init
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:234,1
    - Dst: init
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:235,1
    - Dst: InitializeMagick
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:237,1
    - Dst: GlobalHookPlugin::GlobalHookPlugin
      Src: /src/trafficserver/plugins/webp_transform/ImageTransform.cc:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/webp_transform/ImageTransform.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - TSError
    - InitializeMagick
    - GlobalHookPlugin::GlobalHookPlugin
    - Dbg
    - RegisterGlobalPlugin
    - init
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~TsInterface()
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TsInterface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:79,1
    - Dst: trimWhiteSpaces
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:80,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:82,1
    - Dst: String::begin
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:82,1
    - Dst: String::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:82,1
    - Dst: String::begin
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:82,1
    - Dst: ContainerType::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:84,1
    - Dst: ContainerType::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ss
    - input
    argTypes:
    - ContainerType
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: commaSeparateString
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - trimWhiteSpaces
    - String::end
    - std::transform
    - ContainerType::insert
    - std::getline
    - ContainerType::end
    - String::begin
    linkageType: ''
    returnType: void
    signature: void commaSeparateString(ContainerType &ss, const String &input, bool
      trim = true, bool lowerCase = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:63,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:63,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:63,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - in
    - inLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: base16Encode
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setw
    - std::setfill
    - std::stringstream::str
    linkageType: ''
    returnType: String
    signature: String base16Encode(const char *in, size_t inLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:87,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:103,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:103,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:103,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - in
    - isObjectName
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: uriEncode
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::setfill
    - isalnum
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: String
    signature: String uriEncode(const String &in, bool isObjectName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:126,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:129,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:146,1
    - Dst: std::isxdigit
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:146,1
    - Dst: std::isxdigit
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - in
    - isObjectName
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 157
    functionName: isUriEncoded
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - String::length
    - isalnum
    - std::isxdigit
    linkageType: ''
    returnType: bool
    signature: bool isUriEncoded(const String &in, bool isObjectName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isUriEncoded
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:163,1
    - Dst: uriEncode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - in
    - isObjectName
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: canonicalEncode
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - isUriEncoded
    - uriEncode
    linkageType: ''
    returnType: String
    signature: String canonicalEncode(const String &in, bool isObjectName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimWhiteSpaces
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:191,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:191,1
    - Dst: String::reserve
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:193,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:193,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:198,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:201,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:201,1
    - Dst: String::resize
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - in
    - inLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 210
    functionName: trimWhiteSpacesAndSqueezeInnerSpaces
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - trimWhiteSpaces
    - String
    - isspace
    - String::resize
    - String::reserve
    - String::size
    linkageType: ''
    returnType: String
    signature: String trimWhiteSpacesAndSqueezeInnerSpaces(const char *in, size_t
      inLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_not_of
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:221,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:223,1
    - Dst: String::find_last_not_of
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:225,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: trimWhiteSpaces
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 2
    functionsReached:
    - String::find_last_not_of
    - String::find_first_not_of
    - String
    - String::substr
    linkageType: ''
    returnType: String
    signature: String trimWhiteSpaces(const String &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:235,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - in
    - inLen
    argTypes:
    - SHA256_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: sha256Update
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - String
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: void sha256Update(SHA256_CTX *ctx, const char *in, size_t inLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:244,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - SHA256_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: sha256Update
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 1
    functionsReached:
    - sha256Update
    - strlen
    linkageType: ''
    returnType: void
    signature: void sha256Update(SHA256_CTX *ctx, const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:250,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:250,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - SHA256_CTX*
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: sha256Update
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 2
    functionsReached:
    - sha256Update
    - String::length
    - String::c_str
    linkageType: ''
    returnType: void
    signature: void sha256Update(SHA256_CTX *ctx, const String &in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Final
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hex
    - ctx
    argTypes:
    - unsigned char[]
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: sha256Final
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - SHA256_Final
    linkageType: ''
    returnType: void
    signature: void sha256Final(unsigned char hex[SHA256_DIGEST_LENGTH], SHA256_CTX
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:276,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:276,1
    - Dst: base16Encode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:278,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - signPayload
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: getPayloadSha256
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const unsigned char *>
    - base16Encode
    - SHA256
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: String
    signature: String getPayloadSha256(bool signPayload)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:303,1
    - Dst: TsInterface::getMethod
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:310,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:311,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:312,1
    - Dst: TsInterface::getPath
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:316,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:318,1
    - Dst: canonicalEncode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:319,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:320,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:321,1
    - Dst: TsInterface::getQuery
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:325,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:333,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:334,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:335,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:335,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:336,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:336,1
    - Dst: canonicalEncode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:338,1
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:339,1
    - Dst: canonicalEncode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:340,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:345,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:346,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:348,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:349,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:351,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:352,1
    - Dst: TsInterface::headerBegin
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:359,1
    - Dst: TsInterface::headerEnd
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:359,1
    - Dst: HeaderIterator::getName
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:362,1
    - Dst: HeaderIterator::getValue
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:363,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:370,1
    - Dst: String::begin
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:370,1
    - Dst: String::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:370,1
    - Dst: String::begin
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:370,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:373,1
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:373,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:373,1
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:373,1
    - Dst: compare
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:374,1
    - Dst: compare
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:375,1
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:385,1
    - Dst: StringSet::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:385,1
    - Dst: StringSet::find
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:385,1
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:387,1
    - Dst: StringSet::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:387,1
    - Dst: StringSet::find
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:387,1
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:389,1
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:389,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:391,1
    - Dst: trimWhiteSpacesAndSqueezeInnerSpaces
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:397,1
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:399,1
    - Dst: StringMap::find
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:400,1
    - Dst: StringMap::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:400,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:401,1
    - Dst: append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:403,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:408,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:409,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:410,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:411,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:413,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:416,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:417,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:419,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:422,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:423,1
    - Dst: getPayloadSha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:427,1
    - Dst: sha256Update
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:428,1
    - Dst: sha256Final
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:431,1
    - Dst: base16Encode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:435,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:435,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 5
    argNames:
    - api
    - signPayload
    - includeHeaders
    - excludeHeaders
    - signedHeaders
    argTypes:
    - TsInterface
    - bool
    - StringSet
    - StringSet
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 436
    functionName: getCanonicalRequestSha256Hash
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - String
    - TsInterface::getQuery
    - StringSet::insert
    - SHA256_Init
    - getPayloadSha256
    - String::empty
    - std::transform
    - length
    - String::length
    - trimWhiteSpacesAndSqueezeInnerSpaces
    - append
    - std::getline
    - std::move
    - String::size
    - TsInterface::getPath
    - String::append
    - StringSet::end
    - StringSet::empty
    - sha256Final
    - canonicalEncode
    - TsInterface::getMethod
    - compare
    - StringMap::find
    - sha256Update
    - TsInterface::headerEnd
    - StringMap::end
    - base16Encode
    - String::find_first_of
    - HeaderIterator::getValue
    - String::end
    - StringSet::find
    - HeaderIterator::getName
    - String::substr
    - reinterpret_cast<char *>
    - TsInterface::headerBegin
    - String::compare
    - String::begin
    linkageType: ''
    returnType: String
    signature: "String getCanonicalRequestSha256Hash(TsInterface &api, bool signPayload,
      const StringSet &includeHeaders, const StringSet &excludeHeaders,\n                              String
      &signedHeaders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 523
    functionName: createDefaultRegionMap
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringMap
    signature: StringMap createDefaultRegionMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:534,1
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:535,1
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: createDefaultExcludeHeaders
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - StringSet::insert
    linkageType: ''
    returnType: StringSet
    signature: StringSet createDefaultExcludeHeaders()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: createDefaultIncludeHeaders
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringSet
    signature: StringSet createDefaultIncludeHeaders()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: String::rfind
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:574,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:576,1
    - Dst: StringMap::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:580,1
    - Dst: StringMap::find
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:580,1
    - Dst: StringMap::at
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:581,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:586,1
    - Dst: StringMap::end
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:586,1
    - Dst: StringMap::find
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:586,1
    - Dst: StringMap::at
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - regionMap
    - entryPoint
    - entryPointLen
    argTypes:
    - StringMap
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 591
    functionName: getRegion
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - StringMap::at
    - String::empty
    - StringMap::end
    - StringMap::find
    - String::substr
    - String::rfind
    linkageType: ''
    returnType: String
    signature: String getRegion(const StringMap &regionMap, const char *entryPoint,
      size_t entryPointLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:615,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:618,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:619,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:622,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:623,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:624,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:625,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:626,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:627,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 8
    argNames:
    - dateTime
    - dateTimeLen
    - region
    - regionLen
    - service
    - serviceLen
    - sha256Hash
    - sha256HashLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: getStringToSign
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - String::append
    linkageType: ''
    returnType: String
    signature: "String getStringToSign(const char *dateTime, size_t dateTimeLen, const
      char *region, size_t regionLen, const char *service,\n                size_t
      serviceLen, const char *sha256Hash, size_t sha256HashLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:672,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:673,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:676,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:676,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:677,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:677,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:678,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:678,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:680,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:680,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:680,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:682,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:682,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 12
    argNames:
    - awsSecret
    - awsSecretLen
    - awsRegion
    - awsRegionLen
    - awsService
    - awsServiceLen
    - dateTime
    - dateTimeLen
    - stringToSign
    - stringToSignLen
    - signature
    - signatureLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 688
    functionName: getSignature
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<unsigned char *>
    - HMAC
    - reinterpret_cast<const unsigned char *>
    - EVP_sha256
    linkageType: ''
    returnType: size_t
    signature: "size_t getSignature(const char *awsSecret, size_t awsSecretLen, const
      char *awsRegion, size_t awsRegionLen, const char *awsService,\n             size_t
      awsServiceLen, const char *dateTime, size_t dateTimeLen, const char *stringToSign,
      size_t stringToSignLen,\n             char *signature, size_t signatureLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:697,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - now
    - dateTime
    - dateTimeLen
    argTypes:
    - time_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: getIso8601Time
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - strftime
    - gmtime_r
    linkageType: ''
    returnType: size_t
    signature: size_t getIso8601Time(time_t *now, char *dateTime, size_t dateTimeLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dateTimeLen
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 708
    functionName: AwsAuthV4::getDateTime
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      AwsAuthV4::getDateTime(size_t *dateTimeLen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPayloadSha256
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: AwsAuthV4::getPayloadHash
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - getPayloadSha256
    linkageType: ''
    returnType: String
    signature: String AwsAuthV4::getPayloadHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCanonicalRequestSha256Hash
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:728,1
    - Dst: getHost
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:731,1
    - Dst: getRegion
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:733,1
    - Dst: getStringToSign
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:735,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:735,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:735,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:736,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:736,1
    - Dst: getSignature
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:743,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:743,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:743,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:744,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:744,1
    - Dst: base16Encode
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:746,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:753,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:753,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:754,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 759
    functionName: AwsAuthV4::getAuthorizationHeader
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - getStringToSign
    - String
    - getCanonicalRequestSha256Hash
    - String::length
    - base16Encode
    - String::c_str
    - std::stringstream::str
    - getHost
    - getSignature
    - getRegion
    linkageType: ''
    returnType: String
    signature: String AwsAuthV4::getAuthorizationHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:788,1
    - Dst: StringSet::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:789,1
    - Dst: StringMap::empty
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:790,1
    - Dst: getIso8601Time
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - api
    - now
    - signPayload
    - awsAccessKeyId
    - awsAccessKeyIdLen
    - awsSecretAccessKey
    - awsSecretAccessKeyLen
    - awsService
    - awsServiceLen
    - includedHeaders
    - excludedHeaders
    - regionMap
    argTypes:
    - TsInterface
    - time_t*
    - bool
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - StringSet
    - StringSet
    - StringMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 793
    functionName: AwsAuthV4::AwsAuthV4
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - getIso8601Time
    - StringMap::empty
    - StringSet::empty
    linkageType: ''
    returnType: void
    signature: "void AwsAuthV4::AwsAuthV4(TsInterface &api, time_t *now, bool signPayload,
      const char *awsAccessKeyId, size_t awsAccessKeyIdLen,\n                     const
      char *awsSecretAccessKey, size_t awsSecretAccessKeyLen, const char *awsService,
      size_t awsServiceLen,\n                     const StringSet &includedHeaders,
      const StringSet &excludedHeaders, const StringMap &regionMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: HeaderIterator::HeaderIterator
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdrs
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: HeaderIterator::HeaderIterator
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderIterator(TSMBuffer bufp, TSMLoc hdrs, TSMLoc field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: HeaderIterator::HeaderIterator
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderIterator(const HeaderIterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~HeaderIterator()
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeaderIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: "&\n  operator=(HeaderIterator &it)"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderIterator
    signature: "HeaderIterator &\n  operator=(HeaderIterator &it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:52,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: "&\n  operator++()"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNext
    - TSHandleMLocRelease
    linkageType: ''
    returnType: HeaderIterator
    signature: "HeaderIterator &\n  operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: operator++(int)
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: operator!=(const HeaderIterator &it) const
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HeaderIterator &it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: operator==(const HeaderIterator &it) const
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HeaderIterator &it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: HeaderIterator::getName
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldNameGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getName(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: HeaderIterator::getValue
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldValueStringGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getValue(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - bufp
    - hdrs
    - url
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: TsApi::TsApi
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TsApi(TSMBuffer bufp, TSMLoc hdrs, TSMLoc url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: ~TsApi() override
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TsApi() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: TsApi::getMethod
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getMethod(int *len) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrHostGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: TsApi::getHost
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSHttpHdrHostGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getHost(int *len) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: TsApi::getPath
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getPath(int *len) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: TsApi::getQuery
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: char
    signature: "char *\n  getQuery(int *len) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderIterator
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:118,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: TsApi::headerBegin
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldGet
    - HeaderIterator
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator headerBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderIterator
      Src: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: TsApi::headerEnd
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/aws_auth_v4_wrap.h
    functionUses: 0
    functionsReached:
    - HeaderIterator
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator headerEnd() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:72,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:76,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: makeConfigPath
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - String::empty
    - String
    - TSConfigDirGet
    linkageType: ''
    returnType: String
    signature: String makeConfigPath(const String &path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:94,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:94,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:96,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:100,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:100,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:104,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:108,1
    - Dst: String::resize
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:110,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:113,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:117,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:119,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:119,1
    - Dst: trimWhiteSpaces
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:123,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:123,1
    - Dst: trimWhiteSpaces
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:124,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:124,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:126,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:127,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:127,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:132,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:132,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:134,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:134,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:134,1
    - Dst: StringMap::at
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:141,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - m
    - filename
    argTypes:
    - StringMap
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 146
    functionName: loadRegionMap
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - trimWhiteSpaces
    - String::find_first_of
    - String
    - std::ifstream::close
    - TSError
    - StringMap::at
    - String::empty
    - std::ifstream::open
    - String::find
    - Dbg
    - String::resize
    - String::c_str
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool loadRegionMap(StringMap &m, const String &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ConfigCache::_ConfigData
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _ConfigData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - config_
    - load_time_
    argTypes:
    - S3Config*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: ConfigCache::_ConfigData
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _ConfigData(S3Config *config_, time_t load_time_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ConfigData::update_status::load
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:178,1
    - Dst: _ConfigData::config::load
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:179,1
    - Dst: _ConfigData::load_time::load
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lhs
    argTypes:
    - _ConfigData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: ConfigCache::_ConfigData
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - _ConfigData::load_time::load
    - _ConfigData::update_status::load
    - _ConfigData::config::load
    linkageType: ''
    returnType: void
    signature: void _ConfigData(_ConfigData &&lhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:202,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:203,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:203,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:205,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:205,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:206,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: S3Config::S3Config
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    - TSContDataSet
    - TSContCreate
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void S3Config(bool get_cont = true)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:213,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:214,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:215,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:216,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:218,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:221,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: ~S3Config()
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSfree
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void ~S3Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: S3Config::releaseReloadCont
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: TSCont
    signature: TSCont releaseReloadCont()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:244,1
    - Dst: S3Config::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:244,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:245,1
    - Dst: S3Config::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:245,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:249,1
    - Dst: S3Config::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:249,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:250,1
    - Dst: S3Config::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:250,1
    - Dst: empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:257,1
    - Dst: empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:259,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:260,1
    - Dst: empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:262,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:263,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: S3Config::valid
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Config::versionString
    - Dbg
    - empty
    - TSWarning
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:281,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:282,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:287,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:288,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:293,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:294,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:326,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - src
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 329
    functionName: S3Config::copy_changes_from
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSfree
    linkageType: ''
    returnType: void
    signature: void copy_changes_from(const S3Config *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: S3Config::virt_host
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool virt_host() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: S3Config::secret
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  secret() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: S3Config::keyid
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  keyid() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: S3Config::token
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  token() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: S3Config::secret_len
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int secret_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: S3Config::keyid_len
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keyid_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: S3Config::token_len
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int token_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: S3Config::version
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int version() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: S3Config::versionString
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  versionString() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: "&\n  v4includeHeaders()"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringSet
    signature: "StringSet &\n  v4includeHeaders()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: "&\n  v4excludeHeaders()"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringSet
    signature: "StringSet &\n  v4excludeHeaders()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: "&\n  v4RegionMap()"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringMap
    signature: "StringMap &\n  v4RegionMap()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: S3Config::expiration
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long expiration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: S3Config::conf_fname
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  conf_fname() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: S3Config::incr_conf_reload_count
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int incr_conf_reload_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: S3Config::incr_invalid_file_count
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int incr_invalid_file_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:445,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:446,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: S3Config::set_secret
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_secret(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:452,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:453,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: S3Config::set_keyid
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_keyid(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:459,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:460,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: S3Config::set_token
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_token(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: S3Config::set_virt_host
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_virt_host(bool f = true)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:474,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:474,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:476,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:476,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:478,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: S3Config::set_version
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - strcmp
    linkageType: ''
    returnType: void
    signature: void set_version(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::commaSeparateString<StringSet>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: S3Config::set_include_headers
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - ::commaSeparateString<StringSet>
    linkageType: ''
    returnType: void
    signature: void set_include_headers(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::commaSeparateString<StringSet>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:496,1
    - Dst: insert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:500,1
    - Dst: insert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:501,1
    - Dst: insert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: S3Config::set_exclude_headers
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - ::commaSeparateString<StringSet>
    - insert
    linkageType: ''
    returnType: void
    signature: void set_exclude_headers(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loadRegionMap
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: S3Config::set_region_map
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - loadRegionMap
    linkageType: ''
    returnType: void
    signature: void set_region_map(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: S3Config::set_expiration
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: void
    signature: void set_expiration(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:521,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: S3Config::set_conf_fname
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSfree
    linkageType: ''
    returnType: void
    signature: void set_conf_fname(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: S3Config::reset_conf_reload_count
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_conf_reload_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: S3Config::reset_invalid_file_count
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_invalid_file_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: S3Config::schedule
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    linkageType: ''
    returnType: void
    signature: void schedule(TSHttpTxn txnp) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSActionDone
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:551,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:552,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: S3Config::schedule_conf_reload
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSContScheduleOnPool
    - TSActionDone
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void schedule_conf_reload(long delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: S3Config::check_current_action
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_current_action(void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: S3Config::config_reloader_mutex
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSContMutexGet
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex config_reloader_mutex()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:607,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:608,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:612,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:614,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:615,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:615,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:619,1
    - Dst: swoc::TextView::trim_if
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:623,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:626,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:631,1
    - Dst: swoc::TextView::trim_if
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:632,1
    - Dst: S3Config::set_secret
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:635,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:635,1
    - Dst: S3Config::set_keyid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:637,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:637,1
    - Dst: S3Config::set_token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:639,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:639,1
    - Dst: S3Config::set_version
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:641,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:641,1
    - Dst: S3Config::set_virt_host
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:643,1
    - Dst: S3Config::set_include_headers
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:645,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:645,1
    - Dst: S3Config::set_exclude_headers
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:647,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:647,1
    - Dst: S3Config::set_region_map
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:649,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:649,1
    - Dst: S3Config::set_expiration
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:651,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:651,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:653,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:653,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:653,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - config_fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 604
    functionDepth: 5
    functionLinenumber: 604
    functionLinenumberEnd: 659
    functionName: S3Config::parse_config
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - S3Config::set_secret
    - S3Config::set_version
    - std::getline
    - S3Config::set_include_headers
    - std::string::c_str
    - TSError
    - std::ifstream::open
    - S3Config::set_virt_host
    - swoc::TextView::trim_if
    - TSWarning
    - std::ifstream::is_open
    - S3Config::set_exclude_headers
    - S3Config::set_region_map
    - swoc::TextView::empty
    - S3Config::set_keyid
    - std::string::size
    - S3Config::set_token
    - S3Config::set_expiration
    linkageType: ''
    returnType: bool
    signature: bool S3Config::parse_config(const std::string &config_fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S3Config*::config_reloader_mutex
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:670,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:672,1
    - Dst: S3Config*::releaseReloadCont
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:673,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:675,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s3
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 682
    functionName: S3Config::deletePluginInstance
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - S3Config*::config_reloader_mutex
    - TSContDestroy
    - S3Config*::releaseReloadCont
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void S3Config::deletePluginInstance(S3Config *s3)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:698,1
    - Dst: makeConfigPath
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:701,1
    - Dst: find
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:703,1
    - Dst: end
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:705,1
    - Dst: auto::second::update_status::compare_exchange_strong
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:708,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:709,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:709,1
    - Dst: S3Config::S3Config
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:710,1
    - Dst: S3Config*::parse_config
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:712,1
    - Dst: S3Config*::set_conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:713,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:718,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:733,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:738,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:738,1
    - Dst: S3Config::S3Config
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:743,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:745,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:745,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:745,1
    - Dst: S3Config*::parse_config
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:746,1
    - Dst: S3Config*::set_conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:747,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:748,1
    - Dst: ConfigCache::_ConfigData
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:748,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 756
    functionName: ConfigCache::get
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - makeConfigPath
    - S3Config::S3Config
    - S3Config*::parse_config
    - S3Config*::set_conf_fname
    - find
    - std::string::c_str
    - TSAssert
    - S3Config*::versionString
    - ConfigCache::_ConfigData
    - emplace
    - end
    - Dbg
    - ink_thr_yield
    - gettimeofday
    - auto::second::update_status::compare_exchange_strong
    linkageType: ''
    returnType: S3Config
    signature: 'S3Config *

      ConfigCache::get(const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: S3Request::S3Request
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S3Request(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:767,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: ~S3Request()
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~S3Request()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:774,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 782
    functionName: S3Request::initialize
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrUrlGet
    - TSHttpTxnServerReqGet
    linkageType: ''
    returnType: bool
    signature: bool initialize()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:808,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:812,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:813,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:814,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:817,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:824,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:827,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:831,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:833,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - header
    - header_len
    - val
    - val_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 800
    functionDepth: 5
    functionLinenumber: 800
    functionLinenumberEnd: 843
    functionName: S3Request::set_header
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - Dbg
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool S3Request::set_header(const char *header, int header_len, const
      char *val, int val_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:850,1
    - Dst: TSstrlcat
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 857
    functionName: str_concat
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - min
    - TSstrlcat
    linkageType: ''
    returnType: size_t
    signature: size_t str_concat(char *dst, size_t dst_len, const char *src, size_t
      src_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: S3Config*::version
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:863,1
    - Dst: S3Request::authorizeAwsV2
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:865,1
    - Dst: S3Request::authorizeAwsV4
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:868,1
    - Dst: S3Request::authorizeGcp
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s3
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 877
    functionName: S3Request::authorize
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Request::authorizeGcp
    - S3Config*::version
    - S3Request::authorizeAwsV2
    - S3Request::authorizeAwsV4
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus S3Request::authorize(S3Config *s3)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:883,1
    - Dst: S3Config*::keyid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:885,1
    - Dst: S3Config*::keyid_len
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:885,1
    - Dst: S3Config*::secret
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:885,1
    - Dst: S3Config*::secret_len
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:885,1
    - Dst: S3Config*::v4includeHeaders
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:886,1
    - Dst: S3Config*::v4excludeHeaders
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:886,1
    - Dst: S3Config*::v4RegionMap
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:886,1
    - Dst: AwsAuthV4::getPayloadHash
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:887,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:888,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:888,1
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:888,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:888,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:888,1
    - Dst: AwsAuthV4::getDateTime
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:894,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:895,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:895,1
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:895,1
    - Dst: S3Config*::token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:900,1
    - Dst: S3Config*::token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:900,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:901,1
    - Dst: data
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:901,1
    - Dst: size
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:901,1
    - Dst: S3Config*::token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:901,1
    - Dst: S3Config*::token_len
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:901,1
    - Dst: AwsAuthV4::getAuthorizationHeader
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:905,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:906,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:910,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:910,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - s3
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 915
    functionName: S3Request::authorizeAwsV4
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 1
    functionsReached:
    - S3Config*::v4includeHeaders
    - S3Config*::secret
    - size
    - S3Config*::keyid
    - S3Request::set_header
    - S3Config*::keyid_len
    - String::empty
    - length
    - String::length
    - data
    - String::c_str
    - S3Config*::secret_len
    - AwsAuthV4::getDateTime
    - S3Config*::token
    - AwsAuthV4::getPayloadHash
    - S3Config*::v4RegionMap
    - AwsAuthV4::getAuthorizationHeader
    - S3Config*::v4excludeHeaders
    - S3Config*::token_len
    - c_str
    - time
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus S3Request::authorizeAwsV4(S3Config *s3)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:942,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:946,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:949,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:954,1
    - Dst: strftime
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:957,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:962,1
    - Dst: S3Config*::virt_host
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:966,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:967,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:969,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:970,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:970,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:977,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:979,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:984,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:986,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:990,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:991,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:993,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:995,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:999,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1002,1
    - Dst: str_concat
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1010,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1010,1
    - Dst: str_concat
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1011,1
    - Dst: str_concat
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1014,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1016,1
    - Dst: HMAC_CTX_new
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1026,1
    - Dst: HMAC_Init_ex
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1027,1
    - Dst: S3Config*::secret
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1027,1
    - Dst: S3Config*::secret_len
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1027,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1027,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1028,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1029,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1029,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1030,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1031,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1031,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1032,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1033,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1033,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1034,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1034,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1035,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1035,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1038,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1039,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1039,1
    - Dst: HMAC_Update
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1042,1
    - Dst: HMAC_Final
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1044,1
    - Dst: HMAC_CTX_free
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1045,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1048,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1048,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1050,1
    - Dst: S3Config*::keyid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1050,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1050,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1052,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1053,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1059,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1060,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1061,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 1
    argNames:
    - s3
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 1064
    functionName: S3Request::authorizeAwsV2
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 1
    functionsReached:
    - str_concat
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - snprintf
    - gmtime_r
    - S3Config*::secret
    - TSMimeHdrFieldFind
    - S3Config*::keyid
    - S3Request::set_header
    - EVP_sha1
    - HMAC_CTX_free
    - reinterpret_cast<const unsigned char *>
    - reinterpret_cast<unsigned char *>
    - HMAC_CTX_new
    - memchr
    - static_cast<int>
    - TSUrlPathGet
    - Dbg
    - static_cast<const char *>
    - S3Config*::secret_len
    - HMAC_Update
    - HMAC_Init_ex
    - 'on'
    - TSMimeHdrFieldValueStringGet
    - HMAC_Final
    - reinterpret_cast<const char *>
    - TSBase64Encode
    - S3Config*::virt_host
    - time
    - strftime
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus S3Request::authorizeAwsV2(S3Config *s3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1070,1
    - Dst: S3Config*::token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1070,1
    - Dst: S3Request::set_header
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s3
    argTypes:
    - S3Config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1076
    functionName: S3Request::authorizeGcp
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 1
    functionsReached:
    - snprintf
    - S3Config*::token
    - S3Request::set_header
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus S3Request::authorizeGcp(S3Config *s3)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1083,1
    - Dst: static_cast<S3Config *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1084,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1084,1
    - Dst: S3Request::initialize
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1093,1
    - Dst: S3Request::authorize
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1095,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1099,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1101,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1102,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1107,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1108,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1080
    functionDepth: 4
    functionLinenumber: 1080
    functionLinenumberEnd: 1117
    functionName: event_handler
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - TSError
    - S3Request::authorize
    - S3Request::initialize
    - Dbg
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<S3Config *>
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: int
    signature: int event_handler(TSCont cont, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - time_diff
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1132
    functionName: cal_reload_delay
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long cal_reload_delay(long time_diff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1137,1
    - Dst: static_cast<S3Config *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1138,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1138,1
    - Dst: S3Config*::check_current_action
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1139,1
    - Dst: get
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1140,1
    - Dst: S3Config*::conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1140,1
    - Dst: makeConfigPath
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1141,1
    - Dst: S3Config*::conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1141,1
    - Dst: S3Config*::conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1141,1
    - Dst: S3Config*::valid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1143,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1144,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1145,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1145,1
    - Dst: S3Config*::incr_invalid_file_count
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1146,1
    - Dst: S3Config*::schedule_conf_reload
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1147,1
    - Dst: S3Config*::reset_invalid_file_count
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1150,1
    - Dst: S3Config*::copy_changes_from
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1154,1
    - Dst: S3Config*::expiration
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1158,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1158,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1158,1
    - Dst: S3Config*::expiration
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1161,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1162,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1162,1
    - Dst: cal_reload_delay
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1164,1
    - Dst: TSNote
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1165,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1165,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1166,1
    - Dst: S3Config*::reset_conf_reload_count
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1167,1
    - Dst: S3Config*::schedule_conf_reload
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1168,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1170,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1170,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1171,1
    - Dst: S3Config*::incr_conf_reload_count
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1173,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1174,1
    - Dst: S3Config*::schedule_conf_reload
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1181
    functionName: config_reloader
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Config*::valid
    - TSContDataGet
    - S3Config*::reset_invalid_file_count
    - get
    - makeConfigPath
    - TSNote
    - S3Config*::incr_conf_reload_count
    - cal_reload_delay
    - S3Config*::expiration
    - static_cast<S3Config *>
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::string::c_str
    - TSError
    - S3Config*::schedule_conf_reload
    - S3Config*::check_current_action
    - S3Config*::conf_fname
    - S3Config*::versionString
    - Dbg
    - S3Config*::incr_invalid_file_count
    - failover_now
    - S3Config*::copy_changes_from
    - S3Config*::reset_conf_reload_count
    linkageType: ''
    returnType: int
    signature: int config_reloader(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1192
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1201,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1202,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1203,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1204,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1205,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1206,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1207,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1208,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1209,1
    - Dst: S3Config::S3Config
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1213,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1222,1
    - Dst: static_cast<char *const *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1222,1
    - Dst: get
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1226,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1228,1
    - Dst: S3Config*::set_keyid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1234,1
    - Dst: S3Config*::set_secret
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1237,1
    - Dst: S3Config*::set_token
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1240,1
    - Dst: S3Config*::set_virt_host
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1243,1
    - Dst: S3Config*::set_version
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1246,1
    - Dst: S3Config*::set_include_headers
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1249,1
    - Dst: S3Config*::set_exclude_headers
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1252,1
    - Dst: S3Config*::set_region_map
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1255,1
    - Dst: S3Config*::copy_changes_from
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1266,1
    - Dst: makeConfigPath
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1269,1
    - Dst: S3Config*::conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1269,1
    - Dst: S3Config*::conf_fname
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1269,1
    - Dst: S3Config*::valid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1271,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1272,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1272,1
    - Dst: S3Config*::expiration
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1277,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1278,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1278,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1278,1
    - Dst: S3Config*::expiration
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1281,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1282,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1282,1
    - Dst: cal_reload_delay
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1284,1
    - Dst: TSNote
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1285,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1285,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1286,1
    - Dst: S3Config*::reset_conf_reload_count
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1287,1
    - Dst: S3Config*::schedule_conf_reload
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1288,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1290,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1291,1
    - Dst: S3Config*::schedule_conf_reload
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1292,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1296,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1297,1
    - Dst: S3Config*::keyid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1297,1
    - Dst: S3Config*::virt_host
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1297,1
    - Dst: S3Config*::versionString
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1298,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1197
    functionDepth: 3
    functionLinenumber: 1197
    functionLinenumberEnd: 1301
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Config*::valid
    - static_cast<void *>
    - static_cast<char *const *>
    - get
    - makeConfigPath
    - TSNote
    - S3Config*::keyid
    - cal_reload_delay
    - S3Config*::set_version
    - S3Config*::set_region_map
    - S3Config*::expiration
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::string::c_str
    - getopt_long
    - TSError
    - S3Config*::schedule_conf_reload
    - S3Config*::conf_fname
    - S3Config*::versionString
    - Dbg
    - S3Config*::set_keyid
    - S3Config*::set_secret
    - S3Config*::set_token
    - S3Config*::set_exclude_headers
    - failover_now
    - S3Config*::copy_changes_from
    - S3Config*::set_include_headers
    - S3Config::S3Config
    - S3Config*::reset_conf_reload_count
    - const_cast<char *>
    - S3Config*::virt_host
    - S3Config*::set_virt_host
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S3Config::deletePluginInstance
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1306,1
    - Dst: static_cast<S3Config *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1307
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Config::deletePluginInstance
    - static_cast<S3Config *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<S3Config *>
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1315,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1318,1
    - Dst: S3Config*::valid
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1318,1
    - Dst: S3Config*::schedule
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1324,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1326,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1327,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1312
    functionDepth: 2
    functionLinenumber: 1312
    functionLinenumberEnd: 1333
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/origin_server_auth.cc
    functionUses: 0
    functionsReached:
    - S3Config*::valid
    - TSError
    - TSAssert
    - Dbg
    - S3Config*::schedule
    - static_cast<S3Config *>
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderMultiMap::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: HeaderIterator::HeaderIterator
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderIterator(const HeaderMultiMap::iterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: HeaderIterator::HeaderIterator
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderIterator(const HeaderIterator &i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~HeaderIterator()
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeaderIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: "&\n  operator=(HeaderIterator &i)"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderIterator
    signature: "HeaderIterator &\n  operator=(HeaderIterator &i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: "&\n  operator++()"
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderIterator
    signature: "HeaderIterator &\n  operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator++(int)
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - HeaderIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: operator!=(const HeaderIterator &it)
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HeaderIterator &it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:63,1
    - Dst: first::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: HeaderIterator::getName
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 1
    functionsReached:
    - first::c_str
    - first::length
    linkageType: ''
    returnType: char
    signature: "char *\n  getName(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:69,1
    - Dst: second::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: HeaderIterator::getValue
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 1
    functionsReached:
    - second::length
    - second::c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getValue(int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:82,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: MockTsInterface::getMethod
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - c_str
    - length
    linkageType: ''
    returnType: char
    signature: "char *\n  getMethod(int *length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:88,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: MockTsInterface::getHost
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - c_str
    - length
    linkageType: ''
    returnType: char
    signature: "char *\n  getHost(int *length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:94,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: MockTsInterface::getPath
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - c_str
    - length
    linkageType: ''
    returnType: char
    signature: "char *\n  getPath(int *length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:100,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: MockTsInterface::getQuery
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - c_str
    - length
    linkageType: ''
    returnType: char
    signature: "char *\n  getQuery(int *length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderIterator
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:106,1
    - Dst: begin
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: MockTsInterface::headerBegin
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - begin
    - HeaderIterator
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator headerBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderIterator
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:111,1
    - Dst: end
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: MockTsInterface::headerEnd
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.h
    functionUses: 0
    functionsReached:
    - end
    - HeaderIterator
    linkageType: ''
    returnType: HeaderIterator
    signature: HeaderIterator headerEnd() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AwsAuthV4::getAuthorizationHeader
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:371,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:372,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:373,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:373,1
    - Dst: AwsAuthV4::getPayloadHash
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:376,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:377,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:378,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:378,1
    - Dst: AwsAuthV4::getDateTime
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:382,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:383,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:383,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:384,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:384,1
    - Dst: getCanonicalRequestSha256Hash
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:390,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:391,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:392,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:392,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:393,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:394,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:394,1
    - Dst: getIso8601Time
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:398,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:399,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:399,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:400,1
    - Dst: String
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:400,1
    - Dst: TsInterface::getHost
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:404,1
    - Dst: getRegion
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:405,1
    - Dst: getStringToSign
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:408,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:408,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:408,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:409,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:409,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:409,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:410,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:411,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:411,1
    - Dst: getSignature
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:416,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:416,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:416,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:416,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:417,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:417,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:417,1
    - Dst: base16Encode
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:418,1
    - Dst: CAPTURE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:419,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:420,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 6
    argNames:
    - api
    - signPayload
    - now
    - bench
    - includedHeaders
    - excludedHeaders
    argTypes:
    - TsInterface
    - bool
    - time_t*
    - char*[]
    - StringSet
    - StringSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 421
    functionName: ValidateBench
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - AwsAuthV4::getAuthorizationHeader
    - String
    - getStringToSign
    - CHECK_FALSE
    - getIso8601Time
    - TsInterface::getHost
    - CAPTURE
    - getCanonicalRequestSha256Hash
    - String::length
    - base16Encode
    - strlen
    - String::c_str
    - String::compare
    - AwsAuthV4::getDateTime
    - getSignature
    - AwsAuthV4::getPayloadHash
    - getRegion
    linkageType: ''
    returnType: void
    signature: "void ValidateBench(TsInterface &api, bool signPayload, time_t *now,
      const char *bench[], const StringSet &includedHeaders,\n              const
      StringSet &excludedHeaders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCanonicalRequestSha256Hash
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:761,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:762,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:762,1
    - Dst: CHECK_FALSE
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:763,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - api
    - signPayload
    - now
    - bench
    - includedHeaders
    - excludedHeaders
    argTypes:
    - TsInterface
    - bool
    - time_t*
    - char*[]
    - StringSet
    - StringSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 764
    functionName: ValidateBenchCanonicalRequest
    functionSourceFile: /src/trafficserver/plugins/origin_server_auth/unit_tests/test_aws_auth_v4.cc
    functionUses: 0
    functionsReached:
    - CHECK_FALSE
    - String::compare
    - getCanonicalRequestSha256Hash
    linkageType: ''
    returnType: void
    signature: "void ValidateBenchCanonicalRequest(TsInterface &api, bool signPayload,
      time_t *now, const char *bench[],\n                              const StringSet
      &includedHeaders, const StringSet &excludedHeaders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:33,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - target
    - n
    argTypes:
    - String
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 135
    functionsReached:
    - snprintf
    - String::append
    linkageType: ''
    returnType: void
    signature: void append(String &target, unsigned n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:70,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:71,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - target
    - s
    - len
    argTypes:
    - String
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: appendEncoded
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSStringPercentEncode
    - String::append
    linkageType: ''
    returnType: void
    signature: void appendEncoded(String &target, const char *s, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContainerType::begin
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:84,1
    - Dst: ContainerType::end
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:84,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:85,1
    - Dst: ContainerType::begin
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:85,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - sdelim
    - delim
    argTypes:
    - ContainerType
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: containerToString
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - ContainerType::end
    - ContainerType::begin
    - String::append
    linkageType: ''
    returnType: String
    signature: String containerToString(ContainerType &c, const String &sdelim, const
      String &delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - StringSet
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: appendToContainer
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - StringSet::insert
    linkageType: ''
    returnType: void
    signature: void appendToContainer(StringSet &c, const String &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringList::push_back
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - StringList
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: appendToContainer
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - StringList::push_back
    linkageType: ''
    returnType: void
    signature: void appendToContainer(StringList &c, const String &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:111,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:112,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:113,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:113,1
    - Dst: ConfigQuery::toBeAdded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:115,1
    - Dst: appendToContainer
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:116,1
    - Dst: containerToString
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - query
    - length
    - config
    argTypes:
    - char*
    - int
    - ConfigQuery
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: getKeyQuery
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - containerToString
    - String::find_first_of
    - String::size
    - String::substr
    - appendToContainer
    - std::getline
    - ConfigQuery::toBeAdded
    linkageType: ''
    returnType: String
    signature: String getKeyQuery(const char *query, int length, const ConfigQuery
      &config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_not_of
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:126,1
    - Dst: String::erase
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ltrim
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 22
    functionsReached:
    - String::erase
    - String::find_first_not_of
    linkageType: ''
    returnType: void
    signature: void ltrim(String &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:136,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: nextDuplicate
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc nextDuplicate(TSMBuffer buffer, TSMLoc hdr, TSMLoc field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:154,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:158,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:161,1
    - Dst: Classifier::classify
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:163,1
    - Dst: nextDuplicate
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:169,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - c
    - buf
    - hdrs
    - classname
    argTypes:
    - Classifier
    - TSMBuffer
    - TSMLoc
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: classifyUserAgent
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - nextDuplicate
    - TSMimeHdrFieldValueStringGet
    - Classifier::classify
    linkageType: ''
    returnType: bool
    signature: bool classifyUserAgent(const Classifier &c, TSMBuffer buf, TSMLoc hdrs,
      String &classname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:181,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:183,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:184,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - url
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: getUri
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - TSfree
    - String::assign
    - TSUrlStringGet
    linkageType: ''
    returnType: String
    signature: String getUri(TSMBuffer buf, TSMLoc url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:198,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:200,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:202,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:208,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:210,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:212,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:217,1
    - Dst: APIHooks::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:218,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:222,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:226,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - buf
    - url
    - canonicalPrefix
    - provideDefaultKey
    argTypes:
    - TSMBuffer
    - TSMLoc
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 234
    functionName: getCanonicalUrl
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - TSUrlPortGet
    - String::assign
    - APIHooks::append
    - TSUrlHostGet
    - TSUrlSchemeGet
    linkageType: ''
    returnType: String
    signature: String getCanonicalUrl(TSMBuffer buf, TSMLoc url, bool canonicalPrefix,
      bool provideDefaultKey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:244,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:246,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:253,1
    - Dst: getCacheKeyKeyTypeName
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:253,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:257,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:259,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:262,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:262,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:266,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:266,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:270,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:272,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:277,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:278,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:279,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:282,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:282,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:284,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:285,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:286,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:289,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 5
    argNames:
    - txn
    - separator
    - uriType
    - keyType
    - rri
    argTypes:
    - TSHttpTxn
    - String
    - CacheKeyUriType
    - CacheKeyKeyType
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 293
    functionName: CacheKey::CacheKey
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 4
    functionsReached:
    - getUri
    - TSHttpHdrUrlGet
    - CacheKeyError
    - TSHandleMLocRelease
    - TSHttpTxnPristineUrlGet
    - CacheKeyDebug
    - reserve
    - TSHttpTxnClientReqGet
    - std::move
    - getCacheKeyKeyTypeName
    linkageType: ''
    returnType: void
    signature: void CacheKey::CacheKey(TSHttpTxn txn, String separator, CacheKeyUriType
      uriType, CacheKeyKeyType keyType, TSRemapRequestInfo *rri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:302,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:303,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:307,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:308,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: CacheKey::~CacheKey()
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void CacheKey::~CacheKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:322,1
    - Dst: APIHooks::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: CacheKey::append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 1
    functionsReached:
    - APIHooks::append
    - CacheKey::append
    linkageType: ''
    returnType: void
    signature: void CacheKey::append(unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:333,1
    - Dst: appendEncoded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:334,1
    - Dst: String::data
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:334,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: CacheKey::append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 2
    functionsReached:
    - String::data
    - String::size
    - appendEncoded
    - CacheKey::append
    linkageType: ''
    returnType: void
    signature: void CacheKey::append(const String &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:341,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - useSeparator
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: CacheKey::append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 3
    functionsReached:
    - CacheKey::append
    linkageType: ''
    returnType: void
    signature: void CacheKey::append(const String &s, bool useSeparator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:354,1
    - Dst: appendEncoded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:355,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: CacheKey::append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 4
    functionsReached:
    - strlen
    - appendEncoded
    - CacheKey::append
    linkageType: ''
    returnType: void
    signature: void CacheKey::append(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:366,1
    - Dst: appendEncoded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: CacheKey::append
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 5
    functionsReached:
    - appendEncoded
    - CacheKey::append
    linkageType: ''
    returnType: void
    signature: void CacheKey::append(const char *s, unsigned n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:389,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:391,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:392,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:392,1
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:395,1
    - Dst: Pattern::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:399,1
    - Dst: getCanonicalUrl
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:399,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:401,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:403,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:403,1
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:407,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:410,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:411,1
    - Dst: Pattern::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:413,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:415,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:417,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:417,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:424,1
    - Dst: getCanonicalUrl
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:424,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:425,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - prefix
    - prefixCapture
    - prefixCaptureUri
    - canonicalPrefix
    argTypes:
    - String
    - Pattern
    - Pattern
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 427
    functionName: CacheKey::appendPrefix
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - getUri
    - getCanonicalUrl
    - String::empty
    - CacheKeyDebug
    - c_str
    - Pattern::empty
    - CacheKey::append
    - Pattern::process
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendPrefix(const String &prefix, Pattern &prefixCapture,
      Pattern &prefixCaptureUri, bool canonicalPrefix)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:445,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:447,1
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:450,1
    - Dst: getUri
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:453,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:454,1
    - Dst: Pattern::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:456,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:458,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:460,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:460,1
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:465,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:469,1
    - Dst: Pattern::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:471,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:473,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:475,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:475,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:480,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pathCapture
    - pathCaptureUri
    argTypes:
    - Pattern
    - Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 483
    functionName: CacheKey::appendPath
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - getUri
    - TSUrlPathGet
    - String::empty
    - String::assign
    - CacheKeyDebug
    - c_str
    - Pattern::empty
    - CacheKey::append
    - Pattern::process
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendPath(Pattern &pathCapture, Pattern &pathCaptureUri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:492,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:492,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:492,1
    - Dst: nextDuplicate
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:493,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:496,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:499,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:501,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:501,1
    - Dst: fun
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - name
    - config
    - dst
    argTypes:
    - String
    - ConfigHeaders
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 486
    functionDepth: 5
    functionLinenumber: 486
    functionLinenumberEnd: 509
    functionName: CacheKey::processHeader
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - nextDuplicate
    - TSMimeHdrFieldValueStringGet
    - CacheKeyDebug
    - String::c_str
    - fun
    - String::size
    linkageType: ''
    returnType: void
    signature: "void CacheKey::processHeader(const String &name, const ConfigHeaders
      &config, T &dst,\n                        void (*fun)(const ConfigHeaders &config,
      const String &name_s, const String &value_s, T &captures))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:515,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:515,1
    - Dst: ConfigHeaders::toBeAdded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:516,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:518,1
    - Dst: T::insert
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:519,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:520,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:520,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:520,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:522,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - config
    - name
    - value
    - captures
    argTypes:
    - ConfigHeaders
    - String
    - String
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: captureWholeHeaders
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - ConfigHeaders::toBeAdded
    - T::insert
    - CacheKeyDebug
    - String::c_str
    - String::append
    linkageType: ''
    returnType: void
    signature: void captureWholeHeaders(const ConfigHeaders &config, const String
      &name, const String &value, T &captures)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:530,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:530,1
    - Dst: ConfigHeaders::getCaptures
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:531,1
    - Dst: ConfigHeaders::getCaptures
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:532,1
    - Dst: auto::second::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:533,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:534,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:534,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:536,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - config
    - name
    - value
    - captures
    argTypes:
    - ConfigHeaders
    - String
    - String
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: captureFromHeaders
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - CacheKeyDebug
    - ConfigHeaders::getCaptures
    - auto::second::process
    - String::c_str
    linkageType: ''
    returnType: void
    signature: void captureFromHeaders(const ConfigHeaders &config, const String &name,
      const String &value, T &captures)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConfigHeaders::toBeRemoved
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:548,1
    - Dst: ConfigHeaders::toBeSkipped
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:548,1
    - Dst: ConfigHeaders::getInclude
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:555,1
    - Dst: ConfigHeaders::getInclude
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:555,1
    - Dst: CacheKey::processHeader
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:556,1
    - Dst: containerToString
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:560,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:561,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:562,1
    - Dst: ConfigHeaders::getCaptures
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:566,1
    - Dst: ConfigHeaders::getCaptures
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:569,1
    - Dst: ConfigHeaders::getCaptures
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:569,1
    - Dst: CacheKey::processHeader
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:570,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConfigHeaders
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 578
    functionName: CacheKey::appendHeaders
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - containerToString
    - ConfigHeaders::getCaptures
    - ConfigHeaders::toBeSkipped
    - CacheKey::processHeader
    - String::empty
    - ConfigHeaders::toBeRemoved
    - CacheKey::append
    - ConfigHeaders::getInclude
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendHeaders(const ConfigHeaders &config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConfigCookies::toBeRemoved
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:588,1
    - Dst: ConfigCookies::toBeSkipped
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:588,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:596,1
    - Dst: nextDuplicate
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:597,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:598,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:604,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:612,1
    - Dst: ext::details::ltrim
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:613,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:615,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:616,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:616,1
    - Dst: ConfigCookies::toBeAdded
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:619,1
    - Dst: StringSet::insert
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:620,1
    - Dst: containerToString
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:628,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:629,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConfigCookies
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 632
    functionName: CacheKey::appendCookies
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - ConfigCookies::toBeSkipped
    - containerToString
    - TSMimeHdrFieldValuesCount
    - String::find_first_of
    - ConfigCookies::toBeAdded
    - nextDuplicate
    - TSMimeHdrFieldValueStringGet
    - ext::details::ltrim
    - String::empty
    - String::substr
    - StringSet::insert
    - CacheKey::append
    - std::getline
    - String::size
    - ConfigCookies::toBeRemoved
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendCookies(const ConfigCookies &config)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ConfigQuery::toBeRemoved
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:643,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:650,1
    - Dst: ConfigQuery::toBeSkipped
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:656,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:657,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:658,1
    - Dst: ConfigQuery::toBeSorted
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:665,1
    - Dst: getKeyQuery
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:666,1
    - Dst: getKeyQuery
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:668,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:671,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConfigQuery
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 674
    functionName: CacheKey::appendQuery
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - ConfigQuery::toBeSkipped
    - getKeyQuery
    - ConfigQuery::toBeRemoved
    - String::empty
    - CacheKey::append
    - ConfigQuery::toBeSorted
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendQuery(const ConfigQuery &config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:687,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:695,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:697,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:705,1
    - Dst: Pattern::process
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:710,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:712,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - config
    argTypes:
    - Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 684
    functionDepth: 5
    functionLinenumber: 684
    functionLinenumberEnd: 718
    functionName: CacheKey::appendUaCaptures
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - CacheKeyDebug
    - Pattern::empty
    - CacheKey::append
    - Pattern::process
    linkageType: ''
    returnType: void
    signature: void CacheKey::appendUaCaptures(Pattern &config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: classifyUserAgent
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:730,1
    - Dst: CacheKey::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - classifier
    argTypes:
    - Classifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 6
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: CacheKey::appendUaClass
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - classifyUserAgent
    - CacheKey::append
    linkageType: ''
    returnType: bool
    signature: bool CacheKey::appendUaClass(Classifier &classifier)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:751,1
    - Dst: getCacheKeyKeyTypeName
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:751,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:751,1
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:755,1
    - Dst: size
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:755,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:757,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:762,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:767,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:773,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:774,1
    - Dst: length
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:774,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:776,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:777,1
    - Dst: TSHttpTxnParentSelectionUrlSet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:778,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:779,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:782,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:785,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:787,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:789,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:793,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:800,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:800,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:800,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:800,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:803,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:805,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:806,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:808,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:808,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:808,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/cachekey.cc:808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 745
    functionDepth: 5
    functionLinenumber: 745
    functionLinenumberEnd: 811
    functionName: CacheKey::finalize
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSfree
    - CacheKeyError
    - TSHandleMLocRelease
    - TSHttpTxnParentSelectionUrlSet
    - TSCacheUrlSet
    - String::assign
    - length
    - String::length
    - TSHttpTxnEffectiveUrlStringGet
    - CacheKeyDebug
    - c_str
    - String::c_str
    - TSUrlParse
    - getCacheKeyKeyTypeName
    - size
    - TSUrlCreate
    - String::append
    linkageType: ''
    returnType: bool
    signature: bool CacheKey::finalize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:30,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:35,1
    - Dst: String::replace
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - from
    - to
    argTypes:
    - String
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: replaceString
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 1
    functionsReached:
    - String::length
    - String::empty
    - String::replace
    - String::find
    linkageType: ''
    returnType: void
    signature: void replaceString(String &str, const String &from, const String &to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Pattern::Pattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pattern::Pattern()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:52,1
    - Dst: assign
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:54,1
    - Dst: assign
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:55,1
    - Dst: Pattern::compile
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:60,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:61,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:61,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:61,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pattern
    - replacement
    - replace
    argTypes:
    - String
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 1
    functionsReached:
    - Pattern::compile
    - Pattern::pcreFree
    - CacheKeyDebug
    - String::c_str
    - assign
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &pattern, const String &replacement,
      bool replace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:88,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:92,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:95,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:95,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:102,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:106,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:109,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:109,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:114,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:115,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:117,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - config
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 124
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 2
    functionsReached:
    - CacheKeyError
    - String::find_first_of
    - replaceString
    - Pattern::init
    - String::substr
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: Pattern::empty
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 8
    functionsReached:
    - Pattern::empty
    linkageType: ''
    returnType: bool
    signature: bool Pattern::empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:143,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Pattern::pcreFree
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 4
    functionsReached:
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void Pattern::pcreFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: Pattern::~Pattern()
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached:
    - Pattern::pcreFree
    linkageType: ''
    returnType: void
    signature: void Pattern::~Pattern()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::replace
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:175,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:176,1
    - Dst: Pattern::capture
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:183,1
    - Dst: StringVector::size
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:184,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:185,1
    - Dst: StringVector::begin
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:187,1
    - Dst: StringVector::end
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:188,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: Pattern::process
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 3
    functionsReached:
    - StringVector::size
    - StringVector::end
    - StringVector::begin
    - Pattern::replace
    - StringVector::push_back
    - Pattern::capture
    linkageType: ''
    returnType: bool
    signature: bool Pattern::process(const String &subject, StringVector &result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:209,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:209,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:209,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:215,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:215,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:215,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: Pattern::match
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 1
    functionsReached:
    - CacheKeyError
    - String::length
    - pcre_exec
    - CacheKeyDebug
    - c_str
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::match(const String &subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:237,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:237,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:237,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:240,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:244,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:244,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:244,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:247,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:258,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:258,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: Pattern::capture
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 2
    functionsReached:
    - CacheKeyError
    - StringVector::push_back
    - String::length
    - pcre_exec
    - CacheKeyDebug
    - c_str
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::capture(const String &subject, StringVector &result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:277,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:277,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:277,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:277,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:280,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:284,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:284,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:284,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:287,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:295,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:315,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:315,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:315,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:317,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:318,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:323,1
    - Dst: length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:323,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:325,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:325,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 328
    functionName: Pattern::replace
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 3
    functionsReached:
    - CacheKeyError
    - length
    - String::length
    - pcre_exec
    - CacheKeyDebug
    - c_str
    - String::c_str
    - String::append
    linkageType: ''
    returnType: bool
    signature: bool Pattern::replace(const String &subject, String &result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:340,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:340,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:341,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:343,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:343,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:350,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:350,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:355,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:358,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:358,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:360,1
    - Dst: length
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:373,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:376,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:376,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:381,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:381,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:398,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 402
    functionName: Pattern::compile
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 2
    functionsReached:
    - CacheKeyError
    - pcre_study
    - length
    - Pattern::pcreFree
    - CacheKeyDebug
    - c_str
    - pcre_compile
    - pcre_free
    linkageType: ''
    returnType: bool
    signature: bool Pattern::compile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: MultiPattern::~MultiPattern()
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern::~MultiPattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::empty
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: MultiPattern::empty
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 2
    functionsReached:
    - MultiPattern::empty
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::_list::push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:428,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::unique_ptr<Pattern>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: MultiPattern::add
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached:
    - std::move
    - MultiPattern::_list::push_back
    linkageType: ''
    returnType: void
    signature: void MultiPattern::add(std::unique_ptr<Pattern> pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: MultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 2
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::match(const String &subject) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: '&

      MultiPattern::name() const'
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      MultiPattern::name() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::process
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: MultiPattern::process
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 1
    functionsReached:
    - MultiPattern::process
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::process(const String &subject, StringVector &result)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: Classifier::~Classifier()
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier::~Classifier()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Classifier::empty
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:485,1
    - Dst: match
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:487,1
    - Dst: name
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - subject
    - name
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: Classifier::classify
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 1
    functionsReached:
    - Classifier::empty
    - name
    - match
    linkageType: ''
    returnType: bool
    signature: bool Classifier::classify(const String &subject, String &name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:505,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/pattern.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::unique_ptr<MultiPattern>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: Classifier::add
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Classifier::add(std::unique_ptr<MultiPattern> pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/plugins/cachekey/configs.cc:39,1
    - Dst: ContainerType::insert
      Src: /src/trafficserver/plugins/cachekey/configs.cc:40,1
    - Dst: ContainerType::end
      Src: /src/trafficserver/plugins/cachekey/configs.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - input
    argTypes:
    - ContainerType
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: commaSeparateString
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - std::getline
    - ContainerType::end
    - ContainerType::insert
    linkageType: ''
    returnType: void
    signature: void commaSeparateString(ContainerType &c, const String &input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:47,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:47,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: isTrue
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 1
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool isTrue(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::commaSeparateString<StringSet>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ConfigElements::setExclude
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - ::commaSeparateString<StringSet>
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setExclude(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::commaSeparateString<StringSet>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ConfigElements::setInclude
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - ::commaSeparateString<StringSet>
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setInclude(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Pattern>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:65,1
    - Dst: auto::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:66,1
    - Dst: MultiPattern::add
      Src: /src/trafficserver/plugins/cachekey/configs.cc:67,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/configs.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - multiPattern
    - arg
    argTypes:
    - MultiPattern
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: setPattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::init
    - MultiPattern::add
    - std::make_unique<Pattern>
    linkageType: ''
    returnType: void
    signature: void setPattern(MultiPattern &multiPattern, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/cachekey/configs.cc:74,1
    - Dst: end
      Src: /src/trafficserver/plugins/cachekey/configs.cc:75,1
    - Dst: MultiPattern::MultiPattern
      Src: /src/trafficserver/plugins/cachekey/configs.cc:76,1
    - Dst: setPattern
      Src: /src/trafficserver/plugins/cachekey/configs.cc:83,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:83,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:84,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:84,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - pattern
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: ConfigElements::setCapture
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - find
    - MultiPattern::MultiPattern
    - end
    - CacheKeyDebug
    - String::c_str
    - setPattern
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::setCapture(const String &name, const String &pattern)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StringView::find_first_of
      Src: /src/trafficserver/plugins/cachekey/configs.cc:92,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/cachekey/configs.cc:94,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:95,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/cachekey/configs.cc:96,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:97,1
    - Dst: ConfigElements::setCapture
      Src: /src/trafficserver/plugins/cachekey/configs.cc:98,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:99,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:102,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:105,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: ConfigElements::addCapture
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - String::empty
    - ConfigElements::setCapture
    - StringView::substr
    - StringView::find_first_of
    linkageType: ''
    returnType: void
    signature: void ConfigElements::addCapture(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPattern
      Src: /src/trafficserver/plugins/cachekey/configs.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ConfigElements::setExcludePatterns
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - setPattern
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setExcludePatterns(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPattern
      Src: /src/trafficserver/plugins/cachekey/configs.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: ConfigElements::setIncludePatterns
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - setPattern
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setIncludePatterns(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isTrue
      Src: /src/trafficserver/plugins/cachekey/configs.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ConfigElements::setSort
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - isTrue
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setSort(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isTrue
      Src: /src/trafficserver/plugins/cachekey/configs.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ConfigElements::setRemove
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - isTrue
    linkageType: ''
    returnType: void
    signature: void ConfigElements::setRemove(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: ConfigElements::toBeRemoved
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::toBeRemoved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ConfigElements::toBeSkipped
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::toBeSkipped() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ConfigElements::toBeSorted
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::toBeSorted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:158,1
    - Dst: find
      Src: /src/trafficserver/plugins/cachekey/configs.cc:158,1
    - Dst: end
      Src: /src/trafficserver/plugins/cachekey/configs.cc:158,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:159,1
    - Dst: match
      Src: /src/trafficserver/plugins/cachekey/configs.cc:159,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:160,1
    - Dst: name
      Src: /src/trafficserver/plugins/cachekey/configs.cc:160,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:160,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:164,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:164,1
    - Dst: find
      Src: /src/trafficserver/plugins/cachekey/configs.cc:164,1
    - Dst: end
      Src: /src/trafficserver/plugins/cachekey/configs.cc:164,1
    - Dst: match
      Src: /src/trafficserver/plugins/cachekey/configs.cc:164,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:165,1
    - Dst: name
      Src: /src/trafficserver/plugins/cachekey/configs.cc:165,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:165,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:168,1
    - Dst: name
      Src: /src/trafficserver/plugins/cachekey/configs.cc:168,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:168,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:172,1
    - Dst: name
      Src: /src/trafficserver/plugins/cachekey/configs.cc:172,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - element
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: ConfigElements::toBeAdded
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - match
    - find
    - end
    - CacheKeyDebug
    - name
    - String::c_str
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::toBeAdded(const String &element) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:179,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:179,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:179,1
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: ConfigElements::noIncludeExcludeRules
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ConfigElements::noIncludeExcludeRules() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: ConfigElements::~ConfigElements()
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigElements::~ConfigElements()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noIncludeExcludeRules
      Src: /src/trafficserver/plugins/cachekey/configs.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: ConfigQuery::finalize
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - noIncludeExcludeRules
    linkageType: ''
    returnType: bool
    signature: bool ConfigQuery::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: '&

      ConfigQuery::name() const'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      ConfigQuery::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noIncludeExcludeRules
      Src: /src/trafficserver/plugins/cachekey/configs.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: ConfigHeaders::finalize
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - noIncludeExcludeRules
    linkageType: ''
    returnType: bool
    signature: bool ConfigHeaders::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: '&

      ConfigHeaders::name() const'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      ConfigHeaders::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noIncludeExcludeRules
      Src: /src/trafficserver/plugins/cachekey/configs.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: ConfigCookies::finalize
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - noIncludeExcludeRules
    linkageType: ''
    returnType: bool
    signature: bool ConfigCookies::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '&

      ConfigCookies::name() const'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      ConfigCookies::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: '&

      ConfigHeaders::getInclude() const'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringSet
    signature: 'StringSet &

      ConfigHeaders::getInclude() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:265,1
    - Dst: String
      Src: /src/trafficserver/plugins/cachekey/configs.cc:269,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/cachekey/configs.cc:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: makeConfigPath
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 3
    functionsReached:
    - String::empty
    - String
    - TSConfigDirGet
    linkageType: ''
    returnType: String
    signature: String makeConfigPath(const String &path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: String::find
      Src: /src/trafficserver/plugins/cachekey/configs.cc:283,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:285,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:292,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:292,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:293,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/cachekey/configs.cc:304,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:304,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:306,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:306,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:306,1
    - Dst: std::make_unique<NonMatchingMultiPattern>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:312,1
    - Dst: std::make_unique<MultiPattern>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:314,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:317,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:317,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:321,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:321,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:321,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/cachekey/configs.cc:323,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/cachekey/configs.cc:329,1
    - Dst: String::resize
      Src: /src/trafficserver/plugins/cachekey/configs.cc:331,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:334,1
    - Dst: std::make_unique<Pattern>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:338,1
    - Dst: auto::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:340,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:342,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:342,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:342,1
    - Dst: std::unique_ptr::add
      Src: /src/trafficserver/plugins/cachekey/configs.cc:343,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/configs.cc:343,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:345,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:345,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:345,1
    - Dst: std::unique_ptr::add
      Src: /src/trafficserver/plugins/cachekey/configs.cc:346,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/configs.cc:346,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:349,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:349,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:349,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/cachekey/configs.cc:353,1
    - Dst: std::unique_ptr::empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:355,1
    - Dst: add
      Src: /src/trafficserver/plugins/cachekey/configs.cc:356,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/cachekey/configs.cc:356,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - args
    - denylist
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 360
    functionName: Configs::loadClassifiers
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - std::make_unique<MultiPattern>
    - String::find_first_of
    - std::ifstream::close
    - add
    - String::empty
    - auto::init
    - std::ifstream::open
    - String::find
    - std::make_unique<Pattern>
    - std::move
    - CacheKeyDebug
    - String::resize
    - std::unique_ptr::empty
    - String::c_str
    - std::getline
    - std::make_unique<NonMatchingMultiPattern>
    - std::unique_ptr::add
    linkageType: ''
    returnType: bool
    signature: bool Configs::loadClassifiers(const String &args, bool denylist)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:373,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:374,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:375,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:376,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:377,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:378,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:379,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:380,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:381,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:382,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:383,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:384,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:385,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:386,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:387,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:388,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:389,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:390,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:391,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:392,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:393,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:394,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:395,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/cachekey/configs.cc:411,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:411,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:416,1
    - Dst: setExclude
      Src: /src/trafficserver/plugins/cachekey/configs.cc:420,1
    - Dst: setInclude
      Src: /src/trafficserver/plugins/cachekey/configs.cc:423,1
    - Dst: setIncludePatterns
      Src: /src/trafficserver/plugins/cachekey/configs.cc:426,1
    - Dst: setExcludePatterns
      Src: /src/trafficserver/plugins/cachekey/configs.cc:429,1
    - Dst: setSort
      Src: /src/trafficserver/plugins/cachekey/configs.cc:432,1
    - Dst: setRemove
      Src: /src/trafficserver/plugins/cachekey/configs.cc:435,1
    - Dst: setInclude
      Src: /src/trafficserver/plugins/cachekey/configs.cc:438,1
    - Dst: setInclude
      Src: /src/trafficserver/plugins/cachekey/configs.cc:441,1
    - Dst: Configs::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:444,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:445,1
    - Dst: Configs::loadClassifiers
      Src: /src/trafficserver/plugins/cachekey/configs.cc:450,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:451,1
    - Dst: Configs::loadClassifiers
      Src: /src/trafficserver/plugins/cachekey/configs.cc:456,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:457,1
    - Dst: assign
      Src: /src/trafficserver/plugins/cachekey/configs.cc:462,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:463,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:463,1
    - Dst: Configs::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:466,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:467,1
    - Dst: Configs::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:472,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:473,1
    - Dst: Configs::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:478,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:479,1
    - Dst: Configs::init
      Src: /src/trafficserver/plugins/cachekey/configs.cc:484,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:485,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/cachekey/configs.cc:490,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/cachekey/configs.cc:493,1
    - Dst: Configs::setSeparator
      Src: /src/trafficserver/plugins/cachekey/configs.cc:496,1
    - Dst: Configs::setUriType
      Src: /src/trafficserver/plugins/cachekey/configs.cc:499,1
    - Dst: Configs::setKeyType
      Src: /src/trafficserver/plugins/cachekey/configs.cc:502,1
    - Dst: addCapture
      Src: /src/trafficserver/plugins/cachekey/configs.cc:505,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/cachekey/configs.cc:508,1
    - Dst: Configs::finalize
      Src: /src/trafficserver/plugins/cachekey/configs.cc:513,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 3
    argNames:
    - argc
    - argv
    - perRemapConfig
    argTypes:
    - int
    - char*[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 516
    functionName: Configs::init
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 1
    functionsReached:
    - setExclude
    - CacheKeyError
    - setInclude
    - CacheKeyDebug
    - Configs::finalize
    - assign
    - Configs::init
    - Configs::setSeparator
    - setRemove
    - const_cast<char *const *>
    - Configs::loadClassifiers
    - Configs::setKeyType
    - Configs::setUriType
    - getopt_long
    - addCapture
    - setExcludePatterns
    - const_cast<char *>
    - setSort
    - c_str
    - setIncludePatterns
    - isTrue
    linkageType: ''
    returnType: bool
    signature: bool Configs::init(int argc, const char *argv[], bool perRemapConfig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/cachekey/configs.cc:526,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:527,1
    - Dst: Configs::finalize
      Src: /src/trafficserver/plugins/cachekey/configs.cc:530,1
    - Dst: Configs::finalize
      Src: /src/trafficserver/plugins/cachekey/configs.cc:530,1
    - Dst: Configs::finalize
      Src: /src/trafficserver/plugins/cachekey/configs.cc:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: Configs::finalize
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 2
    functionsReached:
    - empty
    - CacheKeyDebug
    - Configs::finalize
    linkageType: ''
    returnType: bool
    signature: bool Configs::finalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: Configs::prefixToBeRemoved
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Configs::prefixToBeRemoved()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: Configs::pathToBeRemoved
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Configs::pathToBeRemoved()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: Configs::canonicalPrefix
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Configs::canonicalPrefix()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/cachekey/configs.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: Configs::setSeparator
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 1
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void Configs::setSeparator(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: '&

      Configs::getSeparator()'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      Configs::getSeparator()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/cachekey/configs.cc:569,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:569,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:571,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/cachekey/configs.cc:572,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:572,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:574,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:576,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: Configs::setUriType
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 1
    functionsReached:
    - CacheKeyError
    - CacheKeyDebug
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void Configs::setUriType(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::commaSeparateString<StringVector>
      Src: /src/trafficserver/plugins/cachekey/configs.cc:588,1
    - Dst: length
      Src: /src/trafficserver/plugins/cachekey/configs.cc:591,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:591,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:591,1
    - Dst: insert
      Src: /src/trafficserver/plugins/cachekey/configs.cc:592,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:593,1
    - Dst: length
      Src: /src/trafficserver/plugins/cachekey/configs.cc:594,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/cachekey/configs.cc:594,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/cachekey/configs.cc:594,1
    - Dst: insert
      Src: /src/trafficserver/plugins/cachekey/configs.cc:595,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/configs.cc:596,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:598,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/configs.cc:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 604
    functionName: Configs::setKeyType
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 1
    functionsReached:
    - CacheKeyError
    - strncasecmp
    - insert
    - length
    - ::commaSeparateString<StringVector>
    - c_str
    - CacheKeyDebug
    linkageType: ''
    returnType: void
    signature: void Configs::setKeyType(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: Configs::getUriType
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheKeyUriType
    signature: CacheKeyUriType Configs::getUriType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: '&

      Configs::getKeyType()'
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheKeyKeyTypeSet
    signature: 'CacheKeyKeyTypeSet &

      Configs::getKeyType()'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - CacheKeyUriType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: getCacheKeyUriTypeName
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getCacheKeyUriTypeName(CacheKeyUriType type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - CacheKeyKeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: getCacheKeyKeyTypeName
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getCacheKeyKeyTypeName(CacheKeyKeyType type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ConfigElements::ConfigElements
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigElements()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: "&\n  getCaptures() const"
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto &\n  getCaptures() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Configs::Configs
    functionSourceFile: /src/trafficserver/plugins/cachekey/configs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Configs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: MultiPattern::MultiPattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern(const String &name = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: MultiPattern::MultiPattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern(const MultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '&operator=(const MultiPattern &)'
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MultiPattern
    signature: MultiPattern &operator=(const MultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: NonMatchingMultiPattern::NonMatchingMultiPattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonMatchingMultiPattern(const String &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/cachekey/pattern.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: NonMatchingMultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool match(const String &subject) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: NonMatchingMultiPattern::NonMatchingMultiPattern
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonMatchingMultiPattern(const NonMatchingMultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '&operator=(const NonMatchingMultiPattern &)'
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonMatchingMultiPattern
    signature: NonMatchingMultiPattern &operator=(const NonMatchingMultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Classifier::Classifier
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Classifier::Classifier
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier(const Classifier &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '&operator=(const Classifier &)'
    functionSourceFile: /src/trafficserver/plugins/cachekey/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classifier
    signature: Classifier &operator=(const Classifier &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/cachekey/common.cc:33,1
    - Dst: vfprintf
      Src: /src/trafficserver/plugins/cachekey/common.cc:34,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/cachekey/common.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/plugins/cachekey/common.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CacheKeyDebug
    functionSourceFile: /src/trafficserver/plugins/cachekey/common.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CacheKeyDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: CacheKeyError
    functionSourceFile: /src/trafficserver/plugins/cachekey/common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CacheKeyError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: CacheKeyDebug
    functionSourceFile: /src/trafficserver/plugins/cachekey/common.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CacheKeyDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: CacheKeyError
    functionSourceFile: /src/trafficserver/plugins/cachekey/common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CacheKeyError(fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Configs*::getKeyType
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:41,1
    - Dst: Configs*::getSeparator
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:45,1
    - Dst: Configs*::getUriType
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:45,1
    - Dst: CacheKey::isValid
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:48,1
    - Dst: Configs*::prefixToBeRemoved
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:53,1
    - Dst: CacheKey::appendPrefix
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:54,1
    - Dst: Configs*::canonicalPrefix
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:54,1
    - Dst: CacheKey::appendUaClass
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:57,1
    - Dst: CacheKey::appendUaCaptures
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:60,1
    - Dst: CacheKey::appendHeaders
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:63,1
    - Dst: CacheKey::appendCookies
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:66,1
    - Dst: Configs*::pathToBeRemoved
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:69,1
    - Dst: CacheKey::appendPath
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:70,1
    - Dst: CacheKey::appendQuery
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:73,1
    - Dst: CacheKey::finalize
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - txn
    - config
    argTypes:
    - TSHttpTxn
    - Configs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: setCacheKey
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - Configs*::getUriType
    - Configs*::getSeparator
    - CacheKey::appendHeaders
    - CacheKey::appendPrefix
    - Configs*::getKeyType
    - Configs*::prefixToBeRemoved
    - CacheKey::appendUaCaptures
    - CacheKey::finalize
    - CacheKey::appendUaClass
    - CacheKey::isValid
    - CacheKey::appendCookies
    - CacheKey::appendPath
    - Configs*::canonicalPrefix
    - CacheKey::appendQuery
    - Configs*::pathToBeRemoved
    linkageType: ''
    returnType: void
    signature: void setCacheKey(TSHttpTxn txn, Configs *config, TSRemapRequestInfo
      *rri = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:83,1
    - Dst: setCacheKey
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:85,1
    - Dst: get
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:85,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 8
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: contSetCachekey
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - setCacheKey
    - get
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int contSetCachekey(TSCont /* contp ATS_UNUSED */, TSEvent /* event
      ATS_UNUSED */, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:107,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:108,1
    - Dst: std::make_unique<Configs>
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:111,1
    - Dst: init
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:112,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:113,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:114,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:116,1
    - Dst: reset
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:118,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - CacheKeyError
    - TSHttpHookAdd
    - reset
    - CacheKeyDebug
    - TSContCreate
    - init
    - std::make_unique<Configs>
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* apiInfo ATS_UNUSED */,
      char * /* errBuf ATS_UNUSED */, int /* erroBufSize ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Configs::Configs
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:151,1
    - Dst: Configs*::init
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:152,1
    - Dst: const_cast<const char **>
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:152,1
    - Dst: CacheKeyError
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:155,1
    - Dst: CacheKeyDebug
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - Configs::Configs
    - const_cast<const char **>
    - CacheKeyError
    - CacheKeyDebug
    - Configs*::init
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* errBuf ATS_UNUSED */, int /* errBufSize ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Configs *>
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<Configs *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Configs *>
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:188,1
    - Dst: setCacheKey
      Src: /src/trafficserver/plugins/cachekey/plugin.cc:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - txn
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/cachekey/plugin.cc
    functionUses: 0
    functionsReached:
    - setCacheKey
    - static_cast<Configs *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txn, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: CacheKey::isValid
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: CacheKey::CacheKey
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheKey(const CacheKey &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&operator=(const CacheKey &)'
    functionSourceFile: /src/trafficserver/plugins/cachekey/cachekey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheKey
    signature: CacheKey &operator=(const CacheKey &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: String
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:34,1
    - Dst: Pattern::Pattern
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:44,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:45,1
    - Dst: Pattern::match
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:47,1
    - Dst: Pattern::capture
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:53,1
    - Dst: StringVector::begin
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:54,1
    - Dst: StringVector::end
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:54,1
    - Dst: Pattern::replace
      Src: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/cachekey/tests/pattern_test.cc
    functionUses: 6
    functionsReached:
    - StringVector::end
    - String
    - StringVector::begin
    - Pattern::match
    - Pattern::init
    - Pattern::Pattern
    - Pattern::replace
    - Pattern::capture
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: AuthLogDebug
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AuthLogDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AuthLogError
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AuthLogError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/authproxy/utils.h:36,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/authproxy/utils.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: AuthNew
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - T::T
    - TSmalloc
    linkageType: ''
    returnType: T
    signature: 'T *

      AuthNew()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/plugins/authproxy/utils.h:43,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/authproxy/utils.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: AuthDelete
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - TSfree
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void AuthDelete(T *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/authproxy/utils.h:52,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/authproxy/utils.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: HttpIoBuffer
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void HttpIoBuffer(TSIOBufferSizeIndex size = TS_IOBUFFER_SIZE_INDEX_32K)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/authproxy/utils.h:58,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/authproxy/utils.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ~HttpIoBuffer()
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~HttpIoBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/authproxy/utils.h:65,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/authproxy/utils.h:66,1
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/authproxy/utils.h:67,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/authproxy/utils.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: reset
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 163
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferSizedCreate
    - TSIOBufferReaderAlloc
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void reset(TSIOBufferSizeIndex size = TS_IOBUFFER_SIZE_INDEX_32K)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/authproxy/utils.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: consume
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 61
    functionsReached:
    - TSIOBufferReaderConsume
    linkageType: ''
    returnType: void
    signature: void consume(size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: HttpIoBuffer
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpIoBuffer(const HttpIoBuffer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&operator=(const HttpIoBuffer &)'
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpIoBuffer
    signature: HttpIoBuffer &operator=(const HttpIoBuffer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/authproxy/utils.h:83,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/authproxy/utils.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: HttpHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 2
    functionsReached:
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/authproxy/utils.h:86,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.h:88,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/authproxy/utils.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: ~HttpHeader()
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ~HttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: HttpHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader(const HttpHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&operator=(const HttpHeader &)'
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpHeader
    signature: HttpHeader &operator=(const HttpHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/authproxy/utils.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ContainsPrefix
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.h
    functionUses: 0
    functionsReached:
    - strncasecmp
    - std::string::size
    - std::string::data
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool ContainsPrefix(const std::string_view str, const std::string &prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/authproxy/utils.cc:42,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/authproxy/utils.cc:44,1
    - Dst: TSIOBufferBlockReadAvail
      Src: /src/trafficserver/plugins/authproxy/utils.cc:45,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/authproxy/utils.cc:46,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/utils.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mbuf
    - mhdr
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: HttpDebugHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockReadAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrPrint
    - AuthLogDebug
    linkageType: ''
    returnType: void
    signature: void HttpDebugHeader(TSMBuffer mbuf, TSMLoc mhdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/authproxy/utils.cc:56,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:58,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/authproxy/utils.cc:58,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:60,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/plugins/authproxy/utils.cc:60,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:63,1
    - Dst: TSMimeHdrFieldValueUintInsert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:63,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:64,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/authproxy/utils.cc:64,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mbuf
    - mhdr
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: HttpSetMimeHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValuesClear
    - TSMimeHdrFieldValueUintInsert
    - TSReleaseAssert
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    linkageType: ''
    returnType: void
    signature: void HttpSetMimeHeader(TSMBuffer mbuf, TSMLoc mhdr, const char *name,
      unsigned value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/authproxy/utils.cc:74,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:76,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/authproxy/utils.cc:76,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:78,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/plugins/authproxy/utils.cc:78,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:81,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:81,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:82,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/authproxy/utils.cc:82,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mbuf
    - mhdr
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: HttpSetMimeHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValuesClear
    - TSReleaseAssert
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void HttpSetMimeHeader(TSMBuffer mbuf, TSMLoc mhdr, const char *name,
      const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/authproxy/utils.cc:91,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/authproxy/utils.cc:91,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/authproxy/utils.cc:91,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:93,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/authproxy/utils.cc:93,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/authproxy/utils.cc:93,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/authproxy/utils.cc:93,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:95,1
    - Dst: TSMimeHdrFieldValuesClear
      Src: /src/trafficserver/plugins/authproxy/utils.cc:95,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:98,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:98,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/authproxy/utils.cc:98,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/authproxy/utils.cc:98,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/utils.cc:99,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/authproxy/utils.cc:99,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mbuf
    - mhdr
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: HttpSetMimeHeader
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValuesClear
    - std::string_view::size
    - TSReleaseAssert
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - std::string_view::data
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void HttpSetMimeHeader(TSMBuffer mbuf, TSMLoc mhdr, const std::string_view
      name, const std::string_view value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/authproxy/utils.cc:110,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/authproxy/utils.cc:112,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mbuf
    - mhdr
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: HttpGetContentLength
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueUintGet
    linkageType: ''
    returnType: unsigned
    signature: unsigned HttpGetContentLength(TSMBuffer mbuf, TSMLoc mhdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/authproxy/utils.cc:125,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/authproxy/utils.cc:130,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/authproxy/utils.cc:132,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/utils.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - mbuf
    - mhdr
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: HttpIsChunkedEncoding
    functionSourceFile: /src/trafficserver/plugins/authproxy/utils.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - strncmp
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    linkageType: ''
    returnType: bool
    signature: bool HttpIsChunkedEncoding(TSMBuffer mbuf, TSMLoc mhdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: AuthOptions
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~AuthOptions()
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AuthOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: StateContinue
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateContinue(AuthRequestContext *, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:165,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:165,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:165,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: AuthRequestContext
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSMutexCreate
    - TSContCreate
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void AuthRequestContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:173,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:174,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:175,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: ~AuthRequestContext()
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSHttpParserDestroy
    - TSContDataSet
    - TSVConnClose
    linkageType: ''
    returnType: void
    signature: void ~AuthRequestContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AuthOptions *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:186,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: options
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 31
    functionsReached:
    - TSUserArgGet
    - static_cast<AuthOptions *>
    linkageType: ''
    returnType: AuthOptions
    signature: "AuthOptions *\n  options() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:198,1
    - Dst: AuthRequestContext::AuthRequestContext
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: AuthRequestContext::allocate
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSmalloc
    - AuthRequestContext::AuthRequestContext
    linkageType: ''
    returnType: AuthRequestContext
    signature: 'AuthRequestContext *

      AuthRequestContext::allocate()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthRequestContext*::~AuthRequestContext
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:206,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: AuthRequestContext::destroy
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - AuthRequestContext*::~AuthRequestContext
    linkageType: ''
    returnType: void
    signature: void AuthRequestContext::destroy(AuthRequestContext *auth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AuthRequestContext *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:214,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:214,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:225,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:226,1
    - Dst: StateTransition*::handler
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:231,1
    - Dst: AuthRequestContext::destroy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 251
    functionName: AuthRequestContext::dispatch
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - static_cast<AuthRequestContext *>
    - TSReleaseAssert
    - TSContDataGet
    - AuthRequestContext::destroy
    - StateTransition*::handler
    linkageType: ''
    returnType: int
    signature: int AuthRequestContext::dispatch(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:262,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:262,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:264,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: AuthRequestGetMethod
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: char
    signature: 'char *

      AuthRequestGetMethod(TSHttpTxn txn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:275,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:279,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: AuthChainAuthorizationResponse
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSVConnClose
    - TSHttpTxnReenable
    linkageType: ''
    returnType: void
    signature: void AuthChainAuthorizationResponse(AuthRequestContext *auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:291,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:291,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:294,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:294,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:297,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:297,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:299,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:300,1
    - Dst: HttpDebugHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:302,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:305,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 314
    functionName: AuthWriteHeadRequest
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrCopy
    - HttpDebugHeader
    - TSHandleMLocRelease
    - TSHttpHdrMethodSet
    - HttpSetMimeHeader
    - TSReleaseAssert
    - TSHttpHdrPrint
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: bool
    signature: bool AuthWriteHeadRequest(AuthRequestContext *auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:326,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:326,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:329,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:329,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:333,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:333,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:336,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:337,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:338,1
    - Dst: HttpDebugHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:340,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:343,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: AuthWriteRangeRequest
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrCopy
    - HttpDebugHeader
    - TSHandleMLocRelease
    - TSHttpHdrMethodSet
    - HttpSetMimeHeader
    - TSReleaseAssert
    - TSHttpHdrPrint
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: bool
    signature: bool AuthWriteRangeRequest(AuthRequestContext *auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AuthRequestContext*::options
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:358,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:365,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:365,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:368,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:368,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:372,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:372,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:378,1
    - Dst: AuthOptions*::hostname::c_str
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:378,1
    - Dst: AuthOptions*::hostname::size
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:378,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:380,1
    - Dst: AuthOptions*::hostname::c_str
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:380,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:381,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:383,1
    - Dst: AuthOptions*::hostname::c_str
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:383,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:386,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:388,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:389,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:390,1
    - Dst: HttpDebugHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:392,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:395,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:397,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 400
    functionName: AuthWriteRedirectedRequest
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - TSHttpHdrCopy
    - HttpDebugHeader
    - AuthRequestContext*::options
    - TSUrlPortSet
    - TSHandleMLocRelease
    - HttpSetMimeHeader
    - TSReleaseAssert
    - AuthOptions*::hostname::c_str
    - AuthOptions*::hostname::size
    - TSHttpTxnClientReqGet
    - snprintf
    - TSHttpHdrPrint
    - TSHttpHdrUrlGet
    linkageType: ''
    returnType: bool
    signature: bool AuthWriteRedirectedRequest(AuthRequestContext *auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthRequestContext*::options
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:405,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:406,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:408,1
    - Dst: AuthRequestGetMethod
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:410,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:411,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:413,1
    - Dst: AuthOptions*::transform
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:419,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:423,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 402
    functionDepth: 6
    functionLinenumber: 402
    functionLinenumberEnd: 425
    functionName: StateAuthProxyConnect
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthRequestContext*::options
    - TSIOBufferReaderAvail
    - AuthOptions*::transform
    - TSVConnWrite
    - TSReleaseAssert
    - TSHttpConnect
    - AuthLogDebug
    - AuthRequestGetMethod
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyConnect(AuthRequestContext *auth, void * /* edata
      ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HttpDebugHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:432,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:434,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:435,1
    - Dst: HttpIsChunkedEncoding
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:446,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:447,1
    - Dst: HttpGetContentLength
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:451,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:453,1
    - Dst: AuthChainAuthorizationResponse
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 6
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: StateAuthProxyCompleteHeaders
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - HttpDebugHeader
    - AuthLogDebug
    - HttpGetContentLength
    - TSHttpHdrStatusGet
    - HttpIsChunkedEncoding
    - AuthChainAuthorizationResponse
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyCompleteHeaders(AuthRequestContext *auth, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:477,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:477,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:479,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:479,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:481,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:482,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:482,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:484,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:484,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:484,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:484,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:490,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:493,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:495,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 464
    functionDepth: 6
    functionLinenumber: 464
    functionLinenumberEnd: 499
    functionName: StateAuthProxySendResponse
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrCopy
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrStatusGet
    - TSstrdup
    - TSHttpHdrReasonLookup
    - HttpSetMimeHeader
    - TSReleaseAssert
    - snprintf
    - strlen
    - AuthLogDebug
    - TSHttpTxnErrorBodySet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxySendResponse(AuthRequestContext *auth, void *
      /* edata ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:508,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:508,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:510,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:510,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:516,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:522,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:528,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:532,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:541,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:541,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 546
    functionName: StateAuthProxyReadHeaders
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - std::distance
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    - AuthLogDebug
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyReadHeaders(AuthRequestContext *auth, void *
      /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:551,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: StateAuthProxyWriteReady
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    - TSVConnWrite
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyWriteReady(AuthRequestContext *auth, void * /*
      edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthRequestContext*::iobuf::reset
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:559,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:561,1
    - Dst: max
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: StateAuthProxyWriteComplete
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - max
    - TSVConnRead
    - AuthRequestContext*::iobuf::reset
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyWriteComplete(AuthRequestContext *auth, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:574,1
    - Dst: HttpGetContentLength
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:575,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:577,1
    - Dst: AuthChainAuthorizationResponse
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 568
    functionDepth: 6
    functionLinenumber: 568
    functionLinenumberEnd: 586
    functionName: StateAuthProxyReadContent
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthChainAuthorizationResponse
    - TSIOBufferReaderAvail
    - AuthLogDebug
    - HttpGetContentLength
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyReadContent(AuthRequestContext *auth, void *
      /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:594,1
    - Dst: HttpGetContentLength
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:595,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:597,1
    - Dst: AuthChainAuthorizationResponse
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 588
    functionDepth: 6
    functionLinenumber: 588
    functionLinenumberEnd: 606
    functionName: StateAuthProxyCompleteContent
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthChainAuthorizationResponse
    - TSIOBufferReaderAvail
    - AuthLogDebug
    - HttpGetContentLength
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthProxyCompleteContent(AuthRequestContext *auth, void
      * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:614,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:615,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:615,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:615,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: StateUnauthorized
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSHttpTxnErrorBodySet
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateUnauthorized(AuthRequestContext *auth, void *)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AuthRequestContext*::options
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:625,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:627,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:632,1
    - Dst: AuthOptions*::forward_header_prefix::empty
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:635,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:642,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:642,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:643,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:644,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:650,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:650,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:652,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:652,1
    - Dst: ContainsPrefix
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:654,1
    - Dst: string_view
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:654,1
    - Dst: HttpSetMimeHeader
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:656,1
    - Dst: string_view
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:656,1
    - Dst: string_view
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:656,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:660,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:661,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthRequestContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 622
    functionDepth: 6
    functionLinenumber: 622
    functionLinenumberEnd: 669
    functionName: StateAuthorized
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthOptions*::forward_header_prefix::empty
    - AuthRequestContext*::options
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - string_view
    - TSMimeHdrFieldGet
    - const_cast<char *>
    - TSHttpTxnConfigIntSet
    - HttpSetMimeHeader
    - TSReleaseAssert
    - TSMimeHdrFieldNext
    - ContainsPrefix
    - TSHttpTxnClientReqGet
    - AuthLogDebug
    - TSMimeHdrFieldNameGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: TSEvent
    signature: TSEvent StateAuthorized(AuthRequestContext *auth, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: AuthRequestIsTagged
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    linkageType: ''
    returnType: bool
    signature: bool AuthRequestIsTagged(TSHttpTxn txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AuthOptions *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:683,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: CacheInternalRequests
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    - static_cast<AuthOptions *>
    linkageType: ''
    returnType: bool
    signature: bool CacheInternalRequests(TSHttpTxn txn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:690,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:692,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:697,1
    - Dst: CacheInternalRequests
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:705,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:706,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:707,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:708,1
    - Dst: AuthRequestIsTagged
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:713,1
    - Dst: AuthRequestContext::allocate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:714,1
    - Dst: AuthRequestContext::dispatch
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 687
    functionDepth: 4
    functionLinenumber: 687
    functionLinenumberEnd: 724
    functionName: AuthProxyGlobalHook
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthRequestContext::dispatch
    - AuthRequestIsTagged
    - TSHttpTxnIsInternal
    - CacheInternalRequests
    - AuthRequestContext::allocate
    - TSHttpTxnConfigIntSet
    - static_cast<TSHttpTxn>
    - AuthLogDebug
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int AuthProxyGlobalHook(TSCont /* cont ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:733,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:734,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:735,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:736,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:737,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:738,1
    - Dst: AuthNew
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:742,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:749,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:749,1
    - Dst: std::atoi
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:755,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:767,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:769,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:771,1
    - Dst: AuthLogError
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:774,1
    - Dst: AuthOptions*::hostname::empty
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:785,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 790
    functionName: AuthParseOptions
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthLogError
    - getopt_long
    - const_cast<char *>
    - AuthOptions*::hostname::empty
    - AuthNew
    - const_cast<char *const *>
    - strcasecmp
    - std::atoi
    linkageType: ''
    returnType: AuthOptions
    signature: 'AuthOptions *

      AuthParseOptions(int argc, const char **argv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:803,1
    - Dst: AuthLogError
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:804,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:807,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:807,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:810,1
    - Dst: AuthParseOptions
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:811,1
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:812,1
    - Dst: hostname::c_str
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:812,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 816
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthLogError
    - AuthParseOptions
    - TSUserArgIndexReserve
    - TSHttpHookAdd
    - TSReleaseAssert
    - TSContCreate
    - hostname::c_str
    - AuthLogDebug
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:821,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:821,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    - TSContCreate
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api ATS_UNUSED */, char
      * /* err ATS_UNUSED */, int /* errsz ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AuthLogDebug
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:833,1
    - Dst: AuthParseOptions
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 844
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthParseOptions
    - AuthLogDebug
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* err ATS_UNUSED */, int /* errsz ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AuthOptions *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:849,1
    - Dst: AuthDelete
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - AuthDelete
    - static_cast<AuthOptions *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AuthOptions *>
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:856,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:858,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/authproxy/authproxy.cc:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - instance
    - txn
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 862
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/authproxy/authproxy.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSUserArgSet
    - static_cast<AuthOptions *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txn, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::IO
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:40,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:42,1
    - Dst: empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:42,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:44,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:45,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:45,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:46,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:48,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:54,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - h
    - b
    - l
    argTypes:
    - std::string
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (!host.empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (b != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (io.get() != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (l != nullptr)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (length > 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (TSHttpHdrLengthGet(b, l) >= length)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: Request::Request
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 1
    functionsReached:
    - get
    - TSHttpHdrLengthGet
    - ats::io::IO::IO
    - TSIOBufferReaderAvail
    - TSHttpHdrPrint
    - empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Request::Request(const std::string &h, const TSMBuffer b, const
      TSMLoc l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:57,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:57,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:59,1
    - Dst: empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:59,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:60,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:61,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - Request
    assertStmts:
    - condition: (length > 0)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (!host.empty())
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (io.get() != nullptr)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Request::Request
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 1
    functionsReached:
    - get
    - empty
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void Request::Request(Request &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:69,1
    - Dst: const_cast<Request &>
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:69,1
    - Dst: release
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:70,1
    - Dst: empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:70,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:71,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:72,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:73,1
    - Dst: Request::io::get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - Request
    assertStmts:
    - condition: (!host.empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (length > 0)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (io.get() != nullptr)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (r.io.get() == nullptr)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: '&

      Request::operator=(const Request &r)'
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - get
    - release
    - Request::io::get
    - reset
    - const_cast<Request &>
    - empty
    - assert
    linkageType: ''
    returnType: Request
    signature: 'Request &

      Request::operator=(const Request &r)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:80,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:81,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:82,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:86,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:88,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:91,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - r
    - b
    argTypes:
    - TSIOBufferReader
    - TSIOBuffer
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (b != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: copy
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 89
    functionsReached:
    - TSIOBufferBlockNext
    - TSError
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t copy(const TSIOBufferReader &r, const TSIOBuffer b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:107,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:108,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:110,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:112,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:113,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:118,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:120,1
    - Dst: min
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:122,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - std::string
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (l >= 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (l >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 668
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    - min
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBufferReader &r, std::string &o, int64_t l
      = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:135,1
    - Dst: read
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:136,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - TSIOBuffer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 669
    functionsReached:
    - TSIOBufferReaderAlloc
    - read
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBuffer &b, std::string &o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:152,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:152,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:153,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - std::string
    assertStmts:
    - condition: (!u.empty())
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Handler::Handler
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - const_cast<std::string &>
    - std::string::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler(std::string u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:160,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:160,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: Handler::error
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    - c_str
    - TSError
    linkageType: ''
    returnType: void
    signature: void error()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:167,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:167,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: Handler::timeout
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    - c_str
    - TSError
    linkageType: ''
    returnType: void
    signature: void timeout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:174,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:175,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:176,1
    - Dst: read
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:179,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:179,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:179,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: Handler::header
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - read
    - Dbg
    - c_str
    - TSHttpHdrPrint
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void header(const TSMBuffer b, const TSMLoc l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:188,1
    - Dst: read
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:192,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: Handler::data
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - Dbg
    - read
    - 'on'
    linkageType: ''
    returnType: void
    signature: void data(const TSIOBufferReader r, const int64_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:201,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:203,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:204,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:204,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:204,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:209,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:210,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: Handler::done
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - Dbg
    - c_str
    - gettimeofday
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:218,1
    - Dst: Origins::empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:219,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:220,1
    - Dst: Origins::begin
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:222,1
    - Dst: Origins::end
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:223,1
    - Dst: OriginalRequest::urlScheme
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:226,1
    - Dst: OriginalRequest::urlHost
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:227,1
    - Dst: OriginalRequest::xMultiplexerHeader
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:228,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:232,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:232,1
    - Dst: OriginalRequest::hostHeader
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:233,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:234,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:234,1
    - Dst: Requests::push_back
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:235,1
    - Dst: Request
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - o
    - buffer
    - location
    - r
    argTypes:
    - Origins
    - TSMBuffer
    - TSMLoc
    - Requests
    assertStmts:
    - condition: (!o.empty())
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (location != nullptr)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (!host.empty())
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: generateRequests
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - Origins::begin
    - Request
    - Origins::empty
    - OriginalRequest::hostHeader
    - std::string::c_str
    - std::string::empty
    - OriginalRequest::urlScheme
    - Origins::end
    - OriginalRequest::xMultiplexerHeader
    - Dbg
    - Requests::push_back
    - OriginalRequest::urlHost
    - assert
    linkageType: ''
    returnType: void
    signature: void generateRequests(const Origins &o, const TSMBuffer buffer, const
      TSMLoc location, Requests &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:242,1
    - Dst: Requests::begin
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:243,1
    - Dst: Requests::end
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:244,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:245,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:249,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:251,1
    - Dst: Requests::iterator::io::get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:251,1
    - Dst: copy
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - re
    argTypes:
    - Requests
    - TSIOBufferReader
    assertStmts:
    - condition: (re != nullptr)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (length > 0)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (iterator->io.get() != nullptr)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (size == length)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: addBody
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 0
    functionsReached:
    - Requests::iterator::io::get
    - TSIOBufferReaderAvail
    - assert
    - copy
    - Requests::end
    - Requests::begin
    linkageType: ''
    returnType: void
    signature: void addBody(Requests &r, const TSIOBufferReader re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Requests::begin
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:261,1
    - Dst: Requests::end
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:262,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:264,1
    - Dst: Requests::iterator::io::get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:264,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:265,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:266,1
    - Dst: Requests::iterator::host::c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:266,1
    - Dst: read
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:268,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:269,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:269,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:269,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:270,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:270,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:273,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:273,1
    - Dst: Handler
      Src: /src/trafficserver/plugins/multiplexer/dispatch.cc:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - t
    argTypes:
    - Requests
    - int
    assertStmts:
    - condition: (iterator->io.get() != nullptr)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    - condition: (b.size() == static_cast<uint64_t>(iterator->length))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/trafficserver/plugins/multiplexer/dispatch.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: dispatch
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.cc
    functionUses: 7
    functionsReached:
    - Requests::begin
    - Requests::iterator::io::get
    - 'on'
    - std::string::size
    - read
    - Handler
    - Dbg
    - Requests::iterator::host::c_str
    - ats::get
    - static_cast<uint64_t>
    - std::move
    - Requests::end
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void dispatch(Requests &r, const int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: unlikely
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:55,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:56,1
    - Dst: destroyParser
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ~HttpParser()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - destroyParser
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ats::HttpParser
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSHttpHdrTypeSet
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:70,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ats::statusCode
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: int
    signature: int statusCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:90,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:91,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:93,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:95,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:97,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (continuation_ != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: ~HttpTransaction()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - ats::timeout
    - TSVConnAbort
    - assert
    linkageType: ''
    returnType: void
    signature: void ~HttpTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:112,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:113,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:114,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:115,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - v
    - c
    - i
    - l
    - t
    argTypes:
    - TSVConn
    - TSCont
    - std::unique_ptr<io::IO>
    - uint64_t
    - T
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (continuation_ != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (out_ != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: ats::HttpTransaction
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void HttpTransaction(TSVConn v, TSCont c, std::unique_ptr<io::IO> i,
      const uint64_t l, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ats::abort
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abort(const bool b = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:129,1
    - Dst: TSVConnActiveTimeoutCancel
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:131,1
    - Dst: TSVConnActiveTimeoutSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - int64_t
    assertStmts:
    - condition: (t >= 0)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: ats::timeout
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 1
    functionsReached:
    - TSVConnActiveTimeoutCancel
    - TSVConnActiveTimeoutSet
    - assert
    linkageType: ''
    returnType: void
    signature: void timeout(const int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:142,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: ats::close
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:150,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:151,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:153,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:156,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:158,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (l != nullptr)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: ats::isChunkEncoding
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool isChunkEncoding(const TSMBuffer b, const TSMLoc l)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:170,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:170,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:171,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:174,1
    - Dst: Self*::t_::error
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:175,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:176,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:177,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:181,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:189,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:191,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:192,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:193,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:194,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:196,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:196,1
    - Dst: Self*::parser_::parse
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:198,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:199,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:200,1
    - Dst: std::make_unique<ChunkDecoder>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:201,1
    - Dst: Self*::t_::header
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:203,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:207,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:211,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:213,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:216,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:217,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:218,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:221,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:222,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:227,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:228,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:229,1
    - Dst: Self*::chunkDecoder_::isEnd
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:230,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:231,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:232,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:232,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:233,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:234,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:235,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:236,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:238,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:242,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:244,1
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:245,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:246,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:248,1
    - Dst: Self*::out_::reset
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:249,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:252,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:252,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:254,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:255,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:260,1
    - Dst: Self*::t_::timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:261,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:262,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:263,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:264,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 100
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self->in_->reader != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_->vio != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->chunkDecoder_ == NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (false)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->out_ != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self != NULL)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (isChunkEncoding(self->parser_.buffer_, self->parser_.location_))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_ != NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->parsingHeaders_ == false)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_ == NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->vconnection_)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->out_ != NULL)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 271
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 271
    functionName: ats::handle
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - ats::isChunkEncoding
    - TSVConnShutdown
    - TSVIOReenable
    - Self*::chunkDecoder_::isEnd
    - Self*::parser_::parse
    - TSContDataGet
    - TSVIONTodoGet
    - Self*::out_::reset
    - TSVIONDoneGet
    - Self*::abort
    - TSIOBufferReaderConsume
    - Self*::t_::done
    - static_cast<Self *const>
    - std::make_unique<ChunkDecoder>
    - Self*::t_::data
    - assert
    - TSIOBufferReaderAvail
    - ats::close
    - Dbg
    - Self*::chunkDecoder_::decode
    - Self*::t_::timeout
    - TSVIONDoneSet
    - Self*::t_::error
    - TSContDataSet
    - ats::io::IO::read
    - Self*::t_::header
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void * /* data ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:283,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:283,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:284,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:284,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:287,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:287,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:288,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:289,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:289,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:290,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:291,1
    - Dst: Transaction::Transaction
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:291,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:292,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:294,1
    - Dst: Transaction*::timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - a
    - i
    - l
    - t
    argTypes:
    - std::string
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts:
    - condition: (vconn != nullptr)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (contp != nullptr)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 1
    functionsReached:
    - Transaction*::timeout
    - reinterpret_cast<sockaddr *>
    - inet_pton
    - TSContDataSet
    - Transaction::Transaction
    - Dbg
    - TSContCreate
    - TSHttpConnect
    - std::move
    - TSMutexCreate
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: bool
    signature: bool get(const std::string &a, std::unique_ptr<io::IO> i, const int64_t
      l, const T &t, const int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::get
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:304,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - l
    - t
    argTypes:
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 2
    functionsReached:
    - std::move
    - ats::get
    linkageType: ''
    returnType: bool
    signature: bool get(std::unique_ptr<io::IO> i, const int64_t l, const T &t, const
      int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:55,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:56,1
    - Dst: destroyParser
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ~HttpParser()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - destroyParser
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:60,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ats::HttpParser
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSHttpHdrTypeSet
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:70,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ats::statusCode
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: int
    signature: int statusCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:90,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:91,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:93,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:95,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:97,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (continuation_ != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: ~HttpTransaction()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - TSVConnAbort
    - timeout
    - assert
    linkageType: ''
    returnType: void
    signature: void ~HttpTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:112,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:113,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:114,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:115,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - v
    - c
    - i
    - l
    - t
    argTypes:
    - TSVConn
    - TSCont
    - std::unique_ptr<io::IO>
    - uint64_t
    - T
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (continuation_ != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (out_ != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: ats::HttpTransaction
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void HttpTransaction(TSVConn v, TSCont c, std::unique_ptr<io::IO> i,
      const uint64_t l, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ats::abort
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abort(const bool b = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:129,1
    - Dst: TSVConnActiveTimeoutCancel
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:131,1
    - Dst: TSVConnActiveTimeoutSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - int64_t
    assertStmts:
    - condition: (t >= 0)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (vconnection_ != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: ats::timeout
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 1
    functionsReached:
    - TSVConnActiveTimeoutCancel
    - TSVConnActiveTimeoutSet
    - assert
    linkageType: ''
    returnType: void
    signature: void timeout(const int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:142,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: ats::close
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 1
    functionsReached:
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:150,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:151,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:153,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:156,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:158,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (l != nullptr)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: ats::isChunkEncoding
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool isChunkEncoding(const TSMBuffer b, const TSMLoc l)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:170,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:170,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:171,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:174,1
    - Dst: Self*::t_::error
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:175,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:176,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:177,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:181,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:189,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:191,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:192,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:193,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:194,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:196,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:196,1
    - Dst: Self*::parser_::parse
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:198,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:199,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:200,1
    - Dst: std::make_unique<ChunkDecoder>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:201,1
    - Dst: Self*::t_::header
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:203,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:207,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:211,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:213,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:216,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:217,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:218,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:221,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:222,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:227,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:228,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:229,1
    - Dst: Self*::chunkDecoder_::isEnd
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:230,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:231,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:232,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:232,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:233,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:234,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:235,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:236,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:238,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:242,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:244,1
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:245,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:246,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:248,1
    - Dst: Self*::out_::reset
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:249,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:252,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:252,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:254,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:255,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:260,1
    - Dst: Self*::t_::timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:261,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:262,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:263,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:264,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 100
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self->in_->reader != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_->vio != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->chunkDecoder_ == NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (false)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->out_ != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self != NULL)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (isChunkEncoding(self->parser_.buffer_, self->parser_.location_))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_ != NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->parsingHeaders_ == false)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->in_ == NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->vconnection_)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (self->out_ != NULL)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 271
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 271
    functionName: ats::handle
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 0
    functionsReached:
    - ats::isChunkEncoding
    - TSVConnShutdown
    - TSVIOReenable
    - Self*::chunkDecoder_::isEnd
    - Self*::parser_::parse
    - TSContDataGet
    - TSVIONTodoGet
    - Self*::out_::reset
    - TSVIONDoneGet
    - Self*::abort
    - TSIOBufferReaderConsume
    - Self*::t_::done
    - static_cast<Self *const>
    - std::make_unique<ChunkDecoder>
    - Self*::t_::data
    - assert
    - TSIOBufferReaderAvail
    - ats::close
    - Dbg
    - Self*::chunkDecoder_::decode
    - Self*::t_::timeout
    - TSVIONDoneSet
    - Self*::t_::error
    - TSContDataSet
    - ats::io::IO::read
    - Self*::t_::header
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void * /* data ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:283,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:283,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:284,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:284,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:287,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:287,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:288,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:289,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:289,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:290,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:291,1
    - Dst: Transaction::Transaction
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:291,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:292,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:294,1
    - Dst: Transaction*::timeout
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - a
    - i
    - l
    - t
    argTypes:
    - std::string
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts:
    - condition: (vconn != nullptr)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    - condition: (contp != nullptr)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.h
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 2
    functionsReached:
    - Transaction*::timeout
    - reinterpret_cast<sockaddr *>
    - inet_pton
    - TSContDataSet
    - Transaction::Transaction
    - Dbg
    - TSContCreate
    - TSHttpConnect
    - std::move
    - TSMutexCreate
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: bool
    signature: bool get(const std::string &a, std::unique_ptr<io::IO> i, const int64_t
      l, const T &t, const int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::get
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:304,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/multiplexer/fetcher.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - l
    - t
    argTypes:
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.h
    functionUses: 3
    functionsReached:
    - std::move
    - ats::get
    linkageType: ''
    returnType: bool
    signature: bool get(std::unique_ptr<io::IO> i, const int64_t l, const T &t, const
      int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ChunkDecoder::ChunkDecoder
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ChunkDecoder::isEnd
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:31,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: ats::HttpParser::destroyParser
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserClear
    - TSHttpParserDestroy
    linkageType: ''
    returnType: void
    signature: void HttpParser::destroyParser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:44,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:47,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:50,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:54,1
    - Dst: statusCode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:55,1
    - Dst: ats::HttpParser::destroyParser
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:56,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - io
    argTypes:
    - io::IO
    assertStmts:
    - condition: (parser_ != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.cc
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: ats::HttpParser::parse
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.cc
    functionUses: 0
    functionsReached:
    - ats::HttpParser::destroyParser
    - TSIOBufferReaderConsume
    - TSIOBufferBlockNext
    - statusCode
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    - Dbg
    - assert
    linkageType: ''
    returnType: bool
    signature: bool HttpParser::parse(io::IO &io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:31,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: ats::HttpParser::destroyParser
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.cc
    functionUses: 1
    functionsReached:
    - TSHttpParserClear
    - TSHttpParserDestroy
    linkageType: ''
    returnType: void
    signature: void HttpParser::destroyParser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:44,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:47,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:50,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:54,1
    - Dst: statusCode
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:55,1
    - Dst: ats::HttpParser::destroyParser
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:56,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/fetcher.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - io
    argTypes:
    - io::IO
    assertStmts:
    - condition: (parser_ != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/multiplexer/fetcher.cc
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: ats::HttpParser::parse
    functionSourceFile: /src/trafficserver/plugins/multiplexer/fetcher.cc
    functionUses: 0
    functionsReached:
    - ats::HttpParser::destroyParser
    - TSIOBufferReaderConsume
    - TSIOBufferBlockNext
    - statusCode
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    - Dbg
    - assert
    linkageType: ''
    returnType: bool
    signature: bool HttpParser::parse(io::IO &io)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:31,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - char
    assertStmts:
    - condition: (state_ == State::kSize)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (false)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: ChunkDecoder::parseSizeCharacter
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ChunkDecoder::parseSizeCharacter(const char a)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:48,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:49,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:52,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:58,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:77,1
    - Dst: ChunkDecoder::parseSizeCharacter
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:82,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char*
    - int64_t
    assertStmts:
    - condition: (p != nullptr)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (state_ < State::kUpperBound)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (false)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (s > 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (*p == '\r')
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (state_ != State::kInvalid)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 90
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 90
    functionName: ChunkDecoder::parseSize
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    functionUses: 0
    functionsReached:
    - ChunkDecoder::parseSizeCharacter
    - assert
    linkageType: ''
    returnType: int
    signature: int ChunkDecoder::parseSize(const char *p, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ChunkDecoder::isSizeState
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChunkDecoder::isSizeState() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:102,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:109,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:119,1
    - Dst: ChunkDecoder::isSizeState
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:122,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:124,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:125,1
    - Dst: ChunkDecoder::parseSize
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:126,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:130,1
    - Dst: ChunkDecoder::isSizeState
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:133,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:134,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:135,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:143,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:144,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (p != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (size_ == 0)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (size_ > 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    - condition: (size == 0)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 160
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 160
    functionName: ChunkDecoder::decode
    functionSourceFile: /src/trafficserver/plugins/multiplexer/chunk-decoder.cc
    functionUses: 2
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferBlockNext
    - ChunkDecoder::parseSize
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ChunkDecoder::isSizeState
    - assert
    linkageType: ''
    returnType: int
    signature: int ChunkDecoder::decode(const TSIOBufferReader &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:32,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:33,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/trafficserver/plugins/multiplexer/ts.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.cc
    functionUses: 2
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:32,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:33,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/trafficserver/plugins/multiplexer/ts.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.cc
    functionUses: 2
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:32,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:33,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/trafficserver/plugins/multiplexer/ts.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.cc
    functionUses: 2
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:32,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:33,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/multiplexer/ts.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/trafficserver/plugins/multiplexer/ts.cc
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.cc
    functionUses: 2
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:33,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:35,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:36,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - b
    - l
    - t
    argTypes:
    - TSMBuffer
    - TSMLoc
    - T
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (length > 0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 875
    functionsReached:
    - t
    - std::string
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string get(const TSMBuffer &b, const TSMLoc &l, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:45,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:48,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - b
    - l
    - f
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (length > 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: get
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 875
    functionsReached:
    - TSMimeHdrFieldValueStringGet
    - std::string
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string get(const TSMBuffer &b, const TSMLoc &l, const TSMLoc &f,
      const int i = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:55,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:55,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:57,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:59,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:59,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:60,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:60,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:67,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:69,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:69,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:71,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:74,1
    - Dst: get
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (url_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (hostHeader_ != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: OriginalRequest::OriginalRequest
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 0
    functionsReached:
    - get
    - TSMimeHdrFieldFind
    - CHECK
    - const_cast<std::string &>
    - TSHttpHdrUrlGet
    - assert
    linkageType: ''
    returnType: void
    signature: void OriginalRequest::OriginalRequest(const TSMBuffer b, const TSMLoc
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OriginalRequest::urlScheme
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:80,1
    - Dst: OriginalRequest::urlHost
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:81,1
    - Dst: OriginalRequest::hostHeader
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:82,1
    - Dst: xMultiplexerHeader::empty
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:83,1
    - Dst: OriginalRequest::xMultiplexerHeader
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:84,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:87,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: OriginalRequest::~OriginalRequest()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 0
    functionsReached:
    - OriginalRequest::urlHost
    - TSHandleMLocRelease
    - OriginalRequest::urlScheme
    - xMultiplexerHeader::empty
    - OriginalRequest::xMultiplexerHeader
    - OriginalRequest::hostHeader
    linkageType: ''
    returnType: void
    signature: void OriginalRequest::~OriginalRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:94,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:95,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:96,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:96,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:96,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (url_ != nullptr)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: OriginalRequest::urlScheme
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 2
    functionsReached:
    - CHECK
    - std::string::size
    - TSUrlSchemeSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void OriginalRequest::urlScheme(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:102,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:103,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:104,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:104,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:104,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (url_ != nullptr)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: OriginalRequest::urlHost
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 2
    functionsReached:
    - TSUrlHostSet
    - CHECK
    - std::string::size
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void OriginalRequest::urlHost(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:110,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:111,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:112,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:113,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:113,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:113,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (hostHeader_ != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (location_ != nullptr)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: OriginalRequest::hostHeader
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 2
    functionsReached:
    - CHECK
    - std::string::size
    - TSMimeHdrFieldValueStringSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void OriginalRequest::hostHeader(const std::string &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:119,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:120,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:124,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:124,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:124,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/multiplexer/original-request.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    - condition: (location_ != nullptr)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/trafficserver/plugins/multiplexer/original-request.cc
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: OriginalRequest::xMultiplexerHeader
    functionSourceFile: /src/trafficserver/plugins/multiplexer/original-request.cc
    functionUses: 2
    functionsReached:
    - CHECK
    - std::string::size
    - TSMimeHdrFieldValueStringSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: bool
    signature: bool OriginalRequest::xMultiplexerHeader(const std::string &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/post.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: PostState::~PostState()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/post.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    linkageType: ''
    returnType: void
    signature: void PostState::~PostState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:47,1
    - Dst: Requests::empty
      Src: /src/trafficserver/plugins/multiplexer/post.cc:47,1
    - Dst: swap
      Src: /src/trafficserver/plugins/multiplexer/post.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - content_length
    argTypes:
    - Requests
    - int
    assertStmts:
    - condition: (!r.empty())
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: PostState::PostState
    functionSourceFile: /src/trafficserver/plugins/multiplexer/post.cc
    functionUses: 0
    functionsReached:
    - Requests::empty
    - swap
    - assert
    linkageType: ''
    returnType: void
    signature: void PostState::PostState(Requests &r, int content_length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:54,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:59,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:60,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:63,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:64,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/post.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:68,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/post.cc:70,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:71,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/multiplexer/post.cc:73,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:74,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:78,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/multiplexer/post.cc:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:80,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:83,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:86,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:86,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/post.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/post.cc:89,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:94,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:95,1
    - Dst: min
      Src: /src/trafficserver/plugins/multiplexer/post.cc:98,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/post.cc:98,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:98,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:99,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/multiplexer/post.cc:102,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:102,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:102,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/post.cc:103,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:103,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:104,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:104,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:108,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:110,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/post.cc:111,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/multiplexer/post.cc:112,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:112,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:115,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:115,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/multiplexer/post.cc:116,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/multiplexer/post.cc:117,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - TSCont
    - PostState
    assertStmts:
    - condition: (input_vio != nullptr)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (s.clone_reader != nullptr)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (s.output_vio != nullptr)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (toWrite >= 0)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (output_vconn != nullptr)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (toWrite >= 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (origin_reader != nullptr)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (s.content_length > 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (s.output_vio != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (c != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (s.origin_buffer != nullptr)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    constantsTouched: []
    func_position:
      end: 119
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 119
    functionName: postTransform
    functionSourceFile: /src/trafficserver/plugins/multiplexer/post.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSVIOReenable
    - TSIOBufferReaderClone
    - TSVConnWrite
    - min
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - assert
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - Dbg
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void postTransform(const TSCont c, PostState &s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:124,1
    - Dst: static_cast<PostState *>
      Src: /src/trafficserver/plugins/multiplexer/post.cc:126,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:127,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:129,1
    - Dst: addBody
      Src: /src/trafficserver/plugins/multiplexer/post.cc:131,1
    - Dst: dispatch
      Src: /src/trafficserver/plugins/multiplexer/post.cc:133,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:135,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/multiplexer/post.cc:136,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:141,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/post.cc:142,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/multiplexer/post.cc:143,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:143,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/multiplexer/post.cc:146,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/multiplexer/post.cc:146,1
    - Dst: postTransform
      Src: /src/trafficserver/plugins/multiplexer/post.cc:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - c
    - e
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (c != nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (state != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (data != nullptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    - condition: (vio != nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/trafficserver/plugins/multiplexer/post.cc
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: handlePost
    functionSourceFile: /src/trafficserver/plugins/multiplexer/post.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - static_cast<PostState *>
    - TSContCall
    - TSContDestroy
    - TSVIOContGet
    - TSContDataSet
    - TSVConnShutdown
    - dispatch
    - TSTransformOutputVConnGet
    - postTransform
    - addBody
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int handlePost(TSCont c, TSEvent e, [[maybe_unused]] void *data)
  - 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: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: CHECK
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: CHECK
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Request
    functionSourceFile: /src/trafficserver/plugins/multiplexer/dispatch.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:51,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:52,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/ts.h:53,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/multiplexer/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/ts.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:51,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:52,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/ts.h:53,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/multiplexer/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/ts.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:51,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:52,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/ts.h:53,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/multiplexer/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/ts.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:51,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:52,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/multiplexer/ts.h:53,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/multiplexer/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/multiplexer/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/multiplexer/ts.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/multiplexer/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/multiplexer/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:50,1
    - Dst: atol
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:52,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:57,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:60,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:62,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:64,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:66,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:68,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - Dbg
    - atol
    - getenv
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *, char *, int)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:78,1
    - Dst: Instance::Instance
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:79,1
    - Dst: std::copy_if
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:83,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:91,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - i
    argTypes:
    - int
    - char**
    - void**
    assertStmts:
    - condition: (i != nullptr)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<void *>
    - Dbg
    - std::back_inserter
    - Instance::Instance
    - std::copy_if
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char **argv, void **i, char
      *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:101,1
    - Dst: static_cast<Instance *>
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - void*
    assertStmts:
    - condition: (i != nullptr)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    functionUses: 0
    functionsReached:
    - static_cast<Instance *>
    - assert
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:108,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:117,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:119,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:120,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:125,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:125,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:130,1
    - Dst: TSMimeHdrFieldValueUintGet
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:132,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:133,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:135,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:138,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:142,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:147,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:147,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:148,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:150,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:150,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:152,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:152,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:154,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:154,1
    - Dst: generateRequests
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:158,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:159,1
    - Dst: Requests::size
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:159,1
    - Dst: Instance::origins::size
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:159,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:162,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:163,1
    - Dst: PostState::PostState
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:164,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:165,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:166,1
    - Dst: Requests::empty
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:166,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:167,1
    - Dst: dispatch
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:169,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:172,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - i
    - t
    argTypes:
    - Instance
    - TSHttpTxn
    assertStmts:
    - condition: (location != nullptr)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (vconnection != nullptr)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (t != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (requests.empty())
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (field != nullptr)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (requests.size() == i.origins.size())
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    constantsTouched: []
    func_position:
      end: 175
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 175
    functionName: DoRemap
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - dispatch
    - std::string
    - TSHttpTxnClientReqGet
    - PostState::PostState
    - Requests::size
    - TSMimeHdrFieldFind
    - CHECK
    - Instance::origins::size
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueUintGet
    - assert
    - generateRequests
    - TSHttpTxnHookAdd
    - Dbg
    - TSTransformCreate
    - Requests::empty
    - TSMimeHdrFieldValueStringSet
    - memcmp
    - TSContDataSet
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void DoRemap(const Instance &i, TSHttpTxn t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:180,1
    - Dst: assert
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:181,1
    - Dst: static_cast<const Instance *>
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:182,1
    - Dst: Instance*::origins::empty
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:184,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:184,1
    - Dst: DoRemap
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - i
    - t
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts:
    - condition: (i != nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    - condition: (t != nullptr)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/multiplexer/ats-multiplexer.cc
    functionUses: 0
    functionsReached:
    - DoRemap
    - TSHttpTxnIsInternal
    - Dbg
    - static_cast<const Instance *>
    - Instance*::origins::empty
    - assert
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *i, TSHttpTxn t, TSRemapRequestInfo
      * /* r ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:65,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:68,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:72,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: create_stats
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 2
    functionsReached:
    - TSStatCreate
    - Dbg
    - TSStatFindName
    linkageType: ''
    returnType: void
    signature: void create_stats()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:87,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - result
    argTypes:
    - TSCacheLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: increment_stat
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void increment_stat(TSCacheLookupResult const result)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - TSCacheLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: strForResult
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strForResult(TSCacheLookupResult const result)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: init_invalidate_t
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: invalidate_t
    signature: 'invalidate_t *

      init_invalidate_t(invalidate_t *i)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:154,1
    - Dst: pcre_free_study
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:156,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:160,1
    - Dst: pcre_free_substring
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:163,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - i
    argTypes:
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: free_invalidate_t
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - pcre_free_study
    - pcre_free_substring
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void free_invalidate_t(invalidate_t *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iptr
    argTypes:
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: free_invalidate_t_list
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - free_invalidate_t
    linkageType: ''
    returnType: void
    signature: void free_invalidate_t_list(invalidate_t *iptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - plugin_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: init_plugin_state_t
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: plugin_state_t
    signature: 'plugin_state_t *

      init_plugin_state_t(plugin_state_t *pstate)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free_invalidate_t_list
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:194,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:197,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:200,1
    - Dst: TSTextLogObjectDestroy
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:203,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:206,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - plugin_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: free_plugin_state_t
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - free_invalidate_t_list
    - TSTextLogObjectDestroy
    linkageType: ''
    returnType: void
    signature: void free_plugin_state_t(plugin_state_t *pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:218,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:219,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:220,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: copy_invalidate_t
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - pcre_compile
    - TSmalloc
    - pcre_study
    linkageType: ''
    returnType: invalidate_t
    signature: 'invalidate_t *

      copy_invalidate_t(invalidate_t *i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:236,1
    - Dst: copy_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - old_list
    argTypes:
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: copy_config
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - copy_invalidate_t
    linkageType: ''
    returnType: invalidate_t
    signature: 'invalidate_t *

      copy_config(invalidate_t *old_list)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:263,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:264,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:267,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - invalidate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 282
    functionName: prune_config
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - time
    - free_invalidate_t
    - strForResult
    linkageType: ''
    returnType: bool
    signature: bool prune_config(invalidate_t **i)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:293,1
    - Dst: time
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:297,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:302,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:303,1
    - Dst: fgets
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:307,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:308,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:310,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:310,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:313,1
    - Dst: init_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:314,1
    - Dst: pcre_get_substring
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:316,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:317,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:318,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:321,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:322,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:329,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:330,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:331,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:332,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:335,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:341,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:343,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:355,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:357,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:361,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:362,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - pstate
    - ilist
    argTypes:
    - plugin_state_t*
    - invalidate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 364
    functionName: load_state
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - strncasecmp
    - pcre_get_substring
    - fclose
    - fopen
    - free_invalidate_t
    - pcre_compile
    - atoi
    - Dbg
    - fgets
    - TSReleaseAssert
    - pcre_exec
    - strlen
    - TSmalloc
    - time
    - pcre_free
    - init_invalidate_t
    linkageType: ''
    returnType: bool
    signature: bool load_state(plugin_state_t *pstate, invalidate_t **ilist)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:373,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:373,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:373,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:374,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:374,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:375,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:375,1
    - Dst: open
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:380,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:382,1
    - Dst: fstat
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:387,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:388,1
    - Dst: close
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:389,1
    - Dst: time
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:395,1
    - Dst: fdopen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:397,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:399,1
    - Dst: close
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:400,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:404,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:408,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:409,1
    - Dst: fgets
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:415,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:416,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:418,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:418,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:421,1
    - Dst: init_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:422,1
    - Dst: pcre_get_substring
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:423,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:425,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:427,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:432,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:433,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:435,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:436,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:441,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:442,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:445,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:446,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:449,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:452,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:453,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:457,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:464,1
    - Dst: free_invalidate_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:468,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:479,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:480,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:485,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:488,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:489,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:493,1
    - Dst: close
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 101
    argCount: 2
    argNames:
    - pstate
    - ilist
    argTypes:
    - plugin_state_t*
    - invalidate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 497
    functionName: load_config
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - alloca
    - snprintf
    - pcre_exec
    - TSConfigDirGet
    - pcre_compile
    - open
    - strForResult
    - pcre_get_substring
    - fclose
    - free_invalidate_t
    - static_cast<char *>
    - init_invalidate_t
    - pcre_free
    - strcmp
    - pcre_study
    - strncasecmp
    - close
    - atoi
    - Dbg
    - TSReleaseAssert
    - TSmalloc
    - strlen
    - time
    - fstat
    - fdopen
    - fgets
    linkageType: ''
    returnType: bool
    signature: bool load_config(plugin_state_t *pstate, invalidate_t **ilist)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:504,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:506,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:513,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:520,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:521,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:524,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:528,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:534,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:536,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:541,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - pstate
    - i
    argTypes:
    - plugin_state_t*
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 543
    functionName: list_config
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - fprintf
    - strForResult
    - fclose
    - fopen
    - Dbg
    linkageType: ''
    returnType: void
    signature: void list_config(plugin_state_t *pstate, invalidate_t *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:550,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:551,1
    - Dst: free_invalidate_t_list
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:552,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: free_handler
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - free_invalidate_t_list
    - TSContDataGet
    - TSContDestroy
    linkageType: ''
    returnType: int
    signature: int free_handler(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:566,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:568,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:569,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:571,1
    - Dst: copy_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:572,1
    - Dst: prune_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:574,1
    - Dst: load_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:575,1
    - Dst: list_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:578,1
    - Dst: __sync_val_compare_and_swap
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:579,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:582,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:582,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:583,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:584,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:587,1
    - Dst: free_invalidate_t_list
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:589,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:593,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - cont
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 557
    functionDepth: 6
    functionLinenumber: 557
    functionLinenumberEnd: 600
    functionName: config_handler
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - load_config
    - list_config
    - TSContScheduleOnPool
    - TSContDataSet
    - copy_config
    - prune_config
    - __sync_val_compare_and_swap
    - Dbg
    - TSContCreate
    - TSContDataGet
    - TSMutexUnlock
    - TSContMutexGet
    - free_invalidate_t_list
    - TSMutexCreate
    linkageType: ''
    returnType: int
    signature: int config_handler(TSCont cont, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:609,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:610,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:612,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:613,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 619
    functionName: get_date_from_cached_hdr
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHttpTxnCachedRespGet
    - TSMimeHdrFieldValueDateGet
    - TSHandleMLocRelease
    linkageType: ''
    returnType: time_t
    signature: time_t get_date_from_cached_hdr(TSHttpTxn txn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:632,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:634,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:635,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:639,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:639,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:641,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:642,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:646,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:646,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:649,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:649,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:650,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:651,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:652,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:655,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:659,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:662,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:663,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:665,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:667,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - txn
    - header
    - rule
    argTypes:
    - TSHttpTxn
    - char*
    - invalidate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 621
    functionDepth: 5
    functionLinenumber: 621
    functionLinenumberEnd: 671
    functionName: add_header
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 8
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - strForResult
    - Dbg
    - TSStringPercentEncode
    - snprintf
    - TSReleaseAssert
    - strlen
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void add_header(TSHttpTxn txn, const char *const header, invalidate_t
      *const rule)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:687,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:689,1
    - Dst: get_date_from_cached_hdr
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:693,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:694,1
    - Dst: intmax_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:694,1
    - Dst: time
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:695,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:699,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:700,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:702,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:703,1
    - Dst: intmax_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:704,1
    - Dst: intmax_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:704,1
    - Dst: strForResult
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:704,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:705,1
    - Dst: increment_stat
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:706,1
    - Dst: add_header
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:709,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:719,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:728,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 730
    functionName: main_handler
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - get_date_from_cached_hdr
    - TSfree
    - increment_stat
    - strForResult
    - TSHttpTxnCacheLookupStatusGet
    - intmax_t
    - add_header
    - Dbg
    - TSHttpTxnEffectiveUrlStringGet
    - pcre_exec
    - TSContDataGet
    - time
    - TSHttpTxnCacheLookupStatusSet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int main_handler(TSCont cont, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:736,1
    - Dst: TSInstallDirGet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:739,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:740,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 745
    functionName: make_state_path
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 1
    functionsReached:
    - TSstrdup
    - snprintf
    - TSInstallDirGet
    linkageType: ''
    returnType: char
    signature: 'char *

      make_state_path(const char *filename)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:756,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:758,1
    - Dst: init_plugin_state_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:759,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:771,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:774,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:777,1
    - Dst: TSTextLogObjectRollingIntervalSecSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:778,1
    - Dst: TSTextLogObjectRollingOffsetHrSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:779,1
    - Dst: make_state_path
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:786,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:789,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:797,1
    - Dst: free_plugin_state_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:798,1
    - Dst: load_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:802,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:803,1
    - Dst: load_state
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:809,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:810,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:812,1
    - Dst: list_config
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:816,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:823,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:824,1
    - Dst: free_plugin_state_t
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:826,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:829,1
    - Dst: create_stats
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:832,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:834,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:835,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:836,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:838,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:838,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:839,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:841,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:844,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc:847,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 848
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/regex_revalidate/regex_revalidate.cc
    functionUses: 0
    functionsReached:
    - TSMgmtUpdateRegister
    - TSTextLogObjectRollingOffsetHrSet
    - free_plugin_state_t
    - load_state
    - TSContScheduleOnPool
    - TSPluginRegister
    - TSHttpHookAdd
    - getopt_long
    - TSError
    - TSstrdup
    - TSTextLogObjectCreate
    - Dbg
    - TSmalloc
    - TSContCreate
    - TSMutexCreate
    - create_stats
    - load_config
    - list_config
    - TSTextLogObjectRollingIntervalSecSet
    - TSContDataSet
    - init_plugin_state_t
    - make_state_path
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeoIP_db_avail
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:42,1
    - Dst: GeoIP_open_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:44,1
    - Dst: GeoIP_database_info
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:46,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:47,1
    - Dst: free
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: GeoIPConditionGeo::initLibrary
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc
    functionUses: 0
    functionsReached:
    - free
    - GeoIP_open_type
    - GeoIP_database_info
    - Dbg
    - GeoIP_db_avail
    linkageType: ''
    returnType: void
    signature: void GeoIPConditionGeo::initLibrary(const std::string &)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:66,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:66,1
    - Dst: GeoIP_country_code_by_ipnum
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:68,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:73,1
    - Dst: GeoIP_country_code_by_ipnum_v6
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:76,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:82,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:82,1
    - Dst: ntohl
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:90,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:90,1
    - Dst: GeoIP_name_by_ipnum
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:92,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:97,1
    - Dst: GeoIP_name_by_ipnum_v6
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:106,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 114
    functionName: GeoIPConditionGeo::get_geo_string
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - reinterpret_cast<const struct sockaddr_in6 *>
    - GeoIP_country_code_by_ipnum_v6
    - reinterpret_cast<const struct sockaddr_in *>
    - GeoIP_country_code_by_ipnum
    - GeoIP_name_by_ipnum
    - Dbg
    - GeoIP_name_by_ipnum_v6
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string GeoIPConditionGeo::get_geo_string(const sockaddr *addr)
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:132,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:132,1
    - Dst: GeoIP_id_by_ipnum
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:134,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:139,1
    - Dst: GeoIP_id_by_ipnum_v6
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:142,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:148,1
    - Dst: ntohl
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:157,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:157,1
    - Dst: GeoIP_name_by_ipnum
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:159,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:164,1
    - Dst: GeoIP_name_by_ipnum_v6
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:167,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:173,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 188
    functionName: GeoIPConditionGeo::get_geo_int
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_geoip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - reinterpret_cast<const struct sockaddr_in6 *>
    - isdigit
    - reinterpret_cast<const struct sockaddr_in *>
    - GeoIP_name_by_ipnum
    - Dbg
    - GeoIP_id_by_ipnum
    - GeoIP_name_by_ipnum_v6
    - strtol
    - GeoIP_id_by_ipnum_v6
    linkageType: ''
    returnType: int64_t
    signature: int64_t GeoIPConditionGeo::get_geo_int(const sockaddr *addr) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:43,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:43,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:45,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:47,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:49,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:52,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:53,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:54,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:55,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:56,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:57,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:57,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:59,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:61,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:62,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:63,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:65,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:70,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:74,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:75,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:78,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:79,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: handleFetchEvents
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDestroy
    - TSHttpParserDestroy
    - TSHttpHdrParseResp
    - TSContDataGet
    - TSHttpHdrTypeSet
    - static_cast<int>
    - TSError
    - TSstrdup
    - Dbg
    - TSWarning
    - TSHttpTxnReenable
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSFetchRespGet
    - TSHttpHdrCreate
    - TSMBufferDestroy
    - static_cast<TSHttpTxn>
    - TSHttpTxnErrorBodySet
    linkageType: ''
    returnType: int
    signature: int handleFetchEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:91,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:92,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:94,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:97,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:97,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:98,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:99,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:101,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:107,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - value
    - (req_buf)
    - req_buf_size
    argTypes:
    - std::string_view
    - char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: createRequestString
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSUrlCreate
    - Dbg
    - std::string_view::data
    - std::string_view::size
    - TSUrlHostGet
    - snprintf
    - TSMBufferDestroy
    - TSUrlParse
    - TSMBufferCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode createRequestString(const std::string_view &value, char
      (&req_buf)[MAX_SIZE], int *req_buf_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:43,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:43,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:45,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:47,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:49,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:52,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:53,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:54,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:55,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:56,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:57,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:57,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:59,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:61,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:62,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:63,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:65,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:70,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:74,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:75,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:78,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:79,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: handleFetchEvents
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDestroy
    - TSHttpParserDestroy
    - TSHttpHdrParseResp
    - TSContDataGet
    - TSHttpHdrTypeSet
    - static_cast<int>
    - TSError
    - TSstrdup
    - Dbg
    - TSWarning
    - TSHttpTxnReenable
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSFetchRespGet
    - TSHttpHdrCreate
    - TSMBufferDestroy
    - static_cast<TSHttpTxn>
    - TSHttpTxnErrorBodySet
    linkageType: ''
    returnType: int
    signature: int handleFetchEvents(TSCont cont, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:91,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:92,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:94,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:97,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:97,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:98,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:99,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:101,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:107,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - value
    - (req_buf)
    - req_buf_size
    argTypes:
    - std::string_view
    - char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: createRequestString
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSUrlCreate
    - Dbg
    - std::string_view::data
    - std::string_view::size
    - TSUrlHostGet
    - snprintf
    - TSMBufferDestroy
    - TSUrlParse
    - TSMBufferCreate
    - TSUrlStringGet
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode createRequestString(const std::string_view &value, char
      (&req_buf)[MAX_SIZE], int *req_buf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:119,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:120,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:122,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:122,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:122,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:123,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:123,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:126,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: OperatorSetConfig::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - set_value
    - c_str
    - Parser::get_arg
    - TSHttpTxnConfigFind
    - size
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetConfig::initialize(Parser &p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:136,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:137,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:137,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:137,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:139,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:139,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:139,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:143,1
    - Dst: get_float_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:144,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:144,1
    - Dst: get_float_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:144,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:146,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:146,1
    - Dst: get_float_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:146,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:150,1
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:150,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:150,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:151,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:151,1
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:153,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:153,1
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:153,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: OperatorSetConfig::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - get_float_value
    - TSError
    - get_int_value
    - TSHttpTxnConfigStringSet
    - Dbg
    - TSHttpTxnConfigIntSet
    - c_str
    - TSHttpTxnConfigFloatSet
    - get_value
    - size
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetConfig::exec(const Resources &res) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:168,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:170,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:170,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:172,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:172,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:173,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:173,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:176,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:179,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:180,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: OperatorSetStatus::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpStatus>
    - TSError
    - set_value
    - TSHttpHdrReasonLookup
    - get_int_value
    - Parser::get_arg
    - strlen
    - require_resources
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatus::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:187,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:188,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:189,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:190,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: OperatorSetStatus::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatus::initialize_hooks()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:197,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:201,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:201,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:201,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:203,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:208,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:208,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:208,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:212,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: OperatorSetStatus::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpStatus>
    - TSHttpHdrReasonSet
    - get_int_value
    - TSHttpHdrStatusSet
    - Dbg
    - get_hook
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetStatus::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:221,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:223,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:223,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:224,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: OperatorSetStatusReason::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - require_resources
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatusReason::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:231,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: OperatorSetStatusReason::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatusReason::initialize_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:241,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:242,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:243,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:243,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:244,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:244,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: OperatorSetStatusReason::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrReasonSet
    - std::string::size
    - Dbg
    - append_value
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetStatusReason::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:254,1
    - Dst: parse_url_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:256,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:256,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:257,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:257,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:258,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: OperatorSetDestination::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - set_value
    - parse_url_qualifier
    - Parser::get_arg
    - require_resources
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetDestination::initialize(Parser &p)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:276,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:277,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:285,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:286,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:287,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:289,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:290,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:290,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:291,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:291,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:296,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:297,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:298,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:300,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:301,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:301,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:301,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:302,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:302,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:307,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:308,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:309,1
    - Dst: get_oper_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:312,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:314,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:315,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:317,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:318,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:321,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:322,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:322,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:322,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:323,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:323,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:328,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:328,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:329,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:331,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:332,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:332,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:333,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:333,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:337,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:338,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:339,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:341,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:342,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:344,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:344,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:345,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:346,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:347,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:347,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:349,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:349,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:354,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:355,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:356,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:358,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:358,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:358,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:359,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:360,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:360,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:364,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:368,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 372
    functionName: OperatorSetDestination::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - get_oper_modifiers
    - TSHttpHdrUrlSet
    - TSUrlPortSet
    - std::string::empty
    - std::string::append
    - TSUrlPathSet
    - TSUrlParse
    - TSUrlSchemeSet
    - std::string::length
    - TSUrlCreate
    - std::string::c_str
    - TSUrlHttpQueryGet
    - TSUrlHostSet
    - get_int_value
    - Dbg
    - TSHttpHdrUrlGet
    - append_value
    - const_cast<Resources &>
    - std::string::size
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetDestination::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:383,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - text
    - delimiter
    argTypes:
    - swoc::TextView
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: _tokenize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 25
    functionsReached:
    - std::vector::push_back
    - swoc::TextView::take_prefix_at
    linkageType: ''
    returnType: std::vector<std::string_view>
    signature: std::vector<std::string_view> _tokenize(swoc::TextView text, char delimiter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:392,1
    - Dst: parse_url_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:394,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:394,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:395,1
    - Dst: empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:397,1
    - Dst: get_oper_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:398,1
    - Dst: _tokenize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:401,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:404,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 406
    functionName: OperatorRMDestination::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - get_oper_modifiers
    - Parser::get_value
    - _tokenize
    - parse_url_qualifier
    - Parser::get_arg
    - empty
    - require_resources
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorRMDestination::initialize(Parser &p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:422,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:423,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:431,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:432,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:432,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:432,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:433,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:436,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:438,1
    - Dst: _tokenize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:441,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:441,1
    - Dst: find
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:442,1
    - Dst: std::find
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:443,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:443,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:445,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:446,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:454,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:454,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:456,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:458,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:459,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:459,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:459,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:462,1
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:463,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:464,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:467,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:471,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 475
    functionName: OperatorRMDestination::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - _tokenize
    - size
    - begin
    - TSUrlPortSet
    - std::string::empty
    - std::string::append
    - TSUrlPathSet
    - substr
    - std::string::c_str
    - TSUrlHttpQueryGet
    - find
    - end
    - Dbg
    - static_cast<size_t>
    - TSHttpHdrUrlGet
    - const_cast<Resources &>
    - std::string::size
    - std::find
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: bool
    signature: bool OperatorRMDestination::exec(const Resources &res) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:481,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:483,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:483,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:484,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:484,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:485,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:487,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:490,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:491,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:492,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 494
    functionName: OperatorSetRedirect::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - set_value
    - get_int_value
    - Parser::get_arg
    - require_resources
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetRedirect::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:499,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:500,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: OperatorSetRedirect::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetRedirect::initialize_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:510,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:510,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:510,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:511,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:511,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:512,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:512,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:513,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:515,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:516,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:517,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:518,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:528,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:528,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:528,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:528,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - txnp
    - location
    - status
    - bufp
    - hdr_loc
    argTypes:
    - TSHttpTxn
    - std::string
    - TSHttpStatus
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 529
    functionName: EditRedirectResponse
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrReasonSet
    - std::string::size
    - TSHttpHdrReasonLookup
    - TSstrdup
    - std::string::length
    - Dbg
    - strlen
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSHttpTxnErrorBodySet
    - TSMimeHdrFieldCreateNamed
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void EditRedirectResponse(TSHttpTxn txnp, const std::string &location,
      TSHttpStatus status, TSMBuffer bufp, TSMLoc hdr_loc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:537,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:542,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:544,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:556,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:557,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:563,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:564,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:566,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:568,1
    - Dst: std::string::insert
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:569,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:575,1
    - Dst: get_oper_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:577,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:578,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:579,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:580,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:581,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:585,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:586,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:589,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:590,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:590,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:593,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:593,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:593,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:594,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:597,1
    - Dst: get_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:597,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:599,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:599,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:600,1
    - Dst: EditRedirectResponse
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:601,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:603,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:603,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:604,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 531
    functionDepth: 6
    functionLinenumber: 531
    functionLinenumberEnd: 607
    functionName: OperatorSetRedirect::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - get_oper_modifiers
    - static_cast<TSHttpStatus>
    - EditRedirectResponse
    - std::string::erase
    - std::string::append
    - TSUrlParse
    - std::string::c_str
    - TSUrlHttpQueryGet
    - TSUrlPathGet
    - get_int_value
    - Dbg
    - TSHttpHdrUrlGet
    - TSHttpTxnStatusSet
    - append_value
    - std::string::find
    - const_cast<Resources &>
    - std::string::size
    - TSHttpHdrStatusSet
    - std::string::insert
    - get_hook
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetRedirect::exec(const Resources &res) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:613,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:615,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:617,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:619,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:621,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:625,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:625,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:628,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 629
    functionName: OperatorSetTimeoutOut::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - set_value
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetTimeoutOut::initialize(Parser &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:636,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:636,1
    - Dst: TSHttpTxnActiveTimeoutSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:637,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:637,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:641,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:641,1
    - Dst: TSHttpTxnNoActivityTimeoutSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:642,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:646,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:646,1
    - Dst: TSHttpTxnConnectTimeoutSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:647,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:647,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:651,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:651,1
    - Dst: TSHttpTxnDNSTimeoutSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:652,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:652,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 659
    functionName: OperatorSetTimeoutOut::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSHttpTxnConnectTimeoutSet
    - get_int_value
    - TSHttpTxnNoActivityTimeoutSet
    - Dbg
    - TSHttpTxnDNSTimeoutSet
    - TSHttpTxnActiveTimeoutSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetTimeoutOut::exec(const Resources &res) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:666,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:668,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:668,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: OperatorSkipRemap::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSkipRemap::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:676,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: OperatorSkipRemap::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSkipRemap::exec(const Resources &res) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:688,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:688,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:689,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:689,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:689,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:691,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:691,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:692,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:693,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 699
    functionName: OperatorRMHeader::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - Dbg
    - c_str
    - TSMimeHdrFieldDestroy
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool OperatorRMHeader::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperatorHeaders::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:705,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:707,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: OperatorAddHeader::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - OperatorHeaders::initialize
    - Parser::get_value
    linkageType: ''
    returnType: void
    signature: void OperatorAddHeader::initialize(Parser &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:715,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:718,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:719,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:719,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:724,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:724,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:724,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:727,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:727,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:727,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:728,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:728,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:728,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:729,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:729,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:730,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 736
    functionName: OperatorAddHeader::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - std::string::size
    - std::string::empty
    - Dbg
    - append_value
    - c_str
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - size
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool OperatorAddHeader::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperatorHeaders::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:742,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:744,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 745
    functionName: OperatorSetHeader::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - OperatorHeaders::initialize
    - Parser::get_value
    linkageType: ''
    returnType: void
    signature: void OperatorSetHeader::initialize(Parser &p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:752,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:755,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:756,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:756,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:761,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:761,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:761,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:763,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:763,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:763,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:767,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:767,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:767,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:768,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:768,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:768,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:769,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:769,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:770,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:772,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:779,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:782,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:782,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:782,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:783,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:783,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:786,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 747
    functionDepth: 5
    functionLinenumber: 747
    functionLinenumberEnd: 794
    functionName: OperatorSetHeader::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - std::string::c_str
    - std::string::size
    - std::string::empty
    - Dbg
    - c_str
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - size
    - append_value
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetHeader::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:800,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:802,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: OperatorSetBody::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetBody::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:808,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: OperatorSetBody::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetBody::initialize_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:817,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:818,1
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:818,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:819,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 821
    functionName: OperatorSetBody::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSstrdup
    - get_value
    - TSHttpTxnErrorBodySet
    - size
    - append_value
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetBody::exec(const Resources &res) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:827,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:829,1
    - Dst: length
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:832,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:833,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:838,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:838,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:839,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:839,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:841,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:841,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:844,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:844,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:846,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 848
    functionName: OperatorCounter::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSError
    - length
    - TSStatFindName
    - Dbg
    - c_str
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorCounter::initialize(Parser &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:858,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:858,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: OperatorCounter::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - c_str
    - TSStatIntIncrement
    linkageType: ''
    returnType: bool
    signature: bool OperatorCounter::exec(const Resources & /* ATS_UNUSED res */)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:868,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:868,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:872,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:874,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:879,1
    - Dst: CookieHelper::cookieModifyHelper
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:881,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:882,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:883,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:884,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:886,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:886,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:887,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:888,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:888,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 894
    functionName: OperatorRMCookie::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::size
    - std::string::empty
    - Dbg
    - c_str
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldValueStringSet
    - std::string::c_str
    - CookieHelper::cookieModifyHelper
    linkageType: ''
    returnType: bool
    signature: bool OperatorRMCookie::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperatorCookies::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:900,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:901,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 902
    functionName: OperatorAddCookie::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - OperatorCookies::initialize
    - Parser::get_value
    linkageType: ''
    returnType: void
    signature: void OperatorAddCookie::initialize(Parser &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:909,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:912,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:912,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:916,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:918,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:919,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:921,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:921,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:921,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:922,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:922,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:923,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:925,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:931,1
    - Dst: CookieHelper::cookieModifyHelper
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:933,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:935,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:935,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:935,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:936,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:936,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 904
    functionDepth: 5
    functionLinenumber: 904
    functionLinenumberEnd: 940
    functionName: OperatorAddCookie::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - std::string::c_str
    - std::string::size
    - TSMimeHdrFieldValueStringGet
    - Dbg
    - c_str
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - append_value
    - CookieHelper::cookieModifyHelper
    linkageType: ''
    returnType: bool
    signature: bool OperatorAddCookie::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OperatorCookies::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:946,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:947,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 948
    functionName: OperatorSetCookie::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - OperatorCookies::initialize
    - Parser::get_value
    linkageType: ''
    returnType: void
    signature: void OperatorSetCookie::initialize(Parser &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:955,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:958,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:958,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:962,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:964,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:965,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:967,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:967,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:967,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:968,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:968,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:969,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:971,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:977,1
    - Dst: CookieHelper::cookieModifyHelper
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:979,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:981,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:981,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:981,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:982,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:982,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 950
    functionDepth: 5
    functionLinenumber: 950
    functionLinenumberEnd: 987
    functionName: OperatorSetCookie::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - std::string::c_str
    - std::string::size
    - TSMimeHdrFieldValueStringGet
    - Dbg
    - c_str
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - append_value
    - CookieHelper::cookieModifyHelper
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetCookie::exec(const Resources &res) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:994,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:995,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1001,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1004,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1004,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1004,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1007,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1007,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1015,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1024,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1030,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1031,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1032,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1038,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1040,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1045,1
    - Dst: std::string::find_last_of
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1047,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1051,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1072,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 6
    argNames:
    - cookies
    - cookies_len
    - updated_cookies
    - cookie_op
    - cookie_key
    - cookie_value
    argTypes:
    - char*
    - size_t
    - std::string
    - CookieHelper::CookieOp
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1077
    functionName: CookieHelper::cookieModifyHelper
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 3
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - std::string::size
    - std::string::append
    - std::string
    - Dbg
    - std::isspace
    - strncmp
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: "bool CookieHelper::cookieModifyHelper(const char *cookies, const size_t
      cookies_len, std::string &updated_cookies,\n                                 const
      CookieHelper::CookieOp cookie_op, const std::string &cookie_key,\n                                 const
      std::string &cookie_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1083,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1085,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1086
    functionName: OperatorSetConnDSCP::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnDSCP::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1091,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1092,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: OperatorSetConnDSCP::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnDSCP::initialize_hooks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketDscpSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1100,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1100,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1101,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1104
    functionName: OperatorSetConnDSCP::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnClientPacketDscpSet
    - get_int_value
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetConnDSCP::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1110,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1112,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1113
    functionName: OperatorSetConnMark::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnMark::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1118,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1119,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1121
    functionName: OperatorSetConnMark::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnMark::initialize_hooks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientPacketMarkSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1127,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1128,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1131
    functionName: OperatorSetConnMark::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - get_int_value
    - TSHttpTxnClientPacketMarkSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetConnMark::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1139
    functionName: OperatorSetDebug::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetDebug::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1144,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1145,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1147
    functionName: OperatorSetDebug::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetDebug::initialize_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1154
    functionName: OperatorSetDebug::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetDebug::exec(const Resources &res) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1159,1
    - Dst: parse_http_cntl_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1160,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1160,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1162,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1164,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1164,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1164,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1169
    functionName: OperatorSetHttpCntl::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - parse_http_cntl_qualifier
    - Parser::get_value
    - std::transform
    - std::string::begin
    - std::string::end
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetHttpCntl::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1174,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1175,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1176,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1178
    functionName: OperatorSetHttpCntl::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetHttpCntl::initialize_hooks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1190,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1190,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1192,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1193,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1196
    functionName: OperatorSetHttpCntl::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - static_cast<size_t>
    - TSHttpTxnCntlSet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetHttpCntl::exec(const Resources &res) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1201,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1202,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1203,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1212,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1212,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1221,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1224
    functionName: OperatorSetPluginCntl::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - Parser::get_arg
    - std::string::c_str
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetPluginCntl::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1230,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1231,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1232,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1233,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1234,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1235,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1236,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1238
    functionName: OperatorSetPluginCntl::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetPluginCntl::initialize_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1244,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1244,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1255,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1255,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1256,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1259
    functionName: OperatorSetPluginCntl::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - static_cast<int>
    - TSUserArgSet
    - reinterpret_cast<void *>
    - Dbg
    - TSUserArgGet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetPluginCntl::exec(const Resources &res) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1264,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1266,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1267,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1269,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1270,1
    - Dst: std::quoted
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1278,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1279,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1283,1
    - Dst: char::char
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1284,1
    - Dst: Parser::from_url
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1286,1
    - Dst: Parser::to_url
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1287,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1290,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1290,1
    - Dst: RecGetRecordInt
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1299,1
    - Dst: getRemapPlugin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1302,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1302,1
    - Dst: const_cast<char **>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1302,1
    - Dst: isPluginDynamicReloadEnabled
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1303,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1309,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1309,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1261
    functionDepth: 6
    functionLinenumber: 1261
    functionLinenumberEnd: 1311
    functionName: OperatorRunPlugin::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - get_yaml_path
    - isPluginDynamicReloadEnabled
    - Parser::from_url
    - Parser::to_url
    - getRemapPlugin
    - RecGetRecordInt
    - auto::c_str
    - const_cast<char **>
    - std::string::c_str
    - Operator::initialize
    - std::quoted
    - TSError
    - std::vector::size
    - std::vector::push_back
    - Parser::get_value
    - const_cast<char *>
    - char::char
    - c_str
    - Parser::get_arg
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void OperatorRunPlugin::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1316,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    functionName: OperatorRunPlugin::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    - require_resources
    linkageType: ''
    returnType: void
    signature: void OperatorRunPlugin::initialize_hooks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1324,1
    - Dst: doRemap
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: OperatorRunPlugin::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    - doRemap
    linkageType: ''
    returnType: bool
    signature: bool OperatorRunPlugin::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1336,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1338,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1338,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1339,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1341
    functionName: OperatorSetBodyFrom::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - set_value
    - require_resources
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetBodyFrom::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1347
    functionName: OperatorSetBodyFrom::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetBodyFrom::initialize_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1352,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1355,1
    - Dst: createRequestString
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1361,1
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1361,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1362,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1362,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1363,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1363,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1365,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1376,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1376,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1376,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1382,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1349
    functionDepth: 4
    functionLinenumber: 1349
    functionLinenumberEnd: 1388
    functionName: OperatorSetBodyFrom::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSError
    - TSHttpTxnIsInternal
    - TSHttpTxnHookAdd
    - TSContDataSet
    - Dbg
    - reinterpret_cast<struct sockaddr const *>
    - TSContCreate
    - static_cast<const char *>
    - get_value
    - TSFetchUrl
    - TSMutexCreate
    - TSHttpTxnStatusSet
    - createRequestString
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetBodyFrom::exec(const Resources &res) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1393,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1395,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1395,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1398,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1402,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1404,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1404,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1404,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1413
    functionName: OperatorSetStateFlag::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - std::transform
    - std::string::begin
    - std::string::end
    - Parser::get_arg
    - strtol
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateFlag::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1419,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1420,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1421,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1422,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1423,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1424,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1425,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1427
    functionName: OperatorSetStateFlag::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateFlag::initialize_hooks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1433,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1437,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1439,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1439,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1441,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1444
    functionName: OperatorSetStateFlag::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSUserArgSet
    - TSError
    - reinterpret_cast<void *>
    - Dbg
    - TSUserArgGet
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetStateFlag::exec(const Resources &res) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1449,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1451,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1451,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1454,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1458,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1458,1
    - Dst: has_conds
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1459,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1460,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1467
    functionName: OperatorSetStateInt8::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - set_value
    - get_int_value
    - Parser::get_arg
    - has_conds
    - strtol
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt8::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1473,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1474,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1475,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1476,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1477,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1478,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1479,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1481
    functionName: OperatorSetStateInt8::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt8::initialize_hooks()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1487,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1491,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1491,1
    - Dst: has_conds
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1494,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1497,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1498,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1498,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1500,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1505,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1508,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1510,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1511,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1514
    functionName: OperatorSetStateInt8::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSError
    - strtol
    - std::string::c_str
    - get_int_value
    - TSUserArgSet
    - reinterpret_cast<void *>
    - Dbg
    - TSWarning
    - static_cast<uint64_t>
    - has_conds
    - TSUserArgGet
    - append_value
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetStateInt8::exec(const Resources &res) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1519,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1521,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1521,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1524,1
    - Dst: set_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1528,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1528,1
    - Dst: has_conds
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1529,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1530,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1537
    functionName: OperatorSetStateInt16::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - Parser::get_value
    - TSError
    - set_value
    - get_int_value
    - Parser::get_arg
    - has_conds
    - strtol
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt16::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1543,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1544,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1545,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1546,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1547,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1548,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1549,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1551
    functionName: OperatorSetStateInt16::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt16::initialize_hooks()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1557,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1561,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1561,1
    - Dst: has_conds
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1564,1
    - Dst: append_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1567,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1568,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1568,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1570,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1575,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1578,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1580,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1581,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/operators.cc:1581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1584
    functionName: OperatorSetStateInt16::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSError
    - strtol
    - std::string::c_str
    - get_int_value
    - TSUserArgSet
    - reinterpret_cast<void *>
    - Dbg
    - TSWarning
    - static_cast<uint64_t>
    - has_conds
    - TSUserArgGet
    - append_value
    linkageType: ''
    returnType: bool
    signature: bool OperatorSetStateInt16::exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CondModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:68,1
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:68,1
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CondModifiers
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: operator|(CondModifiers a, const CondModifiers b)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - static_cast<CondModifiers>
    - static_cast<U>
    linkageType: ''
    returnType: CondModifiers
    signature: CondModifiers operator|(CondModifiers a, const CondModifiers b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CondModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:75,1
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:75,1
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CondModifiers
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: operator&(CondModifiers a, const CondModifiers b)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - static_cast<CondModifiers>
    - static_cast<U>
    linkageType: ''
    returnType: CondModifiers
    signature: CondModifiers operator&(CondModifiers a, const CondModifiers b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CondModifiers
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: '&

      operator|=(CondModifiers &a, const CondModifiers b)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondModifiers
    signature: 'CondModifiers &

      operator|=(CondModifiers &a, const CondModifiers b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CondModifiers
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: '&

      operator&=(CondModifiers &a, const CondModifiers b)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondModifiers
    signature: 'CondModifiers &

      operator&=(CondModifiers &a, const CondModifiers b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:94,1
    - Dst: static_cast<U>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - bit
    argTypes:
    - CondModifiers
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: has_modifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - static_cast<U>
    linkageType: ''
    returnType: bool
    signature: bool has_modifier(const CondModifiers flags, const CondModifiers bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - MatcherOps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Matcher::Matcher
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Matcher(const MatcherOps op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ~Matcher()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~Matcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Matcher::Matcher
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Matcher(const Matcher &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: operator=(const Matcher &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Matcher &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Matcher::op
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MatcherOps
    signature: MatcherOps op() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - op
    argTypes:
    - MatcherOps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Matchers::Matchers
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Matchers(const MatcherOps op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Matchers::set
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:131,1
    - Dst: std::get<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - d
    - mods
    argTypes:
    - T
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: Matchers::set
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - std::get<T>
    - Matchers::set
    linkageType: ''
    returnType: void
    signature: void set(const T &d, CondModifiers mods)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:141,1
    - Dst: template emplace<regexHelper>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:147,1
    - Dst: std::get<regexHelper>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:149,1
    - Dst: auto::setRegexMatch
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:151,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:151,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:152,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:152,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:153,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:153,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:154,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:157,1
    - Dst: template emplace<swoc::IPRangeSet>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:165,1
    - Dst: std::get<swoc::IPRangeSet>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:167,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:172,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:175,1
    - Dst: auto::mark
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:176,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:182,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:184,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:184,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:185,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:185,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:186,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:190,1
    - Dst: template emplace<std::set<T>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:196,1
    - Dst: std::get<std::set<T>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:197,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:202,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:208,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:210,1
    - Dst: auto::insert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:211,1
    - Dst: convert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:211,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:211,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:220,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:220,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:221,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:225,1
    - Dst: swoc::TextView::substr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:226,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:226,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:228,1
    - Dst: auto::insert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:229,1
    - Dst: convert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:229,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:229,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:232,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:233,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:233,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:235,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:236,1
    - Dst: template emplace<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:240,1
    - Dst: convert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:240,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - s
    - mods
    - convert
    argTypes:
    - std::string
    - CondModifiers
    - FN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 242
    functionName: Matchers::set
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - has_modifier
    - std::string
    - swoc::TextView::substr
    - swoc::IPRange::load
    - std::get<std::set<T>>
    - template emplace<std::set<T>>
    - std::runtime_error
    - template emplace<regexHelper>
    - auto::size
    - std::get<swoc::IPRangeSet>
    - swoc::TextView::size
    - std::getline
    - convert
    - std::string::c_str
    - TSError
    - std::get<regexHelper>
    - Dbg
    - TSReleaseAssert
    - auto::setRegexMatch
    - swoc::TextView::ltrim_if
    - template emplace<swoc::IPRangeSet>
    - auto::mark
    - auto::insert
    - auto::empty
    - template emplace<T>
    linkageType: ''
    returnType: void
    signature: void set(const std::string &s, CondModifiers mods, FN convert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Matchers::test_eq
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:250,1
    - Dst: Matchers::test_lt
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:253,1
    - Dst: Matchers::test_gt
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:256,1
    - Dst: Matchers::test_reg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:259,1
    - Dst: Matchers::test_set
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:262,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:266,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - T
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: Matchers::test
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - Matchers::test_lt
    - Matchers::test_reg
    - std::runtime_error
    - TSError
    - Matchers::test_eq
    - Matchers::test_set
    - Matchers::test_gt
    linkageType: ''
    returnType: bool
    signature: bool test(const T &t, const Resources &res) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:282,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:288,1
    - Dst: typeid
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:290,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:296,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - t
    - op
    - r
    argTypes:
    - T
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: Matchers::debug_helper
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 0
    functionsReached:
    - typeid
    - Dbg
    - std::visit
    - size
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void debug_helper(const T &t, const char *op, bool r) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:303,1
    - Dst: std::holds_alternative<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:303,1
    - Dst: std::get<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:304,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:306,1
    - Dst: Matchers::debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: Matchers::test_eq
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - 'on'
    - TSAssert
    - Matchers::debug_helper
    - std::holds_alternative<T>
    - std::get<T>
    linkageType: ''
    returnType: bool
    signature: bool test_eq(const T &t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:316,1
    - Dst: std::holds_alternative<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:316,1
    - Dst: std::get<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:317,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:319,1
    - Dst: Matchers::debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: Matchers::test_lt
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - 'on'
    - TSAssert
    - Matchers::debug_helper
    - std::holds_alternative<T>
    - std::get<T>
    linkageType: ''
    returnType: bool
    signature: bool test_lt(const T &t) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:329,1
    - Dst: std::holds_alternative<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:329,1
    - Dst: std::get<T>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:330,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:332,1
    - Dst: Matchers::debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: Matchers::test_gt
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - 'on'
    - TSAssert
    - Matchers::debug_helper
    - std::holds_alternative<T>
    - std::get<T>
    linkageType: ''
    returnType: bool
    signature: bool test_gt(const T &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:342,1
    - Dst: std::holds_alternative<std::set<T>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:342,1
    - Dst: std::get<std::set<T>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: Matchers::test_set
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - TSAssert
    - std::get<std::set<T>>
    - std::holds_alternative<std::set<T>>
    linkageType: ''
    returnType: bool
    signature: bool test_set(const T &c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: Matchers::test_reg
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_reg(const unsigned int /* t ATS_UNUSED */, const Resources
      & /* Not used */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: Matchers::test_reg
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_reg(const sockaddr * /* t ATS_UNUSED */, const Resources
      & /* Not used */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:363,1
    - Dst: std::holds_alternative<regexHelper>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:363,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:364,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:364,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:365,1
    - Dst: std::get<regexHelper>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:366,1
    - Dst: auto::regexMatch
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:367,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:367,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:367,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:367,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:370,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:371,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:371,1
    - Dst: const_cast<Resources &>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: Matchers::test_reg
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.h
    functionUses: 1
    functionsReached:
    - has_modifier
    - const_cast<Resources &>
    - std::get<regexHelper>
    - std::string::length
    - TSAssert
    - Dbg
    - auto::regexMatch
    - std::holds_alternative<regexHelper>
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool test_reg(const std::string &t, const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.h:35,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ~regexHelper()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/regex_helper.h
    functionUses: 0
    functionsReached:
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void ~regexHelper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnptr
    - contptr
    argTypes:
    - TSHttpTxn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Resources::Resources
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Resources(TSHttpTxn txnptr, TSCont contptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnptr
    - rri
    argTypes:
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Resources::Resources
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Resources(TSHttpTxn txnptr, TSRemapRequestInfo *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/trafficserver/plugins/header_rewrite/resources.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Resources()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~Resources()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Resources::Resources
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Resources(const Resources &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator=(const Resources &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Resources &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Resources::ready
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ready() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operator.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Operator::Operator
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Operator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~Operator()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Operator::Operator
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operator(const Operator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: operator=(const Operator &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Operator &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exec
      Src: /src/trafficserver/plugins/header_rewrite/operator.h:66,1
    - Dst: static_cast<Operator *>
      Src: /src/trafficserver/plugins/header_rewrite/operator.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: Operator::do_exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached:
    - exec
    - static_cast<Operator *>
    linkageType: ''
    returnType: unsigned
    signature: unsigned do_exec(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operator.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: OperatorHeaders::OperatorHeaders
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorHeaders()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: OperatorHeaders::OperatorHeaders
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorHeaders(const OperatorHeaders &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator=(const OperatorHeaders &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorHeaders &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operator.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: OperatorCookies::OperatorCookies
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorCookies()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: OperatorCookies::OperatorCookies
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorCookies(const OperatorCookies &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: operator=(const OperatorCookies &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorCookies &)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:44,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:45,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:49,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:49,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:53,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:55,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:65,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:65,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:75,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:83,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:83,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:88,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:88,1
    - Dst: clear
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:89,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:99,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:99,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:108,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:108,1
    - Dst: Parser::empty
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:112,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:120,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:132,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:132,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:135,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:135,1
    - Dst: clear
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:136,1
    - Dst: Parser::empty
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:142,1
    - Dst: Parser::preprocess
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:145,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 1
    argNames:
    - original_line
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 149
    functionName: Parser::parse_line
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached:
    - Parser::preprocess
    - emplace_back
    - std::string::substr
    - std::string::erase
    - std::string::size
    - TSError
    - Parser::empty
    - push_back
    - std::isspace
    - clear
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Parser::parse_line(const std::string &original_line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:157,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:158,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:160,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:161,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:162,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:162,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:163,1
    - Dst: getline
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:166,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:167,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:170,1
    - Dst: std::vector<std::string>::pop_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:175,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:182,1
    - Dst: std::vector<std::string>::erase
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:186,1
    - Dst: std::vector<std::string>::begin
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:186,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:197,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:197,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:198,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:198,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:199,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:202,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:210,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:211,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:211,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:217,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:220,1
    - Dst: std::vector<std::string>::begin
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:221,1
    - Dst: std::vector<std::string>::end
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:221,1
    - Dst: next
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:223,1
    - Dst: std::vector<std::string>::end
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:223,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 237
    functionName: Parser::preprocess
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 1
    functionsReached:
    - getline
    - std::vector<std::string>::size
    - std::vector<std::string>::pop_back
    - std::string::substr
    - TSError
    - std::string::size
    - std::vector<std::string>::erase
    - std::string::empty
    - next
    - std::string::find_first_of
    - push_back
    - std::vector<std::string>::begin
    - std::vector<std::string>::end
    - c_str
    - substr
    - size
    linkageType: ''
    returnType: bool
    signature: bool Parser::preprocess(std::vector<std::string> tokens)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - hook
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 282
    functionName: Parser::cond_is_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Parser::cond_is_hook(TSHttpHookID &hook) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:291,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:300,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:300,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:313,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:313,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:327,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 329
    functionName: HRWSimpleTokenizer::HRWSimpleTokenizer
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void HRWSimpleTokenizer::HRWSimpleTokenizer(const std::string &line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:342,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:346,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:348,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:349,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:350,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:350,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:351,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:355,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:356,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:356,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 360
    functionName: _log_stderr
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - TSError
    - std::string::substr
    - std::string::erase
    - read
    - std::string::empty
    - close
    - std::string::append
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void _log_stderr(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:342,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:346,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:348,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:349,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:350,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:350,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:351,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:355,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:356,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:356,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 360
    functionName: _log_stderr
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - TSError
    - std::string::substr
    - std::string::erase
    - read
    - std::string::empty
    - close
    - std::string::append
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void _log_stderr(int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Layout::get
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:368,1
    - Dst: Recv_from_vconn::_status
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:373,1
    - Dst: auto::permissions
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:374,1
    - Dst: BaseLogFile::exists
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:375,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_regular_file
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:375,1
    - Dst: std::string::ends_with
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:378,1
    - Dst: pipe
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:382,1
    - Dst: pipe
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:382,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:383,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:383,1
    - Dst: fork
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:387,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:389,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:389,1
    - Dst: dup2
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:392,1
    - Dst: dup2
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:393,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:394,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:395,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:397,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:397,1
    - Dst: execvp
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:398,1
    - Dst: const_cast<char **>
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:398,1
    - Dst: _exit
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:399,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:403,1
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:404,1
    - Dst: _log_stderr
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:406,1
    - Dst: std::make_shared<HRW4UPipe>
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:408,1
    - Dst: fdopen
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:408,1
    - Dst: auto::set_pid
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:409,1
    - Dst: std::make_unique<std::istream>
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:410,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:410,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:412,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:412,1
    - Dst: std::make_unique<std::ifstream>
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:414,1
    - Dst: auto::is_open
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:415,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/parser.cc:419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 421
    functionName: openConfig
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.cc
    functionUses: 0
    functionsReached:
    - _log_stderr
    - std::make_unique<std::istream>
    - std::make_unique<std::ifstream>
    - dup2
    - execvp
    - _exit
    - strerror
    - auto::is_open
    - std::make_shared<HRW4UPipe>
    - const_cast<char **>
    - swoc::SWOC_VERSION_NS::file::is_regular_file
    - std::move
    - std::string::c_str
    - pipe
    - TSError
    - close
    - auto::permissions
    - Layout::get
    - Recv_from_vconn::_status
    - std::string::ends_with
    - auto::set_pid
    - auto::get
    - fork
    - BaseLogFile::exists
    - fdopen
    linkageType: ''
    returnType: std::optional<ConfReader>
    signature: std::optional<ConfReader> openConfig(const std::string &filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:43,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:44,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:46,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:46,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:46,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:47,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:49,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:53,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:55,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:56,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ConditionStatus::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - std::runtime_error
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - require_resources
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionStatus::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:63,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ConditionStatus::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void ConditionStatus::initialize_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:70,1
    - Dst: static_cast<MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:72,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ConditionStatus::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<MatcherType *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionStatus::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:79,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ConditionStatus::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionStatus::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:86,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:87,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:89,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:89,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:89,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:90,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: ConditionMethod::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - require_resources
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionMethod::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionMethod::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:101,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:103,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ConditionMethod::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionMethod::append_value
    linkageType: ''
    returnType: bool
    signature: bool ConditionMethod::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:118,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:118,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ConditionMethod::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - c_str
    - std::string::append
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: void
    signature: void ConditionMethod::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:128,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:129,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:131,1
    - Dst: getpid
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:132,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:133,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:133,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:135,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:135,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:135,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:135,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: ConditionRandom::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - c_str
    - Parser::get_arg
    - gettimeofday
    - std::make_unique<MatcherType>
    - auto::set
    - strtol
    - getpid
    linkageType: ''
    returnType: void
    signature: void ConditionRandom::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:142,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:143,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:143,1
    - Dst: rand_r
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ConditionRandom::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - rand_r
    linkageType: ''
    returnType: bool
    signature: bool ConditionRandom::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:149,1
    - Dst: rand_r
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:150,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: ConditionRandom::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - rand_r
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionRandom::append_value(std::string &s, const Resources
      & /* res ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:158,1
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:160,1
    - Dst: access
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:163,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: ConditionAccess::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - gettimeofday
    - c_str
    - access
    - Condition::initialize
    linkageType: ''
    returnType: void
    signature: void ConditionAccess::initialize(Parser &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConditionAccess::eval
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: ConditionAccess::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionAccess::eval
    linkageType: ''
    returnType: void
    signature: void ConditionAccess::append_value(std::string &s, const Resources
      &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:181,1
    - Dst: access
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:185,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:185,1
    - Dst: std::atomic_thread_fence
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:188,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:192,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: ConditionAccess::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - std::atomic_thread_fence
    - Dbg
    - c_str
    - gettimeofday
    - access
    linkageType: ''
    returnType: bool
    signature: bool ConditionAccess::eval(const Resources & /* res ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:201,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:202,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:204,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:204,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:204,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:205,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:207,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:208,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:209,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: ConditionHeader::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - require_resources
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionHeader::initialize(Parser &p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:231,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:231,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:231,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:232,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:232,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:235,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:238,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:238,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:239,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 248
    functionName: ConditionHeader::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::append
    - Dbg
    - c_str
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void ConditionHeader::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionHeader::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:255,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:256,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:258,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: ConditionHeader::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionHeader::append_value
    - Dbg
    - static_cast<const MatcherType *>
    - get
    linkageType: ''
    returnType: bool
    signature: bool ConditionHeader::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:265,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:267,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:268,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:268,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:268,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: ConditionUrl::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionUrl::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:275,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:277,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:277,1
    - Dst: parse_url_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: ConditionUrl::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - parse_url_qualifier
    - Dbg
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionUrl::set_qualifier(const std::string &q)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:289,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:290,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:298,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:301,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:304,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:307,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:314,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:315,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:319,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:329,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:330,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:331,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:334,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:335,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:336,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:339,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:340,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:341,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:344,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:345,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:346,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:349,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:350,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:351,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:356,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:357,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:358,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 363
    functionName: ConditionUrl::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - TSfree
    - TSError
    - TSUrlPortGet
    - TSHttpTxnPristineUrlGet
    - std::string::append
    - TSUrlStringGet
    - Dbg
    - TSUrlHostGet
    - TSUrlSchemeGet
    - TSHttpHdrUrlGet
    - std::to_string
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: void
    signature: void ConditionUrl::append_value(std::string &s, const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionUrl::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:370,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:372,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 5
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: ConditionUrl::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - ConditionUrl::append_value
    - static_cast<const Matchers<std::string> *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionUrl::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:379,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:381,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:382,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:382,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:382,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:383,1
    - Dst: find_first_of
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:385,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:388,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: ConditionDBM::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - mods
    - find_first_of
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - substr
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionDBM::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 426
    functionName: ConditionDBM::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionDBM::append_value(std::string & /* s ATS_UNUSED */, const
      Resources & /* res ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionDBM::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:433,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:434,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:436,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: ConditionDBM::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionDBM::append_value
    linkageType: ''
    returnType: bool
    signature: bool ConditionDBM::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:443,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:445,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:447,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:447,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:447,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:448,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: ConditionCookie::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - require_resources
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionCookie::initialize(Parser &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:464,1
    - Dst: length
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:465,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:473,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:479,1
    - Dst: ConditionCookie::get_cookie_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:485,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:490,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:491,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 496
    functionName: ConditionCookie::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - length
    - std::string::append
    - Dbg
    - c_str
    - ConditionCookie::get_cookie_value
    linkageType: ''
    returnType: void
    signature: void ConditionCookie::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionCookie::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:503,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:504,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:506,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 6
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: ConditionCookie::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionCookie::append_value
    linkageType: ''
    returnType: bool
    signature: bool ConditionCookie::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:513,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: ConditionInternalTxn::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool ConditionInternalTxn::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:522,1
    - Dst: std::make_unique<MatcherTypeIp>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:525,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:527,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:527,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:527,1
    - Dst: static_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:527,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:528,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:530,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:532,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:532,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:532,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 535
    functionName: ConditionIp::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - static_cast<const sockaddr *>
    - mods
    - std::make_unique<MatcherType>
    - Condition::initialize
    - Parser::get_arg
    - std::make_unique<MatcherTypeIp>
    - std::move
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionIp::initialize(Parser &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:540,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:542,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:542,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:553,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 555
    functionName: ConditionIp::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionIp::set_qualifier(const std::string &q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:560,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:565,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:568,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:571,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:574,1
    - Dst: static_cast<const Matchers<const sockaddr *> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:579,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:579,1
    - Dst: ConditionIp::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:586,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:587,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:587,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:589,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: ConditionIp::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - TSHttpTxnIncomingAddrGet
    - TSHttpTxnServerAddrGet
    - TSHttpTxnOutgoingAddrGet
    - std::string::c_str
    - getClientAddr
    - ConditionIp::append_value
    - Dbg
    - static_cast<const Matchers<const sockaddr *> *>
    - static_cast<const Matchers<std::string> *>
    - op
    linkageType: ''
    returnType: bool
    signature: bool ConditionIp::eval(const Resources &res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:603,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:603,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:606,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:606,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:609,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:609,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:612,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:613,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 620
    functionName: ConditionIp::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    - TSHttpTxnServerAddrGet
    - getClientAddr
    - Dbg
    - getIP
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: void
    signature: void ConditionIp::append_value(std::string &s, const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:626,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:627,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:629,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:629,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:629,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:629,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: ConditionTransactCount::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionTransactCount::initialize(Parser &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:636,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:639,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:641,1
    - Dst: static_cast<MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:642,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:642,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: ConditionTransactCount::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - TSHttpSsnTransactionCount
    - TSHttpTxnSsnGet
    - Dbg
    - static_cast<MatcherType *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionTransactCount::eval(const Resources &res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:652,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:656,1
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:657,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:660,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:660,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: ConditionTransactCount::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    - ink_fast_itoa
    - TSHttpTxnSsnGet
    - std::string::append
    - Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void ConditionTransactCount::append_value(std::string &s, Resources
      const &res)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:675,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:677,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:682,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:682,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:684,1
    - Dst: localtime_r
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:686,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:691,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:694,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:697,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:700,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:703,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:706,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:709,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:712,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - qual
    - resources
    argTypes:
    - NowQualifiers
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 717
    functionName: ConditionNow::get_now_qualified
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSReleaseAssert
    - localtime_r
    - gmtime_r
    - time
    - TSUserArgGet
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConditionNow::get_now_qualified(NowQualifiers qual, const Resources
      &resources) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:722,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:724,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:726,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:726,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:726,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:726,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: ConditionNow::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionNow::initialize(Parser &p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:733,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:735,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:735,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:754,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:754,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 756
    functionName: ConditionNow::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionNow::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:761,1
    - Dst: ConditionNow::get_now_qualified
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:761,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:762,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: ConditionNow::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ConditionNow::get_now_qualified
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionNow::append_value(std::string &s, const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionNow::get_now_qualified
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:768,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:770,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:771,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: ConditionNow::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionNow::get_now_qualified
    linkageType: ''
    returnType: bool
    signature: bool ConditionNow::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: ConditionGeo::get_geo_string
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    linkageType: ''
    returnType: std::string
    signature: std::string ConditionGeo::get_geo_string(const sockaddr * /* addr ATS_UNUSED
      */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: ConditionGeo::get_geo_int
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConditionGeo::get_geo_int(const sockaddr * /* addr ATS_UNUSED
      */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:791,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:793,1
    - Dst: std::make_unique<Matchers<int64_t>>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:794,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:796,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:796,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:796,1
    - Dst: Parser::parseNumeric<int64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:796,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:797,1
    - Dst: std::make_unique<Matchers<std::string>>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:800,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:802,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:802,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:802,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 805
    functionName: ConditionGeo::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Matchers<std::string>>
    - ConditionGeo::is_int_type
    - mods
    - Condition::initialize
    - Parser::parseNumeric<int64_t>
    - Parser::get_arg
    - std::make_unique<Matchers<int64_t>>
    - std::move
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionGeo::initialize(Parser &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:810,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:812,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:812,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:816,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:819,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:822,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:825,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:827,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 829
    functionName: ConditionGeo::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - ConditionGeo::is_int_type
    - Dbg
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionGeo::set_qualifier(const std::string &q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:834,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:835,1
    - Dst: ConditionGeo::get_geo_int
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:835,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:835,1
    - Dst: ConditionGeo::get_geo_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:837,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:837,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:839,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 840
    functionName: ConditionGeo::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionGeo::get_geo_int
    - ConditionGeo::is_int_type
    - ConditionGeo::get_geo_string
    - getClientAddr
    - Dbg
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionGeo::append_value(std::string &s, const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:847,1
    - Dst: ConditionGeo::is_int_type
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:848,1
    - Dst: ConditionGeo::get_geo_int
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:849,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:849,1
    - Dst: static_cast<const Matchers<int64_t> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:851,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:851,1
    - Dst: ConditionGeo::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:855,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:856,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 860
    functionName: ConditionGeo::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - ConditionGeo::get_geo_int
    - ConditionGeo::append_value
    - static_cast<const Matchers<int64_t> *>
    - ConditionGeo::is_int_type
    - getClientAddr
    - Dbg
    - static_cast<const Matchers<std::string> *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionGeo::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:869,1
    - Dst: std::make_unique<Matchers<uint64_t>>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:872,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:874,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:874,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:874,1
    - Dst: Parser::parseNumeric<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:874,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:875,1
    - Dst: std::make_unique<Matchers<std::string>>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:878,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:880,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:880,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:880,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 883
    functionName: ConditionId::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Matchers<uint64_t>>
    - std::make_unique<Matchers<std::string>>
    - Parser::parseNumeric<uint64_t>
    - mods
    - Condition::initialize
    - Parser::get_arg
    - std::move
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionId::initialize(Parser &p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:888,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:890,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:890,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:899,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 901
    functionName: ConditionId::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionId::set_qualifier(const std::string &q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:908,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:908,1
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:911,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:914,1
    - Dst: TSClientRequestUuidGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:920,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:925,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - s
    - res ATS_UNUSED
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 926
    functionName: ConditionId::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSUuidStringGet
    - TSProcessUuidGet
    - Dbg
    - TSHttpTxnIdGet
    - TSClientRequestUuidGet
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionId::append_value(std::string &s, const Resources &res
      ATS_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:932,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:934,1
    - Dst: static_cast<const Matchers<uint64_t> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:935,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:935,1
    - Dst: ConditionId::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:939,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:940,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:940,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:942,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 928
    functionDepth: 3
    functionLinenumber: 928
    functionLinenumberEnd: 945
    functionName: ConditionId::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<const Matchers<uint64_t> *>
    - Dbg
    - TSHttpTxnIdGet
    - static_cast<const Matchers<std::string> *>
    - ConditionId::append_value
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool ConditionId::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:950,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:952,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:954,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:954,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:954,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 956
    functionName: ConditionCidr::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionCidr::initialize(Parser &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:965,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:967,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:967,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:968,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:968,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:973,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:977,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:977,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:982,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:982,1
    - Dst: ConditionCidr::_create_masks
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:988,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 990
    functionName: ConditionCidr::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionCidr::_create_masks
    - TSError
    - Dbg
    - strtol
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionCidr::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionCidr::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:997,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:998,1
    - Dst: static_cast<MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1000,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1001
    functionName: ConditionCidr::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - ConditionCidr::append_value
    - static_cast<MatcherType *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionCidr::eval(const Resources &res)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1006,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1012,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1015,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1022,1
    - Dst: memset
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1025,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1030,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1039
    functionName: ConditionCidr::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - memset
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - reinterpret_cast<const struct sockaddr_in *>
    - getClientAddr
    linkageType: ''
    returnType: void
    signature: void ConditionCidr::append_value(std::string &s, const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1048
    functionName: ConditionCidr::_create_masks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - htonl
    linkageType: ''
    returnType: void
    signature: void ConditionCidr::_create_masks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1053,1
    - Dst: std::make_unique<MatcherTypeIp>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1056,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1058,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1058,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1058,1
    - Dst: static_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1058,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1059,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1061,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1063,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1063,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1063,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1066
    functionName: ConditionInbound::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - static_cast<const sockaddr *>
    - mods
    - std::make_unique<MatcherType>
    - Condition::initialize
    - Parser::get_arg
    - std::make_unique<MatcherTypeIp>
    - std::move
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionInbound::initialize(Parser &p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1071,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1073,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1073,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1096,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1096,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1098
    functionName: ConditionInbound::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionInbound::set_qualifier(const std::string &q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1104,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1109,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1112,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1116,1
    - Dst: get_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1116,1
    - Dst: static_cast<const Matchers<const sockaddr *> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1121,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1121,1
    - Dst: ConditionInbound::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1128,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1129,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1129,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1131,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1100
    functionDepth: 3
    functionLinenumber: 1100
    functionLinenumberEnd: 1135
    functionName: ConditionInbound::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - TSHttpTxnIncomingAddrGet
    - TSError
    - std::string::c_str
    - get_qualifier
    - getClientAddr
    - Dbg
    - static_cast<const Matchers<const sockaddr *> *>
    - static_cast<const Matchers<std::string> *>
    - ConditionInbound::append_value
    - op
    linkageType: ''
    returnType: bool
    signature: bool ConditionInbound::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionInbound::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: ConditionInbound::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 2
    functionsReached:
    - ConditionInbound::append_value
    linkageType: ''
    returnType: void
    signature: void ConditionInbound::append_value(std::string &s, const Resources
      &res)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1151,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1151,1
    - Dst: getPort
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1154,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1154,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1155,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1159,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1159,1
    - Dst: getPort
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1162,1
    - Dst: getClientAddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1162,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1163,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1167,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1170,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1173,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1176,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1179,1
    - Dst: TSHttpTxnClientProtocolStackGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1185,1
    - Dst: std::array::size
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1185,1
    - Dst: std::array::data
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1185,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1187,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - s
    - res
    - qual
    argTypes:
    - std::string
    - Resources
    - NetworkSessionQualifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1143
    functionDepth: 3
    functionLinenumber: 1143
    functionLinenumberEnd: 1202
    functionName: ConditionInbound::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 2
    functionsReached:
    - TSHttpTxnIncomingAddrGet
    - TSHttpTxnClientProtocolStackGet
    - std::string::reserve
    - getClientAddr
    - snprintf
    - strlen
    - std::array::size
    - getIP
    - getPort
    - TSHttpTxnClientProtocolStackContains
    - std::array::data
    linkageType: ''
    returnType: void
    signature: void ConditionInbound::append_value(std::string &s, const Resources
      &res, NetworkSessionQualifiers qual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: ConditionStringLiteral::ConditionStringLiteral
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionStringLiteral::ConditionStringLiteral(const std::string
      &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1214,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1215
    functionName: ConditionStringLiteral::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void ConditionStringLiteral::append_value(std::string &s, const Resources
      & /* res ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1220,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1222,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1223
    functionName: ConditionStringLiteral::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionStringLiteral::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1229,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1230,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1232,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1232,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1232,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1232,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1234
    functionName: ConditionSessionTransactCount::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionSessionTransactCount::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1239,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1241,1
    - Dst: static_cast<MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1242,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    functionName: ConditionSessionTransactCount::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<MatcherType *>
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: bool
    signature: bool ConditionSessionTransactCount::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1249,1
    - Dst: ink_fast_itoa
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1250,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1253,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1253,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1256
    functionName: ConditionSessionTransactCount::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ink_fast_itoa
    - TSHttpTxnServerSsnTransactionCount
    - std::string::append
    - Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void ConditionSessionTransactCount::append_value(std::string &s, Resources
      const &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1261,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1262,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1263,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1265,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1265,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1265,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1265,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1267
    functionName: ConditionTcpInfo::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Dbg
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionTcpInfo::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1272,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1273,1
    - Dst: add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: ConditionTcpInfo::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void ConditionTcpInfo::initialize_hooks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionTcpInfo::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1282,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1283,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1283,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1285,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1288
    functionName: ConditionTcpInfo::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - ConditionTcpInfo::append_value
    - Dbg
    - static_cast<const Matchers<std::string> *>
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool ConditionTcpInfo::eval(const Resources &res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1294,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1295,1
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1302,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1304,1
    - Dst: getsockopt
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1306,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1307,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1307,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1315,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1328
    functionName: ConditionTcpInfo::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - TSHttpTxnIsInternal
    - TSHttpTxnClientFdGet
    - getsockopt
    - Dbg
    - snprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: void ConditionTcpInfo::append_value(std::string &s, [[maybe_unused]]
      Resources const &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1333,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1334,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1336,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1336,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1336,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    functionName: ConditionCache::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionCache::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionCache::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1345,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1346,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1348,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1349
    functionName: ConditionCache::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionCache::append_value
    linkageType: ''
    returnType: bool
    signature: bool ConditionCache::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1364,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1364,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1366,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1367,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1375
    functionName: ConditionCache::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - std::string::c_str
    - TSHttpTxnCacheLookupStatusGet
    linkageType: ''
    returnType: void
    signature: void ConditionCache::append_value(std::string &s, const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1381,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1383,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1384,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1384,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1384,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1386
    functionName: ConditionNextHop::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionNextHop::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1391,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1392,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1392,1
    - Dst: parse_next_hop_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1394
    functionName: ConditionNextHop::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - parse_next_hop_qualifier
    - Dbg
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionNextHop::set_qualifier(const std::string &q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnNextHopNameGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1401,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1403,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1404,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1406,1
    - Dst: TSHttpTxnNextHopPortGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1410,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1411,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1412,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1412,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1418
    functionName: ConditionNextHop::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnNextHopPortGet
    - std::string::append
    - Dbg
    - TSReleaseAssert
    - TSHttpTxnNextHopNameGet
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void ConditionNextHop::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionNextHop::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1425,1
    - Dst: static_cast<const Matchers<std::string> *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1427,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1428
    functionName: ConditionNextHop::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - ConditionNextHop::append_value
    - static_cast<const Matchers<std::string> *>
    linkageType: ''
    returnType: bool
    signature: bool ConditionNextHop::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1434,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1436,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1436,1
    - Dst: parse_http_cntl_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1438
    functionName: ConditionHttpCntl::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - parse_http_cntl_qualifier
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionHttpCntl::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCntlGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1443,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1444,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1445
    functionName: ConditionHttpCntl::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnCntlGet
    - c_str
    linkageType: ''
    returnType: void
    signature: void ConditionHttpCntl::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1450,1
    - Dst: TSHttpTxnCntlGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1452
    functionName: ConditionHttpCntl::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpTxnCntlGet
    linkageType: ''
    returnType: bool
    signature: bool ConditionHttpCntl::eval(const Resources &res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1458,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1460,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1460,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1462,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1462,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1464,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1467
    functionName: ConditionStateFlag::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Dbg
    - strtol
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionStateFlag::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionStateFlag::eval
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1472,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1474
    functionName: ConditionStateFlag::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ConditionStateFlag::eval
    linkageType: ''
    returnType: void
    signature: void ConditionStateFlag::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1479,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1479,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1484
    functionName: ConditionStateFlag::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint64_t>
    - Dbg
    - TSUserArgGet
    linkageType: ''
    returnType: bool
    signature: bool ConditionStateFlag::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1490,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1491,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1493,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1493,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1493,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1493,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1495
    functionName: ConditionStateInt8::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt8::initialize(Parser &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1500,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1502,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1502,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1504,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1504,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1506,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1508
    functionName: ConditionStateInt8::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Dbg
    - strtol
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt8::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionStateInt8::_get_data
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1513,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1515,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1517,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1518
    functionName: ConditionStateInt8::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ConditionStateInt8::_get_data
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt8::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionStateInt8::_get_data
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1523,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1525,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1527,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1528
    functionName: ConditionStateInt8::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ConditionStateInt8::_get_data
    - static_cast<const MatcherType *>
    - get
    linkageType: ''
    returnType: bool
    signature: bool ConditionStateInt8::eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Condition::initialize
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1534,1
    - Dst: std::make_unique<MatcherType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1535,1
    - Dst: auto::set
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1537,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1537,1
    - Dst: mods
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1537,1
    - Dst: Parser::parseNumeric<DataType>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1537,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1539
    functionName: ConditionStateInt16::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Parser::parseNumeric<DataType>
    - mods
    - Condition::initialize
    - std::move
    - Parser::get_arg
    - std::make_unique<MatcherType>
    - auto::set
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt16::initialize(Parser &p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1544,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1546,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1547,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1547,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1550,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1550,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1552,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1555
    functionName: ConditionStateInt16::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::string::empty
    - Dbg
    - strtol
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt16::set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionStateInt16::_get_data
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1560,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1562,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1563,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1564
    functionName: ConditionStateInt16::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionStateInt16::_get_data
    - Dbg
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt16::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionStateInt16::_get_data
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1569,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1571,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1573,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1574
    functionName: ConditionStateInt16::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - ConditionStateInt16::_get_data
    - Dbg
    - static_cast<const MatcherType *>
    - get
    linkageType: ''
    returnType: bool
    signature: bool ConditionStateInt16::eval(const Resources &res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1580,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1582,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1585,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1585,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1589,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1589,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1591,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1593
    functionName: ConditionLastCapture::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::string::empty
    - Dbg
    - strtol
    - std::string::c_str
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void ConditionLastCapture::set_qualifier(const std::string &q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1602,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1602,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1605
    functionName: ConditionLastCapture::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - std::string_view
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void ConditionLastCapture::append_value(std::string &s, const Resources
      &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionLastCapture::append_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1612,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1613,1
    - Dst: static_cast<const MatcherType *>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1615,1
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1616
    functionName: ConditionLastCapture::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 0
    functionsReached:
    - get
    - Dbg
    - static_cast<const MatcherType *>
    - ConditionLastCapture::append_value
    linkageType: ''
    returnType: bool
    signature: bool ConditionLastCapture::eval(const Resources &res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1625,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1625,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1628,1
    - Dst: TSVConnPPInfoGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1631,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1631,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1631,1
    - Dst: reinterpret_cast<const char **>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1631,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1635,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.cc:1636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - txnp
    - txn_private_slot
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1618
    functionDepth: 3
    functionLinenumber: 1618
    functionLinenumberEnd: 1640
    functionName: getClientAddr
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSHttpTxnSsnGet
    - reinterpret_cast<const char **>
    - Dbg
    - TSVConnPPInfoGet
    - TSHttpSsnClientVConnGet
    - TSUserArgGet
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: struct sockaddr
    signature: 'struct sockaddr *

      getClientAddr(TSHttpTxn txnp, int txn_private_slot)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setg
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: HRW4UPipe::HRW4UPipe
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - setg
    linkageType: ''
    returnType: void
    signature: void HRW4UPipe(FILE *pipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~HRW4UPipe() override
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~HRW4UPipe() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: HRW4UPipe::set_pid
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pid(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: HRW4UPipe::exit_status
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int exit_status() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:62,1
    - Dst: waitpid
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:68,1
    - Dst: WIFEXITED
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:69,1
    - Dst: WEXITSTATUS
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:70,1
    - Dst: WIFSIGNALED
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:71,1
    - Dst: WTERMSIG
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: HRW4UPipe::close
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - WTERMSIG
    - fclose
    - waitpid
    - WIFEXITED
    - WEXITSTATUS
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rec_updateof
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:85,1
    - Dst: fread
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:88,1
    - Dst: rec_updateof
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:90,1
    - Dst: setg
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:93,1
    - Dst: traits_type::to_int_type
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:94,1
    - Dst: gptr
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: HRW4UPipe::underflow
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - rec_updateof
    - gptr
    - setg
    - fread
    - traits_type::to_int_type
    linkageType: ''
    returnType: int
    signature: int underflow() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Parser::Parser
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - from_url
    - to_url
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Parser::Parser
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(char *from_url, char *to_url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Parser::Parser
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: operator=(const Parser &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Parser::from_url
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  from_url() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Parser::to_url
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  to_url() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: Parser::empty
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: Parser::get_clause
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondClause
    signature: CondClause get_clause() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: Parser::is_cond
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cond() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Parser::is_else
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_else() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: Parser::is_elif
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_elif() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: "&\n  get_op() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_op() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: "&\n  get_arg()"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_arg()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: "&\n  get_value() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_value() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:189,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:189,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:189,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Parser::mod_exist
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - begin
    - std::find
    - end
    linkageType: ''
    returnType: bool
    signature: bool mod_exist(const std::string &m) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: "&\n  get_tokens() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> &\n  get_tokens() const"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:207,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:213,1
    - Dst: std::stol
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:215,1
    - Dst: std::stoll
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:217,1
    - Dst: std::stoll
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:220,1
    - Dst: min
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:221,1
    - Dst: max
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:221,1
    - Dst: std::out_of_range
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:222,1
    - Dst: static_cast<NumericT>
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:224,1
    - Dst: std::stoul
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:226,1
    - Dst: std::stoull
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:228,1
    - Dst: std::stoull
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:231,1
    - Dst: max
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:232,1
    - Dst: std::out_of_range
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:233,1
    - Dst: static_cast<NumericT>
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:235,1
    - Dst: std::stof
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:237,1
    - Dst: std::stod
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:239,1
    - Dst: std::stold
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:241,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/parser.h:246,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 248
    functionName: Parser::parseNumeric
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - std::string::size
    - std::stoi
    - std::stof
    - std::stod
    - min
    - max
    - std::stold
    - std::stoul
    - std::stol
    - static_cast<NumericT>
    - std::stoull
    - std::out_of_range
    - std::stoll
    linkageType: ''
    returnType: NumericT
    signature: NumericT parseNumeric(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: HRWSimpleTokenizer::HRWSimpleTokenizer
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HRWSimpleTokenizer(const HRWSimpleTokenizer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: operator=(const HRWSimpleTokenizer &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const HRWSimpleTokenizer &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: "&\n  get_tokens() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> &\n  get_tokens() const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.cc:29,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.cc:29,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.cc:34,1
    - Dst: pcre_fullinfo
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.cc:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - nocase
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: regexHelper::setRegexMatch
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/regex_helper.cc
    functionUses: 0
    functionsReached:
    - pcre_compile
    - c_str
    - pcre_study
    - pcre_fullinfo
    linkageType: ''
    returnType: bool
    signature: bool regexHelper::setRegexMatch(const std::string &s, bool nocase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/header_rewrite/regex_helper.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - ovector
    argTypes:
    - char*
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: regexHelper::regexMatch
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/regex_helper.cc
    functionUses: 0
    functionsReached:
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: int regexHelper::regexMatch(const char *str, int len, int ovector[])
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Condition::Condition
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Condition()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~Condition() override
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~Condition() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Condition::Condition
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Condition(const Condition &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: operator=(const Condition &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Condition &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eval
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:52,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:54,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:59,1
    - Dst: static_cast<Condition *>
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:60,1
    - Dst: static_cast<Condition *>
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: Condition::do_eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached:
    - has_modifier
    - static_cast<Condition *>
    - eval
    linkageType: ''
    returnType: bool
    signature: bool do_eval(const Resources &res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: Condition::last
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached:
    - has_modifier
    linkageType: ''
    returnType: bool
    signature: bool last() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: Condition::mods
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondModifiers
    signature: CondModifiers mods() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrStringToWKS
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:92,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:92,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Condition::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 13
    functionsReached:
    - std::string::c_str
    - TSMimeHdrStringToWKS
    - std::string::length
    linkageType: ''
    returnType: void
    signature: void set_qualifier(const std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/condition.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Condition::get_matcher
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Matcher
    signature: "Matcher *\n  get_matcher() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Condition::get_cond_op
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MatcherOps
    signature: MatcherOps get_cond_op() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Condition::get_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_qualifier() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:38,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:39,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:44,1
    - Dst: MMDB_s::MMDB_s
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:48,1
    - Dst: MMDB_open
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:50,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:50,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:52,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:52,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:52,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:56,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: MMConditionGeo::initLibrary
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc
    functionUses: 0
    functionsReached:
    - MMDB_s::MMDB_s
    - MMDB_open
    - std::string::empty
    - Dbg
    - MMDB_strerror
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void MMConditionGeo::initLibrary(const std::string &path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:66,1
    - Dst: MMDB_lookup_sockaddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:73,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:79,1
    - Dst: MMDB_get_entry_data_list
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:85,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:85,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:103,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:112,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:112,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:115,1
    - Dst: MMDB_free_entry_data_list
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: MMConditionGeo::get_geo_string
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc
    functionUses: 0
    functionsReached:
    - MMDB_get_value
    - MMDB_get_entry_data_list
    - MMDB_lookup_sockaddr
    - MMDB_free_entry_data_list
    - std::string
    - Dbg
    - MMDB_strerror
    linkageType: ''
    returnType: std::string
    signature: std::string MMConditionGeo::get_geo_string(const sockaddr *addr) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:131,1
    - Dst: MMDB_lookup_sockaddr
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:135,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:138,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:138,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:144,1
    - Dst: MMDB_get_entry_data_list
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:150,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:150,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:155,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:165,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:172,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:174,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:174,1
    - Dst: MMDB_free_entry_data_list
      Src: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 184
    functionName: MMConditionGeo::get_geo_int
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo_maxmind.cc
    functionUses: 0
    functionsReached:
    - MMDB_get_value
    - MMDB_get_entry_data_list
    - MMDB_lookup_sockaddr
    - MMDB_free_entry_data_list
    - Dbg
    - MMDB_strerror
    linkageType: ''
    returnType: int64_t
    signature: int64_t MMConditionGeo::get_geo_int(const sockaddr *addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/value.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Value::Value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 2
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Value::Value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Value(const Value &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: operator=(const Value &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Value &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Value::empty
      Src: /src/trafficserver/plugins/header_rewrite/value.h:56,1
    - Dst: Value::append_value
      Src: /src/trafficserver/plugins/header_rewrite/value.h:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - std::string
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: Value::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 1
    functionsReached:
    - Value::empty
    - Value::append_value
    linkageType: ''
    returnType: void
    signature: void append_value(std::string &s, const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: "&\n  get_value() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_value() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Value::size
      Src: /src/trafficserver/plugins/header_rewrite/value.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Value::size
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 1
    functionsReached:
    - Value::size
    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: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Value::get_int_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_int_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: Value::get_float_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_float_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Value::empty
      Src: /src/trafficserver/plugins/header_rewrite/value.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Value::empty
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 2
    functionsReached:
    - Value::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Value::empty
      Src: /src/trafficserver/plugins/header_rewrite/value.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Value::has_conds
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.h
    functionUses: 0
    functionsReached:
    - Value::empty
    linkageType: ''
    returnType: bool
    signature: bool has_conds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: MMConditionGeo::MMConditionGeo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMConditionGeo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~MMConditionGeo()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MMConditionGeo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: GeoIPConditionGeo::GeoIPConditionGeo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoIPConditionGeo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~GeoIPConditionGeo()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions_geo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeoIPConditionGeo()
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: OperatorRMHeader::OperatorRMHeader
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:37,1
    - Dst: OperatorSetHeader::OperatorSetHeader
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:39,1
    - Dst: OperatorAddHeader::OperatorAddHeader
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:41,1
    - Dst: OperatorSetConfig::OperatorSetConfig
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:43,1
    - Dst: OperatorSetStatus::OperatorSetStatus
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:45,1
    - Dst: OperatorSetStatusReason::OperatorSetStatusReason
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:47,1
    - Dst: OperatorSetDestination::OperatorSetDestination
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:49,1
    - Dst: OperatorRMDestination::OperatorRMDestination
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:51,1
    - Dst: OperatorSetRedirect::OperatorSetRedirect
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:53,1
    - Dst: OperatorSetTimeoutOut::OperatorSetTimeoutOut
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:55,1
    - Dst: OperatorSkipRemap::OperatorSkipRemap
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:57,1
    - Dst: OperatorNoOp::OperatorNoOp
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:59,1
    - Dst: OperatorCounter::OperatorCounter
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:61,1
    - Dst: OperatorRMCookie::OperatorRMCookie
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:63,1
    - Dst: OperatorSetCookie::OperatorSetCookie
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:65,1
    - Dst: OperatorAddCookie::OperatorAddCookie
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:67,1
    - Dst: OperatorSetConnDSCP::OperatorSetConnDSCP
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:69,1
    - Dst: OperatorSetConnMark::OperatorSetConnMark
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:71,1
    - Dst: OperatorSetDebug::OperatorSetDebug
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:73,1
    - Dst: OperatorSetBody::OperatorSetBody
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:75,1
    - Dst: OperatorSetHttpCntl::OperatorSetHttpCntl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:77,1
    - Dst: OperatorSetPluginCntl::OperatorSetPluginCntl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:79,1
    - Dst: OperatorRunPlugin::OperatorRunPlugin
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:81,1
    - Dst: OperatorSetBodyFrom::OperatorSetBodyFrom
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:83,1
    - Dst: OperatorSetStateFlag::OperatorSetStateFlag
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:85,1
    - Dst: OperatorSetStateInt8::OperatorSetStateInt8
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:87,1
    - Dst: OperatorSetStateInt16::OperatorSetStateInt16
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:89,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:91,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:91,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 1
    argNames:
    - op
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 96
    functionName: operator_factory
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/factory.cc
    functionUses: 0
    functionsReached:
    - OperatorSetCookie::OperatorSetCookie
    - OperatorSkipRemap::OperatorSkipRemap
    - OperatorSetBodyFrom::OperatorSetBodyFrom
    - OperatorSetRedirect::OperatorSetRedirect
    - OperatorSetTimeoutOut::OperatorSetTimeoutOut
    - OperatorSetHttpCntl::OperatorSetHttpCntl
    - OperatorSetConnMark::OperatorSetConnMark
    - OperatorRMHeader::OperatorRMHeader
    - OperatorSetStatusReason::OperatorSetStatusReason
    - OperatorSetDebug::OperatorSetDebug
    - OperatorRunPlugin::OperatorRunPlugin
    - OperatorSetConfig::OperatorSetConfig
    - OperatorSetStatus::OperatorSetStatus
    - OperatorSetBody::OperatorSetBody
    - OperatorCounter::OperatorCounter
    - OperatorAddCookie::OperatorAddCookie
    - OperatorSetHeader::OperatorSetHeader
    - OperatorSetConnDSCP::OperatorSetConnDSCP
    - std::string::c_str
    - TSError
    - OperatorNoOp::OperatorNoOp
    - OperatorRMCookie::OperatorRMCookie
    - OperatorRMDestination::OperatorRMDestination
    - OperatorSetStateInt8::OperatorSetStateInt8
    - OperatorSetDestination::OperatorSetDestination
    - OperatorSetStateInt16::OperatorSetStateInt16
    - OperatorSetPluginCntl::OperatorSetPluginCntl
    - OperatorAddHeader::OperatorAddHeader
    - OperatorSetStateFlag::OperatorSetStateFlag
    linkageType: ''
    returnType: Operator
    signature: 'Operator *

      operator_factory(const std::string &op)'
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:103,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:106,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:107,1
    - Dst: ConditionTrue::ConditionTrue
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:114,1
    - Dst: ConditionFalse::ConditionFalse
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:116,1
    - Dst: ConditionStatus::ConditionStatus
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:118,1
    - Dst: ConditionRandom::ConditionRandom
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:120,1
    - Dst: ConditionAccess::ConditionAccess
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:122,1
    - Dst: ConditionCookie::ConditionCookie
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:124,1
    - Dst: ConditionHeader::ConditionHeader
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:126,1
    - Dst: ConditionHeader::ConditionHeader
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:128,1
    - Dst: ConditionUrl::ConditionUrl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:130,1
    - Dst: ConditionUrl::ConditionUrl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:132,1
    - Dst: ConditionUrl::ConditionUrl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:134,1
    - Dst: ConditionUrl::ConditionUrl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:136,1
    - Dst: ConditionDBM::ConditionDBM
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:138,1
    - Dst: ConditionInternalTxn::ConditionInternalTxn
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:140,1
    - Dst: ConditionInternalTxn::ConditionInternalTxn
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:142,1
    - Dst: ConditionIp::ConditionIp
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:144,1
    - Dst: ConditionMethod::ConditionMethod
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:146,1
    - Dst: ConditionTransactCount::ConditionTransactCount
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:148,1
    - Dst: ConditionNow::ConditionNow
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:150,1
    - Dst: GeoIPConditionGeo::GeoIPConditionGeo
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:153,1
    - Dst: MMConditionGeo::MMConditionGeo
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:155,1
    - Dst: ConditionGeo::ConditionGeo
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:157,1
    - Dst: ConditionId::ConditionId
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:160,1
    - Dst: ConditionCidr::ConditionCidr
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:162,1
    - Dst: ConditionInbound::ConditionInbound
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:164,1
    - Dst: ConditionSessionTransactCount::ConditionSessionTransactCount
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:166,1
    - Dst: ConditionTcpInfo::ConditionTcpInfo
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:168,1
    - Dst: ConditionCache::ConditionCache
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:170,1
    - Dst: ConditionNextHop::ConditionNextHop
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:172,1
    - Dst: ConditionHttpCntl::ConditionHttpCntl
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:174,1
    - Dst: ConditionGroup::ConditionGroup
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:176,1
    - Dst: ConditionStateFlag::ConditionStateFlag
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:178,1
    - Dst: ConditionStateInt8::ConditionStateInt8
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:180,1
    - Dst: ConditionStateInt16::ConditionStateInt16
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:182,1
    - Dst: ConditionLastCapture::ConditionLastCapture
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:184,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:186,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:186,1
    - Dst: Condition*::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/factory.cc:191,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 116
    argCount: 1
    argNames:
    - cond
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 195
    functionName: condition_factory
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/factory.cc
    functionUses: 0
    functionsReached:
    - ConditionTcpInfo::ConditionTcpInfo
    - std::string::substr
    - ConditionStateInt8::ConditionStateInt8
    - ConditionStateInt16::ConditionStateInt16
    - ConditionNextHop::ConditionNextHop
    - ConditionRandom::ConditionRandom
    - Condition*::set_qualifier
    - ConditionInternalTxn::ConditionInternalTxn
    - ConditionGroup::ConditionGroup
    - ConditionFalse::ConditionFalse
    - ConditionInbound::ConditionInbound
    - ConditionTrue::ConditionTrue
    - ConditionStateFlag::ConditionStateFlag
    - ConditionCookie::ConditionCookie
    - ConditionSessionTransactCount::ConditionSessionTransactCount
    - ConditionHttpCntl::ConditionHttpCntl
    - ConditionId::ConditionId
    - ConditionCidr::ConditionCidr
    - std::string::c_str
    - ConditionHeader::ConditionHeader
    - TSError
    - GeoIPConditionGeo::GeoIPConditionGeo
    - ConditionMethod::ConditionMethod
    - std::string::find_first_of
    - ConditionAccess::ConditionAccess
    - ConditionLastCapture::ConditionLastCapture
    - ConditionNow::ConditionNow
    - ConditionGeo::ConditionGeo
    - ConditionCache::ConditionCache
    - ConditionStatus::ConditionStatus
    - ConditionUrl::ConditionUrl
    - ConditionDBM::ConditionDBM
    - ConditionIp::ConditionIp
    - ConditionTransactCount::ConditionTransactCount
    - MMConditionGeo::MMConditionGeo
    linkageType: ''
    returnType: Condition
    signature: 'Condition *

      condition_factory(const std::string &cond)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:41,1
    - Dst: vfprintf
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:42,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:43,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: TSError
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 288
    functionsReached:
    - vfprintf
    - va_end
    - fprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void TSError(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parser::parse_line
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ParserTest::ParserTest
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached:
    - Parser::parse_line
    linkageType: ''
    returnType: void
    signature: void ParserTest(const std::string &line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ParserTest::getTokens
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> getTokens() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: ParserTest::do_parser_check
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_parser_check(T x, U y, int line = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: SimpleTokenizerTest::SimpleTokenizerTest
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTokenizerTest(const std::string &line)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: SimpleTokenizerTest::do_parser_check
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_parser_check(T x, U y, int line = 0)
  - 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: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: CHECK_EQ
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EQ(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: END_TEST
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_TEST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:116,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:116,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:117,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:117,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:118,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:118,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:120,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:126,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:126,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:127,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:127,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:128,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:128,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:129,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:129,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:130,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:130,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:132,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:138,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:138,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:139,1
    - Dst: ParserTest::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:139,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:141,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:147,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:147,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:148,1
    - Dst: ParserTest::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:148,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:150,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:156,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:156,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:157,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:157,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:158,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:158,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:159,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:159,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:160,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:160,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:162,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:168,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:168,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:169,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:169,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:170,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:170,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:171,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:171,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:172,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:172,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:174,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:180,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:180,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:181,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:181,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:182,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:182,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:183,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:183,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:184,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:184,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:185,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:185,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:187,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:193,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:193,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:194,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:194,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:195,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:195,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:196,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:196,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:197,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:197,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:198,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:198,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:200,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:206,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:206,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:207,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:207,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:208,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:208,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:209,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:209,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:210,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:210,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:211,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:211,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:213,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:219,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:219,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:220,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:220,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:221,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:221,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:222,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:222,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:223,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:223,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:224,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:224,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:226,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:232,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:232,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:233,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:233,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:234,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:234,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:235,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:235,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:236,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:236,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:238,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:244,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:244,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:245,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:245,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:246,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:246,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:247,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:247,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:249,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:255,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:255,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:256,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:256,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:257,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:257,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:258,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:258,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:260,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:266,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:266,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:267,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:267,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:268,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:268,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:269,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:269,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:271,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:278,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:278,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:279,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:279,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:280,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:280,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:281,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:281,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:283,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:289,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:289,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:290,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:290,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:291,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:291,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:292,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:292,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:294,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:300,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:300,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:301,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:301,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:302,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:302,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:303,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:303,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:305,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:311,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:311,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:312,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:312,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:313,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:313,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:314,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:314,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:316,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:322,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:322,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:323,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:323,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:324,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:324,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:325,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:325,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:327,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:333,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:333,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:334,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:334,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:335,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:335,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:336,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:336,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:338,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:344,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:344,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:345,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:345,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:346,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:346,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:347,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:347,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:349,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:355,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:355,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:356,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:356,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:357,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:357,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:358,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:358,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:360,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:366,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:366,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:367,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:367,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:368,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:368,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:369,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:369,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:371,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:377,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:377,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:378,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:378,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:379,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:379,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:380,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:380,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:382,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:388,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:388,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:389,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:389,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:390,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:390,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:391,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:391,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:392,1
    - Dst: ParserTest::get_value
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:392,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:394,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:404,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:404,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:406,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:412,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:412,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 418
    functionName: test_parsing
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached:
    - ParserTest::getTokens
    - ParserTest::get_value
    - CHECK_EQ
    - END_TEST
    - ParserTest::empty
    linkageType: ''
    returnType: int
    signature: int test_parsing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:430,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:430,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:431,1
    - Dst: ParserTest::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:431,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:432,1
    - Dst: ParserTest::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:432,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:433,1
    - Dst: ParserTest::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:433,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:435,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:441,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:441,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:442,1
    - Dst: ParserTest::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:442,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:443,1
    - Dst: ParserTest::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:443,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:444,1
    - Dst: ParserTest::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:444,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:446,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:452,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:452,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:453,1
    - Dst: ParserTest::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:453,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:454,1
    - Dst: ParserTest::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:454,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:455,1
    - Dst: ParserTest::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:455,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:457,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:463,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:463,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:464,1
    - Dst: ParserTest::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:464,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:465,1
    - Dst: ParserTest::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:465,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:466,1
    - Dst: ParserTest::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:466,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:468,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:474,1
    - Dst: ParserTest::getTokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:474,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:475,1
    - Dst: ParserTest::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:475,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:476,1
    - Dst: ParserTest::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:476,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:477,1
    - Dst: ParserTest::get_value
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:477,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:478,1
    - Dst: ParserTest::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:478,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 484
    functionName: test_processing
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached:
    - ParserTest::getTokens
    - ParserTest::is_cond
    - ParserTest::get_arg
    - ParserTest::get_op
    - ParserTest::get_value
    - END_TEST
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int test_processing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:493,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:493,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:494,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:494,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:496,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:501,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:501,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:502,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:502,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:504,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:509,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:509,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:510,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:510,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:511,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:511,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:513,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:517,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:517,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:518,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:518,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:519,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:519,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:520,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:520,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:521,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:521,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:522,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:522,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:524,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:529,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:529,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:530,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:530,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:531,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:531,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:532,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:532,1
    - Dst: CHECK_EQ
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:533,1
    - Dst: SimpleTokenizerTest::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:533,1
    - Dst: END_TEST
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 539
    functionName: test_tokenizer
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 0
    functionsReached:
    - END_TEST
    - SimpleTokenizerTest::get_tokens
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int test_tokenizer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_parsing
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:544,1
    - Dst: test_processing
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:544,1
    - Dst: test_tokenizer
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite_test.cc
    functionUses: 6
    functionsReached:
    - test_processing
    - test_tokenizer
    - test_parsing
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setRuntimeDir
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:56,1
    - Dst: RecConfigReadRuntimeDir
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:56,1
    - Dst: RecConfigReadPluginDir
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:56,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:62,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:62,1
    - Dst: GeoIPConditionGeo::initLibrary
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:65,1
    - Dst: MMConditionGeo::initLibrary
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: initHRWLibraries
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - RecConfigReadPluginDir
    - GeoIPConditionGeo::initLibrary
    - MMConditionGeo::initLibrary
    - std::string::empty
    - RecConfigReadRuntimeDir
    - Dbg
    - std::string::c_str
    - setRuntimeDir
    linkageType: ''
    returnType: void
    signature: void initHRWLibraries(const std::string &dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:81,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:82,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:83,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: RulesConfig::RulesConfig
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContDataSet
    - TSContCreate
    - static_cast<void *>
    linkageType: ''
    returnType: void
    signature: void RulesConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:88,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ~RulesConfig()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~RulesConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: RulesConfig::continuation
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont continuation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: RulesConfig::resid
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ResourceIDs
    signature: ResourceIDs resid(int hook) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: RulesConfig::rule
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RuleSet
    signature: "RuleSet *\n  rule(int hook) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<RuleSet>::get_hook
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:123,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:125,1
    - Dst: append
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:127,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rule
    argTypes:
    - std::unique_ptr<RuleSet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: RulesConfig::add_rule
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<RuleSet>::get_hook
    - std::move
    - append
    linkageType: ''
    returnType: void
    signature: void RulesConfig::add_rule(std::unique_ptr<RuleSet> rule)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:146,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:147,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:152,1
    - Dst: openConfig
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:158,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:160,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:160,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:164,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:164,1
    - Dst: auto::stream::eof
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:166,1
    - Dst: getline
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:169,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:171,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:171,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:173,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:174,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:177,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:177,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:177,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:178,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:178,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:181,1
    - Dst: Parser::parse_line
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:188,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:189,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:189,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:190,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:190,1
    - Dst: Parser::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:194,1
    - Dst: Parser::cond_is_hook
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:199,1
    - Dst: Parser::is_else
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:202,1
    - Dst: Parser::is_elif
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:203,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:203,1
    - Dst: Parser::get_clause
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:203,1
    - Dst: std::unique_ptr::new_section
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:205,1
    - Dst: Parser::get_clause
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:205,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:208,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:208,1
    - Dst: Parser::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:214,1
    - Dst: std::unique_ptr::cur_section
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:215,1
    - Dst: std::unique_ptr::get_clause
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:216,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:220,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:220,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:225,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:225,1
    - Dst: RulesConfig::add_rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:230,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:230,1
    - Dst: std::stack::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:235,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:236,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:236,1
    - Dst: std::make_unique<RuleSet>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:240,1
    - Dst: std::unique_ptr::set_hook
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:241,1
    - Dst: std::unique_ptr::get_group
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:242,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:248,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:255,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:257,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:257,1
    - Dst: Parser::is_cond
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:265,1
    - Dst: std::unique_ptr::make_condition
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:266,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:266,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:269,1
    - Dst: dynamic_cast<ConditionGroup *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:271,1
    - Dst: auto*::closes
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:274,1
    - Dst: std::stack::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:276,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:277,1
    - Dst: std::stack::top
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:281,1
    - Dst: std::stack::pop
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:282,1
    - Dst: ConditionGroup*::add_condition
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:283,1
    - Dst: std::stack::push
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:287,1
    - Dst: ConditionGroup*::add_condition
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:291,1
    - Dst: std::unique_ptr::add_operator
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:295,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:295,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:296,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:300,1
    - Dst: what
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:300,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:300,1
    - Dst: auto::pipebuf::close
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:307,1
    - Dst: auto::pipebuf::exit_status
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:308,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:309,1
    - Dst: auto::pipebuf::exit_status
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:309,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:310,1
    - Dst: std::stack::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:315,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:316,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:316,1
    - Dst: std::unique_ptr::has_operator
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:321,1
    - Dst: RulesConfig::add_rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:322,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:322,1
    - Dst: get_all_resource_ids
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:328,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 139
    argCount: 4
    argNames:
    - fname
    - default_hook
    - from_url
    - to_url
    argTypes:
    - std::string
    - TSHttpHookID
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 333
    functionName: RulesConfig::parse_config
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - get_all_resource_ids
    - auto*::closes
    - Parser::get_clause
    - std::unique_ptr::set_hook
    - TSConfigDirGet
    - std::unique_ptr::cur_section
    - std::unique_ptr::add_operator
    - std::unique_ptr::get_clause
    - std::runtime_error
    - std::string::erase
    - what
    - Parser::is_else
    - std::string::empty
    - std::unique_ptr::new_section
    - std::unique_ptr::get_group
    - std::stack::push
    - auto::pipebuf::exit_status
    - std::string::length
    - Parser::get_op
    - std::move
    - ConditionGroup*::add_condition
    - auto::stream::eof
    - std::string::c_str
    - Parser::is_elif
    - static_cast<int>
    - getline
    - dynamic_cast<ConditionGroup *>
    - TSError
    - std::stack::top
    - std::unique_ptr::has_operator
    - Dbg
    - std::isspace
    - Parser::is_cond
    - RulesConfig::add_rule
    - std::stack::empty
    - auto::pipebuf::close
    - openConfig
    - std::make_unique<RuleSet>
    - Parser::cond_is_hook
    - std::string::size
    - Parser::empty
    - std::unique_ptr::make_condition
    - std::stack::pop
    - Parser::parse_line
    linkageType: ''
    returnType: bool
    signature: bool RulesConfig::parse_config(const std::string &fname, TSHttpHookID
      default_hook, char *from_url, char *to_url)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:341,1
    - Dst: static_cast<RulesConfig *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:343,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:343,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:368,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:369,1
    - Dst: auto*::rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:376,1
    - Dst: Resources::gather
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:380,1
    - Dst: auto*::resid
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:380,1
    - Dst: RuleSet*::eval
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:384,1
    - Dst: RuleSet*::exec
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:385,1
    - Dst: RuleSet*::last
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:391,1
    - Dst: RuleSet*::next::get
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:394,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:399,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 403
    functionName: cont_rewrite_headers
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - RuleSet*::last
    - Resources::gather
    - RuleSet*::eval
    - TSError
    - auto*::rule
    - RuleSet*::next::get
    - auto*::resid
    - Dbg
    - RuleSet*::exec
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - static_cast<RulesConfig *>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int cont_rewrite_headers(TSCont contp, TSEvent event, void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:422,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:423,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:429,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:429,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:441,1
    - Dst: std::string::starts_with
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:441,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:442,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:442,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:445,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:445,1
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:447,1
    - Dst: initHRWLibraries
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:447,1
    - Dst: RulesConfig::RulesConfig
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:451,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:457,1
    - Dst: auto*::parse_config
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:458,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:459,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:462,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:467,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:468,1
    - Dst: auto*::rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:471,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:472,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:472,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:472,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:473,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:473,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 481
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - auto*::parse_config
    - std::string
    - TSConfigDirGet
    - TSPluginRegister
    - std::string::empty
    - TSHttpHookAdd
    - const_cast<char *const *>
    - initHRWLibraries
    - static_cast<TSHttpHookID>
    - std::string::c_str
    - TSHttpHookNameLookup
    - TSError
    - getopt_long
    - std::call_once
    - Dbg
    - TSContCreate
    - auto*::rule
    - TSContDataSet
    - std::string::starts_with
    - RulesConfig::RulesConfig
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:489,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:498,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:501,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:515,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:527,1
    - Dst: std::string::starts_with
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:529,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:529,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:532,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:532,1
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:533,1
    - Dst: initHRWLibraries
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:533,1
    - Dst: RulesConfig::RulesConfig
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:536,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:539,1
    - Dst: auto*::parse_config
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:540,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:541,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:545,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:549,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 552
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - getopt_long
    - TSError
    - std::call_once
    - std::string::empty
    - initHRWLibraries
    - auto*::parse_config
    - std::string
    - Dbg
    - TSConfigDirGet
    - std::string::starts_with
    - std::string::c_str
    - RulesConfig::RulesConfig
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:557,1
    - Dst: static_cast<RulesConfig *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - static_cast<RulesConfig *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:569,1
    - Dst: static_cast<RulesConfig *>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:574,1
    - Dst: auto*::rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:578,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:579,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:579,1
    - Dst: auto*::continuation
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:579,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:580,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:580,1
    - Dst: static_cast<TSHttpHookID>
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:580,1
    - Dst: auto*::rule
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:587,1
    - Dst: Resources::gather
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:590,1
    - Dst: RuleSet*::eval
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:592,1
    - Dst: RuleSet*::exec
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:593,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:595,1
    - Dst: RuleSet*::last
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:601,1
    - Dst: RuleSet*::next::get
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:605,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc:608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 610
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/header_rewrite.cc
    functionUses: 0
    functionsReached:
    - RuleSet*::last
    - TSHttpHookNameLookup
    - Resources::gather
    - RuleSet*::eval
    - auto*::rule
    - TSHttpTxnHookAdd
    - auto*::continuation
    - RuleSet*::next::get
    - Dbg
    - RuleSet*::exec
    - static_cast<RulesConfig *>
    - ink_assert
    - static_cast<TSHttpHookID>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:31,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:31,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:39,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:40,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:41,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:50,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:52,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:57,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:63,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:66,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:67,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:68,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:86,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:87,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:92,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:93,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:118,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:120,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 2
    argNames:
    - ids
    - hook
    argTypes:
    - ResourceIDs
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 130
    functionName: Resources::gather
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.cc
    functionUses: 2
    functionsReached:
    - TSHttpHookNameLookup
    - TSHttpTxnClientRespGet
    - TSHttpHdrStatusGet
    - Dbg
    - TSHttpTxnServerReqGet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    linkageType: ''
    returnType: void
    signature: void Resources::gather(const ResourceIDs ids, TSHttpHookID hook)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:137,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/header_rewrite/resources.cc:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: Resources::destroy
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/resources.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void Resources::destroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:44,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:45,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:48,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s_sockaddr
    - res
    argTypes:
    - sockaddr*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: getIP
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/lulu.cc
    functionUses: 3
    functionsReached:
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - reinterpret_cast<const struct sockaddr_in *>
    linkageType: ''
    returnType: char
    signature: 'char *

      getIP(sockaddr const *s_sockaddr, char res[INET6_ADDRSTRLEN])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s_sockaddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: getIP
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/lulu.cc
    functionUses: 4
    functionsReached:
    - getIP
    linkageType: ''
    returnType: std::string
    signature: std::string getIP(sockaddr const *s_sockaddr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:79,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:80,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:83,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/header_rewrite/lulu.cc:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - s_sockaddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: getPort
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/lulu.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const struct sockaddr_in6 *>
    - ntohs
    - reinterpret_cast<const struct sockaddr_in *>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getPort(sockaddr const *s_sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: OperatorSetConfig::OperatorSetConfig
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: OperatorSetConfig::OperatorSetConfig
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetConfig(const OperatorSetConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: operator=(const OperatorSetConfig &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetConfig &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: OperatorSetStatus::OperatorSetStatus
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: OperatorSetStatus::OperatorSetStatus
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatus(const OperatorSetStatus &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator=(const OperatorSetStatus &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetStatus &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: OperatorSetStatusReason::OperatorSetStatusReason
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatusReason()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: OperatorSetStatusReason::OperatorSetStatusReason
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetStatusReason(const OperatorSetStatusReason &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: operator=(const OperatorSetStatusReason &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetStatusReason &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: OperatorSetDestination::OperatorSetDestination
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetDestination()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: OperatorSetDestination::OperatorSetDestination
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetDestination(const OperatorSetDestination &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: operator=(const OperatorSetDestination &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetDestination &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: OperatorRMDestination::OperatorRMDestination
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorRMDestination()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: OperatorRMDestination::OperatorRMDestination
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorRMDestination(const OperatorRMDestination &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const OperatorRMDestination &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorRMDestination &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: OperatorSetRedirect::OperatorSetRedirect
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetRedirect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: OperatorSetRedirect::OperatorSetRedirect
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetRedirect(const OperatorSetRedirect &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: operator=(const OperatorSetRedirect &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetRedirect &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:152,1
    - Dst: get_int_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: OperatorSetRedirect::get_status
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached:
    - get_int_value
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus get_status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_value
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: "&\n  get_location() const"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached:
    - get_value
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_location() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: OperatorNoOp::OperatorNoOp
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorNoOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: OperatorNoOp::OperatorNoOp
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorNoOp(const OperatorNoOp &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: operator=(const OperatorNoOp &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorNoOp &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: OperatorNoOp::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool exec(const Resources & /* res ATS_UNUSED */) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: OperatorSetTimeoutOut::OperatorSetTimeoutOut
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetTimeoutOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: OperatorSetTimeoutOut::OperatorSetTimeoutOut
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetTimeoutOut(const OperatorSetTimeoutOut &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: operator=(const OperatorSetTimeoutOut &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetTimeoutOut &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: OperatorSkipRemap::OperatorSkipRemap
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSkipRemap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: OperatorSkipRemap::OperatorSkipRemap
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSkipRemap(const OperatorSkipRemap &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: operator=(const OperatorSkipRemap &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSkipRemap &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: OperatorRMHeader::OperatorRMHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorRMHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: OperatorRMHeader::OperatorRMHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorRMHeader(const OperatorRMHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: operator=(const OperatorRMHeader &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorRMHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: OperatorAddHeader::OperatorAddHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorAddHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: OperatorAddHeader::OperatorAddHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorAddHeader(const OperatorAddHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: operator=(const OperatorAddHeader &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorAddHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: OperatorSetHeader::OperatorSetHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: OperatorSetHeader::OperatorSetHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetHeader(const OperatorSetHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator=(const OperatorSetHeader &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetHeader &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: OperatorCounter::OperatorCounter
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorCounter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: OperatorCounter::OperatorCounter
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorCounter(const OperatorCounter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: operator=(const OperatorCounter &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorCounter &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: OperatorRMCookie::OperatorRMCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorRMCookie()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: OperatorRMCookie::OperatorRMCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorRMCookie(const OperatorRMCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: operator=(const OperatorRMCookie &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorRMCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: OperatorAddCookie::OperatorAddCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorAddCookie()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: OperatorAddCookie::OperatorAddCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorAddCookie(const OperatorAddCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator=(const OperatorAddCookie &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorAddCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: OperatorSetCookie::OperatorSetCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetCookie()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: OperatorSetCookie::OperatorSetCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetCookie(const OperatorSetCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: operator=(const OperatorSetCookie &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetCookie &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: OperatorSetConnDSCP::OperatorSetConnDSCP
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnDSCP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: OperatorSetConnDSCP::OperatorSetConnDSCP
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnDSCP(const OperatorSetConnDSCP &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: operator=(const OperatorSetConnDSCP &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetConnDSCP &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: OperatorSetConnMark::OperatorSetConnMark
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnMark()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: OperatorSetConnMark::OperatorSetConnMark
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetConnMark(const OperatorSetConnMark &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: operator=(const OperatorSetConnMark &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetConnMark &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: OperatorSetDebug::OperatorSetDebug
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetDebug()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: OperatorSetDebug::OperatorSetDebug
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetDebug(const OperatorSetDebug &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: operator=(const OperatorSetDebug &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetDebug &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: OperatorSetBody::OperatorSetBody
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetBody()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: OperatorSetBody::OperatorSetBody
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetBody(const OperatorSetBody &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: operator=(const OperatorSetBody &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetBody &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: OperatorSetHttpCntl::OperatorSetHttpCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetHttpCntl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: OperatorSetHttpCntl::OperatorSetHttpCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetHttpCntl(const OperatorSetHttpCntl &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: operator=(const OperatorSetHttpCntl &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetHttpCntl &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: OperatorSetPluginCntl::OperatorSetPluginCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetPluginCntl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: OperatorSetPluginCntl::OperatorSetPluginCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetPluginCntl(const OperatorSetPluginCntl &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: operator=(const OperatorSetPluginCntl &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetPluginCntl &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: OperatorSetPluginCntl::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: OperatorRunPlugin::OperatorRunPlugin
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorRunPlugin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:497,1
    - Dst: done
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: ~OperatorRunPlugin() override
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached:
    - Dbg
    - done
    linkageType: ''
    returnType: void
    signature: void ~OperatorRunPlugin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: OperatorRunPlugin::OperatorRunPlugin
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorRunPlugin(const OperatorRunPlugin &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: operator=(const OperatorRunPlugin &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorRunPlugin &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: OperatorSetBodyFrom::OperatorSetBodyFrom
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetBodyFrom()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: OperatorSetBodyFrom::OperatorSetBodyFrom
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetBodyFrom(const OperatorSetBodyFrom &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: operator=(const OperatorSetBodyFrom &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetBodyFrom &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: OperatorSetStateFlag::OperatorSetStateFlag
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateFlag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: OperatorSetStateFlag::OperatorSetStateFlag
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateFlag(const OperatorSetStateFlag &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: operator=(const OperatorSetStateFlag &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetStateFlag &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: OperatorSetStateFlag::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: OperatorSetStateInt8::OperatorSetStateInt8
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: OperatorSetStateInt8::OperatorSetStateInt8
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt8(const OperatorSetStateInt8 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: operator=(const OperatorSetStateInt8 &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetStateInt8 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: OperatorSetStateInt8::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/operators.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: OperatorSetStateInt16::OperatorSetStateInt16
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt16()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 611
    functionName: OperatorSetStateInt16::OperatorSetStateInt16
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorSetStateInt16(const OperatorSetStateInt16 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: operator=(const OperatorSetStateInt16 &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const OperatorSetStateInt16 &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: OperatorSetStateInt16::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Value::~Value()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Value::~Value()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:43,1
    - Dst: HRWSimpleTokenizer::get_tokens
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:45,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:50,1
    - Dst: substr
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:51,1
    - Dst: Value::size
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:51,1
    - Dst: condition_factory
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:53,1
    - Dst: Parser::Parser
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:54,1
    - Dst: Parser::parse_line
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:56,1
    - Dst: Condition*::initialize
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:57,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:60,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:60,1
    - Dst: ConditionStringLiteral::ConditionStringLiteral
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:64,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:68,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:72,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:72,1
    - Dst: strtod
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:73,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/value.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - val
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: Value::set_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/value.cc
    functionUses: 0
    functionsReached:
    - HRWSimpleTokenizer::get_tokens
    - ConditionStringLiteral::ConditionStringLiteral
    - Condition*::initialize
    - find
    - Parser::Parser
    - push_back
    - Value::size
    - Dbg
    - c_str
    - condition_factory
    - substr
    - Parser::parse_line
    - strtol
    - strtod
    linkageType: ''
    returnType: void
    signature: void Value::set_value(const std::string &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:33,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rule
    argTypes:
    - std::unique_ptr<RuleSet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: RuleSet::append
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.cc
    functionUses: 0
    functionsReached:
    - std::move
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void RuleSet::append(std::unique_ptr<RuleSet> rule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: condition_factory
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:47,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:47,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:53,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:53,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:53,1
    - Dst: Condition*::initialize
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:54,1
    - Dst: Condition*::set_hook
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:55,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:57,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:58,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:58,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:58,1
    - Dst: Condition*::get_cond_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:62,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:64,1
    - Dst: Condition*::last
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:69,1
    - Dst: static_cast<ResourceIDs>
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:70,1
    - Dst: Condition*::get_resource_ids
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - p
    - filename
    - lineno
    argTypes:
    - Parser
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: RuleSet::make_condition
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.cc
    functionUses: 0
    functionsReached:
    - Condition*::set_hook
    - TSHttpHookNameLookup
    - static_cast<ResourceIDs>
    - TSError
    - Condition*::get_cond_op
    - Condition*::get_resource_ids
    - Dbg
    - Parser::get_arg
    - condition_factory
    - Condition*::initialize
    - Parser::get_op
    - Condition*::last
    linkageType: ''
    returnType: Condition
    signature: 'Condition *

      RuleSet::make_condition(Parser &p, const char *filename, int lineno)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: operator_factory
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:78,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:81,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:81,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:81,1
    - Dst: Parser::get_value
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:81,1
    - Dst: Operator*::initialize
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:82,1
    - Dst: Operator*::set_hook
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:83,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:85,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:85,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:86,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:86,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:87,1
    - Dst: TSHttpHookNameLookup
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:88,1
    - Dst: Parser::get_op
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:88,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:88,1
    - Dst: OperatorAndMods::oper::append
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:97,1
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:101,1
    - Dst: OperatorAndMods::oper::get_oper_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:101,1
    - Dst: static_cast<ResourceIDs>
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:102,1
    - Dst: OperatorAndMods::oper::get_resource_ids
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - p
    - filename
    - lineno
    argTypes:
    - Parser
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: RuleSet::add_operator
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.cc
    functionUses: 0
    functionsReached:
    - TSHttpHookNameLookup
    - static_cast<ResourceIDs>
    - Parser::get_value
    - Operator*::initialize
    - TSError
    - operator_factory
    - OperatorAndMods::oper::append
    - OperatorAndMods::oper::get_resource_ids
    - Operator*::set_hook
    - Dbg
    - Parser::get_arg
    - Parser::get_op
    - static_cast<OperModifiers>
    - OperatorAndMods::oper::get_oper_modifiers
    linkageType: ''
    returnType: bool
    signature: bool RuleSet::add_operator(Parser &p, const char *filename, int lineno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ResourceIDs>
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:117,1
    - Dst: RuleSet::get_resource_ids
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: RuleSet::get_all_resource_ids
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.cc
    functionUses: 0
    functionsReached:
    - RuleSet::get_resource_ids
    - static_cast<ResourceIDs>
    linkageType: ''
    returnType: ResourceIDs
    signature: ResourceIDs RuleSet::get_all_resource_ids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: RuleSet::OperatorAndMods
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorAndMods()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: RuleSet::OperatorAndMods
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperatorAndMods(const OperatorAndMods &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(const OperatorAndMods &)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperatorAndMods
    signature: OperatorAndMods &operator=(const OperatorAndMods &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: RuleSet::CondOpSection
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondOpSection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ~CondOpSection()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CondOpSection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: RuleSet::CondOpSection
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CondOpSection(const CondOpSection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '&operator=(const CondOpSection &)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondOpSection
    signature: CondOpSection &operator=(const CondOpSection &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: RuleSet::has_operator
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_operator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: RuleSet::RuleSet
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void RuleSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~RuleSet()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~RuleSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: RuleSet::RuleSet
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RuleSet(const RuleSet &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator=(const RuleSet &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const RuleSet &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CondOpSection*::has_operator
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: RuleSet::has_operator
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - CondOpSection*::has_operator
    linkageType: ''
    returnType: bool
    signature: bool has_operator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: RuleSet::set_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hook(TSHttpHookID hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: RuleSet::get_group
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConditionGroup
    signature: "ConditionGroup *\n  get_group()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: RuleSet::get_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID get_hook() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: RuleSet::get_clause
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parser::CondClause
    signature: Parser::CondClause get_clause() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: RuleSet::cur_section
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CondOpSection
    signature: "CondOpSection *\n  cur_section()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:136,1
    - Dst: CondOpSection::CondOpSection
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - clause
    argTypes:
    - Parser::CondClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: RuleSet::new_section
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - TSAssert
    - CondOpSection::CondOpSection
    linkageType: ''
    returnType: ConditionGroup
    signature: "ConditionGroup *\n  new_section(Parser::CondClause clause)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: RuleSet::get_resource_ids
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ResourceIDs
    signature: ResourceIDs get_resource_ids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: RuleSet::last
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool last() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OperatorAndMods::oper::do_exec
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:163,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:165,1
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ops
    - res
    argTypes:
    - OperatorAndMods
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: RuleSet::exec
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - static_cast<OperModifiers>
    - ink_assert
    - OperatorAndMods::oper::do_exec
    linkageType: ''
    returnType: OperModifiers
    signature: OperModifiers exec(const OperatorAndMods &ops, const Resources &res)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CondOpSection*::group::eval
      Src: /src/trafficserver/plugins/header_rewrite/ruleset.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: "&\n  eval(const Resources &res)"
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/ruleset.h
    functionUses: 0
    functionsReached:
    - CondOpSection*::group::eval
    linkageType: ''
    returnType: RuleSet::OperatorAndMods
    signature: "RuleSet::OperatorAndMods &\n  eval(const Resources &res)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:33,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:37,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:41,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:45,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:47,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:47,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:48,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:48,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:48,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:55,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:57,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:57,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:58,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:58,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:58,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:64,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:66,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:66,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:67,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:67,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - arg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 76
    functionName: parse_matcher_op
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.cc
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::string::erase
    linkageType: ''
    returnType: MatcherOps
    signature: MatcherOps parse_matcher_op(std::string &arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Statement::initialize
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:81,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:83,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:84,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:85,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:89,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:93,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:101,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:103,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:107,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:111,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:115,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:119,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:125,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:129,1
    - Dst: parse_matcher_op
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:133,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/condition.cc:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 134
    functionName: Condition::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/condition.cc
    functionUses: 21
    functionsReached:
    - std::runtime_error
    - TSError
    - Parser::get_arg
    - Statement::initialize
    - parse_matcher_op
    - Parser::mod_exist
    linkageType: ''
    returnType: void
    signature: void Condition::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - Statement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: Statement::append
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void Statement::append(Statement *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ResourceIDs>
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: Statement::get_resource_ids
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - static_cast<ResourceIDs>
    linkageType: ''
    returnType: ResourceIDs
    signature: ResourceIDs Statement::get_resource_ids() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:53,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:53,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:53,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Statement::set_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Statement::set_hook(TSHttpHookID hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:66,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:67,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:68,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:69,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:70,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:71,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:72,1
    - Dst: Statement::add_allowed_hook
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: Statement::initialize_hooks
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - Statement::add_allowed_hook
    linkageType: ''
    returnType: void
    signature: void Statement::initialize_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Statement::need_txn_slot
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:80,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:88,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: Statement::acquire_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Statement::need_txn_slot
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void Statement::acquire_txn_slot()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Statement::need_txn_private_slot
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:102,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:110,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: Statement::acquire_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Statement::need_txn_private_slot
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void Statement::acquire_txn_private_slot()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:131,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: Statement::parse_next_hop_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - TSError
    linkageType: ''
    returnType: NextHopQualifiers
    signature: NextHopQualifiers Statement::parse_next_hop_qualifier(const std::string
      &q) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:156,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: Statement::parse_url_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - TSError
    linkageType: ''
    returnType: UrlQualifiers
    signature: UrlQualifiers Statement::parse_url_qualifier(const std::string &q)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:183,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/header_rewrite/statement.cc:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: Statement::parse_http_cntl_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - TSError
    linkageType: ''
    returnType: TSHttpCntlType
    signature: TSHttpCntlType Statement::parse_http_cntl_qualifier(const std::string
      &q) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:30,1
    - Dst: static_cast<Operator *>
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: Operator::get_oper_modifiers
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.cc
    functionUses: 0
    functionsReached:
    - static_cast<Operator *>
    - static_cast<OperModifiers>
    linkageType: ''
    returnType: OperModifiers
    signature: OperModifiers Operator::get_oper_modifiers() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Statement::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:39,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:41,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:41,1
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:42,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:45,1
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:46,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:49,1
    - Dst: Parser::mod_exist
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:49,1
    - Dst: static_cast<OperModifiers>
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: Operator::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.cc
    functionUses: 20
    functionsReached:
    - Parser::mod_exist
    - static_cast<OperModifiers>
    - Statement::initialize
    linkageType: ''
    returnType: void
    signature: void Operator::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:57,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:59,1
    - Dst: TSMimeHdrStringToWKS
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:60,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:60,1
    - Dst: length
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:60,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:62,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:63,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:64,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: OperatorHeaders::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrStringToWKS
    - length
    - c_str
    - Parser::get_arg
    - require_resources
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorHeaders::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operator::initialize
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:71,1
    - Dst: Parser::get_arg
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:73,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:75,1
    - Dst: require_resources
      Src: /src/trafficserver/plugins/header_rewrite/operator.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: OperatorCookies::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/operator.cc
    functionUses: 2
    functionsReached:
    - require_resources
    - Parser::get_arg
    - Operator::initialize
    linkageType: ''
    returnType: void
    signature: void OperatorCookies::initialize(Parser &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ConditionTrue::ConditionTrue
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionTrue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ConditionTrue::ConditionTrue
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionTrue(const ConditionTrue &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: operator=(const ConditionTrue &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const ConditionTrue &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ConditionTrue::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_value(std::string &s, const Resources & /* res ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: ConditionTrue::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool eval(const Resources & /* res ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ConditionFalse::ConditionFalse
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionFalse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ConditionFalse::ConditionFalse
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionFalse(const ConditionFalse &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator=(const ConditionFalse &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const ConditionFalse &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ConditionFalse::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_value(std::string &s, const Resources & /* res ATS_UNUSED
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ConditionFalse::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: bool
    signature: bool eval(const Resources & /* res ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ConditionStatus::ConditionStatus
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ConditionStatus::ConditionStatus
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionStatus(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ConditionMethod::ConditionMethod
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionMethod()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ConditionMethod::ConditionMethod
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionMethod(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: ConditionRandom::ConditionRandom
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionRandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: ConditionRandom::ConditionRandom
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionRandom(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ConditionAccess::ConditionAccess
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ConditionAccess::ConditionAccess
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionAccess(const ConditionAccess &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: operator=(const ConditionAccess &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const ConditionAccess &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ConditionCookie::ConditionCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionCookie()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: ConditionCookie::ConditionCookie
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionCookie(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:216,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 6
    argNames:
    - buf
    - buf_len
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - int
    - char*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 247
    functionName: ConditionCookie::get_cookie_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int get_cookie_value(const char *buf, int buf_len, const char *name,
      int name_len, const char **value, int *value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: ConditionHeader::ConditionHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionHeader(bool client = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: ConditionHeader::ConditionHeader
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionHeader(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - UrlType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ConditionUrl::ConditionUrl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionUrl(const UrlType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: ConditionUrl::ConditionUrl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionUrl(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:316,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: ConditionDBM::ConditionDBM
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void ConditionDBM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: ~ConditionDBM() override
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConditionDBM() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ConditionDBM::ConditionDBM
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionDBM(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: ConditionInternalTxn::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_value(std::string & /* s ATS_UNUSED */, const Resources
      & /* res ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: ConditionIp::ConditionIp
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionIp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    functionName: ConditionIp::ConditionIp
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionIp(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: ConditionIp::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: ConditionTransactCount::ConditionTransactCount
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionTransactCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: ConditionTransactCount::ConditionTransactCount
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionTransactCount(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: ConditionNow::ConditionNow
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionNow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: ConditionNow::ConditionNow
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionNow(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: ConditionNow::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: ConditionGeo::ConditionGeo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionGeo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ConditionGeo::ConditionGeo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionGeo(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ConditionGeo::is_int_type
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_int_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: ConditionGeo::is_int_type
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void is_int_type(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: ConditionGeo::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: ConditionId::ConditionId
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: ConditionId::ConditionId
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionId(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConditionCidr::_create_masks
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:526,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: ConditionCidr::ConditionCidr
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    - ConditionCidr::_create_masks
    linkageType: ''
    returnType: void
    signature: void ConditionCidr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: ConditionCidr::ConditionCidr
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionCidr(SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: '&operator=(SelfType &)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SelfType
    signature: SelfType &operator=(SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: ConditionCidr::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: ConditionInbound::ConditionInbound
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionInbound()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: ConditionInbound::ConditionInbound
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionInbound(SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: '&operator=(SelfType &)'
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SelfType
    signature: SelfType &operator=(SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: ConditionInbound::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: ConditionStringLiteral::ConditionStringLiteral
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionStringLiteral(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 618
    functionName: ConditionSessionTransactCount::ConditionSessionTransactCount
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionSessionTransactCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: ConditionSessionTransactCount::ConditionSessionTransactCount
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionSessionTransactCount(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: ConditionTcpInfo::ConditionTcpInfo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionTcpInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: ConditionTcpInfo::ConditionTcpInfo
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionTcpInfo(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: ConditionCache::ConditionCache
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: ConditionCache::ConditionCache
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionCache(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 684
    functionName: ConditionNextHop::ConditionNextHop
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionNextHop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: ConditionNextHop::ConditionNextHop
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionNextHop(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: ConditionHttpCntl::ConditionHttpCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionHttpCntl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 710
    functionName: ConditionHttpCntl::ConditionHttpCntl
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionHttpCntl(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 711
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 728
    functionName: ConditionGroup::ConditionGroup
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 734
    functionName: ~ConditionGroup() override
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~ConditionGroup() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Condition::set_qualifier
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:739,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: ConditionGroup::set_qualifier
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    - Condition::set_qualifier
    linkageType: ''
    returnType: void
    signature: void set_qualifier(const std::string &q) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: ConditionGroup::ConditionGroup
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionGroup(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: ConditionGroup::closes
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool closes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:759,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: ConditionGroup::append_value
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - TSAssert
    - TSError
    linkageType: ''
    returnType: void
    signature: void append_value(std::string & /* s ATS_UNUSED */, const Resources
      & /* res ATS_UNUSED */) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - Condition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: ConditionGroup::add_condition
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void add_condition(Condition *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:777,1
    - Dst: do_eval
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 784
    functionName: ConditionGroup::eval
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached:
    - Dbg
    - do_eval
    linkageType: ''
    returnType: bool
    signature: bool eval(const Resources &res) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: ConditionStateFlag::ConditionStateFlag
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionStateFlag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: ConditionStateFlag::ConditionStateFlag
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionStateFlag(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 806
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: ConditionStateFlag::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: ConditionStateInt8::ConditionStateInt8
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: ConditionStateInt8::ConditionStateInt8
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt8(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 841
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: ConditionStateInt8::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:861,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:862,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: ConditionStateInt8::_get_data
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSAssert
    - TSUserArgGet
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t _get_data(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: ConditionStateInt16::ConditionStateInt16
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt16()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: ConditionStateInt16::ConditionStateInt16
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionStateInt16(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 887
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: ConditionStateInt16::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:907,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - Resources
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 910
    functionName: ConditionStateInt16::_get_data
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint64_t>
    - TSUserArgGet
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t _get_data(const Resources &res) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/conditions.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: ConditionLastCapture::ConditionLastCapture
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionLastCapture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 924
    functionName: ConditionLastCapture::ConditionLastCapture
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConditionLastCapture(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: operator=(const SelfType &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/conditions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const SelfType &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Statement::Statement
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void Statement()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ~Statement()
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~Statement()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Statement::Statement
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Statement(const Statement &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: operator=(const Statement &)
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Statement &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Statement::get_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpHookID
    signature: TSHttpHookID get_hook() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: Statement::add_allowed_hook
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void add_allowed_hook(const TSHttpHookID hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:155,1
    - Dst: Statement::initialize_hooks
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:156,1
    - Dst: Statement::acquire_txn_slot
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:157,1
    - Dst: Statement::acquire_txn_private_slot
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: Statement::initialize
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 2
    functionsReached:
    - Statement::acquire_txn_slot
    - Statement::initialize_hooks
    - TSReleaseAssert
    - Statement::acquire_txn_private_slot
    linkageType: ''
    returnType: void
    signature: void initialize(Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: Statement::initialized
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ResourceIDs>
      Src: /src/trafficserver/plugins/header_rewrite/statement.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ids
    argTypes:
    - ResourceIDs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Statement::require_resources
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 0
    functionsReached:
    - static_cast<ResourceIDs>
    linkageType: ''
    returnType: void
    signature: void require_resources(const ResourceIDs ids)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: Statement::need_txn_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_slot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: Statement::need_txn_private_slot
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/statement.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_txn_private_slot() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:34,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: equal
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:35,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:36,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:36,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:36,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:36,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:44,1
    - Dst: find
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:45,1
    - Dst: std::search
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:47,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:47,1
    - Dst: begin
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:47,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:48,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:48,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:48,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:48,1
    - Dst: end
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:50,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:53,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:54,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:55,1
    - Dst: equals
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:55,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:55,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:58,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: equals
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:59,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:62,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:63,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:63,1
    - Dst: equals
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:63,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:63,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:63,1
    - Dst: has_modifier
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:66,1
    - Dst: contains
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:67,1
    - Dst: equals
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - rhs
    - lhs
    - mods
    argTypes:
    - std::string_view
    - std::string_view
    - CondModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: match_with_modifiers
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.cc
    functionUses: 0
    functionsReached:
    - has_modifier
    - begin
    - static_cast<unsigned char>
    - std::search
    - find
    - equals
    - std::string_view::substr
    - tolower
    - std::string_view::rfind
    - end
    - contains
    - std::string_view::size
    - equal
    - size
    linkageType: ''
    returnType: bool
    signature: bool match_with_modifiers(std::string_view rhs, std::string_view lhs,
      CondModifiers mods)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:78,1
    - Dst: match_with_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:80,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:82,1
    - Dst: debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: Matchers<std::string>::test_eq
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.cc
    functionUses: 0
    functionsReached:
    - match_with_modifiers
    - 'on'
    - std::get<std::string>
    - debug_helper
    linkageType: ''
    returnType: bool
    signature: bool Matchers<std::string>::test_eq(const std::string &t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:93,1
    - Dst: std::holds_alternative<std::set<std::string>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:93,1
    - Dst: std::get<std::set<std::string>>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:96,1
    - Dst: match_with_modifiers
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:97,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:98,1
    - Dst: debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:99,1
    - Dst: debug_helper
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: Matchers<std::string>::test_set
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.cc
    functionUses: 0
    functionsReached:
    - match_with_modifiers
    - 'on'
    - TSAssert
    - debug_helper
    - std::holds_alternative<std::set<std::string>>
    - std::get<std::set<std::string>>
    linkageType: ''
    returnType: bool
    signature: bool Matchers<std::string>::test_set(const std::string &t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:113,1
    - Dst: std::holds_alternative<swoc::IPRangeSet>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:113,1
    - Dst: std::get<swoc::IPRangeSet>
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:114,1
    - Dst: auto::contains
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:116,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:116,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:117,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:119,1
    - Dst: getIP
      Src: /src/trafficserver/plugins/header_rewrite/matcher.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: Matchers<const sockaddr *>::test
    functionSourceFile: /src/trafficserver/plugins/header_rewrite/matcher.cc
    functionUses: 0
    functionsReached:
    - 'on'
    - std::holds_alternative<swoc::IPRangeSet>
    - TSAssert
    - std::get<swoc::IPRangeSet>
    - Dbg
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - auto::contains
    - getIP
    linkageType: ''
    returnType: bool
    signature: bool Matchers<const sockaddr *>::test(const sockaddr *const &addr,
      const Resources & /* Not used */) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: ~b_stream()
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - BrotliEncoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: void ~b_stream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: stats_state
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void stats_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:171,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:171,1
    - Dst: strcpy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: nstr
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - strcpy
    - TSmalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      nstr(const char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCreateInstance
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:182,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:184,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:187,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: init_br
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - BrotliEncoderCreateInstance
    - BrotliEncoderSetParameter
    linkageType: ''
    returnType: encoding_format_t
    signature: encoding_format_t init_br(stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:204,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ms_since_epoch
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - failover_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ms_since_epoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:204,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ms_since_epoch
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - failover_now
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ms_since_epoch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:221,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - my_state
    - mode
    argTypes:
    - stats_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: init_gzip
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - deflateInit2
    linkageType: ''
    returnType: encoding_format_t
    signature: encoding_format_t init_gzip(stats_state *my_state, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:240,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:245,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:249,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - contp
    - my_state
    argTypes:
    - TSCont
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: stats_cleanup
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSVConnClose
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void stats_cleanup(TSCont contp, stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:257,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:258,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:259,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - contp
    - my_state
    argTypes:
    - TSCont
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: stats_process_accept
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void stats_process_accept(TSCont contp, stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:266,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - my_state
    argTypes:
    - char*
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: stats_add_data_to_resp_buffer
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferWrite
    - strlen
    linkageType: ''
    returnType: int
    signature: int stats_add_data_to_resp_buffer(const char *s, stats_state *my_state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:303,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:305,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:307,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:309,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:314,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:316,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:318,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:320,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:325,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:327,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:329,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:331,1
    - Dst: stats_add_data_to_resp_buffer
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: stats_add_resp_header
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - stats_add_data_to_resp_buffer
    linkageType: ''
    returnType: int
    signature: int stats_add_resp_header(stats_state *my_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:342,1
    - Dst: stats_add_resp_header
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:344,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:345,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:346,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:348,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:353,1
    - Dst: printf
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:355,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - contp
    - event
    - my_state
    argTypes:
    - TSCont
    - TSEvent
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: stats_process_read
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSVConnShutdown
    - TSVConnWrite
    - stats_add_resp_header
    - Dbg
    - TSReleaseAssert
    - printf
    linkageType: ''
    returnType: void
    signature: void stats_process_read(TSCont contp, TSEvent event, stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: APPEND
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: APPEND_STAT_JSON
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_JSON(a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: APPEND_STAT_JSON_NUMERIC
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_JSON_NUMERIC(a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: APPEND_STAT_CSV
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_CSV(a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: APPEND_STAT_CSV_NUMERIC
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_CSV_NUMERIC(a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: APPEND_STAT_PROMETHEUS_NUMERIC
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_PROMETHEUS_NUMERIC(a, fmt, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: wrap_unsigned_counter
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t wrap_unsigned_counter(uint64_t value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<stats_state *>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:430,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:434,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:434,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:437,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:437,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:440,1
    - Dst: APPEND_STAT_JSON
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:443,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - edata
    - name
    - data_type
    - datum
    argTypes:
    - void*
    - char*
    - TSRecordDataType
    - TSRecordData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 449
    functionName: json_out_stat
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - wrap_unsigned_counter
    - static_cast<stats_state *>
    - APPEND_STAT_JSON
    - Dbg
    - APPEND_STAT_JSON_NUMERIC
    linkageType: ''
    returnType: void
    signature: "void json_out_stat(TSRecordType /* rec_type ATS_UNUSED */, void *edata,
      int /* registered ATS_UNUSED */, const char *name,\n              TSRecordDataType
      data_type, TSRecordData *datum)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<stats_state *>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:455,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:458,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:458,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:461,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:461,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:464,1
    - Dst: APPEND_STAT_CSV
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:467,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - edata
    - name
    - data_type
    - datum
    argTypes:
    - void*
    - char*
    - TSRecordDataType
    - TSRecordData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 473
    functionName: csv_out_stat
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - wrap_unsigned_counter
    - static_cast<stats_state *>
    - APPEND_STAT_CSV
    - Dbg
    - APPEND_STAT_CSV_NUMERIC
    linkageType: ''
    returnType: void
    signature: "void csv_out_stat(TSRecordType /* rec_type ATS_UNUSED */, void *edata,
      int /* registered ATS_UNUSED */, const char *name,\n             TSRecordDataType
      data_type, TSRecordData *datum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 491
    functionName: sanitize_metric_name_for_prometheus
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string sanitize_metric_name_for_prometheus(std::string_view name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<stats_state *>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:497,1
    - Dst: sanitize_metric_name_for_prometheus
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:498,1
    - Dst: APPEND_STAT_PROMETHEUS_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:501,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:501,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:501,1
    - Dst: APPEND_STAT_PROMETHEUS_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:504,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:504,1
    - Dst: wrap_unsigned_counter
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:504,1
    - Dst: APPEND_STAT_PROMETHEUS_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:507,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:507,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:510,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:510,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:513,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - edata
    - name
    - data_type
    - datum
    argTypes:
    - void*
    - char*
    - TSRecordDataType
    - TSRecordData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: prometheus_out_stat
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - wrap_unsigned_counter
    - static_cast<stats_state *>
    - sanitize_metric_name_for_prometheus
    - APPEND_STAT_PROMETHEUS_NUMERIC
    - Dbg
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: "void prometheus_out_stat(TSRecordType /* rec_type ATS_UNUSED */, void
      *edata, int /* registered ATS_UNUSED */, const char *name,\n                    TSRecordDataType
      data_type, TSRecordData *datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APPEND
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:522,1
    - Dst: TSRecordDump
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:523,1
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:524,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:525,1
    - Dst: ms_since_epoch
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:525,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:526,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:527,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:528,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: json_out_stats
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - ms_since_epoch
    - TSRecordDump
    - APPEND_STAT_JSON_NUMERIC
    - APPEND
    - TSTrafficServerVersionGet
    linkageType: ''
    returnType: void
    signature: void json_out_stats(stats_state *my_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSize
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:539,1
    - Dst: memset
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:543,1
    - Dst: memset
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:544,1
    - Dst: TSIOBufferReaderCopy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:546,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:550,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:551,1
    - Dst: BrotliEncoderCompress
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:553,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:557,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:559,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 562
    functionName: br_out_stats
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - memset
    - BrotliEncoderMaxCompressedSize
    - BrotliEncoderCompress
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderCopy
    - TSIOBufferWrite
    - BrotliEncoderDestroyInstance
    - Dbg
    linkageType: ''
    returnType: void
    signature: void br_out_stats(stats_state *my_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateBound
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:571,1
    - Dst: memset
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:572,1
    - Dst: memset
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:573,1
    - Dst: TSIOBufferReaderCopy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:575,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:579,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:580,1
    - Dst: deflate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:587,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:589,1
    - Dst: deflateEnd
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:592,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:594,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 598
    functionName: gzip_out_stats
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - deflateBound
    - deflateEnd
    - TSIOBufferReaderCopy
    - TSIOBufferWrite
    - deflate
    - Dbg
    linkageType: ''
    returnType: void
    signature: void gzip_out_stats(stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRecordDump
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:603,1
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:604,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:605,1
    - Dst: ms_since_epoch
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:605,1
    - Dst: APPEND_STAT_CSV
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: csv_out_stats
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - ms_since_epoch
    - TSRecordDump
    - APPEND_STAT_CSV
    - TSTrafficServerVersionGet
    - APPEND_STAT_CSV_NUMERIC
    linkageType: ''
    returnType: void
    signature: void csv_out_stats(stats_state *my_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSRecordDump
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:612,1
    - Dst: APPEND_STAT_PROMETHEUS_NUMERIC
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:613,1
    - Dst: ms_since_epoch
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - my_state
    argTypes:
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: prometheus_out_stats
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - ms_since_epoch
    - TSRecordDump
    - APPEND_STAT_PROMETHEUS_NUMERIC
    linkageType: ''
    returnType: void
    signature: void prometheus_out_stats(stats_state *my_state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_out_stats
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:625,1
    - Dst: csv_out_stats
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:628,1
    - Dst: prometheus_out_stats
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:631,1
    - Dst: gzip_out_stats
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:636,1
    - Dst: br_out_stats
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:640,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:643,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:645,1
    - Dst: stats_cleanup
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:647,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:649,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:651,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - contp
    - event
    - my_state
    argTypes:
    - TSCont
    - TSEvent
    - stats_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 653
    functionName: stats_process_write
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - json_out_stats
    - TSVIONBytesSet
    - TSError
    - br_out_stats
    - prometheus_out_stats
    - gzip_out_stats
    - TSVIOReenable
    - csv_out_stats
    - TSReleaseAssert
    - stats_cleanup
    linkageType: ''
    returnType: void
    signature: void stats_process_write(TSCont contp, TSEvent event, stats_state *my_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<stats_state *>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:658,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:658,1
    - Dst: stats_process_accept
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:661,1
    - Dst: stats_process_read
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:663,1
    - Dst: stats_process_write
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:665,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 5
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: stats_dostuff
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - static_cast<stats_state *>
    - stats_process_accept
    - stats_process_read
    - TSReleaseAssert
    - TSContDataGet
    - stats_process_write
    linkageType: ''
    returnType: int
    signature: int stats_dostuff(TSCont contp, TSEvent event, void *edata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:689,1
    - Dst: get_config
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:690,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:692,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:696,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:700,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:701,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:704,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:708,1
    - Dst: swoc::TextView::starts_with
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:709,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:710,1
    - Dst: config_t*::stats_path::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:710,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:715,1
    - Dst: config_t*::stats_path::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:715,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:719,1
    - Dst: config_t*::stats_path::length
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:719,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:727,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:727,1
    - Dst: swoc::TextView::length
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:727,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:728,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:734,1
    - Dst: is_ipmap_allowed
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:734,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:735,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:736,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:741,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:744,1
    - Dst: stats_state::stats_state
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:746,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:747,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:747,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:750,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:750,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:754,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:759,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:762,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:763,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:765,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:766,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:769,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:776,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:780,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:781,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:782,1
    - Dst: init_gzip
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:783,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:784,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:785,1
    - Dst: init_gzip
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:786,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:789,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:790,1
    - Dst: init_br
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:791,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 672
    functionDepth: 5
    functionLinenumber: 672
    functionLinenumberEnd: 797
    functionName: stats_origin
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientReqGet
    - stats_state::stats_state
    - TSMimeHdrFieldFind
    - config_t*::stats_path::length
    - swoc::TextView::starts_with
    - strstr
    - swoc::TextView::length
    - static_cast<int>
    - TSUrlPathGet
    - strncasecmp
    - is_ipmap_allowed
    - Dbg
    - TSContCreate
    - static_cast<size_t>
    - TSHttpHdrUrlGet
    - TSMutexCreate
    - TSHttpTxnClientAddrGet
    - TSHttpTxnStatusSet
    - swoc::TextView::data
    - get_config
    - init_br
    - TSMimeHdrFieldValueStringGet
    - swoc::TextView::remove_prefix
    - init_gzip
    - TSHttpTxnCntlSet
    - config_t*::stats_path::c_str
    linkageType: ''
    returnType: int
    signature: int stats_origin(TSCont contp, TSEvent /* event ATS_UNUSED */, void
      *edata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:841,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:842,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:847,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:857,1
    - Dst: new_config_holder
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:865,1
    - Dst: config_holder_t*::config::stats_path::empty
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:870,1
    - Dst: config_holder_t*::config::stats_path::empty
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:873,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:879,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:880,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:881,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:885,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:885,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:886,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:887,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:891,1
    - Dst: config_holder_t*::config::stats_path::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:891,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 896
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSMgmtUpdateRegister
    - TSError
    - getopt_long
    - config_holder_t*::config::stats_path::c_str
    - TSContDataSet
    - TSHttpHookAdd
    - config_holder_t*::config::stats_path::empty
    - Dbg
    - new_config_holder
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_t*::addrs::contains
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:905,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - config
    - addr
    argTypes:
    - config_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: is_ipmap_allowed
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 1
    functionsReached:
    - config_t*::addrs::contains
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    linkageType: ''
    returnType: bool
    signature: bool is_ipmap_allowed(const config_t *config, const struct sockaddr
      *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:915,1
    - Dst: config_t*::addrs::fill
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:916,1
    - Dst: config_t*::addrs::fill
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:917,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:918,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:923,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:924,1
    - Dst: config_t*::addrs::fill
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:925,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:926,1
    - Dst: auto::length
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:926,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - config
    - txt
    argTypes:
    - config_t*
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 929
    functionName: parseIpMap
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::take_prefix_at
    - auto::length
    - swoc::TextView::empty
    - Dbg
    - swoc::IPRange::load
    - auto::data
    - config_t*::addrs::fill
    linkageType: ''
    returnType: void
    signature: void parseIpMap(config_t *config, swoc::TextView txt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: config_t::config_t
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:935,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:941,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:945,1
    - Dst: swoc::TextView::ltrim_if
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:947,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:958,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:959,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:959,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:960,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:962,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:963,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:964,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:964,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:965,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:966,1
    - Dst: parseIpMap
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:967,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:967,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:967,1
    - Dst: swoc::TextView::find
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:968,1
    - Dst: parseIpMap
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:969,1
    - Dst: swoc::TextView::remove_prefix
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:969,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:969,1
    - Dst: config_t*::addrs::count
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:973,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:974,1
    - Dst: parseIpMap
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:975,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:978,1
    - Dst: config_t*::stats_path::c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - fh
    argTypes:
    - std::fstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 981
    functionName: new_config
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - config_t::config_t
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::TextView::remove_prefix
    - swoc::TextView::find
    - Dbg
    - swoc::TextView::size
    - config_t*::addrs::count
    - swoc::TextView::ltrim_if
    - std::getline
    - parseIpMap
    - config_t*::stats_path::c_str
    linkageType: ''
    returnType: config_t
    signature: 'config_t *

      new_config(std::fstream &fh)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - config
    argTypes:
    - config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: delete_config
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void delete_config(config_t *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 999
    functionName: get_config
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 1
    functionsReached:
    - TSContDataGet
    linkageType: ''
    returnType: config_t
    signature: 'config_t *

      get_config(TSCont cont)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1011,1
    - Dst: stat
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1014,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1015,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1021,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1028,1
    - Dst: std::fstream::open
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1029,1
    - Dst: std::fstream::is_open
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1032,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1033,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1034,1
    - Dst: new_config
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1041,1
    - Dst: __sync_lock_test_and_set
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1047,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1049,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1050,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1050,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1051,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1052,1
    - Dst: std::fstream::close
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1056,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - config_holder
    argTypes:
    - config_holder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1059
    functionName: load_config_file
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - std::fstream::close
    - std::fstream::is_open
    - TSError
    - stat
    - __sync_lock_test_and_set
    - TSContDataSet
    - TSContScheduleOnPool
    - std::fstream::open
    - Dbg
    - new_config
    - c_str
    - TSContCreate
    - time
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void load_config_file(config_holder_t *config_holder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<config_holder_t *>
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1064,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1064,1
    - Dst: nstr
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1070,1
    - Dst: load_config_file
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 4
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: new_config_holder
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 1
    functionsReached:
    - nstr
    - load_config_file
    - TSmalloc
    - static_cast<config_holder_t *>
    linkageType: ''
    returnType: config_holder_t
    signature: 'config_holder_t *

      new_config_holder(const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1082,1
    - Dst: delete_config
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1083,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    functionName: free_handler
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - delete_config
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int free_handler(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1092,1
    - Dst: load_config_file
      Src: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1088
    functionDepth: 4
    functionLinenumber: 1088
    functionLinenumberEnd: 1101
    functionName: config_handler
    functionSourceFile: /src/trafficserver/plugins/stats_over_http/stats_over_http.cc
    functionUses: 0
    functionsReached:
    - load_config_file
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int config_handler(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JA4::make_JA4_fingerprint
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - TLS_summary
    argTypes:
    - JA4::TLSClientHelloSummary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: call_JA4
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc
    functionUses: 0
    functionsReached:
    - JA4::make_JA4_fingerprint
    linkageType: ''
    returnType: std::string
    signature: std::string call_JA4(JA4::TLSClientHelloSummary const &TLS_summary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:422,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:422,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:423,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:423,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:423,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: inc
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/test_ja4.cc
    functionUses: 16
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - std::string::resize
    - std::transform
    - std::string::begin
    - std::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string inc(std::string_view sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int::int
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: get_user_arg_index
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - int::int
    linkageType: ''
    returnType: int
    signature: 'int *

      get_user_arg_index()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObject::TSTextLogObject
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: get_log_handle
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObject::TSTextLogObject
    linkageType: ''
    returnType: TSTextLogObject
    signature: 'TSTextLogObject *

      get_log_handle()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: get_registration_info
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSPluginRegistrationInfo
    signature: TSPluginRegistrationInfo get_registration_info()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint16_t>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lowbyte
    - highbyte
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: make_word
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::uint16_t>
    linkageType: ''
    returnType: std::uint16_t
    signature: std::uint16_t make_word(unsigned char lowbyte, unsigned char highbyte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: register_plugin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:117,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:118,1
    - Dst: reserve_user_arg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:121,1
    - Dst: create_log_file
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:122,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:123,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:126,1
    - Dst: register_hooks
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - TSError
    - create_log_file
    - Dbg
    - register_plugin
    - register_hooks
    - reserve_user_arg
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, char const ** /* argv
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_registration_info
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:134,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: register_plugin
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 2
    functionsReached:
    - get_registration_info
    - TSPluginRegister
    linkageType: ''
    returnType: bool
    signature: bool register_plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:141,1
    - Dst: get_log_handle
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: create_log_file
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - get_log_handle
    - TSTextLogObjectCreate
    linkageType: ''
    returnType: bool
    signature: bool create_log_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:147,1
    - Dst: get_user_arg_index
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: reserve_user_arg
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - get_user_arg_index
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: void
    signature: void reserve_user_arg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:153,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:153,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:154,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:154,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:155,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: register_hooks
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - TSHttpHookAdd
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void register_hooks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:162,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:166,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:167,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:169,1
    - Dst: std::make_unique<JA4_data>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:171,1
    - Dst: get_fingerprint
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:172,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:172,1
    - Dst: get_IP
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:173,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:173,1
    - Dst: log_fingerprint
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:174,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:174,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:176,1
    - Dst: get_user_arg_index
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:176,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:176,1
    - Dst: auto::release
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:176,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 180
    functionName: handle_client_hello
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::release
    - static_cast<void *>
    - TSUserArgSet
    - static_cast<TSVConn>
    - TSVConnReenable
    - get_fingerprint
    - Dbg
    - get_IP
    - TSNetVConnRemoteAddrGet
    - reinterpret_cast<SSL *>
    - std::make_unique<JA4_data>
    - log_fingerprint
    - TSVConnSslConnectionGet
    - get_user_arg_index
    linkageType: ''
    returnType: int
    signature: int handle_client_hello(TSCont /* cont ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:187,1
    - Dst: get_first_ALPN
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:188,1
    - Dst: add_ciphers
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:189,1
    - Dst: add_extensions
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:190,1
    - Dst: JA4::make_JA4_fingerprint
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: get_fingerprint
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - get_version
    - add_extensions
    - JA4::make_JA4_fingerprint
    - add_ciphers
    - get_first_ALPN
    linkageType: ''
    returnType: std::string
    signature: std::string get_fingerprint(SSL *ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:208,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:209,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:212,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s_sockaddr
    - res
    argTypes:
    - sockaddr*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: get_IP
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - reinterpret_cast<const struct sockaddr_in *>
    linkageType: ''
    returnType: char
    signature: 'char *

      get_IP(sockaddr const *s_sockaddr, char res[INET6_ADDRSTRLEN])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:225,1
    - Dst: JA4_data*::fingerprint::c_str
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:225,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:226,1
    - Dst: get_log_handle
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:226,1
    - Dst: JA4_data*::fingerprint::c_str
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - JA4_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: log_fingerprint
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - TSTextLogObjectWrite
    - Dbg
    - get_log_handle
    - JA4_data*::fingerprint::c_str
    linkageType: ''
    returnType: void
    signature: void log_fingerprint(JA4_data const *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ext
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:236,1
    - Dst: make_word
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:239,1
    - Dst: JA4::is_GREASE
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:246,1
    - Dst: SSL_client_hello_get0_legacy_version
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: get_version
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 24
    functionsReached:
    - JA4::is_GREASE
    - SSL_client_hello_get0_legacy_version
    - SSL_client_hello_get0_ext
    - make_word
    - Dbg
    linkageType: ''
    returnType: std::uint16_t
    signature: std::uint16_t get_version(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ext
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:257,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:260,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:261,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: get_first_ALPN
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - TSAssert
    - std::string::assign
    - SSL_client_hello_get0_ext
    linkageType: ''
    returnType: std::string
    signature: std::string get_first_ALPN(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:271,1
    - Dst: JA4::TLSClientHelloSummary::add_cipher
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:274,1
    - Dst: make_word
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:274,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - summary
    - ssl
    argTypes:
    - JA4::TLSClientHelloSummary
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: add_ciphers
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - make_word
    - JA4::TLSClientHelloSummary::add_cipher
    - Dbg
    - SSL_client_hello_get0_ciphers
    linkageType: ''
    returnType: void
    signature: void add_ciphers(JA4::TLSClientHelloSummary &summary, SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:286,1
    - Dst: JA4::TLSClientHelloSummary::add_extension
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:288,1
    - Dst: make_word
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:288,1
    - Dst: OPENSSL_free
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - summary
    - ssl
    argTypes:
    - JA4::TLSClientHelloSummary
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: add_extensions
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - make_word
    - JA4::TLSClientHelloSummary::add_extension
    - SSL_client_hello_get1_extensions_present
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void add_extensions(JA4::TLSClientHelloSummary &summary, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:297,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:297,1
    - Dst: SHA256
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:299,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:299,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:299,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:299,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:301,1
    - Dst: std::snprintf
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:303,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:303,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: hash_with_SHA256
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - reinterpret_cast<unsigned char const *>
    - SHA256
    - std::string::resize
    - std::string::data
    - Dbg
    - c_str
    - std::string_view::size
    - std::snprintf
    - std::string_view::data
    linkageType: ''
    returnType: std::string
    signature: std::string hash_with_SHA256(std::string_view sv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:312,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:319,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:319,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:320,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:321,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:322,1
    - Dst: static_cast<std::string *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:326,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:326,1
    - Dst: get_user_arg_index
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:326,1
    - Dst: append_JA4_headers
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:328,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:330,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 335
    functionName: handle_read_request_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - append_JA4_headers
    - static_cast<std::string *>
    - TSError
    - TSHttpTxnSsnGet
    - Dbg
    - TSUserArgGet
    - static_cast<TSHttpTxn>
    - TSHttpSsnClientVConnGet
    - TSHttpTxnReenable
    - get_user_arg_index
    linkageType: ''
    returnType: int
    signature: int handle_read_request_hdr(TSCont cont, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:342,1
    - Dst: append_to_field
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:343,1
    - Dst: std::string*::data
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:343,1
    - Dst: std::string*::size
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:343,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:346,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:347,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:348,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:349,1
    - Dst: append_to_field
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:351,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:351,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:351,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:351,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:352,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:352,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:353,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:356,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - txnp
    - fingerprint
    argTypes:
    - TSHttpTxn
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: append_JA4_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 1
    functionsReached:
    - std::string*::size
    - static_cast<int>
    - std::string*::data
    - TSfree
    - TSHandleMLocRelease
    - TSError
    - TSstrdup
    - length
    - std::strlen
    - Dbg
    - TSHttpTxnClientReqGet
    - data
    - TSMgmtStringGet
    - append_to_field
    linkageType: ''
    returnType: void
    signature: void append_JA4_headers(TSCont /* cont ATS_UNUSED */, TSHttpTxn txnp,
      std::string const *fingerprint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:367,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:369,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:370,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:375,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:378,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - bufp
    - hdr_loc
    - field
    - field_len
    - value
    - value_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 380
    functionName: append_to_field
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void append_to_field(TSMBuffer bufp, TSMLoc hdr_loc, const char *field,
      int field_len, const char *value, int value_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:386,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:391,1
    - Dst: static_cast<std::string *>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:392,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:392,1
    - Dst: get_user_arg_index
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:392,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:393,1
    - Dst: get_user_arg_index
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:393,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: handle_vconn_close
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string *>
    - TSUserArgSet
    - static_cast<TSVConn>
    - Dbg
    - TSVConnReenable
    - TSUserArgGet
    - get_user_arg_index
    linkageType: ''
    returnType: int
    signature: int handle_vconn_close(TSCont /* cont ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:154,1
    - Dst: JA4::make_JA4_a_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:154,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:155,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: hasher
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: JA4::make_JA4_b_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:157,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    - Dst: hasher
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    - Dst: JA4::make_JA4_c_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - TLS_summary
    - hasher
    argTypes:
    - TLSClientHelloSummary
    - UnaryOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: JA4::make_JA4_fingerprint
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h
    functionUses: 2
    functionsReached:
    - JA4::make_JA4_c_raw
    - JA4::make_JA4_b_raw
    - std::string::append
    - std::string::push_back
    - hasher
    - JA4::make_JA4_a_raw
    linkageType: ''
    returnType: std::string
    signature: std::string make_JA4_fingerprint(TLSClientHelloSummary const &TLS_summary,
      UnaryOp hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:154,1
    - Dst: JA4::make_JA4_a_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:154,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:155,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: hasher
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: JA4::make_JA4_b_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:156,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:157,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    - Dst: hasher
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    - Dst: JA4::make_JA4_c_raw
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - TLS_summary
    - hasher
    argTypes:
    - TLSClientHelloSummary
    - UnaryOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: JA4::make_JA4_fingerprint
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.h
    functionUses: 2
    functionsReached:
    - JA4::make_JA4_c_raw
    - JA4::make_JA4_b_raw
    - std::string::append
    - std::string::push_back
    - hasher
    - JA4::make_JA4_a_raw
    linkageType: ''
    returnType: std::string
    signature: std::string make_JA4_fingerprint(TLSClientHelloSummary const &TLS_summary,
      UnaryOp hasher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:53,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:54,1
    - Dst: convert_protocol_to_char
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:54,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:55,1
    - Dst: convert_TLS_version_to_string
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:55,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:56,1
    - Dst: convert_SNI_to_char
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:56,1
    - Dst: TLSClientHelloSummary::get_SNI_type
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:56,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:57,1
    - Dst: convert_count_to_two_digit_string
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:57,1
    - Dst: TLSClientHelloSummary::get_cipher_count
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:57,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:58,1
    - Dst: convert_count_to_two_digit_string
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:58,1
    - Dst: TLSClientHelloSummary::get_extension_count
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:58,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:59,1
    - Dst: convert_ALPN_to_two_char_string
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - TLS_summary
    argTypes:
    - TLSClientHelloSummary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: JA4::make_JA4_a_raw
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 2
    functionsReached:
    - convert_TLS_version_to_string
    - convert_ALPN_to_two_char_string
    - std::string::reserve
    - TLSClientHelloSummary::get_cipher_count
    - convert_protocol_to_char
    - std::string::append
    - convert_count_to_two_digit_string
    - std::string::push_back
    - convert_SNI_to_char
    - TLSClientHelloSummary::get_SNI_type
    - TLSClientHelloSummary::get_extension_count
    linkageType: ''
    returnType: std::string
    signature: std::string JA4::make_JA4_a_raw(TLSClientHelloSummary const &TLS_summary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - JA4::Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: convert_protocol_to_char
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 1
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: char convert_protocol_to_char(JA4::Protocol protocol)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - TLS_version
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: convert_TLS_version_to_string
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string convert_TLS_version_to_string(std::uint16_t TLS_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - SNI_type
    argTypes:
    - JA4::SNI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: convert_SNI_to_char
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 1
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: char convert_SNI_to_char(JA4::SNI SNI_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:109,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:113,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:113,1
    - Dst: std::clamp
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: convert_count_to_two_digit_string
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 1
    functionsReached:
    - std::string::push_back
    - std::to_string
    - std::string::append
    - std::clamp
    linkageType: ''
    returnType: std::string
    signature: std::string convert_count_to_two_digit_string(std::size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:121,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:124,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:124,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:125,1
    - Dst: std::string_view::back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ALPN
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: convert_ALPN_to_two_char_string
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 1
    functionsReached:
    - std::string::push_back
    - std::string_view::back
    - std::string_view::empty
    - std::string_view::front
    linkageType: ''
    returnType: std::string
    signature: std::string convert_ALPN_to_two_char_string(std::string_view ALPN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:134,1
    - Dst: TLSClientHelloSummary::get_ciphers
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:135,1
    - Dst: sort
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:136,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:136,1
    - Dst: std::vector::end
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:136,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:139,1
    - Dst: hexify
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:139,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:140,1
    - Dst: remove_trailing_character
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - TLS_summary
    argTypes:
    - TLSClientHelloSummary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: JA4::make_JA4_b_raw
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 2
    functionsReached:
    - sort
    - std::vector::end
    - hexify
    - std::string::reserve
    - std::vector::begin
    - std::string::append
    - TLSClientHelloSummary::get_ciphers
    - std::string::push_back
    - remove_trailing_character
    linkageType: ''
    returnType: std::string
    signature: std::string JA4::make_JA4_b_raw(TLSClientHelloSummary const &TLS_summary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:150,1
    - Dst: TLSClientHelloSummary::get_extensions
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:151,1
    - Dst: sort
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:152,1
    - Dst: std::vector::begin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:152,1
    - Dst: std::vector::end
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:152,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:155,1
    - Dst: hexify
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:155,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:156,1
    - Dst: remove_trailing_character
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - TLS_summary
    argTypes:
    - TLSClientHelloSummary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: JA4::make_JA4_c_raw
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 2
    functionsReached:
    - sort
    - std::vector::end
    - hexify
    - std::string::reserve
    - TLSClientHelloSummary::get_extensions
    - std::vector::begin
    - std::string::append
    - std::string::push_back
    - remove_trailing_character
    linkageType: ''
    returnType: std::string
    signature: std::string JA4::make_JA4_c_raw(TLSClientHelloSummary const &TLS_summary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:165,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: remove_trailing_character
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 2
    functionsReached:
    - std::string::empty
    - std::string::pop_back
    linkageType: ''
    returnType: void
    signature: void remove_trailing_character(std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::snprintf
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: hexify
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/ja4.cc
    functionUses: 2
    functionsReached:
    - std::snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string hexify(std::uint16_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '&

      JA4::TLSClientHelloSummary::get_ciphers() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::uint16_t>
    signature: 'std::vector<std::uint16_t> &

      JA4::TLSClientHelloSummary::get_ciphers() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_GREASE
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:54,1
    - Dst: JA4::TLSClientHelloSummary::add_cipher(std::_ciphers::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: JA4::TLSClientHelloSummary::add_cipher(std::uint16_t cipher)
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached:
    - JA4::TLSClientHelloSummary::add_cipher(std::_ciphers::push_back
    - is_GREASE
    linkageType: ''
    returnType: void
    signature: void JA4::TLSClientHelloSummary::add_cipher(std::uint16_t cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: '&

      JA4::TLSClientHelloSummary::get_extensions() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::uint16_t>
    signature: 'std::vector<std::uint16_t> &

      JA4::TLSClientHelloSummary::get_extensions() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_GREASE
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:70,1
    - Dst: is_ignored_non_GREASE_extension
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:79,1
    - Dst: JA4::TLSClientHelloSummary::add_extension(std::_extensions::push_back
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - extension
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: JA4::TLSClientHelloSummary::add_extension(std::uint16_t extension)
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached:
    - is_GREASE
    - is_ignored_non_GREASE_extension
    - JA4::TLSClientHelloSummary::add_extension(std::_extensions::push_back
    linkageType: ''
    returnType: void
    signature: void JA4::TLSClientHelloSummary::add_extension(std::uint16_t extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JA4::TLSClientHelloSummary::_ciphers::size
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: JA4::TLSClientHelloSummary::get_cipher_count() const
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached:
    - JA4::TLSClientHelloSummary::_ciphers::size
    linkageType: ''
    returnType: JA4::TLSClientHelloSummary::difference_type
    signature: JA4::TLSClientHelloSummary::difference_type JA4::TLSClientHelloSummary::get_cipher_count()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: JA4::TLSClientHelloSummary::get_extension_count() const
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JA4::TLSClientHelloSummary::difference_type
    signature: JA4::TLSClientHelloSummary::difference_type JA4::TLSClientHelloSummary::get_extension_count()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - extension
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: is_ignored_non_GREASE_extension
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ignored_non_GREASE_extension(std::uint16_t extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: JA4::TLSClientHelloSummary::get_SNI_type() const
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JA4::SNI
    signature: JA4::SNI JA4::TLSClientHelloSummary::get_SNI_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::binary_search
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:111,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:111,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: JA4::is_GREASE
    functionSourceFile: /src/trafficserver/plugins/experimental/ja4_fingerprint/tls_client_hello_summary.cc
    functionUses: 1
    functionsReached:
    - begin
    - std::binary_search
    - end
    linkageType: ''
    returnType: bool
    signature: bool JA4::is_GREASE(std::uint16_t value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:51,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:52,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:53,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:57,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:57,1
    - Dst: mallctl
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:58,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:59,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:61,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:62,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:62,1
    - Dst: mallctl
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:65,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:68,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:69,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:69,1
    - Dst: mallctl
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:72,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:75,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:76,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:76,1
    - Dst: malloc_stats_print
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:77,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:78,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:81,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:85,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - cont
    - id
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 92
    functionName: CallbackHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc
    functionUses: 0
    functionsReached:
    - malloc_stats_print
    - strcmp
    - TSError
    - static_cast<TSPluginMsg *>
    - Dbg
    - mallctl
    - static_cast<const char *>
    - strncmp
    linkageType: ''
    returnType: int
    signature: int CallbackHandler(TSCont cont, TSEvent id, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:104,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:105,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:110,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:114,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/memory_profile/memory_profile.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSError
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:50,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: "&\n  glue() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - write
    - size
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: "swoc::BufferWriter &\n  glue() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator()(feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: operator()(feature_type_for<STRING> const &s) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<STRING> const &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: operator()(feature_type_for<INTEGER> n) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<INTEGER> n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: operator()(feature_type_for<BOOLEAN> flag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<BOOLEAN> flag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: operator()(feature_type_for<DURATION> d) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<DURATION> d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:83,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:85,1
    - Dst: aux_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:87,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:89,1
    - Dst: commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:91,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:91,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: operator()(feature_type_for<TUPLE> t) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - write
    - auto::size
    - glue
    - aux_span
    - std::visit
    - commit
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<TUPLE> t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()(T const &) const -> EnableForFeatureTypes<T, void>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()(T const &) const -> EnableForFeatureTypes<T, void>
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:50,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: "&\n  glue() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - write
    - size
    linkageType: ''
    returnType: swoc::BufferWriter
    signature: "swoc::BufferWriter &\n  glue() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator()(feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: operator()(feature_type_for<STRING> const &s) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<STRING> const &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: operator()(feature_type_for<INTEGER> n) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<INTEGER> n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: operator()(feature_type_for<BOOLEAN> flag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<BOOLEAN> flag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: operator()(feature_type_for<DURATION> d) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - glue
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<DURATION> d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glue
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:83,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:85,1
    - Dst: aux_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:87,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:89,1
    - Dst: commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:91,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:91,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: operator()(feature_type_for<TUPLE> t) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - write
    - auto::size
    - glue
    - aux_span
    - std::visit
    - commit
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<TUPLE> t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()(T const &) const -> EnableForFeatureTypes<T, void>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()(T const &) const -> EnableForFeatureTypes<T, void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:109,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - glue
    argTypes:
    - Context
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: Feature::join
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - std::visit
    linkageType: ''
    returnType: Feature
    signature: Feature Feature::join(Context &ctx, const swoc::TextView &glue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: "&\n  units()"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unit_type
    signature: "unit_type &\n  units()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - units
    argTypes:
    - UnitParser::unit_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: UnitParser<E>::UnitParser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void UnitParser<E>::UnitParser(UnitParser::unit_type &&units) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:178,1
    - Dst: UnitParser::unit_type::set_default
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - units
    - unit_required_p
    argTypes:
    - UnitParser::unit_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: UnitParser<E>::UnitParser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - std::move
    - UnitParser::unit_type::set_default
    linkageType: ''
    returnType: void
    signature: void UnitParser<E>::UnitParser(UnitParser::unit_type &&units, bool
      unit_required_p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: UnitParser<E>::unit_required
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto UnitParser<E>::unit_required(bool flag) -> self_type &
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:197,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:199,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:200,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:201,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:202,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:202,1
    - Dst: svtou
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:205,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:208,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:210,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:210,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:210,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:211,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:213,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:213,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:219,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 225
    functionName: UnitParser<E>::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - Errata
    - TextView::data
    - svtou
    - isdigit
    - TextView::clip_prefix_of
    - isspace
    - TextView::ltrim_if
    - auto::empty
    linkageType: ''
    returnType: auto
    signature: auto UnitParser<E>::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator()(F const &) const -> EnableForFeatureTypes<F, bool>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - TS_DBG
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) const -> EnableForFeatureTypes<F, bool>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: operator()(feature_type_for<BOOLEAN> const &flag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<BOOLEAN> const &flag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: operator()(feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: operator()(feature_type_for<STRING> const &s) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<STRING> const &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: operator()(feature_type_for<INTEGER> const &n) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<INTEGER> const &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - feature_type_for<FLOAT>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: operator()(feature_type_for<FLOAT> const &f) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<FLOAT> const &f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<IP_ADDR>::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - feature_type_for<IP_ADDR>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: operator()(feature_type_for<IP_ADDR> const &addr) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<IP_ADDR>::is_valid
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<IP_ADDR> const &addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<TUPLE>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator()(feature_type_for<TUPLE> const &t) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<TUPLE>::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<TUPLE> const &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<DURATION>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: operator()(feature_type_for<DURATION> const &d) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<DURATION>::count
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<DURATION> const &d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator()(F const &) const -> EnableForFeatureTypes<F, bool>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - TS_DBG
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) const -> EnableForFeatureTypes<F, bool>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: operator()(feature_type_for<BOOLEAN> const &flag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<BOOLEAN> const &flag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: operator()(feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: operator()(feature_type_for<STRING> const &s) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<STRING> const &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: operator()(feature_type_for<INTEGER> const &n) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<INTEGER> const &n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - feature_type_for<FLOAT>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: operator()(feature_type_for<FLOAT> const &f) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<FLOAT> const &f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<IP_ADDR>::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - feature_type_for<IP_ADDR>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: operator()(feature_type_for<IP_ADDR> const &addr) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<IP_ADDR>::is_valid
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<IP_ADDR> const &addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<TUPLE>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator()(feature_type_for<TUPLE> const &t) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<TUPLE>::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<TUPLE> const &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<DURATION>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: operator()(feature_type_for<DURATION> const &d) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<DURATION>::count
    linkageType: ''
    returnType: bool
    signature: bool operator()(feature_type_for<DURATION> const &d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: Feature::as_bool
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: auto
    signature: auto Feature::as_bool() const -> type_for<BOOLEAN>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - ftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: integer_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void integer_visitor(ftype invalid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:314,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:315,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:315,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:316,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: operator()(feature_type_for<STRING> const &s)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - Errata
    - feature_type_for<STRING>::size
    - TextView::size
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<STRING> const &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator()(feature_type_for<INTEGER> n)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<INTEGER> n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftype
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - feature_type_for<FLOAT>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: operator()(feature_type_for<FLOAT> f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - ftype
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<FLOAT> f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftype
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: operator()(feature_type_for<BOOLEAN> flag)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - ftype
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<BOOLEAN> flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<TUPLE>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: operator()(feature_type_for<TUPLE> t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<TUPLE>::size
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<TUPLE> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - ftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: integer_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void integer_visitor(ftype invalid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:314,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:315,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:315,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:316,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: operator()(feature_type_for<STRING> const &s)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtoi
    - Errata
    - feature_type_for<STRING>::size
    - TextView::size
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<STRING> const &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: operator()(feature_type_for<INTEGER> n)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<INTEGER> n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftype
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - feature_type_for<FLOAT>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: operator()(feature_type_for<FLOAT> f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - ftype
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<FLOAT> f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftype
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - feature_type_for<BOOLEAN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: operator()(feature_type_for<BOOLEAN> flag)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - ftype
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<BOOLEAN> flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<TUPLE>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: operator()(feature_type_for<TUPLE> t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<TUPLE>::size
    linkageType: ''
    returnType: ret_type
    signature: ret_type operator()(feature_type_for<TUPLE> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: Feature::as_integer
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: auto
    signature: auto Feature::as_integer(type_for<INTEGER> invalid) const -> Rv<type_for<INTEGER>>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:368,1
    - Dst: system_clock::duration::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - system_clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: swoc::Lexicon_Hash
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - system_clock::duration::count
    - static_cast<uintmax_t>
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t Lexicon_Hash(system_clock::duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:368,1
    - Dst: system_clock::duration::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - system_clock::duration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: swoc::Lexicon_Hash
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - system_clock::duration::count
    - static_cast<uintmax_t>
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t Lexicon_Hash(system_clock::duration d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - ftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: duration_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void duration_visitor(ftype invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: duration_visitor::operator()(feature_type_for<DURATION> const &d)
      -> ret_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto duration_visitor::operator()(feature_type_for<DURATION> const
      &d) -> ret_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DurationParser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:440,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:441,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:442,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:443,1
    - Dst: feature_type_for<DURATION>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: duration_visitor::operator()(feature_type_for<STRING> const &s)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - note
    - feature_type_for<DURATION>
    - is_ok
    - std::move
    - DurationParser
    linkageType: ''
    returnType: duration_visitor::ret_type
    signature: duration_visitor::ret_type duration_visitor::operator()(feature_type_for<STRING>
      const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:455,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:456,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:457,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: duration_visitor::operator()(feature_type_for<TUPLE> t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - note
    - std::move
    - is_ok
    - std::visit
    linkageType: ''
    returnType: duration_visitor::ret_type
    signature: duration_visitor::ret_type duration_visitor::operator()(feature_type_for<TUPLE>
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - ftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: duration_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void duration_visitor(ftype invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) -> EnableForFeatureTypes<F, ret_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: duration_visitor::operator()(feature_type_for<DURATION> const &d)
      -> ret_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto duration_visitor::operator()(feature_type_for<DURATION> const
      &d) -> ret_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DurationParser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:440,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:441,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:442,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:443,1
    - Dst: feature_type_for<DURATION>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: duration_visitor::operator()(feature_type_for<STRING> const &s)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - note
    - feature_type_for<DURATION>
    - is_ok
    - std::move
    - DurationParser
    linkageType: ''
    returnType: duration_visitor::ret_type
    signature: duration_visitor::ret_type duration_visitor::operator()(feature_type_for<STRING>
      const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:455,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:456,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:457,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: duration_visitor::operator()(feature_type_for<TUPLE> t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - note
    - std::move
    - is_ok
    - std::visit
    linkageType: ''
    returnType: duration_visitor::ret_type
    signature: duration_visitor::ret_type duration_visitor::operator()(feature_type_for<TUPLE>
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - invalid
    argTypes:
    - type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: Feature::as_duration
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: auto
    signature: auto Feature::as_duration(type_for<DURATION> invalid) const -> Rv<type_for<DURATION>>
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:478,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:479,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:483,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:484,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:486,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:487,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:487,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:488,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:489,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:489,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:490,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:491,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:491,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:492,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:493,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 498
    functionName: operator==(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - IndexFor
    - std::get<IndexFor(INTEGER)>
    - std::get<IndexFor(BOOLEAN)>
    - std::get<IndexFor(IP_ADDR)>
    - std::get<IndexFor(DURATION)>
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool operator==(Feature const &lhs, Feature const &rhs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:503,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:504,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:508,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:509,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:509,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:510,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:511,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:511,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:512,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:513,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:513,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:514,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:515,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 520
    functionName: operator<(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - IndexFor
    - std::get<IndexFor(INTEGER)>
    - std::get<IndexFor(BOOLEAN)>
    - std::get<IndexFor(IP_ADDR)>
    - std::get<IndexFor(DURATION)>
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool operator<(Feature const &lhs, Feature const &rhs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:525,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:526,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:530,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:532,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:533,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:533,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:534,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:535,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:535,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:536,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:537,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:537,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:538,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:539,1
    - Dst: std::get<IndexFor(DURATION)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 544
    functionName: operator<=(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 0
    functionsReached:
    - IndexFor
    - std::get<IndexFor(INTEGER)>
    - std::get<IndexFor(BOOLEAN)>
    - std::get<IndexFor(IP_ADDR)>
    - std::get<IndexFor(DURATION)>
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool operator<=(Feature const &lhs, Feature const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 10
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, feature_type_for<NO_VALUE>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 10
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, feature_type_for<NIL>)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:563,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:564,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:564,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 11
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::has_numeric_type
    - static_cast<unsigned>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ValueType type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::aux_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:572,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:573,1
    - Dst: auto::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:574,1
    - Dst: ValueMask::any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:577,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:582,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:583,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:585,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:588,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:590,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 592
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 12
    functionsReached:
    - swoc::bwformat
    - BufferWriter::aux_span
    - swoc::FixedBufferWriter::write
    - auto::size
    - BufferWriter::commit
    - auto::prefix
    - ValueMask::any
    - swoc::FixedBufferWriter::extent
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ValueMask const &mask)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeatureTuple::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:597,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:598,1
    - Dst: FeatureTuple::subspan
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:599,1
    - Dst: FeatureTuple::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:600,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - FeatureTuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 13
    functionsReached:
    - swoc::bwformat
    - FeatureTuple::subspan
    - BufferWriter::write
    - FeatureTuple::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, FeatureTuple const &t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:610,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:611,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:613,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - feature
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 14
    functionsReached:
    - swoc::bwformat
    - std::visit
    - is_nil
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, Feature const &feature)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<DURATION>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:622,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:624,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:628,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:631,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:632,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:633,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 638
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 15
    functionsReached:
    - swoc::bwformat
    - std::get<0>
    - feature_type_for<DURATION>::count
    - std::get<1>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, feature_type_for<DURATION>
      const &d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 15
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, feature_type_for<NO_VALUE>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 15
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, feature_type_for<NIL>)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:563,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:564,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:564,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 16
    functionsReached:
    - swoc::bwformat
    - bwf::Spec::has_numeric_type
    - static_cast<unsigned>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ValueType type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::aux_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:572,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:573,1
    - Dst: auto::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:574,1
    - Dst: ValueMask::any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:577,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:582,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:583,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:585,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:588,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:590,1
    - Dst: swoc::FixedBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 592
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 17
    functionsReached:
    - swoc::bwformat
    - BufferWriter::aux_span
    - swoc::FixedBufferWriter::write
    - auto::size
    - BufferWriter::commit
    - auto::prefix
    - ValueMask::any
    - swoc::FixedBufferWriter::extent
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ValueMask const &mask)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeatureTuple::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:597,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:598,1
    - Dst: FeatureTuple::subspan
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:599,1
    - Dst: FeatureTuple::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:600,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - FeatureTuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 18
    functionsReached:
    - swoc::bwformat
    - FeatureTuple::subspan
    - BufferWriter::write
    - FeatureTuple::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, FeatureTuple const &t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:610,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:611,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:613,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - feature
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 19
    functionsReached:
    - swoc::bwformat
    - std::visit
    - is_nil
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, Feature const &feature)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<DURATION>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:622,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:624,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:628,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:631,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:632,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:633,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - feature_type_for<DURATION>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 638
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 20
    functionsReached:
    - swoc::bwformat
    - std::get<0>
    - feature_type_for<DURATION>::count
    - std::get<1>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, feature_type_for<DURATION>
      const &d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:644,1
    - Dst: ActiveType::_tuple_type::any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:645,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:646,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:647,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - swoc::bwf::Spec
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 651
    functionName: bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/util.cc
    functionUses: 33
    functionsReached:
    - BufferWriter::write
    - ActiveType::_tuple_type::any
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, swoc::bwf::Spec const &spec, ActiveType const &type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:37,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:37,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:38,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - f
    argTypes:
    - swoc::TextView
    - Modifier::Worker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: Modifier::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - find
    - Errata
    - insert
    - end
    linkageType: ''
    returnType: Errata
    signature: Errata Modifier::define(swoc::TextView name, Modifier::Worker const
      &f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:47,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:48,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:48,1
    - Dst: Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:52,1
    - Dst: parse_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:53,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:54,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:55,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:58,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:58,1
    - Dst: auto::second
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:59,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:61,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:62,1
    - Dst: is_valid_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:64,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:65,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:65,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:68,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:71,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cfg
    - node
    - ex_type
    argTypes:
    - Config
    - YAML::Node
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: Modifier::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::Mark
    - find
    - is_valid_for
    - Scalar
    - is_ok
    - end
    - auto::second
    - parse_arg
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Modifier::load(Config &cfg, YAML::Node const &node,
      ActiveType ex_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Modifier::operator()(Context &, feature_type_for<NIL>)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Rv<Feature>
    signature: swoc::Rv<Feature> Modifier::operator()(Context &, feature_type_for<NIL>)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Modifier::operator()(Context &, feature_type_for<IP_ADDR>)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Rv<Feature>
    signature: swoc::Rv<Feature> Modifier::operator()(Context &, feature_type_for<IP_ADDR>)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Modifier::operator()(Context &, feature_type_for<STRING>)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Rv<Feature>
    signature: swoc::Rv<Feature> Modifier::operator()(Context &, feature_type_for<STRING>)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Mod_hash::Mod_hash
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_hash::Mod_hash(unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: Mod_hash::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_hash::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: Mod_hash::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_hash::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: Mod_hash::operator()(Context &, feature_type_for<STRING> feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_hash::operator()(Context &, feature_type_for<STRING>
      feature)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:162,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:163,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:163,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:164,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:166,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:167,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:169,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:169,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:170,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:171,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:171,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:174,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:174,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:175,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - node
    - key_value
    argTypes:
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: Mod_hash::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - swoc::SWOC_VERSION_NS::svtou
    - Errata
    - YAML::Node::Mark
    - YAML::Node::Scalar
    - self_type::self_type
    - TextView::size
    - TextView::trim_if
    - size
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_hash::load(Config &, YAML::Node node, TextView,
      TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:208,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - op
    - replacement
    argTypes:
    - RxpOp
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Mod_rxp_replace::Mod_rxp_replace
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_rxp_replace(RxpOp &&op, Expr &&replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Mod_rxp_replace::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_rxp_replace::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: Mod_rxp_replace::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_rxp_replace::result_type(ActiveType const &) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:229,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:229,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:230,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:231,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:235,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:241,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:241,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:246,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:247,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:248,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:248,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:249,1
    - Dst: RxpOp::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:252,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:252,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:253,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:254,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:255,1
    - Dst: Config::require_rxp_group_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:257,1
    - Dst: capture_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:257,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:259,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:260,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:261,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:262,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:265,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:265,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:265,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - cfg
    - node
    - args
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 268
    functionName: Mod_rxp_replace::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - capture_count
    - TextView::take_prefix_at
    - Errata
    - note
    - YAML::Node::size
    - YAML::Node::Mark
    - Config::parse_expr
    - RxpOp::load
    - self_type::self_type
    - is_ok
    - YAML::Node::IsSequence
    - Handle
    - std::move
    - Config::require_rxp_group_count
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_rxp_replace::load(Config &cfg, YAML::Node
      node, TextView, TextView args, YAML::Node key_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _op
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:292,1
    - Dst: Context::active_group
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:293,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:294,1
    - Dst: auto::_text::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:295,1
    - Dst: feature_type_for<STRING>::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:295,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:295,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:299,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:300,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:300,1
    - Dst: Context::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:301,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:302,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:303,1
    - Dst: feature_type_for<STRING>::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:308,1
    - Dst: auto::data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:308,1
    - Dst: feature_type_for<STRING>::data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:308,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:315,1
    - Dst: piece*::_text::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:317,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:321,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:324,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:326,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:327,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:327,1
    - Dst: FeatureView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:329,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 330
    functionName: Mod_rxp_replace::operator()(Context &ctx, feature_type_for<STRING>
      src)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<STRING>::data_end
    - std::get<IndexFor(STRING)>
    - auto::data_end
    - swoc::FixedBufferWriter::write
    - piece*::_text::size
    - IndexFor
    - auto::data
    - auto::index
    - feature_type_for<STRING>::size
    - Context::active_group
    - swoc::FixedBufferWriter::size
    - auto::_text::assign
    - Context::transient_buffer
    - Context::make
    - Context::transient_finalize
    - feature_type_for<STRING>::assign
    - feature_type_for<STRING>::data
    - FeatureView
    - _op
    - Context::commit
    - swoc::FixedBufferWriter::view
    - Context::extract
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_rxp_replace::operator()(Context &ctx, feature_type_for<STRING>
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: Mod_filter::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Mod_filter::is_valid_for(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: Mod_filter::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_filter::result_type(ActiveType const &ex_type) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: Mod_filter::compare
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Mod_filter::compare(Context &ctx, Feature const &feature) const
      -> Case const *
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Feature::is_list
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:432,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:433,1
    - Dst: static_cast<Feature *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:434,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:434,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:434,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:435,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:437,1
    - Dst: cdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:437,1
    - Dst: car
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:438,1
    - Dst: _cases
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:439,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:440,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:448,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:452,1
    - Dst: Mod_filter::compare
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:458,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 473
    functionName: Mod_filter::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - auto::count
    - Context::alloc_span
    - car
    - static_cast<Feature *>
    - end
    - alloca
    - _cases
    - Mod_filter::compare
    - Context::extract
    - Feature::is_list
    - cdr
    - is_nil
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_filter::operator()(Context &ctx, Feature &feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Comparison::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: Mod_filter::Case::assign(Comparison::Handle &&handle)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_filter::Case::assign(Comparison::Handle &&handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:484,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:485,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:485,1
    - Dst: Expr::Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:488,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:492,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:492,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:498,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:505,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:511,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:512,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:513,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:513,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:514,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:515,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:517,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:519,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:524,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - cfg
    - cmp_node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 529
    functionName: Mod_filter::Case::pre_load(Config &cfg, YAML::Node cmp_node)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - YAML::Node::remove
    - auto::Mark
    - is_ok
    - YAML::Node::IsMap
    - std::move
    - Expr::Expr
    linkageType: ''
    returnType: Errata
    signature: Errata Mod_filter::Case::pre_load(Config &cfg, YAML::Node cmp_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: Mod_filter::Case::operator()(Context &ctx, Feature const &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Mod_filter::Case::operator()(Context &ctx, Feature const &feature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:540,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:542,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:543,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:543,1
    - Dst: auto::tuple_types
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:543,1
    - Dst: auto::_cases::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:545,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:545,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:546,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfg
    - node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 551
    functionName: Mod_filter::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - auto::tuple_types
    - Config::active_type
    - auto::note
    - YAML::Node::Mark
    - auto::_cases::load
    - self_type::self_type
    - auto::is_ok
    - Config::feature_scope
    - auto::can_satisfy
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_filter::load(Config &cfg, YAML::Node node,
      TextView, TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: Mod_else::Mod_else
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_else(Expr &&fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:599,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: Mod_else::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_else::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mod_else::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: Mod_else::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 1
    functionsReached:
    - Mod_else::result_type
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_else::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:611,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: Mod_else::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - is_empty
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_else::operator()(Context &ctx, Feature &feature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:617,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:618,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:619,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:619,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:620,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:622,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:622,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: Mod_else::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_else::load(Config &cfg, YAML::Node, TextView,
      TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: Mod_join::Mod_join
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_join(Expr &&fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:671,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: Mod_join::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_join::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Mod_join::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_join::result_type(ActiveType const &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:685,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:686,1
    - Dst: Feature::join
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 691
    functionName: Mod_join::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - Feature::join
    - std::get_if<IndexFor(STRING)>
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_join::operator()(Context &ctx, Feature &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:696,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:697,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:698,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:698,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:699,1
    - Dst: Mod_join::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:702,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:703,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:703,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:704,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:706,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:706,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 707
    functionName: Mod_join::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Mod_join::result_type
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_join::load(Config &cfg, YAML::Node, TextView,
      TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: Mod_concat::Mod_concat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_concat(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 757
    functionName: Mod_concat::Visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Visitor(Context &ctx, Feature &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: operator()(F const &) -> EnableForFeatureTypes<F, Rv<Feature>>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()(F const &) -> EnableForFeatureTypes<F, Rv<Feature>>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: Mod_concat::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_concat::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: Mod_concat::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_concat::result_type(ActiveType const &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<STRING>::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:787,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:791,1
    - Dst: transient_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:792,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:792,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:792,1
    - Dst: render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:793,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:793,1
    - Dst: commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 795
    functionName: Mod_concat::Visitor::operator()(const feature_type_for<STRING> &s)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - write
    - feature_type_for<STRING>::size
    - transient_require
    - std::get<IndexFor(STRING)>
    - render_transient
    - TextView::size
    - feature_type_for<STRING>::empty
    - commit
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_concat::Visitor::operator()(const feature_type_for<STRING>
      &s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:800,1
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:801,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:801,1
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:801,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:801,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:804,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:805,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:808,1
    - Dst: transient_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:810,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:810,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:810,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:810,1
    - Dst: render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:811,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:812,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:813,1
    - Dst: TextView::ends_with
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:813,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:814,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:816,1
    - Dst: commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 819
    functionName: Mod_concat::Visitor::operator()(const feature_type_for<TUPLE> &t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - write
    - index
    - transient_require
    - std::get<IndexFor(STRING)>
    - IndexFor
    - render_transient
    - TextView::size
    - TextView::ends_with
    - TextView::empty
    - commit
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_concat::Visitor::operator()(const feature_type_for<TUPLE>
      &t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:824,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:825,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:827,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:828,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:834,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:835,1
    - Dst: Mod_concat::Visitor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: Mod_concat::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Mod_concat::Visitor
    - IndexFor
    - FeatureView::Literal
    - std::visit
    - Feature::index
    - Context::extract
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_concat::operator()(Context &ctx, Feature &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:841,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:842,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:843,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:843,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:844,1
    - Dst: Mod_concat::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:846,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:846,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:847,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:847,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:848,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:850,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:850,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 851
    functionName: Mod_concat::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Mod_concat::result_type
    - MaskFor
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_concat::load(Config &cfg, YAML::Node, TextView,
      TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: Mod_as_bool::Mod_as_bool
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_as_bool(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: Mod_as_bool::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_as_bool::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: Mod_as_bool::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_as_bool::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::as_bool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 915
    functionName: Mod_as_bool::operator()(Context &, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Feature::as_bool
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_as_bool::operator()(Context &, Feature &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:920,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:921,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:922,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:922,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:923,1
    - Dst: is_null
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:925,1
    - Dst: Mod_as_bool::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:925,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:926,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:928,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:928,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 929
    functionName: Mod_as_bool::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - Mod_as_bool::result_type
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_null
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_as_bool::load(Config &cfg, YAML::Node, TextView,
      TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: Mod_as_integer::Mod_as_integer
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_as_integer(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:978,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 979
    functionName: Mod_as_integer::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_as_integer::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 985
    functionName: Mod_as_integer::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_as_integer::result_type(ActiveType const &) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Feature::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:990,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:991,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:995,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 999
    functionName: Mod_as_integer::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - is_ok
    - Feature::as_integer
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_as_integer::operator()(Context &ctx, Feature &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1004,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1005,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1006,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1006,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1007,1
    - Dst: is_null
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1009,1
    - Dst: Mod_as_integer::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1009,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1009,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1010,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1012,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1012,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1013
    functionName: Mod_as_integer::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_null
    - is_ok
    - Mod_as_integer::result_type
    - MaskFor
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_as_integer::load(Config &cfg, YAML::Node,
      TextView, TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1054
    functionName: Mod_as_ip_addr::Mod_as_ip_addr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_as_ip_addr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: Mod_as_ip_addr::convert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convert(Context &, T &) -> EnableForFeatureTypes<T, Feature>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1075,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    functionName: Mod_as_ip_addr::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_as_ip_addr::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    functionName: Mod_as_ip_addr::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_as_ip_addr::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mod_as_ip_addr::convert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1087,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: Mod_as_ip_addr::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Mod_as_ip_addr::convert
    - std::visit
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_as_ip_addr::operator()(Context &ctx, Feature &feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1094,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1095
    functionName: Mod_as_ip_addr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - Handle
    - self_type::self_type
    linkageType: ''
    returnType: auto
    signature: auto Mod_as_ip_addr::load(Config &, YAML::Node, TextView, TextView,
      YAML::Node) -> Rv<Handle>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - feature_type_for<IP_ADDR>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1101
    functionName: Mod_as_ip_addr::convert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature Mod_as_ip_addr::convert(Context &, feature_type_for<IP_ADDR>
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPAddr::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1108
    functionName: Mod_as_ip_addr::convert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 1
    functionsReached:
    - swoc::IPAddr::is_valid
    linkageType: ''
    returnType: Feature
    signature: Feature Mod_as_ip_addr::convert(Context &, feature_type_for<STRING>
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: Mod_As_Duration::Mod_As_Duration
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_As_Duration(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1160,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1161
    functionName: Mod_As_Duration::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_As_Duration::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: Mod_As_Duration::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_As_Duration::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::as_duration
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1172,1
    - Dst: Feature
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1173,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1174
    functionName: Mod_As_Duration::operator()(Context &, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Feature::as_duration
    - Feature
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_As_Duration::operator()(Context &, Feature &feature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1179,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1180,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1181,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1181,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1182,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1184,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1184,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1185
    functionName: Mod_As_Duration::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_As_Duration::load(Config &cfg, YAML::Node,
      TextView, TextView, YAML::Node key_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1252,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1253
    functionName: Mod_url_encode::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_url_encode::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: Mod_url_encode::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_url_encode::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPIOEvent::setHandle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1264,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1265
    functionName: Mod_url_encode::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - UDPIOEvent::setHandle
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_url_encode::load(Config &, YAML::Node, TextView,
      TextView, YAML::Node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1270,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1272,1
    - Dst: TSStringPercentEncode
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1273,1
    - Dst: feature_type_for<STRING>::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1273,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1273,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1273,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1274,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1275,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 4
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: Mod_url_encode::operator()(Context &ctx, feature_type_for<STRING>
      feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<STRING>::size
    - Context::transient_finalize
    - Context::transient_buffer
    - TSStringPercentEncode
    - FeatureView::Literal
    - auto::data
    - feature_type_for<STRING>::data
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_url_encode::operator()(Context &ctx, feature_type_for<STRING>
      feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1323,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1324
    functionName: Mod_url_decode::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    - MaskFor
    linkageType: ''
    returnType: bool
    signature: bool Mod_url_decode::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1330
    functionName: Mod_url_decode::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_url_decode::result_type(ActiveType const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UDPIOEvent::setHandle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1335,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1336
    functionName: Mod_url_decode::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - UDPIOEvent::setHandle
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_url_decode::load(Config &, YAML::Node, TextView,
      TextView, YAML::Node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1341,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1343,1
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1344,1
    - Dst: feature_type_for<STRING>::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1344,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1344,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1345,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1346,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1349
    functionName: Mod_url_decode::operator()(Context &ctx, feature_type_for<STRING>
      feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Modifier.cc
    functionUses: 0
    functionsReached:
    - TSStringPercentDecode
    - feature_type_for<STRING>::size
    - Context::transient_finalize
    - Context::transient_buffer
    - FeatureView::Literal
    - auto::data
    - feature_type_for<STRING>::data
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_url_decode::operator()(Context &ctx, feature_type_for<STRING>
      feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: QPair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: QPair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPair(TextView k, TextView v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    - Dst: data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: all
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 115
    functionsReached:
    - data
    - TextView
    - data_end
    linkageType: ''
    returnType: TextView
    signature: TextView all() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:82,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:90,1
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - qs
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: query_take_qpair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - TextView::clip_prefix_of
    - auto::take_prefix_at
    - TextView::remove_prefix
    linkageType: ''
    returnType: QPair
    signature: QPair query_take_qpair(TextView &qs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:103,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:104,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: std::get<STRING>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: query_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:109,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:110,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:112,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:112,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:118,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:118,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:120,1
    - Dst: TextView::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:120,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:122,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:123,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:125,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:127,1
    - Dst: TextView::rtrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:130,1
    - Dst: TextView::ltrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:131,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:132,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:134,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:137,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - ctx
    - qs
    - name
    - value
    - case_p
    - force_equal_p
    argTypes:
    - Context
    - TextView
    - TextView
    - Feature
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 143
    functionName: query_value_update
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - TextView::end
    - print
    - write
    - TextView::data
    - std::get<IndexFor(STRING)>
    - IndexFor
    - TextView::rtrim
    - TextView::ltrim
    - query_value_for
    - end
    - std::get<STRING>
    - Feature::index
    - TextView::empty
    - empty
    - data
    - Feature::value_type
    linkageType: ''
    returnType: TextView
    signature: TextView query_value_update(Context &ctx, TextView qs, TextView name,
      Feature const &value, bool case_p, bool force_equal_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: QPair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: QPair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QPair(TextView k, TextView v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    - Dst: data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: all
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 115
    functionsReached:
    - data
    - TextView
    - data_end
    linkageType: ''
    returnType: TextView
    signature: TextView all() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:82,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:90,1
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - qs
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: query_take_qpair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - TextView::clip_prefix_of
    - auto::take_prefix_at
    - TextView::remove_prefix
    linkageType: ''
    returnType: QPair
    signature: QPair query_take_qpair(TextView &qs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:103,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:104,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: std::get<STRING>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:106,1
    - Dst: query_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:109,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:110,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:112,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:112,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:116,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:118,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:118,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:120,1
    - Dst: TextView::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:120,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:122,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:123,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:124,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:125,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:127,1
    - Dst: TextView::rtrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:130,1
    - Dst: TextView::ltrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:131,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:132,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:134,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:137,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - ctx
    - qs
    - name
    - value
    - case_p
    - force_equal_p
    argTypes:
    - Context
    - TextView
    - TextView
    - Feature
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 143
    functionName: query_value_update
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - TextView::end
    - print
    - write
    - TextView::data
    - std::get<IndexFor(STRING)>
    - IndexFor
    - TextView::rtrim
    - TextView::ltrim
    - query_value_for
    - end
    - std::get<STRING>
    - Feature::index
    - TextView::empty
    - empty
    - data
    - Feature::value_type
    linkageType: ''
    returnType: TextView
    signature: TextView query_value_update(Context &ctx, TextView qs, TextView name,
      Feature const &value, bool case_p, bool force_equal_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:170,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:171,1
    - Dst: QueryValueExtractor::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:171,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: QueryValueExtractor::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - QueryValueExtractor::key
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> QueryValueExtractor::validate(Config &cfg, Spec &spec,
      const TextView &arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QueryValueExtractor::query_string
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:180,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:181,1
    - Dst: query_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:184,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:185,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:186,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:186,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:186,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:189,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: QueryValueExtractor::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - size
    - query_value_for
    - end
    - FeatureView::Literal
    - FeatureView::Direct
    - QueryValueExtractor::query_string
    - data
    - auto::empty
    linkageType: ''
    returnType: Feature
    signature: Feature QueryValueExtractor::extract(Context &ctx, const Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:209,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:209,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:210,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:210,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:211,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: Ex_ua_req_query::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - ts::URL::query
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_query::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:220,1
    - Dst: '&

        Ex_ua_req_query::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: '&

      Ex_ua_req_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_ua_req_query::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: '&

      Ex_ua_req_query_value::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_ua_req_query_value::key() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:242,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:242,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:243,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:243,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Ex_ua_req_query_value::query_string
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - ts::URL::query
    - auto::is_valid
    - auto::url
    linkageType: ''
    returnType: TextView
    signature: TextView Ex_ua_req_query_value::query_string(Context &ctx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:264,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:264,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:265,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: Ex_pre_remap_query::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ts::URL::query
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_query::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:273,1
    - Dst: '&

        Ex_pre_remap_query::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: '&

      Ex_pre_remap_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_pre_remap_query::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: '&

      Ex_pre_remap_req_query_value::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_pre_remap_req_query_value::key() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:295,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:295,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: Ex_pre_remap_req_query_value::query_string
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ts::URL::query
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    linkageType: ''
    returnType: TextView
    signature: TextView Ex_pre_remap_req_query_value::query_string(Context &ctx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:315,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:315,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:316,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:316,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:317,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: Ex_proxy_req_query::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::query
    - Context::proxy_req_hdr
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_query::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:326,1
    - Dst: '&

        Ex_proxy_req_query::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: '&

      Ex_proxy_req_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_proxy_req_query::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_query::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: '&

      Ex_proxy_req_query_value::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_proxy_req_query_value::key() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:348,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:348,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:349,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:349,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: Ex_proxy_req_query_value::query_string
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::query
    - Context::proxy_req_hdr
    - auto::is_valid
    - auto::url
    linkageType: ''
    returnType: TextView
    signature: TextView Ex_proxy_req_query_value::query_string(Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - case_p
    - rev_p
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: Mod_query_sort::Mod_query_sort
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_query_sort(bool case_p, bool rev_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: Mod_query_sort::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_query_sort::is_valid_for(const ActiveType &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: Mod_query_sort::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_query_sort::result_type(const ActiveType &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:396,1
    - Dst: auto::append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:399,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:399,1
    - Dst: query_take_qpair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:399,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:403,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:404,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:404,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:405,1
    - Dst: name::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:408,1
    - Dst: value::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:408,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:412,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:413,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:414,1
    - Dst: std::stable_sort
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:418,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:418,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:418,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:420,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:424,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:426,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:429,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:429,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - qs
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 431
    functionName: Mod_query_sort::operator()(Context &ctx, feature_type_for<STRING>
      qs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::print
    - auto::count
    - Context::alloc_span
    - strcmp
    - auto::end
    - Context::transient_finalize
    - swoc::FixedBufferWriter::write
    - query_take_qpair
    - auto::begin
    - Context::transient_buffer
    - Context::make
    - value::size
    - std::stable_sort
    - strcasecmp
    - name::size
    - auto::append
    - swoc::FixedBufferWriter::view
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_query_sort::operator()(Context &ctx, feature_type_for<STRING>
      qs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:439,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:445,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: Mod_query_sort::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - TextView::take_prefix_at
    - Errata
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_query_sort::load(Config &, YAML::Node, TextView,
      TextView arg, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: Mod_query_filter::Mod_query_filter
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_query_filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cfg
    - spec
    argTypes:
    - Config
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: Mod_query_filter::Ex_Name::validate(Config &cfg, Extractor::Spec
      &spec, TextView const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Config::named_object
    linkageType: ''
    returnType: swoc::Rv<ActiveType>
    signature: swoc::Rv<ActiveType> Mod_query_filter::Ex_Name::validate(Config &cfg,
      Extractor::Spec &spec, TextView const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:551,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: Mod_query_filter::Ex_Name::extract(Context &ctx, Extractor::Spec
      const &spec)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - FeatureView::Literal
    - Context::storage_for
    linkageType: ''
    returnType: Feature
    signature: Feature Mod_query_filter::Ex_Name::extract(Context &ctx, Extractor::Spec
      const &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cfg
    - spec
    argTypes:
    - Config
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: Mod_query_filter::Ex_Value::validate(Config &cfg, Extractor::Spec
      &spec, TextView const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Config::named_object
    linkageType: ''
    returnType: swoc::Rv<ActiveType>
    signature: swoc::Rv<ActiveType> Mod_query_filter::Ex_Value::validate(Config &cfg,
      Extractor::Spec &spec, TextView const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:565,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: Mod_query_filter::Ex_Value::extract(Context &ctx, Extractor::Spec
      const &spec)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - FeatureView::Literal
    - Context::storage_for
    linkageType: ''
    returnType: Feature
    signature: Feature Mod_query_filter::Ex_Value::extract(Context &ctx, Extractor::Spec
      const &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: Mod_query_filter::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_query_filter::is_valid_for(const ActiveType &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: Mod_query_filter::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_query_filter::result_type(const ActiveType &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:586,1
    - Dst: fstr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - qp
    argTypes:
    - Context
    - QPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: Mod_query_filter::compare
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - fstr
    linkageType: ''
    returnType: auto
    signature: auto Mod_query_filter::compare(Context &ctx, QPair const &qp) const
      -> Case const *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Comparison::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: Mod_query_filter::Case::assign(Comparison::Handle &&handle)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_query_filter::Case::assign(Comparison::Handle &&handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:602,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:603,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:603,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:607,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:608,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:609,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:611,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:615,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:616,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:617,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - cfg
    - node
    - pair
    argTypes:
    - Config
    - YAML::Node
    - PairExpr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 623
    functionName: Mod_query_filter::Case::parse_pair(Config &cfg, YAML::Node node,
      PairExpr &pair)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - Config::parse_expr
    - YAML::Node::Mark
    - is_ok
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Mod_query_filter::Case::parse_pair(Config &cfg, YAML::Node
      node, PairExpr &pair)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:630,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:631,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:631,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:635,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:635,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:641,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:647,1
    - Dst: Mod_query_filter::Case::pre_load(Config &cfg, YAML::parse_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:652,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:653,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:654,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:654,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:655,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:659,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:664,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:665,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:670,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:671,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:671,1
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:675,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:676,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:677,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:677,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:679,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:680,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:685,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:686,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:686,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:687,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:687,1
    - Dst: PairExpr::PairExpr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:689,1
    - Dst: Mod_query_filter::Case::pre_load(Config &cfg, YAML::parse_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:690,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:693,1
    - Dst: PairExpr::PairExpr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:694,1
    - Dst: Mod_query_filter::Case::pre_load(Config &cfg, YAML::parse_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:695,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:697,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:699,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:700,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:706,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:711,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:711,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:715,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:718,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 2
    argNames:
    - cfg
    - cmp_node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 722
    functionName: Mod_query_filter::Case::pre_load(Config &cfg, YAML::Node cmp_node)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Errata::is_ok
    - Errata
    - note
    - YAML::Node::size
    - YAML::Node::Mark
    - YAML::Node::remove
    - auto::Mark
    - Config::alloc_span
    - is_ok
    - YAML::Node::IsSequence
    - Errata::note
    - PairExpr::PairExpr
    - Comparison::load
    - YAML::Node::IsMap
    - Mod_query_filter::Case::pre_load(Config &cfg, YAML::parse_pair
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Mod_query_filter::Case::pre_load(Config &cfg, YAML::Node cmp_node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:727,1
    - Dst: Config::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:733,1
    - Dst: Config::reserve_ctx_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:735,1
    - Dst: auto::_cases::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:738,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:738,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:739,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cfg
    - node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 744
    functionName: Mod_query_filter::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - auto::note
    - YAML::Node::Mark
    - auto::_cases::load
    - self_type::self_type
    - auto::is_ok
    - Config::reserve_ctx_storage
    - Config::obtain_named_object
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_query_filter::load(Config &cfg, YAML::Node
      node, TextView, TextView, YAML::Node key_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PairExpr::_name::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:749,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:750,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:751,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:752,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:752,1
    - Dst: Context::commit_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:753,1
    - Dst: PairExpr::_value::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:757,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:758,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:759,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:760,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:760,1
    - Dst: Context::commit_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - pe
    - qp
    argTypes:
    - Context
    - PairExpr
    - QPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 764
    functionName: Mod_query_filter::Case::eval_pair(Context &ctx, const PairExpr &pe,
      QPair &qp) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - print
    - PairExpr::_value::empty
    - Context::extract
    - Context::commit_transient
    - PairExpr::_name::empty
    - is_nil
    linkageType: ''
    returnType: void
    signature: void Mod_query_filter::Case::eval_pair(Context &ctx, const PairExpr
      &pe, QPair &qp) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:770,1
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:771,1
    - Dst: Context::cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:771,1
    - Dst: query_take_qpair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:774,1
    - Dst: Mod_query_filter::compare
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:775,1
    - Dst: auto::append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:782,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:782,1
    - Dst: auto::eval_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:785,1
    - Dst: auto::append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:786,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:786,1
    - Dst: auto::eval_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:793,1
    - Dst: auto::append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:794,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:794,1
    - Dst: feature_type_for<STRING>::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:800,1
    - Dst: feature_type_for<STRING>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:807,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:807,1
    - Dst: name::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:809,1
    - Dst: value::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:809,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:812,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:816,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:818,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:818,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:821,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:822,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:822,1
    - Dst: FeatureView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:823,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - qs
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 824
    functionName: Mod_query_filter::operator()(Context &ctx, feature_type_for<STRING>
      qs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - auto::eval_pair
    - swoc::FixedBufferWriter::write
    - Mod_query_filter::compare
    - Context::storage_for
    - name::size
    - auto::append
    - swoc::FixedBufferWriter::print
    - auto::count
    - feature_type_for<STRING>::size
    - feature_type_for<STRING>::clear
    - Context::transient_buffer
    - Context::make
    - swoc::SWOC_VERSION_NS::Optional
    - Context::transient_finalize
    - FeatureView
    - Context::cfg
    - query_take_qpair
    - value::size
    - swoc::FixedBufferWriter::view
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_query_filter::operator()(Context &ctx, feature_type_for<STRING>
      qs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: Do_ua_req_query::Do_ua_req_query
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_query::Do_ua_req_query(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:855,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:855,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:856,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:856,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 860
    functionName: Do_ua_req_query::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_query::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:866,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:867,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:868,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:868,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:869,1
    - Dst: is_null
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:871,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:872,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:874,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:875,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:875,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:877,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:877,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 878
    functionName: Do_ua_req_query::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_null
    - result_type
    - is_ok
    - FeatureView::Literal
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_query::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                      YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: Do_proxy_req_query::Do_proxy_req_query
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_query::Do_proxy_req_query(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:909,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:909,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:910,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:910,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: Do_proxy_req_query::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_query::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:920,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:921,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:922,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:922,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:923,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:925,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:926,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:926,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:928,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:928,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: Do_proxy_req_query::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_query::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - name
    - expr
    argTypes:
    - TextView
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 977
    functionName: QueryValueDirective::QueryValueDirective
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void QueryValueDirective::QueryValueDirective(TextView const &name,
      Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:983,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:984,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:985,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:986,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:989,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:990,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:991,1
    - Dst: maker
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:993,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:993,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - cfg
    - maker
    - key
    - arg
    - key_value
    argTypes:
    - Config
    - std::function<Handle(const TextView &, Expr &&)>
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: QueryValueDirective::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - Config::parse_expr
    - result_type
    - is_ok
    - maker
    - auto::has_value
    - std::move
    - Config::localize
    linkageType: ''
    returnType: auto
    signature: "auto QueryValueDirective::load(Config &cfg, std::function<Handle(const
      TextView &, Expr &&)> const &maker, TextView const &key,\n                          TextView
      const &arg, YAML::Node key_value) -> Rv<Handle>"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:999,1
    - Dst: query_value_update
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1000,1
    - Dst: ts::URL::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1000,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1000,1
    - Dst: ts::URL::query_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1001,1
    - Dst: Context::transient_discard
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1002,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - url
    argTypes:
    - Context
    - ts::URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    functionName: QueryValueDirective::invoke_on_url
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Errata
    - ts::URL::query_set
    - Context::transient_discard
    - Context::extract
    - ts::URL::query
    - query_value_update
    linkageType: ''
    returnType: Errata
    signature: Errata QueryValueDirective::invoke_on_url(Context &ctx, ts::URL &&url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: Do_ua_req_query_value::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView Do_ua_req_query_value::key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_ua_req_query_value::invoke_on_url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1038,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: Do_ua_req_query_value::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - Do_ua_req_query_value::invoke_on_url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_query_value::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1045,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1046,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1046,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: Do_ua_req_query_value::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_ua_req_query_value::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                            YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: Do_proxy_req_query_value::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView Do_proxy_req_query_value::key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_proxy_req_query_value::invoke_on_url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1080,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    functionName: Do_proxy_req_query_value::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Do_proxy_req_query_value::invoke_on_url
    - Context::proxy_req_hdr
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_query_value::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1087,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1088,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1088,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: Do_proxy_req_query_value::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/query.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_req_query_value::load(Config &cfg,
      CfgStaticData const *, YAML::Node, swoc::TextView const &, swoc::TextView const
      &arg,\n                               YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: Ex_inbound_txn_count::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_txn_count::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<INTEGER>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:80,1
    - Dst: Context::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Ex_inbound_txn_count::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<INTEGER>
    - Context::inbound_ssn
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_inbound_txn_count::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Ex_inbound_sni::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::inbound_ssn
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_inbound_sni::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Ex_inbound_addr_remote::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_addr_remote::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: Ex_inbound_addr_remote::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::inbound_ssn
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_inbound_addr_remote::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Ex_inbound_addr_local::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_addr_local::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: Ex_inbound_addr_local::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::inbound_ssn
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_inbound_addr_local::extract(Context &ctx, Spec const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:166,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:167,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: Ex_has_inbound_protocol_prefix::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_has_inbound_protocol_prefix::validate(Config &cfg,
      Extractor::Spec &spec, TextView const &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: Ex_has_inbound_protocol_prefix::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::inbound_ssn
    linkageType: ''
    returnType: auto
    signature: auto Ex_has_inbound_protocol_prefix::extract(Context &ctx, Spec const
      &spec) -> Feature
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:195,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:196,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: Ex_has_outbound_protocol_prefix::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_has_outbound_protocol_prefix::validate(Config &cfg,
      Extractor::Spec &spec, TextView const &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::outbound_protocol_contains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: Ex_has_outbound_protocol_prefix::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::outbound_protocol_contains
    linkageType: ''
    returnType: auto
    signature: auto Ex_has_outbound_protocol_prefix::extract(Context &ctx, Spec const
      &spec) -> Feature
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: Ex_inbound_protocol_stack::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - ActiveType::TupleOf
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_protocol_stack::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:233,1
    - Dst: std::array::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:233,1
    - Dst: std::array::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:233,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:235,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: Ex_inbound_protocol_stack::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::alloc_span
    - FeatureView::Literal
    - std::array::size
    - Context::_txn::inbound_ssn
    - std::array::data
    linkageType: ''
    returnType: auto
    signature: auto Ex_inbound_protocol_stack::extract(Context &ctx, Spec const &)
      -> Feature
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:248,1
    - Dst: '&

        Ex_inbound_protocol_stack::format(BufferWriter &w, Extractor::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Extractor::Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: '&

      Ex_inbound_protocol_stack::format(BufferWriter &w, Extractor::Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_inbound_protocol_stack::format(BufferWriter &w, Extractor::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_protocol_stack::format(BufferWriter &w, Extractor::Spec const &spec,
      Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Ex_outbound_protocol_stack::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - ActiveType::TupleOf
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_protocol_stack::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::outbound_protocol_stack
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:273,1
    - Dst: std::array::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:273,1
    - Dst: std::array::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:273,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:275,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: Ex_outbound_protocol_stack::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::alloc_span
    - FeatureView::Literal
    - std::array::size
    - Context::_txn::outbound_protocol_stack
    - std::array::data
    linkageType: ''
    returnType: auto
    signature: auto Ex_outbound_protocol_stack::extract(Context &ctx, Spec const &)
      -> Feature
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:301,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:302,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: Ex_inbound_protocol::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_protocol::validate(Config &cfg, Spec &spec,
      const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:311,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: '&

      Ex_inbound_protocol::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::inbound_ssn
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_protocol::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:330,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:331,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: Ex_outbound_protocol::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_protocol::validate(Config &cfg, Spec &spec,
      const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::outbound_protocol_contains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:340,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: '&

      Ex_outbound_protocol::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::outbound_protocol_contains
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_outbound_protocol::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: Ex_inbound_cert_verify_result::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_cert_verify_result::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_inbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: Ex_inbound_cert_verify_result::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::ssl_inbound_context
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_inbound_cert_verify_result::extract(Context &ctx, const
      Spec &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:387,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:388,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:390,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: Ex_inbound_cert_local_issuer_value::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_cert_local_issuer_value::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_inbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:401,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:403,1
    - Dst: auto::local_issuer_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: '&

      Ex_inbound_cert_local_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::ssl_inbound_context
    - bwformat
    - auto::local_issuer_field
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_cert_local_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:422,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:423,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:425,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: Ex_outbound_cert_local_issuer_value::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_cert_local_issuer_value::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_outbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:436,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:438,1
    - Dst: auto::local_issuer_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: '&

      Ex_outbound_cert_local_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - auto::local_issuer_field
    - bwformat
    - Context::_txn::ssl_outbound_context
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_outbound_cert_local_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:459,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:460,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:462,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: Ex_inbound_cert_local_subject_field::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_cert_local_subject_field::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_inbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:473,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:475,1
    - Dst: auto::local_subject_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: '&

      Ex_inbound_cert_local_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::ssl_inbound_context
    - auto::local_subject_field
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_cert_local_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:494,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:495,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:497,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 503
    functionName: Ex_outbound_cert_local_subject_field::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_cert_local_subject_field::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_outbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:508,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:510,1
    - Dst: auto::local_subject_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: '&

      Ex_outbound_cert_local_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - auto::local_subject_field
    - bwformat
    - Context::_txn::ssl_outbound_context
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_outbound_cert_local_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:530,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:531,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:533,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: Ex_inbound_cert_remote_issuer_value::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_cert_remote_issuer_value::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_inbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:545,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:547,1
    - Dst: auto::remote_issuer_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: '&

      Ex_inbound_cert_remote_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - auto::remote_issuer_field
    - Context::_txn::ssl_inbound_context
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_cert_remote_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:566,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:567,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:569,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 576
    functionName: Ex_outbound_cert_remote_issuer_value::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_cert_remote_issuer_value::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_outbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:581,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:583,1
    - Dst: auto::remote_issuer_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: '&

      Ex_outbound_cert_remote_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - auto::remote_issuer_field
    - bwformat
    - Context::_txn::ssl_outbound_context
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_outbound_cert_remote_issuer_value::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:604,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:605,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:607,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: Ex_inbound_cert_remote_subject_field::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_inbound_cert_remote_subject_field::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_inbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:619,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:621,1
    - Dst: auto::remote_subject_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: '&

      Ex_inbound_cert_remote_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::ssl_inbound_context
    - bwformat
    - auto::remote_subject_field
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_inbound_cert_remote_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:640,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:641,1
    - Dst: ssl_nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:643,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - spec
    - arg
    argTypes:
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: Ex_outbound_cert_remote_subject_field::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - ssl_nid
    - Errata
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_cert_remote_subject_field::validate(Config
      &, Spec &spec, const TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::ssl_outbound_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:655,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:657,1
    - Dst: auto::remote_subject_field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: '&

      Ex_outbound_cert_remote_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - auto::remote_subject_field
    - bwformat
    - Context::_txn::ssl_outbound_context
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_outbound_cert_remote_subject_field::format(BufferWriter &w, Spec const &spec,
      Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: Ex_ts_uuid::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_ts_uuid::validate(Config &, Spec &, const TextView
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:680,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:680,1
    - Dst: TSProcessUuidGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: '&

      Ex_ts_uuid::format(BufferWriter &w, const Spec &spec, Context &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Ssn.cc
    functionUses: 0
    functionsReached:
    - TSUuidStringGet
    - bwformat
    - TSProcessUuidGet
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ts_uuid::format(BufferWriter &w, const Spec &spec, Context &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Generic::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature Generic::extract() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Do_ua_req_url_host::Do_ua_req_url_host
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_url_host::Do_ua_req_url_host(Expr &&expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:93,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:93,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:94,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:94,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:95,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:96,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: Do_ua_req_url_host::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::host_set
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_url_host::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:108,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:109,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:110,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:110,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:111,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:113,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:114,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:114,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:116,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:116,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: Do_ua_req_url_host::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_url_host::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Do_proxy_req_url_host::Do_proxy_req_url_host
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_url_host::Do_proxy_req_url_host(Expr &&expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:163,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:163,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:164,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:164,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:165,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:166,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: Do_proxy_req_url_host::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::host_set
    - Context::proxy_req_hdr
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_url_host::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:178,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:179,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:180,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:180,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:181,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:183,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:184,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:184,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:186,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:186,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: Do_proxy_req_url_host::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_url_host::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &,\n                            swoc::TextView
      const &, YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: Do_ua_req_url_port::Do_ua_req_url_port
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_url_port::Do_ua_req_url_port(Expr &&expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:233,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:233,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:234,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:234,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:235,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:236,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: Do_ua_req_url_port::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::is_valid
    - max
    - auto::port_set
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_url_port::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:248,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:249,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:250,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:250,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:251,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:253,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:254,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:254,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:256,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:256,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: Do_ua_req_url_port::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_url_port::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Do_proxy_req_url_port::Do_proxy_req_url_port
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_url_port::Do_proxy_req_url_port(Expr &&expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:303,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:303,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:304,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:304,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:305,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:306,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: Do_proxy_req_url_port::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::proxy_req_hdr
    - auto::is_valid
    - max
    - auto::port_set
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_url_port::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:318,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:319,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:320,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:320,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:321,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:323,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:324,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:324,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:326,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:326,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: Do_proxy_req_url_port::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_url_port::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &,\n                            swoc::TextView
      const &, YAML::Node key_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:337,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:337,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:338,1
    - Dst: svtou
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:343,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - loc
    - host_token
    - port
    argTypes:
    - TextView
    - TextView
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: Loc_String_Parse
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - svtou
    - max
    - TextView::size
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - TextView::empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool Loc_String_Parse(TextView const &loc, TextView &host_token, int
      &port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:356,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:359,1
    - Dst: Loc_String_Parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:361,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:362,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:364,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:365,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:365,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:366,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:367,1
    - Dst: is_empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:369,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:372,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:378,1
    - Dst: ts::URL::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:379,1
    - Dst: ts::URL::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - expr
    - url
    argTypes:
    - Context
    - Expr
    - ts::URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: URL_Loc_Set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - ts::URL::host_set
    - is_empty
    - auto::as_integer
    - std::get<IndexFor(STRING)>
    - std::get_if<IndexFor(TUPLE)>
    - auto::size
    - IndexFor
    - Loc_String_Parse
    - std::get_if<IndexFor(STRING)>
    - max
    - ts::URL::port_set
    - Context::extract
    - auto::index
    linkageType: ''
    returnType: void
    signature: void URL_Loc_Set(Context &ctx, Expr &expr, ts::URL &url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:388,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:391,1
    - Dst: Loc_String_Parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:391,1
    - Dst: ts::HttpRequest::field_obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:392,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:393,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:394,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:395,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:395,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:396,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:397,1
    - Dst: is_empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:399,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:402,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:407,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:407,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:409,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:411,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:412,1
    - Dst: ts::HttpRequest::field_obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:414,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:414,1
    - Dst: Context::transient_discard
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:415,1
    - Dst: ts::HttpRequest::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:423,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - expr
    - req
    argTypes:
    - Context
    - Expr
    - ts::HttpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 427
    functionName: Req_Loc_Set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - std::get_if<IndexFor(TUPLE)>
    - Loc_String_Parse
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - TextView::size
    - swoc::FixedBufferWriter::write
    - ts::HttpRequest::url
    - auto::size
    - IndexFor
    - Context::transient_discard
    - auto::index
    - is_empty
    - Context::transient_buffer
    - auto::port_set
    - ts::HttpRequest::field_obtain
    - bwformat
    - auto::host_set
    - auto::as_integer
    - swoc::FixedBufferWriter::view
    - Context::extract
    - auto::host
    linkageType: ''
    returnType: void
    signature: void Req_Loc_Set(Context &ctx, Expr &expr, ts::HttpRequest &req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:337,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:337,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:338,1
    - Dst: svtou
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:343,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - loc
    - host_token
    - port
    argTypes:
    - TextView
    - TextView
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: Loc_String_Parse
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 2
    functionsReached:
    - svtou
    - max
    - TextView::size
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - TextView::empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool Loc_String_Parse(TextView const &loc, TextView &host_token, int
      &port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:356,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:359,1
    - Dst: Loc_String_Parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:361,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:362,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:364,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:365,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:365,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:366,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:367,1
    - Dst: is_empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:369,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:372,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:378,1
    - Dst: ts::URL::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:379,1
    - Dst: ts::URL::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - expr
    - url
    argTypes:
    - Context
    - Expr
    - ts::URL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: URL_Loc_Set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - ts::URL::host_set
    - is_empty
    - auto::as_integer
    - std::get<IndexFor(STRING)>
    - std::get_if<IndexFor(TUPLE)>
    - auto::size
    - IndexFor
    - Loc_String_Parse
    - std::get_if<IndexFor(STRING)>
    - max
    - ts::URL::port_set
    - Context::extract
    - auto::index
    linkageType: ''
    returnType: void
    signature: void URL_Loc_Set(Context &ctx, Expr &expr, ts::URL &url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:388,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:391,1
    - Dst: Loc_String_Parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:391,1
    - Dst: ts::HttpRequest::field_obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:392,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:393,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:394,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:395,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:395,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:396,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:397,1
    - Dst: is_empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:399,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:402,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:407,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:407,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:409,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:411,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:412,1
    - Dst: ts::HttpRequest::field_obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:414,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:414,1
    - Dst: Context::transient_discard
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:415,1
    - Dst: ts::HttpRequest::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:422,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:423,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - expr
    - req
    argTypes:
    - Context
    - Expr
    - ts::HttpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 427
    functionName: Req_Loc_Set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - std::get_if<IndexFor(TUPLE)>
    - Loc_String_Parse
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - TextView::size
    - swoc::FixedBufferWriter::write
    - ts::HttpRequest::url
    - auto::size
    - IndexFor
    - Context::transient_discard
    - auto::index
    - is_empty
    - Context::transient_buffer
    - auto::port_set
    - ts::HttpRequest::field_obtain
    - bwformat
    - auto::host_set
    - auto::as_integer
    - swoc::FixedBufferWriter::view
    - Context::extract
    - auto::host
    linkageType: ''
    returnType: void
    signature: void Req_Loc_Set(Context &ctx, Expr &expr, ts::HttpRequest &req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: Do_ua_req_url_loc::Do_ua_req_url_loc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_url_loc::Do_ua_req_url_loc(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:472,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:472,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:473,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:473,1
    - Dst: URL_Loc_Set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 478
    functionName: Do_ua_req_url_loc::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - auto::url
    - URL_Loc_Set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_url_loc::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:484,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:485,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:486,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:486,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:487,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:489,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:490,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:490,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:493,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:493,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: Do_ua_req_url_loc::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_url_loc::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                        YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: Do_proxy_req_url_loc::Do_proxy_req_url_loc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_url_loc::Do_proxy_req_url_loc(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:539,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:539,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:540,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:540,1
    - Dst: URL_Loc_Set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: Do_proxy_req_url_loc::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::proxy_req_hdr
    - auto::url
    - URL_Loc_Set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_url_loc::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:551,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:552,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:553,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:553,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:554,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:556,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:557,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:557,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:560,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:560,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 561
    functionName: Do_proxy_req_url_loc::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_url_loc::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                           YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 607
    functionName: Do_ua_req_host::Do_ua_req_host
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_host::Do_ua_req_host(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:612,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:612,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:613,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:614,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: Do_ua_req_host::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::host_set
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_host::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:625,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:626,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:627,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:627,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:628,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:630,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:631,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:631,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:633,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:633,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: Do_ua_req_host::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_host::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                     YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: Do_ua_req_port::Do_ua_req_port
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_port::Do_ua_req_port(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:684,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:684,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:685,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:686,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 691
    functionName: Do_ua_req_port::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::as_integer
    - auto::is_valid
    - auto::port_set
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_port::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:697,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:698,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:699,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:699,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:700,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:702,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:703,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:703,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:705,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:705,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: Do_ua_req_port::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_port::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                     YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 753
    functionName: Do_proxy_req_port::Do_proxy_req_port
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_port::Do_proxy_req_port(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:758,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:758,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:759,1
    - Dst: auto::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:760,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 765
    functionName: Do_proxy_req_port::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::as_integer
    - Context::proxy_req_hdr
    - auto::is_valid
    - auto::port_set
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_port::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:771,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:772,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:773,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:773,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:774,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:776,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:777,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:777,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:779,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:779,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 780
    functionName: Do_proxy_req_port::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_port::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                        YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: Do_proxy_req_host::Do_proxy_req_host
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_host::Do_proxy_req_host(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:829,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:829,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:830,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:830,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: Do_proxy_req_host::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::host_set
    - std::get<IndexFor(STRING)>
    - Context::proxy_req_hdr
    - auto::is_valid
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_host::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:840,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:841,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:842,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:842,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:843,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:845,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:846,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:846,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:848,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:848,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 849
    functionName: Do_proxy_req_host::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_host::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                        YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: Do_ua_req_loc::Do_ua_req_loc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_loc::Do_ua_req_loc(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:899,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:899,1
    - Dst: Req_Loc_Set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 903
    functionName: Do_ua_req_loc::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - Req_Loc_Set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_loc::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:909,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:910,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:911,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:911,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:912,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:914,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:915,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:915,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:917,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:917,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 918
    functionName: Do_ua_req_loc::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_loc::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                    YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: Do_proxy_req_loc::Do_proxy_req_loc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_loc::Do_proxy_req_loc(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:968,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:968,1
    - Dst: Req_Loc_Set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 972
    functionName: Do_proxy_req_loc::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::proxy_req_hdr
    - Req_Loc_Set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_loc::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:978,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:979,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:980,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:980,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:981,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:983,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:984,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:984,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:986,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:986,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 987
    functionName: Do_proxy_req_loc::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_loc::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                       YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1032
    functionName: Do_ua_req_scheme::Do_ua_req_scheme
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_scheme::Do_ua_req_scheme(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1037,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1037,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1038,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1038,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: Do_ua_req_scheme::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_scheme::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1048,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1049,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1050,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1050,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1051,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1053,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1054,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1054,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1056,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1056,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1057
    functionName: Do_ua_req_scheme::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_scheme::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                       YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: Do_ua_req_url::Do_ua_req_url
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_url::Do_ua_req_url(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1107,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1107,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1108,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1108,1
    - Dst: auto::url_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1112
    functionName: Do_ua_req_url::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url_set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_url::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1118,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1119,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1120,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1120,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1121,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1123,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1124,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1124,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1126,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1126,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1127
    functionName: Do_ua_req_url::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_url::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                    YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1172
    functionName: Do_proxy_req_scheme::Do_proxy_req_scheme
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_scheme::Do_proxy_req_scheme(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1177,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1177,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1178,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1178,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: Do_proxy_req_scheme::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - Context::proxy_req_hdr
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_scheme::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1188,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1189,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1190,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1190,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1191,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1193,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1194,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1194,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1196,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1196,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1197
    functionName: Do_proxy_req_scheme::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_scheme::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                          YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: Do_proxy_req_url::Do_proxy_req_url
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_url::Do_proxy_req_url(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1247,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1247,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1248,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1248,1
    - Dst: auto::url_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1252
    functionName: Do_proxy_req_url::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - Context::proxy_req_hdr
    - auto::is_valid
    - Context::extract
    - auto::url_set
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_url::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1258,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1259,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1260,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1260,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1261,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1263,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1264,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1264,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1266,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1266,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1267
    functionName: Do_proxy_req_url::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_url::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                       YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1310
    functionName: Do_did_remap::Do_did_remap
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_did_remap::Do_did_remap(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1315,1
    - Dst: auto::as_bool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1318
    functionName: Do_did_remap::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - auto::as_bool
    linkageType: ''
    returnType: Errata
    signature: Errata Do_did_remap::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1325,1
    - Dst: Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1326,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1326,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1328,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1329,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1330,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1330,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1331,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1333,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1334,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1334,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1336,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1337
    functionName: Do_did_remap::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Expr
    - YAML::Node::IsNull
    - note
    - Config::parse_expr
    - YAML::Node::Mark
    - Errata
    - self_type::self_type
    - result_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_did_remap::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                   YAML::Node key_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1386,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1388,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1389,1
    - Dst: ts::URL::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1392,1
    - Dst: ts::URL::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1393,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1393,1
    - Dst: method
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1394,1
    - Dst: ts::URL::scheme_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1395,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1395,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1397,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1398,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1399,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1403,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1404,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1404,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1406,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1406,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1406,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1407,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1410,1
    - Dst: auto::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1410,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1410,1
    - Dst: ts::URL::path_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1412,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1412,1
    - Dst: ltrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1416
    functionName: Do_apply_remap_rule::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - method
    - ts::URL::host_set
    - auto::substr
    - swoc::LocalBufferWriter::write
    - auto::size
    - ts::URL::scheme_set
    - swoc::LocalBufferWriter::size
    - ts::URL::path
    - ts::URL::port
    - swoc::LocalBufferWriter::view
    - ts::URL::scheme
    - ts::URL::port_set
    - ts::URL::path_set
    - ts::URL::host
    - ltrim
    linkageType: ''
    returnType: Errata
    signature: Errata Do_apply_remap_rule::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1421,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1422
    functionName: Do_apply_remap_rule::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Handle
    - self_type::self_type
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: swoc::Rv<Directive::Handle> Do_apply_remap_rule::load(Config &, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1467
    functionName: Do_ua_req_path::Do_ua_req_path
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_path::Do_ua_req_path(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1472,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1473,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1474,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1474,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1479
    functionName: Do_ua_req_path::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get_if<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_path::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1485,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1486,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1487,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1487,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1488,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1490,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1491,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1491,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1493,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1493,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1494
    functionName: Do_ua_req_path::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_path::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                     YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1538
    functionName: Do_ua_req_fragment::Do_ua_req_fragment
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_ua_req_fragment::Do_ua_req_fragment(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1543,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1543,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1544,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1544,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1548
    functionName: Do_ua_req_fragment::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - std::get<IndexFor(STRING)>
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_fragment::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1554,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1555,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1556,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1556,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1557,1
    - Dst: is_null
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1559,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1560,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1562,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1563,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1563,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1565,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1565,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1566
    functionName: Do_ua_req_fragment::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_null
    - result_type
    - is_ok
    - FeatureView::Literal
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_ua_req_fragment::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView
      const &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1611
    functionName: Do_proxy_req_path::Do_proxy_req_path
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_path::Do_proxy_req_path(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1616,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1616,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1617,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1617,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: Do_proxy_req_path::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - Context::proxy_req_hdr
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_path::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1627,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1628,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1629,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1629,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1630,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1632,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1633,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1633,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1635,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1635,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1636
    functionName: Do_proxy_req_path::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_path::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                        YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1680
    functionName: Do_proxy_req_fragment::Do_proxy_req_fragment
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_proxy_req_fragment::Do_proxy_req_fragment(Expr &&fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1685,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1685,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1686,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1686,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1690
    functionName: Do_proxy_req_fragment::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - Context::proxy_req_hdr
    - auto::is_valid
    - Context::extract
    - auto::url
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_fragment::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1696,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1697,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1698,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1698,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1699,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1701,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1702,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1702,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1704,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1704,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1705
    functionName: Do_proxy_req_fragment::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_proxy_req_fragment::load(Config &cfg,
      CfgStaticData const *, YAML::Node drtv_node, swoc::TextView const &,\n                            swoc::TextView
      const &, YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1754
    functionName: FieldDirective::apply
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void apply(Context &, ts::HttpHeader &&, T const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpHeader::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - hdr
    - name
    argTypes:
    - Context
    - ts::HttpHeader
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1763
    functionName: FieldDirective::Apply
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - ts::HttpHeader::field
    linkageType: ''
    returnType: void
    signature: void Apply(Context &ctx, ts::HttpHeader &hdr, TextView const &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1769,1
    - Dst: next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1770,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1770,1
    - Dst: auto::destroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1774
    functionName: FieldDirective::clear_dups
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - next_dup
    - is_valid
    - auto::destroy
    linkageType: ''
    returnType: void
    signature: void clear_dups()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1781,1
    - Dst: value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1782,1
    - Dst: FieldDirective::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1783,1
    - Dst: field_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1788
    functionName: FieldDirective::assign
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 1
    functionsReached:
    - field_create
    - FieldDirective::assign
    - is_valid
    - value
    linkageType: ''
    returnType: void
    signature: void assign(TextView const &text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1794,1
    - Dst: clear_dups
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1795,1
    - Dst: destroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1798
    functionName: operator()(feature_type_for<NIL>)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - clear_dups
    - destroy
    - is_valid
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<NIL>)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1804,1
    - Dst: clear_dups
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1806
    functionName: operator()(feature_type_for<STRING> &text)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - assign
    - clear_dups
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<STRING> &text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<STRING>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1813,1
    - Dst: join
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1813,1
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1816,1
    - Dst: value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1816,1
    - Dst: next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1817,1
    - Dst: destroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1818,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1819,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1821,1
    - Dst: next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1822,1
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1824,1
    - Dst: clear_dups
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1825,1
    - Dst: destroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1828
    functionName: operator()(feature_type_for<TUPLE> &t)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - join
    - value
    - clear_dups
    - destroy
    - assign
    - std::move
    - std::get<STRING>
    - is_valid
    - next_dup
    linkageType: ''
    returnType: void
    signature: void operator()(feature_type_for<TUPLE> &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1835,1
    - Dst: render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1835,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1835,1
    - Dst: clear_dups
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1837
    functionName: operator()(T &&t) -> EnableForFeatureTypes<T, void>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - assign
    - clear_dups
    - bwformat
    - render_transient
    linkageType: ''
    returnType: auto
    signature: auto operator()(T &&t) -> EnableForFeatureTypes<T, void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - name
    - expr
    argTypes:
    - TextView
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1841
    functionName: FieldDirective::FieldDirective
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FieldDirective::FieldDirective(TextView const &name, Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpHeader::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1846,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1847,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1848,1
    - Dst: FieldDirective::Apply
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1848,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - Context
    - ts::HttpHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1852
    functionName: FieldDirective::invoke_on_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - FieldDirective::Apply
    - Errata
    - std::visit
    - Context::extract
    - ts::HttpHeader::is_valid
    linkageType: ''
    returnType: Errata
    signature: Errata FieldDirective::invoke_on_hdr(Context &ctx, ts::HttpHeader &&hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1858,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1859,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1860,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1861,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1864,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1865,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1866,1
    - Dst: maker
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1868,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1868,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - cfg
    - maker
    - key
    - arg
    - key_value
    argTypes:
    - Config
    - std::function<Handle(TextView const &, Expr &&)>
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1869
    functionName: FieldDirective::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - Config::parse_expr
    - result_type
    - is_ok
    - maker
    - auto::has_value
    - std::move
    - Config::localize
    linkageType: ''
    returnType: auto
    signature: "auto FieldDirective::load(Config &cfg, std::function<Handle(TextView
      const &, Expr &&)> const &maker, TextView const &key,\n                     TextView
      const &arg, YAML::Node key_value) -> Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1904
    functionName: Do_txn_debug::Do_txn_debug
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_txn_debug::Do_txn_debug(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1909,1
    - Dst: Context::_txn::enable_debug
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1910,1
    - Dst: auto::as_bool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1912
    functionName: Do_txn_debug::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - auto::as_bool
    - Context::_txn::enable_debug
    linkageType: ''
    returnType: Errata
    signature: Errata Do_txn_debug::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1918,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1919,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1920,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1920,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1920,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1921,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1923,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1914
    functionDepth: 1
    functionLinenumber: 1914
    functionLinenumberEnd: 1924
    functionName: Do_txn_debug::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_txn_debug::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                   YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1958
    functionName: Do_ua_req_field::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_ua_req_field::invoke_on_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1967,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1968
    functionName: Do_ua_req_field::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - Do_ua_req_field::invoke_on_hdr
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ua_req_field::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1974,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1975,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1975,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1977
    functionName: Do_ua_req_field::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_ua_req_field::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                      YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2010
    functionName: Do_proxy_req_field::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_proxy_req_field::invoke_on_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2019,1
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2020
    functionName: Do_proxy_req_field::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::proxy_req_hdr
    - Do_proxy_req_field::invoke_on_hdr
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_req_field::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2026,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2027,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2027,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2029
    functionName: Do_proxy_req_field::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_req_field::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                         YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2062
    functionName: Do_proxy_rsp_field::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_proxy_rsp_field::invoke_on_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2071,1
    - Dst: Context::proxy_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2072
    functionName: Do_proxy_rsp_field::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::proxy_rsp_hdr
    - Do_proxy_rsp_field::invoke_on_hdr
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_rsp_field::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2078,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2079,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2079,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2081
    functionName: Do_proxy_rsp_field::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_rsp_field::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                         YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2114
    functionName: Do_upstream_rsp_field::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: TextView key() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_upstream_rsp_field::invoke_on_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2123,1
    - Dst: Context::upstream_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2124
    functionName: Do_upstream_rsp_field::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::upstream_rsp_hdr
    - Do_upstream_rsp_field::invoke_on_hdr
    linkageType: ''
    returnType: Errata
    signature: Errata Do_upstream_rsp_field::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2130,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2131,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2131,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2133
    functionName: Do_upstream_rsp_field::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - IpAddr::load
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_upstream_rsp_field::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                            YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2162
    functionName: Do_upstream_rsp_status::Do_upstream_rsp_status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_upstream_rsp_status()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2172,1
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2173,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2175,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2177,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2178,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2178,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2179,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2180,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2182,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2183,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2184,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2185,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2187,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2187,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2190,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2190,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2194,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2194,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2199
    functionName: Do_upstream_rsp_status::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - auto::count
    - Errata
    - Context::_txn::ursp_hdr
    - static_cast<TSHttpStatus>
    - std::get<IndexFor(STRING)>
    - auto::size
    - value_type
    - std::get<IndexFor(INTEGER)>
    - Context::extract
    - Feature::value_type
    linkageType: ''
    returnType: Errata
    signature: Errata Do_upstream_rsp_status::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2205,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2206,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2207,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2209,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2212,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2213,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2214,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2214,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2218
    functionName: Do_upstream_rsp_status::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - auto::can_satisfy
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_upstream_rsp_status::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &,\n                             swoc::TextView
      const &, YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2245
    functionName: Do_upstream_reason::Do_upstream_reason
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_upstream_reason()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2254,1
    - Dst: auto::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2255,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2256,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2258,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2260
    functionName: Do_upstream_reason::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::value_type
    - Errata
    - Context::_txn::ursp_hdr
    - std::get<IndexFor(STRING)>
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_upstream_reason::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2266,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2267,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2268,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2270,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2271,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2271,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2273,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2279
    functionName: Do_upstream_reason::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_upstream_reason::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2305
    functionName: Do_proxy_rsp_status::Do_proxy_rsp_status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_proxy_rsp_status()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2315,1
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2316,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2318,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2320,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2321,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2321,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2322,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2323,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2325,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2326,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2327,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2328,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2330,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2330,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2333,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2333,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2337,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2337,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2342
    functionName: Do_proxy_rsp_status::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - auto::count
    - Context::_txn::prsp_hdr
    - Errata
    - static_cast<TSHttpStatus>
    - std::get<IndexFor(STRING)>
    - auto::size
    - value_type
    - std::get<IndexFor(INTEGER)>
    - Context::extract
    - Feature::value_type
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_rsp_status::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2348,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2350,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2352,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2355,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2356,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2356,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2357,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2357,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2344
    functionDepth: 1
    functionLinenumber: 2344
    functionLinenumberEnd: 2361
    functionName: Do_proxy_rsp_status::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - auto::can_satisfy
    - MaskFor
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_rsp_status::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                          YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2393
    functionName: Do_proxy_rsp_reason::Do_proxy_rsp_reason
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_proxy_rsp_reason()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2399,1
    - Dst: auto::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2400,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2401,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2403,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2405
    functionName: Do_proxy_rsp_reason::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::prsp_hdr
    - auto::value_type
    - Errata
    - std::get<IndexFor(STRING)>
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_rsp_reason::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2411,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2412,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2413,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2415,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2416,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2416,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2418,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2424
    functionName: Do_proxy_rsp_reason::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_rsp_reason::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                          YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2450
    functionName: Do_proxy_rsp_body::Do_proxy_rsp_body
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_proxy_rsp_body()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2460,1
    - Dst: auto::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2461,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2462,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2463,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2464,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2465,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2468,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2472,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2475,1
    - Dst: Context::_txn::error_body_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2479
    functionName: Do_proxy_rsp_body::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::count
    - auto::value_type
    - Errata
    - std::get<IndexFor(STRING)>
    - std::get_if<IndexFor(TUPLE)>
    - Context::_txn::error_body_set
    - std::get_if<IndexFor(STRING)>
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_rsp_body::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2485,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2486,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2487,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2489,1
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2489,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2490,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2490,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2492,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2498
    functionName: Do_proxy_rsp_body::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - ActiveType::TupleOf
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_rsp_body::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                        YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: Do_upstream_rsp_body::Do_upstream_rsp_body
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_upstream_rsp_body(Expr &&expr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2546,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2549,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2555,1
    - Dst: static_cast<State *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2557,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2557,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2559,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2561,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2565,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2568,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2568,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2571,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2571,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2575,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2576,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2578,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2579,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2581,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2582,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2582,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2583,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2583,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2584,1
    - Dst: static_cast<State *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2587,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2587,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2588,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2589,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2590,1
    - Dst: auto::_view::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2590,1
    - Dst: auto::_view::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2590,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2591,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2591,1
    - Dst: auto::_view::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2591,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2592,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2601,1
    - Dst: auto::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2602,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2606,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2608,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2609,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2610,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2611,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2612,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2612,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2613,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2622,1
    - Dst: Context::mark_for_cleanup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2623,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2624,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2627,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2628,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2629,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2530
    functionDepth: 3
    functionLinenumber: 2530
    functionLinenumberEnd: 2633
    functionName: Do_upstream_rsp_body::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - Context::_txn::ursp_hdr
    - TSContDestroy
    - std::get<IndexFor(STRING)>
    - TSVConnShutdown
    - TSVIOReenable
    - TSVConnWrite
    - min
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - auto::_view::data
    - TSVIONDoneGet
    - TSVConnClosedGet
    - TSIOBufferReaderConsume
    - TSIOBufferDestroy
    - auto::size
    - auto::_view::size
    - TSVConnWriteVIOGet
    - auto::value_type
    - TSIOBufferReaderAvail
    - TSContCall
    - TSHttpTxnHookAdd
    - TSIOBufferWrite
    - value_type
    - Context::make
    - TSTransformCreate
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSContDataSet
    - static_cast<State *>
    - Context::mark_for_cleanup
    - Context::extract
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: Errata
    signature: Errata Do_upstream_rsp_body::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2546,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2543
    functionDepth: 2
    functionLinenumber: 2543
    functionLinenumberEnd: 2551
    functionName: ~State()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void ~State()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2639,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2640,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2641,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2643,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2644,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2644,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2647,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2647,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2635
    functionDepth: 1
    functionLinenumber: 2635
    functionLinenumberEnd: 2648
    functionName: Do_upstream_rsp_body::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_upstream_rsp_body::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                           YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::reserve_slot
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2712
    functionName: Do_proxy_reply::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Config::reserve_slot
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_reply::cfg_init(Config &cfg, CfgStaticData const *)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Context::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2717,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2724,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2725,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2725,1
    - Dst: Context::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2726,1
    - Dst: auto::_reason::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2727,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2728,1
    - Dst: Context::_txn::status_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2734,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2734,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2736,1
    - Dst: Context::_txn::status_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2738,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2738,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2744,1
    - Dst: Context::_txn::error_body_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2745,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2745,1
    - Dst: Context::on_hook_do
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2750,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2753
    functionName: Do_proxy_reply::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - get
    - Context::commit
    - auto::_reason::empty
    - Context::on_hook_do
    - static_cast<TSHttpStatus>
    - std::get<IndexFor(STRING)>
    - IndexFor
    - Context::_txn::error_body_set
    - Feature::index
    - Context::obtain_named_object
    - Context::_txn::status_set
    - extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_reply::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2758,1
    - Dst: auto::_reason::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2759,1
    - Dst: Context::proxy_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2760,1
    - Dst: auto::reason_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2765
    functionName: Do_proxy_reply::fixup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::reason_set
    - Context::proxy_rsp_hdr
    - auto::_reason::empty
    - Context::named_object
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_reply::fixup(Context &ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2770,1
    - Dst: FeatureGroup::ExprInfo::_expr::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2774,1
    - Dst: std::get<Feature>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2775,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2776,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2777,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2778,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2781,1
    - Dst: FeatureGroup::ExprInfo::_expr::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2785,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2785,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2789
    functionName: Do_proxy_reply::load_status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - index_of
    - std::get<Feature>
    - is_ok
    - FeatureGroup::ExprInfo::_expr::result_type
    - MaskFor
    - std::move
    - FeatureGroup::ExprInfo::_expr::is_literal
    linkageType: ''
    returnType: Errata
    signature: Errata Do_proxy_reply::load_status()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2795,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2797,1
    - Dst: Handle::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2797,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2798,1
    - Dst: auto::_fg::load_as_scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2799,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2800,1
    - Dst: auto::_fg::load_as_tuple
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2801,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2806,1
    - Dst: auto::_fg::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2807,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2814,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2814,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2816,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2817,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2817,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2817,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2818,1
    - Dst: auto::_fg::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2821,1
    - Dst: auto::_fg::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2822,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2823,1
    - Dst: auto::load_status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2823,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2825,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2826,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2826,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2826,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2827,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2791
    functionDepth: 1
    functionLinenumber: 2791
    functionLinenumberEnd: 2831
    functionName: Do_proxy_reply::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - auto::_fg::load_as_tuple
    - Errata::is_ok
    - Handle::get
    - Errata
    - YAML::Node::Mark
    - self_type::self_type
    - auto::load_status
    - static_cast<self_type *>
    - auto::_fg::load_as_scalar
    - YAML::Node::IsSequence
    - Errata::note
    - YAML::Node::IsMap
    - std::move
    - auto::_fg::load
    - auto::_fg::index_of
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_proxy_reply::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                     YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: Do_remap_redirect::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: Rv<Directive::Handle> Do_remap_redirect::load(Config &, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &, YAML::Node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2861
    functionName: Do_remap_redirect::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: Errata Do_remap_redirect::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::reserve_slot
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2935
    functionName: Do_redirect::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Config::reserve_slot
    linkageType: ''
    returnType: Errata
    signature: Errata Do_redirect::cfg_init(Config &cfg, CfgStaticData const *)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Context::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2941,1
    - Dst: auto::_location::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2945,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2948,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2949,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2949,1
    - Dst: Context::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2950,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2951,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2953,1
    - Dst: Context::_txn::status_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2958,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2958,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2960,1
    - Dst: Feature::as_integer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2961,1
    - Dst: Context::_txn::status_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2965,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2965,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2969,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2970,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2970,1
    - Dst: Context::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2971,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2972,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2977,1
    - Dst: Context::_txn::error_body_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2978,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2978,1
    - Dst: Context::on_hook_do
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2982,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2938
    functionDepth: 2
    functionLinenumber: 2938
    functionLinenumberEnd: 2985
    functionName: Do_redirect::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - get
    - Errata
    - Context::commit
    - Feature::as_integer
    - Context::on_hook_do
    - static_cast<TSHttpStatus>
    - std::get<IndexFor(STRING)>
    - IndexFor
    - Context::_txn::error_body_set
    - auto::_location::empty
    - Feature::index
    - Context::obtain_named_object
    - Context::_txn::status_set
    - extract
    - auto::index
    linkageType: ''
    returnType: Errata
    signature: Errata Do_redirect::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2990,1
    - Dst: Context::proxy_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2991,1
    - Dst: auto::field_obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2993,1
    - Dst: auto::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2994,1
    - Dst: auto::_reason::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2996,1
    - Dst: auto::reason_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:2997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 3001
    functionName: Do_redirect::fixup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - auto::field_obtain
    - auto::_reason::empty
    - auto::assign
    - auto::reason_set
    - Context::proxy_rsp_hdr
    - Context::named_object
    linkageType: ''
    returnType: Errata
    signature: Errata Do_redirect::fixup(Context &ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3006,1
    - Dst: FeatureGroup::ExprInfo::_expr::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3015,1
    - Dst: std::get<Feature>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3016,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3018,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3019,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3020,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3023,1
    - Dst: FeatureGroup::ExprInfo::_expr::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3027,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3033
    functionName: Do_redirect::load_status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - index_of
    - std::get<Feature>
    - is_ok
    - FeatureGroup::ExprInfo::_expr::result_type
    - std::move
    - FeatureGroup::ExprInfo::_expr::is_literal
    linkageType: ''
    returnType: Errata
    signature: Errata Do_redirect::load_status()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3039,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3041,1
    - Dst: Handle::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3041,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3042,1
    - Dst: auto::_fg::load_as_scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3043,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3044,1
    - Dst: auto::_fg::load_as_tuple
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3045,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3050,1
    - Dst: auto::_fg::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3051,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3059,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3059,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3061,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3062,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3062,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3062,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3063,1
    - Dst: auto::_fg::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3066,1
    - Dst: auto::_fg::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3067,1
    - Dst: auto::_fg::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3068,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3069,1
    - Dst: auto::load_status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3069,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3071,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3072,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3072,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3072,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3073,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3035
    functionDepth: 1
    functionLinenumber: 3035
    functionLinenumberEnd: 3077
    functionName: Do_redirect::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - auto::_fg::load_as_tuple
    - Errata::is_ok
    - Handle::get
    - Errata
    - YAML::Node::Mark
    - self_type::self_type
    - auto::load_status
    - static_cast<self_type *>
    - auto::_fg::load_as_scalar
    - YAML::Node::IsSequence
    - Errata::note
    - YAML::Node::IsMap
    - std::move
    - auto::_fg::load
    - auto::_fg::index_of
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_redirect::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                  YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3104,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - tag
    - msg
    argTypes:
    - Expr
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3104
    functionName: Do_debug::Do_debug
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_debug::Do_debug(Expr &&tag, Expr &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3109,1
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3110,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3111,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3111,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3111,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3113
    functionName: Do_debug::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TextView::data
    - TS_DBG
    - TextView::size
    - Context::extract_view
    linkageType: ''
    returnType: Errata
    signature: Errata Do_debug::invoke(Context &ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3119,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3120,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3121,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3122,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3122,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3122,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3123,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3125,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3125,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3126,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3127,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3128,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3128,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3129,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3130,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3131,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3133,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3134,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3135,1
    - Dst: Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3135,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3135,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3136,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3138,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3139,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3140,1
    - Dst: Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3140,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3140,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3141,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3143,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3143,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3143,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3143,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3145,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3115
    functionDepth: 1
    functionLinenumber: 3115
    functionLinenumberEnd: 3146
    functionName: Do_debug::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::IsScalar
    - Errata
    - note
    - YAML::Node::size
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - YAML::Node::IsSequence
    - Handle
    - std::move
    - Mark
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_debug::load(Config &cfg, CfgStaticData const
      *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const &,\n               YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3172
    functionName: Do_error::Do_error
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_error::Do_error(Expr &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3177,1
    - Dst: Log_Error
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3174
    functionDepth: 1
    functionLinenumber: 3174
    functionLinenumberEnd: 3180
    functionName: Do_error::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract_view
    - Log_Error
    linkageType: ''
    returnType: Errata
    signature: Errata Do_error::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3186,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3187,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3188,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3188,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3188,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3189,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3191,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3182
    functionDepth: 1
    functionLinenumber: 3182
    functionLinenumberEnd: 3192
    functionName: Do_error::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_error::load(Config &cfg, CfgStaticData const
      *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const &,\n               YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3223
    functionName: Do_note::Do_note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_note::Do_note(Expr &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3229,1
    - Dst: Log_Note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3226
    functionDepth: 1
    functionLinenumber: 3226
    functionLinenumberEnd: 3232
    functionName: Do_note::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract_view
    - Log_Note
    linkageType: ''
    returnType: Errata
    signature: Errata Do_note::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3240,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3241,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3242,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3242,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3242,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3243,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3245,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3246
      start: 3236
    functionDepth: 1
    functionLinenumber: 3236
    functionLinenumberEnd: 3246
    functionName: Do_note::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_note::load(Config &cfg, CfgStaticData const
      *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const &,\n              YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3272
    functionName: Do_warning::Do_warning
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_warning::Do_warning(Expr &&msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3277,1
    - Dst: Log_Warning
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3274
    functionDepth: 1
    functionLinenumber: 3274
    functionLinenumberEnd: 3280
    functionName: Do_warning::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Log_Warning
    - Context::extract_view
    linkageType: ''
    returnType: Errata
    signature: Errata Do_warning::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3286,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3287,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3288,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3288,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3288,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3289,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3291,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3282
    functionDepth: 1
    functionLinenumber: 3282
    functionLinenumberEnd: 3292
    functionName: Do_warning::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_warning::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                 YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3322
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3322
    functionName: Do_cache_key::Do_cache_key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_cache_key(Expr &&fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3331,1
    - Dst: Context::_txn::cache_key_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3332,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3334
    functionName: Do_cache_key::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - std::get<IndexFor(STRING)>
    - Context::_txn::cache_key_assign
    linkageType: ''
    returnType: Errata
    signature: Errata Do_cache_key::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3340,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3341,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3342,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3345,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3345,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3336
    functionDepth: 1
    functionLinenumber: 3336
    functionLinenumberEnd: 3346
    functionName: Do_cache_key::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_cache_key::load(Config    &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &,\n                   YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - fmt
    - var
    argTypes:
    - Expr
    - ts::TxnConfigVar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3376
    functionDepth: 0
    functionLinenumber: 3376
    functionLinenumberEnd: 3376
    functionName: Do_txn_conf::Do_txn_conf
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_txn_conf(Expr &&fmt, ts::TxnConfigVar *var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3386,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3387,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3387,1
    - Dst: Context::_txn::override_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3388,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3388,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3389,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3389,1
    - Dst: Context::_txn::override_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3390,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3390,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3391,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3391,1
    - Dst: Context::localize_as_c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3394,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3394,1
    - Dst: Context::_txn::override_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3395,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3396,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3396,1
    - Dst: Context::_txn::override_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3397,1
    - Dst: std::get<IndexFor(FLOAT)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3383
    functionDepth: 1
    functionLinenumber: 3383
    functionLinenumberEnd: 3400
    functionName: Do_txn_conf::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - IndexFor
    - std::get<IndexFor(FLOAT)>
    - Context::_txn::override_assign
    - std::get<IndexFor(INTEGER)>
    - std::get<IndexFor(BOOLEAN)>
    - Context::localize_as_c_str
    - Context::extract
    - auto::index
    linkageType: ''
    returnType: Errata
    signature: Errata Do_txn_conf::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HttpTxn::find_override
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3406,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3408,1
    - Dst: auto::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3410,1
    - Dst: auto::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3410,1
    - Dst: auto::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3411,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3412,1
    - Dst: auto::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3413,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3415,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3416,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3417,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3420,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3420,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3402
    functionDepth: 1
    functionLinenumber: 3402
    functionLinenumberEnd: 3421
    functionName: Do_txn_conf::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - auto::type
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - HttpTxn::find_override
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_txn_conf::load(Config &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n                  YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3452
    functionName: Do_upstream_addr::Do_upstream_addr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_upstream_addr(Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3460,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3461,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3461,1
    - Dst: Context::_txn::set_upstream_addr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3462,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3457
    functionDepth: 1
    functionLinenumber: 3457
    functionLinenumberEnd: 3465
    functionName: Do_upstream_addr::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - IndexFor
    - Context::_txn::set_upstream_addr
    - std::get<IndexFor(IP_ADDR)>
    - Context::extract
    - auto::index
    linkageType: ''
    returnType: Errata
    signature: Errata Do_upstream_addr::invoke(Context &ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3471,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3472,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3473,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3476,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3477,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3480,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3480,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3467
    functionDepth: 1
    functionLinenumber: 3467
    functionLinenumberEnd: 3481
    functionName: Do_upstream_addr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::parse_expr
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_upstream_addr::load(Config    &cfg, CfgStaticData
      const *, YAML::Node, swoc::TextView const &, swoc::TextView const &,\n                       YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - arg
    - value
    argTypes:
    - TextView
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3511
    functionName: Do_var::Do_var
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_var(TextView const &arg, Expr &&value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::store_txn_var
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3521,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3518
    functionDepth: 1
    functionLinenumber: 3518
    functionLinenumberEnd: 3523
    functionName: Do_var::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - Context::store_txn_var
    linkageType: ''
    returnType: Errata
    signature: Errata Do_var::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3529,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3530,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3531,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3534,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3534,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3534,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cfg
    - arg
    - key_value
    argTypes:
    - Config
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3525
    functionDepth: 1
    functionLinenumber: 3525
    functionLinenumberEnd: 3535
    functionName: Do_var::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - Handle
    - std::move
    - Config::localize
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_var::load(Config &cfg, CfgStaticData const
      *, YAML::Node, swoc::TextView const &, swoc::TextView const &arg,\n             YAML::Node
      key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3559
    functionDepth: 0
    functionLinenumber: 3559
    functionLinenumberEnd: 3559
    functionName: Do_txn_error::Do_txn_error
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_txn_error::Do_txn_error(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3566
    functionName: Do_txn_error::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: Errata
    signature: Errata Do_txn_error::invoke(Context &ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3572,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3573,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3574,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3574,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3574,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3575,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3577,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3568
    functionDepth: 1
    functionLinenumber: 3568
    functionLinenumberEnd: 3578
    functionName: Do_txn_error::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_txn_error::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                   YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3632
    functionName: Do_with::Do_with
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_with()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3648,1
    - Dst: Context::commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3649,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3656,1
    - Dst: car
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3657,1
    - Dst: Context::mark_terminal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3658,1
    - Dst: Do_with::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3659,1
    - Dst: cdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3660,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3662,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3666,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3667,1
    - Dst: Context::mark_terminal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3670,1
    - Dst: Do_with::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3671,1
    - Dst: Context::mark_terminal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3675,1
    - Dst: _do::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3679,1
    - Dst: Context::mark_terminal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3681,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3645
    functionDepth: 1
    functionLinenumber: 3645
    functionLinenumberEnd: 3689
    functionName: Do_with::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 1
    functionsReached:
    - Do_with::invoke
    - Context::commit
    - clear
    - is_nil
    - Context::mark_terminal
    - Context::extract
    - empty
    - _do::invoke
    - cdr
    - car
    linkageType: ''
    returnType: Errata
    signature: Errata Do_with::invoke(Context &ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3696,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3698,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3699,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3702,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3704,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3705,1
    - Dst: auto*::_expr::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3705,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3709,1
    - Dst: auto*::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3710,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3711,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3712,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3714,1
    - Dst: auto*::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3716,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3717,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3718,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3718,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3719,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3720,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3724,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3725,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3725,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3737,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3738,1
    - Dst: Config::parse_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3740,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3741,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3742,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3744,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3744,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3744,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3745,1
    - Dst: Config::parse_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3748,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3749,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3750,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3753,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3753,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3753,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3754,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3691
    functionDepth: 1
    functionLinenumber: 3691
    functionLinenumberEnd: 3758
    functionName: Do_with::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - Config::parse_expr
    - YAML::Node::Mark
    - self_type::self_type
    - is_ok
    - YAML::Node::IsSequence
    - auto*::load_case
    - Config::parse_directive
    - Config::feature_scope
    - YAML::Node::IsMap
    - auto*::_expr::result_type
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> Do_with::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n              YAML::Node key_value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3763,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3768,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3768,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3769,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3769,1
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3770,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3771,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3772,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3774,1
    - Dst: Config::capture_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3779,1
    - Dst: Case::_cmp::rxp_group_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3779,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3779,1
    - Dst: Config::parse_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3780,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3781,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3782,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3784,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3784,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3784,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3785,1
    - Dst: Case::_do::reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3788,1
    - Dst: NilDirective::NilDirective
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3788,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3791,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3791,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3794,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3794,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3760
    functionDepth: 1
    functionLinenumber: 3760
    functionLinenumberEnd: 3795
    functionName: Do_with::load_case
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - Case::_cmp::rxp_group_count
    - Errata
    - note
    - YAML::Node::size
    - Config::capture_scope
    - YAML::Node::Mark
    - emplace_back
    - NilDirective::NilDirective
    - result_type
    - is_ok
    - Config::parse_directive
    - Case::_do::reset
    - Config::feature_scope
    - Comparison::load
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Do_with::load_case(Config &cfg, YAML::Node node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - hook_idx
    - directive
    argTypes:
    - Hook
    - Directive::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3802
    functionName: When::When
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void When::When(Hook hook_idx, Directive::Handle &&directive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::on_hook_do
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3808,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3809
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3809
    functionName: When::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - get
    - Context::on_hook_do
    linkageType: ''
    returnType: Errata
    signature: Errata When::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3816,1
    - Dst: Config::parse_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3820,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3822,1
    - Dst: Config::reserve_slot
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3823,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3824,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3824,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3826,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3827,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3827,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3828,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3831,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3831,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3834,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3834,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3834,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc:3836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3811
    functionDepth: 1
    functionLinenumber: 3811
    functionLinenumberEnd: 3837
    functionName: When::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Machinery.cc
    functionUses: 0
    functionsReached:
    - YAML::Node::Mark
    - YAML::Node::Scalar
    - self_type::self_type
    - is_ok
    - Config::reserve_slot
    - Config::parse_directive
    - Errata::note
    - std::move
    linkageType: ''
    returnType: swoc::Rv<Directive::Handle>
    signature: "swoc::Rv<Directive::Handle> When::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n           YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<U>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::compat::eraser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::forward<U>
    linkageType: ''
    returnType: auto
    signature: auto eraser(U &&u) -> U
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::prsp_hdr
    linkageType: ''
    returnType: auto
    signature: auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<0>)
      -> bool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: auto
    signature: "auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<1>)
      -> decltype(TSHttpTxnStatusSet(txn, eraser<S>(status)),\n                                                                                        bool())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSVConnSSLConnectionGet
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<0>) -> decltype(TSVConnSSLConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSVConnSslConnectionGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<1>) -> decltype(TSVConnSslConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgGet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexReserve
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count([[maybe_unused]] T const &txn, swoc::meta::CaseTag<0>)
      -> int
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:235,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count(T const &txn, swoc::meta::CaseTag<1>) ->
      decltype(TSHttpTxnServerSsnTransactionCount(txn), int())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ts::compat::diag_note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_note(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<U>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::compat::eraser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 9
    functionsReached:
    - std::forward<U>
    linkageType: ''
    returnType: auto
    signature: auto eraser(U &&u) -> U
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::prsp_hdr
    linkageType: ''
    returnType: auto
    signature: auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<0>)
      -> bool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: auto
    signature: "auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<1>)
      -> decltype(TSHttpTxnStatusSet(txn, eraser<S>(status)),\n                                                                                        bool())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSVConnSSLConnectionGet
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<0>) -> decltype(TSVConnSSLConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSVConnSslConnectionGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<1>) -> decltype(TSVConnSslConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgGet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexReserve
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count([[maybe_unused]] T const &txn, swoc::meta::CaseTag<0>)
      -> int
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:235,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count(T const &txn, swoc::meta::CaseTag<1>) ->
      decltype(TSHttpTxnServerSsnTransactionCount(txn), int())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ts::compat::diag_note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_note(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ts::diag_warning
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_warning(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<U>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::compat::eraser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 18
    functionsReached:
    - std::forward<U>
    linkageType: ''
    returnType: auto
    signature: auto eraser(U &&u) -> U
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::prsp_hdr
    linkageType: ''
    returnType: auto
    signature: auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<0>)
      -> bool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: auto
    signature: "auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<1>)
      -> decltype(TSHttpTxnStatusSet(txn, eraser<S>(status)),\n                                                                                        bool())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSVConnSSLConnectionGet
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<0>) -> decltype(TSVConnSSLConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSVConnSslConnectionGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<1>) -> decltype(TSVConnSslConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgGet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexReserve
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count([[maybe_unused]] T const &txn, swoc::meta::CaseTag<0>)
      -> int
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:235,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count(T const &txn, swoc::meta::CaseTag<1>) ->
      decltype(TSHttpTxnServerSsnTransactionCount(txn), int())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ts::compat::diag_note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_note(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<U>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ts::compat::eraser
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 27
    functionsReached:
    - std::forward<U>
    linkageType: ''
    returnType: auto
    signature: auto eraser(U &&u) -> U
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::prsp_hdr
    linkageType: ''
    returnType: auto
    signature: auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<0>)
      -> bool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:130,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - status
    argTypes:
    - ts::HttpTxn
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ts::compat::status_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: auto
    signature: "auto status_set(ts::HttpTxn &txn, TSHttpStatus status, swoc::meta::CaseTag<1>)
      -> decltype(TSHttpTxnStatusSet(txn, eraser<S>(status)),\n                                                                                        bool())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:142,1
    - Dst: TSVConnSSLConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSVConnSSLConnectionGet
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<0>) -> decltype(TSVConnSSLConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:149,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ts::compat::vconn_ssl_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSVConnSslConnectionGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto vconn_ssl_get(TSVConn vc, swoc::meta::CaseTag<1>) -> decltype(TSVConnSslConnectionGet(eraser<V>(vc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgGet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - arg_idx
    argTypes:
    - TSHttpTxn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ts::compat::user_arg_get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgGet
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: auto user_arg_get(TSHttpTxn txnp, int arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void *>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSHttpTxnArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txnp
    - arg_idx
    - arg
    argTypes:
    - TSHttpTxn
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ts::compat::user_arg_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgSet
    linkageType: ''
    returnType: auto
    signature: auto user_arg_set(TSHttpTxn txnp, int arg_idx, void *arg) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      void>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexReserve
    - ts::compat::eraser
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    - Dst: ts::compat::eraser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - arg_idx
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: ts::compat::user_arg_index_reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::eraser
    - TSUserArgIndexReserve
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_reserve(const char *name, const char *description,\n
      \                        int *arg_idx) -> std::enable_if_t<has_TS_USER_ARGS<A>::value,
      TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<!has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUserArgIndexNameLookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - arg_idx
    - description
    argTypes:
    - char*
    - A*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ts::compat::user_arg_index_name_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexNameLookup
    linkageType: ''
    returnType: auto
    signature: "auto user_arg_index_name_lookup(char const *name, A *arg_idx,\n                             char
      const **description) -> std::enable_if_t<has_TS_USER_ARGS<A>::value, TSReturnCode>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count([[maybe_unused]] T const &txn, swoc::meta::CaseTag<0>)
      -> int
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:235,1
    - Dst: TSHttpTxnServerSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: ts::compat::get_outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerSsnTransactionCount
    linkageType: ''
    returnType: auto
    signature: auto get_outbound_txn_count(T const &txn, swoc::meta::CaseTag<1>) ->
      decltype(TSHttpTxnServerSsnTransactionCount(txn), int())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:248,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ts::compat::diag_note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_note(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: std::declval<void>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:263,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    - Dst: T::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    - Dst: T::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ts::diag_warning
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - std::declval<void>
    - T::data
    - T::size
    - TSError
    linkageType: ''
    returnType: auto
    signature: auto diag_warning(T const &text, swoc::meta::CaseTag<0>) -> decltype(text.size(),
      text.data(), std::declval<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:286,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:287,1
    - Dst: IOBuffer::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:287,1
    - Dst: TSUrlPrint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:290,1
    - Dst: IOBuffer::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:290,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:291,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:292,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: '&

      ts::URL::write_full(BufferWriter &w) const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - IOBuffer::get
    - TSUrlPrint
    - BufferWriter::write
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ts::URL::write_full(BufferWriter &w) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:300,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:303,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: ts::URL::scheme() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSUrlSchemeGet
    - ts::URL::is_valid
    - static_cast<size_t>
    linkageType: ''
    returnType: TextView
    signature: TextView ts::URL::scheme() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:315,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:315,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: URL::host
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - TSUrlHostGet
    - URL::is_valid
    linkageType: ''
    returnType: TextView
    signature: TextView URL::host() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:324,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: URL::port
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - TSUrlPortGet
    - URL::is_valid
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t URL::port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:330,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:331,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:331,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - scheme
    - port
    argTypes:
    - TextView
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: URL::is_port_canonical
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 5
    functionsReached:
    - TextView::size
    - TextView::starts_with_nocase
    - tolower
    linkageType: ''
    returnType: bool
    signature: bool URL::is_port_canonical(TextView const &scheme, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:337,1
    - Dst: URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: URL::loc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - URL::host
    - URL::port
    linkageType: ''
    returnType: std::tuple<TextView, in_port_t>
    signature: std::tuple<TextView, in_port_t> URL::loc() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:344,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:347,1
    - Dst: TextView::data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:348,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:349,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:350,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:353,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 358
    functionName: ts::HttpRequest::url_set(TextView text)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TSHandleMLocRelease
    - TextView::data_end
    - TSHttpHdrUrlSet
    - TSUrlParse
    - TSUrlCreate
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpRequest::url_set(TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: ts::HttpField::~HttpField()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ts::HttpField::~HttpField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:371,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:371,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: ts::HttpField::name() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldNameGet
    - static_cast<size_t>
    - ts::HttpField::is_valid
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpField::name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:382,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:382,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: ts::HttpField::value() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldValueStringGet
    - static_cast<size_t>
    - ts::HttpField::is_valid
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpField::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::rtrim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:391,1
    - Dst: ts::HttpField::assign(swoc::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:392,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:392,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:392,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: ts::HttpField::assign(swoc::TextView value)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - ts::HttpField::assign(swoc::is_valid
    - swoc::TextView::rtrim_if
    - swoc::TextView::size
    - TSMimeHdrFieldValueStringSet
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpField::assign(swoc::TextView value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: ts::HttpField::destroy()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldDestroy
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpField::destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:405,1
    - Dst: field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:406,1
    - Dst: ts::HttpField::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:406,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:406,1
    - Dst: auto::next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: ts::HttpField::dup_count() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::next_dup
    - auto::is_valid
    - ts::HttpField::name
    - ts::HttpField::is_valid
    - field
    linkageType: ''
    returnType: unsigned
    signature: unsigned ts::HttpField::dup_count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpRequest::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:417,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: ts::HttpRequest::url() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpRequest::is_valid
    - TSHttpHdrUrlGet
    linkageType: ''
    returnType: ts::URL
    signature: ts::URL ts::HttpRequest::url() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ts::HttpRequest::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:426,1
    - Dst: '&

        ts::HttpRequest::url'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:427,1
    - Dst: auto::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:428,1
    - Dst: auto::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:429,1
    - Dst: auto::query
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:430,1
    - Dst: '&

        ts::HttpRequest::loc'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:431,1
    - Dst: auto::is_port_canonical
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:432,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:436,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:436,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:436,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:436,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:437,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - BufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: '&

      ts::HttpRequest::effective_url(BufferWriter &w)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - '&

      ts::HttpRequest::loc'
    - BufferWriter::print
    - auto::path
    - auto::scheme
    - '&

      ts::HttpRequest::is_valid'
    - swoc::SWOC_VERSION_NS::Optional
    - auto::query
    - '&

      ts::HttpRequest::url'
    - auto::is_port_canonical
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ts::HttpRequest::effective_url(BufferWriter &w)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpRequest::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:445,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:446,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:446,1
    - Dst: ts::HttpRequest::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:449,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:449,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:450,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: ts::HttpRequest::host() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - ts::HttpRequest::url
    - ts::HttpRequest::field
    - auto::is_valid
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - auto::empty
    - auto::host
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpRequest::host() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:462,1
    - Dst: auto::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:463,1
    - Dst: ts::HttpRequest::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:466,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:466,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:467,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:469,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: ts::HttpRequest::port() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::port
    - ts::HttpRequest::field
    - auto::is_valid
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - const_cast<self_type *>
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t ts::HttpRequest::port() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:479,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:480,1
    - Dst: ts::HttpRequest::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:481,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:481,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:482,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:484,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 490
    functionName: ts::HttpRequest::loc() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - std::get<0>
    - ts::HttpRequest::field
    - auto::is_valid
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - swoc::SWOC_VERSION_NS::svtoi
    - url
    linkageType: ''
    returnType: std::tuple<TextView, in_port_t>
    signature: std::tuple<TextView, in_port_t> ts::HttpRequest::loc() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpRequest::host_set(swoc::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:495,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:497,1
    - Dst: auto::host_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:498,1
    - Dst: ts::HttpRequest::host_set(swoc::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:501,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:502,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:503,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:505,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:506,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:506,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:507,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:507,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:508,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:509,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:511,1
    - Dst: auto::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:513,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:513,1
    - Dst: auto::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:515,1
    - Dst: ts::HttpRequest::host_set(swoc::field_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - host
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: ts::HttpRequest::host_set(swoc::TextView const &host)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::print
    - auto::host_set
    - auto::value
    - ts::HttpRequest::host_set(swoc::url
    - ts::HttpRequest::host_set(swoc::field_create
    - static_cast<char *>
    - auto::is_valid
    - auto::assign
    - alloca
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - swoc::FixedBufferWriter::view
    - swoc::TextView::size
    - ts::HttpRequest::host_set(swoc::field
    - size
    - auto::host
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpRequest::host_set(swoc::TextView const &host)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpRequest::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:526,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:527,1
    - Dst: auto::port_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:528,1
    - Dst: ts::HttpRequest::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:530,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:532,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:534,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:535,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:536,1
    - Dst: alloca
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:536,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:537,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:539,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:540,1
    - Dst: auto::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:542,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: ts::HttpRequest::port_set(in_port_t port)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::value
    - ts::HttpRequest::url
    - ts::HttpRequest::field
    - auto::is_valid
    - static_cast<char *>
    - auto::port_set
    - TextView::size
    - alloca
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - auto::assign
    - swoc::FixedBufferWriter::view
    - swoc::FixedBufferWriter::write
    - bwformat
    - auto::host
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpRequest::port_set(in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:553,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: ts::HttpRequest::method() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView ts::HttpRequest::method() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: ts::HttpTxn::pristine_url_get() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnPristineUrlGet
    linkageType: ''
    returnType: ts::URL
    signature: ts::URL ts::HttpTxn::pristine_url_get() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: ts::HttpTxn::ua_req_hdr()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: ts::HttpRequest
    signature: ts::HttpRequest ts::HttpTxn::ua_req_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: ts::HttpTxn::preq_hdr()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerReqGet
    linkageType: ''
    returnType: ts::HttpRequest
    signature: ts::HttpRequest ts::HttpTxn::preq_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: ts::HttpTxn::ursp_hdr()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerRespGet
    linkageType: ''
    returnType: ts::HttpResponse
    signature: ts::HttpResponse ts::HttpTxn::ursp_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: ts::HttpTxn::prsp_hdr()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    linkageType: ''
    returnType: ts::HttpResponse
    signature: ts::HttpResponse ts::HttpTxn::prsp_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpHeader::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:616,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:616,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:616,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 4
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: ts::HttpHeader::field(TextView name) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TextView::size
    - TextView::data
    - ts::HttpHeader::is_valid
    linkageType: ''
    returnType: ts::HttpField
    signature: ts::HttpField ts::HttpHeader::field(TextView name) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpHeader::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:625,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:627,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:627,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:627,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:628,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: ts::HttpHeader::field_create(TextView name)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::size
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - ts::HttpHeader::is_valid
    linkageType: ''
    returnType: ts::HttpField
    signature: ts::HttpField ts::HttpHeader::field_create(TextView name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpHeader::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:640,1
    - Dst: ts::HttpHeader::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:641,1
    - Dst: HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:641,1
    - Dst: ts::HttpHeader::field_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: ts::HttpHeader::field_obtain(TextView name)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::HttpHeader::field
    - HttpField::is_valid
    - ts::HttpHeader::is_valid
    - ts::HttpHeader::field_create
    linkageType: ''
    returnType: ts::HttpField
    signature: ts::HttpField ts::HttpHeader::field_obtain(TextView name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ts::HttpHeader::field_remove(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:652,1
    - Dst: '&

        ts::HttpHeader::field_remove(swoc::field'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:653,1
    - Dst: HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:653,1
    - Dst: HttpField::destroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: '&

      ts::HttpHeader::field_remove(swoc::TextView name)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - '&

      ts::HttpHeader::field_remove(swoc::field'
    - '&

      ts::HttpHeader::field_remove(swoc::is_valid'
    - HttpField::is_valid
    - HttpField::destroy
    linkageType: ''
    returnType: ts::HttpHeader
    signature: 'ts::HttpHeader &

      ts::HttpHeader::field_remove(swoc::TextView name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: ts::HttpResponse::status_set(TSHttpStatus status) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusSet
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpResponse::status_set(TSHttpStatus status) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: ts::HttpResponse::reason() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrReasonGet
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpResponse::reason() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpResponse::reason_set(swoc::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:677,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:677,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:677,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reason
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: ts::HttpResponse::reason_set(swoc::TextView reason)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::size
    - TSHttpHdrReasonSet
    - ts::HttpResponse::reason_set(swoc::is_valid
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpResponse::reason_set(swoc::TextView reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnDebugSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: ts::HttpTxn::enable_debug(bool enable)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnDebugSet
    linkageType: ''
    returnType: void
    signature: void ts::HttpTxn::enable_debug(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:689,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: ts::HttpTxn::is_internal() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnIsInternal
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpTxn::is_internal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:695,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:696,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:696,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:696,1
    - Dst: ts_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - body
    - content_type
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 697
    functionName: ts::HttpTxn::error_body_set(swoc::TextView body, swoc::TextView
      content_type)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::data
    - TSHttpTxnErrorBodySet
    - auto::size
    - ts_dup
    linkageType: ''
    returnType: void
    signature: void ts::HttpTxn::error_body_set(swoc::TextView body, swoc::TextView
      content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerAddrSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: ts::HttpTxn::set_upstream_addr(const swoc::IPAddr &addr) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerAddrSet
    - swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
    linkageType: ''
    returnType: bool
    signature: bool ts::HttpTxn::set_upstream_addr(const swoc::IPAddr &addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:708,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:708,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:708,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:709,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:709,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:709,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:710,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: ts::HttpTxn::ts_dup(swoc::TextView const &text)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - memcpy
    - static_cast<char *>
    - TSmalloc
    - swoc::TextView::size
    linkageType: ''
    returnType: swoc::MemSpan<char>
    signature: swoc::MemSpan<char> ts::HttpTxn::ts_dup(swoc::TextView const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::status_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:717,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: ts::HttpTxn::status_set(int status)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::status_set
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void ts::HttpTxn::status_set(int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionName: ts::HttpTxn::effective_url_get() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnEffectiveUrlStringGet
    linkageType: ''
    returnType: ts::String
    signature: ts::String ts::HttpTxn::effective_url_get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:731,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: ts::HttpTxn::outbound_protocol_contains(swoc::TextView tag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSHttpTxnServerProtocolStackContains
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpTxn::outbound_protocol_contains(swoc::TextView tag)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientProtocolStackGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:739,1
    - Dst: MemSpan<const char *>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:739,1
    - Dst: MemSpan<const char *>::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tags
    argTypes:
    - MemSpan<const char *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: HttpSsn::protocol_stack
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientProtocolStackGet
    - MemSpan<const char *>::data
    - MemSpan<const char *>::count
    linkageType: ''
    returnType: int
    signature: int HttpSsn::protocol_stack(MemSpan<const char *> tags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:749,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:750,1
    - Dst: ts::compat::vconn_ssl_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 753
    functionName: HttpSsn::ssl_context
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientVConnGet
    - ts::compat::vconn_ssl_get
    - reinterpret_cast<SSL *>
    linkageType: ''
    returnType: SSLContext
    signature: SSLContext HttpSsn::ssl_context() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpSsn::ssl_context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:759,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:759,1
    - Dst: auto::sni
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: ts::HttpSsn::sni() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - auto::sni
    - ts::HttpSsn::ssl_context
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpSsn::sni() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:769,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: ts::HttpSsn::protocol_contains(swoc::TextView tag) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSHttpSsnClientProtocolStackContains
    linkageType: ''
    returnType: TextView
    signature: TextView ts::HttpSsn::protocol_contains(swoc::TextView tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: '*

      ts::HttpSsn::addr_remote() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnClientAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ts::HttpSsn::addr_remote() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnIncomingAddrGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 783
    functionName: '*

      ts::HttpSsn::addr_local() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnIncomingAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ts::HttpSsn::addr_local() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: ts::HttpTxn::inbound_fd() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientFdGet
    linkageType: ''
    returnType: int
    signature: int ts::HttpTxn::inbound_fd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: '*

      ts::HttpTxn::outbound_local_addr() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnOutgoingAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ts::HttpTxn::outbound_local_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: '*

      ts::HttpTxn::outbound_remote_addr() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerAddrGet
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      ts::HttpTxn::outbound_remote_addr() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheUrlSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:808,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:808,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: ts::HttpTxn::cache_key_assign(TextView const &key)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSCacheUrlSet
    - TextView::data
    - TextView::size
    linkageType: ''
    returnType: Errata
    signature: Errata ts::HttpTxn::cache_key_assign(TextView const &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::user_arg_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: HttpTxn::arg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::user_arg_get
    linkageType: ''
    returnType: void
    signature: 'void *

      HttpTxn::arg(int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::user_arg_set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: HttpTxn::arg_assign
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::user_arg_set
    linkageType: ''
    returnType: void
    signature: void HttpTxn::arg_assign(int idx, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::get_outbound_txn_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: HttpTxn::outbound_txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::get_outbound_txn_count
    linkageType: ''
    returnType: int
    signature: int HttpTxn::outbound_txn_count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:833,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:834,1
    - Dst: ts::compat::vconn_ssl_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 837
    functionName: HttpTxn::ssl_outbound_context
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::vconn_ssl_get
    - TSHttpTxnServerVConnGet
    - reinterpret_cast<SSL *>
    linkageType: ''
    returnType: SSLContext
    signature: SSLContext HttpTxn::ssl_outbound_context() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::user_arg_index_name_lookup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:845,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:845,1
    - Dst: ts::compat::user_arg_index_reserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:849,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:849,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:849,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - description
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 853
    functionName: HttpTxn::reserve_arg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ts::compat::user_arg_index_name_lookup
    - ts::compat::user_arg_index_reserve
    - Errata
    - swoc::TextView::data
    linkageType: ''
    returnType: swoc::Rv<int>
    signature: swoc::Rv<int> HttpTxn::reserve_arg(swoc::TextView const &name, swoc::TextView
      const &description)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:863,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:863,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:864,1
    - Dst: TSHttpTxnConfigFind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:868,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:868,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:868,1
    - Dst: TxnConfigVar::TxnConfigVar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:873,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:874,1
    - Dst: auto::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:874,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:875,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 876
    functionName: HttpTxn::find_override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::data
    - get
    - find
    - std::get<0>
    - emplace
    - end
    - auto::name
    - TSHttpTxnConfigFind
    - TxnConfigVar::TxnConfigVar
    - swoc::TextView::size
    - auto::second::get
    linkageType: ''
    returnType: TxnConfigVar
    signature: 'TxnConfigVar *

      HttpTxn::find_override(swoc::TextView const &name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnConfigVar::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:881,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:882,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:883,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:885,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:885,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:886,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - var
    - n
    argTypes:
    - TxnConfigVar
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 890
    functionName: HttpTxn::override_assign
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TxnConfigVar::name
    - Errata
    - TxnConfigVar::is_valid
    - TxnConfigVar::key
    - TSHttpTxnConfigIntSet
    linkageType: ''
    returnType: Errata
    signature: Errata HttpTxn::override_assign(TxnConfigVar const &var, intmax_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnConfigVar::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:895,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:896,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:897,1
    - Dst: TSHttpTxnConfigStringSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:899,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:899,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:899,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:899,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:900,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - var
    - text
    argTypes:
    - TxnConfigVar
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 904
    functionName: HttpTxn::override_assign
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TxnConfigVar::name
    - Errata
    - TextView::data
    - TxnConfigVar::is_valid
    - TSHttpTxnConfigStringSet
    - TxnConfigVar::key
    - TextView::size
    linkageType: ''
    returnType: Errata
    signature: Errata HttpTxn::override_assign(TxnConfigVar const &var, TextView const
      &text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TxnConfigVar::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:909,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:910,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:911,1
    - Dst: TSHttpTxnConfigFloatSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:913,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:913,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:914,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - var
    - f
    argTypes:
    - TxnConfigVar
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: HttpTxn::override_assign
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TxnConfigVar::name
    - Errata
    - TxnConfigVar::is_valid
    - TxnConfigVar::key
    - TSHttpTxnConfigFloatSet
    linkageType: ''
    returnType: Errata
    signature: Errata HttpTxn::override_assign(TxnConfigVar const &var, double f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TxnConfigVar::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:923,1
    - Dst: TSHttpTxnConfigFloatGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:926,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:926,1
    - Dst: TSHttpTxnConfigStringGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:934,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:934,1
    - Dst: TSHttpTxnConfigIntGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:943,1
    - Dst: TxnConfigVar::key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:943,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:949,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:949,1
    - Dst: TxnConfigVar::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:949,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:952,1
    - Dst: TxnConfigVar::name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:952,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - var
    argTypes:
    - TxnConfigVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 953
    functionName: HttpTxn::override_fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigStringGet
    - TSHttpTxnConfigFloatGet
    - Errata
    - TxnConfigVar::name
    - TxnConfigVar::key
    - TxnConfigVar::type
    - TSHttpTxnConfigIntGet
    linkageType: ''
    returnType: Rv<ConfVarData>
    signature: Rv<ConfVarData> HttpTxn::override_fetch(const TxnConfigVar &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerProtocolStackGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:959,1
    - Dst: MemSpan<const char *>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:959,1
    - Dst: MemSpan<const char *>::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tags
    argTypes:
    - MemSpan<const char *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: HttpTxn::outbound_protocol_stack
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - MemSpan<const char *>::data
    - MemSpan<const char *>::count
    - TSHttpTxnServerProtocolStackGet
    linkageType: ''
    returnType: int
    signature: int HttpTxn::outbound_protocol_stack(MemSpan<const char *> tags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errata
    argTypes:
    - swoc::Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: '&

      HttpTxn::init(swoc::Errata &errata)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      HttpTxn::init(swoc::Errata &errata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: plugin_stat_value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSStatIntGet
    linkageType: ''
    returnType: int
    signature: int plugin_stat_value(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:983,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 987
    functionName: plugin_stat_index
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TSStatFindName
    linkageType: ''
    returnType: int
    signature: int plugin_stat_index(TextView const &name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin_stat_index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:992,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:997,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:997,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1000,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - name
    - value
    - persistent_p
    argTypes:
    - TextView
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 989
    functionDepth: 3
    functionLinenumber: 989
    functionLinenumberEnd: 1004
    functionName: plugin_stat_define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - Errata
    - TextView::data
    - TSStatIntSet
    - plugin_stat_index
    linkageType: ''
    returnType: Rv<int>
    signature: Rv<int> plugin_stat_define(TextView const &name, int value, bool persistent_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - value
    argTypes:
    - int
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: plugin_stat_update
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void plugin_stat_update(int idx, intmax_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1017,1
    - Dst: static_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1018,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1018,1
    - Dst: TSThreadSelf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1024,1
    - Dst: TSMutexLockTry
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1026,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1027,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1030,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1039
    functionName: TaskHandle::cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSThreadSelf
    - static_cast<Data *>
    - TSContDataGet
    - TSMutexUnlock
    - TSContMutexGet
    - TSMutexLockTry
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void TaskHandle::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TaskHandle::Data *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1045,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1045,1
    - Dst: auto::_f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1047,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1050,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1054,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1054,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1055,1
    - Dst: TaskHandle::Data::Data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1055,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1056,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - task
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1058
    functionName: PerformAsTask
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TaskHandle::Data::Data
    - TSContDestroy
    - TSContScheduleOnPool
    - TSContDataSet
    - TSContCreate
    - TSContDataGet
    - auto::_f
    - std::move
    - TSMutexCreate
    - static_cast<TaskHandle::Data *>
    linkageType: ''
    returnType: TaskHandle
    signature: TaskHandle PerformAsTask(std::function<void()> &&task)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TaskHandle::Data *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1068,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1068,1
    - Dst: auto::_f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1070,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1075,1
    - Dst: static_cast<TSAction>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1075,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1077,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1077,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1078,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1082,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1082,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1083,1
    - Dst: TaskHandle::Data::Data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1083,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1084,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1085,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - task
    - period
    argTypes:
    - std::function<void()>
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1086
    functionName: PerformAsTaskEvery
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TaskHandle::Data::Data
    - TSContDestroy
    - TSContDataSet
    - TSContMutexGet
    - TSContCreate
    - TSContDataGet
    - static_cast<TSAction>
    - TSMutexUnlock
    - TSContScheduleEveryOnPool
    - auto::_f
    - std::move
    - std::chrono::milliseconds::count
    - TSMutexCreate
    - static_cast<TaskHandle::Data *>
    - TSActionCancel
    linkageType: ''
    returnType: TaskHandle
    signature: TaskHandle PerformAsTaskEvery(std::function<void()> &&task, std::chrono::milliseconds
      period)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1095,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1096,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1096,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1096,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1097,1
    - Dst: OBJ_sn2nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1098,1
    - Dst: OBJ_ln2nid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1102
    functionName: ssl_nid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 8
    functionsReached:
    - swoc::TextView::data
    - memcpy
    - OBJ_sn2nid
    - OBJ_ln2nid
    - swoc::TextView::size
    linkageType: ''
    returnType: int
    signature: int ssl_nid(swoc::TextView const &name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1109,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1110,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1111,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - nid
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1117
    functionName: ssl_value_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509_NAME_get_index_by_NID
    - X509_NAME_get_entry
    - reinterpret_cast<char const *>
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: TextView
    signature: TextView ssl_value_for(X509_NAME *name, int nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1109,1
    - Dst: X509_NAME_get_entry
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1110,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1111,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - nid
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1117
    functionName: ssl_value_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509_NAME_get_index_by_NID
    - X509_NAME_get_entry
    - reinterpret_cast<char const *>
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: TextView
    signature: TextView ssl_value_for(X509_NAME *name, int nid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1125,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    functionName: SSLContext::sni
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_get_servername
    linkageType: ''
    returnType: TextView
    signature: TextView SSLContext::sni() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1139
    functionName: SSLContext::verify_result
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    linkageType: ''
    returnType: long
    signature: long SSLContext::verify_result() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1145,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1146,1
    - Dst: ssl_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1152
    functionName: SSLContext::local_subject_field
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - ssl_value_for
    - SSL_get_certificate
    linkageType: ''
    returnType: TextView
    signature: TextView SSLContext::local_subject_field(int nid) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1158,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1159,1
    - Dst: ssl_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1165
    functionName: SSLContext::local_issuer_field
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ssl_value_for
    - X509_get_issuer_name
    - SSL_get_certificate
    linkageType: ''
    returnType: TextView
    signature: TextView SSLContext::local_issuer_field(int nid) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1170,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1171,1
    - Dst: ssl_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1177
    functionName: SSLContext::remote_subject_field
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - SSL_get_peer_certificate
    - ssl_value_for
    linkageType: ''
    returnType: TextView
    signature: TextView SSLContext::remote_subject_field(int nid) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1183,1
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1184,1
    - Dst: ssl_value_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1190
    functionName: SSLContext::remote_issuer_field
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - ssl_value_for
    - X509_get_issuer_name
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: TextView
    signature: TextView SSLContext::remote_issuer_field(int nid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1204,1
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1207
    functionName: take_query_pair
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - auto::take_prefix_at
    linkageType: ''
    returnType: std::tuple<TextView, TextView>
    signature: std::tuple<TextView, TextView> take_query_pair(TextView &src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: take_query_pair
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1213,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - query_str
    - search_key
    - caseless_p
    argTypes:
    - TextView
    - TextView
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1219
    functionName: query_value_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 3
    functionsReached:
    - take_query_pair
    - strcasecmp
    linkageType: ''
    returnType: std::tuple<TextView, TextView>
    signature: std::tuple<TextView, TextView> query_value_for(TextView query_str,
      TextView search_key, bool caseless_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::compat::diag_note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: Log_Note
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - ts::compat::diag_note
    linkageType: ''
    returnType: void
    signature: void Log_Note(TextView const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::diag_warning
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1232
    functionName: Log_Warning
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - ts::diag_warning
    linkageType: ''
    returnType: void
    signature: void Log_Warning(TextView const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1237,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1237,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1238
    functionName: Log_Error
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 1
    functionsReached:
    - TextView::size
    - TextView::data
    - TSError
    linkageType: ''
    returnType: void
    signature: void Log_Error(TextView const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1247,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - status
    argTypes:
    - BufferWriter
    - bwf::Spec
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1248
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 21
    functionsReached:
    - swoc::bwformat
    - static_cast<unsigned>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, TSHttpStatus status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - TSRecordDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 22
    functionsReached:
    - swoc::bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, TSRecordDataType type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConfVarData::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1259,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1261,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1264,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1264,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1267,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1267,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1270,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - w
    - spec
    - data
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ts::ConfVarData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1274
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 23
    functionsReached:
    - swoc::bwformat
    - std::get<2>
    - ts::ConfVarData::index
    - std::get<1>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ts::ConfVarData const &data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1247,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - status
    argTypes:
    - BufferWriter
    - bwf::Spec
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1248
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 24
    functionsReached:
    - swoc::bwformat
    - static_cast<unsigned>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, TSHttpStatus status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - type
    argTypes:
    - BufferWriter
    - bwf::Spec
    - TSRecordDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 25
    functionsReached:
    - swoc::bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, TSRecordDataType type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts::ConfVarData::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1259,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1261,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1264,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1264,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1267,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1267,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1270,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc:1270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - w
    - spec
    - data
    argTypes:
    - BufferWriter
    - bwf::Spec
    - ts::ConfVarData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1274
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ts_util.cc
    functionUses: 26
    functionsReached:
    - swoc::bwformat
    - std::get<2>
    - ts::ConfVarData::index
    - std::get<1>
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, ts::ConfVarData const &data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: class Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:63,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:64,1
    - Dst: class Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:65,1
    - Dst: ActiveType::any_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - class Config
    - struct Extractor::Spec
    - class swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: Ex_var::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - ActiveType::any_type
    - auto::rebind
    - class Config::alloc_span
    - class Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_var::validate(class Config &cfg, struct Extractor::Spec
      &spec, const class swoc::TextView &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::load_txn_var
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:72,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: Ex_var::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Context::load_txn_var
    - Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_var::extract(Context &ctx, Spec const &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:78,1
    - Dst: '&

        Ex_var::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '&

      Ex_var::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_var::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_var::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: Ex_is_internal::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> validate(Config &, Spec &, swoc::TextView const &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::is_internal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Ex_is_internal::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::is_internal
    linkageType: ''
    returnType: auto
    signature: auto Ex_is_internal::extract(Context &ctx, Spec const &) -> Feature
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:111,1
    - Dst: '&

        Ex_is_internal::format(BufferWriter &w, Extractor::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Extractor::Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: '&

      Ex_is_internal::format(BufferWriter &w, Extractor::Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_is_internal::format(BufferWriter &w, Extractor::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_is_internal::format(BufferWriter &w, Extractor::Spec const &spec, Context
      &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Ex_random::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Extractor::Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_random::extract(Context &, Extractor::Spec const &spec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:148,1
    - Dst: auto::split_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:157,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:160,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:161,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:161,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:162,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:166,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:167,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:167,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:168,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: Ex_random::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::alloc_span
    - auto::size
    - auto::split_prefix_at
    - TextView::size
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_random::validate(Config &cfg, Extractor::Spec &spec,
      TextView const &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: Ex_duration<T, KEY>::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Extractor::Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_duration<T, KEY>::extract(Context &, Extractor::Spec const
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Ex_duration<T, KEY>::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Extractor::Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_duration<T, KEY>::extract(Config &, Extractor::Spec const
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:220,1
    - Dst: '&

        Ex_duration<T, KEY>::format(BufferWriter &w, Extractor::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Extractor::Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: '&

      Ex_duration<T, KEY>::format(BufferWriter &w, Extractor::Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_duration<T, KEY>::format(BufferWriter &w, Extractor::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_duration<T, KEY>::format(BufferWriter &w, Extractor::Spec const &spec, Context
      &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:227,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:231,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:235,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:236,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:236,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:237,1
    - Dst: ActiveType::mark_cfg_const
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: Ex_duration<T, KEY>::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::alloc_span
    - ActiveType::mark_cfg_const
    - TextView::size
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_duration<T, KEY>::validate(Config &cfg, Extractor::Spec
      &spec, TextView const &arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HttpTxn::find_override
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:275,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:277,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:279,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:281,1
    - Dst: auto::type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 297
    functionName: Ex_txn_conf::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - auto::rebind
    - Errata
    - auto::type
    - Config::alloc_span
    - HttpTxn::find_override
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_txn_conf::validate(Config &cfg, Spec &spec, const
      TextView &arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:303,1
    - Dst: Context::_txn::override_fetch
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:304,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:305,1
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:306,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:310,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:313,1
    - Dst: std::get<3>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 323
    functionName: Ex_txn_conf::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::override_fetch
    - index
    - std::get<2>
    - is_ok
    - Extractor::Spec::_data::span::rebind
    - std::get<1>
    - std::get<3>
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_txn_conf::extract(Context &ctx, const Extractor::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:328,1
    - Dst: '&

        Ex_txn_conf::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: '&

      Ex_txn_conf::format(BufferWriter &w, const Spec &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_txn_conf::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_txn_conf::format(BufferWriter &w, const Spec &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: Ex_active_feature::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> validate(Config &cfg, Spec &, TextView const &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - class Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: Ex_active_feature::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_active_feature::extract(class Context &ctx, const struct
      Extractor::Spec &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: '&

      Ex_active_feature::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_active_feature::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - class Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: Ex_unmatched_group::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_unmatched_group::extract(class Context &ctx, const struct
      Extractor::Spec &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: '&

      Ex_unmatched_group::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_unmatched_group::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: Ex_unmatched_group::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_unmatched_group::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:409,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:412,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:413,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:413,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:413,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:414,1
    - Dst: ::getenv
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:415,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:416,1
    - Dst: mark_cfg_const
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 422
    functionName: Ex_env::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TextView::data
    - Config::alloc_span
    - TextView::size
    - ::getenv
    - mark_cfg_const
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_env::validate(Config &cfg, Extractor::Spec &spec,
      TextView const &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:427,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: Ex_env::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - FeatureView::Literal
    - Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_env::extract(Config &, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:433,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: Ex_env::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - FeatureView::Literal
    - Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_env::extract(Context &, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:439,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: '&

      Ex_env::format(BufferWriter &w, Spec const &spec, Context &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - Spec::_data::span::rebind
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_env::format(BufferWriter &w, Spec const &spec, Context &)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:446,1
    - Dst: '&

        Ex_this::format(BufferWriter &w, Extractor::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Extractor::Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: '&

      Ex_this::format(BufferWriter &w, Extractor::Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_this::format(BufferWriter &w, Extractor::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_this::format(BufferWriter &w, Extractor::Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ex_this::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - class Context
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: Ex_this::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 1
    functionsReached:
    - Ex_this::extract
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_this::extract(class Context &ctx, Extractor::Spec const
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: Ex_this::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_Base.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    linkageType: ''
    returnType: swoc::Rv<ActiveType>
    signature: swoc::Rv<ActiveType> Ex_this::validate(Config &cfg, Extractor::Spec
      &, TextView const &)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:39,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:50,1
    - Dst: yaml_merge
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:52,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:54,1
    - Dst: yaml_merge
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:57,1
    - Dst: auto::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:61,1
    - Dst: flatten
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:62,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:63,1
    - Dst: flatten
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:65,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - root
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: yaml_merge
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc
    functionUses: 1
    functionsReached:
    - IsMap
    - flatten
    - YAML::Node::remove
    - auto::IsMap
    - YAML::Node::IsSequence
    - auto::IsSequence
    - yaml_merge
    - YAML::Node::IsMap
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node yaml_merge(YAML::Node root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:79,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:82,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:85,1
    - Dst: YAML::Load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:87,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:89,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:89,1
    - Dst: yaml_merge
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: yaml_load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/yaml_util.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::Node
    - what
    - yaml_merge
    - YAML::Load
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: Rv<YAML::Node>
    signature: Rv<YAML::Node> yaml_load(swoc::file::path const &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Comparison::rxp_group_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned Comparison::rxp_group_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:51,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - name
    - types
    - worker
    argTypes:
    - swoc::TextView
    - ActiveType
    - Comparison::Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Comparison::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_tuple
    linkageType: ''
    returnType: Errata
    signature: Errata Comparison::define(swoc::TextView name, ActiveType const &types,
      Comparison::Loader &&worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Generic*::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:58,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:59,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - g
    argTypes:
    - Context
    - Generic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: Comparison::operator()(Context &ctx, Generic const *g) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Generic*::extract
    - IndexFor
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool Comparison::operator()(Context &ctx, Generic const *g) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:65,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:66,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:66,1
    - Dst: Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:70,1
    - Dst: parse_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:71,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:72,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:73,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:80,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:80,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:82,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:83,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:83,1
    - Dst: loader
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:86,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:87,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:88,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:91,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:94,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: Comparison::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 2
    functionsReached:
    - Config::active_type
    - Errata
    - YAML::Node::Mark
    - find
    - Scalar
    - is_ok
    - loader
    - end
    - parse_arg
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Comparison::load(Config &cfg, YAML::Node node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Comparison::can_accelerate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comparison::can_accelerate(Accelerator::Counters &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Comparison::accelerate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comparison::accelerate(StringAccelerator *) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Cmp_otherwise::Cmp_otherwise
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_otherwise()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Cmp_otherwise::operator()(Context &, Feature const &) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Cmp_otherwise::operator()(Context &, Feature const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Cmp_otherwise::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_otherwise::load(Config &, YAML::Node const
      &, TextView const &, TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Cmp_String::Options
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Options()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:166,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:167,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - options
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: Cmp_String::parse_options
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - Errata
    - strcasecmp
    linkageType: ''
    returnType: Rv<Cmp_String::Options>
    signature: Rv<Cmp_String::Options> Cmp_String::parse_options(TextView options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: operator()(std::monostate const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(std::monostate const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: operator()(Feature const &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Feature::value_type
    linkageType: ''
    returnType: bool
    signature: bool operator()(Feature const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Expr::Direct::_result_type::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Expr::Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: operator()(Expr::Direct const &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Expr::Direct::_result_type::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool operator()(Expr::Direct const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: operator()(Expr::Composite const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Expr::Composite const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Expr::List::_types::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - Expr::List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: operator()(Expr::List const &list)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Expr::List::_types::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool operator()(Expr::List const &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: Cmp_LiteralString::Cmp_LiteralString
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_LiteralString::Cmp_LiteralString(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:269,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:270,1
    - Dst: std::get_if<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:272,1
    - Dst: std::any_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:273,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:273,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:273,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: Cmp_LiteralString::operator()(Context &ctx, feature_type_for<STRING>
      const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - std::get_if<IndexFor(TUPLE)>
    - std::get_if<IndexFor(STRING)>
    - auto::begin
    - std::any_of
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool Cmp_LiteralString::operator()(Context &ctx, feature_type_for<STRING>
      const &feature) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:298,1
    - Dst: Context::_remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: Cmp_MatchStd::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::set_literal_capture
    - Context::_remainder::clear
    linkageType: ''
    returnType: bool
    signature: bool Cmp_MatchStd::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:321,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:322,1
    - Dst: Context::_remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: Cmp_MatchNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::set_literal_capture
    - Context::_remainder::clear
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool Cmp_MatchNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ends_with
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:345,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:346,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:346,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:346,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:347,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: Cmp_Suffix::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::suffix
    - TextView::remove_suffix
    - TextView::size
    - TextView::ends_with
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Suffix::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ends_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:369,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:370,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:370,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:370,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:371,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: Cmp_SuffixNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::suffix
    - TextView::ends_with_nocase
    - TextView::remove_suffix
    - TextView::size
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_SuffixNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::starts_with
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:392,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:393,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:393,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:393,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:394,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: Cmp_Prefix::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::starts_with
    - TextView::remove_prefix
    - TextView::size
    - TextView::prefix
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Prefix::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:415,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:416,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:416,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:416,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:417,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: Cmp_PrefixNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::starts_with_nocase
    - TextView::remove_prefix
    - TextView::size
    - TextView::prefix
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_PrefixNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:438,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:441,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:441,1
    - Dst: Context::_arena::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:442,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:443,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:443,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:444,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:444,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:444,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:444,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:444,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:445,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:445,1
    - Dst: Context::_remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: Cmp_Contains::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - Context::_arena::alloc
    - TextView::suffix
    - TextView::find
    - TextView::size
    - auto::view
    - TextView::prefix
    - Context::_remainder::clear
    - auto::data
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Contains::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:470,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:470,1
    - Dst: std::search
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:471,1
    - Dst: TextView::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:471,1
    - Dst: TextView::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:471,1
    - Dst: TextView::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:471,1
    - Dst: TextView::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:471,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:472,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:472,1
    - Dst: TextView::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:473,1
    - Dst: TextView::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:476,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:477,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:477,1
    - Dst: Context::_arena::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:478,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:479,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:479,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:480,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:480,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:480,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:480,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:480,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:481,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:481,1
    - Dst: Context::_remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 490
    functionName: Cmp_ContainsNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::end
    - memcpy
    - Context::_arena::alloc
    - std::search
    - TextView::begin
    - TextView::suffix
    - tolower
    - TextView::size
    - auto::view
    - TextView::prefix
    - Context::_remainder::clear
    - auto::data
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_ContainsNC::operator()(Context &ctx, TextView const &text,
      TextView active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ends_with
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:507,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:507,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:507,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:507,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:507,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:508,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:508,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:509,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:510,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:510,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: Cmp_TLD::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::suffix
    - auto::size
    - TextView::size
    - TextView::ends_with
    - TextView::prefix
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_TLD::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ends_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:531,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:531,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:531,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:531,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:531,1
    - Dst: TextView::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:532,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:532,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:533,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:534,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:534,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: Cmp_TLDNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::suffix
    - TextView::ends_with_nocase
    - auto::size
    - TextView::size
    - TextView::prefix
    - Context::set_literal_capture
    linkageType: ''
    returnType: bool
    signature: bool Cmp_TLDNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::rtrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:558,1
    - Dst: TextView::starts_with
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:559,1
    - Dst: TextView::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:560,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:560,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:561,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:562,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:562,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:563,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:563,1
    - Dst: TextView::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 569
    functionName: Cmp_Path::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - auto::size
    - TextView::starts_with
    - auto::rtrim
    - TextView::prefix
    - Context::set_literal_capture
    - auto::empty
    - TextView::substr
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Path::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:586,1
    - Dst: TextView::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:587,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:587,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:588,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:589,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:589,1
    - Dst: Context::set_literal_capture
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:590,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:590,1
    - Dst: TextView::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - text
    - active
    argTypes:
    - Context
    - TextView
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 596
    functionName: Cmp_PathNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - TextView::starts_with_nocase
    - auto::size
    - TextView::size
    - TextView::prefix
    - Context::set_literal_capture
    - auto::empty
    - TextView::substr
    linkageType: ''
    returnType: bool
    signature: bool Cmp_PathNC::operator()(Context &ctx, TextView const &text, TextView
      active) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:603,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:605,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:606,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:606,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:607,1
    - Dst: parse_options
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:610,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:611,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:612,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:613,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:616,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:617,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:618,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:618,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:622,1
    - Dst: Cmp_MatchNC::Cmp_MatchNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:622,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:622,1
    - Dst: Cmp_MatchStd::Cmp_MatchStd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:622,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:624,1
    - Dst: Cmp_PrefixNC::Cmp_PrefixNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:624,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:624,1
    - Dst: Cmp_Prefix::Cmp_Prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:624,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:626,1
    - Dst: Cmp_SuffixNC::Cmp_SuffixNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:626,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:626,1
    - Dst: Cmp_Suffix::Cmp_Suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:626,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: Cmp_Contains::Cmp_Contains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: Cmp_ContainsNC::Cmp_ContainsNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:628,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: Cmp_TLDNC::Cmp_TLDNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: Cmp_TLD::Cmp_TLD
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:630,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: Cmp_PathNC::Cmp_PathNC
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: Cmp_Path::Cmp_Path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:632,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 636
    functionName: Cmp_LiteralString::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Cmp_ContainsNC::Cmp_ContainsNC
    - Cmp_MatchNC::Cmp_MatchNC
    - Config::parse_expr
    - Cmp_SuffixNC::Cmp_SuffixNC
    - Cmp_PrefixNC::Cmp_PrefixNC
    - Errata
    - YAML::Node::Mark
    - Cmp_PathNC::Cmp_PathNC
    - Cmp_Suffix::Cmp_Suffix
    - std::move
    - Cmp_Contains::Cmp_Contains
    - Cmp_Prefix::Cmp_Prefix
    - Cmp_TLDNC::Cmp_TLDNC
    - parse_options
    - Cmp_TLD::Cmp_TLD
    - note
    - Cmp_Path::Cmp_Path
    - Cmp_MatchStd::Cmp_MatchStd
    - result_type
    - is_ok
    - auto::can_satisfy
    - Handle
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_LiteralString::load(Config &cfg, YAML::Node
      const &cmp_node, TextView const &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cfg
    - opt
    argTypes:
    - Config
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: Cmp_Rxp::expr_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expr_visitor(Config &cfg, Rxp::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opt
    argTypes:
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 728
    functionName: Cmp_RxpList::Cmp_RxpList
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_RxpList(Rxp::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: operator()(Expr::List &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::List &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:741,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - Expr::Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: operator()(Expr::Direct &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - emplace_back
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::Direct &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:747,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Expr::Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 749
    functionName: operator()(Expr::Composite &comp)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - emplace_back
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::Composite &comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: operator()(std::monostate)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(std::monostate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:770,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:770,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:771,1
    - Dst: Rxp::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:774,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:774,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:775,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:776,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:777,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:779,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 781
    functionName: Cmp_RxpList::expr_visitor::operator()(Feature &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - emplace_back
    - Rxp::parse
    - std::get<IndexFor(STRING)>
    - IndexFor
    - is_ok
    - Feature::index
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Cmp_RxpList::expr_visitor::operator()(Feature &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rxp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:788,1
    - Dst: rxp_working_match_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:788,1
    - Dst: rxp_commit_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:790,1
    - Dst: _remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rxp
    argTypes:
    - Rxp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: Cmp_Rxp::rxp_visitor::operator()(const Rxp &rxp)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - rxp_working_match_data
    - rxp_commit_match
    - _remainder::clear
    - rxp
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Rxp::rxp_visitor::operator()(const Rxp &rxp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:800,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:801,1
    - Dst: Rxp::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:802,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:803,1
    - Dst: rxp_match_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:804,1
    - Dst: capture_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 809
    functionName: Cmp_Rxp::rxp_visitor::operator()(Expr const &expr)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - capture_count
    - Rxp::parse
    - is_ok
    - std::get_if<IndexFor(STRING)>
    - rxp_match_require
    - extract
    linkageType: ''
    returnType: bool
    signature: bool Cmp_Rxp::rxp_visitor::operator()(Expr const &expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:814,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:814,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:815,1
    - Dst: Rxp::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:818,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:818,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:819,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:820,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:821,1
    - Dst: require_rxp_group_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:823,1
    - Dst: capture_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:823,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:824,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:824,1
    - Dst: Cmp_RxpSingle::Cmp_RxpSingle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: Cmp_Rxp::expr_visitor::operator()(Feature &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - capture_count
    - Errata
    - note
    - Rxp::parse
    - std::get<IndexFor(STRING)>
    - IndexFor
    - is_ok
    - require_rxp_group_count
    - Cmp_RxpSingle::Cmp_RxpSingle
    - Feature::index
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::expr_visitor::operator()(Feature &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: Cmp_Rxp::expr_visitor::operator()(std::monostate)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::expr_visitor::operator()(std::monostate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:836,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:836,1
    - Dst: Cmp_RxpSingle::Cmp_RxpSingle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Expr::Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: Cmp_Rxp::expr_visitor::operator()(Expr::Direct &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - Cmp_RxpSingle::Cmp_RxpSingle
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::expr_visitor::operator()(Expr::Direct
      &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:842,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:842,1
    - Dst: Cmp_RxpSingle::Cmp_RxpSingle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Expr::Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: Cmp_Rxp::expr_visitor::operator()(Expr::Composite &comp)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Handle
    - std::move
    - Cmp_RxpSingle::Cmp_RxpSingle
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::expr_visitor::operator()(Expr::Composite
      &comp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Cmp_RxpList::Cmp_RxpList
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:848,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:851,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:853,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - l
    argTypes:
    - Expr::List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 858
    functionName: Cmp_Rxp::expr_visitor::operator()(Expr::List &l)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Cmp_RxpList::Cmp_RxpList
    - std::visit
    - result_type
    - Errata
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::expr_visitor::operator()(Expr::List
      &l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:863,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:865,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:866,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:866,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:867,1
    - Dst: Cmp_String::parse_options
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:870,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:871,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:872,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:873,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 879
    functionName: Cmp_Rxp::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - note
    - YAML::Node::Mark
    - Config::parse_expr
    - is_ok
    - std::visit
    - std::move
    - Cmp_String::parse_options
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_Rxp::load(Config &cfg, YAML::Node const
      &cmp_node, TextView const &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - expr
    - opt
    argTypes:
    - Expr
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: Cmp_RxpSingle::Cmp_RxpSingle
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_RxpSingle::Cmp_RxpSingle(Expr &&expr, Rxp::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - rxp
    argTypes:
    - Rxp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 883
    functionName: Cmp_RxpSingle::Cmp_RxpSingle
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_RxpSingle::Cmp_RxpSingle(Rxp &&rxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - active
    argTypes:
    - Context
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: Cmp_RxpSingle::operator()(Context &ctx, feature_type_for<STRING>
      const &active) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: bool
    signature: bool Cmp_RxpSingle::operator()(Context &ctx, feature_type_for<STRING>
      const &active) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:894,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:894,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:894,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 895
    functionName: Cmp_RxpList::operator()(Context &ctx, feature_type_for<STRING> const
      &) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::any_of
    - std::visit
    - end
    linkageType: ''
    returnType: bool
    signature: bool Cmp_RxpList::operator()(Context &ctx, feature_type_for<STRING>
      const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: Cmp_is_true::Cmp_is_true
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_is_true()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::as_bool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: Cmp_is_true::operator()(Context &, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Feature::as_bool
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_true::operator()(Context &, Feature const &feature) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 929
    functionName: Cmp_is_true::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_is_true::load(Config &, YAML::Node const
      &, TextView const &, TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: Cmp_is_false::Cmp_is_false
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_is_false()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::as_bool
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 959
    functionName: Cmp_is_false::operator()(Context &, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Feature::as_bool
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_false::operator()(Context &, Feature const &feature) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: Cmp_is_false::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_is_false::load(Config &, YAML::Node const
      &, TextView const &, TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 984
    functionName: Cmp_is_null::Cmp_is_null
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_is_null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    functionName: Cmp_is_null::operator()(Context &, feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_null::operator()(Context &, feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: Cmp_is_null::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_is_null::load(Config &, YAML::Node const
      &, TextView const &, TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1020
    functionName: Cmp_is_empty::Cmp_is_empty
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cmp_is_empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1030
    functionName: Cmp_is_empty::operator()(Context &, feature_type_for<NIL>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_empty::operator()(Context &, feature_type_for<NIL>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<STRING>::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - feature_type_for<STRING>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: Cmp_is_empty::operator()(Context &, feature_type_for<STRING> const
      &s) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<STRING>::empty
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_empty::operator()(Context &, feature_type_for<STRING> const
      &s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feature_type_for<TUPLE>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - feature_type_for<TUPLE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: Cmp_is_empty::operator()(Context &, feature_type_for<TUPLE> const
      &t) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - feature_type_for<TUPLE>::count
    linkageType: ''
    returnType: bool
    signature: bool Cmp_is_empty::operator()(Context &, feature_type_for<TUPLE> const
      &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: Cmp_is_empty::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - self_type::self_type
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Cmp_is_empty::load(Config &, YAML::Node const
      &, TextView const &, TextView const &, YAML::Node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1078
    functionName: Base_Binary_Cmp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Base_Binary_Cmp(Expr &&expr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1085,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1086,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1087,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1087,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1087,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1089,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1090,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1091,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1092,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1094,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1094,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cfg
    - key
    - value_node
    argTypes:
    - Config
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1095
    functionName: Base_Binary_Cmp::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    - note
    - T::T
    - YAML::Node::Mark
    - Config::parse_expr
    - result_type
    - is_ok
    - auto::can_satisfy
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> Base_Binary_Cmp::load(Config &cfg, YAML::Node
      const &, TextView const &key, TextView const &, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1151
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1211
    functionName: operator()(Context &ctx, Feature const &f) const override
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &f) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: super_type::load<self_type>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 208
    functionsReached:
    - super_type::load<self_type>
    linkageType: ''
    returnType: Rv<Handle>
    signature: Rv<Handle> load(Config &cfg, YAML::Node const &cmp_node, TextView const
      &key, TextView const &arg, YAML::Node value_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1246,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1247,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1248,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1248,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1248,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1248,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1248,1
    - Dst: std::get<IndexFor(IP_ADDR)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - Context
    - feature_type_for<IP_ADDR>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1250
    functionName: Cmp_in::operator()(Context &ctx, feature_type_for<IP_ADDR> const
      &addr) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - std::get<IndexFor(IP_ADDR)>
    - IndexFor
    - auto::index
    linkageType: ''
    returnType: bool
    signature: bool Cmp_in::operator()(Context &ctx, feature_type_for<IP_ADDR> const
      &addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1255,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1256,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1257,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1257,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1257,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1257,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1257,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - Context
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    functionName: Cmp_in::operator()(Context &ctx, feature_type_for<INTEGER> n) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - IndexFor
    - auto::index
    - std::get<IndexFor(INTEGER)>
    linkageType: ''
    returnType: bool
    signature: bool Cmp_in::operator()(Context &ctx, feature_type_for<INTEGER> n)
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1264,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1267,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1270,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1270,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1271,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1272,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1273,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1273,1
    - Dst: swoc::IPRange::min
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1275,1
    - Dst: swoc::IPRange::max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1276,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1281,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1282,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1285,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1286,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1289,1
    - Dst: svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1291,1
    - Dst: auto::trim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1291,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1292,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1292,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1293,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1296,1
    - Dst: svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1298,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1298,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1299,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1299,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1300,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1303,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1306,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1307,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1308,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1308,1
    - Dst: Feature
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1311,1
    - Dst: Feature
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1312,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1314,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1315,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1316,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1317,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1318,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1320,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1322,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1323,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1324,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1326,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1329,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1329,1
    - Dst: auto::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1333,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1333,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1334,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1334,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1338,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1339,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1340,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1340,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1342,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1343,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1346,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1346,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1350,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1353,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - cfg
    - cmp_node
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1354
    functionName: Cmp_in::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    - swoc::IPRange::min
    - Config::parse_expr
    - YAML::Node::Scalar
    - swoc::IPRange::load
    - TextView::size
    - MaskFor
    - TextView::empty
    - YAML::Node::IsScalar
    - TextView::take_prefix_at
    - swoc::IPRange::max
    - Errata
    - YAML::Node::size
    - YAML::Node::Mark
    - auto::size
    - TextView::trim_if
    - std::move
    - self_type::self_type
    - svtoi
    - Feature
    - result_type
    - is_ok
    - YAML::Node::IsSequence
    - auto::can_satisfy
    - auto::trim_if
    linkageType: ''
    returnType: auto
    signature: auto Cmp_in::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &, TextView const &, YAML::Node value_node) -> Rv<Handle>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmps
    argTypes:
    - std::vector<Handle>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1373
    functionName: ComboComparison::ComboComparison
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ComboComparison(std::vector<Handle> &&cmps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1385,1
    - Dst: Do_with::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1386,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1387,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1388,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1388,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1390,1
    - Dst: std::vector::reserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1391,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1391,1
    - Dst: Do_with::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1393,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1394,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1395,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - cfg
    - cmp_node
    - key
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1401
    functionName: ComboComparison::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - auto::note
    - YAML::Node::size
    - YAML::Node::Mark
    - auto::is_ok
    - YAML::Node::IsSequence
    - Do_with::load_case
    - YAML::Node::IsMap
    linkageType: ''
    returnType: auto
    signature: "auto ComboComparison::load(Config &cfg, YAML::Node const &cmp_node,
      TextView const &key, TextView const &,\n                      YAML::Node value_node)
      -> Rv<std::vector<Handle>>"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1406,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1407,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1408,1
    - Dst: std::vector<Handle>::emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1410,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - cmps
    - node
    argTypes:
    - Config
    - std::vector<Handle>
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1412
    functionName: ComboComparison::load_case
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector<Handle>::emplace_back
    - is_ok
    - Comparison::load
    linkageType: ''
    returnType: Errata
    signature: Errata ComboComparison::load_case(Config &cfg, std::vector<Handle>
      &cmps, YAML::Node node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1427
    functionName: "&\n  key() const override"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmps
    argTypes:
    - std::vector<Handle>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1435
    functionName: Cmp_any_of::Cmp_any_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_any_of(std::vector<Handle> &&cmps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1441,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1441,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1442
    functionName: Cmp_any_of::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::any_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool Cmp_any_of::operator()(Context &ctx, Feature const &feature) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1448,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1449,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1450,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1452,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1453
    functionName: Cmp_any_of::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - self_type::self_type
    - IpAddr::load
    - is_ok
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_any_of::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &arg,\n                 YAML::Node value_node) ->
      Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1468
    functionName: "&\n  key() const override"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmps
    argTypes:
    - std::vector<Handle>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1475
    functionName: Cmp_all_of::Cmp_all_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_all_of(std::vector<Handle> &&cmps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1481,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1481,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: Cmp_all_of::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool Cmp_all_of::operator()(Context &ctx, Feature const &feature) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1488,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1489,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1490,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1492,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1493
    functionName: Cmp_all_of::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - self_type::self_type
    - IpAddr::load
    - is_ok
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_all_of::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &arg,\n                 YAML::Node value_node) ->
      Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: "&\n  key() const override"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmps
    argTypes:
    - std::vector<Handle>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1516
    functionName: Cmp_none_of::Cmp_none_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_none_of(std::vector<Handle> &&cmps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::none_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1522,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1522,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1523
    functionName: Cmp_none_of::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::none_of
    - end
    linkageType: ''
    returnType: bool
    signature: bool Cmp_none_of::operator()(Context &ctx, Feature const &feature)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1529,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1530,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1531,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1533,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1534
    functionName: Cmp_none_of::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - self_type::self_type
    - IpAddr::load
    - is_ok
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_none_of::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &arg,\n                  YAML::Node value_node) ->
      Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1550
    functionName: "&\n  key() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: Cmp_for_all::Cmp_for_all
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_for_all(Handle &&cmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1567,1
    - Dst: std::get<TUPLE>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1571,1
    - Dst: std::all_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1572,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1572,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1573
    functionName: Cmp_for_all::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::get<TUPLE>
    - auto::end
    - auto::begin
    - std::all_of
    - Feature::value_type
    linkageType: ''
    returnType: bool
    signature: bool Cmp_for_all::operator()(Context &ctx, Feature const &feature)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1579,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1580,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1580,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1582,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1582,1
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1583,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1584,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1585,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1585,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1586,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1588,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1588,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cfg
    - cmp_node
    - key
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1589
    functionName: Cmp_for_all::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    - Errata
    - note
    - YAML::Node::Mark
    - self_type::self_type
    - is_ok
    - Config::feature_scope
    - Comparison::load
    - YAML::Node::IsMap
    - Handle
    - std::move
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_for_all::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &,\n                  YAML::Node value_node) -> Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1605
    functionName: "&\n  key() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    functionName: Cmp_for_any::Cmp_for_any
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_for_any(Handle &&cmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1622,1
    - Dst: std::get<TUPLE>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1626,1
    - Dst: std::any_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1627,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1627,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1628
    functionName: Cmp_for_any::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::get<TUPLE>
    - auto::end
    - auto::begin
    - std::any_of
    - Feature::value_type
    linkageType: ''
    returnType: bool
    signature: bool Cmp_for_any::operator()(Context &ctx, Feature const &feature)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1634,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1635,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1635,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1637,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1637,1
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1638,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1639,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1640,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1640,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1641,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1643,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1643,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cfg
    - cmp_node
    - key
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1644
    functionName: Cmp_for_any::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    - Errata
    - note
    - YAML::Node::Mark
    - self_type::self_type
    - is_ok
    - Config::feature_scope
    - Comparison::load
    - YAML::Node::IsMap
    - Handle
    - std::move
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_for_any::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &,\n                  YAML::Node value_node) -> Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: "&\n  key() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmp
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1669
    functionName: Cmp_for_none::Cmp_for_none
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_for_none(Handle &&cmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1677,1
    - Dst: std::get<TUPLE>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1681,1
    - Dst: std::all_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1682,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1682,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: Cmp_for_none::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::get<TUPLE>
    - auto::end
    - auto::begin
    - std::all_of
    - Feature::value_type
    linkageType: ''
    returnType: bool
    signature: bool Cmp_for_none::operator()(Context &ctx, Feature const &feature)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1689,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1690,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1690,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1692,1
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1692,1
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1693,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1694,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1695,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1695,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1696,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1698,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1698,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cfg
    - cmp_node
    - key
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1699
    functionName: Cmp_for_none::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    - Errata
    - note
    - YAML::Node::Mark
    - self_type::self_type
    - is_ok
    - Config::feature_scope
    - Comparison::load
    - YAML::Node::IsMap
    - Handle
    - std::move
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_for_none::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &,\n                   YAML::Node value_node) ->
      Rv<Handle>"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: "&\n  key() const override"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: "TextView &\n  key() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - cmps
    argTypes:
    - std::vector<Handle>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1723
    functionName: Cmp_as_tuple::Cmp_as_tuple
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Cmp_as_tuple(std::vector<Handle> &&cmps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1729,1
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1733,1
    - Dst: std::get<TUPLE>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1738,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1739,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1740,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1750
    functionName: Cmp_as_tuple::operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::get<TUPLE>
    - auto::size
    - min
    - empty
    - Feature::value_type
    - size
    linkageType: ''
    returnType: bool
    signature: bool Cmp_as_tuple::operator()(Context &ctx, Feature const &feature)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1756,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1758,1
    - Dst: IpAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1759,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1760,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1761,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1763,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cfg
    - cmp_node
    - key
    - arg
    - value_node
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1764
    functionName: Cmp_as_tuple::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Config::active_type
    - IpAddr::load
    - self_type::self_type
    - is_ok
    - Config::feature_scope
    - std::move
    linkageType: ''
    returnType: auto
    signature: "auto Cmp_as_tuple::load(Config &cfg, YAML::Node const &cmp_node, TextView
      const &key, TextView const &arg,\n                   YAML::Node value_node)
      -> Rv<Handle>"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1771,1
    - Dst: ComparisonGroupBase::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1772,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1773,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1776,1
    - Dst: ComparisonGroupBase::load_case
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1778,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1778,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1783,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1786
    functionName: ComparisonGroupBase::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::Mark
    - YAML::Node::IsMap
    - YAML::Node::IsSequence
    - auto::is_ok
    - ComparisonGroupBase::load_case
    linkageType: ''
    returnType: Errata
    signature: Errata ComparisonGroupBase::load(Config &cfg, YAML::Node node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Comparison::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1791,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1792,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1793,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc:1795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1796
    functionName: ComparisonGroupBase::load_cmp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Comparison.cc
    functionUses: 0
    functionsReached:
    - std::move
    - is_ok
    - Comparison::load
    linkageType: ''
    returnType: Rv<Comparison::Handle>
    signature: Rv<Comparison::Handle> ComparisonGroupBase::load_cmp(Config &cfg, YAML::Node
      node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: field_retrans
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto field_retrans(T const &info, swoc::meta::CaseTag<1>) -> decltype(info.__tcpi_retrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: field_retrans
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto field_retrans(T const &info, swoc::meta::CaseTag<2>) -> decltype(info.tcpi_retrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: field_retrans
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto field_retrans(T const &info, swoc::meta::CaseTag<1>) -> decltype(info.__tcpi_retrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: field_retrans
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto field_retrans(T const &info, swoc::meta::CaseTag<2>) -> decltype(info.tcpi_retrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: Ex_tcp_info::value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto value(Context &, Field, swoc::meta::CaseTag<0>) -> intmax_t
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:143,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:144,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:148,1
    - Dst: Config::reserve_ctx_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: Ex_tcp_info::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached:
    - TextView::empty
    - Errata
    - Config::reserve_ctx_storage
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_tcp_info::validate(Config &cfg, Spec &spec, const
      TextView &arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::is_internal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:170,1
    - Dst: self_type::template value<struct tcp_info>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:174,1
    - Dst: Field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: Ex_tcp_info::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached:
    - self_type::template value<struct tcp_info>
    - Context::_txn::is_internal
    - Field
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_tcp_info::extract(Context &ctx, const Spec &spec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::inbound_fd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:182,1
    - Dst: Context::template initialized_storage_for<CtxInfo>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:184,1
    - Dst: auto::info::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:187,1
    - Dst: safe_getsockopt
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:188,1
    - Dst: auto::info::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:188,1
    - Dst: reinterpret_cast<tcp_info *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:193,1
    - Dst: auto::info::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:193,1
    - Dst: field_retrans
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - field
    argTypes:
    - Context
    - Ex_tcp_info::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 209
    functionName: Ex_tcp_info::value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ex_tcp_info.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::inbound_fd
    - Context::template initialized_storage_for<CtxInfo>
    - field_retrans
    - auto::info::data
    - safe_getsockopt
    - reinterpret_cast<tcp_info *>
    - auto::info::size
    linkageType: ''
    returnType: auto
    signature: "auto Ex_tcp_info::value(Context &ctx, Ex_tcp_info::Field field,\n
      \                  swoc::meta::CaseTag<1>) -> std::enable_if_t<(type_size<tcp_info>::value
      > 0), intmax_t>"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve_txn_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:65,1
    - Dst: _preload_errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:66,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:68,1
    - Dst: _preload_errata::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:69,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:70,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:70,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - errbuff
    - errbuff_size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::print
    - TSError
    - _preload_errata::clear
    - _preload_errata::is_ok
    - reserve_txn_arg
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *, char *errbuff, int errbuff_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: TSRemapPostConfigReload
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void TSRemapPostConfigReload(TSRemapReloadStatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:91,1
    - Dst: std::make_shared<Config>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:95,1
    - Dst: swoc::MemSpan<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:96,1
    - Dst: auto::mark_as_remap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:97,1
    - Dst: auto::load_cli_args
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:98,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:107,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:109,1
    - Dst: swoc::FixedBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:110,1
    - Dst: auto::reserved_ctx_storage_size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:114,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:115,1
    - Dst: RemapContext::RemapContext
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuff
    - errbuff_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::print
    - swoc::MemSpan<char *>
    - Errata::is_ok
    - auto::load_cli_args
    - TSError
    - auto::mark_as_remap
    - RemapContext::RemapContext
    - std::make_shared<Config>
    - std::move
    - swoc::SWOC_VERSION_NS::bwprint
    - auto::reserved_ctx_storage_size
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuff, int errbuff_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapContext *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:122,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:130,1
    - Dst: ts::HttpTxn::HttpTxn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:130,1
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:132,1
    - Dst: Context*::enable_hooks
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:133,1
    - Dst: Context*::invoke_for_remap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ih
    - txn
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<RemapContext *>
    - static_cast<Context *>
    - ts::HttpTxn::HttpTxn
    - Context::Context
    - Context*::invoke_for_remap
    - Context*::enable_hooks
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txn, TSRemapRequestInfo
      *rri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RemapContext *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:143,1
    - Dst: auto::rule_cfg::reserved_ctx_storage_size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<RemapContext *>
    - auto::rule_cfg::reserved_ctx_storage_size
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:120,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: "&\n    operator=(bool b)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - reset
    - set
    linkageType: ''
    returnType: bit_ref
    signature: "bit_ref &\n    operator=(bool b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: "&\n    operator=(int v)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bit_ref
    signature: "bit_ref &\n    operator=(int v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: operator bool()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void>::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: BitSpan::BitSpan
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::rebind
    linkageType: ''
    returnType: void
    signature: void BitSpan(MemSpan<void> const &span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: BitSpan::BitSpan
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitSpan(MemSpan<uint8_t> const &span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: operator[](unsigned idx)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bit_ref
    signature: bit_ref operator[](unsigned idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitSpan::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:194,1
    - Dst: std::bitset<BITS>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: BitSpan::count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 1
    functionsReached:
    - BitSpan::count
    - std::bitset<BITS>
    linkageType: ''
    returnType: unsigned
    signature: unsigned count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: BitSpan::set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto BitSpan::set(unsigned int idx) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: BitSpan::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto BitSpan::reset(unsigned int idx) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: BitSpan::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: auto
    signature: auto BitSpan::reset() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: cfg_info
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Config::named_object
    linkageType: ''
    returnType: CfgInfo
    signature: "CfgInfo *\n  cfg_info(Config &cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:256,1
    - Dst: Context::cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:256,1
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: ctx_active_info
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Context::storage_for
    - cfg_info
    - Context::cfg
    linkageType: ''
    returnType: CtxActiveInfo
    signature: "CtxActiveInfo *\n  ctx_active_info(Context &ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: Do_ip_space_define::Column
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Column()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - Column
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Do_ip_space_define::Column
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Column(Column &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Row*::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - row
    argTypes:
    - Row*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: Do_ip_space_define::data_in_row
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Row*::data
    linkageType: ''
    returnType: MemSpan<std::byte>
    signature: MemSpan<std::byte> data_in_row(Row *row)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Do_ip_space_define::Do_ip_space_define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_ip_space_define()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: Do_ip_space_define::~Do_ip_space_define() noexcept
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void Do_ip_space_define::~Do_ip_space_define() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:427,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:429,1
    - Dst: Clock::time_point
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:430,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:433,1
    - Dst: auto::time_since_epoch
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: Do_ip_space_define::should_check
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Clock::time_point
    - auto::time_since_epoch
    - compare_exchange_strong
    - count
    - failover_now
    linkageType: ''
    returnType: bool
    signature: bool Do_ip_space_define::should_check()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:443,1
    - Dst: PerformAsTaskEvery
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:445,1
    - Dst: Context::acquire_cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:445,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: Do_ip_space_define::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - count
    - Context::acquire_cfg
    - PerformAsTaskEvery
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ip_space_define::invoke(Context &ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SpaceInfo>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:455,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:456,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:456,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:458,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:459,1
    - Dst: TextView::front
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:459,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:462,1
    - Dst: IPRange::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:464,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:465,1
    - Dst: auto::arena::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:468,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:473,1
    - Dst: Row::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:475,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:476,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:481,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:481,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:485,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:486,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:486,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:487,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:490,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:495,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:496,1
    - Dst: Column::_tags::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:499,1
    - Dst: Column::_tags::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:500,1
    - Dst: MemSpan::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:502,1
    - Dst: BitSpan::reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:508,1
    - Dst: auto::take_prefix_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:509,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:509,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:509,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:513,1
    - Dst: swoc::SWOC_VERSION_NS::Optional
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:514,1
    - Dst: auto::space::fill
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:520,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - cfg
    - content
    argTypes:
    - Config
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 523
    functionName: Do_ip_space_define::parse_space
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Row::data
    - auto::space::fill
    - TextView::size
    - TextView::empty
    - std::make_shared<SpaceInfo>
    - size
    - Config::localize
    - TextView::take_prefix_at
    - Errata
    - auto::size
    - TextView::trim_if
    - empty
    - isalnum
    - Column::_tags::count
    - TextView::front
    - swoc::SWOC_VERSION_NS::Optional
    - MemSpan::rebind
    - swoc::SWOC_VERSION_NS::svtoi
    - BitSpan::reset
    - auto::arena::alloc
    - Column::_tags::define
    - auto::take_prefix_if
    - IPRange::empty
    linkageType: ''
    returnType: auto
    signature: auto Do_ip_space_define::parse_space(Config &cfg, TextView content)
      -> Rv<SpaceHandle>
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:531,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:532,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:533,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:533,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:533,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:534,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:536,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:536,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:537,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:537,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:538,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:540,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:540,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:545,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:545,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:547,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:548,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:549,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:549,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:549,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:550,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:552,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:552,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:553,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:553,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:554,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:556,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:556,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:559,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:559,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:567,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:567,1
    - Dst: Column::_tags::set_default
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:570,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:573,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:574,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:575,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:575,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:575,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:576,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:578,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:579,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:580,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:580,1
    - Dst: Column::_tags::set_default
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:582,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:583,1
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:584,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:585,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:586,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:587,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:588,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:588,1
    - Dst: Column::_tags::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:590,1
    - Dst: Column::_tags::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:590,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:590,1
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:592,1
    - Dst: Column::_tags::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:593,1
    - Dst: Column::_tags::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:593,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:593,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:595,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:596,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:596,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:600,1
    - Dst: define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:616,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:617,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:617,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 619
    functionName: Do_ip_space_define::define_column
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - Config::parse_expr
    - std::get<IndexFor(STRING)>
    - define
    - size
    - Errata
    - YAML::Node::Mark
    - auto::Mark
    - Column::_tags::set_default
    - std::move
    - Column::_tags::count
    - emplace_back
    - value_type
    - Feature::value_type
    - note
    - Column::_tags::define
    - result_type
    - is_ok
    - std::get<Expr::LITERAL>
    - is_literal
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ip_space_define::define_column(Config &cfg, YAML::Node node)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:625,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:627,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:631,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:631,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:633,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:634,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:635,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:635,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:636,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:638,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:638,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:639,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:639,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:640,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:642,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:643,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:643,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:643,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:647,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:647,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:650,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:651,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:652,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:652,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:653,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:655,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:656,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:656,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:657,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:659,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:660,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:660,1
    - Dst: ts::make_absolute
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:661,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:665,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:666,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:667,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:667,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:668,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:670,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:671,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:671,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:672,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:674,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:675,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:676,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:676,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:677,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:680,1
    - Dst: auto::_cols::emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:686,1
    - Dst: auto::_col_names::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:690,1
    - Dst: auto::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:693,1
    - Dst: auto::define_column
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:694,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:695,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:696,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:696,1
    - Dst: auto::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:699,1
    - Dst: auto::define_column
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:701,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:702,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:703,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:703,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:708,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:708,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:713,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:715,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:717,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:717,1
    - Dst: auto::parse_space
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:718,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:719,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:720,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:721,1
    - Dst: cfg_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:726,1
    - Dst: Map::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:727,1
    - Dst: Map::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:727,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:728,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:728,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 734
    functionName: Do_ip_space_define::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Config::parse_expr
    - cfg_info
    - swoc::SWOC_VERSION_NS::file::status
    - std::get<IndexFor(STRING)>
    - auto::IsMap
    - auto::parse_space
    - auto::_col_names::define
    - swoc::SWOC_VERSION_NS::file::load
    - Config::localize
    - Errata
    - YAML::Node::Mark
    - auto::Mark
    - auto::IsSequence
    - std::move
    - auto::note
    - self_type::self_type
    - YAML::Node::remove
    - auto::_cols::emplace_back
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - note
    - ts::make_absolute
    - Map::find
    - result_type
    - is_ok
    - std::get<Expr::LITERAL>
    - auto::is_ok
    - auto::define_column
    - is_literal
    - Map::end
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_ip_space_define::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                         YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:739,1
    - Dst: Config::reserve_ctx_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:743,1
    - Dst: Config::mark_for_cleanup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: Do_ip_space_define::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Config::obtain_named_object
    - Config::mark_for_cleanup
    - Config::reserve_ctx_storage
    linkageType: ''
    returnType: Errata
    signature: Errata Do_ip_space_define::cfg_init(Config &cfg, CfgStaticData const
      *)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:751,1
    - Dst: should_check
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:756,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:761,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:763,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:767,1
    - Dst: parse_space
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:769,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 778
    functionName: Do_ip_space_define::Updater::operator()()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - parse_space
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - is_ok
    - lock
    - should_check
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void Do_ip_space_define::Updater::operator()()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:784,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:784,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:784,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:784,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:785,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 790
    functionName: Do_ip_space_define::col_idx
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::find_if
    - strcasecmp
    - end
    linkageType: ''
    returnType: unsigned
    signature: unsigned Do_ip_space_define::col_idx(TextView const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 797
    functionName: Do_ip_space_define::acquire_space
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpaceHandle
    signature: SpaceHandle Do_ip_space_define::acquire_space()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - expr
    - name
    - drtv
    argTypes:
    - Expr
    - TextView
    - Do_ip_space_define*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: Mod_ip_space::Mod_ip_space
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_ip_space::Mod_ip_space(Expr &&expr, TextView const &name,
      Do_ip_space_define *drtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: Mod_ip_space::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_ip_space::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: Mod_ip_space::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - ActiveType::TupleOf
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_ip_space::result_type(const ActiveType &) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:869,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:874,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:875,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:876,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:876,1
    - Dst: Config::active_value_let
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:882,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:883,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:885,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:886,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:886,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:887,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:889,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:889,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:889,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - cfg
    - node
    - arg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 890
    functionName: Mod_ip_space::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - Errata
    - note
    - YAML::Node::Mark
    - cfg_info
    - Config::parse_expr
    - self_type::self_type
    - is_ok
    - auto::find
    - Config::active_value_let
    - std::move
    - Handle
    - Config::localize
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_ip_space::load(Config &cfg, YAML::Node node,
      TextView, TextView arg, YAML::Node key_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: auto::acquire_space
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:899,1
    - Dst: cfg_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:901,1
    - Dst: Context::cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:901,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:903,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:903,1
    - Dst: auto::acquire_space
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:905,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:909,1
    - Dst: CtxActiveInfo::_space::space::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:911,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:913,1
    - Dst: ctx_active_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:918,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - Context
    - feature_type_for<IP_ADDR>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 924
    functionName: Mod_ip_space::operator()(Context &ctx, feature_type_for<IP_ADDR>
      addr)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - auto::end
    - cfg_info
    - Context::cfg
    - ctx_active_info
    - FeatureView::Literal
    - auto::find
    - auto::acquire_space
    - CtxActiveInfo::_space::space::find
    - Context::extract
    - empty
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_ip_space::operator()(Context &ctx, feature_type_for<IP_ADDR>
      addr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:952,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:953,1
    - Dst: Config::active_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:956,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:958,1
    - Dst: Config::allocate_cfg_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:962,1
    - Dst: svtou
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:967,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:967,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:967,1
    - Dst: auto::_cols::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:968,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:969,1
    - Dst: auto::_cols::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:969,1
    - Dst: auto::col_idx
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:973,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:975,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:980,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 1010
    functionName: Ex_ip_col::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - Config::allocate_cfg_storage
    - Errata
    - svtou
    - TextView::size
    - Config::active_value
    - auto::_cols::size
    - TextView::empty
    - auto::col_idx
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_ip_col::validate(Config &cfg, Spec &spec, const TextView
      &arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctx_active_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1016,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1017,1
    - Dst: auto::_drtv::col_idx
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1018,1
    - Dst: auto::data_in_row
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1022,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1029,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1029,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1031,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1033,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1033,1
    - Dst: BitSpan
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1035,1
    - Dst: auto::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1036,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1037,1
    - Dst: auto::_tags::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1038,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc:1040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1050
    functionName: Ex_ip_col::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/ip_space.cc
    functionUses: 0
    functionsReached:
    - auto::count
    - auto::rebind
    - Context::alloc_span
    - auto::_tags::count
    - ctx_active_info
    - auto::data_in_row
    - auto::_drtv::col_idx
    - FeatureView::Literal
    - Spec::_data::span::rebind
    - BitSpan
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ip_col::extract(Context &ctx, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - map
    argTypes:
    - MapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Do_text_block_define::CfgInfo
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CfgInfo(MapHandle &&map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Do_text_block_define::Do_text_block_define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Do_text_block_define()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:160,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:160,1
    - Dst: swoc::SWOC_VERSION_NS::file::status_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stat
    argTypes:
    - swoc::file::file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Do_text_block_define::update_time
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - max
    - swoc::SWOC_VERSION_NS::file::last_write_time
    - swoc::SWOC_VERSION_NS::file::status_time
    linkageType: ''
    returnType: Clock::time_point
    signature: Clock::time_point Do_text_block_define::update_time(swoc::file::file_status
      const &stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Do_text_block_define::~Do_text_block_define() noexcept
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void Do_text_block_define::~Do_text_block_define() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:171,1
    - Dst: auto::_map::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: Do_text_block_define::map
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - auto::_map::get
    - Config::named_object
    linkageType: ''
    returnType: auto
    signature: auto Do_text_block_define::map(Config &cfg) -> Map *
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:179,1
    - Dst: PerformAsTaskEvery
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:181,1
    - Dst: Context::acquire_cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:181,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: Do_text_block_define::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - count
    - Context::acquire_cfg
    - PerformAsTaskEvery
    linkageType: ''
    returnType: Errata
    signature: Errata Do_text_block_define::invoke(Context &ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:190,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:193,1
    - Dst: auto::_fg::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:195,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:204,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:205,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:205,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:205,1
    - Dst: auto::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:208,1
    - Dst: auto::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:212,1
    - Dst: auto::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:212,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:213,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:213,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:215,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:215,1
    - Dst: auto::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:217,1
    - Dst: auto::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:219,1
    - Dst: auto::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:219,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:220,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:220,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:222,1
    - Dst: ts::make_absolute
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:222,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:222,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:222,1
    - Dst: auto::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:226,1
    - Dst: auto::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:228,1
    - Dst: auto::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:228,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:229,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:229,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:231,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:231,1
    - Dst: auto::_text::has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:234,1
    - Dst: auto::_path::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:234,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:235,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:235,1
    - Dst: auto::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:238,1
    - Dst: auto::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:240,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:241,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:241,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:243,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:244,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:245,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:245,1
    - Dst: auto::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:250,1
    - Dst: auto::_path::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:252,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:254,1
    - Dst: std::make_shared<std::string>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:256,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:256,1
    - Dst: auto::_text::has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:257,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:260,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:262,1
    - Dst: Do_text_block_define::update_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:264,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:264,1
    - Dst: auto::map
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:268,1
    - Dst: Map*::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:269,1
    - Dst: Map*::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:269,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:270,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 276
    functionName: Do_text_block_define::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - Map*::end
    - swoc::SWOC_VERSION_NS::file::status
    - std::get<IndexFor(STRING)>
    - auto::index_of
    - auto::_fg::load
    - swoc::SWOC_VERSION_NS::file::load
    - Config::localize
    - Errata
    - YAML::Node::Mark
    - auto::_path::empty
    - std::move
    - auto::result_type
    - auto::note
    - self_type::self_type
    - ts::make_absolute
    - Map*::find
    - auto::is_literal
    - auto::_text::has_value
    - Do_text_block_define::update_time
    - std::get<Expr::LITERAL>
    - is_ok
    - auto::is_ok
    - std::make_shared<std::string>
    - auto::map
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_text_block_define::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                           YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:281,1
    - Dst: MapHandle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:281,1
    - Dst: Map::Map
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:281,1
    - Dst: Config::mark_for_cleanup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: Do_text_block_define::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - Config::obtain_named_object
    - Map::Map
    - MapHandle
    - Config::mark_for_cleanup
    linkageType: ''
    returnType: Errata
    signature: Errata Do_text_block_define::cfg_init(Config &cfg, CfgStaticData const
      *)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:289,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:296,1
    - Dst: Do_text_block_define::update_time
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:298,1
    - Dst: std::make_shared<std::string>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:302,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:303,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:307,1
    - Dst: _fg::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:312,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:313,1
    - Dst: print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:313,1
    - Dst: Log_Note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:314,1
    - Dst: _content::reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 324
    functionName: Do_text_block_define::Updater::operator()()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - print
    - _fg::extract
    - swoc::SWOC_VERSION_NS::file::status
    - Do_text_block_define::update_time
    - std::make_shared<std::string>
    - _content::reset
    - std::move
    - lock
    - Log_Note
    - swoc::SWOC_VERSION_NS::file::load
    linkageType: ''
    returnType: void
    signature: void Do_text_block_define::Updater::operator()()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:357,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:358,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:360,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:361,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: Ex_text_block::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - auto::rebind
    - Errata
    - Config::alloc_span
    - TextView::empty
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_text_block::validate(Config &cfg, Spec &spec, const
      TextView &arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Context::cfg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:369,1
    - Dst: auto::_map::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:370,1
    - Dst: auto::_map::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:370,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:381,1
    - Dst: Context::mark_for_cleanup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:382,1
    - Dst: FeatureView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:383,1
    - Dst: auto::_text::has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:387,1
    - Dst: auto::_text::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - tag
    argTypes:
    - Context
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 393
    functionName: Ex_text_block::extract_block
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - FeatureView
    - auto::_map::end
    - Context::cfg
    - auto::_text::has_value
    - Context::make
    - Context::mark_for_cleanup
    - auto::_map::find
    - auto::_text::value
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_text_block::extract_block(Context &ctx, TextView tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:398,1
    - Dst: Ex_text_block::extract_block
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: Ex_text_block::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - Ex_text_block::extract_block
    - Spec::_data::span::rebind
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_text_block::extract(Context &ctx, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:405,1
    - Dst: '&

        Ex_text_block::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: '&

      Ex_text_block::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_text_block::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_text_block::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: Mod_as_text_block::Mod_as_text_block
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mod_as_text_block(Expr &&expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::can_satisfy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: Mod_as_text_block::is_valid_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - ActiveType::can_satisfy
    linkageType: ''
    returnType: bool
    signature: bool Mod_as_text_block::is_valid_for(ActiveType const &ex_type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: Mod_as_text_block::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - MaskFor
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Mod_as_text_block::result_type(ActiveType const &) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:467,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:468,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:469,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:469,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:470,1
    - Dst: is_null
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:472,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:473,1
    - Dst: Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:473,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:473,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:473,1
    - Dst: Mod_as_text_block::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:474,1
    - Dst: MaskFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:474,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:475,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:475,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:475,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cfg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: Mod_as_text_block::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - Expr
    - note
    - Errata
    - YAML::Node::Mark
    - Config::parse_expr
    - self_type::self_type
    - is_null
    - is_ok
    - Mod_as_text_block::result_type
    - FeatureView::Literal
    - MaskFor
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Modifier::Handle>
    signature: Rv<Modifier::Handle> Mod_as_text_block::load(Config &cfg, YAML::Node,
      TextView, TextView, YAML::Node key_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:484,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:484,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:485,1
    - Dst: Ex_text_block::extract_block
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:486,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:489,1
    - Dst: Context::extract_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: Mod_as_text_block::operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/text_block.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(STRING)>
    - IndexFor
    - Context::extract_view
    - Feature::index
    - Ex_text_block::extract_block
    - is_nil
    linkageType: ''
    returnType: Rv<Feature>
    signature: Rv<Feature> Mod_as_text_block::operator()(Context &ctx, Feature &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:43,1
    - Dst: reinterpret_cast<unsigned const char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:43,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:43,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:43,1
    - Dst: pcre2_get_error_message
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:46,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:47,1
    - Dst: TextView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:48,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - str
    - options
    argTypes:
    - TextView
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: Rxp::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 3
    functionsReached:
    - pcre2_get_error_message
    - Errata
    - TextView::data
    - reinterpret_cast<unsigned const char *>
    - TextView::size
    - reinterpret_cast<char const *>
    - pcre2_compile
    - TextView
    linkageType: ''
    returnType: Rv<Rxp>
    signature: Rv<Rxp> Rxp::parse(TextView const &str, Options const &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:56,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:56,1
    - Dst: reinterpret_cast<PCRE2_SPTR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:56,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:56,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - match
    argTypes:
    - swoc::TextView
    - pcre2_match_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Rxp::operator()(swoc::TextView text, pcre2_match_data *match) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - get
    - swoc::TextView::data
    - reinterpret_cast<PCRE2_SPTR>
    - pcre2_match
    - swoc::TextView::size
    linkageType: ''
    returnType: int
    signature: int Rxp::operator()(swoc::TextView text, pcre2_match_data *match) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_pattern_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:63,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: Rxp::capture_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - pcre2_pattern_info
    - get
    linkageType: ''
    returnType: size_t
    signature: size_t Rxp::capture_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - rxp
    argTypes:
    - Rxp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: RxpOp::RxpOp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RxpOp::RxpOp(Rxp &&rxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - expr
    - opt
    argTypes:
    - Expr
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: RxpOp::RxpOp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RxpOp::RxpOp(Expr &&expr, Rxp::Options opt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:73,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:73,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:74,1
    - Dst: Rxp::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:77,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:77,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:78,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:79,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:80,1
    - Dst: require_rxp_group_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:82,1
    - Dst: capture_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:82,1
    - Dst: RxpOp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:83,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: RxpOp::Cfg_Visitor::operator()(Feature &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - capture_count
    - Errata
    - note
    - Rxp::parse
    - std::get<IndexFor(STRING)>
    - IndexFor
    - is_ok
    - require_rxp_group_count
    - RxpOp
    - Feature::index
    - std::move
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::Cfg_Visitor::operator()(Feature &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: RxpOp::Cfg_Visitor::operator()(std::monostate)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::Cfg_Visitor::operator()(std::monostate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RxpOp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:95,1
    - Dst: Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:95,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Expr::Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: RxpOp::Cfg_Visitor::operator()(Expr::Direct &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - RxpOp
    - std::move
    - Expr
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::Cfg_Visitor::operator()(Expr::Direct &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RxpOp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:101,1
    - Dst: Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:101,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Expr::Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: RxpOp::Cfg_Visitor::operator()(Expr::Composite &comp)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - RxpOp
    - std::move
    - Expr
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::Cfg_Visitor::operator()(Expr::Composite &comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: RxpOp::Cfg_Visitor::operator()(Expr::List &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - Errata
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::Cfg_Visitor::operator()(Expr::List &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: RxpOp::Apply_Visitor::operator()(std::monostate) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RxpOp::Apply_Visitor::operator()(std::monostate) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rxp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:119,1
    - Dst: rxp_working_match_data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:119,1
    - Dst: rxp_commit_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:121,1
    - Dst: _remainder::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rxp
    argTypes:
    - Rxp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: RxpOp::Apply_Visitor::operator()(const Rxp &rxp) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - rxp_working_match_data
    - rxp_commit_match
    - _remainder::clear
    - rxp
    linkageType: ''
    returnType: bool
    signature: bool RxpOp::Apply_Visitor::operator()(const Rxp &rxp) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:131,1
    - Dst: std::get_if<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:132,1
    - Dst: Rxp::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:133,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:134,1
    - Dst: rxp_match_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:135,1
    - Dst: capture_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dr
    argTypes:
    - DynamicRxp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: RxpOp::Apply_Visitor::operator()(DynamicRxp const &dr) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - capture_count
    - Rxp::parse
    - is_ok
    - std::get_if<IndexFor(STRING)>
    - rxp_match_require
    - extract
    linkageType: ''
    returnType: bool
    signature: bool RxpOp::Apply_Visitor::operator()(DynamicRxp const &dr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:145,1
    - Dst: RxpOp::Cfg_Visitor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - cfg
    - expr
    - opt
    argTypes:
    - Config
    - Expr
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: RxpOp::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 1
    functionsReached:
    - std::visit
    - RxpOp::Cfg_Visitor
    linkageType: ''
    returnType: Rv<RxpOp>
    signature: Rv<RxpOp> RxpOp::load(Config &cfg, Expr &&expr, Rxp::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - Context
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: RxpOp::operator()(Context &ctx, swoc::TextView src)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: int
    signature: int RxpOp::operator()(Context &ctx, swoc::TextView src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:157,1
    - Dst: std::get<STATIC>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: RxpOp::capture_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Rxp.cc
    functionUses: 0
    functionsReached:
    - index
    - std::get<STATIC>
    linkageType: ''
    returnType: size_t
    signature: size_t RxpOp::capture_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ex
    argTypes:
    - TextView
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Extractor::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: Errata Extractor::define(TextView name, self_type *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: Extractor::has_ctx_ref
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Extractor::has_ctx_ref() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Extractor::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Rv<ActiveType>
    signature: swoc::Rv<ActiveType> Extractor::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Extractor::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature Extractor::extract(Config &, Extractor::Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:77,1
    - Dst: '&

        Extractor::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: '&

      Extractor::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - '&

      Extractor::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Extractor::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:83,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Extractor::find
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - end
    - Extractor::find
    linkageType: ''
    returnType: Extractor::self_type
    signature: 'Extractor::self_type *

      Extractor::find(TextView const &name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:91,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:91,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:91,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:91,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: FeatureGroup::Tracking::find(swoc::TextView const &name) const ->
      Tracking::Info *
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::find_if
    - strcasecmp
    - end
    linkageType: ''
    returnType: auto
    signature: auto FeatureGroup::Tracking::find(swoc::TextView const &name) const
      -> Tracking::Info *
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FeatureGroup::Tracking::obtain(swoc::TextView const &name) -> Tracking::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:97,1
    - Dst: FeatureGroup::Tracking::obtain(swoc::TextView const &name) -> Tracking::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: FeatureGroup::Tracking::obtain(swoc::TextView const &name) -> Tracking::Info
      *
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - FeatureGroup::Tracking::obtain(swoc::TextView const &name) -> Tracking::find
    - FeatureGroup::Tracking::obtain(swoc::TextView const &name) -> Tracking::alloc
    linkageType: ''
    returnType: auto
    signature: auto FeatureGroup::Tracking::obtain(swoc::TextView const &name) ->
      Tracking::Info *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:109,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:109,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:109,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:109,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:110,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: FeatureGroup::index_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::find_if
    - strcasecmp
    - end
    linkageType: ''
    returnType: FeatureGroup::index_type
    signature: FeatureGroup::index_type FeatureGroup::index_of(swoc::TextView const
      &name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FeatureGroup::load_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:134,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:135,1
    - Dst: _expr::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:138,1
    - Dst: _info::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:146,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:151,1
    - Dst: FeatureGroup::load_spec
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:169,1
    - Dst: FeatureGroup::load_spec
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:175,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:176,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:187,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:188,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:196,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:197,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:198,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:199,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - cfg
    - tracking
    - info
    - node
    argTypes:
    - Config
    - Tracking
    - Tracking::Info*
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 203
    functionName: FeatureGroup::load_expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - _info::data
    - FeatureGroup::load_spec
    - Config::parse_expr
    - is_ok
    - auto::is_ok
    - _expr::is_literal
    - FeatureGroup::load_key
    - std::visit
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata FeatureGroup::load_expr(Config &cfg, Tracking &tracking, Tracking::Info
      *info, YAML::Node const &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fg
    - cfg
    - tracking
    argTypes:
    - FeatureGroup
    - Config
    - Tracking
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: V
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 116
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V(FeatureGroup &fg, Config &cfg, Tracking &tracking)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:134,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:135,1
    - Dst: _expr::is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:138,1
    - Dst: _info::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:146,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: load_spec
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - _info::data
    - is_ok
    - load_key
    - _expr::is_literal
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata load_spec(Extractor::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: operator()(std::monostate)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(std::monostate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: operator()(Feature const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Feature const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator()(Expr::load_spec
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Expr::Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: operator()(Expr::Direct &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - operator()(Expr::load_spec
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::Direct &d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: operator()(Expr::load_spec
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:175,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - Expr::Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: operator()(Expr::Composite &c)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - operator()(Expr::load_spec
    - auto::is_ok
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::Composite &c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:187,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - Expr::List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: operator()(Expr::List &l)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - std::visit
    - auto::is_ok
    linkageType: ''
    returnType: Errata
    signature: Errata operator()(Expr::List &l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:213,1
    - Dst: FeatureGroup::Tracking::obtain
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:216,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:223,1
    - Dst: FeatureGroup::Tracking::_node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:223,1
    - Dst: FeatureGroup::load_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:227,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:228,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:229,1
    - Dst: FeatureGroup::Tracking::_node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cfg
    - tracking
    - name
    argTypes:
    - Config
    - FeatureGroup::Tracking
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: FeatureGroup::load_key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - Errata::is_ok
    - FeatureGroup::load_expr
    - Errata
    - FeatureGroup::Tracking::_node::Mark
    - Errata::note
    - FeatureGroup::Tracking::obtain
    linkageType: ''
    returnType: auto
    signature: auto FeatureGroup::load_key(Config &cfg, FeatureGroup::Tracking &tracking,
      swoc::TextView name) -> Rv<Tracking::Info *>
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:240,1
    - Dst: Tracking::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:249,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:251,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:253,1
    - Dst: Tracking::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:256,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:259,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:259,1
    - Dst: FeatureGroup::load_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:268,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:269,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:270,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:275,1
    - Dst: apply
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:276,1
    - Dst: ExprInfo::ExprInfo
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:276,1
    - Dst: Config::reserve_ctx_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:281,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:282,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - cfg
    - node
    - ex_keys
    argTypes:
    - Config
    - YAML::Node
    - std::initializer_list<FeatureGroup::Descriptor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 299
    functionName: FeatureGroup::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::size
    - YAML::Node::Mark
    - Config::alloc_span
    - is_ok
    - ExprInfo::ExprInfo
    - FeatureGroup::load_key
    - Config::reserve_ctx_storage
    - Tracking::find
    - Tracking::alloc
    - std::move
    - apply
    linkageType: ''
    returnType: Errata
    signature: Errata FeatureGroup::load(Config &cfg, YAML::Node const &node, std::initializer_list<FeatureGroup::Descriptor>
      const &ex_keys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:304,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:305,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:306,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:308,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:309,1
    - Dst: ExprInfo::ExprInfo
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:310,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - value
    - name
    argTypes:
    - Config
    - YAML::Node
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: FeatureGroup::load_as_scalar
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - Config::parse_expr
    - Config::alloc_span
    - is_ok
    - ExprInfo::ExprInfo
    - data
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata FeatureGroup::load_as_scalar(Config &cfg, const YAML::Node &value,
      swoc::TextView const &name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<FeatureGroup::Descriptor>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:320,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:321,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:328,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:333,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:334,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:335,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:338,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:342,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:345,1
    - Dst: ExprInfo::ExprInfo
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - cfg
    - node
    - ex_keys
    argTypes:
    - Config
    - YAML::Node
    - std::initializer_list<FeatureGroup::Descriptor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 351
    functionName: FeatureGroup::load_as_tuple
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::size
    - Config::parse_expr
    - Config::alloc_span
    - is_ok
    - std::initializer_list<FeatureGroup::Descriptor>::size
    - ExprInfo::ExprInfo
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata FeatureGroup::load_as_tuple(Config &cfg, YAML::Node const &node,
      std::initializer_list<FeatureGroup::Descriptor> const &ex_keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureGroup::index_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:356,1
    - Dst: FeatureGroup::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - Context
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: FeatureGroup::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - FeatureGroup::extract
    - FeatureGroup::index_of
    linkageType: ''
    returnType: Feature
    signature: Feature FeatureGroup::extract(Context &ctx, swoc::TextView const &name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::initialized_storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:367,1
    - Dst: State::_features::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:368,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:370,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:374,1
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:380,1
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - Context
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 385
    functionName: FeatureGroup::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - Context::alloc_span
    - State::_features::empty
    - Context::initialized_storage_for
    - Context::storage_for
    - Context::extract
    linkageType: ''
    returnType: Feature
    signature: Feature FeatureGroup::extract(Context &ctx, index_type idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:389,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: FeatureGroup::~FeatureGroup()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - apply
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void FeatureGroup::~FeatureGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:396,1
    - Dst: StringExtractor::format
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: StringExtractor::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - StringExtractor::format
    linkageType: ''
    returnType: Feature
    signature: Feature StringExtractor::extract(Context &ctx, Spec const &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:403,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:404,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: Feature::is_list
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 1
    functionsReached:
    - IndexFor
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool Feature::is_list() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Feature::value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:410,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:413,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:414,1
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:415,1
    - Dst: ActiveType::any_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:415,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:416,1
    - Dst: std::all_of
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:417,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:417,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:417,1
    - Dst: value_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:417,1
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: Feature::active_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 0
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - ActiveType::any_type
    - ActiveType::TupleOf
    - auto::end
    - auto::size
    - value_type
    - auto::begin
    - std::all_of
    - Feature::value_type
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType Feature::active_type() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:427,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:428,1
    - Dst: std::get<IndexFor(CONS)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:429,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:430,1
    - Dst: std::get<IndexFor(TUPLE)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:431,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:432,1
    - Dst: std::get<IndexFor(GENERIC)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:433,1
    - Dst: auto::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: car
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 3
    functionsReached:
    - std::get<IndexFor(TUPLE)>
    - IndexFor
    - Feature::index
    - auto::extract
    - std::get<IndexFor(CONS)>
    - std::get<IndexFor(GENERIC)>
    linkageType: ''
    returnType: Feature
    signature: Feature car(Feature const &feature)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:445,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:446,1
    - Dst: std::get<feature_type_for<CONS>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:447,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:449,1
    - Dst: std::get<feature_type_for<TUPLE>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:451,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:452,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: cdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Extractor.cc
    functionUses: 3
    functionsReached:
    - auto::empty
    - auto::remove_prefix
    - IndexFor
    - Feature::index
    - std::get<feature_type_for<TUPLE>>
    - std::get<feature_type_for<CONS>>
    linkageType: ''
    returnType: Feature
    signature: 'Feature &

      cdr(Feature &feature)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:75,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:76,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:76,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - hook
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 69
    functionsReached:
    - bwf::Spec::has_numeric_type
    - IndexFor
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, Hook hook)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:118,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: Config::~Config()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - _f
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void Config::~Config()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: on_scope_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void on_scope_exit(F &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: ~on_scope_exit()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - _f
    linkageType: ''
    returnType: void
    signature: void ~on_scope_exit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:133,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:134,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:134,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:137,1
    - Dst: TextView::back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:137,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:138,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: parse_arg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 2
    functionsReached:
    - TextView::take_prefix_at
    - Errata
    - TextView::remove_suffix
    - TextView::back
    - TextView::size
    - TextView::empty
    linkageType: ''
    returnType: swoc::Rv<swoc::TextView>
    signature: swoc::Rv<swoc::TextView> parse_arg(TextView &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:147,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:149,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:149,1
    - Dst: Directive::CfgStaticData::CfgStaticData
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: Config::Config
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Config::alloc_span
    - alloc
    - Directive::CfgStaticData::CfgStaticData
    - size
    linkageType: ''
    returnType: void
    signature: void Config::Config()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:161,1
    - Dst: remnant
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:168,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:169,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:169,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:171,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:172,1
    - Dst: require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:174,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:175,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:176,1
    - Dst: require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: Config::allocate_cfg_storage
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 1
    functionsReached:
    - remnant
    - require
    - auto::size
    - alloc
    - reinterpret_cast<uintptr_t>
    - auto::data
    linkageType: ''
    returnType: swoc::MemSpan<void>
    signature: swoc::MemSpan<void> Config::allocate_cfg_storage(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Align
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:188,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:188,1
    - Dst: Align
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:191,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: Config::reserve_ctx_storage
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - Align
    linkageType: ''
    returnType: ReservedSpan
    signature: ReservedSpan Config::reserve_ctx_storage(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:198,1
    - Dst: '&

        Config::localize'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:198,1
    - Dst: static_cast<Feature::variant_type &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: '&

      Config::localize(Feature &feature)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - static_cast<Feature::variant_type &>
    - '&

      Config::localize'
    - std::visit
    linkageType: ''
    returnType: Config::self_type
    signature: 'Config::self_type &

      Config::localize(Feature &feature)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:205,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:207,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:207,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:208,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:209,1
    - Dst: auto::subspan
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:210,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:210,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:212,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:212,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - text
    - opt
    argTypes:
    - TextView
    - LocalOpt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: '&

      Config::localize(TextView &text, LocalOpt opt)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - auto::subspan
    - memcpy
    - TextView::size
    - alloc
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Config::localize(TextView &text, LocalOpt opt)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_name::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:223,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:224,1
    - Dst: parse_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:229,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:230,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:231,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:236,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:236,1
    - Dst: Extractor::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:242,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:247,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:248,1
    - Dst: Extractor*::validate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:249,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:250,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:251,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: Config::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Extractor::find
    - find
    - is_ok
    - end
    - parse_arg
    - Extractor*::validate
    - Extractor::Spec::_name::empty
    - std::move
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Config::validate(Extractor::Spec &spec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:265,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:266,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:266,1
    - Dst: swoc::SWOC_VERSION_NS::svtod
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:277,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:278,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:278,1
    - Dst: swoc::IPAddr::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:284,1
    - Dst: Extractor::Spec::parse
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:290,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:292,1
    - Dst: Config::validate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:294,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:295,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:296,1
    - Dst: is_cfg_const
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:299,1
    - Dst: Extractor::Spec::_exf::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 304
    functionName: Config::parse_unquoted_expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::validate
    - is_ok
    - std::move
    - Extractor::Spec::_exf::extract
    - TextView::size
    - Extractor::Spec::parse
    - swoc::TextView::size
    - swoc::IPAddr::load
    - swoc::SWOC_VERSION_NS::svtoi
    - swoc::SWOC_VERSION_NS::svtod
    - is_cfg_const
    linkageType: ''
    returnType: Rv<Expr>
    signature: Rv<Expr> Config::parse_unquoted_expr(swoc::TextView const &text)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::ActiveType
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:310,1
    - Dst: parser
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:323,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:325,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:325,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:327,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:330,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:331,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:332,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:337,1
    - Dst: Config::validate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:339,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:340,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:342,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:344,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:344,1
    - Dst: auto::_fmt::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:344,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:345,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:352,1
    - Dst: Expr::Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:364,1
    - Dst: Expr::_raw::emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:365,1
    - Dst: auto::_specs::swap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:366,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 373
    functionName: Config::parse_composite_expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Config::validate
    - TextView::size
    - auto::_fmt::size
    - Config::localize
    - Errata
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - what
    - max
    - Expr::_raw::emplace
    - std::move
    - std::vector::size
    - std::vector::push_back
    - auto::_specs::swap
    - Expr::Expr
    - note
    - ActiveType::ActiveType
    - is_ok
    - std::string_view::empty
    - parser
    linkageType: ''
    returnType: Rv<Expr>
    signature: Rv<Expr> Config::parse_composite_expr(TextView const &text)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:379,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:380,1
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:382,1
    - Dst: Config::parse_unquoted_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:383,1
    - Dst: Config::parse_composite_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:385,1
    - Dst: Rv::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:388,1
    - Dst: Rv::result
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:389,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:392,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:392,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:394,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 402
    functionName: Config::parse_scalar_expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Config::parse_composite_expr
    - Config::parse_unquoted_expr
    - Errata
    - YAML::Node::IsNull
    - Rv::is_ok
    - Rv::result
    - YAML::Node::Mark
    - YAML::Node::Scalar
    - YAML::Node::Tag
    linkageType: ''
    returnType: Rv<Expr>
    signature: Rv<Expr> Config::parse_scalar_expr(YAML::Node node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:407,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:408,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:409,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:409,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:410,1
    - Dst: Config::feature_scope
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:412,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:412,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:413,1
    - Dst: Modifier::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:415,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:415,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:416,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:417,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:417,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:417,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:418,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:420,1
    - Dst: _mods::emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:421,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:421,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: Config::parse_expr_with_mods
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - _mods::emplace_back
    - note
    - YAML::Node::size
    - YAML::Node::Mark
    - Config::parse_expr
    - auto::Mark
    - result_type
    - is_ok
    - Modifier::load
    - Config::feature_scope
    - std::move
    linkageType: ''
    returnType: Rv<Expr>
    signature: Rv<Expr> Config::parse_expr_with_mods(YAML::Node node)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Tag
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:430,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:435,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:440,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:441,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:442,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:443,1
    - Dst: FeatureView::Literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:445,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:445,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:445,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:446,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:447,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:448,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:449,1
    - Dst: YAML::Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:451,1
    - Dst: as_duration
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:451,1
    - Dst: Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:452,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:452,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:453,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:453,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:454,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:457,1
    - Dst: Config::parse_scalar_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:458,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:460,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:461,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:465,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:468,1
    - Dst: Config::parse_scalar_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:469,1
    - Dst: IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:472,1
    - Dst: Config::parse_expr_with_mods
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:473,1
    - Dst: ActiveType::ActiveType
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:477,1
    - Dst: std::vector::reserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:480,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:480,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:482,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:483,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:484,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:484,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:485,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:487,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:488,1
    - Dst: std::vector::emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:491,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:491,1
    - Dst: Expr::Expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:494,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:496,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:496,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:499,1
    - Dst: Expr::_raw::emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:503,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:505,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - expr_node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 508
    functionName: Config::parse_expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 64
    functionsReached:
    - Config::parse_expr
    - YAML::Node::Scalar
    - IsMap
    - Config::localize
    - YAML::Node::IsScalar
    - as_duration
    - std::vector::reserve
    - Errata
    - YAML::Node::IsNull
    - YAML::Node::size
    - YAML::Node::Mark
    - Config::parse_scalar_expr
    - FeatureView::Literal
    - strcasecmp
    - Expr::_raw::emplace
    - std::move
    - Expr
    - std::vector::size
    - YAML::Node::Tag
    - Expr::Expr
    - note
    - Config::alloc_span
    - result_type
    - ActiveType::ActiveType
    - is_ok
    - YAML::Node::IsSequence
    - std::get<Expr::LITERAL>
    - std::vector::emplace_back
    - is_literal
    - Config::parse_expr_with_mods
    linkageType: ''
    returnType: Rv<Expr>
    signature: Rv<Expr> Config::parse_expr(YAML::Node expr_node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:513,1
    - Dst: Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:515,1
    - Dst: parse_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:516,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:517,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:518,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:529,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:529,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:533,1
    - Dst: Config::current_hook
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:533,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:534,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:534,1
    - Dst: Config::current_hook
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:535,1
    - Dst: auto::_cfg_init_cb
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:540,1
    - Dst: auto::_load_cb
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:544,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:545,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:546,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:546,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:547,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:551,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:554,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - drtv_node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 555
    functionName: Config::load_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::Node
    - Config::current_hook
    - YAML::Node::Mark
    - note
    - find
    - auto::_cfg_init_cb
    - Scalar
    - IndexFor
    - is_ok
    - auto::_load_cb
    - end
    - parse_arg
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: Rv<Directive::Handle> Config::load_directive(YAML::Node const &drtv_node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:560,1
    - Dst: Config::load_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:561,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:562,1
    - Dst: DirectiveList::DirectiveList
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:564,1
    - Dst: Config::load_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:567,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:568,1
    - Dst: auto::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:569,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:569,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:571,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:571,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:572,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:576,1
    - Dst: UDPIOEvent::setHandle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:577,1
    - Dst: NilDirective::NilDirective
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:577,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:579,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - drtv_node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: Config::parse_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 3
    functionsReached:
    - DirectiveList::DirectiveList
    - auto::push_back
    - note
    - YAML::Node::IsNull
    - YAML::Node::Mark
    - Errata
    - NilDirective::NilDirective
    - is_ok
    - UDPIOEvent::setHandle
    - YAML::Node::IsSequence
    - Config::load_directive
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: Rv<Directive::Handle> Config::parse_directive(YAML::Node const &drtv_node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:585,1
    - Dst: When::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:588,1
    - Dst: Config::drtv_info
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:588,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:589,1
    - Dst: static_cast<When *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:590,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:590,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:592,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:592,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:592,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:597,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:600,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:600,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:603,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - drtv_node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: Config::load_top_level_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - get
    - Errata
    - static_cast<When *>
    - Config::drtv_info
    - emplace_back
    - YAML::Node::Mark
    - IndexFor
    - is_ok
    - When::load
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_top_level_directive(YAML::Node drtv_node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:611,1
    - Dst: Config::parse_directive
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:612,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:613,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:616,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:616,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:616,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:619,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:622,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - drtv_node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 625
    functionName: Config::load_remap_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Errata
    - emplace_back
    - YAML::Node::Mark
    - IndexFor
    - is_ok
    - Config::parse_directive
    - YAML::Node::IsMap
    - std::move
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_remap_directive(YAML::Node drtv_node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:634,1
    - Dst: YAML::Node::reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:636,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:638,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:638,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:638,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:638,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:650,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:652,1
    - Dst: Errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:654,1
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:655,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:655,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - root
    - path
    argTypes:
    - YAML::Node
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 662
    functionName: Config::parse_yaml
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - Errata::is_ok
    - Errata
    - YAML::Node::reset
    - YAML::Node::Mark
    - auto::take_prefix_at
    - auto::size
    - YAML::Node::IsSequence
    - TextView::size
    - Errata::note
    - TextView::prefix
    - YAML::Node::IsMap
    linkageType: ''
    returnType: Errata
    signature: Errata Config::parse_yaml(YAML::Node root, TextView path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:669,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:671,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - name
    - hooks
    - worker
    - cfg_init_cb
    argTypes:
    - swoc::TextView
    - HookMask
    - Directive::InstanceLoader
    - Directive::CfgInitializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 674
    functionName: Config::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - std::move
    - size
    linkageType: ''
    returnType: Errata
    signature: "Errata Config::define(swoc::TextView name, HookMask const &hooks,
      Directive::InstanceLoader &&worker,\n               Directive::CfgInitializer
      &&cfg_init_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:679,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: Config::drtv_info
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 1
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: Directive::CfgStaticData
    signature: 'Directive::CfgStaticData *

      Config::drtv_info(swoc::TextView const &name) const'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:687,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:687,1
    - Dst: auto::second::has_cfg_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:688,1
    - Dst: ts::DebugMsg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:689,1
    - Dst: auto::second::add_cfg_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:692,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:695,1
    - Dst: second::add_cfg_key
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:696,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:699,1
    - Dst: YamlCache*::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:702,1
    - Dst: YamlCache*::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:702,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:707,1
    - Dst: yaml_load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:708,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:709,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:710,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:711,1
    - Dst: YamlCache*::emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:715,1
    - Dst: Config::parse_yaml
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:720,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:721,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - cfg_path
    - cfg_key
    - cache
    argTypes:
    - swoc::file::path
    - TextView
    - YamlCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 727
    functionName: Config::load_file
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - ts::DebugMsg
    - YamlCache*::end
    - auto::second::add_cfg_key
    - YAML::Node::Node
    - YAML::Node::IsNull
    - YamlCache*::find
    - emplace
    - YamlCache*::emplace
    - std::move
    - auto::second::has_cfg_key
    - auto::note
    - find
    - second::add_cfg_key
    - end
    - yaml_load
    - note
    - Config::parse_yaml
    - is_ok
    - auto::is_ok
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_file(swoc::file::path const &cfg_path, TextView
      cfg_key, YamlCache *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::make_absolute
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:735,1
    - Dst: glob
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:736,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:736,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:738,1
    - Dst: Config::load_file
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:741,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:741,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:742,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:743,1
    - Dst: globfree
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pattern
    - cfg_key
    - cache
    argTypes:
    - TextView
    - swoc::TextView
    - YamlCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 729
    functionDepth: 6
    functionLinenumber: 729
    functionLinenumberEnd: 749
    functionName: Config::load_file_glob
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached:
    - swoc::file::path::c_str
    - Errata
    - ts::make_absolute
    - get_yaml_path
    - auto::note
    - Config::load_file
    - auto::is_ok
    - globfree
    - glob
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_file_glob(TextView pattern, swoc::TextView cfg_key,
      YamlCache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:755,1
    - Dst: argv_type::argv_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:755,1
    - Dst: std::unique_ptr::get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:756,1
    - Dst: std::vector<std::string>::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:756,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:759,1
    - Dst: Config::load_cli_args
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:761,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - handle
    - args
    - arg_idx
    - cache
    argTypes:
    - Handle
    - std::vector<std::string>
    - int
    - YamlCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: Config::load_cli_args
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 1
    functionsReached:
    - argv_type::argv_type
    - std::unique_ptr::get
    - std::vector<std::string>::size
    - c_str
    - std::move
    - Config::load_cli_args
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_cli_args(Handle handle, const std::vector<std::string>
      &args, int arg_idx, YamlCache *cache)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemSpan<char const *>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:771,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:772,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:773,1
    - Dst: TextView::front
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:776,1
    - Dst: TextView::ltrim
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:777,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:778,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:779,1
    - Dst: TextView::prefix_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:783,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:783,1
    - Dst: TextView::substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:784,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:784,1
    - Dst: swoc::MemSpan<char const *>::count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:786,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:787,1
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:792,1
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:794,1
    - Dst: Config::load_file_glob
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:795,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:796,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:800,1
    - Dst: Config::load_file_glob
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:804,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:805,1
    - Dst: Config::hook_directives
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:812,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:813,1
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:814,1
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:816,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:817,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:818,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:824,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc:825,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - handle
    - argv
    - arg_idx
    - cache
    argTypes:
    - Handle
    - swoc::MemSpan<char const *>
    - int
    - YamlCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 764
    functionDepth: 7
    functionLinenumber: 764
    functionLinenumberEnd: 827
    functionName: Config::load_cli_args
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 1
    functionsReached:
    - invoke
    - TextView::empty
    - size
    - Errata
    - TextView::starts_with_nocase
    - auto::size
    - TextView::prefix_at
    - auto::note
    - TextView::ltrim
    - TextView::front
    - Config::load_file_glob
    - std::string_view
    - clear
    - TextView::substr
    - swoc::MemSpan<char const *>::count
    - auto::is_ok
    - Context::Context
    - auto::empty
    - Config::hook_directives
    linkageType: ''
    returnType: Errata
    signature: Errata Config::load_cli_args(Handle handle, swoc::MemSpan<char const
      *> argv, int arg_idx, YamlCache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ex_type
    argTypes:
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: Config::feature_scope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Config::ActiveFeatureScope
    signature: Config::ActiveFeatureScope Config::feature_scope(ActiveType const &ex_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - count
    - line_no
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: Config::capture_scope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Config::ActiveCaptureScope
    signature: Config::ActiveCaptureScope Config::capture_scope(unsigned int count,
      unsigned int line_no)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: Config::ActiveFeatureScope::~ActiveFeatureScope()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::ActiveFeatureScope::~ActiveFeatureScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc:37,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - Directive::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '&

      DirectiveList::push_back(Directive::Handle &&d)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc
    functionUses: 0
    functionsReached:
    - std::move
    - emplace_back
    linkageType: ''
    returnType: DirectiveList
    signature: 'DirectiveList &

      DirectiveList::push_back(Directive::Handle &&d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Errata::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc:46,1
    - Dst: DirectiveList::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc:46,1
    - Dst: Context::is_terminal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: DirectiveList::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc
    functionUses: 1
    functionsReached:
    - Context::is_terminal
    - Errata::note
    - DirectiveList::invoke
    linkageType: ''
    returnType: Errata
    signature: Errata DirectiveList::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: NilDirective::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Directive.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata NilDirective::invoke(Context &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - literal
    - spec
    argTypes:
    - std::string_view
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: Expr::bwf_ex::operator()(std::string_view &literal, Extractor::Spec
      &spec)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: bool
    signature: bool Expr::bwf_ex::operator()(std::string_view &literal, Extractor::Spec
      &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Config>::reserved_ctx_storage_size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:61,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:63,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:63,1
    - Dst: pcre2_general_context_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:65,1
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:66,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:66,1
    - Dst: Context::rxp_match_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:70,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:75,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - std::shared_ptr<Config>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 6
    functionsReached:
    - memset
    - pcre2_general_context_create
    - swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
    - static_cast<self_type *>
    - Context::rxp_match_require
    - reset
    - alloc
    - std::shared_ptr<Config>::reserved_ctx_storage_size
    linkageType: ''
    returnType: void
    signature: void Context::Context(std::shared_ptr<Config> const &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:84,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: Context::~Context()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - _f
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void Context::~Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Context::Callback::invoke(Context &ctx)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - invoke
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Context::Callback::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:98,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:101,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:101,1
    - Dst: auto::cb_list::append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:107,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hook_idx
    - drtv
    argTypes:
    - Hook
    - Directive*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: Context::on_hook_do
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 3
    functionsReached:
    - auto::cb_list::append
    - TSHttpTxnHookAdd
    - IndexFor
    - Context::make
    linkageType: ''
    returnType: Errata
    signature: Errata Context::on_hook_do(Hook hook_idx, Directive *drtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:118,1
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: Context::invoke_callbacks
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - IndexFor
    - invoke
    linkageType: ''
    returnType: Errata
    signature: Errata Context::invoke_callbacks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::clear_cache
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:130,1
    - Dst: hook_directives
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:134,1
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:136,1
    - Dst: Context::invoke_callbacks
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - hook
    argTypes:
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: Context::invoke_for_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - Context::invoke_callbacks
    - hook_directives
    - invoke
    - Context::clear_cache
    linkageType: ''
    returnType: Errata
    signature: Errata Context::invoke_for_hook(Hook hook)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::clear_cache
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:151,1
    - Dst: Context::rxp_match_require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:152,1
    - Dst: Config::hook_directives
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:158,1
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:159,1
    - Dst: hook_directives
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:166,1
    - Dst: invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:168,1
    - Dst: Context::invoke_callbacks
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - rule_cfg
    - rri
    argTypes:
    - Config
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: Context::invoke_for_remap
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - Context::invoke_callbacks
    - invoke
    - Context::rxp_match_require
    - hook_directives
    - Context::clear_cache
    - Config::hook_directives
    linkageType: ''
    returnType: Errata
    signature: Errata Context::invoke_for_remap(Config &rule_cfg, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Extractor::Spec::_exf::format
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - swoc::BufferWriter
    - Extractor::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: Context::operator()(swoc::BufferWriter &w, Extractor::Spec const
      &spec)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - Extractor::Spec::_exf::format
    linkageType: ''
    returnType: void
    signature: void Context::operator()(swoc::BufferWriter &w, Extractor::Spec const
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:189,1
    - Dst: print_nfv
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:189,1
    - Dst: Context::ArgPack::ArgPack
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Expr::bwf_visitor::operator()(const Composite &comp)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - Context::ArgPack::ArgPack
    - print_nfv
    - render_transient
    linkageType: ''
    returnType: Feature
    signature: Feature Expr::bwf_visitor::operator()(const Composite &comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:195,1
    - Dst: List::_exprs::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:195,1
    - Dst: extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:198,1
    - Dst: commit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: Expr::bwf_visitor::operator()(List const &list)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - commit
    - List::_exprs::size
    - alloc_span
    - extract
    linkageType: ''
    returnType: Feature
    signature: Feature Expr::bwf_visitor::operator()(List const &list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:208,1
    - Dst: Expr::bwf_visitor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - expr
    argTypes:
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: Context::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 56
    functionsReached:
    - std::visit
    - Expr::bwf_visitor
    linkageType: ''
    returnType: Feature
    signature: Feature Context::extract(Expr const &expr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:233,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:234,1
    - Dst: auto::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:234,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:235,1
    - Dst: remnant
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:239,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:239,1
    - Dst: auto::data_end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:239,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:240,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:244,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:244,1
    - Dst: require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:250,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:250,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:251,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:252,1
    - Dst: TextView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:253,1
    - Dst: auto::remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:254,1
    - Dst: ArenaWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:263,1
    - Dst: ArenaWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:264,1
    - Dst: remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:264,1
    - Dst: ArenaWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:267,1
    - Dst: ArenaWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:268,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:272,1
    - Dst: FeatureView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:272,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - expr
    - opts
    argTypes:
    - Expr
    - std::initializer_list<ViewOption>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 276
    functionName: Context::extract_view
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 5
    functionsReached:
    - remnant
    - memcpy
    - require
    - std::get<IndexFor(STRING)>
    - IndexFor
    - auto::size
    - ArenaWriter::view
    - auto::data_end
    - auto::data
    - auto::remove_suffix
    - alloc
    - ArenaWriter::print
    - remove_suffix
    - Context::extract
    - TextView
    - auto::index
    - FeatureView::size
    linkageType: ''
    returnType: FeatureView
    signature: FeatureView Context::extract_view(const Expr &expr, std::initializer_list<ViewOption>
      opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:284,1
    - Dst: FeatureView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:284,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:285,1
    - Dst: TextView
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:286,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:286,1
    - Dst: remnant
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:289,1
    - Dst: auto::contains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:289,1
    - Dst: FeatureView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:289,1
    - Dst: FeatureView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:292,1
    - Dst: auto::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:292,1
    - Dst: FeatureView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:292,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:293,1
    - Dst: contains
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:296,1
    - Dst: FeatureView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - view
    argTypes:
    - FeatureView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: Context::commit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 4
    functionsReached:
    - remnant
    - memcpy
    - auto::rebind
    - contains
    - alloc
    - FeatureView::data
    - auto::contains
    - TextView
    - FeatureView::size
    linkageType: ''
    returnType: FeatureView
    signature: FeatureView Context::commit(FeatureView const &view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<STRING>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:305,1
    - Dst: '&

        Context::commit'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: '&

      Context::commit(Feature &feature)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - std::get_if<STRING>
    - '&

      Context::commit'
    linkageType: ''
    returnType: Feature
    signature: 'Feature &

      Context::commit(Feature &feature)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:314,1
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: Context::ua_req_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 17
    functionsReached:
    - Context::ua_req_hdr
    - is_valid
    linkageType: ''
    returnType: ts::HttpRequest
    signature: ts::HttpRequest Context::ua_req_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:323,1
    - Dst: preq_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: Context::proxy_req_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 14
    functionsReached:
    - preq_hdr
    - is_valid
    linkageType: ''
    returnType: ts::HttpRequest
    signature: ts::HttpRequest Context::proxy_req_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:332,1
    - Dst: ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: Context::upstream_rsp_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 1
    functionsReached:
    - ursp_hdr
    - is_valid
    linkageType: ''
    returnType: ts::HttpResponse
    signature: ts::HttpResponse Context::upstream_rsp_hdr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:341,1
    - Dst: prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: Context::proxy_rsp_hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 3
    functionsReached:
    - prsp_hdr
    - is_valid
    linkageType: ''
    returnType: ts::HttpResponse
    signature: ts::HttpResponse Context::proxy_rsp_hdr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:351,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:351,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:351,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:352,1
    - Dst: hook_directives
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:358,1
    - Dst: static_cast<Hook>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:358,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:359,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:360,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:367,1
    - Dst: arg_assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 370
    functionName: '&

      Context::enable_hooks(TSHttpTxn txn)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSContDataSet
    - static_cast<Hook>
    - hook_directives
    - TSContCreate
    - arg_assign
    - TSContMutexGet
    - auto::empty
    - reinterpret_cast<TSCont>
    linkageType: ''
    returnType: Context::self_type
    signature: 'Context::self_type &

      Context::enable_hooks(TSHttpTxn txn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<self_type *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:375,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:375,1
    - Dst: Convert_TS_Event_To_TxB_Hook
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:380,1
    - Dst: self_type*::invoke_for_hook
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:382,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:388,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:389,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cont
    - evt
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: Context::ts_callback
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSContDataSet
    - static_cast<self_type *>
    - self_type*::invoke_for_hook
    - TSContDataGet
    - Convert_TS_Event_To_TxB_Hook
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int Context::ts_callback(TSCont cont, TSEvent evt, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:402,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:403,1
    - Dst: pcre2_match_data_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:404,1
    - Dst: pcre2_match_data_create
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: '&

      Context::rxp_match_require(unsigned n)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - max
    - pcre2_match_data_create
    linkageType: ''
    returnType: Context
    signature: 'Context &

      Context::rxp_match_require(unsigned n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:414,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: Context::set_literal_capture
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 12
    functionsReached:
    - swoc::TextView::size
    - pcre2_get_ovector_pointer
    linkageType: ''
    returnType: void
    signature: void Context::set_literal_capture(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionName: Context::rxp_commit_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: pcre2_match_data
    signature: 'pcre2_match_data *

      Context::rxp_commit_match(swoc::TextView const &src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:431,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: '&

      Context::load_txn_var(swoc::TextView const &name)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: Feature
    signature: 'Feature &

      Context::load_txn_var(swoc::TextView const &name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:442,1
    - Dst: '&

        Context::store_txn_var(swoc::commit'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:444,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:445,1
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - swoc::TextView
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: '&

      Context::store_txn_var(swoc::TextView const &name, Feature &value)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - '&

      Context::store_txn_var(swoc::commit'
    - make
    - insert
    - find
    - end
    linkageType: ''
    returnType: Context::self_type
    signature: 'Context::self_type &

      Context::store_txn_var(swoc::TextView const &name, Feature &value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:456,1
    - Dst: swoc::TextView::back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:456,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:457,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:457,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:458,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: Context::localize_as_c_str
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 1
    functionsReached:
    - Context::alloc_span
    - memcpy
    - swoc::TextView::empty
    - swoc::TextView::back
    - swoc::TextView::size
    linkageType: ''
    returnType: TextView
    signature: TextView Context::localize_as_c_str(swoc::TextView text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:471,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:471,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:471,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:472,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:476,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:477,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:479,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:481,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:482,1
    - Dst: auto::_storage::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - span
    argTypes:
    - ReservedSpan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 486
    functionName: Context::overflow_storage_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - begin
    - Context::alloc_span
    - memset
    - T::T
    - end
    - append
    - alloc
    - std::find_if
    - auto::_storage::remove_prefix
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> Context::overflow_storage_for(const ReservedSpan &span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::commit_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:491,1
    - Dst: require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - required
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: Context::transient_buffer
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 7
    functionsReached:
    - Context::commit_transient
    - require
    linkageType: ''
    returnType: swoc::MemSpan<char>
    signature: swoc::MemSpan<char> Context::transient_buffer(size_t required)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Context::commit_transient'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:500,1
    - Dst: require
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: '&

      Context::transient_require(size_t n)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - require
    - '&

      Context::commit_transient'
    linkageType: ''
    returnType: Context::self_type
    signature: 'Context::self_type &

      Context::transient_require(size_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:509,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: '&

      Context::commit_transient()'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - std::logic_error
    - alloc
    linkageType: ''
    returnType: Context::self_type
    signature: 'Context::self_type &

      Context::commit_transient()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_pointer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:520,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:522,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: Context::active_group
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 1
    functionsReached:
    - substr
    - pcre2_get_ovector_pointer
    - TS_DBG
    linkageType: ''
    returnType: TextView
    signature: TextView Context::active_group(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_get_ovector_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: Context::ArgPack::count() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - pcre2_get_ovector_count
    linkageType: ''
    returnType: unsigned
    signature: unsigned Context::ArgPack::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:535,1
    - Dst: active_group
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - idx
    argTypes:
    - BufferWriter
    - swoc::bwf::Spec
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: '&

      Context::ArgPack::print(BufferWriter &w, swoc::bwf::Spec const &spec, unsigned
      idx) const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached:
    - active_group
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Context::ArgPack::print(BufferWriter &w, swoc::bwf::Spec const &spec, unsigned
      idx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: Context::ArgPack::capture(unsigned) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::any
    signature: std::any Context::ArgPack::capture(unsigned) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:65,1
    - Dst: std::map::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ev
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: Convert_TS_Event_To_TxB_Hook
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 1
    functionsReached:
    - std::map::find
    - std::map::end
    linkageType: ''
    returnType: Hook
    signature: Hook Convert_TS_Event_To_TxB_Hook(TSEvent ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: scoped_plugin_config
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config::Handle
    signature: Config::Handle scoped_plugin_config()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: scoped_plugin_config
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config::Handle
    signature: Config::Handle scoped_plugin_config()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpTxn::reserve_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:96,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:97,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: Global::reserve_txn_arg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - note
    - is_ok
    - HttpTxn::reserve_arg
    linkageType: ''
    returnType: void
    signature: void Global::reserve_txn_arg()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:111,1
    - Dst: scoped_plugin_config
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:112,1
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:113,1
    - Dst: Context*::enable_hooks
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:114,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - payload
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: CB_Txn_Start
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TSHttpTxn>
    - scoped_plugin_config
    - Context::Context
    - TSHttpTxnReenable
    - Context*::enable_hooks
    linkageType: ''
    returnType: int
    signature: int CB_Txn_Start(TSCont, TSEvent, void *payload)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:124,1
    - Dst: compare_exchange_strong
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:125,1
    - Dst: std::make_shared<Config>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:126,1
    - Dst: std::shared_ptr::load_cli_args
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:127,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:128,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:133,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:134,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:134,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:137,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:139,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:139,1
    - Dst: file_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:139,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:140,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:144,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Date
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:145,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:145,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:146,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: Task_ConfigReload
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::shared_ptr::load_cli_args
    - auto::is_ok
    - TS_DBG
    - std::move
    - file_count
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - swoc::SWOC_VERSION_NS::bwf::Date
    - std::chrono::system_clock::to_time_t
    - std::make_shared<Config>
    - compare_exchange_strong
    - swoc::SWOC_VERSION_NS::bwprint
    - std::string::c_str
    - failover_now
    linkageType: ''
    returnType: void
    signature: void Task_ConfigReload()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:155,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:156,1
    - Dst: TextView::starts_with_nocase
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:156,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:157,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:157,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:158,1
    - Dst: PerformAsTask
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: CB_TxnBoxMsg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - TextView::starts_with_nocase
    - static_cast<TSPluginMsg *>
    - TextView::remove_prefix
    - TextView::size
    - PerformAsTask
    - strlen
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int CB_TxnBoxMsg(TSCont, TSEvent, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:168,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: CB_TxnBoxShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - reset
    - TS_DBG
    linkageType: ''
    returnType: int
    signature: int CB_TxnBoxShutdown(TSCont, TSEvent, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:177,1
    - Dst: std::make_shared<Config>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:179,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:180,1
    - Dst: load_cli_args
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:181,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:182,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:185,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:187,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:187,1
    - Dst: file_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:187,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:188,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:191,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:192,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:193,1
    - Dst: reserve_txn_arg
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:194,1
    - Dst: auto::note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: TxnBoxInit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - load_cli_args
    - auto::note
    - TSHttpHookAdd
    - TSPluginRegister
    - auto::is_ok
    - TS_DBG
    - file_count
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - TSContCreate
    - std::make_shared<Config>
    - reserve_txn_arg
    - data
    - swoc::SWOC_VERSION_NS::bwprint
    - failover_now
    linkageType: ''
    returnType: Errata
    signature: Errata TxnBoxInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _args::emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:206,1
    - Dst: _preload_errata::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:209,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:210,1
    - Dst: _preload_errata::clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:211,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:212,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:212,1
    - Dst: TxnBoxInit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:214,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:215,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:216,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:217,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:217,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:219,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:219,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:220,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:220,1
    - Dst: TSPluginDSOReloadEnable
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/txn_box.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSError
    - std::string::c_str
    - TxnBoxInit
    - auto::is_ok
    - _preload_errata::clear
    - _preload_errata::is_ok
    - TSContCreate
    - TSPluginDSOReloadEnable
    - swoc::SWOC_VERSION_NS::bwprint
    - _args::emplace_back
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:107,1
    - Dst: auto::_names::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:108,1
    - Dst: auto::_names::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:108,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cfg
    - name
    argTypes:
    - Config
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: Do_stat_define::expand_and_localize
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Config::named_object
    - auto::_names::find
    - auto::_names::end
    - Config::localize
    linkageType: ''
    returnType: TextView
    signature: TextView Do_stat_define::expand_and_localize(Config &cfg, TextView
      const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::obtain_named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:118,1
    - Dst: Config::mark_for_cleanup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Do_stat_define::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Config::obtain_named_object
    - Config::mark_for_cleanup
    linkageType: ''
    returnType: Errata
    signature: Errata Do_stat_define::cfg_init(Config &cfg, CfgStaticData const *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plugin_stat_define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:127,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Do_stat_define::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - std::move
    - plugin_stat_define
    linkageType: ''
    returnType: Errata
    signature: Errata Do_stat_define::invoke(Context &)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:135,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:143,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:144,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:145,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:145,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:146,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:148,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:148,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:149,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:149,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:150,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:153,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:153,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:154,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:162,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:162,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:165,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:166,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:167,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:167,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:168,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:170,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:170,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:171,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:171,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:172,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:174,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:174,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:175,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:176,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:176,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:177,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:181,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:182,1
    - Dst: Config::allocate_cfg_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:184,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:184,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:184,1
    - Dst: swoc::FixedBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:185,1
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:186,1
    - Dst: remove_suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:186,1
    - Dst: auto::_full_name::suffix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:187,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:187,1
    - Dst: Config::named_object
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:189,1
    - Dst: Names::insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:190,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:191,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:195,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:196,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:197,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:197,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:198,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:200,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:200,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:201,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:201,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:202,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:204,1
    - Dst: std::get<IndexFor(INTEGER)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:205,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:205,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:210,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:211,1
    - Dst: note
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:212,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:212,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:213,1
    - Dst: is_literal
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:215,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:215,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:216,1
    - Dst: auto::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:217,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:217,1
    - Dst: YAML::Node::remove
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:219,1
    - Dst: std::get<IndexFor(BOOLEAN)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:220,1
    - Dst: std::get<Expr::LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:220,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - cfg
    - drtv_node
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 223
    functionName: Do_stat_define::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Config::parse_expr
    - std::get<IndexFor(STRING)>
    - Names::insert
    - TextView::size
    - swoc::FixedBufferWriter::write
    - TextView::empty
    - Config::localize
    - Config::allocate_cfg_storage
    - Errata
    - YAML::Node::Mark
    - auto::Mark
    - std::get<IndexFor(INTEGER)>
    - std::get<IndexFor(BOOLEAN)>
    - std::move
    - self_type::self_type
    - YAML::Node::remove
    - Config::named_object
    - note
    - result_type
    - is_ok
    - std::get<Expr::LITERAL>
    - auto::_full_name::suffix
    - remove_suffix
    - is_literal
    - swoc::FixedBufferWriter::view
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_stat_define::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &,\n                     YAML::Node key_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cfg
    - name
    argTypes:
    - Config
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: Stat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 10
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void Stat(Config &cfg, TextView const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Do_stat_define::expand_and_localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:238,1
    - Dst: plugin_stat_index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - name
    argTypes:
    - Config
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: "&\n  assign(Config &cfg, TextView name)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - plugin_stat_index
    - Do_stat_define::expand_and_localize
    linkageType: ''
    returnType: Stat
    signature: "Stat &\n  assign(Config &cfg, TextView name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin_stat_index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: index
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 148
    functionsReached:
    - plugin_stat_index
    linkageType: ''
    returnType: int
    signature: int index()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:260,1
    - Dst: plugin_stat_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 257
    functionsReached:
    - plugin_stat_value
    - index
    linkageType: ''
    returnType: Feature
    signature: Feature value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:267,1
    - Dst: plugin_stat_update
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - feature_type_for<INTEGER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "&\n  update(feature_type_for<INTEGER> value)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - index
    - plugin_stat_update
    linkageType: ''
    returnType: Stat
    signature: "Stat &\n  update(feature_type_for<INTEGER> value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - cfg
    - name
    - expr
    argTypes:
    - Config
    - TextView
    - Expr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: Do_stat_update::Do_stat_update
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Do_stat_update::Do_stat_update(Config &cfg, TextView const &name,
      Expr &&expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:314,1
    - Dst: update
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:316,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: Do_stat_update::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Context::extract
    - std::move
    - update
    linkageType: ''
    returnType: Errata
    signature: Errata Do_stat_update::invoke(Context &ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:325,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:326,1
    - Dst: feature_type_for<INTEGER>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:326,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:326,1
    - Dst: Config::parse_expr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:329,1
    - Dst: is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:330,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:331,1
    - Dst: result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:334,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:335,1
    - Dst: YAML::Node::Mark
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:335,1
    - Dst: Handle
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:338,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:338,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - cfg
    - drtv_node
    - arg
    - key_value
    argTypes:
    - Config
    - YAML::Node
    - swoc::TextView
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 339
    functionName: Do_stat_update::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Errata
    - YAML::Node::IsNull
    - Config::parse_expr
    - YAML::Node::Mark
    - feature_type_for<INTEGER>
    - self_type::self_type
    - result_type
    - is_ok
    - Handle
    - std::move
    linkageType: ''
    returnType: Rv<Directive::Handle>
    signature: "Rv<Directive::Handle> Do_stat_update::load(Config &cfg, CfgStaticData
      const *, YAML::Node drtv_node, swoc::TextView const &, swoc::TextView const
      &arg,\n                     YAML::Node key_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:357,1
    - Dst: Errata
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:358,1
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:360,1
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:361,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: Ex_stat::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Errata
    - Config::alloc_span
    - Spec::_data::span::rebind
    - TextView::empty
    - assign
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_stat::validate(Config &cfg, Spec &spec, const TextView
      &arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:368,1
    - Dst: value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spec
    argTypes:
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 5
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: Ex_stat::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - Spec::_data::span::rebind
    - value
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_stat::extract(Context &, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:374,1
    - Dst: '&

        Ex_stat::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: '&

      Ex_stat::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/stats.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_stat::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_stat::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:64,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:65,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:66,1
    - Dst: ts::URL::is_port_canonical
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:67,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:68,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - w
    - url_loc
    argTypes:
    - BufferWriter
    - URLLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 26
    functionsReached:
    - ts::URL::is_port_canonical
    - BufferWriter::print
    - ts::URL::port
    - BufferWriter::write
    - auto::empty
    - ts::URL::host
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, URLLocation const &url_loc)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:64,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:65,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:66,1
    - Dst: ts::URL::is_port_canonical
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:67,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:68,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - w
    - url_loc
    argTypes:
    - BufferWriter
    - URLLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 26
    functionsReached:
    - ts::URL::is_port_canonical
    - BufferWriter::print
    - ts::URL::port
    - BufferWriter::write
    - auto::empty
    - ts::URL::host
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, URLLocation const &url_loc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:90,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:90,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:91,1
    - Dst: auto::method
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: Ex_ua_req_method::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - auto::method
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_method::extract(Context &ctx, Spec const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:108,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:108,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:109,1
    - Dst: auto::method
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: Ex_proxy_req_method::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - auto::method
    - Context::proxy_req_hdr
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_method::extract(Context &ctx, Spec const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:131,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:131,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:132,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:132,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:133,1
    - Dst: auto::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: Ex_ua_req_url::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - Context::ua_req_hdr
    - auto::write_full
    - auto::is_valid
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_url::extract(Context &ctx, const Spec &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:142,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:142,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:143,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:143,1
    - Dst: auto::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - BufferWriter
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: '&

      Ex_ua_req_url::format(BufferWriter &w, Spec const &, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - auto::url
    - auto::write_full
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_url::format(BufferWriter &w, Spec const &, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:162,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:162,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:163,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: Ex_pre_remap_url::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - ts::URL::write_full
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_url::extract(Context &ctx, const Spec &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:171,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:171,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - BufferWriter
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: '&

      Ex_pre_remap_url::format(BufferWriter &w, Spec const &, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::write_full
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_url::format(BufferWriter &w, Spec const &, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:190,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:191,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: Ex_remap_target_url::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - ts::URL::write_full
    - ts::URL::is_valid
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_target_url::extract(Context &ctx, const Spec &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:201,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - BufferWriter
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: '&

      Ex_remap_target_url::format(BufferWriter &w, Spec const &, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::write_full
    - ts::URL::is_valid
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_target_url::format(BufferWriter &w, Spec const &, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:222,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:223,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: Ex_remap_replacement_url::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - ts::URL::write_full
    - ts::URL::is_valid
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_replacement_url::extract(Context &ctx, const Spec
      &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:233,1
    - Dst: ts::URL::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - BufferWriter
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: '&

      Ex_remap_replacement_url::format(BufferWriter &w, Spec const &, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::write_full
    - ts::URL::is_valid
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_replacement_url::format(BufferWriter &w, Spec const &, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:252,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:252,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:253,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:253,1
    - Dst: Context::render_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:254,1
    - Dst: auto::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: Ex_proxy_req_url::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::render_transient
    - auto::write_full
    - Context::proxy_req_hdr
    - auto::is_valid
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_url::extract(Context &ctx, const Spec &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:263,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:263,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:264,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:264,1
    - Dst: auto::write_full
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - BufferWriter
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: '&

      Ex_proxy_req_url::format(BufferWriter &w, Spec const &, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::proxy_req_hdr
    - auto::url
    - auto::write_full
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_url::format(BufferWriter &w, Spec const &, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:282,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:282,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:283,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:283,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:284,1
    - Dst: auto::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: Ex_ua_req_scheme::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::is_valid
    - auto::scheme
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_scheme::extract(Context &ctx, Spec const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:301,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:301,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:302,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: Ex_pre_remap_scheme::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::scheme
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_scheme::extract(Context &ctx, Spec const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:319,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:320,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: Ex_remap_target_scheme::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::scheme
    - ts::URL::is_valid
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_target_scheme::extract(Context &ctx, Spec const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:338,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:339,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: Ex_remap_replacement_scheme::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::scheme
    - ts::URL::is_valid
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_replacement_scheme::extract(Context &ctx, Spec const
      &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:359,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:359,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:360,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:360,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:361,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: Ex_proxy_req_scheme::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Context::proxy_req_hdr
    - auto::is_valid
    - ts::URL::scheme
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_scheme::extract(Context &ctx, Spec const &)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:382,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:382,1
    - Dst: auto::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:383,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:383,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:384,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:384,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:385,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:385,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: '&

      Ex_ua_req_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::value
    - auto::is_valid
    - auto::field
    - auto::url
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:406,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:406,1
    - Dst: auto::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:407,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:407,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:408,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:408,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:409,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:409,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 5
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: '&

      Ex_proxy_req_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - auto::value
    - auto::is_valid
    - auto::field
    - auto::url
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:429,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:429,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:430,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: Ex_ua_req_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - auto::host
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:438,1
    - Dst: '&

        Ex_ua_req_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: '&

      Ex_ua_req_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_ua_req_host::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:453,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:453,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:454,1
    - Dst: auto::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: Ex_proxy_req_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::proxy_req_hdr
    - auto::host
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:462,1
    - Dst: '&

        Ex_proxy_req_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: '&

      Ex_proxy_req_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_proxy_req_host::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:477,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:477,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:478,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: Ex_pre_remap_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::host
    - ts::URL::is_valid
    - Context::_txn::pristine_url_get
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:486,1
    - Dst: '&

        Ex_pre_remap_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: '&

      Ex_pre_remap_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_pre_remap_host::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:502,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:503,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: Ex_remap_target_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::host
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_target_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:512,1
    - Dst: '&

        Ex_remap_target_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: '&

      Ex_remap_target_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_remap_target_host::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_target_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:528,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:529,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 533
    functionName: Ex_remap_replacement_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::host
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_replacement_host::extract(Context &ctx, Spec const
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:538,1
    - Dst: '&

        Ex_remap_replacement_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: '&

      Ex_remap_replacement_host::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_remap_replacement_host::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_replacement_host::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: Ex_ua_req_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_ua_req_port::validate(Config &, Spec &, const swoc::TextView
      &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:561,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:561,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:562,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:562,1
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:563,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 567
    functionName: Ex_ua_req_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - static_cast<feature_type_for<INTEGER>>
    - auto::is_valid
    - ts::URL::port
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_port::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: Ex_proxy_req_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_proxy_req_port::validate(Config &, Spec &, const
      swoc::TextView &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:589,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:589,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:590,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:590,1
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:591,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 595
    functionName: Ex_proxy_req_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - static_cast<feature_type_for<INTEGER>>
    - Context::proxy_req_hdr
    - auto::is_valid
    - ts::URL::port
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_port::extract(Context &ctx, Spec const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:610,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:610,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:611,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:611,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:612,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: Ex_ua_req_path::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - auto::is_valid
    - ts::URL::path
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_path::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:621,1
    - Dst: '&

        Ex_ua_req_path::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: '&

      Ex_ua_req_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_ua_req_path::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:636,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:636,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:637,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: Ex_pre_remap_path::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::path
    - Context::_txn::pristine_url_get
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_path::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:645,1
    - Dst: '&

        Ex_pre_remap_path::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: '&

      Ex_pre_remap_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_pre_remap_path::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:661,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:662,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 666
    functionName: Ex_remap_target_path::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::path
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_target_path::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:671,1
    - Dst: '&

        Ex_remap_target_path::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: '&

      Ex_remap_target_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_remap_target_path::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_target_path::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:687,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:688,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: Ex_remap_replacement_path::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - ts::URL::path
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_replacement_path::extract(Context &ctx, Spec const
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:697,1
    - Dst: '&

        Ex_remap_replacement_path::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: '&

      Ex_remap_replacement_path::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_remap_replacement_path::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_replacement_path::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:711,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:711,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:712,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:712,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:713,1
    - Dst: ts::URL::path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: Ex_proxy_req_path::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Context::proxy_req_hdr
    - auto::is_valid
    - ts::URL::path
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_path::extract(Context &ctx, Spec const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:735,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:735,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:736,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:736,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:737,1
    - Dst: ts::URL::fragment
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 741
    functionName: Ex_ua_req_fragment::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - ts::URL::fragment
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_fragment::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:746,1
    - Dst: '&

        Ex_ua_req_fragment::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: '&

      Ex_ua_req_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_ua_req_fragment::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:761,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:761,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:762,1
    - Dst: auto::fragment
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: Ex_pre_remap_fragment::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - auto::fragment
    - Context::_txn::pristine_url_get
    - FeatureView::Direct
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_fragment::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:770,1
    - Dst: '&

        Ex_pre_remap_fragment::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: '&

      Ex_pre_remap_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_pre_remap_fragment::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:786,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:786,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:787,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:787,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:788,1
    - Dst: ts::URL::fragment
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 792
    functionName: Ex_proxy_req_fragment::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Context::proxy_req_hdr
    - ts::URL::fragment
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_fragment::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:797,1
    - Dst: '&

        Ex_proxy_req_fragment::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: '&

      Ex_proxy_req_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_proxy_req_fragment::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_fragment::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:813,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:813,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:814,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:814,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 819
    functionName: '&

      Ex_ua_req_url_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::ua_req_hdr
    - auto::url
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_url_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:832,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:832,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:833,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:833,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: '&

      Ex_proxy_req_url_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - Context::proxy_req_hdr
    - auto::url
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_url_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:851,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:851,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: '&

      Ex_pre_remap_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - bwformat
    - Context::_txn::pristine_url_get
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_pre_remap_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:869,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: '&

      Ex_remap_target_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_target_loc::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:888,1
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 893
    functionName: '&

      Ex_remap_replacement_loc::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_remap_replacement_loc::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:908,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:908,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:909,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:909,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:910,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: Ex_ua_req_url_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    - ts::URL::host
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_url_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:919,1
    - Dst: '&

        Ex_ua_req_url_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: '&

      Ex_ua_req_url_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - '&

      Ex_ua_req_url_host::extract'
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_ua_req_url_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:934,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:934,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:935,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:935,1
    - Dst: FeatureView::Direct
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:936,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: Ex_proxy_req_url_host::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Context::proxy_req_hdr
    - auto::is_valid
    - FeatureView::Direct
    - auto::url
    - ts::URL::host
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_url_host::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:945,1
    - Dst: '&

        Ex_proxy_req_url_host::extract'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 946
    functionName: '&

      Ex_proxy_req_url_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - '&

      Ex_proxy_req_url_host::extract'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_req_url_host::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: Ex_ua_req_url_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_ua_req_url_port::validate(Config &, Spec &, const
      swoc::TextView &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:969,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:969,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:970,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:970,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 975
    functionName: Ex_ua_req_url_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    - ts::URL::is_valid
    - auto::is_valid
    - auto::url
    - ts::URL::host
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_ua_req_url_port::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 991
    functionName: Ex_proxy_req_url_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_proxy_req_url_port::validate(Config &, Spec &, const
      swoc::TextView &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:998,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:998,1
    - Dst: auto::url
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:999,1
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:999,1
    - Dst: ts::URL::host
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1004
    functionName: Ex_proxy_req_url_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - ts::URL::is_valid
    - Context::proxy_req_hdr
    - auto::is_valid
    - auto::url
    - ts::URL::host
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_req_url_port::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1020
    functionName: Ex_pre_remap_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_pre_remap_port::validate(Config &, Spec &, const
      swoc::TextView &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::pristine_url_get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1026,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1026,1
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1027,1
    - Dst: auto::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    functionName: Ex_pre_remap_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - auto::is_valid
    - static_cast<feature_type_for<INTEGER>>
    - auto::port
    - Context::_txn::pristine_url_get
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_pre_remap_port::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: Ex_remap_target_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_remap_target_port::validate(Config &, Spec &, const
      swoc::TextView &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1053,1
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1054,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1058
    functionName: Ex_remap_target_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<feature_type_for<INTEGER>>
    - ts::URL::is_valid
    - ts::URL::port
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_target_port::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: Ex_remap_replacement_port::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_remap_replacement_port::validate(Config &, Spec &,
      const swoc::TextView &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1082,1
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1083,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1087
    functionName: Ex_remap_replacement_port::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<feature_type_for<INTEGER>>
    - ts::URL::is_valid
    - ts::URL::port
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_remap_replacement_port::extract(Context &ctx, Spec const
      &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Config::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1125,1
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1129,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1130,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1132,1
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cfg
    - spec
    - arg
    argTypes:
    - Config
    - Extractor::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1136
    functionName: ExHttpField::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Config::alloc_span
    - ActiveType::TupleOf
    - strcasecmp
    - Config::localize
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> ExHttpField::validate(Config &cfg, Extractor::Spec &spec,
      TextView const &arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_data::span::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1141,1
    - Dst: ExHttpField::hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1148,1
    - Dst: ts::HttpHeader::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1148,1
    - Dst: ts::HttpHeader::field
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1149,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1149,1
    - Dst: auto::next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1150,1
    - Dst: auto::dup_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1151,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1152,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1154,1
    - Dst: auto::next_dup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1155,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - spec
    argTypes:
    - Context
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1138
    functionDepth: 5
    functionLinenumber: 1138
    functionLinenumberEnd: 1164
    functionName: ExHttpField::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::alloc_span
    - auto::value
    - auto::next_dup
    - ts::HttpHeader::field
    - ExHttpField::hdr
    - auto::is_valid
    - Spec::_data::span::rebind
    - auto::dup_count
    - ts::HttpHeader::is_valid
    linkageType: ''
    returnType: Feature
    signature: Feature ExHttpField::extract(Context &ctx, const Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1181
    functionName: '&

      Ex_ua_req_field::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_ua_req_field::key() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::ua_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1186
    functionName: Ex_ua_req_field::hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::ua_req_hdr
    linkageType: ''
    returnType: ts::HttpHeader
    signature: ts::HttpHeader Ex_ua_req_field::hdr(Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1202
    functionName: '&

      Ex_proxy_req_field::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_proxy_req_field::key() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_req_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: Ex_proxy_req_field::hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::proxy_req_hdr
    linkageType: ''
    returnType: ts::HttpHeader
    signature: ts::HttpHeader Ex_proxy_req_field::hdr(Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: '&

      Ex_proxy_rsp_field::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_proxy_rsp_field::key() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::proxy_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1228
    functionName: Ex_proxy_rsp_field::hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::proxy_rsp_hdr
    linkageType: ''
    returnType: ts::HttpHeader
    signature: ts::HttpHeader Ex_proxy_rsp_field::hdr(Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: '&

      Ex_upstream_rsp_field::key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TextView
    signature: 'TextView &

      Ex_upstream_rsp_field::key() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::upstream_rsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1249
    functionName: Ex_upstream_rsp_field::hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::upstream_rsp_hdr
    linkageType: ''
    returnType: ts::HttpHeader
    signature: ts::HttpHeader Ex_upstream_rsp_field::hdr(Context &ctx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    functionName: Ex_upstream_rsp_status::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_upstream_rsp_status::validate(Config &, Spec &, TextView
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1273,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: Ex_upstream_rsp_status::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<feature_type_for<INTEGER>>
    - Context::_txn::ursp_hdr
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_upstream_rsp_status::extract(Context &ctx, Extractor::Spec
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1279,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: '&

      Ex_upstream_rsp_status::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - Context::_txn::ursp_hdr
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_upstream_rsp_status::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1293,1
    - Dst: Context::_txn::ursp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1294
    functionName: '&

      Ex_upstream_rsp_status_reason::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - bwformat
    - Context::_txn::ursp_hdr
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_upstream_rsp_status_reason::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1314
    functionName: Ex_proxy_rsp_status::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_proxy_rsp_status::validate(Config &, Spec &, TextView
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1319,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: Ex_proxy_rsp_status::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<feature_type_for<INTEGER>>
    - Context::_txn::prsp_hdr
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_proxy_rsp_status::extract(Context &ctx, Extractor::Spec
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1325,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1326
    functionName: '&

      Ex_proxy_rsp_status::format(BufferWriter &w, Spec const &spec, Context &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::prsp_hdr
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_rsp_status::format(BufferWriter &w, Spec const &spec, Context &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1339,1
    - Dst: Context::_txn::prsp_hdr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1340
    functionName: '&

      Ex_proxy_rsp_status_reason::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::prsp_hdr
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Ex_proxy_rsp_status_reason::format(BufferWriter &w, Spec const &spec, Context
      &ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1357
    functionName: Ex_outbound_txn_count::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_txn_count::validate(Config &, Spec &, TextView
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<feature_type_for<INTEGER>>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1362,1
    - Dst: Context::_txn::outbound_txn_count
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1363
    functionName: Ex_outbound_txn_count::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - static_cast<feature_type_for<INTEGER>>
    - Context::_txn::outbound_txn_count
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_outbound_txn_count::extract(Context &ctx, Extractor::Spec
      const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1379
    functionName: Ex_outbound_addr_remote::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_addr_remote::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::outbound_remote_addr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1389
    functionName: Ex_outbound_addr_remote::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::outbound_remote_addr
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_outbound_addr_remote::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1405
    functionName: Ex_outbound_addr_local::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rv<ActiveType>
    signature: Rv<ActiveType> Ex_outbound_addr_local::validate(Config &, Extractor::Spec
      &, TextView const &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::_txn::outbound_local_addr
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1415
    functionName: Ex_outbound_addr_local::extract
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/src/Ex_HTTP.cc
    functionUses: 0
    functionsReached:
    - Context::_txn::outbound_local_addr
    linkageType: ''
    returnType: Feature
    signature: Feature Ex_outbound_addr_local::extract(Context &ctx, Spec const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Spec>::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - specs
    argTypes:
    - std::vector<Spec>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Expr::bwf_ex::bwf_ex
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - std::vector<Spec>::begin
    linkageType: ''
    returnType: void
    signature: void bwf_ex(std::vector<Spec> const &specs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: operator bool() const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - spec
    - rtype
    argTypes:
    - Spec
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Expr::Direct
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Direct(Spec const &spec, ActiveType rtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Expr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Expr(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Expr(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '&operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '&operator=(self_type &&that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Expr(Feature const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Expr(Direct &&d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - comp
    argTypes:
    - Composite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Expr(Composite &&comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - spec
    - t
    argTypes:
    - Spec
    - ActiveType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: Expr::Expr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 3
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void Expr(Spec const &spec, ActiveType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:142,1
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:157,1
    - Dst: _types::base_types
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:157,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:160,1
    - Dst: Expr::result_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 165
    functionName: Expr::result_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 1
    functionsReached:
    - _types::base_types
    - ActiveType::TupleOf
    - active_type
    - Expr::result_type
    - std::visit
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType result_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: operator()(std::monostate const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType operator()(std::monostate const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Feature::active_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: operator()(Feature const &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - Feature::active_type
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType operator()(Feature const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: operator()(Direct const &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType operator()(Direct const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: operator()(Composite const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType operator()(Composite const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveType::TupleOf
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:157,1
    - Dst: List::_types::base_types
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: operator()(List const &l)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - ActiveType::TupleOf
    - List::_types::base_types
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType operator()(List const &l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: Expr::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:175,1
    - Dst: std::get<LITERAL>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Expr::is_null
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - std::get<LITERAL>
    - index
    linkageType: ''
    returnType: bool
    signature: bool is_null() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Expr::is_literal
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - index
    linkageType: ''
    returnType: bool
    signature: bool is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Expr::bwf_visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bwf_visitor(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: operator()(std::monostate const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature operator()(std::monostate const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: operator()(Feature const &f)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Feature
    signature: Feature operator()(Feature const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Direct::_spec::_exf::extract
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: operator()(Direct const &d)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Expr.h
    functionUses: 0
    functionsReached:
    - Direct::_spec::_exf::extract
    linkageType: ''
    returnType: Feature
    signature: Feature operator()(Direct const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - node
    - info
    - n
    argTypes:
    - YAML::Node
    - Info*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: FeatureGroup::Tracking
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tracking(YAML::Node const &node, Info *info, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: FeatureGroup::alloc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Info
    signature: "Info *\n    alloc()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flag
    argTypes:
    - swoc::TextView
    - FeatureGroup::Flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name,
      FeatureGroup::Flag flag)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name,
      FeatureGroup::Flag flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - swoc::TextView
    - std::initializer_list<FeatureGroup::Flag>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name,
      std::initializer_list<FeatureGroup::Flag> const &flags)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FeatureGroup::Descriptor::Descriptor(swoc::TextView const &name,
      std::initializer_list<FeatureGroup::Flag> const &flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - FeatureGroup::index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: '&

      FeatureGroup::operator[](FeatureGroup::index_type idx)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/FeatureGroup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FeatureGroup::ExprInfo
    signature: 'FeatureGroup::ExprInfo &

      FeatureGroup::operator[](FeatureGroup::index_type idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~Directive()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Directive()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Directive::cfg_init
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata cfg_init(Config &, CfgStaticData const *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: When::get_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Hook
    signature: Hook When::get_hook() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: LambdaDirective::invoke
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h
    functionUses: 0
    functionsReached:
    - _f
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata LambdaDirective::invoke(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<swoc::Errata(Context &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: LambdaDirective::LambdaDirective
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Directive.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void LambdaDirective::LambdaDirective(std::function<swoc::Errata(Context
      &)> &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: StringAccelerator::StringAccelerator
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Accelerator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringAccelerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:69,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - k
    - v
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: StringTree::Node
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node(Key k, Value v, int32_t r = -1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:77,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:79,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - reset
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: StringTree::Node
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: StringTree::Node
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(Node const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: StringTree::Node
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node(Node &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '&operator=(Node const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node &operator=(Node const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '&operator=(Node &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node &operator=(Node &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: StringTree::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: StringTree::StringTree
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringTree(StringTree &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: StringTree::StringTree
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringTree(StringTree const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '&operator=(StringTree const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringTree
    signature: StringTree &operator=(StringTree const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '&operator=(StringTree &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringTree
    signature: StringTree &operator=(StringTree &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - position
    argTypes:
    - char
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: detail::get_bit_from_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_bit_from_byte(char key, std::size_t position) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - byte_number
    argTypes:
    - typename T::const_pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: detail::get_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto get_byte(typename T::const_pointer ptr, int byte_number,\n         typename
      std::enable_if_t<std::is_same_v<T, reversed_view<swoc::TextView>>> * /* val
      ATS_UNUSED */ = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - byte_number
    argTypes:
    - typename T::const_pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: detail::get_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto get_byte(typename T::const_pointer ptr, int byte_number,\n         typename
      std::enable_if_t<!std::is_same_v<T, reversed_view<swoc::TextView>>> * /* val
      ATS_UNUSED */ = 0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Key::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:193,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:197,1
    - Dst: detail::get_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - position
    argTypes:
    - Key
    - std::size_t
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: detail::get_bit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - Key::size
    - detail::get_byte
    - std::begin
    - assert
    linkageType: ''
    returnType: auto
    signature: auto get_bit(Key const &key, std::size_t position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:209,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:210,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:211,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:211,1
    - Dst: detail::get_bit_from_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:220,1
    - Dst: detail::get_bit_from_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: detail::get_first_diff_bit_position
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - detail::get_bit_from_byte
    linkageType: ''
    returnType: auto
    signature: auto get_first_diff_bit_position(Key const &lhs, Key const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - position
    argTypes:
    - char
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: detail::get_bit_from_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto get_bit_from_byte(char key, std::size_t position) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - byte_number
    argTypes:
    - typename T::const_pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: detail::get_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto get_byte(typename T::const_pointer ptr, int byte_number,\n         typename
      std::enable_if_t<std::is_same_v<T, reversed_view<swoc::TextView>>> * /* val
      ATS_UNUSED */ = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - byte_number
    argTypes:
    - typename T::const_pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: detail::get_byte
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto get_byte(typename T::const_pointer ptr, int byte_number,\n         typename
      std::enable_if_t<!std::is_same_v<T, reversed_view<swoc::TextView>>> * /* val
      ATS_UNUSED */ = 0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Key::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:193,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:197,1
    - Dst: detail::get_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - position
    argTypes:
    - Key
    - std::size_t
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: detail::get_bit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - Key::size
    - detail::get_byte
    - std::begin
    - assert
    linkageType: ''
    returnType: auto
    signature: auto get_bit(Key const &key, std::size_t position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:209,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:210,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:211,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:211,1
    - Dst: detail::get_bit_from_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:220,1
    - Dst: detail::get_bit_from_byte
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Key
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: detail::get_first_diff_bit_position
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - end
    - std::begin
    - detail::get_bit_from_byte
    linkageType: ''
    returnType: auto
    signature: auto get_first_diff_bit_position(Key const &lhs, Key const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: StringTree<Key, Value>::StringTree
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - make
    linkageType: ''
    returnType: void
    signature: void StringTree<Key, Value>::StringTree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: StringTree<Key, Value>::~StringTree()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - std::destroy_at
    linkageType: ''
    returnType: void
    signature: void StringTree<Key, Value>::~StringTree()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:256,1
    - Dst: detail::get_first_diff_bit_position
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:265,1
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:268,1
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:277,1
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:281,1
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 294
    functionName: StringTree<Key, Value>::insert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - detail::get_first_diff_bit_position
    - make
    - detail::get_bit
    linkageType: ''
    returnType: bool
    signature: bool StringTree<Key, Value>::insert(Key const &key, Value const &value,
      Comparison * /* cmp ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: StringTree<Key, Value>::full_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - detail::get_bit
    linkageType: ''
    returnType: std::pair<bool, Value>
    signature: std::pair<bool, Value> StringTree<Key, Value>::full_match(Key const
      &key, Comparison * /* cmp ATS_UNUSED */) const noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::mismatch
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:327,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:327,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:327,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:327,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:327,1
    - Dst: Key::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:331,1
    - Dst: detail::get_bit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:339,1
    - Dst: std::stack::push
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:350,1
    - Dst: std::stack::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:352,1
    - Dst: std::stack::top
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:353,1
    - Dst: std::stack::pop
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:354,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:357,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:357,1
    - Dst: is_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:361,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:362,1
    - Dst: std::unordered_map::find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:365,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:365,1
    - Dst: is_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:366,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:367,1
    - Dst: std::stack::push
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:371,1
    - Dst: std::stack::push
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:374,1
    - Dst: is_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:377,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:378,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 382
    functionName: StringTree<Key, Value>::prefix_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - std::stack::empty
    - std::mismatch
    - is_prefix
    - std::vector::push_back
    - std::stack::push
    - std::stack::top
    - end
    - Key::size
    - std::stack::pop
    - std::unordered_map::find
    - detail::get_bit
    - std::begin
    linkageType: ''
    returnType: std::vector<std::pair<Key, Value>>
    signature: std::vector<std::pair<Key, Value>> StringTree<Key, Value>::prefix_match(Key
      const &prefix, Comparison * /* cmp ATS_UNUSED */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - typename View::reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: reversed_view::iterator
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(typename View::reverse_iterator iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: "&\n    operator*() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: "value_type &\n    operator*() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: "&\n    operator++()"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: "iterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: operator++(int)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lhs
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: operator==(iterator const &lhs) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(iterator const &lhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lhs
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: operator!=(iterator const &lhs) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(iterator const &lhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: reversed_view::reversed_view
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reversed_view() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - view
    argTypes:
    - View
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: reversed_view::reversed_view
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reversed_view(View view) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - View
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: operator==(View const &v) const noexcept
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(View const &v) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reversed_view::empty
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: reversed_view::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - reversed_view::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: reversed_view::begin
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - rbegin
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rend
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: reversed_view::end
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - rend
    linkageType: ''
    returnType: iterator
    signature: iterator end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reversed_view::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: reversed_view::size
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - reversed_view::size
    linkageType: ''
    returnType: typename View::size_type
    signature: typename View::size_type size() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reversed_view::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: reversed_view::data
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - reversed_view::data
    linkageType: ''
    returnType: typename View::const_pointer
    signature: typename View::const_pointer data() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: reversed_view::get_view
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: View
    signature: View get_view() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::for_each
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:513,1
    - Dst: reversed_view<View>::_view::rbegin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:513,1
    - Dst: reversed_view<View>::_view::rend
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - os
    - v
    argTypes:
    - std::ostream
    - reversed_view<View>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: '&

      operator<<(std::ostream &os, reversed_view<View> const &v)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached:
    - reversed_view<View>::_view::rbegin
    - std::for_each
    - reversed_view<View>::_view::rend
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, reversed_view<View> const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - reversed_view<View>
    - reversed_view<View>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: operator==(reversed_view<View> const &lhs, reversed_view<View> const
      &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(reversed_view<View> const &lhs, reversed_view<View>
      const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_tree_map::insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:543,1
    - Dst: string_tree_map::insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - key_type
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: string_tree_map::insert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - string_tree_map::insert
    linkageType: ''
    returnType: bool
    signature: bool insert(key_type key, value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_tree_map::full_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: string_tree_map::full_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - string_tree_map::full_match
    linkageType: ''
    returnType: std::pair<bool, value_type>
    signature: std::pair<bool, value_type> full_match(key_type key) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_tree_map::prefix_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: string_tree_map::prefix_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - string_tree_map::prefix_match
    linkageType: ''
    returnType: std::vector<std::pair<key_type, value_type>>
    signature: std::vector<std::pair<key_type, value_type>> prefix_match(key_type
      prefix, Comparison *cmp = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_tree_map::suffix_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: string_tree_map::suffix_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - string_tree_map::suffix_match
    linkageType: ''
    returnType: std::vector<std::pair<key_type, value_type>>
    signature: std::vector<std::pair<key_type, value_type>> suffix_match(key_type
      suffix, Comparison *cmp = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSConsistentHash::insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - string_tree_map::key_type
    - string_tree_map::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: string_tree_map::insert
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - ATSConsistentHash::insert
    linkageType: ''
    returnType: bool
    signature: bool insert(string_tree_map::key_type key, string_tree_map::value_type
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTree<Key, Value>::prefix_match
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:584,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:586,1
    - Dst: first::get_view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - suffix
    - cmp
    argTypes:
    - string_tree_map::key_type
    - Comparison*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 589
    functionName: string_tree_map::suffix_match
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/accl_util.h
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - StringTree<Key, Value>::prefix_match
    - first::get_view
    linkageType: ''
    returnType: std::vector<std::pair<string_tree_map::key_type, string_tree_map::value_type>>
    signature: std::vector<std::pair<string_tree_map::key_type, string_tree_map::value_type>>
      suffix_match(string_tree_map::key_type suffix, Comparison *cmp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: TS_DBG
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_DBG(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:61,1
    - Dst: swoc::LocalBufferWriter::print_v
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:62,1
    - Dst: swoc::LocalBufferWriter::error
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:63,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: std::vector::resize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:68,1
    - Dst: swoc::LocalBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:68,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:69,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:69,1
    - Dst: swoc::FixedBufferWriter::print_v
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:70,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    - Dst: swoc::FixedBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: ts::DebugMsg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached:
    - std::vector::resize
    - std::forward_as_tuple
    - std::vector::data
    - swoc::FixedBufferWriter::size
    - std::vector::size
    - swoc::LocalBufferWriter::print_v
    - swoc::FixedBufferWriter::data
    - TS_DBG
    - swoc::LocalBufferWriter::error
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    - swoc::LocalBufferWriter::extent
    - swoc::FixedBufferWriter::print_v
    linkageType: ''
    returnType: void
    signature: void DebugMsg(swoc::TextView fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: ts::String::String
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ts::String::String(char *s, int64_t size)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void ts::String::String(char *s, int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:104,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: String::~String()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - data
    - TSfree
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void String::~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ts::swoc::TextView
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: String::operator
    signature: String::operator swoc::TextView() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::is_relative
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:121,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:122,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:122,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: ts::make_absolute
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 4
    functionsReached:
    - std::move
    - get_yaml_path
    - swoc::file::path::is_relative
    - TSConfigDirGet
    linkageType: ''
    returnType: swoc::file::path
    signature: swoc::file::path make_absolute(swoc::file::path &&path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::is_relative
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:131,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:132,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ts::make_absolute
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 4
    functionsReached:
    - get_yaml_path
    - swoc::file::path::is_relative
    - TSConfigDirGet
    linkageType: ''
    returnType: swoc::file::path
    signature: 'swoc::file::path &

      make_absolute(swoc::file::path &path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buff
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: operator()(TSIOBuffer buff)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(TSIOBuffer buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ts::HeapObject::HeapObject
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeapObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      HeapObject::clear()'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeapObject
    signature: 'HeapObject &

      HeapObject::clear()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: ts::URL::URL
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_port_canonical
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ts::URL::is_port_canonical
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 3
    functionsReached:
    - ts::URL::is_port_canonical
    - ts::URL::port
    - ts::URL::scheme
    linkageType: ''
    returnType: bool
    signature: bool is_port_canonical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  path_set(swoc::TextView path)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSUrlPathSet
    - swoc::TextView::size
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  path_set(swoc::TextView path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: '&operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::~self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:292,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:293,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: "&\n  operator=(self_type &&that)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - self_type::self_type
    - std::move
    - ts::~self_type
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(self_type &&that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:324,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: ts::HttpField::next_dup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HttpField::is_valid
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: self_type
    signature: self_type next_dup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: operator==(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: operator!=(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: ts::HttpHeader::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: ts::HttpSsn::HttpSsn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSsn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ts::HttpSsn::HttpSsn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSsn(TSHttpSsn ssn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: ts::TxnConfigVar::name
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: ts::TxnConfigVar::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSOverridableConfigKey
    signature: TSOverridableConfigKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: ts::TxnConfigVar::type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(intmax_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(swoc::TextView const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(double) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(typename std::decay<T>::type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: ts::HttpTxn::HttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: ts::SSLContext::SSLContext
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: operator!=(self_type const &that) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ssl_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ts::SSLContext::SSLContext
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContext(ssl_st *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: ts::SSLContext::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SSLContext::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 926
    functionName: ts::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Data(std::function<void()> &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 940
    functionName: ts::HeapObject::HeapObject
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeapObject::HeapObject(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 946
    functionName: ts::HeapObject::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeapObject::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: ts::HeapObject::mbuff
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer HeapObject::mbuff() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: ts::HeapObject::mloc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc HeapObject::mloc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 960
    functionName: ts::URL::URL
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL::URL(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:966,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: ts::URL::path
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 6
    functionsReached:
    - TSUrlPathGet
    - static_cast<size_t>
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:974,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: ts::URL::query
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::query() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpFragmentGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:982,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: ts::URL::fragment
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - TSUrlHttpFragmentGet
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::fragment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::host_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:989,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - host
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: '&

      URL::host_set(swoc::TextView const &host)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - swoc::TextView::size
    - '&

      URL::host_set(swoc::is_valid'
    - swoc::TextView::data
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::host_set(swoc::TextView const &host)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: ts::URL::port_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 3
    functionsReached:
    - TSUrlPortSet
    linkageType: ''
    returnType: auto
    signature: auto URL::port_set(in_port_t port) -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::scheme_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1005,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1002
    functionDepth: 3
    functionLinenumber: 1002
    functionLinenumberEnd: 1009
    functionName: '&

      URL::scheme_set(swoc::TextView const &scheme)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSUrlSchemeSet
    - swoc::TextView::size
    - swoc::TextView::data
    - '&

      URL::scheme_set(swoc::is_valid'
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::scheme_set(swoc::TextView const &scheme)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::query_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1014,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: '&

      URL::query_set(swoc::TextView text)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::size
    - '&

      URL::query_set(swoc::is_valid'
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::query_set(swoc::TextView text)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::fragment_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1023,1
    - Dst: TSUrlHttpFragmentSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    functionName: '&

      URL::fragment_set(swoc::TextView text)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSUrlHttpFragmentSet
    - swoc::TextView::size
    - '&

      URL::fragment_set(swoc::is_valid'
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::fragment_set(swoc::TextView text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - buff
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1029
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField::HttpField(TSMBuffer buff, TSMLoc hdr_loc, TSMLoc field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: ts::HttpHeader::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader::HttpHeader(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - key
    - type
    argTypes:
    - swoc::TextView
    - TSOverridableConfigKey
    - TSRecordDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: ts::TxnConfigVar::TxnConfigVar
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxnConfigVar::TxnConfigVar(swoc::TextView const &name, TSOverridableConfigKey
      key, TSRecordDataType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: ts::HttpResponse::status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus HttpResponse::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: ts::HttpTxn::HttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTxn::HttpTxn(TSHttpTxn txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: ts::TSHttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpTxn::operator
    signature: HttpTxn::operator TSHttpTxn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: ts::HttpTxn::inbound_ssn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSHttpTxnSsnGet
    linkageType: ''
    returnType: HttpSsn
    signature: HttpSsn HttpTxn::inbound_ssn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: ts::HttpTxn::ssl_inbound_context
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::inbound_ssn
    linkageType: ''
    returnType: SSLContext
    signature: SSLContext HttpTxn::ssl_inbound_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: ts::HttpSsn::txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned HttpSsn::txn_count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:61,1
    - Dst: swoc::LocalBufferWriter::print_v
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:62,1
    - Dst: swoc::LocalBufferWriter::error
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:63,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:64,1
    - Dst: std::vector::resize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:68,1
    - Dst: swoc::LocalBufferWriter::extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:68,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:69,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:69,1
    - Dst: swoc::FixedBufferWriter::print_v
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:70,1
    - Dst: TS_DBG
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    - Dst: swoc::FixedBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    - Dst: swoc::FixedBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: ts::DebugMsg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached:
    - std::vector::resize
    - std::forward_as_tuple
    - std::vector::data
    - swoc::FixedBufferWriter::size
    - std::vector::size
    - swoc::LocalBufferWriter::print_v
    - swoc::FixedBufferWriter::data
    - TS_DBG
    - swoc::LocalBufferWriter::error
    - swoc::LocalBufferWriter::data
    - swoc::LocalBufferWriter::size
    - swoc::LocalBufferWriter::extent
    - swoc::FixedBufferWriter::print_v
    linkageType: ''
    returnType: void
    signature: void DebugMsg(swoc::TextView fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: ts::String::String
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ts::String::String(char *s, int64_t size)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void ts::String::String(char *s, int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:104,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: String::~String()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - data
    - TSfree
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void String::~String()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ts::swoc::TextView
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: String::operator
    signature: String::operator swoc::TextView() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::is_relative
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:121,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:122,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:122,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: ts::make_absolute
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 4
    functionsReached:
    - std::move
    - get_yaml_path
    - swoc::file::path::is_relative
    - TSConfigDirGet
    linkageType: ''
    returnType: swoc::file::path
    signature: swoc::file::path make_absolute(swoc::file::path &&path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::file::path::is_relative
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:131,1
    - Dst: get_yaml_path
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:132,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ts::make_absolute
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 4
    functionsReached:
    - get_yaml_path
    - swoc::file::path::is_relative
    - TSConfigDirGet
    linkageType: ''
    returnType: swoc::file::path
    signature: 'swoc::file::path &

      make_absolute(swoc::file::path &path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buff
    argTypes:
    - TSIOBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: operator()(TSIOBuffer buff)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    linkageType: ''
    returnType: void
    signature: void operator()(TSIOBuffer buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ts::HeapObject::HeapObject
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeapObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      HeapObject::clear()'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeapObject
    signature: 'HeapObject &

      HeapObject::clear()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: ts::URL::URL
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::URL::is_port_canonical
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    - Dst: ts::URL::scheme
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    - Dst: ts::URL::port
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ts::URL::is_port_canonical
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 4
    functionsReached:
    - ts::URL::is_port_canonical
    - ts::URL::port
    - ts::URL::scheme
    linkageType: ''
    returnType: bool
    signature: bool is_port_canonical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  path_set(swoc::TextView path)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSUrlPathSet
    - swoc::TextView::size
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  path_set(swoc::TextView path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: '&operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:292,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:293,1
    - Dst: self_type::self_type
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: "&\n  operator=(self_type &&that)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ~self_type
    - self_type::self_type
    - std::move
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator=(self_type &&that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpField::is_valid
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:324,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: ts::HttpField::next_dup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HttpField::is_valid
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: self_type
    signature: self_type next_dup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: operator==(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: operator!=(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: ts::HttpHeader::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: ts::HttpSsn::HttpSsn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSsn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssn
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ts::HttpSsn::HttpSsn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpSsn(TSHttpSsn ssn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: ts::TxnConfigVar::name
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: ts::TxnConfigVar::key
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSOverridableConfigKey
    signature: TSOverridableConfigKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: ts::TxnConfigVar::type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSRecordDataType
    signature: TSRecordDataType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(intmax_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(swoc::TextView const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(double) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: ts::TxnConfigVar::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid(typename std::decay<T>::type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: ts::HttpTxn::HttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTxn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: ts::SSLContext::SSLContext
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: operator!=(self_type const &that) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ssl_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: ts::SSLContext::SSLContext
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLContext(ssl_st *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: ts::SSLContext::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SSLContext::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 926
    functionName: ts::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Data(std::function<void()> &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 940
    functionName: ts::HeapObject::HeapObject
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeapObject::HeapObject(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 946
    functionName: ts::HeapObject::is_valid
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HeapObject::is_valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: ts::HeapObject::mbuff
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer HeapObject::mbuff() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: ts::HeapObject::mloc
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc HeapObject::mloc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 960
    functionName: ts::URL::URL
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void URL::URL(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:966,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: ts::URL::path
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 6
    functionsReached:
    - TSUrlPathGet
    - static_cast<size_t>
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:974,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: ts::URL::query
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::query() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlHttpFragmentGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:982,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: ts::URL::fragment
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - TSUrlHttpFragmentGet
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView URL::fragment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::host_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:989,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - host
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: '&

      URL::host_set(swoc::TextView const &host)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSUrlHostSet
    - swoc::TextView::size
    - '&

      URL::host_set(swoc::is_valid'
    - swoc::TextView::data
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::host_set(swoc::TextView const &host)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPortSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: ts::URL::port_set
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 3
    functionsReached:
    - TSUrlPortSet
    linkageType: ''
    returnType: auto
    signature: auto URL::port_set(in_port_t port) -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::scheme_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1005,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1002
    functionDepth: 3
    functionLinenumber: 1002
    functionLinenumberEnd: 1009
    functionName: '&

      URL::scheme_set(swoc::TextView const &scheme)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSUrlSchemeSet
    - swoc::TextView::size
    - swoc::TextView::data
    - '&

      URL::scheme_set(swoc::is_valid'
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::scheme_set(swoc::TextView const &scheme)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::query_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1014,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: '&

      URL::query_set(swoc::TextView text)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - swoc::TextView::size
    - '&

      URL::query_set(swoc::is_valid'
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::query_set(swoc::TextView text)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        URL::fragment_set(swoc::is_valid'
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1023,1
    - Dst: TSUrlHttpFragmentSet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    functionName: '&

      URL::fragment_set(swoc::TextView text)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - swoc::TextView::data
    - TSUrlHttpFragmentSet
    - swoc::TextView::size
    - '&

      URL::fragment_set(swoc::is_valid'
    linkageType: ''
    returnType: URL
    signature: 'URL &

      URL::fragment_set(swoc::TextView text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - buff
    - hdr_loc
    - field_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1029
    functionName: ts::HttpField::HttpField
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpField::HttpField(TSMBuffer buff, TSMLoc hdr_loc, TSMLoc field_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buff
    - loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: ts::HttpHeader::HttpHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpHeader::HttpHeader(TSMBuffer buff, TSMLoc loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - key
    - type
    argTypes:
    - swoc::TextView
    - TSOverridableConfigKey
    - TSRecordDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: ts::TxnConfigVar::TxnConfigVar
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxnConfigVar::TxnConfigVar(swoc::TextView const &name, TSOverridableConfigKey
      key, TSRecordDataType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: ts::HttpResponse::status
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus HttpResponse::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txn
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: ts::HttpTxn::HttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTxn::HttpTxn(TSHttpTxn txn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: ts::TSHttpTxn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpTxn::operator
    signature: HttpTxn::operator TSHttpTxn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: ts::HttpTxn::inbound_ssn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 1
    functionsReached:
    - TSHttpTxnSsnGet
    linkageType: ''
    returnType: HttpSsn
    signature: HttpSsn HttpTxn::inbound_ssn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HttpTxn::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: ts::HttpTxn::ssl_inbound_context
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HttpTxn::inbound_ssn
    linkageType: ''
    returnType: SSLContext
    signature: SSLContext HttpTxn::ssl_inbound_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: ts::HttpSsn::txn_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned HttpSsn::txn_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HeapObject::mbuff
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ts::HeapObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: std::get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HeapObject::mbuff
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer get<0>(ts::HeapObject const &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HeapObject::mloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ts::HeapObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    functionName: std::get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HeapObject::mloc
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc get<1>(ts::HeapObject const &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HeapObject::mbuff
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ts::HeapObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: std::get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HeapObject::mbuff
    linkageType: ''
    returnType: TSMBuffer
    signature: TSMBuffer get<0>(ts::HeapObject const &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts::HeapObject::mloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ts::HeapObject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    functionName: std::get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/ts_util.h
    functionUses: 0
    functionsReached:
    - ts::HeapObject::mloc
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc get<1>(ts::HeapObject const &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Extractor::union_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void union_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - union_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Extractor::union_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void union_type(union_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - union_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '&operator=(union_type const &that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: union_type
    signature: union_type &operator=(union_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~Extractor()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Extractor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Ex_this::Ex_this
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ex_this()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fg
    argTypes:
    - FeatureGroup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Ex_this::Ex_this
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Extractor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ex_this(FeatureGroup &fg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Modifier()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Modifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: operator()(Context &ctx, Feature &feature)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: swoc::Rv<Feature>
    signature: swoc::Rv<Feature> operator()(Context &ctx, Feature &feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: operator()(Context &, T const &) -> EnableForFeatureTypes<T, swoc::Rv<Feature>>
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto operator()(Context &, T const &) -> EnableForFeatureTypes<T, swoc::Rv<Feature>>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Modifier::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: Modifier::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Modifier.h
    functionUses: 1
    functionsReached:
    - Modifier::define
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata define()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tag
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Generic::Generic
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generic(swoc::TextView const &tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ~Generic()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Generic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Generic::description
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Generic::is_nil
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_nil() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: detail::indexed_init_list
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - g
    linkageType: ''
    returnType: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>>
    signature: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>> indexed_init_list(GENERATOR
      &&g, std::index_sequence<IDX...> &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::indexed_init_list
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    - Dst: std::forward<GENERATOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    - Dst: std::make_index_sequence<N>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: detail::indexed_init_list
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 1
    functionsReached:
    - std::forward<GENERATOR>
    - detail::indexed_init_list
    - std::make_index_sequence<N>
    linkageType: ''
    returnType: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>>
    signature: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>> indexed_init_list(GENERATOR
      &&g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: detail::indexed_array
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - g
    linkageType: ''
    returnType: std::array<std::invoke_result_t<GENERATOR, size_t>, sizeof...(IDX)>
    signature: std::array<std::invoke_result_t<GENERATOR, size_t>, sizeof...(IDX)>
      indexed_array(GENERATOR &&g, std::index_sequence<IDX...> &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::indexed_array
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    - Dst: std::forward<GENERATOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    - Dst: std::make_index_sequence<N>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: detail::indexed_array
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 1
    functionsReached:
    - std::forward<GENERATOR>
    - detail::indexed_array
    - std::make_index_sequence<N>
    linkageType: ''
    returnType: std::array<std::invoke_result_t<GENERATOR, size_t>, N>
    signature: std::array<std::invoke_result_t<GENERATOR, size_t>, N> indexed_array(GENERATOR
      &&g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: detail::indexed_init_list
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 1
    functionsReached:
    - g
    linkageType: ''
    returnType: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>>
    signature: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>> indexed_init_list(GENERATOR
      &&g, std::index_sequence<IDX...> &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::indexed_init_list
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    - Dst: std::forward<GENERATOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    - Dst: std::make_index_sequence<N>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: detail::indexed_init_list
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached:
    - std::forward<GENERATOR>
    - detail::indexed_init_list
    - std::make_index_sequence<N>
    linkageType: ''
    returnType: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>>
    signature: std::initializer_list<std::invoke_result_t<GENERATOR, size_t>> indexed_init_list(GENERATOR
      &&g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: detail::indexed_array
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 1
    functionsReached:
    - g
    linkageType: ''
    returnType: std::array<std::invoke_result_t<GENERATOR, size_t>, sizeof...(IDX)>
    signature: std::array<std::invoke_result_t<GENERATOR, size_t>, sizeof...(IDX)>
      indexed_array(GENERATOR &&g, std::index_sequence<IDX...> &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::indexed_array
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    - Dst: std::forward<GENERATOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    - Dst: std::make_index_sequence<N>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GENERATOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: detail::indexed_array
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached:
    - std::forward<GENERATOR>
    - detail::indexed_array
    - std::make_index_sequence<N>
    linkageType: ''
    returnType: std::array<std::invoke_result_t<GENERATOR, size_t>, N>
    signature: std::array<std::invoke_result_t<GENERATOR, size_t>, N> indexed_array(GENERATOR
      &&g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::indexed_array<std::tuple_size<ValueType>::value>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:223,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: IndexFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 33
    functionsReached:
    - static_cast<unsigned>
    - detail::indexed_array<std::tuple_size<ValueType>::value>
    linkageType: ''
    returnType: unsigned
    signature: unsigned IndexFor(ValueType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: value_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 21
    functionsReached:
    - index
    linkageType: ''
    returnType: ValueType
    signature: ValueType value_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: operator!=(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(Feature const &lhs, Feature const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: operator>(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(Feature const &lhs, Feature const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Feature
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: operator>=(Feature const &lhs, Feature const &rhs)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(Feature const &lhs, Feature const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: static_cast<Feature::variant_type &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    - Dst: static_cast<Feature::variant_type &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - visitor
    - feature
    argTypes:
    - VISITOR
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: std::visit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 32
    functionsReached:
    - std::forward<VISITOR>
    - static_cast<Feature::variant_type &>
    - std::visit
    linkageType: ''
    returnType: auto
    signature: "auto visit(VISITOR &&visitor,\n      Feature  &feature) -> decltype(visit(std::forward<VISITOR>(visitor),
      static_cast<Feature::variant_type &>(feature)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:377,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:377,1
    - Dst: static_cast<Feature::variant_type const &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:378,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    - Dst: static_cast<Feature::variant_type const &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - visitor
    - feature
    argTypes:
    - VISITOR
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: std::visit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 33
    functionsReached:
    - std::forward<VISITOR>
    - std::visit
    - static_cast<Feature::variant_type const &>
    linkageType: ''
    returnType: auto
    signature: "auto visit(VISITOR &&visitor, Feature const &feature) -> decltype(visit(std::forward<VISITOR>(visitor),\n
      \                                                                  static_cast<Feature::variant_type
      const &>(feature)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: static_cast<Feature::variant_type &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:370,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    - Dst: static_cast<Feature::variant_type &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - visitor
    - feature
    argTypes:
    - VISITOR
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: std::visit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 34
    functionsReached:
    - std::forward<VISITOR>
    - static_cast<Feature::variant_type &>
    - std::visit
    linkageType: ''
    returnType: auto
    signature: "auto visit(VISITOR &&visitor,\n      Feature  &feature) -> decltype(visit(std::forward<VISITOR>(visitor),
      static_cast<Feature::variant_type &>(feature)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:377,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:377,1
    - Dst: static_cast<Feature::variant_type const &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:378,1
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    - Dst: std::forward<VISITOR>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    - Dst: static_cast<Feature::variant_type const &>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - visitor
    - feature
    argTypes:
    - VISITOR
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: std::visit
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 35
    functionsReached:
    - std::forward<VISITOR>
    - std::visit
    - static_cast<Feature::variant_type const &>
    linkageType: ''
    returnType: auto
    signature: "auto visit(VISITOR &&visitor, Feature const &feature) -> decltype(visit(std::forward<VISITOR>(visitor),\n
      \                                                                  static_cast<Feature::variant_type
      const &>(feature)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: ActiveType::TupleOf
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TupleOf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mask
    argTypes:
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: ActiveType::TupleOf
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TupleOf(ValueMask mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vt
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: ActiveType::TupleOf
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TupleOf(ValueType vt, Rest &&...rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: ActiveType::ActiveType
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: ActiveType::ActiveType
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveType(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: '&operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vtypes
    argTypes:
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: ActiveType::ActiveType
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveType(ValueMask vtypes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vtypes
    argTypes:
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: "&\n  operator|=(ValueMask vtypes)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  operator|=(ValueMask vtypes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: operator==(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: operator!=(self_type const &that)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: ActiveType::has_value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - any
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vt
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: ActiveType::can_satisfy
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool can_satisfy(ValueType vt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vmask
    argTypes:
    - ValueMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: ActiveType::can_satisfy
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 15
    functionsReached:
    - any
    linkageType: ''
    returnType: bool
    signature: bool can_satisfy(ValueMask vmask) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_type::_tuple_type::any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:506,1
    - Dst: none
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:506,1
    - Dst: auto::any
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: ActiveType::can_satisfy
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 15
    functionsReached:
    - none
    - self_type::_tuple_type::any
    - auto::any
    linkageType: ''
    returnType: bool
    signature: bool can_satisfy(self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: ActiveType::base_types
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueMask
    signature: ValueMask base_types() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: ActiveType::tuple_types
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueMask
    signature: ValueMask tuple_types() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: "&\n  mark_cfg_const()"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  mark_cfg_const()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: ActiveType::is_cfg_const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cfg_const() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type::_base_type::set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:539,1
    - Dst: self_type::_tuple_type::set
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: ActiveType::any_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached:
    - self_type::_base_type::set
    - self_type::_tuple_type::set
    linkageType: ''
    returnType: self_type
    signature: self_type any_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vt
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: ActiveType::ActiveType
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveType::ActiveType(ValueType vt, Rest &&...rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tt
    argTypes:
    - TupleOf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: ActiveType::ActiveType
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveType::ActiveType(TupleOf const &tt, Rest &&...rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vt
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: ActiveType::operator=(ValueType vt) -> self_type &
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: auto
    signature: auto ActiveType::operator=(ValueType vt) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tt
    argTypes:
    - TupleOf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: ActiveType::operator=(TupleOf const &tt) -> self_type &
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: auto
    signature: auto ActiveType::operator=(TupleOf const &tt) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vt
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: ActiveType::operator|=(ValueType vt) -> self_type &
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ActiveType::operator|=(ValueType vt) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tt
    argTypes:
    - TupleOf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: ActiveType::operator|=(TupleOf const &tt) -> self_type &
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ActiveType::operator|=(TupleOf const &tt) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: ValueMask
    signature: ValueMask MaskFor(ValueType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: auto
    signature: auto MaskFor(P... parms) -> std::enable_if_t<std::conjunction_v<std::is_same<ValueType,
      P>...>, ValueMask>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::initializer_list<ValueType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: ValueMask
    signature: ValueMask MaskFor(std::initializer_list<ValueType> const &types)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: ValueMask
    signature: ValueMask MaskFor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<GENERIC>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:690,1
    - Dst: is_nil
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:691,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:693,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 4
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: is_nil
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 7
    functionsReached:
    - std::get_if<GENERIC>
    - IndexFor
    - Feature::index
    - is_nil
    linkageType: ''
    returnType: bool
    signature: bool is_nil(Feature const &feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:699,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:699,1
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:699,1
    - Dst: Feature::index
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:699,1
    - Dst: std::get<IndexFor(STRING)>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: is_empty
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 21
    functionsReached:
    - std::get<IndexFor(STRING)>
    - IndexFor
    - Feature::index
    linkageType: ''
    returnType: bool
    signature: bool is_empty(Feature const &feature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get_if<GENERIC>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:723,1
    - Dst: ~Generic
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: clear
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 277
    functionsReached:
    - std::get_if<GENERIC>
    - ~Generic
    linkageType: ''
    returnType: void
    signature: void clear(Feature &feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: IndexFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 38
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned IndexFor(Hook id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hook
    argTypes:
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: HookMask
    signature: HookMask MaskFor(Hook hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - std::initializer_list<Hook>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: HookMask
    signature: HookMask MaskFor(std::initializer_list<Hook> const &hooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 839
    functionName: MaskFor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 19
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: auto
    signature: auto MaskFor(P... parms) -> std::enable_if_t<std::conjunction_v<std::is_same<Hook,
      P>...>, HookMask>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 850
    functionName: FeatureView::Literal
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: FeatureView
    signature: FeatureView FeatureView::Literal(TextView const &view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: FeatureView::Direct
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: FeatureView
    signature: FeatureView FeatureView::Direct(TextView const &view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - f
    argTypes:
    - void*
    - std::function<void(void *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 909
    functionName: Finalizer::Finalizer
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Finalizer::Finalizer(void *ptr, std::function<void(void *)> &&f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - var
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: let<T>::let
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void let<T>::let(T &var, T const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:940,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - var
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: let<T>::let
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void let<T>::let(T &var, T &&value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: let<T>::~let()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void let<T>::~let()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_code_free
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator()(pcre2_code *ptr)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached:
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void operator()(pcre2_code *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Rxp::Rxp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rxp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Rxp::Rxp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rxp(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Rxp::Rxp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Rxp(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&operator=(self_type const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rxp
    argTypes:
    - pcre2_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Rxp::Rxp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Rxp(pcre2_code *rxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: RxpOp::RxpOp
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RxpOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cfg
    - opt
    argTypes:
    - Config
    - Rxp::Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: RxpOp::Cfg_Visitor
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Rxp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cfg_Visitor(Config &cfg, Rxp::Options opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Context::pmr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::pmr::memory_resource
    signature: "std::pmr::memory_resource *\n  pmr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: Context::ArgPack::ArgPack
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgPack(Context &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - drtv
    argTypes:
    - Directive*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: Context::Callback
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callback(Directive *drtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: Context::rxp_working_match_data
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcre2_match_data
    signature: "pcre2_match_data *\n  rxp_working_match_data()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: Context::is_terminal
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_terminal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: "&\n  mark_terminal(bool flag)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  mark_terminal(bool flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: Context::OverflowSpan
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OverflowSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: Context::key_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView key_of(self_type *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash_Func
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:614,1
    - Dst: Hash_Func
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: Context::hash_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - Hash_Func
    linkageType: ''
    returnType: auto
    signature: auto hash_of(swoc::TextView const &text) -> decltype(Hash_Func(text))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: Context::equal
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(swoc::TextView const &lhs, swoc::TextView const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - swoc::TextView
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: Context::TxnVar
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TxnVar(swoc::TextView const &name, Feature const &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: Context::key_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView key_of(self_type *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash_Func
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:649,1
    - Dst: Hash_Func
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: Context::hash_of
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - Hash_Func
    linkageType: ''
    returnType: auto
    signature: auto hash_of(swoc::TextView const &text) -> decltype(Hash_Func(text))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - swoc::TextView
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: Context::equal
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(swoc::TextView const &lhs, swoc::TextView const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - span
    argTypes:
    - swoc::TextView
    - swoc::MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: Context::NamedObject
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NamedObject(swoc::TextView const &name, swoc::MemSpan<void> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::store_txn_var
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - swoc::TextView
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: Context::store_txn_var
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 2
    functionsReached:
    - Context::store_txn_var
    linkageType: ''
    returnType: auto
    signature: auto Context::store_txn_var(swoc::TextView const &name, Feature &&value)
      -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:701,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:701,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:701,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 704
    functionName: '&

      Context::mark_for_cleanup(T *ptr)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - make
    - static_cast<T *>
    - append
    - std::destroy_at
    linkageType: ''
    returnType: Context
    signature: 'Context &

      Context::mark_for_cleanup(T *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:710,1
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: '&

      Context::mark_for_cleanup(T *ptr, void (*cleaner)(T *))'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - make
    - append
    linkageType: ''
    returnType: Context
    signature: 'Context &

      Context::mark_for_cleanup(T *ptr, void (*cleaner)(T *))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::commit_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:718,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - count
    - align
    argTypes:
    - unsigned
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: Context::alloc_span
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 9
    functionsReached:
    - Context::commit_transient
    - alloc
    linkageType: ''
    returnType: swoc::MemSpan<T>
    signature: swoc::MemSpan<T> Context::alloc_span(unsigned count, size_t align)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:725,1
    - Dst: subspan
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:726,1
    - Dst: Context::overflow_storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - span
    argTypes:
    - ReservedSpan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 729
    functionName: Context::storage_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 5
    functionsReached:
    - subspan
    - size
    - Context::overflow_storage_for
    linkageType: ''
    returnType: swoc::MemSpan<void>
    signature: swoc::MemSpan<void> Context::storage_for(ReservedSpan const &span)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context::storage_for
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:735,1
    - Dst: reinterpret_cast<ReservedStatus *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:736,1
    - Dst: reinterpret_cast<std::byte *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:736,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:736,1
    - Dst: swoc::Scalar<8>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:737,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:737,1
    - Dst: auto::apply
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:739,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - span
    argTypes:
    - ReservedSpan
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 743
    functionName: Context::initialized_storage_for
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - T::T
    - auto::apply
    - swoc::Scalar<8>
    - reinterpret_cast<ReservedStatus *>
    - Context::storage_for
    - auto::data
    - reinterpret_cast<std::byte *>
    linkageType: ''
    returnType: swoc::MemSpan<T>
    signature: swoc::MemSpan<T> Context::initialized_storage_for(ReservedSpan const
      &span)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: '&

      Context::cfg()'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Config
    signature: 'Config &

      Context::cfg()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: Context::acquire_cfg
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Config>
    signature: std::shared_ptr<Config> Context::acquire_cfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemArena*::swoc::MemArena::~MemArena
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - swoc::MemArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: Context::ArenaDestructor::operator()(swoc::MemArena *arena)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached:
    - swoc::MemArena*::swoc::MemArena::~MemArena
    linkageType: ''
    returnType: void
    signature: void Context::ArenaDestructor::operator()(swoc::MemArena *arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:766,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:767,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:768,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 770
    functionName: Context::clear_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Context::clear_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: Context::transient_finalize
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Context::transient_finalize(size_t n) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: '&

      Context::transient_discard()'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Context::self_type
    signature: 'Context::self_type &

      Context::transient_discard()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:795,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:796,1
    - Dst: Context::transient_buffer
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:796,1
    - Dst: extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:799,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:802,1
    - Dst: extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:803,1
    - Dst: error
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:804,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:805,1
    - Dst: Context::transient_discard
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:805,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:806,1
    - Dst: extent
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:807,1
    - Dst: view
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:809,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:810,1
    - Dst: Context::transient_finalize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:812,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 816
    functionName: Context::render_transient
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 11
    functionsReached:
    - view
    - auto::remove_prefix
    - Context::transient_finalize
    - emplace
    - Context::transient_buffer
    - has_value
    - error
    - reset
    - Context::transient_discard
    - assign
    - extent
    - f
    linkageType: ''
    returnType: FeatureView
    signature: FeatureView Context::render_transient(F const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::commit_transient
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:822,1
    - Dst: Context::_arena::alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:823,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:823,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 824
    functionName: Context::make
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 6
    functionsReached:
    - std::forward<Args>
    - Context::commit_transient
    - Context::_arena::alloc
    - T::T
    linkageType: ''
    returnType: T
    signature: 'T *

      Context::make(Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::inbound_ssn
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: Context::inbound_ssn
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 5
    functionsReached:
    - Context::inbound_ssn
    linkageType: ''
    returnType: ts::HttpSsn
    signature: ts::HttpSsn Context::inbound_ssn()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:836,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:837,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:838,1
    - Dst: auto::_span::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:838,1
    - Dst: Context::alloc_span
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:841,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:842,1
    - Dst: Context::make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:842,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:843,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:843,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: Context::obtain_named_object
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - Context::alloc_span
    - T::T
    - insert
    - find
    - static_cast<T *>
    - end
    - Context::make
    - auto::data
    - auto::_span::data
    linkageType: ''
    returnType: T
    signature: 'T *

      Context::obtain_named_object(swoc::TextView name, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:850,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:851,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:851,1
    - Dst: auto::_span::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 852
    functionName: Context::named_object
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Context.h
    functionUses: 2
    functionsReached:
    - find
    - auto::_span::data
    - static_cast<T *>
    - end
    linkageType: ''
    returnType: T
    signature: 'T *

      Context::named_object(swoc::TextView name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - YAML::const_iterator::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '&

      get<0>(YAML::const_iterator::value_type const &v)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: 'YAML::Node &

      get<0>(YAML::const_iterator::value_type const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - YAML::const_iterator::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '&

      get<1>(YAML::const_iterator::value_type const &v)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: 'YAML::Node &

      get<1>(YAML::const_iterator::value_type const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - YAML::iterator::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 930
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node get<0>(YAML::iterator::value_type &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - YAML::iterator::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: get
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 930
    functionsReached: []
    linkageType: ''
    returnType: YAML::Node
    signature: YAML::Node get<1>(YAML::iterator::value_type &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - mark
    argTypes:
    - BufferWriter
    - YAML::Mark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 26
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, YAML::Mark const &mark)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - mark
    argTypes:
    - BufferWriter
    - YAML::Mark
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: swoc::bwformat
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 26
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, YAML::Mark const &mark)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node
    - std::string_view::size
    - std::string_view::data
    - std::string
    linkageType: ''
    returnType: Node
    signature: Node encode(std::string_view const &sv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:135,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - sv
    argTypes:
    - Node
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node::IsScalar
    - Node::Scalar
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, std::string_view &sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node
    - swoc::TextView::size
    - swoc::TextView::data
    - std::string
    linkageType: ''
    returnType: Node
    signature: Node encode(swoc::TextView const &tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:153,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:156,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - tv
    argTypes:
    - Node
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node::IsScalar
    - Node::Scalar
    - swoc::TextView::assign
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, swoc::TextView &tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node
    - std::string_view::size
    - std::string_view::data
    - std::string
    linkageType: ''
    returnType: Node
    signature: Node encode(std::string_view const &sv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:135,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - sv
    argTypes:
    - Node
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node::IsScalar
    - Node::Scalar
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, std::string_view &sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    - Dst: swoc::TextView::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: YAML::encode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node
    - swoc::TextView::size
    - swoc::TextView::data
    - std::string
    linkageType: ''
    returnType: Node
    signature: Node encode(swoc::TextView const &tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:153,1
    - Dst: swoc::TextView::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:156,1
    - Dst: Node::Scalar
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - tv
    argTypes:
    - Node
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: YAML::decode
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/yaml_util.h
    functionUses: 0
    functionsReached:
    - Node::IsScalar
    - Node::Scalar
    - swoc::TextView::assign
    linkageType: ''
    returnType: bool
    signature: bool decode(const Node &node, swoc::TextView &tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Config::ActiveFeatureScope::ActiveFeatureScope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveFeatureScope(Config &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Config::ActiveFeatureScope::ActiveFeatureScope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveFeatureScope(self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Config::ActiveFeatureScope::ActiveFeatureScope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveFeatureScope(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '&operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - Config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Config::ActiveCaptureScope::ActiveCaptureScope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveCaptureScope(Config &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Config::ActiveCaptureScope::ActiveCaptureScope
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActiveCaptureScope(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '&operator=(self_type const &that)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: Config::mark_as_remap
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_remap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Config::pmr
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pmr::memory_resource
    signature: "std::pmr::memory_resource *\n  pmr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::localize
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: Config::localize
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 24
    functionsReached:
    - Config::localize
    linkageType: ''
    returnType: swoc::TextView
    signature: swoc::TextView localize(std::string_view const &text, LocalOpt opt
      = LOCAL_VIEW)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: Config::localize
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto localize(T &) -> EnableForFeatureTypes<T, self_type &>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: Config::alloc_span
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 14
    functionsReached:
    - alloc
    linkageType: ''
    returnType: swoc::MemSpan<T>
    signature: swoc::MemSpan<T> alloc_span(unsigned count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: Config::active_type
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: ActiveType
    signature: ActiveType active_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexFor
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hook
    argTypes:
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: "&\n  reserve_slot(Hook hook)"
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - IndexFor
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n  reserve_slot(Hook hook)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: Config::file_count
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t file_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: Config::reserved_ctx_storage_size
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t reserved_ctx_storage_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: Config::active_value
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 1
    functionsReached:
    - static_cast<T *>
    linkageType: ''
    returnType: T
    signature: "T *\n  active_value(swoc::TextView const &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - var
    - value
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: Config::active_value_save
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void active_value_save(void *&var, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: ~active_value_save()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~active_value_save()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Config::active_value_save
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - swoc::TextView
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: Config::active_value_let
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 1
    functionsReached:
    - Config::active_value_save
    linkageType: ''
    returnType: active_value_save
    signature: active_value_save active_value_let(swoc::TextView const &name, void
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:666,1
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:666,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:666,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:666,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: Config::FileInfo::has_cfg_key(swoc::TextView key) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::find_if
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool Config::FileInfo::has_cfg_key(swoc::TextView key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: Config::FileInfo::add_cfg_key(swoc::TextView key)
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Config::FileInfo::add_cfg_key(swoc::TextView key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Config::ActiveCaptureScope::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: Config::ActiveCaptureScope::ActiveCaptureScope(Config::ActiveCaptureScope::self_type
      &&that) noexcept
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::ActiveCaptureScope::ActiveCaptureScope(Config::ActiveCaptureScope::self_type
      &&that) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: Config::ActiveCaptureScope::~ActiveCaptureScope()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config::ActiveCaptureScope::~ActiveCaptureScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: Config::current_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Hook
    signature: Hook Config::current_hook() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: Config::has_top_level_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Config::has_top_level_directive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - Hook
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: '&

      Config::hook_directives(Hook hook) const'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: std::vector<Directive::Handle>
    signature: 'std::vector<Directive::Handle> &

      Config::hook_directives(Hook hook) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: '&

      Config::require_rxp_group_count(unsigned n)'
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: Config
    signature: 'Config &

      Config::require_rxp_group_count(unsigned n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:716,1
    - Dst: std::destroy_at
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:716,1
    - Dst: static_cast<T *>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:716,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 719
    functionName: Config::mark_for_cleanup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 3
    functionsReached:
    - make
    - static_cast<T *>
    - append
    - std::destroy_at
    linkageType: ''
    returnType: auto
    signature: auto Config::mark_for_cleanup(T *ptr) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Modifier::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: Config::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - Modifier::define
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Config::define()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Modifier::define
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: Config::define
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 0
    functionsReached:
    - Modifier::define
    linkageType: ''
    returnType: swoc::Errata
    signature: swoc::Errata Config::define(swoc::TextView name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:739,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:740,1
    - Dst: auto::second::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:741,1
    - Dst: Config::allocate_cfg_storage
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:743,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:745,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:745,1
    - Dst: T::T
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: Config::obtain_named_object
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 4
    functionsReached:
    - Config::allocate_cfg_storage
    - std::forward<Args>
    - T::T
    - find
    - auto::second::rebind
    - end
    - auto::data
    linkageType: ''
    returnType: T
    signature: 'T *

      Config::obtain_named_object(swoc::TextView name, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:752,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:753,1
    - Dst: auto::second::rebind
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: Config::named_object
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Config.h
    functionUses: 6
    functionsReached:
    - find
    - auto::second::rebind
    - end
    linkageType: ''
    returnType: T
    signature: 'T *

      Config::named_object(swoc::TextView name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Comparison()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Comparison()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: operator()(Context &, std::monostate) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, std::monostate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: operator()(Context &, nil_value) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, nil_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: operator()(Context &, feature_type_for<STRING> const &) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<STRING> const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: operator()(Context &, feature_type_for<INTEGER>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<INTEGER>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: operator()(Context &, feature_type_for<BOOLEAN>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<BOOLEAN>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: operator()(Context &, feature_type_for<FLOAT>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<FLOAT>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: operator()(Context &, feature_type_for<IP_ADDR> const &) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<IP_ADDR> const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: operator()(Context &, feature_type_for<DURATION>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<DURATION>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: operator()(Context &, feature_type_for<TIMEPOINT>) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<TIMEPOINT>) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: operator()(Context &, Cons const *) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, Cons const *) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: operator()(Context &, feature_type_for<TUPLE> const &) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &, feature_type_for<TUPLE> const &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: operator()(Context &ctx, Feature const &feature) const
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached:
    - std::visit
    linkageType: ''
    returnType: bool
    signature: bool operator()(Context &ctx, Feature const &feature) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: ~ComparisonGroupBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ComparisonGroupBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ComparisonGroup::ComparisonGroup
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComparisonGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComparisonGroup::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: ComparisonGroup::begin
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 1
    functionsReached:
    - ComparisonGroup::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComparisonGroup::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: ComparisonGroup::end
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 1
    functionsReached:
    - ComparisonGroup::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComparisonGroup::begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: ComparisonGroup::begin
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 2
    functionsReached:
    - ComparisonGroup::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComparisonGroup::end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: ComparisonGroup::end
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 2
    functionsReached:
    - ComparisonGroup::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:303,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:304,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:304,1
    - Dst: ComparisonGroup<W>::super_type::load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: ComparisonGroup<W>::load
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached:
    - reserve
    - ComparisonGroup<W>::super_type::load
    - YAML::Node::size
    - YAML::Node::IsSequence
    linkageType: ''
    returnType: auto
    signature: auto ComparisonGroup<W>::load(Config &cfg, YAML::Node node) -> Errata
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: W::pre_load
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:314,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:314,1
    - Dst: YAML::Node::size
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:320,1
    - Dst: ComparisonGroup<W>::load_cmp
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:321,1
    - Dst: auto::is_ok
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:322,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:323,1
    - Dst: W::assign
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:325,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:325,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:328,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cfg
    - node
    argTypes:
    - Config
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 330
    functionName: ComparisonGroup<W>::load_case
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached:
    - YAML::Node::size
    - W::pre_load
    - emplace_back
    - W::assign
    - auto::is_ok
    - ComparisonGroup<W>::load_cmp
    - std::move
    linkageType: ''
    returnType: auto
    signature: auto ComparisonGroup<W>::load_case(Config &cfg, YAML::Node node) ->
      Errata
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:336,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:336,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - Context
    - Feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: ComparisonGroup<W>::operator()(Context &ctx, Feature const &feature)
      -> iterator
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/plugin/include/txn_box/Comparison.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: auto ComparisonGroup<W>::operator()(Context &ctx, Feature const &feature)
      -> iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLSessionCache::getSession
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/unit_test_main.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/unit_tests/unit_test_main.cc
    functionUses: 6
    functionsReached:
    - SSLSessionCache::getSession
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: generateKVFrom
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: auto
    signature: auto generateKVFrom(T const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:219,1
    - Dst: std::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::forward<F>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::chrono::duration_cast<Time>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:221,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: test_helper::run
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::forward<F>
    - std::chrono::duration_cast<Time>
    - std::invoke
    - failover_now
    linkageType: ''
    returnType: auto
    signature: auto run(F &&f, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:219,1
    - Dst: std::invoke
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::forward<F>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:220,1
    - Dst: std::chrono::duration_cast<Time>
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:221,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: test_helper::run
    functionSourceFile: /src/trafficserver/plugins/experimental/txn_box/unit_tests/test_accl_utils.cc
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::forward<F>
    - std::chrono::duration_cast<Time>
    - std::invoke
    - failover_now
    linkageType: ''
    returnType: auto
    signature: auto run(F &&f, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - b
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: edit_t
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void edit_t(size_t s, size_t b, const std::string &r, int p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - edit_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: operator!=(const edit_t &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const edit_t &x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - edit_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: operator<(const edit_t &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const edit_t &x) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: editset_t::insert
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:149,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:152,1
    - Dst: editset_t::erase
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - edits
    argTypes:
    - editset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: saveto
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - editset_t::erase
    - editset_t::insert
    linkageType: ''
    returnType: bool
    signature: bool saveto(editset_t &edits) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:180,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:182,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:185,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:187,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:194,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:197,1
    - Dst: match
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:202,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:204,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tx
    argTypes:
    - TSHttpTxn
    assertStmts:
    - condition: (*p != '\0')
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    constantsTouched: []
    func_position:
      end: 208
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 208
    functionName: scope_t::in_scope
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - match
    - strncasecmp
    - TSError
    - TSHandleMLocRelease
    - TSUrlStringGet
    - TSHttpTxnPristineUrlGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool in_scope(TSHttpTxn tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: scope_t::scope_t
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scope_t(const bool u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: ~scope_t()
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~scope_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: rxscope::match
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - regexec
    linkageType: ''
    returnType: bool
    signature: bool match(const char *str) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:229,1
    - Dst: regcomp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:230,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:232,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:233,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:234,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - u
    - i
    - pattern
    - len
    argTypes:
    - bool
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: rxscope::rxscope
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - std::runtime_error
    - TSError
    - regcomp
    - TSstrndup
    linkageType: ''
    returnType: void
    signature: void rxscope(const bool u, const bool i, const char *pattern, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: ~rxscope() override
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - regfree
    linkageType: ''
    returnType: void
    signature: void ~rxscope() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: strscope::match
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool match(const char *p) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - u
    - i
    - pattern
    - len
    argTypes:
    - bool
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: strscope::strscope
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSstrndup
    linkageType: ''
    returnType: void
    signature: void strscope(const bool u, const bool i, const char *pattern, int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: ~strscope() override
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void ~strscope() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: ~match_t()
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~match_t()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:282,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - buf
    - len
    - found
    - found_len
    - to
    - repl
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: strmatch::find
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - strcasestr
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool find(const char *buf, size_t len, size_t &found, size_t &found_len,
      const char *to, std::string &repl) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - pattern
    - len
    argTypes:
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: strmatch::strmatch
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSstrndup
    linkageType: ''
    returnType: void
    signature: void strmatch(const bool i, const char *pattern, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: ~strmatch() override
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void ~strmatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: strmatch::cont_size
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cont_size() const override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:319,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:328,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:332,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:338,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:341,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - buf
    - found
    - found_len
    - tmpl
    - repl
    argTypes:
    - char*
    - size_t
    - size_t
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 353
    functionName: rxmatch::find
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - std::string::append
    - isdigit
    - regexec
    linkageType: ''
    returnType: bool
    signature: "bool find(const char *buf, size_t /* len ATS_UNUSED */, size_t &found,
      size_t &found_len, const char *tmpl,\n       std::string &repl) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: rxmatch::cont_size
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cont_size() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:363,1
    - Dst: regcomp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:365,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:367,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:368,1
    - Dst: std::runtime_error
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:369,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - i
    - pattern
    - sz
    - match_max
    argTypes:
    - bool
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: rxmatch::rxmatch
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - std::runtime_error
    - TSError
    - regcomp
    - TSstrndup
    linkageType: ''
    returnType: void
    signature: void rxmatch(bool i, const char *pattern, size_t sz, size_t match_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: ~rxmatch() override
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - regfree
    linkageType: ''
    returnType: void
    signature: void ~rxmatch() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - line
    - ','
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: PARSE_VERIFY
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_VERIFY(line, x, str)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:396,1
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:397,1
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:398,1
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:399,1
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:400,1
    - Dst: PARSE_VERIFY
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:407,1
    - Dst: PARSE_VERIFY
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:408,1
    - Dst: PARSE_VERIFY
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:409,1
    - Dst: PARSE_VERIFY
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:410,1
    - Dst: PARSE_VERIFY
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:411,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:420,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:439,1
    - Dst: strcspn
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:440,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:442,1
    - Dst: strcspn
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:447,1
    - Dst: rxmatch::rxmatch
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:451,1
    - Dst: strmatch::strmatch
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:453,1
    - Dst: strcspn
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:474,1
    - Dst: rxscope::rxscope
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:476,1
    - Dst: strscope::strscope
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:478,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:484,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:491,1
    - Dst: strcspn
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:492,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:494,1
    - Dst: strcspn
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:499,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:502,1
    - Dst: int::int
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:504,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 394
    functionDepth: 5
    functionLinenumber: 394
    functionLinenumberEnd: 505
    functionName: rule_t::rule_t
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - strcasestr
    - strmatch::strmatch
    - isdigit
    - rxscope::rxscope
    - int::int
    - rxmatch::rxmatch
    - strchr
    - strcspn
    - strscope::strscope
    - PARSE_VERIFY
    - TSstrndup
    - isalnum
    linkageType: ''
    returnType: void
    signature: void rule_t(const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - rule_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: rule_t::rule_t
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rule_t(const rule_t &r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 524
    functionName: ~rule_t()
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSfree
    linkageType: ''
    returnType: void
    signature: void ~rule_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rule_t::in_scope
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tx
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 531
    functionName: rule_t::in_scope
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 1
    functionsReached:
    - rule_t::in_scope
    linkageType: ''
    returnType: bool
    signature: bool in_scope(TSHttpTxn tx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rule_t::cont_size
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: rule_t::cont_size
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 1
    functionsReached:
    - rule_t::cont_size
    linkageType: ''
    returnType: size_t
    signature: size_t cont_size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:549,1
    - Dst: edit_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - len
    - edits
    argTypes:
    - char*
    - size_t
    - editset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 557
    functionName: rule_t::apply
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - find
    - edit_t
    linkageType: ''
    returnType: void
    signature: void apply(const char *buf, size_t len, editset_t &edits) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: contdata_t
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void contdata_t()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:578,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:581,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: ~contdata_t()
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~contdata_t()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: set_cont_size
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cont_size(size_t sz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contdata_t*::contbuf::c_str
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:608,1
    - Dst: contdata_t*::contbuf::length
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:609,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:612,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:613,1
    - Dst: contdata_t*::contbuf::empty
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:615,1
    - Dst: contdata_t*::contbuf::append
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:619,1
    - Dst: contdata_t*::contbuf::c_str
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:620,1
    - Dst: contdata_t*::contbuf::length
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:621,1
    - Dst: apply
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:630,1
    - Dst: editset_t::begin
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:633,1
    - Dst: editset_t::end
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:633,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:645,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:646,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:656,1
    - Dst: edit_p::repl::c_str
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:656,1
    - Dst: edit_p::repl::length
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:656,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:657,1
    - Dst: edit_p::repl::length
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:657,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - contdata
    - reader
    argTypes:
    - contdata_t*
    - TSIOBufferReader
    assertStmts:
    - condition: (n == p->repl.length())
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    - condition: (n > 0)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    constantsTouched: []
    func_position:
      end: 675
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 675
    functionName: process_block
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - contdata_t*::contbuf::length
    - contdata_t*::contbuf::c_str
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - contdata_t*::contbuf::append
    - TSIOBufferWrite
    - edit_p::repl::c_str
    - editset_t::begin
    - edit_p::repl::length
    - contdata_t*::contbuf::empty
    - apply
    - editset_t::end
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t process_block(contdata_t *contdata, TSIOBufferReader reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<contdata_t *>
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:685,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:685,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:686,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:687,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:690,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:691,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:692,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:692,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:695,1
    - Dst: process_block
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:698,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:699,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:700,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:705,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:710,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:710,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:711,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:719,1
    - Dst: process_block
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:720,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:721,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:722,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:722,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:725,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:730,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:730,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:735,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:735,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 738
    functionName: streamedit_process
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - process_block
    - TSVConnWrite
    - TSVIOReenable
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - static_cast<contdata_t *>
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void streamedit_process(TSCont contp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:748,1
    - Dst: static_cast<contdata_t *>
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:749,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:749,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:756,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:757,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:757,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:760,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:760,1
    - Dst: streamedit_process
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 767
    functionName: streamedit_filter
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - streamedit_process
    - TSContCall
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSVConnShutdown
    - TSContDataGet
    - static_cast<contdata_t *>
    linkageType: ''
    returnType: int
    signature: int streamedit_filter(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:772,1
    - Dst: static_cast<ruleset_t *>
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:774,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:774,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:776,1
    - Dst: in_scope
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:780,1
    - Dst: contdata_t::contdata_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:782,1
    - Dst: contdata_t*::rules::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:784,1
    - Dst: contdata_t*::set_cont_size
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:785,1
    - Dst: cont_size
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:785,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:795,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:796,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:799,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:801,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: ((event == TS_EVENT_HTTP_READ_RESPONSE_HDR) || (event == TS_EVENT_HTTP_READ_REQUEST_HDR))
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    constantsTouched: []
    func_position:
      end: 807
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 807
    functionName: streamedit_setup
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - cont_size
    - static_cast<ruleset_t *>
    - contdata_t::contdata_t
    - TSHttpTxnHookAdd
    - contdata_t*::rules::push_back
    - contdata_t*::set_cont_size
    - TSContDataSet
    - TSTransformCreate
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - in_scope
    - TSHttpTxnReenable
    - assert
    linkageType: ''
    returnType: int
    signature: int streamedit_setup(TSCont contp, TSEvent event, void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:813,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:816,1
    - Dst: fgets
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:819,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:821,1
    - Dst: ruleset_up_t::reset
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:823,1
    - Dst: ruleset_t::ruleset_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:823,1
    - Dst: ruleset_up_t::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:825,1
    - Dst: rule_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:825,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:826,1
    - Dst: ruleset_up_t::reset
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:828,1
    - Dst: ruleset_t::ruleset_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:828,1
    - Dst: ruleset_up_t::push_back
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:830,1
    - Dst: rule_t
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:830,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:833,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - filename
    - in
    - out
    argTypes:
    - char*
    - ruleset_up_t
    - ruleset_up_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 837
    functionName: read_conf
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - ruleset_up_t::push_back
    - strncasecmp
    - TSError
    - fclose
    - fopen
    - ruleset_up_t::reset
    - ruleset_t::ruleset_t
    - rule_t
    - fgets
    linkageType: ''
    returnType: void
    signature: void read_conf(const char *filename, ruleset_up_t &in, ruleset_up_t
      &out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:851,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:852,1
    - Dst: read_conf
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:858,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:862,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:863,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:865,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:867,1
    - Dst: ruleset_up_t::release
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:867,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:868,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:871,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:875,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:876,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:878,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:880,1
    - Dst: ruleset_up_t::release
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:880,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:881,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc:884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 886
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/stream_editor/stream_editor.cc
    functionUses: 0
    functionsReached:
    - TSError
    - ruleset_up_t::release
    - TSContDataSet
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - read_conf
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountVector_t
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: CountMap_t::begin
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: CountMap_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: sort
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    - Dst: CountVector_t::begin
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    - Dst: CountVector_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - map
    - ss
    argTypes:
    - CountMap_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Log_Sorted_Map
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - sort
    - CountMap_t::end
    - CountVector_t
    - CountVector_t::begin
    - CountVector_t::end
    - CountMap_t::begin
    linkageType: ''
    returnType: void
    signature: void Log_Sorted_Map(CountMap_t const &map, std::ostream &ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:88,1
    - Dst: Log_Sorted_Map
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:91,1
    - Dst: Log_Sorted_Map
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:96,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ss
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: Log_Data
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - Log_Sorted_Map
    - std::string
    linkageType: ''
    returnType: void
    signature: void Log_Data(std::ostream &ss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:108,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:108,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:110,1
    - Dst: std::string*::find
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:116,1
    - Dst: std::string*::substr
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:117,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:119,1
    - Dst: std::string::back
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:119,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:120,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:122,1
    - Dst: std::ofstream::open
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:124,1
    - Dst: std::ofstream::is_open
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:125,1
    - Dst: Log_Data
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:126,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:131,1
    - Dst: Log_Data
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:135,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: CB_Command_Log
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<std::string *>
    - TSError
    - std::string::length
    - TSContDestroy
    - std::ofstream::open
    - std::ofstream::is_open
    - std::string*::substr
    - TSContDataGet
    - std::string::pop_back
    - std::string*::find
    - Log_Data
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int CB_Command_Log(TSCont contp, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:152,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:154,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:159,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:160,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:164,1
    - Dst: CountMap_t::find
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:169,1
    - Dst: CountMap_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:169,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:171,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:182,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:183,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - map
    argTypes:
    - TSMBuffer
    - TSMLoc
    - CountMap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: count_all_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - CountMap_t::end
    - TSHandleMLocRelease
    - TSMimeHdrFieldGet
    - tolower
    - CountMap_t::find
    - std::string
    - Dbg
    - TSMimeHdrFieldNext
    - std::shared_lock::unlock
    - TSMimeHdrFieldNameGet
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: void
    signature: void count_all_headers(TSMBuffer &bufp, TSMLoc &hdr_loc, CountMap_t
      &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:206,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:209,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:213,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:214,1
    - Dst: count_all_headers
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:218,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - txnp
    - event
    - freq_map
    argTypes:
    - TSHttpTxn
    - TSEvent
    - CountMap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: handle_header_event
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientRespGet
    - TSError
    - count_all_headers
    - TSHttpTxnClientReqGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handle_header_event(TSHttpTxn txnp, TSEvent event, CountMap_t &freq_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:234,1
    - Dst: handle_header_event
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:238,1
    - Dst: handle_header_event
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:239,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 7
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: header_handle_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - handle_header_event
    - Dbg
    - reinterpret_cast<TSHttpTxn>
    - TSError
    linkageType: ''
    returnType: int
    signature: int header_handle_hook(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:259,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:261,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:264,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:264,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:265,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:266,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:266,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: std::string::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:268,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:270,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:272,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:272,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:273,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: msg_handle_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strncasecmp
    - TSError
    - TSContScheduleOnPool
    - static_cast<TSPluginMsg *>
    - TSContDataSet
    - Dbg
    - TSContCreate
    - strcasecmp
    - static_cast<const char *>
    - TSMutexCreate
    - std::string::string
    linkageType: ''
    returnType: int
    signature: int msg_handle_hook(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountVector_t
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: CountMap_t::begin
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: CountMap_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:76,1
    - Dst: sort
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    - Dst: CountVector_t::begin
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    - Dst: CountVector_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - map
    - ss
    argTypes:
    - CountMap_t
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Log_Sorted_Map
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 1
    functionsReached:
    - sort
    - CountMap_t::end
    - CountVector_t
    - CountVector_t::begin
    - CountVector_t::end
    - CountMap_t::begin
    linkageType: ''
    returnType: void
    signature: void Log_Sorted_Map(CountMap_t const &map, std::ostream &ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:88,1
    - Dst: Log_Sorted_Map
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:91,1
    - Dst: Log_Sorted_Map
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:96,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ss
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: Log_Data
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 1
    functionsReached:
    - Log_Sorted_Map
    - std::string
    linkageType: ''
    returnType: void
    signature: void Log_Data(std::ostream &ss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:108,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:108,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:110,1
    - Dst: std::string*::find
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:116,1
    - Dst: std::string*::substr
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:117,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:119,1
    - Dst: std::string::back
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:119,1
    - Dst: std::string::pop_back
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:120,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:122,1
    - Dst: std::ofstream::open
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:124,1
    - Dst: std::ofstream::is_open
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:125,1
    - Dst: Log_Data
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:126,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:128,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:131,1
    - Dst: Log_Data
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:135,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: CB_Command_Log
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - static_cast<std::string *>
    - TSError
    - std::string::length
    - TSContDestroy
    - std::ofstream::open
    - std::ofstream::is_open
    - std::string*::substr
    - TSContDataGet
    - std::string::pop_back
    - std::string*::find
    - Log_Data
    - strerror
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int CB_Command_Log(TSCont contp, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:152,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:153,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:154,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:159,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:160,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:164,1
    - Dst: CountMap_t::find
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:169,1
    - Dst: CountMap_t::end
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:169,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:171,1
    - Dst: TSMimeHdrFieldNext
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:182,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:183,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bufp
    - hdr_loc
    - map
    argTypes:
    - TSMBuffer
    - TSMLoc
    - CountMap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: count_all_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 1
    functionsReached:
    - CountMap_t::end
    - TSHandleMLocRelease
    - TSMimeHdrFieldGet
    - tolower
    - CountMap_t::find
    - std::string
    - Dbg
    - TSMimeHdrFieldNext
    - std::shared_lock::unlock
    - TSMimeHdrFieldNameGet
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: void
    signature: void count_all_headers(TSMBuffer &bufp, TSMLoc &hdr_loc, CountMap_t
      &map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:206,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:209,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:213,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:214,1
    - Dst: count_all_headers
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:218,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - txnp
    - event
    - freq_map
    argTypes:
    - TSHttpTxn
    - TSEvent
    - CountMap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: handle_header_event
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 1
    functionsReached:
    - TSHttpTxnClientRespGet
    - TSError
    - count_all_headers
    - TSHttpTxnClientReqGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handle_header_event(TSHttpTxn txnp, TSEvent event, CountMap_t &freq_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:234,1
    - Dst: handle_header_event
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:235,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:238,1
    - Dst: handle_header_event
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:239,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 7
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: header_handle_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - handle_header_event
    - Dbg
    - reinterpret_cast<TSHttpTxn>
    - TSError
    linkageType: ''
    returnType: int
    signature: int header_handle_hook(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:259,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:261,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:264,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:264,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:265,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:266,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:266,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: std::string::string
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:267,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:268,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:270,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:272,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:272,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:273,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: msg_handle_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strncasecmp
    - TSError
    - TSContScheduleOnPool
    - static_cast<TSPluginMsg *>
    - TSContDataSet
    - Dbg
    - TSContCreate
    - strcasecmp
    - static_cast<const char *>
    - TSMutexCreate
    - std::string::string
    linkageType: ''
    returnType: int
    signature: int msg_handle_hook(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:291,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:295,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:296,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:299,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:302,1
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:303,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:306,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:307,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:309,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:312,1
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:313,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/header_freq/header_freq.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSError
    - TSHttpHookAdd
    - Dbg
    - TSContCreate
    - abort
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:43,1
    - Dst: static_cast<AsyncInfo *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:44,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:44,1
    - Dst: Context*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:47,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:50,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:57,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:57,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:59,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:61,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:64,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:65,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:66,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:67,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:68,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:69,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:73,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:75,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:76,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:78,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:80,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:87,1
    - Dst: Context*::setHttpCallResult
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:89,1
    - Dst: Context*::onHttpCallResponse
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:91,1
    - Dst: Context*::resetHttpCallResult
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:92,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:97,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:100,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:103,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: ats_wasm::async_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDestroy
    - TSHttpParserDestroy
    - TSHttpHdrParseResp
    - static_cast<TSEvent>
    - TSContDataGet
    - Context*::setHttpCallResult
    - Context*::onHttpCallResponse
    - static_cast<AsyncInfo *>
    - Context*::resetHttpCallResult
    - TSHttpHdrStatusGet
    - Context*::wasm
    - TSHttpHdrTypeSet
    - TSError
    - Dbg
    - TSMutexUnlock
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSMutexLock
    - TSFetchRespGet
    - TSHttpHdrCreate
    - Wasm*::mutex
    - TSMBufferDestroy
    - static_cast<TSHttpTxn>
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: int
    signature: int async_handler(TSCont cont, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:122,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:123,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:126,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:130,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:130,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:132,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ip
    - result
    argTypes:
    - struct sockaddr*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: ats_wasm::print_address
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - std::string*::assign
    - reinterpret_cast<const struct sockaddr_in *>
    - Dbg
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void print_address(struct sockaddr const *ip, std::string *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:144,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:150,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:150,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:151,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ip
    - result
    argTypes:
    - struct sockaddr*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: ats_wasm::print_port
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<const struct sockaddr_in6 *>
    - std::string*::assign
    - reinterpret_cast<const struct sockaddr_in *>
    - reinterpret_cast<const char *>
    - Dbg
    linkageType: ''
    returnType: void
    signature: void print_port(struct sockaddr const *ip, std::string *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:165,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:165,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:171,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:174,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:176,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:176,1
    - Dst: BIO_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - result
    - name
    argTypes:
    - std::string*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: ats_wasm::print_certificate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string*::assign
    - BIO_free
    - BIO_get_mem_data
    - Dbg
    - BIO_s_mem
    - BIO_new
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void print_certificate(std::string *result, X509_NAME *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_by_NID
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:185,1
    - Dst: STACK_OF
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:188,1
    - Dst: X509_get_ext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:191,1
    - Dst: static_cast<stack_st_GENERAL_NAME *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:192,1
    - Dst: X509V3_EXT_d2i
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:192,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:194,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:197,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:199,1
    - Dst: ASN1_STRING_data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:199,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:200,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:201,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - result
    - cert
    - type
    argTypes:
    - std::string*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: ats_wasm::print_san_certificate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_data
    - ASN1_STRING_length
    - std::string*::assign
    - X509V3_EXT_d2i
    - sk_GENERAL_NAME_free
    - static_cast<stack_st_GENERAL_NAME *>
    - X509_get_ext_by_NID
    - X509_get_ext
    - sk_GENERAL_NAME_num
    - reinterpret_cast<char *>
    - STACK_OF
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: void
    signature: void print_san_certificate(std::string *result, X509 *cert, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:221,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:222,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:230,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:233,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:234,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:235,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:237,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - v
    - result
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 246
    functionName: ats_wasm::get_header
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::append
    - std::string_view::size
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool get_header(TSMBuffer bufp, TSMLoc hdr_loc, std::string_view v,
      std::string *result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:265,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:266,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:267,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:273,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:278,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:280,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:284,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:287,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - v
    - serialized_value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 293
    functionName: ats_wasm::set_header
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void set_header(TSMBuffer bufp, TSMLoc hdr_loc, std::string_view v,
      std::string_view serialized_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:301,1
    - Dst: proxy_wasm::BufferBase::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - wasm
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - WasmBase*
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: ats_wasm::Buffer::copyTo
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - WasmBase*::copyToPointerSize
    - proxy_wasm::BufferBase::copyTo
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Buffer::copyTo(WasmBase *wasm, size_t start, size_t length,
      uint64_t ptr_ptr, uint64_t size_ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - Wasm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wasm
    - plugin
    argTypes:
    - Wasm*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm, const std::shared_ptr<PluginBase>
      &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wasm
    - parent_context_id
    - plugin
    argTypes:
    - Wasm*
    - uint32_t
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - getContext
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm, uint32_t parent_context_id, const
      std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Wasm *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: ats_wasm::Context::wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<Wasm *>
    linkageType: ''
    returnType: Wasm
    signature: 'Wasm *

      Context::wasm() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: ats_wasm::Context::parent_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<Context *>
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::parent_context() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::parent_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:345,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: ats_wasm::Context::root_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<Context *>
    - ContextBase*::parent_context
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::root_context() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: ats_wasm::Context::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::initialize(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: ats_wasm::Context::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::initialize(TSCont cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: ats_wasm::Context::txnp
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpTxn
    signature: TSHttpTxn Context::txnp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ats_wasm::Context::scheduler_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont Context::scheduler_cont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: ats_wasm::Context::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSError
    - std::string_view::size
    - abort
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Context::error(std::string_view message)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:392,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:397,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:410,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:415,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:417,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:421,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:422,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:426,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:430,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 382
    functionDepth: 5
    functionLinenumber: 382
    functionLinenumberEnd: 436
    functionName: ats_wasm::Context::onLocalReply
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrReasonSet
    - TSMimeHdrFieldValueStringSet
    - std::string::size
    - std::string::data
    - TSError
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - empty
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void Context::onLocalReply()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LogLevel>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:444,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:465,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: ats_wasm::Context::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string
    - log_prefix
    - Dbg
    - std::string_view::size
    - unimplemented
    - static_cast<LogLevel>
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::log(uint32_t level, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: ats_wasm::Context::getCurrentTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Context::getCurrentTimeNanoseconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: ats_wasm::Context::getMonotonicTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Context::getMonotonicTimeNanoseconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: ats_wasm::Context::getConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Context::getConfiguration()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:491,1
    - Dst: ats_wasm::Context::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:492,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:493,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:493,1
    - Dst: Wasm*::existsTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:494,1
    - Dst: Context*::id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:494,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:495,1
    - Dst: Context*::scheduler_cont
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:498,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:499,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: static_cast<TSHRTime>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: Wasm*::setTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:504,1
    - Dst: Context*::id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:504,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:506,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - period
    - timer_token_ptr
    argTypes:
    - std::chrono::milliseconds
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: ats_wasm::Context::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::root_context
    - ats_wasm::Context::wasm
    - Context*::id
    - Context*::scheduler_cont
    - TSMutexLock
    - Wasm*::setTimerPeriod
    - TSContDataSet
    - Dbg
    - Wasm*::mutex
    - Wasm*::existsTimerPeriod
    - TSMutexUnlock
    - std::chrono::milliseconds::count
    - TSContScheduleOnPool
    - static_cast<TSHRTime>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setTimerPeriod(std::chrono::milliseconds period,
      uint32_t *timer_token_ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:515,1
    - Dst: vm_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:515,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:517,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:522,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - type
    argTypes:
    - WasmBufferType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: ats_wasm::Context::getBuffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - set
    - vm_configuration
    - std::string
    - static_cast<const char *>
    - unimplemented
    linkageType: ''
    returnType: BufferInterface
    signature: 'BufferInterface *

      Context::getBuffer(WasmBufferType type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:541,1
    - Dst: ats_wasm::Context::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:542,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:581,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:581,1
    - Dst: AsyncInfo::AsyncInfo
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:582,1
    - Dst: Wasm*::nextHttpCallId
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:583,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:586,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - request_headers
    - request_body
    - token_ptr
    argTypes:
    - Pairs
    - std::string_view
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 592
    functionName: ats_wasm::Context::httpCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::root_context
    - ats_wasm::Context::wasm
    - AsyncInfo::AsyncInfo
    - Wasm*::nextHttpCallId
    - std::string::size
    - TSContDataSet
    - reinterpret_cast<struct sockaddr const *>
    - TSContCreate
    - TSFetchUrl
    - TSMutexCreate
    - std::string::c_str
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult Context::httpCall(std::string_view /* target ATS_UNUSED
      */, const Pairs &request_headers, std::string_view             request_body,\n
      \                 const Pairs & /* request_trailers ATS_UNUSED */, int /* timeout_millisconds
      ATS_UNUSED */, uint32_t *token_ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MetricType>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:600,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:612,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:616,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:616,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:617,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:617,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - metric_type
    - name
    - metric_id_ptr
    argTypes:
    - uint32_t
    - std::string_view
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 626
    functionName: ats_wasm::Context::defineMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - static_cast<int>
    - TSError
    - static_cast<MetricType>
    - TSStatFindName
    - Dbg
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::defineMetric(uint32_t metric_type, std::string_view
      name, uint32_t *metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: ats_wasm::Context::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::incrementMetric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: ats_wasm::Context::recordMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntSet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::recordMetric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - value_ptr
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: ats_wasm::Context::getMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntGet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getMetric(uint32_t metric_id, uint64_t *value_ptr)
  - BBCount: 118
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:653,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:653,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:657,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:657,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:661,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:661,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:665,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:667,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:669,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:669,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:675,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:676,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:678,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:678,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:684,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:685,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:687,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:687,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:693,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:694,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:696,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:696,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:702,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:703,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:705,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:705,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:708,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:708,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:711,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:712,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:713,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:714,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:716,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:718,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:722,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:724,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:724,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:726,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:726,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:731,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:732,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:733,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:734,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:735,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:737,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:742,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:742,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:748,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:749,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:751,1
    - Dst: TSVConnSslProtocolGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:752,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:755,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:757,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:757,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:762,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:763,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:764,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:765,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:766,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:768,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:768,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:769,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:774,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:774,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:779,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:780,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:781,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:782,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:784,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:786,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:789,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:789,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:790,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:795,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:795,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:800,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:801,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:802,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:803,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:804,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:806,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:807,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:812,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:812,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:817,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:818,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:819,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:820,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:822,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:824,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:827,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:828,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:833,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:833,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:838,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:839,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:840,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:841,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:842,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:844,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:845,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:850,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:850,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:855,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:856,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:857,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:858,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:860,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:862,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:865,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:866,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:871,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:871,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:877,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:878,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:880,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:880,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:886,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:887,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:889,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:889,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:895,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:896,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:898,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:898,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:904,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:905,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:907,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:907,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:913,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:914,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:916,1
    - Dst: TSVConnSslProtocolGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:917,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:920,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:922,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:922,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:927,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:928,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:929,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:930,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:931,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:933,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:933,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:934,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:939,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:939,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:944,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:945,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:946,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:947,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:949,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:951,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:954,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:954,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:955,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:960,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:960,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:965,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:966,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:967,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:968,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:969,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:971,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:972,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:977,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:977,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:982,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:983,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:984,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:985,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:987,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:989,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:992,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:993,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:998,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:998,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1003,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1004,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1005,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1006,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1007,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1009,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1010,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1015,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1015,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1020,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1021,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1022,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1023,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1025,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1027,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1030,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1031,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1036,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1036,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1045,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1046,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1047,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1050,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1054,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1056,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1058,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1062,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1067,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1067,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1074,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1075,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1076,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1078,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1079,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1083,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1088,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1088,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1095,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1096,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1097,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1105,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1107,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1108,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1110,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1112,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1113,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1117,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1118,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1119,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1123,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1128,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1128,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1135,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1136,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1137,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1138,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1139,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1143,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1148,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1148,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1154,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1155,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1156,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1157,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1162,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1162,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1169,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1170,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1171,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1172,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1173,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1177,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1182,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1182,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1185,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1187,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1192,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1192,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1195,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1196,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1197,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1202,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1202,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1205,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1206,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1208,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1209,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1211,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1213,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1214,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1214,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1217,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1217,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1222,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1223,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1224,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1229,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1229,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1230,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1232,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1234,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1240,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1240,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1242,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1243,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1244,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1244,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1249,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1249,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1253,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1254,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1255,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1256,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1256,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1262,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1262,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1263,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1264,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1264,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1266,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1266,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1267,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1268,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1270,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1270,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1272,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1272,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1277,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1278,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1279,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1279,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1280,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1285,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1285,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1291,1
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1292,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1293,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1294,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1299,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1299,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1303,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1304,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1305,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1310,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1310,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1311,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1312,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1312,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1314,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1314,1
    - Dst: TSHttpTxnServerRespHdrBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1315,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1316,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1318,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1318,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1322,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 518
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - std::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 650
    functionDepth: 5
    functionLinenumber: 650
    functionLinenumberEnd: 1325
    functionName: ats_wasm::Context::getProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - X509_get_subject_name
    - static_cast<double>
    - TSHttpTxnMilestoneGet
    - TSVConnIsSsl
    - X509_free
    - TSHttpTxnClientReqGet
    - TSHttpSsnClientVConnGet
    - TSUrlSchemeGet
    - TSHttpTxnClientProtocolStackContains
    - size
    - TSHttpTxnServerRespGet
    - TSHttpTxnOutgoingAddrGet
    - print_certificate
    - TSMimeHdrFieldFind
    - print_address
    - std::string_view::substr
    - TSHttpHdrStatusGet
    - TSVConnSslProtocolGet
    - TSHttpTxnSsnGet
    - TSHttpTxnServerRespBodyBytesGet
    - TSHttpTxnIdGet
    - std::string_view::size
    - TSHttpTxnClientReqBodyBytesGet
    - TSHttpHdrReasonGet
    - reinterpret_cast<SSL *>
    - SSL_get1_peer_certificate
    - data
    - print_port
    - TSVConnSslConnectionGet
    - TSUrlHttpQueryGet
    - static_cast<int>
    - TSUrlPathGet
    - TSHttpTxnIncomingAddrGet
    - TSHttpTxnServerAddrGet
    - get_header
    - TSHttpTxnClientReqHdrBytesGet
    - Dbg
    - TSHttpSsnServerVConnGet
    - print_san_certificate
    - TSHttpHdrUrlGet
    - SSL_get_peer_certificate
    - std::to_string
    - TSHttpTxnClientAddrGet
    - TSMimeHdrFieldValueStringGet
    - reinterpret_cast<const char *>
    - TSUrlHostGet
    - SSL_get_servername
    - SSL_get_certificate
    - TSHttpTxnServerRespHdrBytesGet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getProperty(std::string_view path, std::string
      *result)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1330,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1330,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1336,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1337,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1342,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1343,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1345,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1347,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1350,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1350,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1355,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1356,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1358,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1360,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1363,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1363,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1368,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1369,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1371,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1373,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1376,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1376,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1380,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1382,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1385,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1385,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1390,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1391,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1393,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1395,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1398,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1398,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1404,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1405,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1406,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1409,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1409,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1413,1
    - Dst: reinterpret_cast<int64_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1415,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1415,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1416,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1419,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1419,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1423,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1425,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1428,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1428,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1434,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1435,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1436,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 2
    argNames:
    - key
    - serialized_value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1327
    functionDepth: 5
    functionLinenumber: 1327
    functionLinenumberEnd: 1441
    functionName: ats_wasm::Context::setProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - static_cast<TSHttpStatus>
    - set_header
    - TSHttpHdrMethodSet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - size
    - std::string_view::data
    - TSHttpHdrReasonSet
    - std::string_view::substr
    - TSUrlPathSet
    - std::string_view::size
    - TSUrlSchemeSet
    - reinterpret_cast<int64_t *>
    - TSUrlHostSet
    - TSHttpHdrUrlGet
    - const_cast<char *>
    - TSHttpHdrStatusSet
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setProperty(std::string_view key, std::string_view
      serialized_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1447,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1452,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1455,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1455,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1460
    functionName: ats_wasm::Context::continueStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - id
    - TSHttpTxnReenable
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::continueStream(WasmStreamType /* stream_type */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1466,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1471,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1474,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1474,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1462
    functionDepth: 3
    functionLinenumber: 1462
    functionLinenumberEnd: 1479
    functionName: ats_wasm::Context::closeStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - id
    - TSHttpTxnReenable
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::closeStream(WasmStreamType /* stream_type */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1487,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1490,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1490,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1492,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - response_code
    - body_text
    - additional_headers
    - details
    argTypes:
    - uint32_t
    - std::string_view
    - Pairs
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1482
    functionDepth: 4
    functionLinenumber: 1482
    functionLinenumberEnd: 1502
    functionName: ats_wasm::Context::sendLocalResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpStatus>
    - TSError
    - std::string_view::size
    - TSHttpTxnErrorBodySet
    - TSstrndup
    - std::string_view::data
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult Context::sendLocalResponse(uint32_t response_code, std::string_view
      body_text, Pairs additional_headers,\n                           GrpcStatusCode
      /* grpc_status */, std::string_view details)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1507,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: ats_wasm::Context::getSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getGlobalSharedData
    - vm_id
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getSharedData(std::string_view key, std::pair<std::string,
      uint32_t> *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1514,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1516,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1522,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1528,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1529,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1532,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - key
    - value
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1511
    functionDepth: 5
    functionLinenumber: 1511
    functionLinenumberEnd: 1536
    functionName: ats_wasm::Context::addHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringSet
    - std::string_view::size
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::addHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1541,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1543,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1551,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - type
    - key
    - result
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1538
    functionDepth: 5
    functionLinenumber: 1538
    functionLinenumberEnd: 1562
    functionName: ats_wasm::Context::getHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringGet
    - std::string_view::size
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1567,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1569,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1572,1
    - Dst: Pairs*::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1574,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1576,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1578,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1581,1
    - Dst: Pairs*::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1582,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result
    argTypes:
    - WasmHeaderMapType
    - Pairs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1564
    functionDepth: 5
    functionLinenumber: 1564
    functionLinenumberEnd: 1587
    functionName: ats_wasm::Context::getHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Pairs*::reserve
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringGet
    - auto::size
    - TSMimeHdrFieldGet
    - std::make_pair
    - static_cast<size_t>
    - std::string_view
    - TSMimeHdrFieldNameGet
    - Pairs*::push_back
    - ats_wasm::Context::getHeaderMap
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapPairs(WasmHeaderMapType type, Pairs
      *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1592,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1594,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1606,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1611,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1613,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1617,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1621,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - type
    - pairs
    argTypes:
    - WasmHeaderMapType
    - Pairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1589
    functionDepth: 5
    functionLinenumber: 1589
    functionLinenumberEnd: 1630
    functionName: ats_wasm::Context::setHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string::size
    - std::string::data
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - ats_wasm::Context::getHeaderMap
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setHeaderMapPairs(WasmHeaderMapType type, const
      Pairs &pairs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1635,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1637,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1643,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1644,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1632
    functionDepth: 5
    functionLinenumber: 1632
    functionLinenumberEnd: 1651
    functionName: ats_wasm::Context::removeHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::removeHeaderMapValue(WasmHeaderMapType type, std::string_view
      key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1656,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1658,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1667,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1672,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - type
    - key
    - value
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1653
    functionDepth: 5
    functionLinenumber: 1653
    functionLinenumberEnd: 1680
    functionName: ats_wasm::Context::replaceHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldValueStringSet
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::replaceHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1685,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1687,1
    - Dst: TSMimeHdrLengthGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - type
    - result
    argTypes:
    - WasmHeaderMapType
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1682
    functionDepth: 4
    functionLinenumber: 1682
    functionLinenumberEnd: 1692
    functionName: ats_wasm::Context::getHeaderMapSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::getHeaderMap
    - TSMimeHdrLengthGet
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapSize(WasmHeaderMapType type, uint32_t
      *result)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1703,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - type
    argTypes:
    - WasmHeaderMapType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1732
    functionName: ats_wasm::Context::getHeaderMap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 7
    functionsReached:
    - TSHttpTxnServerRespGet
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: HeaderMap
    signature: HeaderMap Context::getHeaderMap(WasmHeaderMapType type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:43,1
    - Dst: static_cast<AsyncInfo *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:44,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:44,1
    - Dst: Context*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:47,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:50,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:57,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:57,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:59,1
    - Dst: TSFetchRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:61,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:64,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:65,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:66,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:67,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:68,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:69,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:73,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:75,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:76,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:78,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:80,1
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:87,1
    - Dst: Context*::setHttpCallResult
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:88,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:89,1
    - Dst: Context*::onHttpCallResponse
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:91,1
    - Dst: Context*::resetHttpCallResult
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:92,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:97,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:100,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:103,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: ats_wasm::async_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDestroy
    - TSHttpParserDestroy
    - TSHttpHdrParseResp
    - static_cast<TSEvent>
    - TSContDataGet
    - Context*::setHttpCallResult
    - Context*::onHttpCallResponse
    - static_cast<AsyncInfo *>
    - Context*::resetHttpCallResult
    - TSHttpHdrStatusGet
    - Context*::wasm
    - TSHttpHdrTypeSet
    - TSError
    - Dbg
    - TSMutexUnlock
    - TSMBufferCreate
    - TSHttpParserCreate
    - TSMutexLock
    - TSFetchRespGet
    - TSHttpHdrCreate
    - Wasm*::mutex
    - TSMBufferDestroy
    - static_cast<TSHttpTxn>
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: int
    signature: int async_handler(TSCont cont, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:122,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:123,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:126,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:130,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:130,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:132,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ip
    - result
    argTypes:
    - struct sockaddr*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: ats_wasm::print_address
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in6 *>
    - std::string*::assign
    - reinterpret_cast<const struct sockaddr_in *>
    - Dbg
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void print_address(struct sockaddr const *ip, std::string *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:144,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:150,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:150,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:151,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ip
    - result
    argTypes:
    - struct sockaddr*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: ats_wasm::print_port
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<const struct sockaddr_in6 *>
    - std::string*::assign
    - reinterpret_cast<const struct sockaddr_in *>
    - reinterpret_cast<const char *>
    - Dbg
    linkageType: ''
    returnType: void
    signature: void print_port(struct sockaddr const *ip, std::string *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:165,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:165,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:171,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:174,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:176,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:176,1
    - Dst: BIO_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - result
    - name
    argTypes:
    - std::string*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: ats_wasm::print_certificate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string*::assign
    - BIO_free
    - BIO_get_mem_data
    - Dbg
    - BIO_s_mem
    - BIO_new
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void print_certificate(std::string *result, X509_NAME *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_by_NID
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:185,1
    - Dst: STACK_OF
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:188,1
    - Dst: X509_get_ext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:191,1
    - Dst: static_cast<stack_st_GENERAL_NAME *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:192,1
    - Dst: X509V3_EXT_d2i
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:192,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:194,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:197,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:199,1
    - Dst: ASN1_STRING_data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:199,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:200,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:201,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - result
    - cert
    - type
    argTypes:
    - std::string*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: ats_wasm::print_san_certificate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ASN1_STRING_data
    - ASN1_STRING_length
    - std::string*::assign
    - X509V3_EXT_d2i
    - sk_GENERAL_NAME_free
    - static_cast<stack_st_GENERAL_NAME *>
    - X509_get_ext_by_NID
    - X509_get_ext
    - sk_GENERAL_NAME_num
    - reinterpret_cast<char *>
    - STACK_OF
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: void
    signature: void print_san_certificate(std::string *result, X509 *cert, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:221,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:222,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:230,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:233,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:234,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:235,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:237,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - v
    - result
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 246
    functionName: ats_wasm::get_header
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::append
    - std::string_view::size
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool get_header(TSMBuffer bufp, TSMLoc hdr_loc, std::string_view v,
      std::string *result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:261,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:265,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:266,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:267,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:273,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:276,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:278,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:280,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:283,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:284,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:286,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:287,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - v
    - serialized_value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 293
    functionName: ats_wasm::set_header
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void set_header(TSMBuffer bufp, TSMLoc hdr_loc, std::string_view v,
      std::string_view serialized_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:301,1
    - Dst: proxy_wasm::BufferBase::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - wasm
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - WasmBase*
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: ats_wasm::Buffer::copyTo
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - WasmBase*::copyToPointerSize
    - proxy_wasm::BufferBase::copyTo
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Buffer::copyTo(WasmBase *wasm, size_t start, size_t length,
      uint64_t ptr_ptr, uint64_t size_ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - Wasm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wasm
    - plugin
    argTypes:
    - Wasm*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm, const std::shared_ptr<PluginBase>
      &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wasm
    - parent_context_id
    - plugin
    argTypes:
    - Wasm*
    - uint32_t
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: ats_wasm::Context::Context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - getContext
    linkageType: ''
    returnType: void
    signature: void Context::Context(Wasm *wasm, uint32_t parent_context_id, const
      std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Wasm *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: ats_wasm::Context::wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 2
    functionsReached:
    - static_cast<Wasm *>
    linkageType: ''
    returnType: Wasm
    signature: 'Wasm *

      Context::wasm() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: ats_wasm::Context::parent_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<Context *>
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::parent_context() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::parent_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:345,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: ats_wasm::Context::root_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 2
    functionsReached:
    - static_cast<Context *>
    - ContextBase*::parent_context
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Context::root_context() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: ats_wasm::Context::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::initialize(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: ats_wasm::Context::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::initialize(TSCont cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: ats_wasm::Context::txnp
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSHttpTxn
    signature: TSHttpTxn Context::txnp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ats_wasm::Context::scheduler_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCont
    signature: TSCont Context::scheduler_cont()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:377,1
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: ats_wasm::Context::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSError
    - std::string_view::size
    - abort
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Context::error(std::string_view message)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:392,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:397,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:398,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:406,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:410,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:413,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:415,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:417,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:420,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:421,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:422,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:425,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:426,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:430,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 382
    functionDepth: 5
    functionLinenumber: 382
    functionLinenumberEnd: 436
    functionName: ats_wasm::Context::onLocalReply
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrReasonSet
    - TSMimeHdrFieldValueStringSet
    - std::string::size
    - std::string::data
    - TSError
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - empty
    - data
    - TSMimeHdrFieldCreateNamed
    - size
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void Context::onLocalReply()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LogLevel>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:444,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:447,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:450,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:453,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:456,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:462,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:465,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - level
    - message
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: ats_wasm::Context::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string
    - log_prefix
    - Dbg
    - std::string_view::size
    - unimplemented
    - static_cast<LogLevel>
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::log(uint32_t level, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: ats_wasm::Context::getCurrentTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Context::getCurrentTimeNanoseconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TShrtime
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: ats_wasm::Context::getMonotonicTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TShrtime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Context::getMonotonicTimeNanoseconds()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: ats_wasm::Context::getConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Context::getConfiguration()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:491,1
    - Dst: ats_wasm::Context::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:492,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:493,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:493,1
    - Dst: Wasm*::existsTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:494,1
    - Dst: Context*::id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:494,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:495,1
    - Dst: Context*::scheduler_cont
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:496,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:498,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:499,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: static_cast<TSHRTime>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:500,1
    - Dst: Wasm*::setTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:504,1
    - Dst: Context*::id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:504,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:506,1
    - Dst: Wasm*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - period
    - timer_token_ptr
    argTypes:
    - std::chrono::milliseconds
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: ats_wasm::Context::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::root_context
    - ats_wasm::Context::wasm
    - Context*::id
    - Context*::scheduler_cont
    - TSMutexLock
    - Wasm*::setTimerPeriod
    - TSContDataSet
    - Dbg
    - Wasm*::mutex
    - Wasm*::existsTimerPeriod
    - TSMutexUnlock
    - std::chrono::milliseconds::count
    - TSContScheduleOnPool
    - static_cast<TSHRTime>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setTimerPeriod(std::chrono::milliseconds period,
      uint32_t *timer_token_ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:515,1
    - Dst: vm_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:515,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:517,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:520,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:522,1
    - Dst: unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - type
    argTypes:
    - WasmBufferType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: ats_wasm::Context::getBuffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - set
    - vm_configuration
    - std::string
    - static_cast<const char *>
    - unimplemented
    linkageType: ''
    returnType: BufferInterface
    signature: 'BufferInterface *

      Context::getBuffer(WasmBufferType type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:541,1
    - Dst: ats_wasm::Context::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:542,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:581,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:581,1
    - Dst: AsyncInfo::AsyncInfo
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:582,1
    - Dst: Wasm*::nextHttpCallId
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:583,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:586,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - request_headers
    - request_body
    - token_ptr
    argTypes:
    - Pairs
    - std::string_view
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 592
    functionName: ats_wasm::Context::httpCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::root_context
    - ats_wasm::Context::wasm
    - AsyncInfo::AsyncInfo
    - Wasm*::nextHttpCallId
    - std::string::size
    - TSContDataSet
    - reinterpret_cast<struct sockaddr const *>
    - TSContCreate
    - TSFetchUrl
    - TSMutexCreate
    - std::string::c_str
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult Context::httpCall(std::string_view /* target ATS_UNUSED
      */, const Pairs &request_headers, std::string_view             request_body,\n
      \                 const Pairs & /* request_trailers ATS_UNUSED */, int /* timeout_millisconds
      ATS_UNUSED */, uint32_t *token_ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MetricType>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:600,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:612,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:616,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:616,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:617,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:617,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:618,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - metric_type
    - name
    - metric_id_ptr
    argTypes:
    - uint32_t
    - std::string_view
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 626
    functionName: ats_wasm::Context::defineMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - static_cast<int>
    - TSError
    - static_cast<MetricType>
    - TSStatFindName
    - Dbg
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::defineMetric(uint32_t metric_type, std::string_view
      name, uint32_t *metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: ats_wasm::Context::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::incrementMetric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: ats_wasm::Context::recordMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntSet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::recordMetric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_id
    - value_ptr
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: ats_wasm::Context::getMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSStatIntGet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getMetric(uint32_t metric_id, uint64_t *value_ptr)
  - BBCount: 118
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:653,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:653,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:655,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:657,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:657,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:659,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:661,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:661,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:663,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:665,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:665,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:667,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:669,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:669,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:675,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:676,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:678,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:678,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:684,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:685,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:687,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:687,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:693,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:694,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:696,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:696,1
    - Dst: TSHttpTxnIncomingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:702,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:703,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:705,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:705,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:708,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:708,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:711,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:712,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:713,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:714,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:716,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:718,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:722,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:724,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:724,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:726,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:726,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:731,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:732,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:733,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:734,1
    - Dst: SSL_get_servername
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:735,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:737,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:742,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:742,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:748,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:749,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:751,1
    - Dst: TSVConnSslProtocolGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:752,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:755,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:757,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:757,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:762,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:763,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:764,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:765,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:766,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:768,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:768,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:769,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:774,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:774,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:779,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:780,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:781,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:782,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:784,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:786,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:789,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:789,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:790,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:795,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:795,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:800,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:801,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:802,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:803,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:804,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:806,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:807,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:812,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:812,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:817,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:818,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:819,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:820,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:822,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:824,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:827,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:828,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:833,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:833,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:838,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:839,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:840,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:841,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:842,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:844,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:845,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:850,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:850,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:855,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:856,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:857,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:858,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:860,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:862,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:865,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:866,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:871,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:871,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:877,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:878,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:880,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:880,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:886,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:887,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:889,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:889,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:895,1
    - Dst: print_address
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:896,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:898,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:898,1
    - Dst: TSHttpTxnOutgoingAddrGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:904,1
    - Dst: print_port
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:905,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:907,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:907,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:913,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:914,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:916,1
    - Dst: TSVConnSslProtocolGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:917,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:920,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:922,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:922,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:927,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:928,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:929,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:930,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:931,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:933,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:933,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:934,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:939,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:939,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:944,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:945,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:946,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:947,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:949,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:951,1
    - Dst: print_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:954,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:954,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:955,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:960,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:960,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:965,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:966,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:967,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:968,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:969,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:971,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:972,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:977,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:977,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:982,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:983,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:984,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:985,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:987,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:989,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:992,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:993,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:998,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:998,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1003,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1004,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1005,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1006,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1007,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1009,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1010,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1015,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1015,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1020,1
    - Dst: TSHttpSsnServerVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1021,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1022,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1023,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1025,1
    - Dst: SSL_get_peer_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1027,1
    - Dst: print_san_certificate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1030,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1031,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1036,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1036,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1045,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1046,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1047,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1050,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1054,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1056,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1058,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1062,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1067,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1067,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1074,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1075,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1076,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1078,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1079,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1083,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1088,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1088,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1095,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1096,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1097,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1105,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1107,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1108,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1110,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1112,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1113,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1117,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1118,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1119,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1123,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1128,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1128,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1135,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1136,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1137,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1138,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1139,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1143,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1148,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1148,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1154,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1155,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1156,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1157,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1162,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1162,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1169,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1170,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1171,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1172,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1173,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1177,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1182,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1182,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1185,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1187,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1192,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1192,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1195,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1196,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1197,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1202,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1202,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1205,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1206,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1208,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1209,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1211,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1213,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1214,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1214,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1217,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1217,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1218,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1222,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1223,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1224,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1229,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1229,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1230,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1232,1
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1234,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1240,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1240,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1242,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1243,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1244,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1244,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1249,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1249,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1253,1
    - Dst: TSHttpTxnMilestoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1254,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1255,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1256,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1256,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1262,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1262,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1263,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1264,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1264,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1266,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1266,1
    - Dst: TSHttpTxnClientReqHdrBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1267,1
    - Dst: TSHttpTxnClientReqBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1268,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1270,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1270,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1272,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1272,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1277,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1278,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1279,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1279,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1280,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1285,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1285,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1291,1
    - Dst: TSHttpHdrReasonGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1292,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1293,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1294,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1299,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1299,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1300,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1303,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1304,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1305,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1310,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1310,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1311,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1312,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1312,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1314,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1314,1
    - Dst: TSHttpTxnServerRespHdrBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1315,1
    - Dst: TSHttpTxnServerRespBodyBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1316,1
    - Dst: std::string*::assign
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1318,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1318,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1322,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 518
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - std::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 650
    functionDepth: 5
    functionLinenumber: 650
    functionLinenumberEnd: 1325
    functionName: ats_wasm::Context::getProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - X509_get_subject_name
    - static_cast<double>
    - TSHttpTxnMilestoneGet
    - TSVConnIsSsl
    - X509_free
    - TSHttpTxnClientReqGet
    - TSHttpSsnClientVConnGet
    - TSUrlSchemeGet
    - TSHttpTxnClientProtocolStackContains
    - size
    - TSHttpTxnServerRespGet
    - TSHttpTxnOutgoingAddrGet
    - print_certificate
    - TSMimeHdrFieldFind
    - print_address
    - std::string_view::substr
    - TSHttpHdrStatusGet
    - TSVConnSslProtocolGet
    - TSHttpTxnSsnGet
    - TSHttpTxnServerRespBodyBytesGet
    - TSHttpTxnIdGet
    - std::string_view::size
    - TSHttpTxnClientReqBodyBytesGet
    - TSHttpHdrReasonGet
    - reinterpret_cast<SSL *>
    - SSL_get1_peer_certificate
    - data
    - print_port
    - TSVConnSslConnectionGet
    - TSUrlHttpQueryGet
    - static_cast<int>
    - TSUrlPathGet
    - TSHttpTxnIncomingAddrGet
    - TSHttpTxnServerAddrGet
    - get_header
    - TSHttpTxnClientReqHdrBytesGet
    - Dbg
    - TSHttpSsnServerVConnGet
    - print_san_certificate
    - TSHttpHdrUrlGet
    - SSL_get_peer_certificate
    - std::to_string
    - TSHttpTxnClientAddrGet
    - TSMimeHdrFieldValueStringGet
    - reinterpret_cast<const char *>
    - TSUrlHostGet
    - SSL_get_servername
    - SSL_get_certificate
    - TSHttpTxnServerRespHdrBytesGet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getProperty(std::string_view path, std::string
      *result)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1330,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1330,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1336,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1337,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1342,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1343,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1344,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1345,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1347,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1350,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1350,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1355,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1356,1
    - Dst: TSUrlHostSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1357,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1358,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1360,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1363,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1363,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1368,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1369,1
    - Dst: TSUrlSchemeSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1370,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1371,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1373,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1376,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1376,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1380,1
    - Dst: TSHttpHdrMethodSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1381,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1382,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1385,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1385,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1390,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1391,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1392,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1393,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1395,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1398,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1398,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1399,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1404,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1405,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1406,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1409,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1409,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1413,1
    - Dst: reinterpret_cast<int64_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1414,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1415,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1415,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1416,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1419,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1419,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1423,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1424,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1425,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1428,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1428,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1429,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1434,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1435,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1436,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 2
    argNames:
    - key
    - serialized_value
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1327
    functionDepth: 5
    functionLinenumber: 1327
    functionLinenumberEnd: 1441
    functionName: ats_wasm::Context::setProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - static_cast<TSHttpStatus>
    - set_header
    - TSHttpHdrMethodSet
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - size
    - std::string_view::data
    - TSHttpHdrReasonSet
    - std::string_view::substr
    - TSUrlPathSet
    - std::string_view::size
    - TSUrlSchemeSet
    - reinterpret_cast<int64_t *>
    - TSUrlHostSet
    - TSHttpHdrUrlGet
    - const_cast<char *>
    - TSHttpHdrStatusSet
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setProperty(std::string_view key, std::string_view
      serialized_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1447,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1452,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1455,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1455,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1460
    functionName: ats_wasm::Context::continueStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - id
    - TSHttpTxnReenable
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::continueStream(WasmStreamType /* stream_type */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1466,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1471,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1474,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1474,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1462
    functionDepth: 3
    functionLinenumber: 1462
    functionLinenumberEnd: 1479
    functionName: ats_wasm::Context::closeStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - id
    - TSHttpTxnReenable
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::closeStream(WasmStreamType /* stream_type */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1487,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1490,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1490,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1492,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - response_code
    - body_text
    - additional_headers
    - details
    argTypes:
    - uint32_t
    - std::string_view
    - Pairs
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1482
    functionDepth: 4
    functionLinenumber: 1482
    functionLinenumberEnd: 1502
    functionName: ats_wasm::Context::sendLocalResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpStatus>
    - TSError
    - std::string_view::size
    - TSHttpTxnErrorBodySet
    - TSstrndup
    - std::string_view::data
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult Context::sendLocalResponse(uint32_t response_code, std::string_view
      body_text, Pairs additional_headers,\n                           GrpcStatusCode
      /* grpc_status */, std::string_view details)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1507,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: ats_wasm::Context::getSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getGlobalSharedData
    - vm_id
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getSharedData(std::string_view key, std::pair<std::string,
      uint32_t> *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1514,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1516,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1519,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1521,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1522,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1527,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1528,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1529,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1532,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - key
    - value
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1511
    functionDepth: 5
    functionLinenumber: 1511
    functionLinenumberEnd: 1536
    functionName: ats_wasm::Context::addHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringSet
    - std::string_view::size
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::addHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1541,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1543,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1547,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1551,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - type
    - key
    - result
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1538
    functionDepth: 5
    functionLinenumber: 1538
    functionLinenumberEnd: 1562
    functionName: ats_wasm::Context::getHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringGet
    - std::string_view::size
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1567,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1569,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1572,1
    - Dst: Pairs*::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1574,1
    - Dst: TSMimeHdrFieldGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1576,1
    - Dst: TSMimeHdrFieldNameGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1578,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1581,1
    - Dst: Pairs*::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1582,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1583,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result
    argTypes:
    - WasmHeaderMapType
    - Pairs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1564
    functionDepth: 5
    functionLinenumber: 1564
    functionLinenumberEnd: 1587
    functionName: ats_wasm::Context::getHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - Pairs*::reserve
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldValueStringGet
    - auto::size
    - TSMimeHdrFieldGet
    - std::make_pair
    - static_cast<size_t>
    - std::string_view
    - TSMimeHdrFieldNameGet
    - Pairs*::push_back
    - ats_wasm::Context::getHeaderMap
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapPairs(WasmHeaderMapType type, Pairs
      *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1592,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1594,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1602,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1606,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1609,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1611,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1613,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1616,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1617,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1620,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1621,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - type
    - pairs
    argTypes:
    - WasmHeaderMapType
    - Pairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1589
    functionDepth: 5
    functionLinenumber: 1589
    functionLinenumberEnd: 1630
    functionName: ats_wasm::Context::setHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string::size
    - std::string::data
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - ats_wasm::Context::getHeaderMap
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::setHeaderMapPairs(WasmHeaderMapType type, const
      Pairs &pairs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1635,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1637,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1641,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1643,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1644,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1632
    functionDepth: 5
    functionLinenumber: 1632
    functionLinenumberEnd: 1651
    functionName: ats_wasm::Context::removeHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::removeHeaderMapValue(WasmHeaderMapType type, std::string_view
      key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1656,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1658,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1662,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1667,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1670,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1672,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - type
    - key
    - value
    argTypes:
    - WasmHeaderMapType
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1653
    functionDepth: 5
    functionLinenumber: 1653
    functionLinenumberEnd: 1680
    functionName: ats_wasm::Context::replaceHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - static_cast<int>
    - TSHandleMLocRelease
    - TSError
    - std::string_view::size
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldValueStringSet
    - ats_wasm::Context::getHeaderMap
    - std::string_view::data
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::replaceHeaderMapValue(WasmHeaderMapType type, std::string_view
      key, std::string_view value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getHeaderMap
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1685,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1687,1
    - Dst: TSMimeHdrLengthGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - type
    - result
    argTypes:
    - WasmHeaderMapType
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1682
    functionDepth: 4
    functionLinenumber: 1682
    functionLinenumberEnd: 1692
    functionName: ats_wasm::Context::getHeaderMapSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 0
    functionsReached:
    - ats_wasm::Context::getHeaderMap
    - TSMimeHdrLengthGet
    - TSError
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult Context::getHeaderMapSize(WasmHeaderMapType type, uint32_t
      *result)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1703,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.cc:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - type
    argTypes:
    - WasmHeaderMapType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1732
    functionName: ats_wasm::Context::getHeaderMap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.cc
    functionUses: 14
    functionsReached:
    - TSHttpTxnServerRespGet
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: HeaderMap
    signature: HeaderMap Context::getHeaderMap(WasmHeaderMapType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ~HeaderMap()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HeaderMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: ats_wasm::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ats_wasm::Buffer::Buffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~Buffer() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffer() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Buffer::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:155,1
    - Dst: RegexMatches::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: ats_wasm::Buffer::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 1
    functionsReached:
    - ats_wasm::Buffer::size
    - RegexMatches::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - length
    - data
    argTypes:
    - size_t
    - size_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: ats_wasm::Buffer::copyFrom
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - replace
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult copyFrom(size_t start, size_t length, std::string_view data)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APIHooks::clear
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: ats_wasm::Buffer::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - APIHooks::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: ats_wasm::Buffer::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferBase
    signature: "BufferBase *\n  set(std::string data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ats_wasm::Buffer::getDataStrPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getDataStrPtr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - buf
    - loc
    - body
    - size
    - result
    argTypes:
    - TSMBuffer
    - TSMLoc
    - void*
    - size_t
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: ats_wasm::Context::setHttpCallResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHttpCallResult(TSMBuffer buf, TSMLoc loc, const void *body,
      size_t size, TSEvent result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: ats_wasm::Context::resetHttpCallResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - static_cast<TSEvent>
    linkageType: ''
    returnType: void
    signature: void resetHttpCallResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: ats_wasm::Context::clearTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearTransformResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:269,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - body
    - body_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: ats_wasm::Context::setTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void setTransformResult(const char *body, size_t body_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:280,1
    - Dst: getDataStrPtr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - body_size
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: ats_wasm::Context::getTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - getDataStrPtr
    - size
    linkageType: ''
    returnType: char
    signature: "char *\n  getTransformResult(size_t *body_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: ats_wasm::Context::isTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: ats_wasm::Context::setTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ats_wasm::Context::resetTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: ats_wasm::Context::isLocalReply
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLocalReply()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ~HeaderMap()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HeaderMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: ats_wasm::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldsCount
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ats_wasm::Buffer::Buffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~Buffer() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffer() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Buffer::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:155,1
    - Dst: RegexMatches::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: ats_wasm::Buffer::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 2
    functionsReached:
    - ats_wasm::Buffer::size
    - RegexMatches::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - length
    - data
    argTypes:
    - size_t
    - size_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: ats_wasm::Buffer::copyFrom
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - replace
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult copyFrom(size_t start, size_t length, std::string_view data)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APIHooks::clear
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: ats_wasm::Buffer::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - APIHooks::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: ats_wasm::Buffer::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferBase
    signature: "BufferBase *\n  set(std::string data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ats_wasm::Buffer::getDataStrPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getDataStrPtr()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - buf
    - loc
    - body
    - size
    - result
    argTypes:
    - TSMBuffer
    - TSMLoc
    - void*
    - size_t
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: ats_wasm::Context::setHttpCallResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHttpCallResult(TSMBuffer buf, TSMLoc loc, const void *body,
      size_t size, TSEvent result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSEvent>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: ats_wasm::Context::resetHttpCallResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - static_cast<TSEvent>
    linkageType: ''
    returnType: void
    signature: void resetHttpCallResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: ats_wasm::Context::clearTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearTransformResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:269,1
    - Dst: set
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - body
    - body_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: ats_wasm::Context::setTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void setTransformResult(const char *body, size_t body_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:280,1
    - Dst: getDataStrPtr
      Src: /src/trafficserver/plugins/experimental/wasm/ats_context.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - body_size
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: ats_wasm::Context::getTransformResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached:
    - getDataStrPtr
    - size
    linkageType: ''
    returnType: char
    signature: "char *\n  getTransformResult(size_t *body_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: ats_wasm::Context::isTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: ats_wasm::Context::setTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ats_wasm::Context::resetTxnReenable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetTxnReenable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: ats_wasm::Context::isLocalReply
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLocalReply()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:69,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:72,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:73,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:77,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:78,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:80,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:81,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:85,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:94,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:96,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:97,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:99,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:100,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:103,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:111,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:113,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:114,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:115,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:131,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:134,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:135,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:146,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:153,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:155,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:156,1
    - Dst: ats_wasm::Context*::setTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:160,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:162,1
    - Dst: ats_wasm::Context*::setTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:165,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:166,1
    - Dst: ats_wasm::Context*::onRequestBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:173,1
    - Dst: ats_wasm::Context*::onResponseBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:175,1
    - Dst: ats_wasm::Context*::onRequestBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:179,1
    - Dst: ats_wasm::Context*::onResponseBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:181,1
    - Dst: ats_wasm::Context*::setTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:185,1
    - Dst: ats_wasm::Context*::onRequestBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:187,1
    - Dst: ats_wasm::Context*::onResponseBody
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:189,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:193,1
    - Dst: ats_wasm::Context*::getTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:198,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:203,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:205,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:209,1
    - Dst: ats_wasm::Context*::clearTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:214,1
    - Dst: ats_wasm::Context*::clearTransformResult
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:218,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:228,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:232,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:239,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:241,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:241,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:245,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:245,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:249,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:251,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:251,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 150
    argCount: 2
    argNames:
    - contp
    - ti
    argTypes:
    - TSCont
    - ats_wasm::TransformInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 256
    functionName: transform_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 1
    functionsReached:
    - TSVIONBytesSet
    - TSIOBufferReaderStart
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - ats_wasm::Context*::setTransformResult
    - ats_wasm::Context*::onRequestBody
    - TSIOBufferBlockReadStart
    - ats_wasm::Context*::getTransformResult
    - TSVIONBytesGet
    - ats_wasm::Context*::onResponseBody
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TSIOBufferWrite
    - Dbg
    - ats_wasm::Context*::clearTransformResult
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_handler(TSCont contp, ats_wasm::TransformInfo *ti)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:265,1
    - Dst: static_cast<ats_wasm::TransformInfo *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:266,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:266,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:268,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:269,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:271,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:275,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:278,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:279,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:280,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:280,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:285,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:286,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:286,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:291,1
    - Dst: transform_handler
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - contp
    - ev
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: transform_entry
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSVConnClosedGet
    - transform_handler
    - TSVConnWriteVIOGet
    - TSContCall
    - TSContDestroy
    - TSVIOContGet
    - TSVConnShutdown
    - TSTransformOutputVConnGet
    - Dbg
    - TSContDataGet
    - static_cast<ats_wasm::TransformInfo *>
    linkageType: ''
    returnType: int
    signature: int transform_entry(TSCont contp, TSEvent ev, void * /* edata ATS_UNUSED
      */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:303,1
    - Dst: static_cast<ats_wasm::Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:305,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:305,1
    - Dst: static_cast<ats_wasm::Wasm *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:307,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:307,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:308,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:308,1
    - Dst: auto*::onTick
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:310,1
    - Dst: configs::empty
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:312,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:313,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:314,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:314,1
    - Dst: configs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:319,1
    - Dst: configs::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:319,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:321,1
    - Dst: static_cast<ats_wasm::Wasm *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:323,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:323,1
    - Dst: auto*::id
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:324,1
    - Dst: auto*::existsTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:325,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:326,1
    - Dst: auto*::getTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:327,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:328,1
    - Dst: static_cast<TSHRTime>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:328,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:328,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:330,1
    - Dst: auto*::id
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:338,1
    - Dst: auto*::removeTimerPeriod
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:339,1
    - Dst: auto*::readyShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:341,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:342,1
    - Dst: auto*::startShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:343,1
    - Dst: auto*::readyDelete
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:344,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:345,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:347,1
    - Dst: deleted_configs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:349,1
    - Dst: deleted_configs::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:349,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:351,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:354,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:355,1
    - Dst: deleted_configs::erase
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:356,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:365,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:368,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 371
    functionName: schedule_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - TSContDataGet
    - auto*::startShutdown
    - auto*::existsTimerPeriod
    - configs::begin
    - auto*::readyDelete
    - deleted_configs::end
    - TSContScheduleOnPool
    - deleted_configs::erase
    - auto*::removeTimerPeriod
    - auto*::id
    - deleted_configs::begin
    - auto*::onTick
    - auto*::readyShutdown
    - static_cast<ats_wasm::Context *>
    - TSError
    - configs::end
    - std::shared_ptr::get
    - Dbg
    - TSMutexUnlock
    - auto*::mutex
    - static_cast<ats_wasm::Wasm *>
    - auto*::getTimerPeriod
    - TSMutexLock
    - auto*::wasm
    - configs::empty
    - std::chrono::milliseconds::count
    - static_cast<TSHRTime>
    linkageType: ''
    returnType: int
    signature: int schedule_handler(TSCont contp, TSEvent /*event*/, void * /*data*/)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ats_wasm::Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:378,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:378,1
    - Dst: static_cast<ats_wasm::Wasm *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:379,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:379,1
    - Dst: auto*::resetTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:381,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:383,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:383,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:385,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:396,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:397,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:398,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:398,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:399,1
    - Dst: auto*::setTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:400,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:403,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:404,1
    - Dst: auto*::onRequestHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:406,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:419,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:420,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:421,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:421,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:422,1
    - Dst: auto*::setTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:423,1
    - Dst: TSMimeHdrFieldsCount
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:426,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:427,1
    - Dst: auto*::onResponseHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:429,1
    - Dst: auto*::onLocalReply
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:433,1
    - Dst: auto*::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:447,1
    - Dst: auto*::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:448,1
    - Dst: configs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:451,1
    - Dst: configs::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:451,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:453,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:453,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:460,1
    - Dst: auto*::readyShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:462,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:463,1
    - Dst: auto*::startShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:464,1
    - Dst: auto*::readyDelete
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:465,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:466,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:468,1
    - Dst: deleted_configs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:470,1
    - Dst: deleted_configs::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:472,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:476,1
    - Dst: deleted_configs::erase
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:477,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:486,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:491,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:499,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:499,1
    - Dst: auto*::isTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:502,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:503,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:506,1
    - Dst: auto*::setTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:508,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:511,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:512,1
    - Dst: auto*::setTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:514,1
    - Dst: auto*::isLocalReply
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:517,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:518,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:519,1
    - Dst: auto*::setTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:521,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:524,1
    - Dst: auto*::id
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:524,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:528,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 119
    argCount: 3
    argNames:
    - contp
    - event
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 531
    functionName: http_event_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSContDestroy
    - auto*::onDelete
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - auto*::setTxnReenable
    - auto*::startShutdown
    - configs::begin
    - TSHttpTxnServerRespGet
    - auto*::readyDelete
    - deleted_configs::end
    - deleted_configs::erase
    - auto*::isLocalReply
    - auto*::id
    - deleted_configs::begin
    - auto*::isTxnReenable
    - auto*::onResponseHeaders
    - auto*::readyShutdown
    - auto*::resetTxnReenable
    - static_cast<ats_wasm::Context *>
    - TSError
    - configs::end
    - std::shared_ptr::get
    - Dbg
    - TSMutexUnlock
    - auto*::mutex
    - TSHttpTxnReenable
    - static_cast<ats_wasm::Wasm *>
    - TSMutexLock
    - auto*::onLocalReply
    - auto*::wasm
    - static_cast<TSHttpTxn>
    - auto*::onDone
    - TSMimeHdrFieldsCount
    - auto*::onRequestHeaders
    linkageType: ''
    returnType: int
    signature: int http_event_handler(TSCont contp, TSEvent event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:537,1
    - Dst: configs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:538,1
    - Dst: configs::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:538,1
    - Dst: std::shared_ptr::get
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:541,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:542,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:542,1
    - Dst: auto*::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:543,1
    - Dst: auto*::id
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:544,1
    - Dst: ats_wasm::Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:544,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:545,1
    - Dst: auto*::onCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:546,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:547,1
    - Dst: auto*::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:547,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:550,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:551,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:552,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:553,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:555,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:557,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:560,1
    - Dst: ats_wasm::TransformInfo::TransformInfo
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:561,1
    - Dst: ats_wasm::TransformInfo::TransformInfo
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:564,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:568,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:569,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:570,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:571,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:573,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:574,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 579
    functionName: global_hook_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - auto*::initialize
    - ats_wasm::TransformInfo::TransformInfo
    - auto*::getRootContext
    - configs::begin
    - auto*::onCreate
    - auto*::id
    - ats_wasm::Context::Context
    - configs::end
    - TSHttpTxnHookAdd
    - std::shared_ptr::get
    - Dbg
    - TSTransformCreate
    - TSContCreate
    - TSMutexUnlock
    - auto*::mutex
    - TSHttpTxnReenable
    - TSMutexLock
    - TSContDataSet
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int global_hook_handler(TSCont /*contp*/, TSEvent /*event*/, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:585,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:585,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:587,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:588,1
    - Dst: ::lseek
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:591,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:593,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:594,1
    - Dst: ::lseek
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:597,1
    - Dst: std::string*::resize
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:598,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:599,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:599,1
    - Dst: std::string*::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:599,1
    - Dst: strerror
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:601,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:602,1
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:605,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - fn
    - s
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 610
    functionName: read_file
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::read
    - TSError
    - std::string*::begin
    - const_cast<char *>
    - ::lseek
    - std::string*::resize
    - static_cast<ssize_t>
    - strerror
    - open
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int read_file(const std::string &fn, std::string *s)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:636,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:638,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:638,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:639,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:640,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:643,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:646,1
    - Dst: YAML::const_iterator::second::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:650,1
    - Dst: YAML::const_iterator::second::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:650,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:654,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:655,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:656,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:672,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:675,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:677,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:687,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:688,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:688,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:692,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:693,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:694,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:711,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:714,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:716,1
    - Dst: std::getenv
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:717,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:717,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:725,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:726,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:726,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:727,1
    - Dst: YAML::const_iterator::second::as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:727,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:733,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:737,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:749,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:749,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:749,1
    - Dst: std::make_shared<ats_wasm::Wasm>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:756,1
    - Dst: proxy_wasm::createWasmEdgeVm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:756,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:764,1
    - Dst: std::make_shared<ats_wasm::Wasm>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:769,1
    - Dst: proxy_wasm::createWamrVm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:769,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:777,1
    - Dst: std::make_shared<ats_wasm::Wasm>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:782,1
    - Dst: proxy_wasm::createWasmtimeVm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:782,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:790,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:794,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:794,1
    - Dst: std::shared_ptr::wasm_vm
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:797,1
    - Dst: std::make_unique<ats_wasm::ATSWasmVmIntegration>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:797,1
    - Dst: std::make_shared<proxy_wasm::PluginBase>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:799,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:808,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:809,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:809,1
    - Dst: read_file
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:812,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:813,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:813,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:817,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:818,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:823,1
    - Dst: std::shared_ptr::load
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:826,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:827,1
    - Dst: std::shared_ptr::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:830,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:831,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:835,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:835,1
    - Dst: std::shared_ptr::start
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:836,1
    - Dst: std::shared_ptr::configure
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:838,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:839,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:843,1
    - Dst: std::list::push_front
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:844,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:851,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:851,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:856,1
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:857,1
    - Dst: std::shared_ptr::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:857,1
    - Dst: std::shared_ptr::readyShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:858,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:859,1
    - Dst: std::shared_ptr::startShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:860,1
    - Dst: std::shared_ptr::readyDelete
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:861,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:862,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:863,1
    - Dst: deleted_configs::push_front
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:864,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:867,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:868,1
    - Dst: deleted_configs::push_front
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:869,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:871,1
    - Dst: std::shared_ptr::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:871,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 153
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 876
    functionName: read_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - YAML::const_iterator::second::as
    - proxy_wasm::createWasmtimeVm
    - YAML::LoadFile
    - std::shared_ptr::configure
    - std::make_unique<ats_wasm::ATSWasmVmIntegration>
    - std::string
    - std::shared_ptr::startShutdown
    - YAML::Node::begin
    - TSConfigDirGet
    - YAML::Node::IsMap
    - proxy_wasm::createWasmEdgeVm
    - as
    - YAML::Node::IsScalar
    - std::make_shared<proxy_wasm::PluginBase>
    - what
    - std::string::empty
    - std::make_pair
    - std::shared_ptr::wasm_vm
    - auto::begin
    - std::shared_ptr::start
    - std::list::push_front
    - YAML::const_iterator::first::as
    - YAML::Node::end
    - read_file
    - auto::data
    - proxy_wasm::createWamrVm
    - std::shared_ptr::readyDelete
    - std::string::c_str
    - auto::end
    - TSError
    - YAML::const_iterator::second::begin
    - std::string::begin
    - Dbg
    - TSContCreate
    - TSMutexUnlock
    - YAML::const_iterator::second::end
    - TSMutexCreate
    - YAML::const_iterator::second::Type
    - TSMutexLock
    - std::getenv
    - std::shared_ptr::mutex
    - std::make_shared<ats_wasm::Wasm>
    - YAML::Node::IsSequence
    - YAML::Node::as
    - deleted_configs::push_front
    - std::shared_ptr::load
    - c_str
    - std::shared_ptr::readyShutdown
    - std::shared_ptr::initialize
    linkageType: ''
    returnType: bool
    signature: bool read_configuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:882,1
    - Dst: read_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:883,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 879
    functionDepth: 4
    functionLinenumber: 879
    functionLinenumberEnd: 886
    functionName: config_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - read_configuration
    linkageType: ''
    returnType: int
    signature: int config_handler(TSCont /*contp*/, TSEvent /*event*/, void * /*data*/)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:896,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:897,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:901,1
    - Dst: std::make_unique<WasmInstanceConfig>
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:905,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:908,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:909,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:910,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:910,1
    - Dst: config_filenames::push_front
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:912,1
    - Dst: read_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:915,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:920,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:922,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:925,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:928,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:930,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc:933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 934
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/wasm_main.cc
    functionUses: 0
    functionsReached:
    - TSMgmtUpdateRegister
    - TSError
    - TSHttpHookAdd
    - TSPluginRegister
    - std::string
    - std::string::begin
    - config_filenames::push_front
    - TSContCreate
    - TSConfigDirGet
    - read_configuration
    - std::make_unique<WasmInstanceConfig>
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: ats_wasm::ATSWasmVmIntegration::getLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - 'on'
    linkageType: ''
    returnType: proxy_wasm::LogLevel
    signature: proxy_wasm::LogLevel ATSWasmVmIntegration::getLogLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ats_wasm::ATSWasmVmIntegration::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::size
    - std::string_view::data
    - TSError
    linkageType: ''
    returnType: void
    signature: void ATSWasmVmIntegration::error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ats_wasm::ATSWasmVmIntegration::trace
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Dbg
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void ATSWasmVmIntegration::trace(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: ats_wasm::ATSWasmVmIntegration::getNullVmFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ATSWasmVmIntegration::getNullVmFunction(std::string_view /* function_name
      ATS_UNUSED */, bool /* returns_word ATS_UNUSED */,\n                                        int
      /* number_of_arguments ATS_UNUSED */, proxy_wasm::NullPlugin * /* plugin ATS_UNUSED
      */,\n                                        void * /* ptr_to_function_return
      ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_wasm_handle
    - factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmVmFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: ats_wasm::Wasm::Wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void Wasm::Wasm(const std::shared_ptr<WasmHandleBase> &base_wasm_handle,
      const WasmVmFactory &factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wasm_vm
    - vm_id
    - vm_configuration
    - vm_key
    - envs
    - allowed_capabilities
    argTypes:
    - std::unique_ptr<WasmVm>
    - std::string_view
    - std::string_view
    - std::string_view
    - std::unordered_map<std::string, std::string>
    - AllowedCapabilitiesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ats_wasm::Wasm::Wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: "void Wasm::Wasm(std::unique_ptr<WasmVm> wasm_vm, std::string_view
      vm_id, std::string_view vm_configuration, std::string_view vm_key,\n           std::unordered_map<std::string,
      std::string> envs, AllowedCapabilitiesMap allowed_capabilities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats_wasm::Wasm::mutex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex Wasm::mutex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: ats_wasm::Wasm::createVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createVmContext()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:87,1
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: ats_wasm::Wasm::createRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    - Dbg
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createRootContext(const std::shared_ptr<PluginBase> &plugin)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ats_wasm::Wasm::createContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createContext(const std::shared_ptr<PluginBase> &plugin)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:101,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:102,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:103,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:103,1
    - Dst: auto*::scheduler_cont
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:104,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:108,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:110,1
    - Dst: std::unique_ptr<Context>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: ats_wasm::Wasm::createRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:114,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:115,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:116,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:116,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:117,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - plugin
    - contp
    argTypes:
    - std::shared_ptr<PluginBase>
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: ats_wasm::Wasm::start
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - static_cast<Context *>
    - find
    - TSContDestroy
    - std::unique_ptr<Context>
    - auto*::scheduler_cont
    - end
    - auto*::initialize
    - std::move
    - ats_wasm::Wasm::createRootContext
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - auto*::onStart
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Wasm::start(const std::shared_ptr<PluginBase> &plugin, TSCont contp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:130,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: ats_wasm::Wasm::readyShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - empty
    - second::isRootContext
    linkageType: ''
    returnType: bool
    signature: bool Wasm::readyShutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: ats_wasm::Wasm::readyDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Wasm::readyDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:149,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: ats_wasm::Wasm::existsTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Wasm::existsTimerPeriod(uint32_t root_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ats_wasm::Wasm::getTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds Wasm::getTimerPeriod(uint32_t root_context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:161,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:162,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: ats_wasm::Wasm::removeTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void Wasm::removeTimerPeriod(uint32_t root_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: ats_wasm::Wasm::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::size
    - std::string_view::data
    - TSError
    linkageType: ''
    returnType: void
    signature: void Wasm::error(std::string_view message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: 'on'
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: ats_wasm::ATSWasmVmIntegration::getLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - 'on'
    linkageType: ''
    returnType: proxy_wasm::LogLevel
    signature: proxy_wasm::LogLevel ATSWasmVmIntegration::getLogLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ats_wasm::ATSWasmVmIntegration::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::size
    - std::string_view::data
    - TSError
    linkageType: ''
    returnType: void
    signature: void ATSWasmVmIntegration::error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ats_wasm::ATSWasmVmIntegration::trace
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Dbg
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void ATSWasmVmIntegration::trace(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: ats_wasm::ATSWasmVmIntegration::getNullVmFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ATSWasmVmIntegration::getNullVmFunction(std::string_view /* function_name
      ATS_UNUSED */, bool /* returns_word ATS_UNUSED */,\n                                        int
      /* number_of_arguments ATS_UNUSED */, proxy_wasm::NullPlugin * /* plugin ATS_UNUSED
      */,\n                                        void * /* ptr_to_function_return
      ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base_wasm_handle
    - factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmVmFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: ats_wasm::Wasm::Wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void Wasm::Wasm(const std::shared_ptr<WasmHandleBase> &base_wasm_handle,
      const WasmVmFactory &factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:65,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wasm_vm
    - vm_id
    - vm_configuration
    - vm_key
    - envs
    - allowed_capabilities
    argTypes:
    - std::unique_ptr<WasmVm>
    - std::string_view
    - std::string_view
    - std::string_view
    - std::unordered_map<std::string, std::string>
    - AllowedCapabilitiesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ats_wasm::Wasm::Wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: "void Wasm::Wasm(std::unique_ptr<WasmVm> wasm_vm, std::string_view
      vm_id, std::string_view vm_configuration, std::string_view vm_key,\n           std::unordered_map<std::string,
      std::string> envs, AllowedCapabilitiesMap allowed_capabilities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats_wasm::Wasm::mutex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSMutex
    signature: TSMutex Wasm::mutex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: ats_wasm::Wasm::createVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createVmContext()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:87,1
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: ats_wasm::Wasm::createRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 1
    functionsReached:
    - Context::Context
    - Dbg
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createRootContext(const std::shared_ptr<PluginBase> &plugin)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context::Context
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ats_wasm::Wasm::createContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - Context::Context
    linkageType: ''
    returnType: ContextBase
    signature: 'ContextBase *

      Wasm::createContext(const std::shared_ptr<PluginBase> &plugin)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:101,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:102,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:103,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:103,1
    - Dst: auto*::scheduler_cont
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:104,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:108,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:110,1
    - Dst: std::unique_ptr<Context>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: static_cast<Context *>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: ats_wasm::Wasm::createRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:113,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:114,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:115,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:116,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:116,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:117,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - plugin
    - contp
    argTypes:
    - std::shared_ptr<PluginBase>
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: ats_wasm::Wasm::start
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - static_cast<Context *>
    - find
    - TSContDestroy
    - std::unique_ptr<Context>
    - auto*::scheduler_cont
    - end
    - auto*::initialize
    - std::move
    - ats_wasm::Wasm::createRootContext
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - auto*::onStart
    linkageType: ''
    returnType: Context
    signature: 'Context *

      Wasm::start(const std::shared_ptr<PluginBase> &plugin, TSCont contp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:130,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: ats_wasm::Wasm::readyShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - empty
    - second::isRootContext
    linkageType: ''
    returnType: bool
    signature: bool Wasm::readyShutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: ats_wasm::Wasm::readyDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Wasm::readyDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:149,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: ats_wasm::Wasm::existsTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Wasm::existsTimerPeriod(uint32_t root_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ats_wasm::Wasm::getTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds Wasm::getTimerPeriod(uint32_t root_context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:161,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:162,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: ats_wasm::Wasm::removeTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void Wasm::removeTimerPeriod(uint32_t root_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: ats_wasm::Wasm::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string_view::size
    - std::string_view::data
    - TSError
    linkageType: ''
    returnType: void
    signature: void Wasm::error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSWasmVmIntegration::ATSWasmVmIntegration
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ats_wasm::ATSWasmVmIntegration::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.h
    functionUses: 0
    functionsReached:
    - ATSWasmVmIntegration::ATSWasmVmIntegration
    linkageType: ''
    returnType: WasmVmIntegration
    signature: "WasmVmIntegration *\n  clone() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSWasmVmIntegration::ATSWasmVmIntegration
      Src: /src/trafficserver/plugins/experimental/wasm/ats_wasm.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ats_wasm::ATSWasmVmIntegration::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/ats_wasm.h
    functionUses: 0
    functionsReached:
    - ATSWasmVmIntegration::ATSWasmVmIntegration
    linkageType: ''
    returnType: WasmVmIntegration
    signature: "WasmVmIntegration *\n  clone() override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: _CASE
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CASE(_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:61,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:62,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:63,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:64,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:65,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:66,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:67,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:68,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:69,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:70,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:71,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:72,1
    - Dst: _CASE
      Src: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - WasmResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: toString
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/proxy_wasm_common.h
    functionUses: 28
    functionsReached:
    - _CASE
    linkageType: ''
    returnType: std::string
    signature: std::string toString(WasmResult r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T1>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h:50,1
    - Dst: std::hash<T2>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: operator()(const std::pair<T1, T2> &pair) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h
    functionUses: 0
    functionsReached:
    - std::hash<T1>
    - std::hash<T2>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T1, T2> &pair) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T1>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h:50,1
    - Dst: std::hash<T2>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: operator()(const std::pair<T1, T2> &pair) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.h
    functionUses: 0
    functionsReached:
    - std::hash<T1>
    - std::hash<T2>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T1, T2> &pair) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - wasm_handle
    argTypes:
    - std::string
    - std::shared_ptr<WasmHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: proxy_wasm::cacheLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void cacheLocalWasm(const std::string &key, const std::shared_ptr<WasmHandleBase>
      &wasm_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - plugin_handle
    argTypes:
    - std::string
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: proxy_wasm::cacheLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void cacheLocalPlugin(const std::string &key,\n                      const
      std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:74,1
    - Dst: std::queue<std::string>::pop
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:75,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:77,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:78,1
    - Dst: auto::second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:82,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:83,1
    - Dst: std::queue<std::string>::push
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - keys
    argTypes:
    - std::unordered_map<std::string, std::weak_ptr<T>>
    - std::queue<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: proxy_wasm::removeStaleLocalCacheEntries
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::queue<std::string>::push
    - std::unordered_map<std::string, std::weak_ptr<T>>::erase
    - std::queue<std::string>::front
    - std::unordered_map<std::string, std::weak_ptr<T>>::find
    - min
    - auto::second::expired
    - std::unordered_map<std::string, std::weak_ptr<T>>::end
    - std::queue<std::string>::pop
    - std::move
    - std::queue<std::string>::size
    linkageType: ''
    returnType: void
    signature: "void removeStaleLocalCacheEntries(std::unordered_map<std::string,
      std::weak_ptr<T>> &cache,\n                                  std::queue<std::string>
      &keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - wasm_handle
    argTypes:
    - std::string
    - std::shared_ptr<WasmHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: proxy_wasm::cacheLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void cacheLocalWasm(const std::string &key, const std::shared_ptr<WasmHandleBase>
      &wasm_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - plugin_handle
    argTypes:
    - std::string
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: proxy_wasm::cacheLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void cacheLocalPlugin(const std::string &key,\n                      const
      std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:74,1
    - Dst: std::queue<std::string>::pop
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:75,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:77,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:78,1
    - Dst: auto::second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:82,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:83,1
    - Dst: std::queue<std::string>::push
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - keys
    argTypes:
    - std::unordered_map<std::string, std::weak_ptr<T>>
    - std::queue<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: proxy_wasm::removeStaleLocalCacheEntries
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::queue<std::string>::push
    - std::unordered_map<std::string, std::weak_ptr<T>>::erase
    - std::queue<std::string>::front
    - std::unordered_map<std::string, std::weak_ptr<T>>::find
    - min
    - auto::second::expired
    - std::unordered_map<std::string, std::weak_ptr<T>>::end
    - std::queue<std::string>::pop
    - std::move
    - std::queue<std::string>::size
    linkageType: ''
    returnType: void
    signature: "void removeStaleLocalCacheEntries(std::unordered_map<std::string,
      std::weak_ptr<T>> &cache,\n                                  std::queue<std::string>
      &keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::Sha256String
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vm_id
    - vm_configuration
    - code
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: proxy_wasm::makeVmKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::Sha256String
    linkageType: ''
    returnType: std::string
    signature: "std::string makeVmKey(std::string_view vm_id, std::string_view vm_configuration,\n
      \                     std::string_view code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~ShutdownHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - finishShutdown
    linkageType: ''
    returnType: void
    signature: void ~ShutdownHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - std::shared_ptr<WasmBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::WasmBase::ShutdownHandle::ShutdownHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ShutdownHandle(std::shared_ptr<WasmBase> wasm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _REGISTER
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:112,1
    - Dst: _REGISTER
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:113,1
    - Dst: FOR_ALL_WASI_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:133,1
    - Dst: FOR_ALL_WASI_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:134,1
    - Dst: FOR_ALL_HOST_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:139,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:141,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:142,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:143,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:144,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:145,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:146,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:147,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:148,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:149,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:150,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:151,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmBase::registerCallbacks
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - FOR_ALL_HOST_FUNCTIONS
    - _REGISTER
    - proxy_wasm::WasmBase::abiVersion
    - FOR_ALL_WASI_FUNCTIONS
    - _REGISTER_PROXY
    linkageType: ''
    returnType: void
    signature: void WasmBase::registerCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: _REGISTER
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - module_name
    - ','
    - name_prefix
    - ','
    - export_prefix
    - ','
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: _REGISTER
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER(module_name, name_prefix, export_prefix, _fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: _REGISTER_WASI_UNSTABLE
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_WASI_UNSTABLE(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: _REGISTER_WASI_SNAPSHOT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_WASI_SNAPSHOT(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: _REGISTER_PROXY
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_PROXY(_fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:162,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:164,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:166,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:169,1
    - Dst: _GET_ALIAS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:171,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:174,1
    - Dst: FOR_ALL_MODULE_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:193,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:195,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:196,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:197,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:198,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:199,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:200,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:201,1
    - Dst: _GET_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 206
    functionName: proxy_wasm::WasmBase::getFunctions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - _GET_PROXY_ABI
    - _GET_PROXY
    - FOR_ALL_MODULE_FUNCTIONS
    - proxy_wasm::WasmBase::fail
    - _GET_ALIAS
    - proxy_wasm::WasmBase::abiVersion
    - _GET
    linkageType: ''
    returnType: void
    signature: void WasmBase::getFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: _GET
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _fn
    - ','
    - _alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: _GET_ALIAS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_ALIAS(_fn, _alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: _GET_PROXY
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_PROXY(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _fn
    - ','
    - _abi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: _GET_PROXY_ABI
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_PROXY_ABI(_fn, _abi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:210,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:211,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:211,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:212,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:213,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:214,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:217,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:219,1
    - Dst: addFailCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base_wasm_handle
    - factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmVmFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: proxy_wasm::WasmBase::WasmBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr<WasmHandleBase>::wasm
    - factory
    - addFailCallback
    linkageType: ''
    returnType: void
    signature: "void WasmBase::WasmBase(const std::shared_ptr<WasmHandleBase> &base_wasm_handle,\n
      \                  const WasmVmFactory &factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:233,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:233,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:234,1
    - Dst: getVmIdHandle
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:234,1
    - Dst: addFailCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - wasm_vm
    - vm_id
    - vm_configuration
    - vm_key
    - envs
    - allowed_capabilities
    argTypes:
    - std::unique_ptr<WasmVm>
    - std::string_view
    - std::string_view
    - std::string_view
    - std::unordered_map<std::string, std::string>
    - AllowedCapabilitiesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmBase::WasmBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - getVmIdHandle
    - std::move
    - std::string
    - addFailCallback
    linkageType: ''
    returnType: void
    signature: "void WasmBase::WasmBase(std::unique_ptr<WasmVm> wasm_vm, std::string_view
      vm_id,\n                   std::string_view vm_configuration, std::string_view
      vm_key,\n                   std::unordered_map<std::string, std::string> envs,\n
      \                  AllowedCapabilitiesMap allowed_capabilities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:243,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:244,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: WasmBase::~WasmBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void WasmBase::~WasmBase()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:249,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:249,1
    - Dst: getEngineName
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:255,1
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:256,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:258,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:267,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:268,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:271,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:272,1
    - Dst: proxy_wasm::BytecodeUtil::getAbiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:276,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:277,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:281,1
    - Dst: proxy_wasm::BytecodeUtil::getFunctionNameIndex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:286,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:287,1
    - Dst: getPrecompiledSectionName
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:295,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:296,1
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:297,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:298,1
    - Dst: proxy_wasm::BytecodeUtil::getStrippedSource
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:306,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:307,1
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:311,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:313,1
    - Dst: cloneable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - code
    - allow_precompiled
    argTypes:
    - std::string
    - bool
    assertStmts:
    - condition: (!started_from_.has_value())
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 324
    functionName: proxy_wasm::WasmBase::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - proxy_wasm::BytecodeUtil::getStrippedSource
    - proxy_wasm::BytecodeUtil::getFunctionNameIndex
    - proxy_wasm::BytecodeUtil::getAbiVersion
    - proxy_wasm::SignatureUtil::verifySignature
    - proxy_wasm::WasmBase::fail
    - std::string::empty
    - integration
    - cloneable
    - has_value
    - proxy_wasm::WasmBase::load
    - proxy_wasm::BytecodeUtil::getCustomSection
    - getEngineName
    - auto::empty
    - getPrecompiledSectionName
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::load(const std::string &code, bool allow_precompiled)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:332,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:332,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:333,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:334,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:336,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:341,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:342,1
    - Dst: proxy_wasm::WasmBase::registerCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:346,1
    - Dst: link
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:347,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:352,1
    - Dst: proxy_wasm::WasmBase::createVmContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:352,1
    - Dst: proxy_wasm::WasmBase::getFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:353,1
    - Dst: proxy_wasm::WasmBase::startVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:357,1
    - Dst: proxy_wasm::WasmBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 361
    functionName: proxy_wasm::WasmBase::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - get
    - proxy_wasm::WasmBase::isFailed
    - proxy_wasm::WasmBase::registerCallbacks
    - proxy_wasm::WasmBase::getFunctions
    - proxy_wasm::WasmBase::fail
    - wasm
    - has_value
    - reset
    - proxy_wasm::WasmBase::createVmContext
    - proxy_wasm::WasmBase::load
    - link
    - proxy_wasm::WasmBase::startVm
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::initialize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:365,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:365,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:366,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:367,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:370,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:370,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:371,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - plugin
    - allow_closed
    argTypes:
    - std::shared_ptr<PluginBase>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: proxy_wasm::WasmBase::getRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - end
    linkageType: ''
    returnType: ContextBase
    signature: "ContextBase *WasmBase::getRootContext(const std::shared_ptr<PluginBase>
      &plugin,\n                                      bool allow_closed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:380,1
    - Dst: _initialize_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:403,1
    - Dst: main_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: _start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:414,1
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - root_context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 417
    functionName: proxy_wasm::WasmBase::startVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - _start_
    - setRestrictedCallback
    - Word
    - _initialize_
    - main_
    linkageType: ''
    returnType: void
    signature: void WasmBase::startVm(ContextBase *root_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::onConfigure
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:420,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context
    - plugin
    argTypes:
    - ContextBase*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: proxy_wasm::WasmBase::configure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - ContextBase*::onConfigure
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::configure(ContextBase *root_context, std::shared_ptr<PluginBase>
      plugin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:424,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:424,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:425,1
    - Dst: auto::second::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:426,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:427,1
    - Dst: std::unique_ptr<ContextBase>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:429,1
    - Dst: proxy_wasm::WasmBase::createRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:429,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:430,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:431,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: proxy_wasm::WasmBase::start
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - proxy_wasm::WasmBase::createRootContext
    - find
    - end
    - auto::second::onStart
    - std::move
    - std::unique_ptr<ContextBase>
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - auto*::onStart
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *WasmBase::start(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:442,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: proxy_wasm::WasmBase::allocContextId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WasmBase::allocContextId()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:449,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:449,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:450,1
    - Dst: auto::second::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:451,1
    - Dst: auto::second::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:452,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:454,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - plugin_key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: proxy_wasm::WasmBase::startShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - erase
    - find
    - auto::second::onDelete
    - std::string
    - auto::second::onDone
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void WasmBase::startShutdown(std::string_view plugin_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:461,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:462,1
    - Dst: auto::second::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:463,1
    - Dst: auto::second::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:464,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:466,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: proxy_wasm::WasmBase::startShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - auto::second::onDelete
    - auto::second::onDone
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void WasmBase::startShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:473,1
    - Dst: ContextBase*::plugin_::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:473,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:474,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:477,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:477,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:478,1
    - Dst: std::make_unique<ShutdownHandle>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:480,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:480,1
    - Dst: proxy_wasm::WasmBase::addAfterVmCallAction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:481,1
    - Dst: release
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - root_context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: proxy_wasm::WasmBase::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - erase
    - insert
    - find
    - shared_from_this
    - release
    - proxy_wasm::WasmBase::addAfterVmCallAction
    - end
    - std::make_unique<ShutdownHandle>
    - ContextBase*::plugin_::key
    - std::move
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult WasmBase::done(ContextBase *root_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:487,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:488,1
    - Dst: onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:489,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: proxy_wasm::WasmBase::finishShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - begin
    - onDelete
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void WasmBase::finishShutdown()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmHandleBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:496,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:499,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:499,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:500,1
    - Dst: clone_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:503,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:503,1
    - Dst: proxy_wasm::WasmHandleBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:505,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:508,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:509,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:513,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:515,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:518,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:519,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:521,1
    - Dst: auto::kill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:524,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - plugin
    - clone_factory
    argTypes:
    - std::shared_ptr<PluginBase>
    - WasmHandleCloneFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 527
    functionName: proxy_wasm::WasmHandleBase::canary
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::wasm
    - proxy_wasm::WasmHandleBase::wasm
    - find
    - shared_from_this
    - auto::kill
    - end
    - clone_factory
    - std::shared_ptr<PluginBase>::key
    linkageType: ''
    returnType: bool
    signature: "bool WasmHandleBase::canary(const std::shared_ptr<PluginBase> &plugin,\n
      \                           const WasmHandleCloneFactory &clone_factory)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_reference<decltype(*base_wasms)>::type::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:538,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:540,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:541,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:542,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:544,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:549,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:553,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:554,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:557,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:558,1
    - Dst: std::shared_ptr::canary
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - vm_key
    - code
    - plugin
    - factory
    - clone_factory
    - allow_precompiled
    argTypes:
    - std::string
    - std::string
    - std::shared_ptr<PluginBase>
    - WasmHandleFactory
    - WasmHandleCloneFactory
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 571
    functionName: proxy_wasm::createWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - erase
    - std::remove_reference<decltype(*base_wasms)>::type::type
    - find
    - end
    - std::shared_ptr::wasm
    - std::shared_ptr::canary
    - factory
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: "std::shared_ptr<WasmHandleBase> createWasm(const std::string &vm_key,
      const std::string &code,\n                                           const std::shared_ptr<PluginBase>
      &plugin,\n                                           const WasmHandleFactory
      &factory,\n                                           const WasmHandleCloneFactory
      &clone_factory,\n                                           bool allow_precompiled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:574,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:574,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:575,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:576,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:580,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vm_key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: proxy_wasm::getThreadLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - erase
    - find
    - std::string
    - end
    - proxy_wasm::removeStaleLocalCacheEntries
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: std::shared_ptr<WasmHandleBase> getThreadLocalWasm(std::string_view
      vm_key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:589,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:591,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:592,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:593,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:597,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:599,1
    - Dst: clone_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:601,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:603,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:607,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:608,1
    - Dst: proxy_wasm::cacheLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:611,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:612,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - base_handle
    - clone_factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmHandleCloneFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 621
    functionName: proxy_wasm::getOrCreateThreadLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - auto::wasm
    - erase
    - find
    - std::shared_ptr<WasmHandleBase>::wasm
    - end
    - proxy_wasm::cacheLocalWasm
    - clone_factory
    - proxy_wasm::removeStaleLocalCacheEntries
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: "std::shared_ptr<WasmHandleBase> getOrCreateThreadLocalWasm(const std::shared_ptr<WasmHandleBase>
      &base_handle,\n                           const WasmHandleCloneFactory &clone_factory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:628,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:629,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:630,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:634,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:636,1
    - Dst: proxy_wasm::getOrCreateThreadLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:638,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:643,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:645,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:648,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:649,1
    - Dst: plugin_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:653,1
    - Dst: proxy_wasm::cacheLocalPlugin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:654,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:655,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - base_handle
    - plugin
    - clone_factory
    - plugin_factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - std::shared_ptr<PluginBase>
    - WasmHandleCloneFactory
    - PluginHandleFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 664
    functionName: proxy_wasm::getOrCreateThreadLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - auto::wasm
    - erase
    - proxy_wasm::getOrCreateThreadLocalWasm
    - find
    - std::shared_ptr<WasmHandleBase>::wasm
    - std::string
    - end
    - plugin_factory
    - proxy_wasm::removeStaleLocalCacheEntries
    - std::shared_ptr<PluginBase>::key
    - proxy_wasm::cacheLocalPlugin
    linkageType: ''
    returnType: std::shared_ptr<PluginHandleBase>
    signature: "std::shared_ptr<PluginHandleBase> getOrCreateThreadLocalPlugin(\n
      \   const std::shared_ptr<WasmHandleBase> &base_handle, const std::shared_ptr<PluginBase>
      &plugin,\n    const WasmHandleCloneFactory &clone_factory, const PluginHandleFactory
      &plugin_factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:667,1
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 674
    functionName: proxy_wasm::clearWasmCachesForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: void
    signature: void clearWasmCachesForTesting()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:679,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: proxy_wasm::staleLocalPluginsKeysForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - second::expired
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> staleLocalPluginsKeysForTesting()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:689,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: proxy_wasm::staleLocalWasmsKeysForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - second::expired
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> staleLocalWasmsKeysForTesting()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - wasm_handle
    argTypes:
    - std::string
    - std::shared_ptr<WasmHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: proxy_wasm::cacheLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void cacheLocalWasm(const std::string &key, const std::shared_ptr<WasmHandleBase>
      &wasm_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - plugin_handle
    argTypes:
    - std::string
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: proxy_wasm::cacheLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void cacheLocalPlugin(const std::string &key,\n                      const
      std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:74,1
    - Dst: std::queue<std::string>::pop
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:75,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:77,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:78,1
    - Dst: auto::second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:82,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:83,1
    - Dst: std::queue<std::string>::push
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - keys
    argTypes:
    - std::unordered_map<std::string, std::weak_ptr<T>>
    - std::queue<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: proxy_wasm::removeStaleLocalCacheEntries
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 3
    functionsReached:
    - std::queue<std::string>::push
    - std::unordered_map<std::string, std::weak_ptr<T>>::erase
    - std::queue<std::string>::front
    - std::unordered_map<std::string, std::weak_ptr<T>>::find
    - min
    - auto::second::expired
    - std::unordered_map<std::string, std::weak_ptr<T>>::end
    - std::queue<std::string>::pop
    - std::move
    - std::queue<std::string>::size
    linkageType: ''
    returnType: void
    signature: "void removeStaleLocalCacheEntries(std::unordered_map<std::string,
      std::weak_ptr<T>> &cache,\n                                  std::queue<std::string>
      &keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - wasm_handle
    argTypes:
    - std::string
    - std::shared_ptr<WasmHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: proxy_wasm::cacheLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void cacheLocalWasm(const std::string &key, const std::shared_ptr<WasmHandleBase>
      &wasm_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - plugin_handle
    argTypes:
    - std::string
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: proxy_wasm::cacheLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void cacheLocalPlugin(const std::string &key,\n                      const
      std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:72,1
    - Dst: std::queue<std::string>::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:74,1
    - Dst: std::queue<std::string>::pop
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:75,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:77,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:78,1
    - Dst: auto::second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:82,1
    - Dst: std::unordered_map<std::string, std::weak_ptr<T>>::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:83,1
    - Dst: std::queue<std::string>::push
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - keys
    argTypes:
    - std::unordered_map<std::string, std::weak_ptr<T>>
    - std::queue<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: proxy_wasm::removeStaleLocalCacheEntries
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 3
    functionsReached:
    - std::queue<std::string>::push
    - std::unordered_map<std::string, std::weak_ptr<T>>::erase
    - std::queue<std::string>::front
    - std::unordered_map<std::string, std::weak_ptr<T>>::find
    - min
    - auto::second::expired
    - std::unordered_map<std::string, std::weak_ptr<T>>::end
    - std::queue<std::string>::pop
    - std::move
    - std::queue<std::string>::size
    linkageType: ''
    returnType: void
    signature: "void removeStaleLocalCacheEntries(std::unordered_map<std::string,
      std::weak_ptr<T>> &cache,\n                                  std::queue<std::string>
      &keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::Sha256String
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vm_id
    - vm_configuration
    - code
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: proxy_wasm::makeVmKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::Sha256String
    linkageType: ''
    returnType: std::string
    signature: "std::string makeVmKey(std::string_view vm_id, std::string_view vm_configuration,\n
      \                     std::string_view code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~ShutdownHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - finishShutdown
    linkageType: ''
    returnType: void
    signature: void ~ShutdownHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - std::shared_ptr<WasmBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::WasmBase::ShutdownHandle::ShutdownHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ShutdownHandle(std::shared_ptr<WasmBase> wasm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _REGISTER
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:112,1
    - Dst: _REGISTER
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:113,1
    - Dst: FOR_ALL_WASI_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:133,1
    - Dst: FOR_ALL_WASI_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:134,1
    - Dst: FOR_ALL_HOST_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:139,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:141,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:142,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:143,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:144,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:145,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:146,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:147,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:148,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:149,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:150,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:151,1
    - Dst: _REGISTER_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmBase::registerCallbacks
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - FOR_ALL_HOST_FUNCTIONS
    - _REGISTER
    - proxy_wasm::WasmBase::abiVersion
    - FOR_ALL_WASI_FUNCTIONS
    - _REGISTER_PROXY
    linkageType: ''
    returnType: void
    signature: void WasmBase::registerCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: _REGISTER
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - module_name
    - ','
    - name_prefix
    - ','
    - export_prefix
    - ','
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: _REGISTER
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER(module_name, name_prefix, export_prefix, _fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: _REGISTER_WASI_UNSTABLE
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_WASI_UNSTABLE(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: _REGISTER_WASI_SNAPSHOT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_WASI_SNAPSHOT(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: _REGISTER_PROXY
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_PROXY(_fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:162,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:164,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:166,1
    - Dst: _GET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:169,1
    - Dst: _GET_ALIAS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:171,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:174,1
    - Dst: FOR_ALL_MODULE_FUNCTIONS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:193,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:195,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:196,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:197,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:198,1
    - Dst: proxy_wasm::WasmBase::abiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:199,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:200,1
    - Dst: _GET_PROXY_ABI
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:201,1
    - Dst: _GET_PROXY
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 206
    functionName: proxy_wasm::WasmBase::getFunctions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - _GET_PROXY_ABI
    - _GET_PROXY
    - FOR_ALL_MODULE_FUNCTIONS
    - proxy_wasm::WasmBase::fail
    - _GET_ALIAS
    - proxy_wasm::WasmBase::abiVersion
    - _GET
    linkageType: ''
    returnType: void
    signature: void WasmBase::getFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: _GET
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _fn
    - ','
    - _alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: _GET_ALIAS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_ALIAS(_fn, _alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: _GET_PROXY
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_PROXY(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _fn
    - ','
    - _abi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: _GET_PROXY_ABI
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_PROXY_ABI(_fn, _abi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:210,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:211,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:211,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:212,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:213,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:214,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:217,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:219,1
    - Dst: addFailCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base_wasm_handle
    - factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmVmFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: proxy_wasm::WasmBase::WasmBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr<WasmHandleBase>::wasm
    - factory
    - addFailCallback
    linkageType: ''
    returnType: void
    signature: "void WasmBase::WasmBase(const std::shared_ptr<WasmHandleBase> &base_wasm_handle,\n
      \                  const WasmVmFactory &factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:232,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:233,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:233,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:234,1
    - Dst: getVmIdHandle
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:234,1
    - Dst: addFailCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - wasm_vm
    - vm_id
    - vm_configuration
    - vm_key
    - envs
    - allowed_capabilities
    argTypes:
    - std::unique_ptr<WasmVm>
    - std::string_view
    - std::string_view
    - std::string_view
    - std::unordered_map<std::string, std::string>
    - AllowedCapabilitiesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmBase::WasmBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - getVmIdHandle
    - std::move
    - std::string
    - addFailCallback
    linkageType: ''
    returnType: void
    signature: "void WasmBase::WasmBase(std::unique_ptr<WasmVm> wasm_vm, std::string_view
      vm_id,\n                   std::string_view vm_configuration, std::string_view
      vm_key,\n                   std::unordered_map<std::string, std::string> envs,\n
      \                  AllowedCapabilitiesMap allowed_capabilities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:243,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:244,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: WasmBase::~WasmBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void WasmBase::~WasmBase()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:249,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:249,1
    - Dst: getEngineName
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:255,1
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:256,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:258,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:267,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:268,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:271,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:272,1
    - Dst: proxy_wasm::BytecodeUtil::getAbiVersion
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:276,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:277,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:281,1
    - Dst: proxy_wasm::BytecodeUtil::getFunctionNameIndex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:286,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:287,1
    - Dst: getPrecompiledSectionName
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:295,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:296,1
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:297,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:298,1
    - Dst: proxy_wasm::BytecodeUtil::getStrippedSource
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:306,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:307,1
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:311,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:313,1
    - Dst: cloneable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - code
    - allow_precompiled
    argTypes:
    - std::string
    - bool
    assertStmts:
    - condition: (!started_from_.has_value())
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 324
    functionName: proxy_wasm::WasmBase::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 3
    functionsReached:
    - proxy_wasm::BytecodeUtil::getStrippedSource
    - proxy_wasm::BytecodeUtil::getFunctionNameIndex
    - proxy_wasm::BytecodeUtil::getAbiVersion
    - proxy_wasm::SignatureUtil::verifySignature
    - proxy_wasm::WasmBase::fail
    - std::string::empty
    - integration
    - cloneable
    - has_value
    - proxy_wasm::WasmBase::load
    - proxy_wasm::BytecodeUtil::getCustomSection
    - getEngineName
    - auto::empty
    - getPrecompiledSectionName
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::load(const std::string &code, bool allow_precompiled)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:332,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:332,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:333,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:334,1
    - Dst: proxy_wasm::WasmBase::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:336,1
    - Dst: has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:341,1
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:342,1
    - Dst: proxy_wasm::WasmBase::registerCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:346,1
    - Dst: link
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:347,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:352,1
    - Dst: proxy_wasm::WasmBase::createVmContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:352,1
    - Dst: proxy_wasm::WasmBase::getFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:353,1
    - Dst: proxy_wasm::WasmBase::startVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:357,1
    - Dst: proxy_wasm::WasmBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 361
    functionName: proxy_wasm::WasmBase::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - get
    - proxy_wasm::WasmBase::isFailed
    - proxy_wasm::WasmBase::registerCallbacks
    - proxy_wasm::WasmBase::getFunctions
    - proxy_wasm::WasmBase::fail
    - wasm
    - has_value
    - reset
    - proxy_wasm::WasmBase::createVmContext
    - proxy_wasm::WasmBase::load
    - link
    - proxy_wasm::WasmBase::startVm
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::initialize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:365,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:365,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:366,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:367,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:370,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:370,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:371,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - plugin
    - allow_closed
    argTypes:
    - std::shared_ptr<PluginBase>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: proxy_wasm::WasmBase::getRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - end
    linkageType: ''
    returnType: ContextBase
    signature: "ContextBase *WasmBase::getRootContext(const std::shared_ptr<PluginBase>
      &plugin,\n                                      bool allow_closed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:380,1
    - Dst: _initialize_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:403,1
    - Dst: main_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:410,1
    - Dst: _start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:414,1
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - root_context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 417
    functionName: proxy_wasm::WasmBase::startVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 2
    functionsReached:
    - _start_
    - setRestrictedCallback
    - Word
    - _initialize_
    - main_
    linkageType: ''
    returnType: void
    signature: void WasmBase::startVm(ContextBase *root_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::onConfigure
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:420,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context
    - plugin
    argTypes:
    - ContextBase*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: proxy_wasm::WasmBase::configure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - ContextBase*::onConfigure
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::configure(ContextBase *root_context, std::shared_ptr<PluginBase>
      plugin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:424,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:424,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:425,1
    - Dst: auto::second::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:426,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:427,1
    - Dst: std::unique_ptr<ContextBase>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:429,1
    - Dst: proxy_wasm::WasmBase::createRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:429,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:430,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:431,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: proxy_wasm::WasmBase::start
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - proxy_wasm::WasmBase::createRootContext
    - find
    - end
    - auto::second::onStart
    - std::move
    - std::unique_ptr<ContextBase>
    - std::shared_ptr<PluginBase>::key
    - auto::second::get
    - auto*::onStart
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *WasmBase::start(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:442,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: proxy_wasm::WasmBase::allocContextId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WasmBase::allocContextId()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:449,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:449,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:450,1
    - Dst: auto::second::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:451,1
    - Dst: auto::second::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:452,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:454,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - plugin_key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: proxy_wasm::WasmBase::startShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - erase
    - find
    - auto::second::onDelete
    - std::string
    - auto::second::onDone
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void WasmBase::startShutdown(std::string_view plugin_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:461,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:462,1
    - Dst: auto::second::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:463,1
    - Dst: auto::second::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:464,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:466,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: proxy_wasm::WasmBase::startShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - auto::second::onDelete
    - auto::second::onDone
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void WasmBase::startShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:473,1
    - Dst: ContextBase*::plugin_::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:473,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:474,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:477,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:477,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:478,1
    - Dst: std::make_unique<ShutdownHandle>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:480,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:480,1
    - Dst: proxy_wasm::WasmBase::addAfterVmCallAction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:481,1
    - Dst: release
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - root_context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: proxy_wasm::WasmBase::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - erase
    - insert
    - find
    - shared_from_this
    - release
    - proxy_wasm::WasmBase::addAfterVmCallAction
    - end
    - std::make_unique<ShutdownHandle>
    - ContextBase*::plugin_::key
    - std::move
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult WasmBase::done(ContextBase *root_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:487,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:488,1
    - Dst: onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:489,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: proxy_wasm::WasmBase::finishShutdown
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - begin
    - onDelete
    - erase
    - end
    linkageType: ''
    returnType: void
    signature: void WasmBase::finishShutdown()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmHandleBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:496,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:499,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:499,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:500,1
    - Dst: clone_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:503,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:503,1
    - Dst: proxy_wasm::WasmHandleBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:505,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:508,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:509,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:513,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:515,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:518,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:519,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:521,1
    - Dst: auto::kill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:524,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - plugin
    - clone_factory
    argTypes:
    - std::shared_ptr<PluginBase>
    - WasmHandleCloneFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 527
    functionName: proxy_wasm::WasmHandleBase::canary
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::wasm
    - proxy_wasm::WasmHandleBase::wasm
    - find
    - shared_from_this
    - auto::kill
    - end
    - clone_factory
    - std::shared_ptr<PluginBase>::key
    linkageType: ''
    returnType: bool
    signature: "bool WasmHandleBase::canary(const std::shared_ptr<PluginBase> &plugin,\n
      \                           const WasmHandleCloneFactory &clone_factory)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_reference<decltype(*base_wasms)>::type::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:538,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:540,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:541,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:542,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:544,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:549,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:553,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:554,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:557,1
    - Dst: std::shared_ptr::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:558,1
    - Dst: std::shared_ptr::canary
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - vm_key
    - code
    - plugin
    - factory
    - clone_factory
    - allow_precompiled
    argTypes:
    - std::string
    - std::string
    - std::shared_ptr<PluginBase>
    - WasmHandleFactory
    - WasmHandleCloneFactory
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 571
    functionName: proxy_wasm::createWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - erase
    - std::remove_reference<decltype(*base_wasms)>::type::type
    - find
    - end
    - std::shared_ptr::wasm
    - std::shared_ptr::canary
    - factory
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: "std::shared_ptr<WasmHandleBase> createWasm(const std::string &vm_key,
      const std::string &code,\n                                           const std::shared_ptr<PluginBase>
      &plugin,\n                                           const WasmHandleFactory
      &factory,\n                                           const WasmHandleCloneFactory
      &clone_factory,\n                                           bool allow_precompiled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:574,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:574,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:575,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:576,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:580,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vm_key
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: proxy_wasm::getThreadLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - erase
    - find
    - std::string
    - end
    - proxy_wasm::removeStaleLocalCacheEntries
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: std::shared_ptr<WasmHandleBase> getThreadLocalWasm(std::string_view
      vm_key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:589,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:591,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:592,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:593,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:597,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:599,1
    - Dst: clone_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:601,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:603,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:607,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:608,1
    - Dst: proxy_wasm::cacheLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:611,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:612,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - base_handle
    - clone_factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - WasmHandleCloneFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 621
    functionName: proxy_wasm::getOrCreateThreadLocalWasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 1
    functionsReached:
    - auto::second::lock
    - auto::wasm
    - erase
    - find
    - std::shared_ptr<WasmHandleBase>::wasm
    - end
    - proxy_wasm::cacheLocalWasm
    - clone_factory
    - proxy_wasm::removeStaleLocalCacheEntries
    linkageType: ''
    returnType: std::shared_ptr<WasmHandleBase>
    signature: "std::shared_ptr<WasmHandleBase> getOrCreateThreadLocalWasm(const std::shared_ptr<WasmHandleBase>
      &base_handle,\n                           const WasmHandleCloneFactory &clone_factory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: std::shared_ptr<PluginBase>::key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:626,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:628,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:629,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:630,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:634,1
    - Dst: proxy_wasm::removeStaleLocalCacheEntries
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:636,1
    - Dst: proxy_wasm::getOrCreateThreadLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:638,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:643,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:645,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:648,1
    - Dst: std::shared_ptr<WasmHandleBase>::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:649,1
    - Dst: plugin_factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:653,1
    - Dst: proxy_wasm::cacheLocalPlugin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:654,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:655,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - base_handle
    - plugin
    - clone_factory
    - plugin_factory
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - std::shared_ptr<PluginBase>
    - WasmHandleCloneFactory
    - PluginHandleFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 664
    functionName: proxy_wasm::getOrCreateThreadLocalPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - auto::wasm
    - erase
    - proxy_wasm::getOrCreateThreadLocalWasm
    - find
    - std::shared_ptr<WasmHandleBase>::wasm
    - std::string
    - end
    - plugin_factory
    - proxy_wasm::removeStaleLocalCacheEntries
    - std::shared_ptr<PluginBase>::key
    - proxy_wasm::cacheLocalPlugin
    linkageType: ''
    returnType: std::shared_ptr<PluginHandleBase>
    signature: "std::shared_ptr<PluginHandleBase> getOrCreateThreadLocalPlugin(\n
      \   const std::shared_ptr<WasmHandleBase> &base_handle, const std::shared_ptr<PluginBase>
      &plugin,\n    const WasmHandleCloneFactory &clone_factory, const PluginHandleFactory
      &plugin_factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:667,1
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 674
    functionName: proxy_wasm::clearWasmCachesForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: void
    signature: void clearWasmCachesForTesting()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:679,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: proxy_wasm::staleLocalPluginsKeysForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - second::expired
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> staleLocalPluginsKeysForTesting()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::expired
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:689,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: proxy_wasm::staleLocalWasmsKeysForTesting
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasm.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - second::expired
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> staleLocalWasmsKeysForTesting()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mutex::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: proxy_wasm::getGlobalIdHandleMutex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - std::mutex::mutex
    linkageType: ''
    returnType: std::mutex
    signature: std::mutex &getGlobalIdHandleMutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::function<void(std::string_view vm_id)>>::string_view vm_id)>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: proxy_wasm::getVmIdHandlesCallbacks
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::function<void(std::string_view vm_id)>>::string_view vm_id)>>
    linkageType: ''
    returnType: std::vector<std::function<void(std::string_view vm_id)>>
    signature: std::vector<std::function<void(std::string_view vm_id)>> &getVmIdHandlesCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>::weak_ptr<VmIdHandle>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: proxy_wasm::getVmIdHandles
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>::weak_ptr<VmIdHandle>>
    linkageType: ''
    returnType: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>
    signature: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>> &getVmIdHandles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:43,1
    - Dst: proxy_wasm::getVmIdHandles
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:44,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:46,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:47,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:48,1
    - Dst: auto::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:52,1
    - Dst: std::make_shared<VmIdHandle>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: proxy_wasm::getVmIdHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - auto::end
    - proxy_wasm::getVmIdHandles
    - std::make_shared<VmIdHandle>
    - std::string
    - auto::erase
    - auto::find
    linkageType: ''
    returnType: std::shared_ptr<VmIdHandle>
    signature: std::shared_ptr<VmIdHandle> getVmIdHandle(std::string_view vm_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getVmIdHandlesCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void(std::string_view vm_id)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: proxy_wasm::registerVmIdHandleCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getVmIdHandlesCallbacks
    linkageType: ''
    returnType: void
    signature: void registerVmIdHandleCallback(const std::function<void(std::string_view
      vm_id)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVmIdHandlesCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:67,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:68,1
    - Dst: getVmIdHandles
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: VmIdHandle::~VmIdHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - getVmIdHandlesCallbacks
    - getVmIdHandles
    - f
    linkageType: ''
    returnType: void
    signature: void VmIdHandle::~VmIdHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mutex::mutex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: proxy_wasm::getGlobalIdHandleMutex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - std::mutex::mutex
    linkageType: ''
    returnType: std::mutex
    signature: std::mutex &getGlobalIdHandleMutex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::function<void(std::string_view vm_id)>>::string_view vm_id)>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: proxy_wasm::getVmIdHandlesCallbacks
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 1
    functionsReached:
    - std::vector<std::function<void(std::string_view vm_id)>>::string_view vm_id)>>
    linkageType: ''
    returnType: std::vector<std::function<void(std::string_view vm_id)>>
    signature: std::vector<std::function<void(std::string_view vm_id)>> &getVmIdHandlesCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>::weak_ptr<VmIdHandle>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: proxy_wasm::getVmIdHandles
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 1
    functionsReached:
    - std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>::weak_ptr<VmIdHandle>>
    linkageType: ''
    returnType: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>>
    signature: std::unordered_map<std::string, std::weak_ptr<VmIdHandle>> &getVmIdHandles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:43,1
    - Dst: proxy_wasm::getVmIdHandles
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:44,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:46,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:47,1
    - Dst: auto::second::lock
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:48,1
    - Dst: auto::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:52,1
    - Dst: std::make_shared<VmIdHandle>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: proxy_wasm::getVmIdHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - auto::second::lock
    - auto::end
    - proxy_wasm::getVmIdHandles
    - std::make_shared<VmIdHandle>
    - std::string
    - auto::erase
    - auto::find
    linkageType: ''
    returnType: std::shared_ptr<VmIdHandle>
    signature: std::shared_ptr<VmIdHandle> getVmIdHandle(std::string_view vm_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getVmIdHandlesCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void(std::string_view vm_id)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: proxy_wasm::registerVmIdHandleCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getVmIdHandlesCallbacks
    linkageType: ''
    returnType: void
    signature: void registerVmIdHandleCallback(const std::function<void(std::string_view
      vm_id)> &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVmIdHandlesCallbacks
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:67,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:68,1
    - Dst: getVmIdHandles
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: VmIdHandle::~VmIdHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/vm_id_handle.cc
    functionUses: 0
    functionsReached:
    - getVmIdHandlesCallbacks
    - getVmIdHandles
    - f
    linkageType: ''
    returnType: void
    signature: void VmIdHandle::~VmIdHandle()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: hex2dec
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex2dec(const unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:46,1
    - Dst: hex2dec
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:47,1
    - Dst: hex2dec
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - (hex)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: hex2pubkey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 0
    functionsReached:
    - hex2dec
    - std::array::size
    linkageType: ''
    returnType: std::array<uint8_t, N>
    signature: std::array<uint8_t, N> hex2pubkey(const char (&hex)[2 * N + 1])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: hex2dec
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex2dec(const unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:46,1
    - Dst: hex2dec
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:47,1
    - Dst: hex2dec
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - (hex)
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: hex2pubkey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 0
    functionsReached:
    - hex2dec
    - std::array::size
    linkageType: ''
    returnType: std::array<uint8_t, N>
    signature: std::array<uint8_t, N> hex2pubkey(const char (&hex)[2 * N + 1])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:67,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:72,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:82,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:83,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:88,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:88,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:89,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:92,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:96,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:96,1
    - Dst: SHA512_Init
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:99,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:100,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:102,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: SHA512_Final
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:106,1
    - Dst: hex2pubkey
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:108,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:110,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:110,1
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:117,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:120,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:125,1
    - Dst: EVP_DigestVerify
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:126,1
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:128,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - bytecode
    - message
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 142
    functionName: proxy_wasm::SignatureUtil::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - reinterpret_cast<const uint8_t *>
    - std::string_view::data
    - EVP_PKEY_free
    - SHA512_Init
    - std::string_view::size
    - auto::data
    - proxy_wasm::BytecodeUtil::getCustomSection
    - hex2pubkey
    - EVP_MD_CTX_free
    - EVP_DigestVerifyInit
    - EVP_MD_CTX_new
    - SHA512_Update
    - std::to_string
    - EVP_PKEY_new_raw_public_key
    - std::string_view::empty
    - SHA512_Final
    - wasmtoh
    - EVP_DigestVerify
    linkageType: ''
    returnType: bool
    signature: bool SignatureUtil::verifySignature(std::string_view bytecode, std::string
      &message)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:67,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:72,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:77,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:82,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:83,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:83,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:88,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:88,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:89,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:92,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:96,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:96,1
    - Dst: SHA512_Init
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:99,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:100,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:102,1
    - Dst: SHA512_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:104,1
    - Dst: SHA512_Final
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:106,1
    - Dst: hex2pubkey
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:108,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:110,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:110,1
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:117,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:120,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:125,1
    - Dst: EVP_DigestVerify
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:126,1
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:128,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - bytecode
    - message
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 142
    functionName: proxy_wasm::SignatureUtil::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/signature_util.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - reinterpret_cast<const uint8_t *>
    - std::string_view::data
    - EVP_PKEY_free
    - SHA512_Init
    - std::string_view::size
    - auto::data
    - proxy_wasm::BytecodeUtil::getCustomSection
    - hex2pubkey
    - EVP_MD_CTX_free
    - EVP_DigestVerifyInit
    - EVP_MD_CTX_new
    - SHA512_Update
    - std::to_string
    - EVP_PKEY_new_raw_public_key
    - std::string_view::empty
    - SHA512_Final
    - wasmtoh
    - EVP_DigestVerify
    linkageType: ''
    returnType: bool
    signature: bool SignatureUtil::verifySignature(std::string_view bytecode, std::string
      &message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: proxy_wasm::BytecodeUtil::checkWasmHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - swoc::SWOC_VERSION_NS::memcmp
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::checkWasmHeader(std::string_view bytecode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:34,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:40,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:40,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:47,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:53,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:61,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:88,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - proxy_wasm::AbiVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 97
    functionName: proxy_wasm::BytecodeUtil::getAbiVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string_view::size
    - std::string_view::data
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::getAbiVersion(std::string_view bytecode, proxy_wasm::AbiVersion
      &ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:102,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:107,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:108,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:108,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:115,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - bytecode
    - name
    - ret
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: proxy_wasm::BytecodeUtil::getCustomSection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    - proxy_wasm::BytecodeUtil::parseVarint
    - swoc::SWOC_VERSION_NS::memcmp
    - std::string_view::size
    - static_cast<size_t>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool BytecodeUtil::getCustomSection(std::string_view bytecode, std::string_view
      name,\n                                    std::string_view &ret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:143,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:146,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:147,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:148,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:148,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:152,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:163,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:168,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:173,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:176,1
    - Dst: abi::__cxa_demangle
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:179,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:179,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:181,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:182,1
    - Dst: std::unordered_map<uint32_t, std::string>::insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: proxy_wasm::BytecodeUtil::getFunctionNameIndex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - auto::c_str
    - Arena::free
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string_view::empty
    - std::string
    - std::string_view::size
    - proxy_wasm::BytecodeUtil::getCustomSection
    - std::unordered_map<uint32_t, std::string>::insert
    - std::string_view::data
    - abi::__cxa_demangle
    linkageType: ''
    returnType: bool
    signature: "bool BytecodeUtil::getFunctionNameIndex(std::string_view bytecode,\n
      \                                       std::unordered_map<uint32_t, std::string>
      &ret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:199,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:204,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:205,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:205,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:213,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:219,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:222,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:223,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:226,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:227,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:228,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:235,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:236,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:240,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 245
    functionName: proxy_wasm::BytecodeUtil::getStrippedSource
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string::empty
    - std::string::append
    - std::string
    - std::string_view::size
    - auto::find
    - std::string_view
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::getStrippedSource(std::string_view bytecode, std::string
      &ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pos
    - end
    - ret
    argTypes:
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: proxy_wasm::BytecodeUtil::parseVarint
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::parseVarint(const char *&pos, const char *end, uint32_t
      &ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: proxy_wasm::BytecodeUtil::checkWasmHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 3
    functionsReached:
    - std::string_view::size
    - swoc::SWOC_VERSION_NS::memcmp
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::checkWasmHeader(std::string_view bytecode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:34,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:39,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:40,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:40,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:47,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:53,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:61,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:88,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - proxy_wasm::AbiVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 97
    functionName: proxy_wasm::BytecodeUtil::getAbiVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string_view::size
    - std::string_view::data
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::getAbiVersion(std::string_view bytecode, proxy_wasm::AbiVersion
      &ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:102,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:107,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:108,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:108,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:115,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:126,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - bytecode
    - name
    - ret
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: proxy_wasm::BytecodeUtil::getCustomSection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 5
    functionsReached:
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    - proxy_wasm::BytecodeUtil::parseVarint
    - swoc::SWOC_VERSION_NS::memcmp
    - std::string_view::size
    - static_cast<size_t>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool BytecodeUtil::getCustomSection(std::string_view bytecode, std::string_view
      name,\n                                    std::string_view &ret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::getCustomSection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:143,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:146,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:147,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:148,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:148,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:152,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:163,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:168,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:173,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:176,1
    - Dst: abi::__cxa_demangle
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:179,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:179,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:181,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:182,1
    - Dst: std::unordered_map<uint32_t, std::string>::insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: proxy_wasm::BytecodeUtil::getFunctionNameIndex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - auto::c_str
    - Arena::free
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string_view::empty
    - std::string
    - std::string_view::size
    - proxy_wasm::BytecodeUtil::getCustomSection
    - std::unordered_map<uint32_t, std::string>::insert
    - std::string_view::data
    - abi::__cxa_demangle
    linkageType: ''
    returnType: bool
    signature: "bool BytecodeUtil::getFunctionNameIndex(std::string_view bytecode,\n
      \                                       std::unordered_map<uint32_t, std::string>
      &ret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytecodeUtil::checkWasmHeader
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:199,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:204,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:205,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:205,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:213,1
    - Dst: proxy_wasm::BytecodeUtil::parseVarint
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:219,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:222,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:223,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:226,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:227,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:228,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:235,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:236,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:240,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - bytecode
    - ret
    argTypes:
    - std::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 245
    functionName: proxy_wasm::BytecodeUtil::getStrippedSource
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::BytecodeUtil::checkWasmHeader
    - proxy_wasm::BytecodeUtil::parseVarint
    - std::string::empty
    - std::string::append
    - std::string
    - std::string_view::size
    - auto::find
    - std::string_view
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::getStrippedSource(std::string_view bytecode, std::string
      &ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pos
    - end
    - ret
    argTypes:
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: proxy_wasm::BytecodeUtil::parseVarint
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/bytecode_util.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BytecodeUtil::parseVarint(const char *&pos, const char *end, uint32_t
      &ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: proxy_wasm::SharedData::nextCas
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextCas()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: proxy_wasm::SharedData::nextCas
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextCas()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: proxy_wasm::contextOrEffectiveContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *contextOrEffectiveContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map<std::string, WasmForeignFunction>::string, WasmForeignFunction>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: proxy_wasm::foreignFunctions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - std::unordered_map<std::string, WasmForeignFunction>::string, WasmForeignFunction>
    linkageType: ''
    returnType: std::unordered_map<std::string, WasmForeignFunction>
    signature: std::unordered_map<std::string, WasmForeignFunction> &foreignFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::foreignFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:48,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:49,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:49,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - function_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: proxy_wasm::getForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::foreignFunctions
    - auto::end
    - auto::find
    - std::string
    linkageType: ''
    returnType: WasmForeignFunction
    signature: WasmForeignFunction getForeignFunction(std::string_view function_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreignFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:57,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - f
    argTypes:
    - std::string
    - WasmForeignFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: proxy_wasm::RegisterForeignFunction::RegisterForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - std::move
    - foreignFunctions
    linkageType: ''
    returnType: void
    signature: void RegisterForeignFunction::RegisterForeignFunction(const std::string
      &name, WasmForeignFunction f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:65,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:66,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:67,1
    - Dst: auto*::setProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: proxy_wasm::exports::set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setProperty
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_property(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:76,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:77,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:78,1
    - Dst: auto*::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: proxy_wasm::exports::get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::getProperty
    - auto*::wasm
    - auto::has_value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_property(Word path_ptr, Word path_size, Word value_ptr_ptr,
      Word value_size_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:93,1
    - Dst: auto*::getConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:94,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: proxy_wasm::exports::get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getConfiguration
    linkageType: ''
    returnType: Word
    signature: Word get_configuration(Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:102,1
    - Dst: auto*::getStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:103,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:104,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - code_ptr
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: proxy_wasm::exports::get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getStatus
    linkageType: ''
    returnType: Word
    signature: Word get_status(Word code_ptr, Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:117,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: proxy_wasm::exports::continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:122,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: proxy_wasm::exports::continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_response()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:127,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:128,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: proxy_wasm::exports::continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - static_cast<WasmStreamType>
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:135,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:136,1
    - Dst: auto*::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: proxy_wasm::exports::close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - auto*::closeStream
    - static_cast<WasmStreamType>
    linkageType: ''
    returnType: Word
    signature: Word close_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:146,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:148,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:149,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:150,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto*::sendLocalResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:157,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: proxy_wasm::exports::send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::sendLocalResponse
    - auto*::wasm
    - std::move
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word send_local_response(Word response_code, Word response_code_details_ptr,\n
      \                        Word response_code_details_size, Word body_ptr, Word
      body_size,\n                         Word additional_response_header_pairs_ptr,\n
      \                        Word additional_response_header_pairs_size, Word grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:163,1
    - Dst: auto*::clearRouteCache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: proxy_wasm::exports::clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::clearRouteCache
    linkageType: ''
    returnType: Word
    signature: Word clear_route_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:170,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: proxy_wasm::exports::set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Word
    signature: Word set_effective_context(Word context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:180,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: proxy_wasm::exports::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    linkageType: ''
    returnType: Word
    signature: Word done()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:186,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:187,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:191,1
    - Dst: getForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:199,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:200,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:204,1
    - Dst: auto::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:206,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:209,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: proxy_wasm::exports::call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Arena::free
    - auto::value
    - RegexMatches::malloc
    - auto::allocMemory
    - auto*::wasm
    - Word
    - getForeignFunction
    - f
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word call_foreign_function(Word function_name, Word function_name_size,
      Word arguments,\n                           Word arguments_size, Word results,
      Word results_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:229,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:230,1
    - Dst: auto*::getSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:239,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    - cas_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: proxy_wasm::exports::get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::getSharedData
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_shared_data(Word key_ptr, Word key_size, Word value_ptr_ptr,
      Word value_size_ptr,\n                     Word cas_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:249,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:250,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:251,1
    - Dst: auto*::setSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: proxy_wasm::exports::set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setSharedData
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_shared_data(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size, Word cas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:259,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:260,1
    - Dst: auto*::registerSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: proxy_wasm::exports::register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::registerSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word register_shared_queue(Word queue_name_ptr, Word queue_name_size,
      Word token_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:276,1
    - Dst: auto*::dequeueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - token
    - data_ptr_ptr
    - data_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::exports::dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - Word::u32
    - auto*::dequeueSharedQueue
    linkageType: ''
    returnType: Word
    signature: Word dequeue_shared_queue(Word token, Word data_ptr_ptr, Word data_size_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:290,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:291,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:292,1
    - Dst: auto*::lookupSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: proxy_wasm::exports::resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::lookupSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word resolve_shared_queue(Word vm_id_ptr, Word vm_id_size, Word queue_name_ptr,\n
      \                         Word queue_name_size, Word token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:308,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:309,1
    - Dst: auto*::enqueueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: proxy_wasm::exports::enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - Word::u32
    - auto*::enqueueSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word enqueue_shared_queue(Word token, Word data_ptr, Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:318,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:321,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:322,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:323,1
    - Dst: auto*::addHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: proxy_wasm::exports::add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::addHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word add_header_map_value(Word type, Word key_ptr, Word key_size, Word
      value_ptr, Word value_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:333,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:336,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:337,1
    - Dst: auto*::getHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: proxy_wasm::exports::get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapValue
    - auto::value
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr_ptr,\n                          Word value_size_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:355,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:358,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:359,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:360,1
    - Dst: auto*::replaceHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: proxy_wasm::exports::replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::replaceHeaderMapValue
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word replace_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr,\n                              Word value_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:369,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:372,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:373,1
    - Dst: auto*::removeHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: proxy_wasm::exports::remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::removeHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word remove_header_map_value(Word type, Word key_ptr, Word key_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:381,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:384,1
    - Dst: auto*::getHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: Pairs::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:390,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:391,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:396,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:402,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - type
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: proxy_wasm::exports::get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapPairs
    - Pairs::empty
    - proxy_wasm::PairsUtil::pairsSize
    - static_cast<char *>
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - Word
    - proxy_wasm::PairsUtil::marshalPairs
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_pairs(Word type, Word ptr_ptr, Word size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:415,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:418,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:419,1
    - Dst: auto*::setHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: proxy_wasm::exports::set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::setHeaderMapPairs
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_header_map_pairs(Word type, Word ptr, Word size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:428,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:431,1
    - Dst: auto*::getHeaderMapSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: proxy_wasm::exports::get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapSize
    - static_cast<WasmHeaderMapType>
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_size(Word type, Word result_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:445,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:448,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:458,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:460,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:461,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: auto*::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: proxy_wasm::exports::get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::copyTo
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_bytes(Word type, Word start, Word length, Word ptr_ptr,
      Word size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:476,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:479,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:484,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: proxy_wasm::exports::get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_status(Word type, Word length_ptr, Word flags_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:496,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:499,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:504,1
    - Dst: auto*::copyFrom
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: proxy_wasm::exports::set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto::value
    - auto*::copyFrom
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_buffer_bytes(Word type, Word start, Word length, Word data_ptr,
      Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:514,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:515,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:516,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:517,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:518,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:527,1
    - Dst: auto*::httpCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: proxy_wasm::exports::http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::httpCall
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word http_call(Word uri_ptr, Word uri_size, Word header_pairs_ptr,
      Word header_pairs_size,\n               Word body_ptr, Word body_size, Word
      trailer_pairs_ptr, Word trailer_pairs_size,\n               Word timeout_milliseconds,
      Word token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:537,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:538,1
    - Dst: auto*::defineMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - metric_type
    - name_ptr
    - name_size
    - metric_id_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: proxy_wasm::exports::define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - static_cast<uint32_t>
    - auto*::defineMetric
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word define_metric(Word metric_type, Word name_ptr, Word name_size,
      Word metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:555,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - Word
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: proxy_wasm::exports::increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::incrementMetric
    linkageType: ''
    returnType: Word
    signature: Word increment_metric(Word metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:560,1
    - Dst: auto*::recordMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - Word
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: proxy_wasm::exports::record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::recordMetric
    linkageType: ''
    returnType: Word
    signature: Word record_metric(Word metric_id, uint64_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:565,1
    - Dst: auto*::getMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:567,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - metric_id
    - result_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: proxy_wasm::exports::get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMetric
    linkageType: ''
    returnType: Word
    signature: Word get_metric(Word metric_id, Word result_uint64_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:581,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:582,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:583,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:584,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:586,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:587,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto*::grpcCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:594,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:595,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: proxy_wasm::exports::grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCall
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - proxy_wasm::exports::set_tick_period_milliseconds
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_call(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n               Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n               Word initial_metadata_size, Word
      request_ptr, Word request_size,\n               Word timeout_milliseconds, Word
      token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:608,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:609,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:610,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:611,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:613,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto*::grpcStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: proxy_wasm::exports::grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::wasm
    - auto*::grpcStream
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_stream(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n                 Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n                 Word initial_metadata_size, Word
      token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:631,1
    - Dst: auto*::grpcCancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: proxy_wasm::exports::grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCancel
    linkageType: ''
    returnType: Word
    signature: Word grpc_cancel(Word token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:636,1
    - Dst: auto*::grpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: proxy_wasm::exports::grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcClose
    linkageType: ''
    returnType: Word
    signature: Word grpc_close(Word token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:641,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:642,1
    - Dst: auto*::grpcSend
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: proxy_wasm::exports::grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::grpcSend
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word grpc_send(Word token, Word message_ptr, Word message_size, Word
      end_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: proxy_wasm::exports::wasi_unstable_path_open
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_path_open(Word /*fd*/, Word /*dir_flags*/, Word
      /*path*/, Word /*path_len*/,\n                             Word /*oflags*/,
      int64_t /*fs_rights_base*/,\n                             int64_t /*fg_rights_inheriting*/,
      Word /*fd_flags*/,\n                             Word /*nwritten_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_get(Word /*fd*/, Word /*buf_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_dir_name
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_dir_name(Word /*fd*/, Word /*path_ptr*/,
      Word /*path_len*/)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:675,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:693,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:701,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:709,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:713,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:715,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 721
    functionName: proxy_wasm::exports::writevImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::log
    - auto::value
    - std::string::erase
    - std::string::size
    - std::string::append
    - Word
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word writevImpl(Word fd, Word iovs, Word iovs_len, Word *nwritten_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:726,1
    - Dst: proxy_wasm::exports::writevImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:729,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: proxy_wasm::exports::wasi_unstable_fd_write
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::writevImpl
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_write(Word fd, Word iovs, Word iovs_len, Word
      nwritten_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: proxy_wasm::exports::wasi_unstable_fd_read
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_read(Word /*fd*/, Word /*iovs_ptr*/, Word /*iovs_len*/,
      Word /*nread_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:750,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: proxy_wasm::exports::wasi_unstable_fd_seek
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_fd_seek(Word /*fd*/, int64_t /*offset*/, Word /*whence*/,\n
      \                          Word /*newoffset_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:757,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: proxy_wasm::exports::wasi_unstable_fd_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_close(Word /*fd*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:776,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - statOut
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 780
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_get(Word fd, Word statOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_set_flags
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_set_flags(Word /*fd*/, Word /*flags*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:791,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:792,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:793,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:795,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:801,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:802,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:803,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:804,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - environ_array_ptr
    - environ_buf
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: proxy_wasm::exports::wasi_unstable_environ_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::string::reserve
    - std::string::c_str
    - std::string::size
    - std::string::append
    - auto*::wasm
    - first::size
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_get(Word environ_array_ptr, Word environ_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:818,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:819,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - count_ptr
    - buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 833
    functionName: proxy_wasm::exports::wasi_unstable_environ_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::size
    - auto*::wasm
    - first::size
    - Word
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_sizes_get(Word count_ptr, Word buf_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: proxy_wasm::exports::wasi_unstable_args_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_get(Word /*argv_array_ptr*/, Word /*argv_buf_ptr*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:842,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc_ptr
    - argv_buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: proxy_wasm::exports::wasi_unstable_args_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_sizes_get(Word argc_ptr, Word argv_buf_size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:857,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:860,1
    - Dst: auto*::getMonotonicTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:863,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - clock_id
    - result_time_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 873
    functionName: proxy_wasm::exports::wasi_unstable_clock_time_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMonotonicTimeNanoseconds
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_clock_time_get(Word clock_id, uint64_t /*precision*/,\n
      \                                 Word result_time_uint64_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:883,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - result_buf_ptr
    - buf_len
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: proxy_wasm::exports::wasi_unstable_random_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::vector::data
    - std::vector::size
    - auto*::wasmVm
    - RAND_bytes
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_random_get(Word result_buf_ptr, Word buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: proxy_wasm::exports::wasi_unstable_sched_yield
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_sched_yield()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: proxy_wasm::exports::wasi_unstable_poll_oneoff
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_poll_oneoff(Word /*in*/, Word /*out*/, Word /*nsubscriptions*/,\n
      \                              Word /*nevents_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:909,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: proxy_wasm::exports::wasi_unstable_proc_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: void
    signature: void wasi_unstable_proc_exit(Word /*exit_code*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: proxy_wasm::exports::pthread_equal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: Word
    signature: Word pthread_equal(Word left, Word right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: proxy_wasm::exports::emscripten_notify_memory_growth
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void emscripten_notify_memory_growth(Word /*memory_index*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - period_milliseconds
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: proxy_wasm::exports::set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 7
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::set_tick_period_milliseconds
    linkageType: ''
    returnType: Word
    signature: Word set_tick_period_milliseconds(Word period_milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:924,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:925,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_uint64_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: proxy_wasm::exports::get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: Word get_current_time_nanoseconds(Word result_uint64_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:933,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:936,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:937,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - address
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: proxy_wasm::exports::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::log
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word log(Word level, Word address, Word size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:945,1
    - Dst: auto*::getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:946,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_level_uint32_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: proxy_wasm::exports::get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getLogLevel
    linkageType: ''
    returnType: Word
    signature: Word get_log_level(Word result_level_uint32_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:65,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:66,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:67,1
    - Dst: auto*::setProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: proxy_wasm::exports::set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setProperty
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_property(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:76,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:77,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:78,1
    - Dst: auto*::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: proxy_wasm::exports::get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::getProperty
    - auto*::wasm
    - auto::has_value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_property(Word path_ptr, Word path_size, Word value_ptr_ptr,
      Word value_size_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:93,1
    - Dst: auto*::getConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:94,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: proxy_wasm::exports::get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getConfiguration
    linkageType: ''
    returnType: Word
    signature: Word get_configuration(Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:102,1
    - Dst: auto*::getStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:103,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:104,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - code_ptr
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: proxy_wasm::exports::get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getStatus
    linkageType: ''
    returnType: Word
    signature: Word get_status(Word code_ptr, Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:117,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: proxy_wasm::exports::continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:122,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: proxy_wasm::exports::continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_response()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:127,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:128,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: proxy_wasm::exports::continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - static_cast<WasmStreamType>
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:135,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:136,1
    - Dst: auto*::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: proxy_wasm::exports::close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - auto*::closeStream
    - static_cast<WasmStreamType>
    linkageType: ''
    returnType: Word
    signature: Word close_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:146,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:148,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:149,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:150,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto*::sendLocalResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:157,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: proxy_wasm::exports::send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::sendLocalResponse
    - auto*::wasm
    - std::move
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word send_local_response(Word response_code, Word response_code_details_ptr,\n
      \                        Word response_code_details_size, Word body_ptr, Word
      body_size,\n                         Word additional_response_header_pairs_ptr,\n
      \                        Word additional_response_header_pairs_size, Word grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:163,1
    - Dst: auto*::clearRouteCache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: proxy_wasm::exports::clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::clearRouteCache
    linkageType: ''
    returnType: Word
    signature: Word clear_route_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:170,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: proxy_wasm::exports::set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Word
    signature: Word set_effective_context(Word context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:180,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: proxy_wasm::exports::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    linkageType: ''
    returnType: Word
    signature: Word done()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:186,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:187,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:191,1
    - Dst: getForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:199,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:200,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:204,1
    - Dst: auto::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:206,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:209,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: proxy_wasm::exports::call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Arena::free
    - auto::value
    - RegexMatches::malloc
    - auto::allocMemory
    - auto*::wasm
    - Word
    - getForeignFunction
    - f
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word call_foreign_function(Word function_name, Word function_name_size,
      Word arguments,\n                           Word arguments_size, Word results,
      Word results_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:229,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:230,1
    - Dst: auto*::getSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:239,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    - cas_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: proxy_wasm::exports::get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::getSharedData
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_shared_data(Word key_ptr, Word key_size, Word value_ptr_ptr,
      Word value_size_ptr,\n                     Word cas_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:249,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:250,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:251,1
    - Dst: auto*::setSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: proxy_wasm::exports::set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setSharedData
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_shared_data(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size, Word cas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:259,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:260,1
    - Dst: auto*::registerSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: proxy_wasm::exports::register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::registerSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word register_shared_queue(Word queue_name_ptr, Word queue_name_size,
      Word token_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:276,1
    - Dst: auto*::dequeueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - token
    - data_ptr_ptr
    - data_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::exports::dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - Word::u32
    - auto*::dequeueSharedQueue
    linkageType: ''
    returnType: Word
    signature: Word dequeue_shared_queue(Word token, Word data_ptr_ptr, Word data_size_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:290,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:291,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:292,1
    - Dst: auto*::lookupSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: proxy_wasm::exports::resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::lookupSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word resolve_shared_queue(Word vm_id_ptr, Word vm_id_size, Word queue_name_ptr,\n
      \                         Word queue_name_size, Word token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:308,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:309,1
    - Dst: auto*::enqueueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: proxy_wasm::exports::enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - Word::u32
    - auto*::enqueueSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word enqueue_shared_queue(Word token, Word data_ptr, Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:318,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:321,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:322,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:323,1
    - Dst: auto*::addHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: proxy_wasm::exports::add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::addHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word add_header_map_value(Word type, Word key_ptr, Word key_size, Word
      value_ptr, Word value_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:333,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:336,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:337,1
    - Dst: auto*::getHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: proxy_wasm::exports::get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapValue
    - auto::value
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr_ptr,\n                          Word value_size_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:355,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:358,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:359,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:360,1
    - Dst: auto*::replaceHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: proxy_wasm::exports::replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::replaceHeaderMapValue
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word replace_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr,\n                              Word value_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:369,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:372,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:373,1
    - Dst: auto*::removeHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: proxy_wasm::exports::remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::removeHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word remove_header_map_value(Word type, Word key_ptr, Word key_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:381,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:384,1
    - Dst: auto*::getHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: Pairs::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:390,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:391,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:396,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:402,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - type
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: proxy_wasm::exports::get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapPairs
    - Pairs::empty
    - proxy_wasm::PairsUtil::pairsSize
    - static_cast<char *>
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - Word
    - proxy_wasm::PairsUtil::marshalPairs
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_pairs(Word type, Word ptr_ptr, Word size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:415,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:418,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:419,1
    - Dst: auto*::setHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: proxy_wasm::exports::set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::setHeaderMapPairs
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_header_map_pairs(Word type, Word ptr, Word size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:428,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:431,1
    - Dst: auto*::getHeaderMapSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: proxy_wasm::exports::get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapSize
    - static_cast<WasmHeaderMapType>
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_size(Word type, Word result_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:445,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:448,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:458,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:460,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:461,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: auto*::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: proxy_wasm::exports::get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::copyTo
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_bytes(Word type, Word start, Word length, Word ptr_ptr,
      Word size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:476,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:479,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:484,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: proxy_wasm::exports::get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_status(Word type, Word length_ptr, Word flags_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:496,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:499,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:504,1
    - Dst: auto*::copyFrom
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: proxy_wasm::exports::set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto::value
    - auto*::copyFrom
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_buffer_bytes(Word type, Word start, Word length, Word data_ptr,
      Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:514,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:515,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:516,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:517,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:518,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:527,1
    - Dst: auto*::httpCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: proxy_wasm::exports::http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::httpCall
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word http_call(Word uri_ptr, Word uri_size, Word header_pairs_ptr,
      Word header_pairs_size,\n               Word body_ptr, Word body_size, Word
      trailer_pairs_ptr, Word trailer_pairs_size,\n               Word timeout_milliseconds,
      Word token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:537,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:538,1
    - Dst: auto*::defineMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - metric_type
    - name_ptr
    - name_size
    - metric_id_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: proxy_wasm::exports::define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - static_cast<uint32_t>
    - auto*::defineMetric
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word define_metric(Word metric_type, Word name_ptr, Word name_size,
      Word metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:555,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - Word
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: proxy_wasm::exports::increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::incrementMetric
    linkageType: ''
    returnType: Word
    signature: Word increment_metric(Word metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:560,1
    - Dst: auto*::recordMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - Word
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: proxy_wasm::exports::record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::recordMetric
    linkageType: ''
    returnType: Word
    signature: Word record_metric(Word metric_id, uint64_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:565,1
    - Dst: auto*::getMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:567,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - metric_id
    - result_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: proxy_wasm::exports::get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMetric
    linkageType: ''
    returnType: Word
    signature: Word get_metric(Word metric_id, Word result_uint64_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:581,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:582,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:583,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:584,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:586,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:587,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto*::grpcCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:594,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:595,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: proxy_wasm::exports::grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCall
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - proxy_wasm::exports::set_tick_period_milliseconds
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_call(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n               Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n               Word initial_metadata_size, Word
      request_ptr, Word request_size,\n               Word timeout_milliseconds, Word
      token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:608,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:609,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:610,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:611,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:613,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto*::grpcStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: proxy_wasm::exports::grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::wasm
    - auto*::grpcStream
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_stream(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n                 Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n                 Word initial_metadata_size, Word
      token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:631,1
    - Dst: auto*::grpcCancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: proxy_wasm::exports::grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCancel
    linkageType: ''
    returnType: Word
    signature: Word grpc_cancel(Word token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:636,1
    - Dst: auto*::grpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: proxy_wasm::exports::grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcClose
    linkageType: ''
    returnType: Word
    signature: Word grpc_close(Word token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:641,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:642,1
    - Dst: auto*::grpcSend
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: proxy_wasm::exports::grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::grpcSend
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word grpc_send(Word token, Word message_ptr, Word message_size, Word
      end_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: proxy_wasm::exports::wasi_unstable_path_open
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_path_open(Word /*fd*/, Word /*dir_flags*/, Word
      /*path*/, Word /*path_len*/,\n                             Word /*oflags*/,
      int64_t /*fs_rights_base*/,\n                             int64_t /*fg_rights_inheriting*/,
      Word /*fd_flags*/,\n                             Word /*nwritten_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_get(Word /*fd*/, Word /*buf_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_dir_name
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_dir_name(Word /*fd*/, Word /*path_ptr*/,
      Word /*path_len*/)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:675,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:693,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:701,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:709,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:713,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:715,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 721
    functionName: proxy_wasm::exports::writevImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 1
    functionsReached:
    - contextOrEffectiveContext
    - auto*::log
    - auto::value
    - std::string::erase
    - std::string::size
    - std::string::append
    - Word
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word writevImpl(Word fd, Word iovs, Word iovs_len, Word *nwritten_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:726,1
    - Dst: proxy_wasm::exports::writevImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:729,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: proxy_wasm::exports::wasi_unstable_fd_write
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::writevImpl
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_write(Word fd, Word iovs, Word iovs_len, Word
      nwritten_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: proxy_wasm::exports::wasi_unstable_fd_read
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_read(Word /*fd*/, Word /*iovs_ptr*/, Word /*iovs_len*/,
      Word /*nread_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:750,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: proxy_wasm::exports::wasi_unstable_fd_seek
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_fd_seek(Word /*fd*/, int64_t /*offset*/, Word /*whence*/,\n
      \                          Word /*newoffset_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:757,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: proxy_wasm::exports::wasi_unstable_fd_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_close(Word /*fd*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:776,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - statOut
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 780
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_get(Word fd, Word statOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_set_flags
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_set_flags(Word /*fd*/, Word /*flags*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:791,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:792,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:793,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:795,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:801,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:802,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:803,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:804,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - environ_array_ptr
    - environ_buf
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: proxy_wasm::exports::wasi_unstable_environ_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::string::reserve
    - std::string::c_str
    - std::string::size
    - std::string::append
    - auto*::wasm
    - first::size
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_get(Word environ_array_ptr, Word environ_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:818,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:819,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - count_ptr
    - buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 833
    functionName: proxy_wasm::exports::wasi_unstable_environ_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::size
    - auto*::wasm
    - first::size
    - Word
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_sizes_get(Word count_ptr, Word buf_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: proxy_wasm::exports::wasi_unstable_args_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_get(Word /*argv_array_ptr*/, Word /*argv_buf_ptr*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:842,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc_ptr
    - argv_buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: proxy_wasm::exports::wasi_unstable_args_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_sizes_get(Word argc_ptr, Word argv_buf_size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:857,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:860,1
    - Dst: auto*::getMonotonicTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:863,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - clock_id
    - result_time_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 873
    functionName: proxy_wasm::exports::wasi_unstable_clock_time_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMonotonicTimeNanoseconds
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_clock_time_get(Word clock_id, uint64_t /*precision*/,\n
      \                                 Word result_time_uint64_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:883,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - result_buf_ptr
    - buf_len
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: proxy_wasm::exports::wasi_unstable_random_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::vector::data
    - std::vector::size
    - auto*::wasmVm
    - RAND_bytes
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_random_get(Word result_buf_ptr, Word buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: proxy_wasm::exports::wasi_unstable_sched_yield
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_sched_yield()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: proxy_wasm::exports::wasi_unstable_poll_oneoff
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_poll_oneoff(Word /*in*/, Word /*out*/, Word /*nsubscriptions*/,\n
      \                              Word /*nevents_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:909,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: proxy_wasm::exports::wasi_unstable_proc_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: void
    signature: void wasi_unstable_proc_exit(Word /*exit_code*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: proxy_wasm::exports::pthread_equal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: Word
    signature: Word pthread_equal(Word left, Word right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: proxy_wasm::exports::emscripten_notify_memory_growth
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void emscripten_notify_memory_growth(Word /*memory_index*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - period_milliseconds
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: proxy_wasm::exports::set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 9
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::set_tick_period_milliseconds
    linkageType: ''
    returnType: Word
    signature: Word set_tick_period_milliseconds(Word period_milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:924,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:925,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_uint64_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: proxy_wasm::exports::get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: Word get_current_time_nanoseconds(Word result_uint64_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:933,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:936,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:937,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - address
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: proxy_wasm::exports::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::log
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word log(Word level, Word address, Word size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:945,1
    - Dst: auto*::getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:946,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_level_uint32_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: proxy_wasm::exports::get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getLogLevel
    linkageType: ''
    returnType: Word
    signature: Word get_log_level(Word result_level_uint32_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: proxy_wasm::contextOrEffectiveContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *contextOrEffectiveContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map<std::string, WasmForeignFunction>::string, WasmForeignFunction>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: proxy_wasm::foreignFunctions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 1
    functionsReached:
    - std::unordered_map<std::string, WasmForeignFunction>::string, WasmForeignFunction>
    linkageType: ''
    returnType: std::unordered_map<std::string, WasmForeignFunction>
    signature: std::unordered_map<std::string, WasmForeignFunction> &foreignFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::foreignFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:48,1
    - Dst: auto::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:49,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:49,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - function_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: proxy_wasm::getForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::foreignFunctions
    - auto::end
    - auto::find
    - std::string
    linkageType: ''
    returnType: WasmForeignFunction
    signature: WasmForeignFunction getForeignFunction(std::string_view function_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreignFunctions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:57,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - f
    argTypes:
    - std::string
    - WasmForeignFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: proxy_wasm::RegisterForeignFunction::RegisterForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - std::move
    - foreignFunctions
    linkageType: ''
    returnType: void
    signature: void RegisterForeignFunction::RegisterForeignFunction(const std::string
      &name, WasmForeignFunction f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:65,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:66,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:67,1
    - Dst: auto*::setProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: proxy_wasm::exports::set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setProperty
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_property(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:76,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:77,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:78,1
    - Dst: auto*::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: proxy_wasm::exports::get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::getProperty
    - auto*::wasm
    - auto::has_value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_property(Word path_ptr, Word path_size, Word value_ptr_ptr,
      Word value_size_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:93,1
    - Dst: auto*::getConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:94,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: proxy_wasm::exports::get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getConfiguration
    linkageType: ''
    returnType: Word
    signature: Word get_configuration(Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:102,1
    - Dst: auto*::getStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:103,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:104,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - code_ptr
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: proxy_wasm::exports::get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getStatus
    linkageType: ''
    returnType: Word
    signature: Word get_status(Word code_ptr, Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:117,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: proxy_wasm::exports::continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:122,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: proxy_wasm::exports::continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_response()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:127,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:128,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: proxy_wasm::exports::continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - static_cast<WasmStreamType>
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:135,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:136,1
    - Dst: auto*::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: proxy_wasm::exports::close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - auto*::closeStream
    - static_cast<WasmStreamType>
    linkageType: ''
    returnType: Word
    signature: Word close_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:146,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:148,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:149,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:150,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto*::sendLocalResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:157,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: proxy_wasm::exports::send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::sendLocalResponse
    - auto*::wasm
    - std::move
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word send_local_response(Word response_code, Word response_code_details_ptr,\n
      \                        Word response_code_details_size, Word body_ptr, Word
      body_size,\n                         Word additional_response_header_pairs_ptr,\n
      \                        Word additional_response_header_pairs_size, Word grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:163,1
    - Dst: auto*::clearRouteCache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: proxy_wasm::exports::clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::clearRouteCache
    linkageType: ''
    returnType: Word
    signature: Word clear_route_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:170,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: proxy_wasm::exports::set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Word
    signature: Word set_effective_context(Word context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:180,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: proxy_wasm::exports::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    linkageType: ''
    returnType: Word
    signature: Word done()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:186,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:187,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:191,1
    - Dst: getForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:199,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:200,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:204,1
    - Dst: auto::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:206,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:209,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: proxy_wasm::exports::call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Arena::free
    - auto::value
    - RegexMatches::malloc
    - auto::allocMemory
    - auto*::wasm
    - Word
    - getForeignFunction
    - f
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word call_foreign_function(Word function_name, Word function_name_size,
      Word arguments,\n                           Word arguments_size, Word results,
      Word results_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:229,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:230,1
    - Dst: auto*::getSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:239,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    - cas_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: proxy_wasm::exports::get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::getSharedData
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_shared_data(Word key_ptr, Word key_size, Word value_ptr_ptr,
      Word value_size_ptr,\n                     Word cas_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:249,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:250,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:251,1
    - Dst: auto*::setSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: proxy_wasm::exports::set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setSharedData
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_shared_data(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size, Word cas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:259,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:260,1
    - Dst: auto*::registerSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: proxy_wasm::exports::register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::registerSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word register_shared_queue(Word queue_name_ptr, Word queue_name_size,
      Word token_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:276,1
    - Dst: auto*::dequeueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - token
    - data_ptr_ptr
    - data_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::exports::dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - Word::u32
    - auto*::dequeueSharedQueue
    linkageType: ''
    returnType: Word
    signature: Word dequeue_shared_queue(Word token, Word data_ptr_ptr, Word data_size_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:290,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:291,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:292,1
    - Dst: auto*::lookupSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: proxy_wasm::exports::resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::lookupSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word resolve_shared_queue(Word vm_id_ptr, Word vm_id_size, Word queue_name_ptr,\n
      \                         Word queue_name_size, Word token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:308,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:309,1
    - Dst: auto*::enqueueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: proxy_wasm::exports::enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - Word::u32
    - auto*::enqueueSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word enqueue_shared_queue(Word token, Word data_ptr, Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:318,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:321,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:322,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:323,1
    - Dst: auto*::addHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: proxy_wasm::exports::add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::addHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word add_header_map_value(Word type, Word key_ptr, Word key_size, Word
      value_ptr, Word value_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:333,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:336,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:337,1
    - Dst: auto*::getHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: proxy_wasm::exports::get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapValue
    - auto::value
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr_ptr,\n                          Word value_size_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:355,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:358,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:359,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:360,1
    - Dst: auto*::replaceHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: proxy_wasm::exports::replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::replaceHeaderMapValue
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word replace_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr,\n                              Word value_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:369,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:372,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:373,1
    - Dst: auto*::removeHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: proxy_wasm::exports::remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::removeHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word remove_header_map_value(Word type, Word key_ptr, Word key_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:381,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:384,1
    - Dst: auto*::getHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: Pairs::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:390,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:391,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:396,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:402,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - type
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: proxy_wasm::exports::get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapPairs
    - Pairs::empty
    - proxy_wasm::PairsUtil::pairsSize
    - static_cast<char *>
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - Word
    - proxy_wasm::PairsUtil::marshalPairs
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_pairs(Word type, Word ptr_ptr, Word size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:415,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:418,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:419,1
    - Dst: auto*::setHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: proxy_wasm::exports::set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::setHeaderMapPairs
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_header_map_pairs(Word type, Word ptr, Word size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:428,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:431,1
    - Dst: auto*::getHeaderMapSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: proxy_wasm::exports::get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapSize
    - static_cast<WasmHeaderMapType>
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_size(Word type, Word result_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:445,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:448,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:458,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:460,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:461,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: auto*::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: proxy_wasm::exports::get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::copyTo
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_bytes(Word type, Word start, Word length, Word ptr_ptr,
      Word size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:476,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:479,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:484,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: proxy_wasm::exports::get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_status(Word type, Word length_ptr, Word flags_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:496,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:499,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:504,1
    - Dst: auto*::copyFrom
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: proxy_wasm::exports::set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto::value
    - auto*::copyFrom
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_buffer_bytes(Word type, Word start, Word length, Word data_ptr,
      Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:514,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:515,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:516,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:517,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:518,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:527,1
    - Dst: auto*::httpCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: proxy_wasm::exports::http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::httpCall
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word http_call(Word uri_ptr, Word uri_size, Word header_pairs_ptr,
      Word header_pairs_size,\n               Word body_ptr, Word body_size, Word
      trailer_pairs_ptr, Word trailer_pairs_size,\n               Word timeout_milliseconds,
      Word token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:537,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:538,1
    - Dst: auto*::defineMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - metric_type
    - name_ptr
    - name_size
    - metric_id_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: proxy_wasm::exports::define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - static_cast<uint32_t>
    - auto*::defineMetric
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word define_metric(Word metric_type, Word name_ptr, Word name_size,
      Word metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:555,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - Word
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: proxy_wasm::exports::increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::incrementMetric
    linkageType: ''
    returnType: Word
    signature: Word increment_metric(Word metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:560,1
    - Dst: auto*::recordMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - Word
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: proxy_wasm::exports::record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::recordMetric
    linkageType: ''
    returnType: Word
    signature: Word record_metric(Word metric_id, uint64_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:565,1
    - Dst: auto*::getMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:567,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - metric_id
    - result_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: proxy_wasm::exports::get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMetric
    linkageType: ''
    returnType: Word
    signature: Word get_metric(Word metric_id, Word result_uint64_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:581,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:582,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:583,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:584,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:586,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:587,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto*::grpcCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:594,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:595,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: proxy_wasm::exports::grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCall
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - proxy_wasm::exports::set_tick_period_milliseconds
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_call(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n               Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n               Word initial_metadata_size, Word
      request_ptr, Word request_size,\n               Word timeout_milliseconds, Word
      token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:608,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:609,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:610,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:611,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:613,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto*::grpcStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: proxy_wasm::exports::grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::wasm
    - auto*::grpcStream
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_stream(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n                 Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n                 Word initial_metadata_size, Word
      token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:631,1
    - Dst: auto*::grpcCancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: proxy_wasm::exports::grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCancel
    linkageType: ''
    returnType: Word
    signature: Word grpc_cancel(Word token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:636,1
    - Dst: auto*::grpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: proxy_wasm::exports::grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcClose
    linkageType: ''
    returnType: Word
    signature: Word grpc_close(Word token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:641,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:642,1
    - Dst: auto*::grpcSend
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: proxy_wasm::exports::grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::grpcSend
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word grpc_send(Word token, Word message_ptr, Word message_size, Word
      end_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: proxy_wasm::exports::wasi_unstable_path_open
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_path_open(Word /*fd*/, Word /*dir_flags*/, Word
      /*path*/, Word /*path_len*/,\n                             Word /*oflags*/,
      int64_t /*fs_rights_base*/,\n                             int64_t /*fg_rights_inheriting*/,
      Word /*fd_flags*/,\n                             Word /*nwritten_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_get(Word /*fd*/, Word /*buf_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_dir_name
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_dir_name(Word /*fd*/, Word /*path_ptr*/,
      Word /*path_len*/)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:675,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:693,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:701,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:709,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:713,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:715,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 721
    functionName: proxy_wasm::exports::writevImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 2
    functionsReached:
    - contextOrEffectiveContext
    - auto*::log
    - auto::value
    - std::string::erase
    - std::string::size
    - std::string::append
    - Word
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word writevImpl(Word fd, Word iovs, Word iovs_len, Word *nwritten_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:726,1
    - Dst: proxy_wasm::exports::writevImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:729,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: proxy_wasm::exports::wasi_unstable_fd_write
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::writevImpl
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_write(Word fd, Word iovs, Word iovs_len, Word
      nwritten_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: proxy_wasm::exports::wasi_unstable_fd_read
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_read(Word /*fd*/, Word /*iovs_ptr*/, Word /*iovs_len*/,
      Word /*nread_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:750,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: proxy_wasm::exports::wasi_unstable_fd_seek
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_fd_seek(Word /*fd*/, int64_t /*offset*/, Word /*whence*/,\n
      \                          Word /*newoffset_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:757,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: proxy_wasm::exports::wasi_unstable_fd_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_close(Word /*fd*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:776,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - statOut
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 780
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_get(Word fd, Word statOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_set_flags
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_set_flags(Word /*fd*/, Word /*flags*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:791,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:792,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:793,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:795,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:801,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:802,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:803,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:804,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - environ_array_ptr
    - environ_buf
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: proxy_wasm::exports::wasi_unstable_environ_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::string::reserve
    - std::string::c_str
    - std::string::size
    - std::string::append
    - auto*::wasm
    - first::size
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_get(Word environ_array_ptr, Word environ_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:818,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:819,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - count_ptr
    - buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 833
    functionName: proxy_wasm::exports::wasi_unstable_environ_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::size
    - auto*::wasm
    - first::size
    - Word
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_sizes_get(Word count_ptr, Word buf_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: proxy_wasm::exports::wasi_unstable_args_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_get(Word /*argv_array_ptr*/, Word /*argv_buf_ptr*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:842,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc_ptr
    - argv_buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: proxy_wasm::exports::wasi_unstable_args_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_sizes_get(Word argc_ptr, Word argv_buf_size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:857,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:860,1
    - Dst: auto*::getMonotonicTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:863,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - clock_id
    - result_time_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 873
    functionName: proxy_wasm::exports::wasi_unstable_clock_time_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMonotonicTimeNanoseconds
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_clock_time_get(Word clock_id, uint64_t /*precision*/,\n
      \                                 Word result_time_uint64_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:883,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - result_buf_ptr
    - buf_len
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: proxy_wasm::exports::wasi_unstable_random_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::vector::data
    - std::vector::size
    - auto*::wasmVm
    - RAND_bytes
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_random_get(Word result_buf_ptr, Word buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: proxy_wasm::exports::wasi_unstable_sched_yield
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_sched_yield()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: proxy_wasm::exports::wasi_unstable_poll_oneoff
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_poll_oneoff(Word /*in*/, Word /*out*/, Word /*nsubscriptions*/,\n
      \                              Word /*nevents_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:909,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: proxy_wasm::exports::wasi_unstable_proc_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: void
    signature: void wasi_unstable_proc_exit(Word /*exit_code*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: proxy_wasm::exports::pthread_equal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: Word
    signature: Word pthread_equal(Word left, Word right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: proxy_wasm::exports::emscripten_notify_memory_growth
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void emscripten_notify_memory_growth(Word /*memory_index*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - period_milliseconds
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: proxy_wasm::exports::set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 11
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::set_tick_period_milliseconds
    linkageType: ''
    returnType: Word
    signature: Word set_tick_period_milliseconds(Word period_milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:924,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:925,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_uint64_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: proxy_wasm::exports::get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: Word get_current_time_nanoseconds(Word result_uint64_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:933,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:936,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:937,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - address
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: proxy_wasm::exports::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::log
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word log(Word level, Word address, Word size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:945,1
    - Dst: auto*::getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:946,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_level_uint32_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: proxy_wasm::exports::get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getLogLevel
    linkageType: ''
    returnType: Word
    signature: Word get_log_level(Word result_level_uint32_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:65,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:66,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:67,1
    - Dst: auto*::setProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: proxy_wasm::exports::set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setProperty
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_property(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:76,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:77,1
    - Dst: auto::has_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:78,1
    - Dst: auto*::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:82,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: proxy_wasm::exports::get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::getProperty
    - auto*::wasm
    - auto::has_value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_property(Word path_ptr, Word path_size, Word value_ptr_ptr,
      Word value_size_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:93,1
    - Dst: auto*::getConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:94,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: proxy_wasm::exports::get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getConfiguration
    linkageType: ''
    returnType: Word
    signature: Word get_configuration(Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:102,1
    - Dst: auto*::getStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:103,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:104,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - code_ptr
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: proxy_wasm::exports::get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getStatus
    linkageType: ''
    returnType: Word
    signature: Word get_status(Word code_ptr, Word value_ptr_ptr, Word value_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:117,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: proxy_wasm::exports::continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:122,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: proxy_wasm::exports::continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_response()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:127,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:128,1
    - Dst: auto*::continueStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: proxy_wasm::exports::continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - static_cast<WasmStreamType>
    - auto*::continueStream
    linkageType: ''
    returnType: Word
    signature: Word continue_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:135,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:136,1
    - Dst: auto*::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    - Dst: static_cast<WasmStreamType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: proxy_wasm::exports::close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<uint64_t>
    - auto*::closeStream
    - static_cast<WasmStreamType>
    linkageType: ''
    returnType: Word
    signature: Word close_stream(Word type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:146,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:148,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:149,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:150,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:155,1
    - Dst: auto*::sendLocalResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:156,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:157,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: proxy_wasm::exports::send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::sendLocalResponse
    - auto*::wasm
    - std::move
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word send_local_response(Word response_code, Word response_code_details_ptr,\n
      \                        Word response_code_details_size, Word body_ptr, Word
      body_size,\n                         Word additional_response_header_pairs_ptr,\n
      \                        Word additional_response_header_pairs_size, Word grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:163,1
    - Dst: auto*::clearRouteCache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: proxy_wasm::exports::clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::clearRouteCache
    linkageType: ''
    returnType: Word
    signature: Word clear_route_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:169,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:170,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: proxy_wasm::exports::set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Word
    signature: Word set_effective_context(Word context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:180,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: proxy_wasm::exports::done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    linkageType: ''
    returnType: Word
    signature: Word done()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:186,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:187,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:191,1
    - Dst: getForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:195,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:199,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:200,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:204,1
    - Dst: auto::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:206,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:209,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:214,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:217,1
    - Dst: Arena::free
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: proxy_wasm::exports::call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Arena::free
    - auto::value
    - RegexMatches::malloc
    - auto::allocMemory
    - auto*::wasm
    - Word
    - getForeignFunction
    - f
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word call_foreign_function(Word function_name, Word function_name_size,
      Word arguments,\n                           Word arguments_size, Word results,
      Word results_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:229,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:230,1
    - Dst: auto*::getSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:235,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:239,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    - cas_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: proxy_wasm::exports::get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::getSharedData
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_shared_data(Word key_ptr, Word key_size, Word value_ptr_ptr,
      Word value_size_ptr,\n                     Word cas_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:249,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:250,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:251,1
    - Dst: auto*::setSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: proxy_wasm::exports::set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::setSharedData
    - auto::value
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_shared_data(Word key_ptr, Word key_size, Word value_ptr, Word
      value_size, Word cas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:259,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:260,1
    - Dst: auto*::registerSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:265,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: proxy_wasm::exports::register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::registerSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word register_shared_queue(Word queue_name_ptr, Word queue_name_size,
      Word token_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:276,1
    - Dst: auto*::dequeueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:278,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - token
    - data_ptr_ptr
    - data_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::exports::dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - Word::u32
    - auto*::dequeueSharedQueue
    linkageType: ''
    returnType: Word
    signature: Word dequeue_shared_queue(Word token, Word data_ptr_ptr, Word data_size_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:290,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:291,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:292,1
    - Dst: auto*::lookupSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:297,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: proxy_wasm::exports::resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - auto*::lookupSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word resolve_shared_queue(Word vm_id_ptr, Word vm_id_size, Word queue_name_ptr,\n
      \                         Word queue_name_size, Word token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:308,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:309,1
    - Dst: auto*::enqueueSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: proxy_wasm::exports::enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - Word::u32
    - auto*::enqueueSharedQueue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word enqueue_shared_queue(Word token, Word data_ptr, Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:318,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:321,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:322,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:323,1
    - Dst: auto*::addHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:327,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: proxy_wasm::exports::add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::addHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word add_header_map_value(Word type, Word key_ptr, Word key_size, Word
      value_ptr, Word value_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:333,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:336,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:337,1
    - Dst: auto*::getHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:343,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: proxy_wasm::exports::get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapValue
    - auto::value
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word get_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr_ptr,\n                          Word value_size_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:355,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:358,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:359,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:360,1
    - Dst: auto*::replaceHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:364,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: proxy_wasm::exports::replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::replaceHeaderMapValue
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word replace_header_map_value(Word type, Word key_ptr, Word key_size,
      Word value_ptr,\n                              Word value_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:369,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:372,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:373,1
    - Dst: auto*::removeHeaderMapValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: proxy_wasm::exports::remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::removeHeaderMapValue
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word remove_header_map_value(Word type, Word key_ptr, Word key_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:381,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:384,1
    - Dst: auto*::getHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:386,1
    - Dst: Pairs::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:390,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:391,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:396,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:398,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:402,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:405,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - type
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: proxy_wasm::exports::get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapPairs
    - Pairs::empty
    - proxy_wasm::PairsUtil::pairsSize
    - static_cast<char *>
    - static_cast<WasmHeaderMapType>
    - auto*::wasm
    - Word
    - proxy_wasm::PairsUtil::marshalPairs
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_pairs(Word type, Word ptr_ptr, Word size_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:415,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:418,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:419,1
    - Dst: auto*::setHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:423,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: proxy_wasm::exports::set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::setHeaderMapPairs
    - static_cast<WasmHeaderMapType>
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_header_map_pairs(Word type, Word ptr, Word size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:428,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:431,1
    - Dst: auto*::getHeaderMapSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: static_cast<WasmHeaderMapType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:433,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: proxy_wasm::exports::get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::getHeaderMapSize
    - static_cast<WasmHeaderMapType>
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_header_map_size(Word type, Word result_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:445,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:448,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:449,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:458,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:460,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:461,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:464,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:467,1
    - Dst: auto*::copyTo
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: proxy_wasm::exports::get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::copyTo
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_bytes(Word type, Word start, Word length, Word ptr_ptr,
      Word size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:476,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:479,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:480,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:484,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:486,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: proxy_wasm::exports::get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto*::wasm
    - auto*::size
    - Word
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word get_buffer_status(Word type, Word length_ptr, Word flags_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:496,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:499,1
    - Dst: auto*::getBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: static_cast<WasmBufferType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:500,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:504,1
    - Dst: auto*::copyFrom
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data_ptr
    - data_size
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: proxy_wasm::exports::set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - static_cast<WasmBufferType>
    - auto*::getBuffer
    - auto::value
    - auto*::copyFrom
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word set_buffer_bytes(Word type, Word start, Word length, Word data_ptr,
      Word data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:514,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:515,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:516,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:517,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:518,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:522,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:523,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:527,1
    - Dst: auto*::httpCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:531,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: proxy_wasm::exports::http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::httpCall
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word http_call(Word uri_ptr, Word uri_size, Word header_pairs_ptr,
      Word header_pairs_size,\n               Word body_ptr, Word body_size, Word
      trailer_pairs_ptr, Word trailer_pairs_size,\n               Word timeout_milliseconds,
      Word token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:537,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:538,1
    - Dst: auto*::defineMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:544,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - metric_type
    - name_ptr
    - name_size
    - metric_id_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: proxy_wasm::exports::define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::wasm
    - static_cast<uint32_t>
    - auto*::defineMetric
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word define_metric(Word metric_type, Word name_ptr, Word name_size,
      Word metric_id_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:555,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - Word
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: proxy_wasm::exports::increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::incrementMetric
    linkageType: ''
    returnType: Word
    signature: Word increment_metric(Word metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:560,1
    - Dst: auto*::recordMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - Word
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: proxy_wasm::exports::record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::recordMetric
    linkageType: ''
    returnType: Word
    signature: Word record_metric(Word metric_id, uint64_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:565,1
    - Dst: auto*::getMetric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:567,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - metric_id
    - result_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: proxy_wasm::exports::get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMetric
    linkageType: ''
    returnType: Word
    signature: Word get_metric(Word metric_id, Word result_uint64_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:581,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:582,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:583,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:584,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:586,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:587,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:592,1
    - Dst: auto*::grpcCall
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:593,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:594,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:595,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: proxy_wasm::exports::grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCall
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - proxy_wasm::exports::set_tick_period_milliseconds
    - auto*::wasm
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_call(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n               Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n               Word initial_metadata_size, Word
      request_ptr, Word request_size,\n               Word timeout_milliseconds, Word
      token_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:608,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:609,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:610,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:611,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:613,1
    - Dst: proxy_wasm::PairsUtil::toPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:618,1
    - Dst: auto*::grpcStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:619,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: proxy_wasm::exports::grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::PairsUtil::toPairs
    - auto::value
    - auto*::wasm
    - auto*::grpcStream
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: "Word grpc_stream(Word service_ptr, Word service_size, Word service_name_ptr,
      Word service_name_size,\n                 Word method_name_ptr, Word method_name_size,
      Word initial_metadata_ptr,\n                 Word initial_metadata_size, Word
      token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:631,1
    - Dst: auto*::grpcCancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: proxy_wasm::exports::grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcCancel
    linkageType: ''
    returnType: Word
    signature: Word grpc_cancel(Word token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:636,1
    - Dst: auto*::grpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: proxy_wasm::exports::grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::grpcClose
    linkageType: ''
    returnType: Word
    signature: Word grpc_close(Word token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:641,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:642,1
    - Dst: auto*::grpcSend
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: proxy_wasm::exports::grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::grpcSend
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word grpc_send(Word token, Word message_ptr, Word message_size, Word
      end_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: proxy_wasm::exports::wasi_unstable_path_open
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_path_open(Word /*fd*/, Word /*dir_flags*/, Word
      /*path*/, Word /*path_len*/,\n                             Word /*oflags*/,
      int64_t /*fs_rights_base*/,\n                             int64_t /*fg_rights_inheriting*/,
      Word /*fd_flags*/,\n                             Word /*nwritten_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_get(Word /*fd*/, Word /*buf_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: proxy_wasm::exports::wasi_unstable_fd_prestat_dir_name
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_prestat_dir_name(Word /*fd*/, Word /*path_ptr*/,
      Word /*path_len*/)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:675,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:693,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:697,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:699,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:700,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:701,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:705,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:709,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:713,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:715,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 721
    functionName: proxy_wasm::exports::writevImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 3
    functionsReached:
    - contextOrEffectiveContext
    - auto*::log
    - auto::value
    - std::string::erase
    - std::string::size
    - std::string::append
    - Word
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word writevImpl(Word fd, Word iovs, Word iovs_len, Word *nwritten_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:726,1
    - Dst: proxy_wasm::exports::writevImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:729,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - iovs
    - iovs_len
    - nwritten_ptr
    argTypes:
    - Word
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: proxy_wasm::exports::wasi_unstable_fd_write
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::writevImpl
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_write(Word fd, Word iovs, Word iovs_len, Word
      nwritten_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: proxy_wasm::exports::wasi_unstable_fd_read
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_read(Word /*fd*/, Word /*iovs_ptr*/, Word /*iovs_len*/,
      Word /*nread_ptr*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:750,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: proxy_wasm::exports::wasi_unstable_fd_seek
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_fd_seek(Word /*fd*/, int64_t /*offset*/, Word /*whence*/,\n
      \                          Word /*newoffset_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:757,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: proxy_wasm::exports::wasi_unstable_fd_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_close(Word /*fd*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:776,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - statOut
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 780
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_get(Word fd, Word statOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: proxy_wasm::exports::wasi_unstable_fd_fdstat_set_flags
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_fd_fdstat_set_flags(Word /*fd*/, Word /*flags*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:791,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:792,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:793,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:795,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:800,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:801,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:802,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:803,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:804,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:805,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - environ_array_ptr
    - environ_buf
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: proxy_wasm::exports::wasi_unstable_environ_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::string::reserve
    - std::string::c_str
    - std::string::size
    - std::string::append
    - auto*::wasm
    - first::size
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_get(Word environ_array_ptr, Word environ_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:818,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:819,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:820,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:827,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - count_ptr
    - buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 833
    functionName: proxy_wasm::exports::wasi_unstable_environ_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::size
    - auto*::wasm
    - first::size
    - Word
    - second::size
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_environ_sizes_get(Word count_ptr, Word buf_size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: proxy_wasm::exports::wasi_unstable_args_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_get(Word /*argv_array_ptr*/, Word /*argv_buf_ptr*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:842,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:843,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc_ptr
    - argv_buf_size_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: proxy_wasm::exports::wasi_unstable_args_sizes_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - Word
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_args_sizes_get(Word argc_ptr, Word argv_buf_size_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:857,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:860,1
    - Dst: auto*::getMonotonicTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:863,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - clock_id
    - result_time_uint64_ptr
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 873
    functionName: proxy_wasm::exports::wasi_unstable_clock_time_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getMonotonicTimeNanoseconds
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_clock_time_get(Word clock_id, uint64_t /*precision*/,\n
      \                                 Word result_time_uint64_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:883,1
    - Dst: RAND_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:885,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - result_buf_ptr
    - buf_len
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: proxy_wasm::exports::wasi_unstable_random_get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - std::vector::data
    - std::vector::size
    - auto*::wasmVm
    - RAND_bytes
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_random_get(Word result_buf_ptr, Word buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: proxy_wasm::exports::wasi_unstable_sched_yield
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word wasi_unstable_sched_yield()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: proxy_wasm::exports::wasi_unstable_poll_oneoff
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: "Word wasi_unstable_poll_oneoff(Word /*in*/, Word /*out*/, Word /*nsubscriptions*/,\n
      \                              Word /*nevents_ptr*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:909,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: proxy_wasm::exports::wasi_unstable_proc_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::error
    linkageType: ''
    returnType: void
    signature: void wasi_unstable_proc_exit(Word /*exit_code*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: proxy_wasm::exports::pthread_equal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: Word
    signature: Word pthread_equal(Word left, Word right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: proxy_wasm::exports::emscripten_notify_memory_growth
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void emscripten_notify_memory_growth(Word /*memory_index*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - period_milliseconds
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: proxy_wasm::exports::set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 13
    functionsReached:
    - contextOrEffectiveContext
    - proxy_wasm::exports::set_tick_period_milliseconds
    linkageType: ''
    returnType: Word
    signature: Word set_tick_period_milliseconds(Word period_milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:924,1
    - Dst: auto*::getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:925,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_uint64_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: proxy_wasm::exports::get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getCurrentTimeNanoseconds
    linkageType: ''
    returnType: Word
    signature: Word get_current_time_nanoseconds(Word result_uint64_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:933,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:936,1
    - Dst: auto*::wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:937,1
    - Dst: auto*::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - address
    - size
    argTypes:
    - Word
    - Word
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: proxy_wasm::exports::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto::value
    - auto*::log
    - static_cast<uint64_t>
    - auto*::wasmVm
    linkageType: ''
    returnType: Word
    signature: Word log(Word level, Word address, Word size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:945,1
    - Dst: auto*::getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:946,1
    - Dst: auto*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result_level_uint32_ptr
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: proxy_wasm::exports::get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/exports.cc
    functionUses: 0
    functionsReached:
    - contextOrEffectiveContext
    - auto*::wasm
    - auto*::getLogLevel
    linkageType: ''
    returnType: Word
    signature: Word get_log_level(Word result_level_uint32_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:34,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: proxy_wasm::PairsUtil::pairsSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 4
    functionsReached:
    - first::size
    - second::size
    linkageType: ''
    returnType: size_t
    signature: size_t PairsUtil::pairsSize(const Pairs &pairs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: Pairs::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:51,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:56,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:63,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:68,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:74,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:79,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:85,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:89,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:93,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pairs
    - buffer
    - size
    argTypes:
    - Pairs
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: proxy_wasm::PairsUtil::marshalPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - htowasm
    - second::data
    - IOBufferReader::memcpy
    - Pairs::size
    - first::size
    - first::data
    - second::size
    linkageType: ''
    returnType: bool
    signature: bool PairsUtil::marshalPairs(const Pairs &pairs, char *buffer, size_t
      size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:105,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:105,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:109,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:110,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:110,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:116,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:116,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:117,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:118,1
    - Dst: Sizes::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:131,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:138,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:138,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:139,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:140,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:148,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:148,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:149,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:150,1
    - Dst: Pairs::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:156,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:166,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 188
    functionName: proxy_wasm::PairsUtil::toPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 20
    functionsReached:
    - contextOrEffectiveContext
    - Sizes::resize
    - std::string_view
    - std::string_view::size
    - Pairs::resize
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - std::string_view::data
    linkageType: ''
    returnType: Pairs
    signature: Pairs PairsUtil::toPairs(std::string_view buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:34,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - Pairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: proxy_wasm::PairsUtil::pairsSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 4
    functionsReached:
    - first::size
    - second::size
    linkageType: ''
    returnType: size_t
    signature: size_t PairsUtil::pairsSize(const Pairs &pairs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: Pairs::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:50,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:51,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:56,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:62,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:63,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:68,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:73,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:74,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:79,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:85,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:88,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:89,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:93,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:96,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pairs
    - buffer
    - size
    argTypes:
    - Pairs
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: proxy_wasm::PairsUtil::marshalPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 4
    functionsReached:
    - contextOrEffectiveContext
    - htowasm
    - second::data
    - IOBufferReader::memcpy
    - Pairs::size
    - first::size
    - first::data
    - second::size
    linkageType: ''
    returnType: bool
    signature: bool PairsUtil::marshalPairs(const Pairs &pairs, char *buffer, size_t
      size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:105,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:105,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:109,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:110,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:110,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:116,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:116,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:117,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:118,1
    - Dst: Sizes::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:131,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:138,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:138,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:139,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:140,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:148,1
    - Dst: reinterpret_cast<const uint32_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:148,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:149,1
    - Dst: contextOrEffectiveContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:150,1
    - Dst: Pairs::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:156,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:166,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 188
    functionName: proxy_wasm::PairsUtil::toPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/pairs_util.cc
    functionUses: 20
    functionsReached:
    - contextOrEffectiveContext
    - Sizes::resize
    - std::string_view
    - std::string_view::size
    - Pairs::resize
    - wasmtoh
    - reinterpret_cast<const uint32_t *>
    - std::string_view::data
    linkageType: ''
    returnType: Pairs
    signature: Pairs PairsUtil::toPairs(std::string_view buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:31,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: proxy_wasm::BytesToHex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::size
    - std::string::push_back
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string BytesToHex(const std::vector<uint8_t> &bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:31,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: proxy_wasm::BytesToHex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::size
    - std::string::push_back
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string BytesToHex(const std::vector<uint8_t> &bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:42,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: proxy_wasm::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:46,1
    - Dst: std::vector<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parts
    argTypes:
    - std::vector<std::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: proxy_wasm::Sha256
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 0
    functionsReached:
    - SHA256_Final
    - end
    - proxy_wasm::size
    - data
    - std::begin
    - std::vector<uint8_t>
    - SHA256_Init
    - SHA256_Update
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Sha256(const std::vector<std::string_view> &parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytesToHex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:51,1
    - Dst: proxy_wasm::Sha256
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parts
    argTypes:
    - std::vector<std::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: proxy_wasm::Sha256String
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::Sha256
    - proxy_wasm::BytesToHex
    linkageType: ''
    returnType: std::string
    signature: std::string Sha256String(const std::vector<std::string_view> &parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:31,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: proxy_wasm::BytesToHex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - std::string::push_back
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string BytesToHex(const std::vector<uint8_t> &bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:29,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:31,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: proxy_wasm::BytesToHex
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - std::string::push_back
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string BytesToHex(const std::vector<uint8_t> &bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:42,1
    - Dst: SHA256_Update
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: proxy_wasm::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:44,1
    - Dst: SHA256_Final
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:46,1
    - Dst: std::vector<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    - Dst: std::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parts
    argTypes:
    - std::vector<std::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: proxy_wasm::Sha256
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 1
    functionsReached:
    - SHA256_Final
    - end
    - proxy_wasm::size
    - data
    - std::begin
    - std::vector<uint8_t>
    - SHA256_Init
    - SHA256_Update
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Sha256(const std::vector<std::string_view> &parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::BytesToHex
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:51,1
    - Dst: proxy_wasm::Sha256
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parts
    argTypes:
    - std::vector<std::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: proxy_wasm::Sha256String
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/hash.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::Sha256
    - proxy_wasm::BytesToHex
    linkageType: ''
    returnType: std::string
    signature: std::string Sha256String(const std::vector<std::string_view> &parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _stream_type
    - ','
    - _stream_type2
    - ','
    - _return_open
    - ','
    - _return_closed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: CHECK_FAIL
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FAIL(_stream_type, _stream_type2, _return_open, _return_closed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _return_open
    - ','
    - _return_closed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: CHECK_FAIL_HTTP
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FAIL_HTTP(_return_open, _return_closed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _return_open
    - ','
    - _return_closed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: CHECK_FAIL_NET
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FAIL_NET(_return_open, _return_closed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopNextIteration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:50,1
    - Dst: doAfterVmCallActions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: DeferAfterCallActions::~DeferAfterCallActions()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - doAfterVmCallActions
    - stopNextIteration
    linkageType: ''
    returnType: void
    signature: void DeferAfterCallActions::~DeferAfterCallActions()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:57,1
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:58,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:63,1
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - wasm
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - WasmBase*
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: proxy_wasm::BufferBase::copyTo
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - get
    - WasmBase*::copyToPointerSize
    - substr
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult BufferBase::copyTo(WasmBase *wasm, size_t start, size_t
      length, uint64_t ptr_ptr,\n                              uint64_t size_ptr)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vm_id
    - queue_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: proxy_wasm::resolveQueueForTest
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getGlobalSharedQueue
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t resolveQueueForTest(std::string_view vm_id, std::string_view
      queue_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:77,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:80,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:81,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:83,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: proxy_wasm::PluginBase::makeLogPrefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string PluginBase::makeLogPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sha256String
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root_id
    - plugin_configuration
    - key
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: proxy_wasm::PluginBase::makePluginKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - Sha256String
    linkageType: ''
    returnType: std::string
    signature: "std::string PluginBase::makePluginKey(std::string_view root_id,\n
      \                                     std::string_view plugin_configuration,
      std::string_view key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - WasmBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase(WasmBase *wasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::allocContextId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:101,1
    - Dst: proxy_wasm::ContextBase::makeRootLogPrefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wasm
    - plugin
    argTypes:
    - WasmBase*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::makeRootLogPrefix
    - WasmBase*::allocContextId
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase(WasmBase *wasm, const std::shared_ptr<PluginBase>
      &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::allocContextId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:109,1
    - Dst: std::shared_ptr<PluginHandleBase>::plugin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wasm
    - parent_context_id
    - plugin_handle
    argTypes:
    - WasmBase*
    - uint32_t
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - WasmBase*::allocContextId
    - std::shared_ptr<PluginHandleBase>::plugin
    linkageType: ''
    returnType: void
    signature: "void ContextBase::ContextBase(WasmBase *wasm, uint32_t parent_context_id,\n
      \                        const std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_vm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: proxy_wasm::ContextBase::wasmVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - wasm_vm
    linkageType: ''
    returnType: WasmVm
    signature: WasmVm *ContextBase::wasmVm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: proxy_wasm::ContextBase::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 1
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::isFailed()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:124,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:125,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:127,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: proxy_wasm::ContextBase::makeRootLogPrefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 1
    functionsReached:
    - empty
    - std::string_view::empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string ContextBase::makeRootLogPrefix(std::string_view vm_id)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:141,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:143,1
    - Dst: on_vm_start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: proxy_wasm::ContextBase::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_vm_start_
    - on_context_create_
    - proxy_wasm::ContextBase::wasm
    - reset
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onStart(std::shared_ptr<PluginBase> plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:156,1
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:163,1
    - Dst: on_configure_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: std::shared_ptr<PluginBase>::plugin_configuration_::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: proxy_wasm::ContextBase::onConfigure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_context_create_
    - std::shared_ptr<PluginBase>::plugin_configuration_::size
    - reset
    - static_cast<uint32_t>
    - on_configure_
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onConfigure(std::shared_ptr<PluginBase> plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:184,1
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:186,1
    - Dst: proxy_wasm::ContextBase::parent_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: proxy_wasm::ContextBase::onCreate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_context_create_
    - proxy_wasm::ContextBase::isFailed
    - proxy_wasm::ContextBase::parent_context
    linkageType: ''
    returnType: void
    signature: void ContextBase::onCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:196,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: proxy_wasm::ContextBase::getSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::getSharedData(std::string_view key,\n                                      std::pair<std::string,
      uint32_t> *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:200,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - cas
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::ContextBase::setSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::setSharedData(std::string_view key, std::string_view
      value, uint32_t cas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:204,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: proxy_wasm::ContextBase::getSharedDataKeys
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::getSharedDataKeys(std::vector<std::string>
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:209,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - cas
    - result
    argTypes:
    - std::string_view
    - uint32_t
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: proxy_wasm::ContextBase::removeSharedDataKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::removeSharedDataKey(std::string_view key,
      uint32_t cas,\n                                            std::pair<std::string,
      uint32_t> *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:218,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:218,1
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:219,1
    - Dst: callOnThreadFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:220,1
    - Dst: vm_key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue_name
    - token_ptr
    argTypes:
    - std::string_view
    - SharedQueueDequeueToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: proxy_wasm::ContextBase::registerSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - callOnThreadFunction
    - getGlobalSharedQueue
    - vm_key
    - vm_id
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::registerSharedQueue(std::string_view queue_name,\n
      \                                           SharedQueueDequeueToken *token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vm_id
    - queue_name
    - token_ptr
    argTypes:
    - std::string_view
    - std::string_view
    - SharedQueueDequeueToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: proxy_wasm::ContextBase::lookupSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - std::string_view::empty
    - vm_id
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::lookupSharedQueue(std::string_view vm_id,
      std::string_view queue_name,\n                                          SharedQueueDequeueToken
      *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - data
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: proxy_wasm::ContextBase::dequeueSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::dequeueSharedQueue(uint32_t token, std::string
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - value
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: proxy_wasm::ContextBase::enqueueSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::enqueueSharedQueue(uint32_t token, std::string_view
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: proxy_wasm::ContextBase::destroy
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::onDone
    linkageType: ''
    returnType: void
    signature: void ContextBase::destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:251,1
    - Dst: on_tick_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: proxy_wasm::ContextBase::onTick
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_tick_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onTick(uint32_t /*token*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: on_foreign_function_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - foreign_function_id
    - data_size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: proxy_wasm::ContextBase::onForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_foreign_function_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onForeignFunction(uint32_t foreign_function_id, uint32_t
      data_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:265,1
    - Dst: on_new_connection_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:270,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: proxy_wasm::ContextBase::onNetworkNewConnection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_new_connection_
    - CHECK_FAIL_NET
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onNetworkNewConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:276,1
    - Dst: on_downstream_data_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:281,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:281,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:282,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::ContextBase::onDownstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_downstream_data_
    - CHECK_FAIL_NET
    - static_cast<uint32_t>
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onDownstreamData(uint32_t data_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:289,1
    - Dst: on_upstream_data_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:294,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:294,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:295,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: proxy_wasm::ContextBase::onUpstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_NET
    - static_cast<uint32_t>
    - on_upstream_data_
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onUpstreamData(uint32_t data_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:302,1
    - Dst: on_downstream_connection_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:304,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_type
    argTypes:
    - CloseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: proxy_wasm::ContextBase::onDownstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_downstream_connection_close_
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ContextBase::onDownstreamConnectionClose(CloseType close_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:309,1
    - Dst: on_upstream_connection_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:311,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_type
    argTypes:
    - CloseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: proxy_wasm::ContextBase::onUpstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - static_cast<uint32_t>
    - on_upstream_connection_close_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onUpstreamConnectionClose(CloseType close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: proxy_wasm::headerSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - P::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t headerSize(const P &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:319,1
    - Dst: on_request_headers_abi_01_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:325,1
    - Dst: on_request_headers_abi_02_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:326,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:327,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:328,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: proxy_wasm::ContextBase::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    - on_request_headers_abi_02_
    - static_cast<uint32_t>
    - on_request_headers_abi_01_
    - CHECK_FAIL_HTTP
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::onRequestHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:333,1
    - Dst: on_request_body_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:339,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:339,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:340,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - body_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: proxy_wasm::ContextBase::onRequestBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - on_request_body_
    - static_cast<uint32_t>
    - proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::onRequestBody(uint32_t body_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:345,1
    - Dst: on_request_trailers_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:350,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:351,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trailers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: proxy_wasm::ContextBase::onRequestTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    - CHECK_FAIL_HTTP
    - on_request_trailers_
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::onRequestTrailers(uint32_t trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:356,1
    - Dst: on_request_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:361,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:362,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - elements
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: proxy_wasm::ContextBase::onRequestMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    - on_request_metadata_
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::onRequestMetadata(uint32_t elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:367,1
    - Dst: on_response_headers_abi_01_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:373,1
    - Dst: on_response_headers_abi_02_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:375,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:376,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: proxy_wasm::ContextBase::onResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_response_headers_abi_01_
    - proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    - static_cast<uint32_t>
    - CHECK_FAIL_HTTP
    - on_response_headers_abi_02_
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::onResponseHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:381,1
    - Dst: on_response_body_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:387,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:387,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:388,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - body_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: proxy_wasm::ContextBase::onResponseBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - static_cast<uint32_t>
    - proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    - on_response_body_
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::onResponseBody(uint32_t body_length,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:393,1
    - Dst: on_response_trailers_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:398,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:399,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trailers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: proxy_wasm::ContextBase::onResponseTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    - CHECK_FAIL_HTTP
    - on_response_trailers_
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::onResponseTrailers(uint32_t trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:404,1
    - Dst: on_response_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:409,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:410,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - elements
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: proxy_wasm::ContextBase::onResponseMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    - on_response_metadata_
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::onResponseMetadata(uint32_t elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:416,1
    - Dst: on_http_call_response_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - token
    - headers
    - body_size
    - trailers
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: proxy_wasm::ContextBase::onHttpCallResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_http_call_response_
    linkageType: ''
    returnType: void
    signature: "void ContextBase::onHttpCallResponse(uint32_t token, uint32_t headers,
      uint32_t body_size,\n                                     uint32_t trailers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:424,1
    - Dst: on_queue_ready_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: proxy_wasm::ContextBase::onQueueReady
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_queue_ready_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onQueueReady(uint32_t token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:431,1
    - Dst: on_grpc_receive_initial_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - elements
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: proxy_wasm::ContextBase::onGrpcReceiveInitialMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_grpc_receive_initial_metadata_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceiveInitialMetadata(uint32_t token, uint32_t
      elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:439,1
    - Dst: on_grpc_receive_trailing_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - trailers
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: proxy_wasm::ContextBase::onGrpcReceiveTrailingMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_grpc_receive_trailing_metadata_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceiveTrailingMetadata(uint32_t token, uint32_t
      trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:447,1
    - Dst: on_grpc_receive_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - response_size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: proxy_wasm::ContextBase::onGrpcReceive
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_grpc_receive_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceive(uint32_t token, uint32_t response_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:455,1
    - Dst: on_grpc_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - status_code
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: proxy_wasm::ContextBase::onGrpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_grpc_close_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcClose(uint32_t token, uint32_t status_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:463,1
    - Dst: on_done_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: proxy_wasm::ContextBase::onDone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 1
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_done_
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:471,1
    - Dst: on_log_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: proxy_wasm::ContextBase::onLog
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_log_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:478,1
    - Dst: on_delete_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: proxy_wasm::ContextBase::onDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_delete_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:486,1
    - Dst: proxy_wasm::ContextBase::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - period
    - timer_token_ptr
    argTypes:
    - std::chrono::milliseconds
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: proxy_wasm::ContextBase::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - proxy_wasm::ContextBase::root_context
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::setTimerPeriod(std::chrono::milliseconds period,\n
      \                                      uint32_t *timer_token_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:492,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:493,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:496,1
    - Dst: static_cast<FilterHeadersStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 503
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterHeadersStatus>
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::convertVmCallResultToFilterHeadersStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:506,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:507,1
    - Dst: static_cast<FilterDataStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterDataStatus>
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::convertVmCallResultToFilterDataStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:514,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:515,1
    - Dst: static_cast<FilterTrailersStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterTrailersStatus>
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::convertVmCallResultToFilterTrailersStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FilterMetadataStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - static_cast<FilterMetadataStatus>
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::convertVmCallResultToFilterMetadataStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contexts_::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: ContextBase::~ContextBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - contexts_::erase
    linkageType: ''
    returnType: void
    signature: void ContextBase::~ContextBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopNextIteration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:50,1
    - Dst: doAfterVmCallActions
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: DeferAfterCallActions::~DeferAfterCallActions()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - doAfterVmCallActions
    - stopNextIteration
    linkageType: ''
    returnType: void
    signature: void DeferAfterCallActions::~DeferAfterCallActions()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:57,1
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:58,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:63,1
    - Dst: WasmBase*::copyToPointerSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - wasm
    - start
    - length
    - ptr_ptr
    - size_ptr
    argTypes:
    - WasmBase*
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: proxy_wasm::BufferBase::copyTo
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - get
    - WasmBase*::copyToPointerSize
    - substr
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult BufferBase::copyTo(WasmBase *wasm, size_t start, size_t
      length, uint64_t ptr_ptr,\n                              uint64_t size_ptr)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vm_id
    - queue_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: proxy_wasm::resolveQueueForTest
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::getGlobalSharedQueue
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t resolveQueueForTest(std::string_view vm_id, std::string_view
      queue_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:77,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:80,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:81,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:83,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: proxy_wasm::PluginBase::makeLogPrefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string PluginBase::makeLogPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sha256String
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root_id
    - plugin_configuration
    - key
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: proxy_wasm::PluginBase::makePluginKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - Sha256String
    linkageType: ''
    returnType: std::string
    signature: "std::string PluginBase::makePluginKey(std::string_view root_id,\n
      \                                     std::string_view plugin_configuration,
      std::string_view key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wasm
    argTypes:
    - WasmBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase(WasmBase *wasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::allocContextId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:101,1
    - Dst: proxy_wasm::ContextBase::makeRootLogPrefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wasm
    - plugin
    argTypes:
    - WasmBase*
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::makeRootLogPrefix
    - WasmBase*::allocContextId
    linkageType: ''
    returnType: void
    signature: void ContextBase::ContextBase(WasmBase *wasm, const std::shared_ptr<PluginBase>
      &plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmBase*::allocContextId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:109,1
    - Dst: std::shared_ptr<PluginHandleBase>::plugin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wasm
    - parent_context_id
    - plugin_handle
    argTypes:
    - WasmBase*
    - uint32_t
    - std::shared_ptr<PluginHandleBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: proxy_wasm::ContextBase::ContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - WasmBase*::allocContextId
    - std::shared_ptr<PluginHandleBase>::plugin
    linkageType: ''
    returnType: void
    signature: "void ContextBase::ContextBase(WasmBase *wasm, uint32_t parent_context_id,\n
      \                        const std::shared_ptr<PluginHandleBase> &plugin_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_vm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: proxy_wasm::ContextBase::wasmVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - wasm_vm
    linkageType: ''
    returnType: WasmVm
    signature: WasmVm *ContextBase::wasmVm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: proxy_wasm::ContextBase::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 17
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::isFailed()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:124,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:125,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:127,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: proxy_wasm::ContextBase::makeRootLogPrefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - empty
    - std::string_view::empty
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string ContextBase::makeRootLogPrefix(std::string_view vm_id)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:141,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:143,1
    - Dst: on_vm_start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: proxy_wasm::ContextBase::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_vm_start_
    - on_context_create_
    - proxy_wasm::ContextBase::wasm
    - reset
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onStart(std::shared_ptr<PluginBase> plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:156,1
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:163,1
    - Dst: on_configure_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: std::shared_ptr<PluginBase>::plugin_configuration_::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:177,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: proxy_wasm::ContextBase::onConfigure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_context_create_
    - std::shared_ptr<PluginBase>::plugin_configuration_::size
    - reset
    - static_cast<uint32_t>
    - on_configure_
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onConfigure(std::shared_ptr<PluginBase> plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:184,1
    - Dst: on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:186,1
    - Dst: proxy_wasm::ContextBase::parent_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: proxy_wasm::ContextBase::onCreate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_context_create_
    - proxy_wasm::ContextBase::isFailed
    - proxy_wasm::ContextBase::parent_context
    linkageType: ''
    returnType: void
    signature: void ContextBase::onCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:196,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: proxy_wasm::ContextBase::getSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::getSharedData(std::string_view key,\n                                      std::pair<std::string,
      uint32_t> *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:200,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - cas
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::ContextBase::setSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::setSharedData(std::string_view key, std::string_view
      value, uint32_t cas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:204,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: proxy_wasm::ContextBase::getSharedDataKeys
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::getSharedDataKeys(std::vector<std::string>
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:209,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - cas
    - result
    argTypes:
    - std::string_view
    - uint32_t
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: proxy_wasm::ContextBase::removeSharedDataKey
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - vm_id
    - getGlobalSharedData
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::removeSharedDataKey(std::string_view key,
      uint32_t cas,\n                                            std::pair<std::string,
      uint32_t> *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:218,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:218,1
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:219,1
    - Dst: callOnThreadFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:220,1
    - Dst: vm_key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue_name
    - token_ptr
    argTypes:
    - std::string_view
    - SharedQueueDequeueToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: proxy_wasm::ContextBase::registerSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - callOnThreadFunction
    - getGlobalSharedQueue
    - vm_key
    - vm_id
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::registerSharedQueue(std::string_view queue_name,\n
      \                                           SharedQueueDequeueToken *token_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: vm_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:227,1
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vm_id
    - queue_name
    - token_ptr
    argTypes:
    - std::string_view
    - std::string_view
    - SharedQueueDequeueToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: proxy_wasm::ContextBase::lookupSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - std::string_view::empty
    - vm_id
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::lookupSharedQueue(std::string_view vm_id,
      std::string_view queue_name,\n                                          SharedQueueDequeueToken
      *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - data
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: proxy_wasm::ContextBase::dequeueSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::dequeueSharedQueue(uint32_t token, std::string
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalSharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - value
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: proxy_wasm::ContextBase::enqueueSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - getGlobalSharedQueue
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult ContextBase::enqueueSharedQueue(uint32_t token, std::string_view
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: proxy_wasm::ContextBase::destroy
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::onDone
    linkageType: ''
    returnType: void
    signature: void ContextBase::destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:251,1
    - Dst: on_tick_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: proxy_wasm::ContextBase::onTick
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_tick_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onTick(uint32_t /*token*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: on_foreign_function_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - foreign_function_id
    - data_size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: proxy_wasm::ContextBase::onForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_foreign_function_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onForeignFunction(uint32_t foreign_function_id, uint32_t
      data_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:265,1
    - Dst: on_new_connection_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:270,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: proxy_wasm::ContextBase::onNetworkNewConnection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_new_connection_
    - CHECK_FAIL_NET
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onNetworkNewConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:276,1
    - Dst: on_downstream_data_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:281,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:281,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:282,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: proxy_wasm::ContextBase::onDownstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_downstream_data_
    - CHECK_FAIL_NET
    - static_cast<uint32_t>
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onDownstreamData(uint32_t data_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:289,1
    - Dst: on_upstream_data_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:294,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:294,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:295,1
    - Dst: CHECK_FAIL_NET
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: proxy_wasm::ContextBase::onUpstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_NET
    - static_cast<uint32_t>
    - on_upstream_data_
    linkageType: ''
    returnType: FilterStatus
    signature: FilterStatus ContextBase::onUpstreamData(uint32_t data_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:302,1
    - Dst: on_downstream_connection_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:304,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_type
    argTypes:
    - CloseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: proxy_wasm::ContextBase::onDownstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_downstream_connection_close_
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void ContextBase::onDownstreamConnectionClose(CloseType close_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:309,1
    - Dst: on_upstream_connection_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:311,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - close_type
    argTypes:
    - CloseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: proxy_wasm::ContextBase::onUpstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - static_cast<uint32_t>
    - on_upstream_connection_close_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onUpstreamConnectionClose(CloseType close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: P::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - P
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: proxy_wasm::headerSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - P::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t headerSize(const P &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:319,1
    - Dst: on_request_headers_abi_01_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:325,1
    - Dst: on_request_headers_abi_02_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:326,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:327,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:328,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: proxy_wasm::ContextBase::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    - on_request_headers_abi_02_
    - static_cast<uint32_t>
    - on_request_headers_abi_01_
    - CHECK_FAIL_HTTP
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::onRequestHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:333,1
    - Dst: on_request_body_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:339,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:339,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:340,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - body_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: proxy_wasm::ContextBase::onRequestBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - on_request_body_
    - static_cast<uint32_t>
    - proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::onRequestBody(uint32_t body_length, bool
      end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:345,1
    - Dst: on_request_trailers_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:350,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:351,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trailers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: proxy_wasm::ContextBase::onRequestTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    - CHECK_FAIL_HTTP
    - on_request_trailers_
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::onRequestTrailers(uint32_t trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:356,1
    - Dst: on_request_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:361,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:362,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - elements
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: proxy_wasm::ContextBase::onRequestMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    - on_request_metadata_
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::onRequestMetadata(uint32_t elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:367,1
    - Dst: on_response_headers_abi_01_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:373,1
    - Dst: on_response_headers_abi_02_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:375,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:376,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: proxy_wasm::ContextBase::onResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_response_headers_abi_01_
    - proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    - static_cast<uint32_t>
    - CHECK_FAIL_HTTP
    - on_response_headers_abi_02_
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::onResponseHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:381,1
    - Dst: on_response_body_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:387,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:387,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:388,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - body_length
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: proxy_wasm::ContextBase::onResponseBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - static_cast<uint32_t>
    - proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    - on_response_body_
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::onResponseBody(uint32_t body_length,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:393,1
    - Dst: on_response_trailers_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:398,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:399,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trailers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: proxy_wasm::ContextBase::onResponseTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    - CHECK_FAIL_HTTP
    - on_response_trailers_
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::onResponseTrailers(uint32_t trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:404,1
    - Dst: on_response_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:409,1
    - Dst: CHECK_FAIL_HTTP
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:410,1
    - Dst: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - elements
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: proxy_wasm::ContextBase::onResponseMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - CHECK_FAIL_HTTP
    - proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    - on_response_metadata_
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::onResponseMetadata(uint32_t elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:416,1
    - Dst: on_http_call_response_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - token
    - headers
    - body_size
    - trailers
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: proxy_wasm::ContextBase::onHttpCallResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_http_call_response_
    linkageType: ''
    returnType: void
    signature: "void ContextBase::onHttpCallResponse(uint32_t token, uint32_t headers,
      uint32_t body_size,\n                                     uint32_t trailers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:424,1
    - Dst: on_queue_ready_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: proxy_wasm::ContextBase::onQueueReady
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_queue_ready_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onQueueReady(uint32_t token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:431,1
    - Dst: on_grpc_receive_initial_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - elements
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: proxy_wasm::ContextBase::onGrpcReceiveInitialMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_grpc_receive_initial_metadata_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceiveInitialMetadata(uint32_t token, uint32_t
      elements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:439,1
    - Dst: on_grpc_receive_trailing_metadata_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - trailers
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: proxy_wasm::ContextBase::onGrpcReceiveTrailingMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_grpc_receive_trailing_metadata_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceiveTrailingMetadata(uint32_t token, uint32_t
      trailers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:447,1
    - Dst: on_grpc_receive_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - response_size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: proxy_wasm::ContextBase::onGrpcReceive
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - on_grpc_receive_
    - proxy_wasm::ContextBase::isFailed
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcReceive(uint32_t token, uint32_t response_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:455,1
    - Dst: on_grpc_close_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - token
    - status_code
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: proxy_wasm::ContextBase::onGrpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_grpc_close_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onGrpcClose(uint32_t token, uint32_t status_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:463,1
    - Dst: on_done_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: proxy_wasm::ContextBase::onDone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_done_
    linkageType: ''
    returnType: bool
    signature: bool ContextBase::onDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:471,1
    - Dst: on_log_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: proxy_wasm::ContextBase::onLog
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_log_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:478,1
    - Dst: on_delete_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: proxy_wasm::ContextBase::onDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isFailed
    - on_delete_
    linkageType: ''
    returnType: void
    signature: void ContextBase::onDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:486,1
    - Dst: proxy_wasm::ContextBase::root_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - period
    - timer_token_ptr
    argTypes:
    - std::chrono::milliseconds
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: proxy_wasm::ContextBase::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - proxy_wasm::ContextBase::root_context
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult ContextBase::setTimerPeriod(std::chrono::milliseconds period,\n
      \                                      uint32_t *timer_token_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:492,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:493,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:496,1
    - Dst: static_cast<FilterHeadersStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 503
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterHeadersStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterHeadersStatus>
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ContextBase::convertVmCallResultToFilterHeadersStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:506,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:507,1
    - Dst: static_cast<FilterDataStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterDataStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterDataStatus>
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ContextBase::convertVmCallResultToFilterDataStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:514,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:515,1
    - Dst: static_cast<FilterTrailersStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterTrailersStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::ContextBase::wasm
    - static_cast<uint64_t>
    - static_cast<FilterTrailersStatus>
    linkageType: ''
    returnType: FilterTrailersStatus
    signature: FilterTrailersStatus ContextBase::convertVmCallResultToFilterTrailersStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FilterMetadataStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: proxy_wasm::ContextBase::convertVmCallResultToFilterMetadataStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 4
    functionsReached:
    - static_cast<FilterMetadataStatus>
    linkageType: ''
    returnType: FilterMetadataStatus
    signature: FilterMetadataStatus ContextBase::convertVmCallResultToFilterMetadataStatus(uint64_t
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contexts_::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: ContextBase::~ContextBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/context.cc
    functionUses: 0
    functionsReached:
    - contexts_::erase
    linkageType: ''
    returnType: void
    signature: void ContextBase::~ContextBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedData::SharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: proxy_wasm::getGlobalSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 2
    functionsReached:
    - SharedData::SharedData
    linkageType: ''
    returnType: SharedData
    signature: SharedData &getGlobalSharedData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerVmIdHandleCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:35,1
    - Dst: proxy_wasm::SharedData::deleteByVmId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - register_vm_id_callback
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: proxy_wasm::SharedData::SharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - registerVmIdHandleCallback
    - proxy_wasm::SharedData::deleteByVmId
    linkageType: ''
    returnType: void
    signature: void SharedData::SharedData(bool register_vm_id_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: proxy_wasm::SharedData::deleteByVmId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 1
    functionsReached:
    - erase
    - std::string
    linkageType: ''
    returnType: void
    signature: void SharedData::deleteByVmId(std::string_view vm_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:47,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:48,1
    - Dst: auto::second::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:51,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:51,1
    - Dst: auto::second::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - vm_id
    - key
    - result
    argTypes:
    - std::string_view
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: proxy_wasm::SharedData::get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - auto::second::find
    - auto::second::end
    - std::string
    - end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::get(std::string_view vm_id, const std::string_view
      key,\n                           std::pair<std::string, uint32_t> *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:60,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:63,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:63,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:64,1
    - Dst: std::vector<std::string>*::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vm_id
    - result
    argTypes:
    - std::string_view
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: proxy_wasm::SharedData::keys
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::vector<std::string>*::clear
    - std::string
    - end
    - std::vector<std::string>*::push_back
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedData::keys(std::string_view vm_id, std::vector<std::string>
      *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:79,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:79,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:80,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:81,1
    - Dst: std::unordered_map*::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:85,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:85,1
    - Dst: std::unordered_map*::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:86,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: proxy_wasm::SharedData::nextCas
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: std::unordered_map*::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: proxy_wasm::SharedData::nextCas
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - vm_id
    - key
    - value
    - cas
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: proxy_wasm::SharedData::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::unordered_map*::emplace
    - std::make_pair
    - std::string
    - std::unordered_map*::find
    - end
    - proxy_wasm::SharedData::nextCas
    - std::unordered_map*::end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::set(std::string_view vm_id, std::string_view
      key, std::string_view value,\n                           uint32_t cas)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:101,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:102,1
    - Dst: std::unordered_map*::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:106,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:106,1
    - Dst: std::unordered_map*::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:107,1
    - Dst: std::unordered_map*::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - vm_id
    - key
    - cas
    - result
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: proxy_wasm::SharedData::remove
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::unordered_map*::erase
    - std::string
    - std::unordered_map*::find
    - end
    - std::unordered_map*::end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::remove(std::string_view vm_id, std::string_view
      key, uint32_t cas,\n                              std::pair<std::string, uint32_t>
      *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedData::SharedData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: proxy_wasm::getGlobalSharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 2
    functionsReached:
    - SharedData::SharedData
    linkageType: ''
    returnType: SharedData
    signature: SharedData &getGlobalSharedData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerVmIdHandleCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:35,1
    - Dst: proxy_wasm::SharedData::deleteByVmId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - register_vm_id_callback
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: proxy_wasm::SharedData::SharedData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - registerVmIdHandleCallback
    - proxy_wasm::SharedData::deleteByVmId
    linkageType: ''
    returnType: void
    signature: void SharedData::SharedData(bool register_vm_id_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: proxy_wasm::SharedData::deleteByVmId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 2
    functionsReached:
    - erase
    - std::string
    linkageType: ''
    returnType: void
    signature: void SharedData::deleteByVmId(std::string_view vm_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:47,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:47,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:48,1
    - Dst: auto::second::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:51,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:51,1
    - Dst: auto::second::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - vm_id
    - key
    - result
    argTypes:
    - std::string_view
    - std::string_view
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: proxy_wasm::SharedData::get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - auto::second::find
    - auto::second::end
    - std::string
    - end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::get(std::string_view vm_id, const std::string_view
      key,\n                           std::pair<std::string, uint32_t> *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>*::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:60,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:63,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:63,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:64,1
    - Dst: std::vector<std::string>*::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vm_id
    - result
    argTypes:
    - std::string_view
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: proxy_wasm::SharedData::keys
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::vector<std::string>*::clear
    - std::string
    - end
    - std::vector<std::string>*::push_back
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedData::keys(std::string_view vm_id, std::vector<std::string>
      *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:79,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:79,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:80,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:81,1
    - Dst: std::unordered_map*::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:85,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:85,1
    - Dst: std::unordered_map*::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:86,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: proxy_wasm::SharedData::nextCas
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:90,1
    - Dst: std::unordered_map*::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    - Dst: proxy_wasm::SharedData::nextCas
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - vm_id
    - key
    - value
    - cas
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: proxy_wasm::SharedData::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::unordered_map*::emplace
    - std::make_pair
    - std::string
    - std::unordered_map*::find
    - end
    - proxy_wasm::SharedData::nextCas
    - std::unordered_map*::end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::set(std::string_view vm_id, std::string_view
      key, std::string_view value,\n                           uint32_t cas)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:101,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:102,1
    - Dst: std::unordered_map*::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:106,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:106,1
    - Dst: std::unordered_map*::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:107,1
    - Dst: std::unordered_map*::erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - vm_id
    - key
    - cas
    - result
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    - std::pair<std::string, uint32_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: proxy_wasm::SharedData::remove
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_data.cc
    functionUses: 0
    functionsReached:
    - find
    - std::unordered_map*::erase
    - std::string
    - std::unordered_map*::find
    - end
    - std::unordered_map*::end
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult SharedData::remove(std::string_view vm_id, std::string_view
      key, uint32_t cas,\n                              std::pair<std::string, uint32_t>
      *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedQueue::SharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: proxy_wasm::getGlobalSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 2
    functionsReached:
    - SharedQueue::SharedQueue
    linkageType: ''
    returnType: SharedQueue
    signature: SharedQueue &getGlobalSharedQueue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerVmIdHandleCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:35,1
    - Dst: proxy_wasm::SharedQueue::deleteByVmId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - register_vm_id_callback
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: proxy_wasm::SharedQueue::SharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - registerVmIdHandleCallback
    - proxy_wasm::SharedQueue::deleteByVmId
    linkageType: ''
    returnType: void
    signature: void SharedQueue::SharedQueue(bool register_vm_id_callback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:41,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:42,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:44,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:45,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:46,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:47,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: proxy_wasm::SharedQueue::deleteByVmId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 1
    functionsReached:
    - find
    - erase
    - std::string
    - end
    linkageType: ''
    returnType: void
    signature: void SharedQueue::deleteByVmId(std::string_view vm_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:63,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: proxy_wasm::SharedQueue::nextQueueToken
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SharedQueue::nextQueueToken()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: proxy_wasm::SharedQueue::nextQueueToken
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:76,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:78,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:80,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:81,1
    - Dst: QueueKeySet*::insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:86,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:91,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - vm_id
    - queue_name
    - context_id
    - call_on_thread
    - vm_key
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    - CallOnThreadFunction
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: proxy_wasm::SharedQueue::registerQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - insert
    - find
    - std::make_pair
    - std::string
    - end
    - static_cast<uint32_t>
    - std::move
    - QueueKeySet*::insert
    - proxy_wasm::SharedQueue::nextQueueToken
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t SharedQueue::registerQueue(std::string_view vm_id, std::string_view
      queue_name,\n                                    uint32_t context_id, CallOnThreadFunction
      call_on_thread,\n                                    std::string_view vm_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vm_id
    - queue_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: proxy_wasm::SharedQueue::resolveQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - find
    - std::make_pair
    - std::string
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SharedQueue::resolveQueue(std::string_view vm_id, std::string_view
      queue_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:110,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:111,1
    - Dst: auto::second::queue::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:114,1
    - Dst: auto::second::queue::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:117,1
    - Dst: auto::second::queue::pop_front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - token
    - data
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: proxy_wasm::SharedQueue::dequeue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - auto::second::queue::empty
    - auto::second::queue::front
    - auto::second::queue::pop_front
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedQueue::dequeue(uint32_t token, std::string *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:129,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:130,1
    - Dst: Queue*::queue::emplace_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:137,1
    - Dst: call_on_thread
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:140,1
    - Dst: getThreadLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:143,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:145,1
    - Dst: auto*::onQueueReady
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - token
    - value
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: proxy_wasm::SharedQueue::enqueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - auto::wasm
    - auto*::onQueueReady
    - find
    - call_on_thread
    - getThreadLocalWasm
    - end
    - Queue*::queue::emplace_back
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedQueue::enqueue(uint32_t token, std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedQueue::SharedQueue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: proxy_wasm::getGlobalSharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 2
    functionsReached:
    - SharedQueue::SharedQueue
    linkageType: ''
    returnType: SharedQueue
    signature: SharedQueue &getGlobalSharedQueue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerVmIdHandleCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:35,1
    - Dst: proxy_wasm::SharedQueue::deleteByVmId
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - register_vm_id_callback
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: proxy_wasm::SharedQueue::SharedQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - registerVmIdHandleCallback
    - proxy_wasm::SharedQueue::deleteByVmId
    linkageType: ''
    returnType: void
    signature: void SharedQueue::SharedQueue(bool register_vm_id_callback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:41,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:42,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:44,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:45,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:46,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:47,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: proxy_wasm::SharedQueue::deleteByVmId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 2
    functionsReached:
    - find
    - erase
    - std::string
    - end
    linkageType: ''
    returnType: void
    signature: void SharedQueue::deleteByVmId(std::string_view vm_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:63,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: proxy_wasm::SharedQueue::nextQueueToken
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 1
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SharedQueue::nextQueueToken()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:73,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:74,1
    - Dst: proxy_wasm::SharedQueue::nextQueueToken
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:76,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:78,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:80,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:81,1
    - Dst: QueueKeySet*::insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:86,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:91,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - vm_id
    - queue_name
    - context_id
    - call_on_thread
    - vm_key
    argTypes:
    - std::string_view
    - std::string_view
    - uint32_t
    - CallOnThreadFunction
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: proxy_wasm::SharedQueue::registerQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - insert
    - find
    - std::make_pair
    - std::string
    - end
    - static_cast<uint32_t>
    - std::move
    - QueueKeySet*::insert
    - proxy_wasm::SharedQueue::nextQueueToken
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t SharedQueue::registerQueue(std::string_view vm_id, std::string_view
      queue_name,\n                                    uint32_t context_id, CallOnThreadFunction
      call_on_thread,\n                                    std::string_view vm_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:100,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:101,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vm_id
    - queue_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: proxy_wasm::SharedQueue::resolveQueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - find
    - std::make_pair
    - std::string
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SharedQueue::resolveQueue(std::string_view vm_id, std::string_view
      queue_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:110,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:111,1
    - Dst: auto::second::queue::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:114,1
    - Dst: auto::second::queue::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:117,1
    - Dst: auto::second::queue::pop_front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - token
    - data
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: proxy_wasm::SharedQueue::dequeue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    - auto::second::queue::empty
    - auto::second::queue::front
    - auto::second::queue::pop_front
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedQueue::dequeue(uint32_t token, std::string *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:129,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:130,1
    - Dst: Queue*::queue::emplace_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:137,1
    - Dst: call_on_thread
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:140,1
    - Dst: getThreadLocalWasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:143,1
    - Dst: auto::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:145,1
    - Dst: auto*::onQueueReady
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - token
    - value
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: proxy_wasm::SharedQueue::enqueue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/shared_queue.cc
    functionUses: 0
    functionsReached:
    - auto::wasm
    - auto*::onQueueReady
    - find
    - call_on_thread
    - getThreadLocalWasm
    - end
    - Queue*::queue::emplace_back
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult SharedQueue::enqueue(uint32_t token, std::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:44,1
    - Dst: ::v8::V8::EnableWebAssemblyTrapHandler
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:48,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:49,1
    - Dst: wasm::own::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: proxy_wasm::v8::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ::v8::V8::EnableWebAssemblyTrapHandler
    - wasm::own::get
    - ink_filepath_make
    - std::call_once
    linkageType: ''
    returnType: wasm::Engine
    signature: wasm::Engine *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::v8::FuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::v8::V8::V8
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: proxy_wasm::v8::V8::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::v8::V8::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: proxy_wasm::v8::V8::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: proxy_wasm::v8::V8::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wasm::Val::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:142,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm::Val
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: proxy_wasm::v8::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - wasm::Val::get
    - std::to_string
    - wasm::Val::kind
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm::Val &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:164,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    - Dst: proxy_wasm::v8::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - wasm::Val[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: proxy_wasm::v8::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm::Val values[], size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm::ValKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: proxy_wasm::v8::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm::ValKind kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:191,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:197,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:199,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: proxy_wasm::v8::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: proxy_wasm::v8::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - std::string::reserve
    - proxy_wasm::v8::printValKind
    - wasm::ownvec<wasm::ValType>::size
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm::ownvec<wasm::ValType> &types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:211,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm::ownvec<wasm::ValType>
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: proxy_wasm::v8::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - wasm::ownvec<wasm::ValType>::size
    linkageType: ''
    returnType: bool
    signature: "bool equalValTypes(const wasm::ownvec<wasm::ValType> &left,\n                          const
      wasm::ownvec<wasm::ValType> &right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    - static_cast<uint32_t>
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:240,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: proxy_wasm::v8::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypesImpl(std::index_sequence<I...> /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: proxy_wasm::v8::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertArgsTupleToValTypesImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:250,1
    - Dst: "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
        T>::type>::type>"
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: proxy_wasm::v8::convertValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
      T>::type>::type>"
    - std::make_tuple
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTupleImpl(const U &arr, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:257,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::v8::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertValTypesToArgsTupleImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &arr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:270,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: wasm::Module::deserialize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bytecode
    - precompiled
    - function_names
    argTypes:
    - std::string_view
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: proxy_wasm::v8::V8::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - ink_filepath_make
    - wasm::vec<byte_t>::make_uninitialized
    - wasm::Module::deserialize
    - std::string_view::empty
    - IOBufferReader::memcpy
    - std::string_view::size
    - share
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool V8::load(std::string_view bytecode, std::string_view precompiled,\n
      \             const std::unordered_map<uint32_t, std::string> &function_names)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:298,1
    - Dst: std::make_unique<V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:300,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: wasm::Module::obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:315,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: proxy_wasm::v8::V8::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - ink_filepath_make
    - wasm::Module::obtain
    - auto::integration
    - integration
    - std::make_unique<V8>
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> V8::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:335,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: proxy_wasm::v8::V8::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view V8::getPrecompiledSectionName()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:345,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:348,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:351,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:353,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:358,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:363,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:367,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:375,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:380,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:381,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:387,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:400,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:403,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:422,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:426,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:427,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:430,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:433,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:436,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:449,1
    - Dst: memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:450,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->func() != nullptr)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_types.size() == exports.size())
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_type->kind() == export_item->kind())
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->memory() != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 463
    functionName: proxy_wasm::v8::V8::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - auto*::type
    - std::string
    - get
    - auto::size
    - auto::second::callback_::get
    - auto*::table
    - auto*::kind
    - assert
    - auto*::memory
    - ink_filepath_make
    - std::vector::data
    - module
    - std::vector::size
    - find
    - std::vector::push_back
    - memory
    - type
    - end
    - insert_or_assign
    - name
    - printValTypes
    - auto*::func
    - auto::get
    - equalValTypes
    linkageType: ''
    returnType: bool
    signature: bool V8::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: proxy_wasm::v8::V8::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t V8::getMemorySize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:468,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:473,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: proxy_wasm::v8::V8::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data
    - std::string_view
    - data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> V8::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:480,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:485,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: proxy_wasm::v8::V8::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool V8::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:498,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: proxy_wasm::v8::V8::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - wasmtoh
    linkageType: ''
    returnType: bool
    signature: bool V8::getWord(uint64_t pointer, Word *word)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:513,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: proxy_wasm::v8::V8::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - data_size
    - data
    linkageType: ''
    returnType: bool
    signature: bool V8::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: proxy_wasm::v8::V8::trap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - std::move
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::own<wasm::Trap>
    signature: wasm::own<wasm::Trap> V8::trap(std::string message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:531,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:532,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:535,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:536,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:538,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:539,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:541,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:542,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:544,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:545,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:546,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:548,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:552,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:555,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:556,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - auto::get
    - reinterpret_cast<FuncData *>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::make_unique<FuncData>
    - convertArgsTupleToValTypes<std::tuple<>>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  void (*function)(Args...))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:567,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:568,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:571,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:572,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:574,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:575,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:577,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:578,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:580,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:581,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:583,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:585,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:586,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:590,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:593,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:594,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 597
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - makeVal
    - get
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::get
    - reinterpret_cast<FuncData *>
    - reinterpret_cast<R (*)(Args...)>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - std::make_unique<FuncData>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:603,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:608,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:609,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:613,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:621,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:627,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:630,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:632,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:637,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 648
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - find
    - wasm::Func*::call
    - wasm::Func*::type
    - makeVal
    - integration
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - std::string
    - end
    - equalValTypes
    - proxy_wasm::v8::V8::getFailMessage
    - printValues
    - convertArgsTupleToValTypes<std::tuple<>>
    - printValTypes
    - std::move
    - auto::second::get
    - cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<void(ContextBase
      *, Args...)> *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:654,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:658,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:659,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:672,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:679,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:682,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:684,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:689,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:696,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 703
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - proxy_wasm::v8::V8::getFailMessage
    - std::string
    - makeVal
    - get
    - std::move
    - wasm::Func*::call
    - find
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::second::get
    - cmpLogLevel
    - wasm::Func*::type
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<R(ContextBase
      *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wasm::StoreImpl *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: auto*::isolate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:707,1
    - Dst: auto*::TerminateExecution
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:708,1
    - Dst: auto*::IsExecutionTerminating
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:709,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: proxy_wasm::v8::V8::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wasm::StoreImpl *>
    - get
    - auto*::isolate
    - ink_thr_yield
    - auto*::TerminateExecution
    - auto*::IsExecutionTerminating
    linkageType: ''
    returnType: void
    signature: void V8::terminate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:715,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:718,1
    - Dst: wasm::own<wasm::Trap>::trace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:722,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:724,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:725,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:728,1
    - Dst: auto*::module_offset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:731,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:732,1
    - Dst: auto*::func_index
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:734,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:735,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:736,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - function_name
    - trap
    argTypes:
    - std::string_view
    - wasm::own<wasm::Trap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: proxy_wasm::v8::V8::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 2
    functionsReached:
    - get
    - std::setfill
    - find
    - std::setw
    - auto::size
    - wasm::own<wasm::Trap>::message
    - std::string
    - end
    - std::ostringstream::str
    - wasm::own<wasm::Trap>::trace
    - auto*::module_offset
    - empty
    - std::stringstream::str
    - std::to_string
    - auto*::func_index
    linkageType: ''
    returnType: std::string
    signature: std::string V8::getFailMessage(std::string_view function_name, wasm::own<wasm::Trap>
      trap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:44,1
    - Dst: ::v8::V8::EnableWebAssemblyTrapHandler
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:48,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:49,1
    - Dst: wasm::own::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: proxy_wasm::v8::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ::v8::V8::EnableWebAssemblyTrapHandler
    - wasm::own::get
    - ink_filepath_make
    - std::call_once
    linkageType: ''
    returnType: wasm::Engine
    signature: wasm::Engine *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::v8::FuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::v8::V8::V8
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: proxy_wasm::v8::V8::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::v8::V8::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: proxy_wasm::v8::V8::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: proxy_wasm::v8::V8::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wasm::Val::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:142,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm::Val
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: proxy_wasm::v8::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 1
    functionsReached:
    - wasm::Val::get
    - std::to_string
    - wasm::Val::kind
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm::Val &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:164,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    - Dst: proxy_wasm::v8::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - wasm::Val[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: proxy_wasm::v8::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm::Val values[], size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm::ValKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: proxy_wasm::v8::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm::ValKind kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:191,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:197,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:199,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: proxy_wasm::v8::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: proxy_wasm::v8::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - std::string::reserve
    - proxy_wasm::v8::printValKind
    - wasm::ownvec<wasm::ValType>::size
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm::ownvec<wasm::ValType> &types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:211,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm::ownvec<wasm::ValType>
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: proxy_wasm::v8::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - wasm::ownvec<wasm::ValType>::size
    linkageType: ''
    returnType: bool
    signature: "bool equalValTypes(const wasm::ownvec<wasm::ValType> &left,\n                          const
      wasm::ownvec<wasm::ValType> &right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    - static_cast<uint32_t>
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:240,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: proxy_wasm::v8::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 1
    functionsReached:
    - ink_filepath_make
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypesImpl(std::index_sequence<I...> /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: proxy_wasm::v8::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertArgsTupleToValTypesImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:250,1
    - Dst: "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
        T>::type>::type>"
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: proxy_wasm::v8::convertValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 1
    functionsReached:
    - "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
      T>::type>::type>"
    - std::make_tuple
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTupleImpl(const U &arr, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:257,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::v8::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertValTypesToArgsTupleImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &arr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:270,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: wasm::Module::deserialize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bytecode
    - precompiled
    - function_names
    argTypes:
    - std::string_view
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: proxy_wasm::v8::V8::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - ink_filepath_make
    - wasm::vec<byte_t>::make_uninitialized
    - wasm::Module::deserialize
    - std::string_view::empty
    - IOBufferReader::memcpy
    - std::string_view::size
    - share
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool V8::load(std::string_view bytecode, std::string_view precompiled,\n
      \             const std::unordered_map<uint32_t, std::string> &function_names)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:298,1
    - Dst: std::make_unique<V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:300,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: wasm::Module::obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:315,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: proxy_wasm::v8::V8::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - ink_filepath_make
    - wasm::Module::obtain
    - auto::integration
    - integration
    - std::make_unique<V8>
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> V8::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:335,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: proxy_wasm::v8::V8::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view V8::getPrecompiledSectionName()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:345,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:348,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:351,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:353,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:358,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:363,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:367,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:375,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:380,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:381,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:387,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:400,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:403,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:422,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:426,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:427,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:430,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:433,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:436,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:449,1
    - Dst: memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:450,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->func() != nullptr)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_types.size() == exports.size())
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_type->kind() == export_item->kind())
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->memory() != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 463
    functionName: proxy_wasm::v8::V8::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - auto*::type
    - std::string
    - get
    - auto::size
    - auto::second::callback_::get
    - auto*::table
    - auto*::kind
    - assert
    - auto*::memory
    - ink_filepath_make
    - std::vector::data
    - module
    - std::vector::size
    - find
    - std::vector::push_back
    - memory
    - type
    - end
    - insert_or_assign
    - name
    - printValTypes
    - auto*::func
    - auto::get
    - equalValTypes
    linkageType: ''
    returnType: bool
    signature: bool V8::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: proxy_wasm::v8::V8::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t V8::getMemorySize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:468,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:473,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: proxy_wasm::v8::V8::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data
    - std::string_view
    - data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> V8::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:480,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:485,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: proxy_wasm::v8::V8::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool V8::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:498,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: proxy_wasm::v8::V8::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - wasmtoh
    linkageType: ''
    returnType: bool
    signature: bool V8::getWord(uint64_t pointer, Word *word)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:513,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: proxy_wasm::v8::V8::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - data_size
    - data
    linkageType: ''
    returnType: bool
    signature: bool V8::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: proxy_wasm::v8::V8::trap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - std::move
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::own<wasm::Trap>
    signature: wasm::own<wasm::Trap> V8::trap(std::string message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:531,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:532,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:535,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:536,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:538,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:539,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:541,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:542,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:544,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:545,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:546,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:548,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:552,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:555,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:556,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - auto::get
    - reinterpret_cast<FuncData *>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::make_unique<FuncData>
    - convertArgsTupleToValTypes<std::tuple<>>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  void (*function)(Args...))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:567,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:568,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:571,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:572,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:574,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:575,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:577,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:578,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:580,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:581,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:583,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:585,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:586,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:590,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:593,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:594,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 597
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - makeVal
    - get
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::get
    - reinterpret_cast<FuncData *>
    - reinterpret_cast<R (*)(Args...)>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - std::make_unique<FuncData>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:603,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:608,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:609,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:613,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:621,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:627,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:630,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:632,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:637,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 648
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - find
    - wasm::Func*::call
    - wasm::Func*::type
    - makeVal
    - integration
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - std::string
    - end
    - equalValTypes
    - proxy_wasm::v8::V8::getFailMessage
    - printValues
    - convertArgsTupleToValTypes<std::tuple<>>
    - printValTypes
    - std::move
    - auto::second::get
    - cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<void(ContextBase
      *, Args...)> *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:654,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:658,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:659,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:672,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:679,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:682,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:684,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:689,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:696,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 703
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - proxy_wasm::v8::V8::getFailMessage
    - std::string
    - makeVal
    - get
    - std::move
    - wasm::Func*::call
    - find
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::second::get
    - cmpLogLevel
    - wasm::Func*::type
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<R(ContextBase
      *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wasm::StoreImpl *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: auto*::isolate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:707,1
    - Dst: auto*::TerminateExecution
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:708,1
    - Dst: auto*::IsExecutionTerminating
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:709,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: proxy_wasm::v8::V8::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wasm::StoreImpl *>
    - get
    - auto*::isolate
    - ink_thr_yield
    - auto*::TerminateExecution
    - auto*::IsExecutionTerminating
    linkageType: ''
    returnType: void
    signature: void V8::terminate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:715,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:718,1
    - Dst: wasm::own<wasm::Trap>::trace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:722,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:724,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:725,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:728,1
    - Dst: auto*::module_offset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:731,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:732,1
    - Dst: auto*::func_index
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:734,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:735,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:736,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - function_name
    - trap
    argTypes:
    - std::string_view
    - wasm::own<wasm::Trap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: proxy_wasm::v8::V8::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 4
    functionsReached:
    - get
    - std::setfill
    - find
    - std::setw
    - auto::size
    - wasm::own<wasm::Trap>::message
    - std::string
    - end
    - std::ostringstream::str
    - wasm::own<wasm::Trap>::trace
    - auto*::module_offset
    - empty
    - std::stringstream::str
    - std::to_string
    - auto*::func_index
    linkageType: ''
    returnType: std::string
    signature: std::string V8::getFailMessage(std::string_view function_name, wasm::own<wasm::Trap>
      trap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<v8::V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: proxy_wasm::createV8Vm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<v8::V8>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createV8Vm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:44,1
    - Dst: ::v8::V8::EnableWebAssemblyTrapHandler
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:48,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:49,1
    - Dst: wasm::own::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: proxy_wasm::v8::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ::v8::V8::EnableWebAssemblyTrapHandler
    - wasm::own::get
    - ink_filepath_make
    - std::call_once
    linkageType: ''
    returnType: wasm::Engine
    signature: wasm::Engine *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::v8::FuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::v8::V8::V8
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: proxy_wasm::v8::V8::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::v8::V8::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: proxy_wasm::v8::V8::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: proxy_wasm::v8::V8::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wasm::Val::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:142,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm::Val
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: proxy_wasm::v8::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 2
    functionsReached:
    - wasm::Val::get
    - std::to_string
    - wasm::Val::kind
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm::Val &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:164,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    - Dst: proxy_wasm::v8::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - wasm::Val[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: proxy_wasm::v8::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm::Val values[], size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm::ValKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: proxy_wasm::v8::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm::ValKind kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:191,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:197,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:199,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: proxy_wasm::v8::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: proxy_wasm::v8::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - std::string::reserve
    - proxy_wasm::v8::printValKind
    - wasm::ownvec<wasm::ValType>::size
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm::ownvec<wasm::ValType> &types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:211,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm::ownvec<wasm::ValType>
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: proxy_wasm::v8::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - wasm::ownvec<wasm::ValType>::size
    linkageType: ''
    returnType: bool
    signature: "bool equalValTypes(const wasm::ownvec<wasm::ValType> &left,\n                          const
      wasm::ownvec<wasm::ValType> &right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    - static_cast<uint32_t>
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:240,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: proxy_wasm::v8::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 2
    functionsReached:
    - ink_filepath_make
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypesImpl(std::index_sequence<I...> /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: proxy_wasm::v8::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertArgsTupleToValTypesImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:250,1
    - Dst: "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
        T>::type>::type>"
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: proxy_wasm::v8::convertValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 2
    functionsReached:
    - "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
      T>::type>::type>"
    - std::make_tuple
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTupleImpl(const U &arr, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:257,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::v8::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertValTypesToArgsTupleImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &arr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:270,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: wasm::Module::deserialize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bytecode
    - precompiled
    - function_names
    argTypes:
    - std::string_view
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: proxy_wasm::v8::V8::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - ink_filepath_make
    - wasm::vec<byte_t>::make_uninitialized
    - wasm::Module::deserialize
    - std::string_view::empty
    - IOBufferReader::memcpy
    - std::string_view::size
    - share
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool V8::load(std::string_view bytecode, std::string_view precompiled,\n
      \             const std::unordered_map<uint32_t, std::string> &function_names)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:298,1
    - Dst: std::make_unique<V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:300,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: wasm::Module::obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:315,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: proxy_wasm::v8::V8::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - ink_filepath_make
    - wasm::Module::obtain
    - auto::integration
    - integration
    - std::make_unique<V8>
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> V8::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:335,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: proxy_wasm::v8::V8::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view V8::getPrecompiledSectionName()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:345,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:348,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:351,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:353,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:358,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:363,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:367,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:375,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:380,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:381,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:387,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:400,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:403,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:422,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:426,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:427,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:430,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:433,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:436,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:449,1
    - Dst: memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:450,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->func() != nullptr)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_types.size() == exports.size())
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_type->kind() == export_item->kind())
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->memory() != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 463
    functionName: proxy_wasm::v8::V8::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - auto*::type
    - std::string
    - get
    - auto::size
    - auto::second::callback_::get
    - auto*::table
    - auto*::kind
    - assert
    - auto*::memory
    - ink_filepath_make
    - std::vector::data
    - module
    - std::vector::size
    - find
    - std::vector::push_back
    - memory
    - type
    - end
    - insert_or_assign
    - name
    - printValTypes
    - auto*::func
    - auto::get
    - equalValTypes
    linkageType: ''
    returnType: bool
    signature: bool V8::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: proxy_wasm::v8::V8::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t V8::getMemorySize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:468,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:473,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: proxy_wasm::v8::V8::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data
    - std::string_view
    - data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> V8::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:480,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:485,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: proxy_wasm::v8::V8::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool V8::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:498,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: proxy_wasm::v8::V8::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - wasmtoh
    linkageType: ''
    returnType: bool
    signature: bool V8::getWord(uint64_t pointer, Word *word)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:513,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: proxy_wasm::v8::V8::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - data_size
    - data
    linkageType: ''
    returnType: bool
    signature: bool V8::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: proxy_wasm::v8::V8::trap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - std::move
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::own<wasm::Trap>
    signature: wasm::own<wasm::Trap> V8::trap(std::string message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:531,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:532,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:535,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:536,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:538,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:539,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:541,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:542,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:544,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:545,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:546,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:548,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:552,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:555,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:556,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - auto::get
    - reinterpret_cast<FuncData *>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::make_unique<FuncData>
    - convertArgsTupleToValTypes<std::tuple<>>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  void (*function)(Args...))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:567,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:568,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:571,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:572,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:574,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:575,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:577,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:578,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:580,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:581,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:583,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:585,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:586,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:590,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:593,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:594,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 597
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - makeVal
    - get
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::get
    - reinterpret_cast<FuncData *>
    - reinterpret_cast<R (*)(Args...)>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - std::make_unique<FuncData>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:603,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:608,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:609,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:613,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:621,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:627,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:630,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:632,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:637,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 648
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - find
    - wasm::Func*::call
    - wasm::Func*::type
    - makeVal
    - integration
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - std::string
    - end
    - equalValTypes
    - proxy_wasm::v8::V8::getFailMessage
    - printValues
    - convertArgsTupleToValTypes<std::tuple<>>
    - printValTypes
    - std::move
    - auto::second::get
    - cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<void(ContextBase
      *, Args...)> *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:654,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:658,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:659,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:672,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:679,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:682,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:684,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:689,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:696,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 703
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - proxy_wasm::v8::V8::getFailMessage
    - std::string
    - makeVal
    - get
    - std::move
    - wasm::Func*::call
    - find
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::second::get
    - cmpLogLevel
    - wasm::Func*::type
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<R(ContextBase
      *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wasm::StoreImpl *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: auto*::isolate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:707,1
    - Dst: auto*::TerminateExecution
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:708,1
    - Dst: auto*::IsExecutionTerminating
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:709,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: proxy_wasm::v8::V8::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wasm::StoreImpl *>
    - get
    - auto*::isolate
    - ink_thr_yield
    - auto*::TerminateExecution
    - auto*::IsExecutionTerminating
    linkageType: ''
    returnType: void
    signature: void V8::terminate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:715,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:718,1
    - Dst: wasm::own<wasm::Trap>::trace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:722,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:724,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:725,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:728,1
    - Dst: auto*::module_offset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:731,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:732,1
    - Dst: auto*::func_index
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:734,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:735,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:736,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - function_name
    - trap
    argTypes:
    - std::string_view
    - wasm::own<wasm::Trap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: proxy_wasm::v8::V8::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 6
    functionsReached:
    - get
    - std::setfill
    - find
    - std::setw
    - auto::size
    - wasm::own<wasm::Trap>::message
    - std::string
    - end
    - std::ostringstream::str
    - wasm::own<wasm::Trap>::trace
    - auto*::module_offset
    - empty
    - std::stringstream::str
    - std::to_string
    - auto*::func_index
    linkageType: ''
    returnType: std::string
    signature: std::string V8::getFailMessage(std::string_view function_name, wasm::own<wasm::Trap>
      trap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:44,1
    - Dst: ::v8::V8::EnableWebAssemblyTrapHandler
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:48,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:49,1
    - Dst: wasm::own::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: proxy_wasm::v8::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ::v8::V8::EnableWebAssemblyTrapHandler
    - wasm::own::get
    - ink_filepath_make
    - std::call_once
    linkageType: ''
    returnType: wasm::Engine
    signature: wasm::Engine *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::v8::FuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::v8::V8::V8
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: proxy_wasm::v8::V8::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::v8::V8::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: proxy_wasm::v8::V8::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: proxy_wasm::v8::V8::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wasm::Val::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:142,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:144,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:146,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:148,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    - Dst: wasm::Val::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm::Val
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: proxy_wasm::v8::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 3
    functionsReached:
    - wasm::Val::get
    - std::to_string
    - wasm::Val::kind
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm::Val &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:164,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    - Dst: proxy_wasm::v8::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - wasm::Val[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: proxy_wasm::v8::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm::Val values[], size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm::ValKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: proxy_wasm::v8::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm::ValKind kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:191,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:196,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:197,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:199,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: proxy_wasm::v8::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: proxy_wasm::v8::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - std::string::reserve
    - proxy_wasm::v8::printValKind
    - wasm::ownvec<wasm::ValType>::size
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm::ownvec<wasm::ValType> &types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:208,1
    - Dst: wasm::ownvec<wasm::ValType>::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:211,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    - Dst: kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm::ownvec<wasm::ValType>
    - wasm::ownvec<wasm::ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: proxy_wasm::v8::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - kind
    - wasm::ownvec<wasm::ValType>::size
    linkageType: ''
    returnType: bool
    signature: "bool equalValTypes(const wasm::ownvec<wasm::ValType> &left,\n                          const
      wasm::ownvec<wasm::ValType> &right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: proxy_wasm::v8::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - ink_filepath_make
    - static_cast<uint32_t>
    linkageType: ''
    returnType: wasm::Val
    signature: wasm::Val makeVal(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::v8::convertArgToValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValKind<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:240,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: proxy_wasm::v8::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 3
    functionsReached:
    - ink_filepath_make
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypesImpl(std::index_sequence<I...> /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: proxy_wasm::v8::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertArgsTupleToValTypesImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: auto
    signature: auto convertArgsTupleToValTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:250,1
    - Dst: "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
        T>::type>::type>"
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: proxy_wasm::v8::convertValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 3
    functionsReached:
    - "template get<\n               typename ConvertWordType<typename std::tuple_element<I,
      T>::type>::type>"
    - std::make_tuple
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTupleImpl(const U &arr, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::v8::convertValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:257,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::v8::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::v8::convertValTypesToArgsTupleImpl
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &arr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:265,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:270,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:271,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:272,1
    - Dst: wasm::Module::deserialize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:273,1
    - Dst: wasm::vec<byte_t>::make_uninitialized
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:279,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:280,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:281,1
    - Dst: share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bytecode
    - precompiled
    - function_names
    argTypes:
    - std::string_view
    - std::string_view
    - std::unordered_map<uint32_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: proxy_wasm::v8::V8::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - ink_filepath_make
    - wasm::vec<byte_t>::make_uninitialized
    - wasm::Module::deserialize
    - std::string_view::empty
    - IOBufferReader::memcpy
    - std::string_view::size
    - share
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool V8::load(std::string_view bytecode, std::string_view precompiled,\n
      \             const std::unordered_map<uint32_t, std::string> &function_names)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:298,1
    - Dst: std::make_unique<V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:300,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:305,1
    - Dst: wasm::Module::obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:310,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:315,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 324
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 324
    functionName: proxy_wasm::v8::V8::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - ink_filepath_make
    - wasm::Module::obtain
    - auto::integration
    - integration
    - std::make_unique<V8>
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> V8::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:335,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:336,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: proxy_wasm::v8::V8::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view V8::getPrecompiledSectionName()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:345,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:348,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:349,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:350,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:351,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:353,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:356,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:358,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:360,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:363,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:364,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:365,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:366,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:367,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:368,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:369,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:370,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:371,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: auto*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:372,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:375,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:380,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:381,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:387,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:388,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:392,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:396,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:400,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:402,1
    - Dst: auto*::table
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:403,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:407,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:411,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:416,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:420,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:422,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:426,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:427,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:428,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:430,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:431,1
    - Dst: type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:433,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:434,1
    - Dst: auto*::kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:436,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:439,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: auto*::func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:440,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: auto*::memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:448,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:449,1
    - Dst: memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:450,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->func() != nullptr)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_types.size() == exports.size())
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_type->kind() == export_item->kind())
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (export_item->memory() != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 463
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 463
    functionName: proxy_wasm::v8::V8::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - auto*::type
    - std::string
    - get
    - auto::size
    - auto::second::callback_::get
    - auto*::table
    - auto*::kind
    - assert
    - auto*::memory
    - ink_filepath_make
    - std::vector::data
    - module
    - std::vector::size
    - find
    - std::vector::push_back
    - memory
    - type
    - end
    - insert_or_assign
    - name
    - printValTypes
    - auto*::func
    - auto::get
    - equalValTypes
    linkageType: ''
    returnType: bool
    signature: bool V8::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: proxy_wasm::v8::V8::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t V8::getMemorySize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:468,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:473,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: proxy_wasm::v8::V8::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - data
    - std::string_view
    - data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> V8::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:480,1
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:485,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: proxy_wasm::v8::V8::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool V8::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:498,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:502,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: proxy_wasm::v8::V8::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - IOBufferReader::memcpy
    - data
    - data_size
    - wasmtoh
    linkageType: ''
    returnType: bool
    signature: bool V8::getWord(uint64_t pointer, Word *word)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:513,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:516,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: proxy_wasm::v8::V8::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - data_size
    - data
    linkageType: ''
    returnType: bool
    signature: bool V8::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: proxy_wasm::v8::V8::trap
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - get
    - std::move
    - ink_filepath_make
    linkageType: ''
    returnType: wasm::own<wasm::Trap>
    signature: wasm::own<wasm::Trap> V8::trap(std::string message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:529,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:530,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:531,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:532,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:533,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:535,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:536,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:538,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:539,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:541,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:542,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:544,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:545,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:546,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:548,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:552,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:555,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:556,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:557,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - auto::get
    - reinterpret_cast<FuncData *>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::make_unique<FuncData>
    - convertArgsTupleToValTypes<std::tuple<>>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  void (*function)(Args...))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:565,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:566,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:567,1
    - Dst: ink_filepath_make
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:568,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:569,1
    - Dst: reinterpret_cast<FuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:571,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:572,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:574,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:575,1
    - Dst: auto*::vm_::isHostFunctionAllowed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:577,1
    - Dst: dynamic_cast<V8 *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:578,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:580,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:581,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:583,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:585,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:586,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:590,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:593,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:594,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:595,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 597
    functionName: proxy_wasm::v8::V8::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - makeVal
    - get
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - std::move
    - ink_filepath_make
    - std::apply
    - insert_or_assign
    - printValues
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::get
    - reinterpret_cast<FuncData *>
    - reinterpret_cast<R (*)(Args...)>
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - auto*::vm_::cmpLogLevel
    - std::make_unique<FuncData>
    - auto*::vm_::isHostFunctionAllowed
    - dynamic_cast<V8 *>
    linkageType: ''
    returnType: void
    signature: "void V8::registerHostFunctionImpl(std::string_view module_name, std::string_view
      function_name,\n                                  R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:602,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:603,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:608,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:609,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:611,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:613,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:614,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:616,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:621,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:627,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:629,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:630,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:632,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:635,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:637,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:641,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 648
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - find
    - wasm::Func*::call
    - wasm::Func*::type
    - makeVal
    - integration
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - std::string
    - end
    - equalValTypes
    - proxy_wasm::v8::V8::getFailMessage
    - printValues
    - convertArgsTupleToValTypes<std::tuple<>>
    - printValTypes
    - std::move
    - auto::second::get
    - cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<void(ContextBase
      *, Args...)> *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:653,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:654,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:658,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:659,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: wasm::Func*::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:667,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:672,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:679,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:681,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:682,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:684,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:687,1
    - Dst: wasm::Func*::call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:689,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: proxy_wasm::v8::V8::getFailMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:693,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:696,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:698,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 703
    functionName: proxy_wasm::v8::V8::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - fail
    - proxy_wasm::v8::V8::getFailMessage
    - std::string
    - makeVal
    - get
    - std::move
    - wasm::Func*::call
    - find
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - std::to_string
    - auto::second::get
    - cmpLogLevel
    - wasm::Func*::type
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    linkageType: ''
    returnType: void
    signature: "void V8::getModuleFunctionImpl(std::string_view function_name,\n                               std::function<R(ContextBase
      *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wasm::StoreImpl *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:706,1
    - Dst: auto*::isolate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:707,1
    - Dst: auto*::TerminateExecution
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:708,1
    - Dst: auto*::IsExecutionTerminating
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:709,1
    - Dst: ink_thr_yield
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: proxy_wasm::v8::V8::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wasm::StoreImpl *>
    - get
    - auto*::isolate
    - ink_thr_yield
    - auto*::TerminateExecution
    - auto*::IsExecutionTerminating
    linkageType: ''
    returnType: void
    signature: void V8::terminate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:715,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: wasm::own<wasm::Trap>::message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:716,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:718,1
    - Dst: wasm::own<wasm::Trap>::trace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:722,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:724,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:725,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:727,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:728,1
    - Dst: auto*::module_offset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:731,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:732,1
    - Dst: auto*::func_index
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:734,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:735,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:736,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - function_name
    - trap
    argTypes:
    - std::string_view
    - wasm::own<wasm::Trap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: proxy_wasm::v8::V8::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 8
    functionsReached:
    - get
    - std::setfill
    - find
    - std::setw
    - auto::size
    - wasm::own<wasm::Trap>::message
    - std::string
    - end
    - std::ostringstream::str
    - wasm::own<wasm::Trap>::trace
    - auto*::module_offset
    - empty
    - std::stringstream::str
    - std::to_string
    - auto*::func_index
    linkageType: ''
    returnType: std::string
    signature: std::string V8::getFailMessage(std::string_view function_name, wasm::own<wasm::Trap>
      trap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<v8::V8>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: proxy_wasm::createV8Vm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/v8/v8.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<v8::V8>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createV8Vm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint32_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenI64
    - static_cast<int64_t>
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenF64
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(double t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: WasmEdge_ValueGetF32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmEdge::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetF64
    - WasmEdge_ValueGetF32
    - WasmEdge_ValueGetI64
    - WasmEdge_ValueGetI32
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const WasmEdge_Value &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:76,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    - Dst: proxy_wasm::WasmEdge::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - WasmEdge_Value*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: proxy_wasm::WasmEdge::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const WasmEdge_Value *values, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - WasmEdge_ValType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: proxy_wasm::WasmEdge::printValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValType(WasmEdge_ValType kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:110,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:113,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    - Dst: proxy_wasm::WasmEdge::printValType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - types
    - size
    argTypes:
    - WasmEdge_ValType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: proxy_wasm::WasmEdge::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValType
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const WasmEdge_ValType *types, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convValTypeToArg<uint32_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    linkageType: ''
    returnType: Word
    signature: Word convValTypeToArg<Word>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: int64_t
    signature: int64_t convValTypeToArg<int64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convValTypeToArg<uint64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetF64
    linkageType: ''
    returnType: double
    signature: double convValTypeToArg<double>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:155,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: "T convValTypesToArgsTupleImpl(const WasmEdge_Value *arr,\n                                        std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Is
    - proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    linkageType: ''
    returnType: T
    signature: T convValTypesToArgsTuple(const WasmEdge_Value *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:171,1
    - Dst: std::vector<enum WasmEdge_ValType>::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:172,1
    - Dst: std::copy_n
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: std::vector<enum WasmEdge_ValType>::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::copy_n
    - std::vector<enum WasmEdge_ValType>::resize
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    - auto::data
    - std::vector<enum WasmEdge_ValType>::data
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t convArgsTupleToValTypesImpl(std::vector<enum WasmEdge_ValType>
      &types,\n                                     std::index_sequence<I...> /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convArgsTupleToValTypes(std::vector<enum WasmEdge_ValType>
      &types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:187,1
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:188,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:195,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - modname
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: proxy_wasm::WasmEdge::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostFuncData(const std::string_view modname, const std::string_view
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ~HostFuncData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostFuncData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modname
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: proxy_wasm::WasmEdge::HostModuleData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - WasmEdge_StringWrap
    - std::string_view::data
    - WasmEdge_ModuleInstanceCreate
    linkageType: ''
    returnType: void
    signature: void HostModuleData(const std::string_view modname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~HostModuleData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ModuleInstanceDelete
    linkageType: ''
    returnType: void
    signature: void ~HostModuleData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:227,1
    - Dst: WasmEdge_ValidatorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:228,1
    - Dst: WasmEdge_ExecutorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: proxy_wasm::WasmEdge::WasmEdge::WasmEdge
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_LoaderCreate
    - WasmEdge_ExecutorCreate
    - WasmEdge_ValidatorCreate
    linkageType: ''
    returnType: void
    signature: void WasmEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::WasmEdge::WasmEdge::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: proxy_wasm::WasmEdge::WasmEdge::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: proxy_wasm::WasmEdge::WasmEdge::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmEdge::WasmEdge::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> clone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: proxy_wasm::WasmEdge::WasmEdge::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: proxy_wasm::WasmEdge::WasmEdge::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderParseFromBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:302,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:304,1
    - Dst: WasmEdge_ValidatorValidate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:308,1
    - Dst: WasmEdge_ASTModuleDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: proxy_wasm::WasmEdge::WasmEdge::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_ValidatorValidate
    - std::string_view::size
    - WasmEdge_LoaderParseFromBuffer
    - WasmEdge_ASTModuleDelete
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool WasmEdge::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:317,1
    - Dst: WasmEdge_StoreCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:321,1
    - Dst: WasmEdge_ExecutorRegisterImport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:329,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:331,1
    - Dst: WasmEdge_ExecutorInstantiate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:338,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:339,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ModuleInstanceListMemoryLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:344,1
    - Dst: WasmEdge_ModuleInstanceListMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:347,1
    - Dst: WasmEdge_ModuleInstanceFindMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:348,1
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:350,1
    - Dst: WasmEdge_ModuleInstanceListFunctionLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:354,1
    - Dst: WasmEdge_ModuleInstanceListFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:357,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ast_module_ != nullptr)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    constantsTouched: []
    func_position:
      end: 364
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 364
    functionName: proxy_wasm::WasmEdge::WasmEdge::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - WasmEdge_ModuleInstanceFindMemory
    - fail
    - WasmEdge_ModuleInstanceListMemory
    - insert
    - WasmEdge_ResultGetMessage
    - WasmEdge_StoreCreate
    - WasmEdge_ModuleInstanceListMemoryLength
    - WasmEdge_ResultOK
    - WasmEdge_ModuleInstanceDelete
    - std::string
    - WasmEdge_ModuleInstanceListFunctionLength
    - WasmEdge_ExecutorInstantiate
    - WasmEdge_ExecutorRegisterImport
    - WasmEdge_ModuleInstanceListFunction
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::link(std::string_view /*debug_name*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetPageSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_MemoryInstanceGetPageSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmEdge::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: WasmEdge_MemoryInstanceGetPointer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - reinterpret_cast<char *>
    - WasmEdge_MemoryInstanceGetPointer
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> WasmEdge::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: proxy_wasm::WasmEdge::WasmEdge::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceGetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::getWord(uint64_t pointer, Word *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:401,1
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: proxy_wasm::WasmEdge::WasmEdge::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setWord(uint64_t pointer, Word word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:411,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:416,1
    - Dst: newWasmEdgeFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:417,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:419,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:423,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:424,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:426,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:428,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:430,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:431,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:432,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:434,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:441,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:443,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:447,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - newWasmEdgeFuncType<std::tuple<Args...>>
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - std::make_unique<HostModuleData>
    - auto::get
    - WasmEdge_StringWrap
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:458,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:463,1
    - Dst: newWasmEdgeFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:464,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:466,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:469,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:470,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:472,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:474,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:476,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:477,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:478,1
    - Dst: makeVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:479,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:481,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:482,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:488,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:490,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:494,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - newWasmEdgeFuncType<R, std::tuple<Args...>>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - makeVal<R>
    - std::make_unique<HostModuleData>
    - std::to_string
    - auto::get
    - WasmEdge_StringWrap
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:504,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:513,1
    - Dst: convArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:514,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:515,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:524,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:525,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:534,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:535,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:538,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:543,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:545,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 552
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:557,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:566,1
    - Dst: convArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:567,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:568,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:577,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:578,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:587,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:589,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:592,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:597,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:599,1
    - Dst: convValTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:602,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 609
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<R>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - std::to_string
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    - convValTypeToArg<R>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint32_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenI64
    - static_cast<int64_t>
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenF64
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(double t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: WasmEdge_ValueGetF32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmEdge::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached:
    - WasmEdge_ValueGetF64
    - WasmEdge_ValueGetF32
    - WasmEdge_ValueGetI64
    - WasmEdge_ValueGetI32
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const WasmEdge_Value &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:76,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    - Dst: proxy_wasm::WasmEdge::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - WasmEdge_Value*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: proxy_wasm::WasmEdge::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const WasmEdge_Value *values, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - WasmEdge_ValType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: proxy_wasm::WasmEdge::printValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValType(WasmEdge_ValType kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:110,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:113,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    - Dst: proxy_wasm::WasmEdge::printValType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - types
    - size
    argTypes:
    - WasmEdge_ValType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: proxy_wasm::WasmEdge::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValType
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const WasmEdge_ValType *types, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convValTypeToArg<uint32_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    linkageType: ''
    returnType: Word
    signature: Word convValTypeToArg<Word>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: int64_t
    signature: int64_t convValTypeToArg<int64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convValTypeToArg<uint64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetF64
    linkageType: ''
    returnType: double
    signature: double convValTypeToArg<double>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:155,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: "T convValTypesToArgsTupleImpl(const WasmEdge_Value *arr,\n                                        std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Is
    - proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    linkageType: ''
    returnType: T
    signature: T convValTypesToArgsTuple(const WasmEdge_Value *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:171,1
    - Dst: std::vector<enum WasmEdge_ValType>::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:172,1
    - Dst: std::copy_n
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: std::vector<enum WasmEdge_ValType>::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached:
    - std::copy_n
    - std::vector<enum WasmEdge_ValType>::resize
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    - auto::data
    - std::vector<enum WasmEdge_ValType>::data
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t convArgsTupleToValTypesImpl(std::vector<enum WasmEdge_ValType>
      &types,\n                                     std::index_sequence<I...> /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convArgsTupleToValTypes(std::vector<enum WasmEdge_ValType>
      &types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:187,1
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:188,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:195,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - modname
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: proxy_wasm::WasmEdge::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostFuncData(const std::string_view modname, const std::string_view
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ~HostFuncData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostFuncData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modname
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: proxy_wasm::WasmEdge::HostModuleData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - WasmEdge_StringWrap
    - std::string_view::data
    - WasmEdge_ModuleInstanceCreate
    linkageType: ''
    returnType: void
    signature: void HostModuleData(const std::string_view modname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~HostModuleData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ModuleInstanceDelete
    linkageType: ''
    returnType: void
    signature: void ~HostModuleData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:227,1
    - Dst: WasmEdge_ValidatorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:228,1
    - Dst: WasmEdge_ExecutorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: proxy_wasm::WasmEdge::WasmEdge::WasmEdge
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_LoaderCreate
    - WasmEdge_ExecutorCreate
    - WasmEdge_ValidatorCreate
    linkageType: ''
    returnType: void
    signature: void WasmEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::WasmEdge::WasmEdge::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: proxy_wasm::WasmEdge::WasmEdge::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: proxy_wasm::WasmEdge::WasmEdge::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmEdge::WasmEdge::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> clone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: proxy_wasm::WasmEdge::WasmEdge::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: proxy_wasm::WasmEdge::WasmEdge::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderParseFromBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:302,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:304,1
    - Dst: WasmEdge_ValidatorValidate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:308,1
    - Dst: WasmEdge_ASTModuleDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: proxy_wasm::WasmEdge::WasmEdge::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_ValidatorValidate
    - std::string_view::size
    - WasmEdge_LoaderParseFromBuffer
    - WasmEdge_ASTModuleDelete
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool WasmEdge::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:317,1
    - Dst: WasmEdge_StoreCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:321,1
    - Dst: WasmEdge_ExecutorRegisterImport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:329,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:331,1
    - Dst: WasmEdge_ExecutorInstantiate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:338,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:339,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ModuleInstanceListMemoryLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:344,1
    - Dst: WasmEdge_ModuleInstanceListMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:347,1
    - Dst: WasmEdge_ModuleInstanceFindMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:348,1
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:350,1
    - Dst: WasmEdge_ModuleInstanceListFunctionLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:354,1
    - Dst: WasmEdge_ModuleInstanceListFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:357,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ast_module_ != nullptr)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    constantsTouched: []
    func_position:
      end: 364
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 364
    functionName: proxy_wasm::WasmEdge::WasmEdge::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - WasmEdge_ModuleInstanceFindMemory
    - fail
    - WasmEdge_ModuleInstanceListMemory
    - insert
    - WasmEdge_ResultGetMessage
    - WasmEdge_StoreCreate
    - WasmEdge_ModuleInstanceListMemoryLength
    - WasmEdge_ResultOK
    - WasmEdge_ModuleInstanceDelete
    - std::string
    - WasmEdge_ModuleInstanceListFunctionLength
    - WasmEdge_ExecutorInstantiate
    - WasmEdge_ExecutorRegisterImport
    - WasmEdge_ModuleInstanceListFunction
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::link(std::string_view /*debug_name*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetPageSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_MemoryInstanceGetPageSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmEdge::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: WasmEdge_MemoryInstanceGetPointer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - reinterpret_cast<char *>
    - WasmEdge_MemoryInstanceGetPointer
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> WasmEdge::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: proxy_wasm::WasmEdge::WasmEdge::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceGetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::getWord(uint64_t pointer, Word *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:401,1
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: proxy_wasm::WasmEdge::WasmEdge::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setWord(uint64_t pointer, Word word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:411,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:416,1
    - Dst: newWasmEdgeFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:417,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:419,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:423,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:424,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:426,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:428,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:430,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:431,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:432,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:434,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:441,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:443,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:447,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - newWasmEdgeFuncType<std::tuple<Args...>>
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - std::make_unique<HostModuleData>
    - auto::get
    - WasmEdge_StringWrap
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:458,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:463,1
    - Dst: newWasmEdgeFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:464,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:466,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:469,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:470,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:472,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:474,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:476,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:477,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:478,1
    - Dst: makeVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:479,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:481,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:482,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:488,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:490,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:494,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - newWasmEdgeFuncType<R, std::tuple<Args...>>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - makeVal<R>
    - std::make_unique<HostModuleData>
    - std::to_string
    - auto::get
    - WasmEdge_StringWrap
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:504,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:513,1
    - Dst: convArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:514,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:515,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:524,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:525,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:534,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:535,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:538,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:543,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:545,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 552
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:557,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:566,1
    - Dst: convArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:567,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:568,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:577,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:578,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:587,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:589,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:592,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:597,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:599,1
    - Dst: convValTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:602,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 609
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<R>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - std::to_string
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    - convValTypeToArg<R>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WasmEdge::WasmEdge>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: proxy_wasm::createWasmEdgeVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<WasmEdge::WasmEdge>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWasmEdgeVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint32_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenI64
    - static_cast<int64_t>
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenF64
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(double t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: WasmEdge_ValueGetF32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmEdge::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 2
    functionsReached:
    - WasmEdge_ValueGetF64
    - WasmEdge_ValueGetF32
    - WasmEdge_ValueGetI64
    - WasmEdge_ValueGetI32
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const WasmEdge_Value &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:76,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    - Dst: proxy_wasm::WasmEdge::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - WasmEdge_Value*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: proxy_wasm::WasmEdge::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const WasmEdge_Value *values, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - WasmEdge_ValType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: proxy_wasm::WasmEdge::printValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValType(WasmEdge_ValType kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:110,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:113,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    - Dst: proxy_wasm::WasmEdge::printValType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - types
    - size
    argTypes:
    - WasmEdge_ValType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: proxy_wasm::WasmEdge::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValType
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const WasmEdge_ValType *types, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convValTypeToArg<uint32_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    linkageType: ''
    returnType: Word
    signature: Word convValTypeToArg<Word>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: int64_t
    signature: int64_t convValTypeToArg<int64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convValTypeToArg<uint64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetF64
    linkageType: ''
    returnType: double
    signature: double convValTypeToArg<double>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:155,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: "T convValTypesToArgsTupleImpl(const WasmEdge_Value *arr,\n                                        std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Is
    - proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    linkageType: ''
    returnType: T
    signature: T convValTypesToArgsTuple(const WasmEdge_Value *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:171,1
    - Dst: std::vector<enum WasmEdge_ValType>::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:172,1
    - Dst: std::copy_n
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: std::vector<enum WasmEdge_ValType>::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 2
    functionsReached:
    - std::copy_n
    - std::vector<enum WasmEdge_ValType>::resize
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    - auto::data
    - std::vector<enum WasmEdge_ValType>::data
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t convArgsTupleToValTypesImpl(std::vector<enum WasmEdge_ValType>
      &types,\n                                     std::index_sequence<I...> /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convArgsTupleToValTypes(std::vector<enum WasmEdge_ValType>
      &types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:187,1
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:188,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:195,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - modname
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: proxy_wasm::WasmEdge::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostFuncData(const std::string_view modname, const std::string_view
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ~HostFuncData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostFuncData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modname
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: proxy_wasm::WasmEdge::HostModuleData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - WasmEdge_StringWrap
    - std::string_view::data
    - WasmEdge_ModuleInstanceCreate
    linkageType: ''
    returnType: void
    signature: void HostModuleData(const std::string_view modname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~HostModuleData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ModuleInstanceDelete
    linkageType: ''
    returnType: void
    signature: void ~HostModuleData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:227,1
    - Dst: WasmEdge_ValidatorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:228,1
    - Dst: WasmEdge_ExecutorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: proxy_wasm::WasmEdge::WasmEdge::WasmEdge
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_LoaderCreate
    - WasmEdge_ExecutorCreate
    - WasmEdge_ValidatorCreate
    linkageType: ''
    returnType: void
    signature: void WasmEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::WasmEdge::WasmEdge::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: proxy_wasm::WasmEdge::WasmEdge::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: proxy_wasm::WasmEdge::WasmEdge::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmEdge::WasmEdge::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> clone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: proxy_wasm::WasmEdge::WasmEdge::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: proxy_wasm::WasmEdge::WasmEdge::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderParseFromBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:302,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:304,1
    - Dst: WasmEdge_ValidatorValidate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:308,1
    - Dst: WasmEdge_ASTModuleDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: proxy_wasm::WasmEdge::WasmEdge::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_ValidatorValidate
    - std::string_view::size
    - WasmEdge_LoaderParseFromBuffer
    - WasmEdge_ASTModuleDelete
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool WasmEdge::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:317,1
    - Dst: WasmEdge_StoreCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:321,1
    - Dst: WasmEdge_ExecutorRegisterImport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:329,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:331,1
    - Dst: WasmEdge_ExecutorInstantiate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:338,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:339,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ModuleInstanceListMemoryLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:344,1
    - Dst: WasmEdge_ModuleInstanceListMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:347,1
    - Dst: WasmEdge_ModuleInstanceFindMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:348,1
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:350,1
    - Dst: WasmEdge_ModuleInstanceListFunctionLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:354,1
    - Dst: WasmEdge_ModuleInstanceListFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:357,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ast_module_ != nullptr)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    constantsTouched: []
    func_position:
      end: 364
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 364
    functionName: proxy_wasm::WasmEdge::WasmEdge::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - WasmEdge_ModuleInstanceFindMemory
    - fail
    - WasmEdge_ModuleInstanceListMemory
    - insert
    - WasmEdge_ResultGetMessage
    - WasmEdge_StoreCreate
    - WasmEdge_ModuleInstanceListMemoryLength
    - WasmEdge_ResultOK
    - WasmEdge_ModuleInstanceDelete
    - std::string
    - WasmEdge_ModuleInstanceListFunctionLength
    - WasmEdge_ExecutorInstantiate
    - WasmEdge_ExecutorRegisterImport
    - WasmEdge_ModuleInstanceListFunction
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::link(std::string_view /*debug_name*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetPageSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_MemoryInstanceGetPageSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmEdge::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: WasmEdge_MemoryInstanceGetPointer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - reinterpret_cast<char *>
    - WasmEdge_MemoryInstanceGetPointer
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> WasmEdge::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: proxy_wasm::WasmEdge::WasmEdge::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceGetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::getWord(uint64_t pointer, Word *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:401,1
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: proxy_wasm::WasmEdge::WasmEdge::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setWord(uint64_t pointer, Word word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:411,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:416,1
    - Dst: newWasmEdgeFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:417,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:419,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:423,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:424,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:426,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:428,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:430,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:431,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:432,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:434,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:441,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:443,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:447,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - newWasmEdgeFuncType<std::tuple<Args...>>
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - std::make_unique<HostModuleData>
    - auto::get
    - WasmEdge_StringWrap
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:458,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:463,1
    - Dst: newWasmEdgeFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:464,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:466,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:469,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:470,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:472,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:474,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:476,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:477,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:478,1
    - Dst: makeVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:479,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:481,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:482,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:488,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:490,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:494,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - newWasmEdgeFuncType<R, std::tuple<Args...>>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - makeVal<R>
    - std::make_unique<HostModuleData>
    - std::to_string
    - auto::get
    - WasmEdge_StringWrap
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:504,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:513,1
    - Dst: convArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:514,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:515,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:524,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:525,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:534,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:535,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:538,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:543,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:545,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 552
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:557,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:566,1
    - Dst: convArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:567,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:568,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:577,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:578,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:587,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:589,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:592,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:597,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:599,1
    - Dst: convValTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:602,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 609
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<R>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - std::to_string
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    - convValTypeToArg<R>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - WasmEdge_ValueGenI32
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint32_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenI64
    - static_cast<int64_t>
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGenF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: proxy_wasm::WasmEdge::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGenF64
    linkageType: ''
    returnType: WasmEdge_Value
    signature: WasmEdge_Value makeVal(double t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:56,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:58,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: WasmEdge_ValueGetF32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:60,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmEdge::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 3
    functionsReached:
    - WasmEdge_ValueGetF64
    - WasmEdge_ValueGetF32
    - WasmEdge_ValueGetI64
    - WasmEdge_ValueGetI32
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const WasmEdge_Value &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:76,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    - Dst: proxy_wasm::WasmEdge::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - values
    - size
    argTypes:
    - WasmEdge_Value*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: proxy_wasm::WasmEdge::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const WasmEdge_Value *values, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - WasmEdge_ValType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: proxy_wasm::WasmEdge::printValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValType(WasmEdge_ValType kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:110,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:113,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    - Dst: proxy_wasm::WasmEdge::printValType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - types
    - size
    argTypes:
    - WasmEdge_ValType*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: proxy_wasm::WasmEdge::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmEdge::printValType
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const WasmEdge_ValType *types, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmEdge::convArgToValType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum WasmEdge_ValType
    signature: enum WasmEdge_ValType convArgToValType<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convValTypeToArg<uint32_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI32
    linkageType: ''
    returnType: Word
    signature: Word convValTypeToArg<Word>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: int64_t
    signature: int64_t convValTypeToArg<int64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    - Dst: WasmEdge_ValueGetI64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WasmEdge_ValueGetI64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convValTypeToArg<uint64_t>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ValueGetF64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - WasmEdge_Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: proxy_wasm::WasmEdge::convValTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ValueGetF64
    linkageType: ''
    returnType: double
    signature: double convValTypeToArg<double>(WasmEdge_Value val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:155,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: "T convValTypesToArgsTupleImpl(const WasmEdge_Value *arr,\n                                        std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - WasmEdge_Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmEdge::convValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Is
    - proxy_wasm::WasmEdge::convValTypesToArgsTupleImpl
    linkageType: ''
    returnType: T
    signature: T convValTypesToArgsTuple(const WasmEdge_Value *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:171,1
    - Dst: std::vector<enum WasmEdge_ValType>::resize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:172,1
    - Dst: std::copy_n
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    - Dst: std::vector<enum WasmEdge_ValType>::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 3
    functionsReached:
    - std::copy_n
    - std::vector<enum WasmEdge_ValType>::resize
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    - auto::data
    - std::vector<enum WasmEdge_ValType>::data
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t convArgsTupleToValTypesImpl(std::vector<enum WasmEdge_ValType>
      &types,\n                                     std::index_sequence<I...> /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - std::vector<enum WasmEdge_ValType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: proxy_wasm::WasmEdge::convArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 6
    functionsReached:
    - proxy_wasm::WasmEdge::convArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convArgsTupleToValTypes(std::vector<enum WasmEdge_ValType>
      &types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:187,1
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:188,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmEdge::convArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:195,1
    - Dst: WasmEdge_FunctionTypeCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: proxy_wasm::WasmEdge::newWasmEdgeFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - proxy_wasm::WasmEdge::convArgsTupleToValTypes
    - WasmEdge_FunctionTypeCreate
    linkageType: ''
    returnType: WasmEdge_FunctionTypeContext
    signature: WasmEdge_FunctionTypeContext *newWasmEdgeFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - modname
    - name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: proxy_wasm::WasmEdge::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostFuncData(const std::string_view modname, const std::string_view
      name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ~HostFuncData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostFuncData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modname
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: proxy_wasm::WasmEdge::HostModuleData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - WasmEdge_StringWrap
    - std::string_view::data
    - WasmEdge_ModuleInstanceCreate
    linkageType: ''
    returnType: void
    signature: void HostModuleData(const std::string_view modname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: ~HostModuleData()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ModuleInstanceDelete
    linkageType: ''
    returnType: void
    signature: void ~HostModuleData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:227,1
    - Dst: WasmEdge_ValidatorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:228,1
    - Dst: WasmEdge_ExecutorCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: proxy_wasm::WasmEdge::WasmEdge::WasmEdge
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_LoaderCreate
    - WasmEdge_ExecutorCreate
    - WasmEdge_ValidatorCreate
    linkageType: ''
    returnType: void
    signature: void WasmEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: proxy_wasm::WasmEdge::WasmEdge::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: proxy_wasm::WasmEdge::WasmEdge::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: proxy_wasm::WasmEdge::WasmEdge::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: proxy_wasm::WasmEdge::WasmEdge::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> clone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: proxy_wasm::WasmEdge::WasmEdge::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: proxy_wasm::WasmEdge::WasmEdge::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_LoaderParseFromBuffer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:302,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:303,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:304,1
    - Dst: WasmEdge_ValidatorValidate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:307,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:308,1
    - Dst: WasmEdge_ASTModuleDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: proxy_wasm::WasmEdge::WasmEdge::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_ValidatorValidate
    - std::string_view::size
    - WasmEdge_LoaderParseFromBuffer
    - WasmEdge_ASTModuleDelete
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool WasmEdge::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:317,1
    - Dst: WasmEdge_StoreCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:321,1
    - Dst: WasmEdge_ExecutorRegisterImport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:328,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:329,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:330,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:331,1
    - Dst: WasmEdge_ExecutorInstantiate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:337,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:338,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:339,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:340,1
    - Dst: WasmEdge_ModuleInstanceListMemoryLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:344,1
    - Dst: WasmEdge_ModuleInstanceListMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:347,1
    - Dst: WasmEdge_ModuleInstanceFindMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:348,1
    - Dst: WasmEdge_ModuleInstanceDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:350,1
    - Dst: WasmEdge_ModuleInstanceListFunctionLength
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:354,1
    - Dst: WasmEdge_ModuleInstanceListFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:357,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ast_module_ != nullptr)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    constantsTouched: []
    func_position:
      end: 364
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 364
    functionName: proxy_wasm::WasmEdge::WasmEdge::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - get
    - WasmEdge_ModuleInstanceFindMemory
    - fail
    - WasmEdge_ModuleInstanceListMemory
    - insert
    - WasmEdge_ResultGetMessage
    - WasmEdge_StoreCreate
    - WasmEdge_ModuleInstanceListMemoryLength
    - WasmEdge_ResultOK
    - WasmEdge_ModuleInstanceDelete
    - std::string
    - WasmEdge_ModuleInstanceListFunctionLength
    - WasmEdge_ExecutorInstantiate
    - WasmEdge_ExecutorRegisterImport
    - WasmEdge_ModuleInstanceListFunction
    - assert
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::link(std::string_view /*debug_name*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetPageSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_MemoryInstanceGetPageSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmEdge::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: WasmEdge_MemoryInstanceGetPointer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: proxy_wasm::WasmEdge::WasmEdge::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - reinterpret_cast<char *>
    - WasmEdge_MemoryInstanceGetPointer
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> WasmEdge::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:382,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: proxy_wasm::WasmEdge::WasmEdge::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_MemoryInstanceGetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:391,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: proxy_wasm::WasmEdge::WasmEdge::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceGetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::getWord(uint64_t pointer, Word *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:401,1
    - Dst: WasmEdge_MemoryInstanceSetData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:403,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: proxy_wasm::WasmEdge::WasmEdge::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    - WasmEdge_ResultOK
    - WasmEdge_MemoryInstanceSetData
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: bool
    signature: bool WasmEdge::setWord(uint64_t pointer, Word word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:410,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:411,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:412,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:413,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:416,1
    - Dst: newWasmEdgeFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:417,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:419,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:423,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:424,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:426,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:428,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:430,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:431,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:432,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:434,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:440,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:441,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:443,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:447,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:448,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:450,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - newWasmEdgeFuncType<std::tuple<Args...>>
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - std::make_unique<HostModuleData>
    - auto::get
    - WasmEdge_StringWrap
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:457,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:458,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: std::make_unique<HostModuleData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:459,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:460,1
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:463,1
    - Dst: newWasmEdgeFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:464,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:466,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:469,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:470,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:472,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:474,1
    - Dst: convValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:476,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:477,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:478,1
    - Dst: makeVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:479,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:481,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:482,1
    - Dst: WasmEdge_FunctionInstanceCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:487,1
    - Dst: WasmEdge_FunctionTypeDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:488,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:490,1
    - Dst: WasmEdge_ModuleInstanceAddFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:494,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:495,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:497,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 499
    functionName: proxy_wasm::WasmEdge::WasmEdge::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeDelete
    - fail
    - convValTypesToArgsTuple<std::tuple<Args...>>
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - newWasmEdgeFuncType<R, std::tuple<Args...>>
    - std::string_view::data
    - std::string_view::length
    - emplace
    - WasmEdge_ModuleInstanceAddFunction
    - reinterpret_cast<HostFuncData *>
    - std::move
    - std::apply
    - find
    - std::make_unique<HostFuncData>
    - WasmEdge_FunctionInstanceCreate
    - end
    - insert_or_assign
    - printValues
    - makeVal<R>
    - std::make_unique<HostModuleData>
    - std::to_string
    - auto::get
    - WasmEdge_StringWrap
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:504,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:505,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:513,1
    - Dst: convArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:514,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:515,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:520,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:521,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:524,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:525,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:526,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:527,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:528,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:529,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:534,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:535,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:537,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:538,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:542,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:543,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:544,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:545,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 552
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WasmEdge_ModuleInstanceFindFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:557,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: WasmEdge_StringWrap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:558,1
    - Dst: convArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:566,1
    - Dst: convArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:567,1
    - Dst: WasmEdge_FunctionInstanceGetFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:568,1
    - Dst: WasmEdge_FunctionTypeGetParameters
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:573,1
    - Dst: WasmEdge_FunctionTypeGetReturns
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:574,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:577,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:578,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:579,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:580,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:581,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:582,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:587,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:589,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:591,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:592,1
    - Dst: WasmEdge_ExecutorInvoke
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:596,1
    - Dst: WasmEdge_ResultOK
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:597,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:598,1
    - Dst: WasmEdge_ResultGetMessage
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:599,1
    - Dst: convValTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:602,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:604,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 609
    functionName: proxy_wasm::WasmEdge::WasmEdge::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 0
    functionsReached:
    - WasmEdge_FunctionTypeGetParameters
    - fail
    - std::string
    - WasmEdge_ModuleInstanceFindFunction
    - std::string_view::data
    - makeVal
    - get
    - WasmEdge_ResultGetMessage
    - std::string_view::length
    - convArgsTupleToValTypes<std::tuple<R>>
    - std::vector::data
    - std::vector::size
    - integration
    - printValues
    - printValTypes
    - convArgsTupleToValTypes<std::tuple<Args...>>
    - std::to_string
    - cmpLogLevel
    - WasmEdge_StringWrap
    - WasmEdge_ExecutorInvoke
    - WasmEdge_FunctionTypeGetReturns
    - WasmEdge_ResultOK
    - WasmEdge_FunctionInstanceGetFunctionType
    - convValTypeToArg<R>
    linkageType: ''
    returnType: void
    signature: "void WasmEdge::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WasmEdge::WasmEdge>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: proxy_wasm::createWasmEdgeVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmedge/wasmedge.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<WasmEdge::WasmEdge>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWasmEdgeVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: proxy_wasm::common::CSmartPtr::CSmartPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSmartPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: proxy_wasm::common::CSmartPtr::CSmartPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSmartPtr(T *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initializer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: proxy_wasm::common::CSmartType::CSmartType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached:
    - initializer
    linkageType: ''
    returnType: void
    signature: void CSmartType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleter
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~CSmartType()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached:
    - deleter
    linkageType: ''
    returnType: void
    signature: void ~CSmartType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: proxy_wasm::common::CSmartType::get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: proxy_wasm::common::CSmartPtr::CSmartPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSmartPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: proxy_wasm::common::CSmartPtr::CSmartPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSmartPtr(T *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initializer
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: proxy_wasm::common::CSmartType::CSmartType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached:
    - initializer
    linkageType: ''
    returnType: void
    signature: void CSmartType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleter
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~CSmartType()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached:
    - deleter
    linkageType: ''
    returnType: void
    signature: void ~CSmartType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: proxy_wasm::common::CSmartType::get
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/common/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NullVm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: proxy_wasm::createNullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NullVm>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createNullVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NullVm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null.cc:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: proxy_wasm::createNullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NullVm>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createNullVm()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:40,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<0>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<0>
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onTick
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:51,1
    - Dst: auto*::onLog
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:56,1
    - Dst: auto*::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:61,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:63,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:64,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<1>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - auto*::onDelete
    - integration
    - std::string
    - auto*::onTick
    - auto*::onLog
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<1>
      *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:74,1
    - Dst: auto*::onDownstreamConnectionClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:79,1
    - Dst: auto*::onUpstreamConnectionClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:84,1
    - Dst: auto*::onQueueReady
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:89,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:91,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:92,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<2>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onUpstreamConnectionClose
    - auto*::onQueueReady
    - proxy_wasm::NullPlugin::error
    - auto*::onDownstreamConnectionClose
    - integration
    - std::string
    - auto*::onCreate
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<2>
      *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onGrpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:102,1
    - Dst: auto*::onGrpcReceive
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:107,1
    - Dst: auto*::onGrpcReceiveInitialMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:112,1
    - Dst: auto*::onGrpcReceiveTrailingMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:117,1
    - Dst: auto*::onForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:122,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:124,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:125,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<3>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onGrpcReceiveInitialMetadata
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onGrpcReceive
    - auto*::onGrpcClose
    - auto*::onGrpcReceiveTrailingMetadata
    - auto*::onForeignFunction
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<3>
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onHttpCallResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:136,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:138,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:139,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<5>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onHttpCallResponse
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<5>
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:153,1
    - Dst: auto*::onNewConnection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:153,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:158,1
    - Dst: auto*::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:158,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:160,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:161,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<1>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - proxy_wasm::NullPlugin::error
    - integration
    - RegexMatches::malloc
    - std::string
    - auto*::onNewConnection
    - Word
    - auto*::onDone
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<1>
      *f)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: auto*::onConfigure
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:183,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:184,1
    - Dst: auto*::validateConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:184,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:189,1
    - Dst: auto*::onRequestTrailers
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:189,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:194,1
    - Dst: auto*::onRequestMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:194,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:199,1
    - Dst: auto*::onResponseTrailers
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:199,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:204,1
    - Dst: auto*::onResponseMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:204,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:206,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:207,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<2>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 210
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onRequestTrailers
    - auto*::validateConfiguration
    - proxy_wasm::NullPlugin::error
    - auto*::onResponseTrailers
    - auto*::onResponseMetadata
    - integration
    - std::string
    - Word
    - auto*::onRequestMetadata
    - static_cast<uint64_t>
    - auto*::onConfigure
    - auto*::onStart
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<2>
      *f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:218,1
    - Dst: auto*::onDownstreamData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:218,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:224,1
    - Dst: auto*::onUpstreamData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:224,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:229,1
    - Dst: auto*::onRequestHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:229,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:235,1
    - Dst: auto*::onRequestBody
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:235,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:240,1
    - Dst: auto*::onResponseHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:240,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:246,1
    - Dst: auto*::onResponseBody
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:246,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:248,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:249,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<3>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onDownstreamData
    - auto*::onRequestBody
    - auto*::onResponseBody
    - Word
    - auto*::onUpstreamData
    - auto*::onResponseHeaders
    - auto*::onRequestHeaders
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<3>
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:255,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:255,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:257,1
    - Dst: auto*::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:258,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:259,1
    - Dst: null_plugin::RootContext*::root_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:259,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:262,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:265,1
    - Dst: auto::first::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - context_id
    - root_context_id
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: proxy_wasm::NullPlugin::ensureContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::first::second::asContext
    - proxy_wasm::NullPlugin::error
    - insert
    - std::make_pair
    - std::string
    - null_plugin::RootContext*::root_id
    - factory
    - auto*::asRoot
    linkageType: ''
    returnType: null_plugin::Context
    signature: null_plugin::Context *NullPlugin::ensureContext(uint64_t context_id,
      uint64_t root_context_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:271,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:273,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:276,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:276,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:277,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:278,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:279,1
    - Dst: auto::toString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:281,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:285,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:285,1
    - Dst: auto::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:286,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:288,1
    - Dst: std::make_unique<null_plugin::RootContext>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:291,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:291,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:292,1
    - Dst: auto::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:293,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: proxy_wasm::NullPlugin::ensureRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - ats_wasm::Context::getProperty
    - auto::value
    - find
    - std::make_unique<null_plugin::RootContext>
    - end
    - auto::asRoot
    - auto::view
    - static_cast<uint32_t>
    - auto::toString
    - std::move
    - auto::second::asRoot
    - factory
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::ensureRootContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:300,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:301,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:302,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:302,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:303,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:303,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: proxy_wasm::NullPlugin::getContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - auto::second::get
    - end
    - auto::second::asContext
    - auto::second::asRoot
    - std::to_string
    linkageType: ''
    returnType: null_plugin::ContextBase
    signature: null_plugin::ContextBase *NullPlugin::getContextBase(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:310,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:311,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:311,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:312,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:312,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: proxy_wasm::NullPlugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - end
    - auto::second::asContext
    - std::to_string
    linkageType: ''
    returnType: null_plugin::Context
    signature: null_plugin::Context *NullPlugin::getContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:319,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:320,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:320,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:321,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:321,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: proxy_wasm::NullPlugin::getRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - end
    - auto::second::asRoot
    - std::to_string
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::getRootContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:328,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:328,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: proxy_wasm::NullPlugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - find
    - std::string
    - end
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context_id
    - configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: proxy_wasm::NullPlugin::validateConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::validateConfiguration(uint64_t root_context_id, uint64_t
      configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_vm_start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:341,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - root_context_id
    - vm_configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: proxy_wasm::NullPlugin::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    - proxy_on_vm_start_
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::onStart(uint64_t root_context_id, uint64_t vm_configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_configure_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:348,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - root_context_id
    - plugin_configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: proxy_wasm::NullPlugin::onConfigure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_configure_
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::onConfigure(uint64_t root_context_id, uint64_t plugin_configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_tick_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:355,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: proxy_wasm::NullPlugin::onTick
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_tick_
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onTick(uint64_t root_context_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:362,1
    - Dst: proxy_wasm::NullPlugin::ensureContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:366,1
    - Dst: proxy_wasm::NullPlugin::ensureRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - context_id
    - parent_context_id
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: proxy_wasm::NullPlugin::onCreate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_context_create_
    - proxy_wasm::NullPlugin::ensureContext
    - proxy_wasm::NullPlugin::ensureRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onCreate(uint64_t context_id, uint64_t parent_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:373,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: proxy_wasm::NullPlugin::onNewConnection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onNewConnection(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:378,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:379,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - data_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: proxy_wasm::NullPlugin::onDownstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onDownstreamData(uint64_t context_id, uint64_t
      data_length,\n                                      uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:385,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:386,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - data_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: proxy_wasm::NullPlugin::onUpstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onUpstreamData(uint64_t context_id, uint64_t
      data_length,\n                                    uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:390,1
    - Dst: static_cast<CloseType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - close_type
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: proxy_wasm::NullPlugin::onDownstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<CloseType>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onDownstreamConnectionClose(uint64_t context_id, uint64_t
      close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:394,1
    - Dst: static_cast<CloseType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - close_type
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: proxy_wasm::NullPlugin::onUpstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<CloseType>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onUpstreamConnectionClose(uint64_t context_id, uint64_t
      close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:399,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - headers
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: proxy_wasm::NullPlugin::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onRequestHeaders(uint64_t context_id, uint64_t
      headers,\n                                      uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:405,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:406,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - body_buffer_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: proxy_wasm::NullPlugin::onRequestBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onRequestBody(uint64_t context_id, uint64_t body_buffer_length,\n
      \                                  uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:411,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: proxy_wasm::NullPlugin::onRequestTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onRequestTrailers(uint64_t context_id, uint64_t
      trailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:415,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - elements
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: proxy_wasm::NullPlugin::onRequestMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onRequestMetadata(uint64_t context_id, uint64_t
      elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:420,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - headers
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: proxy_wasm::NullPlugin::onResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onResponseHeaders(uint64_t context_id, uint64_t
      headers,\n                                       uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:426,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:427,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - body_buffer_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: proxy_wasm::NullPlugin::onResponseBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onResponseBody(uint64_t context_id, uint64_t
      body_buffer_length,\n                                    uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:432,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: proxy_wasm::NullPlugin::onResponseTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onResponseTrailers(uint64_t context_id, uint64_t
      trailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:436,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - elements
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: proxy_wasm::NullPlugin::onResponseMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onResponseMetadata(uint64_t context_id, uint64_t
      elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context_id
    - token
    - headers
    - body_size
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: proxy_wasm::NullPlugin::onHttpCallResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onHttpCallResponse(uint64_t context_id, uint64_t
      token, uint64_t headers,\n                                    uint64_t body_size,
      uint64_t trailers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - body_size
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: proxy_wasm::NullPlugin::onGrpcReceive
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onGrpcReceive(uint64_t context_id, uint64_t token,
      size_t body_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:449,1
    - Dst: static_cast<GrpcStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - status_code
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: proxy_wasm::NullPlugin::onGrpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    - static_cast<GrpcStatus>
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onGrpcClose(uint64_t context_id, uint64_t token, uint64_t
      status_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - headers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: proxy_wasm::NullPlugin::onGrpcReceiveInitialMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onGrpcReceiveInitialMetadata(uint64_t context_id,
      uint64_t token,\n                                              uint64_t headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: proxy_wasm::NullPlugin::onGrpcReceiveTrailingMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onGrpcReceiveTrailingMetadata(uint64_t context_id,
      uint64_t token,\n                                               uint64_t trailers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - token
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: proxy_wasm::NullPlugin::onQueueReady
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onQueueReady(uint64_t context_id, uint64_t token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_foreign_function_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:469,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - context_id
    - foreign_function_id
    - data_size
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: proxy_wasm::NullPlugin::onForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - proxy_on_foreign_function_
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onForeignFunction(uint64_t context_id, uint64_t foreign_function_id,\n
      \                                  uint64_t data_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_log_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:476,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: proxy_wasm::NullPlugin::onLog
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - proxy_on_log_
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onLog(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_done_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:484,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: proxy_wasm::NullPlugin::onDone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_done_
    - proxy_wasm::NullPlugin::getContextBase
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onDone(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_delete_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:491,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:494,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: proxy_wasm::NullPlugin::onDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - erase
    - proxy_on_delete_
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onDelete(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: proxy_wasm::null_plugin::nullVmGetRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: RootContext
    signature: RootContext *nullVmGetRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: proxy_wasm::null_plugin::nullVmGetContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: Context
    signature: Context *nullVmGetContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: proxy_wasm::null_plugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetRoot
    linkageType: ''
    returnType: RootContext
    signature: RootContext *getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: proxy_wasm::null_plugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetContext
    linkageType: ''
    returnType: Context
    signature: Context *getContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: proxy_wasm::null_plugin::nullVmGetRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 1
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: RootContext
    signature: RootContext *nullVmGetRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: proxy_wasm::null_plugin::nullVmGetContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 1
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: Context
    signature: Context *nullVmGetContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: proxy_wasm::null_plugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetRoot
    linkageType: ''
    returnType: RootContext
    signature: RootContext *getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: proxy_wasm::null_plugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetContext
    linkageType: ''
    returnType: Context
    signature: Context *getContext(uint32_t context_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:40,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:41,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<0>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<0>
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onTick
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:51,1
    - Dst: auto*::onLog
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:56,1
    - Dst: auto*::onDelete
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:61,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:63,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:64,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<1>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - auto*::onDelete
    - integration
    - std::string
    - auto*::onTick
    - auto*::onLog
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<1>
      *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onCreate
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:74,1
    - Dst: auto*::onDownstreamConnectionClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:79,1
    - Dst: auto*::onUpstreamConnectionClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:84,1
    - Dst: auto*::onQueueReady
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:89,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:91,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:92,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<2>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onUpstreamConnectionClose
    - auto*::onQueueReady
    - proxy_wasm::NullPlugin::error
    - auto*::onDownstreamConnectionClose
    - integration
    - std::string
    - auto*::onCreate
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<2>
      *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onGrpcClose
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:102,1
    - Dst: auto*::onGrpcReceive
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:107,1
    - Dst: auto*::onGrpcReceiveInitialMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:112,1
    - Dst: auto*::onGrpcReceiveTrailingMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:117,1
    - Dst: auto*::onForeignFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:122,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:124,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:125,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<3>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onGrpcReceiveInitialMetadata
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onGrpcReceive
    - auto*::onGrpcClose
    - auto*::onGrpcReceiveTrailingMetadata
    - auto*::onForeignFunction
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<3>
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto*::onHttpCallResponse
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:136,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:138,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:139,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallVoid<5>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onHttpCallResponse
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallVoid<5>
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:148,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:153,1
    - Dst: auto*::onNewConnection
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:153,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:158,1
    - Dst: auto*::onDone
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:158,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:160,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:161,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<1>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t>
    - proxy_wasm::NullPlugin::error
    - integration
    - RegexMatches::malloc
    - std::string
    - auto*::onNewConnection
    - Word
    - auto*::onDone
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<1>
      *f)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: auto*::onStart
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:173,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: auto*::onConfigure
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:178,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:183,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:184,1
    - Dst: auto*::validateConfiguration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:184,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:189,1
    - Dst: auto*::onRequestTrailers
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:189,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:194,1
    - Dst: auto*::onRequestMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:194,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:199,1
    - Dst: auto*::onResponseTrailers
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:199,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:204,1
    - Dst: auto*::onResponseMetadata
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:204,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:206,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:207,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<2>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 210
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - auto*::onRequestTrailers
    - auto*::validateConfiguration
    - proxy_wasm::NullPlugin::error
    - auto*::onResponseTrailers
    - auto*::onResponseMetadata
    - integration
    - std::string
    - Word
    - auto*::onRequestMetadata
    - static_cast<uint64_t>
    - auto*::onConfigure
    - auto*::onStart
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<2>
      *f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:218,1
    - Dst: auto*::onDownstreamData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:218,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:224,1
    - Dst: auto*::onUpstreamData
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:224,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:229,1
    - Dst: auto*::onRequestHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:229,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:235,1
    - Dst: auto*::onRequestBody
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:235,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:240,1
    - Dst: auto*::onResponseHeaders
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:240,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:246,1
    - Dst: auto*::onResponseBody
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:246,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:248,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:249,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - function_name
    - f
    argTypes:
    - std::string_view
    - WasmCallWord<3>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: proxy_wasm::NullPlugin::getFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - integration
    - std::string
    - auto*::onDownstreamData
    - auto*::onRequestBody
    - auto*::onResponseBody
    - Word
    - auto*::onUpstreamData
    - auto*::onResponseHeaders
    - auto*::onRequestHeaders
    linkageType: ''
    returnType: void
    signature: void NullPlugin::getFunction(std::string_view function_name, WasmCallWord<3>
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:255,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:255,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:257,1
    - Dst: auto*::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:258,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:259,1
    - Dst: null_plugin::RootContext*::root_id
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:259,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:262,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:265,1
    - Dst: auto::first::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - context_id
    - root_context_id
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: proxy_wasm::NullPlugin::ensureContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 1
    functionsReached:
    - get
    - auto::first::second::asContext
    - proxy_wasm::NullPlugin::error
    - insert
    - std::make_pair
    - std::string
    - null_plugin::RootContext*::root_id
    - factory
    - auto*::asRoot
    linkageType: ''
    returnType: null_plugin::Context
    signature: null_plugin::Context *NullPlugin::ensureContext(uint64_t context_id,
      uint64_t root_context_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ats_wasm::Context::getProperty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:271,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:273,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:276,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:276,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:277,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:278,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:279,1
    - Dst: auto::toString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:281,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:285,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:285,1
    - Dst: auto::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:286,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:288,1
    - Dst: std::make_unique<null_plugin::RootContext>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:291,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:291,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:292,1
    - Dst: auto::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:293,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: proxy_wasm::NullPlugin::ensureRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 1
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - ats_wasm::Context::getProperty
    - auto::value
    - find
    - std::make_unique<null_plugin::RootContext>
    - end
    - auto::asRoot
    - auto::view
    - static_cast<uint32_t>
    - auto::toString
    - std::move
    - auto::second::asRoot
    - factory
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::ensureRootContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:300,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:301,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:302,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:302,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:303,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:303,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: proxy_wasm::NullPlugin::getContextBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - auto::second::get
    - end
    - auto::second::asContext
    - auto::second::asRoot
    - std::to_string
    linkageType: ''
    returnType: null_plugin::ContextBase
    signature: null_plugin::ContextBase *NullPlugin::getContextBase(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:310,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:311,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:311,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:312,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:312,1
    - Dst: auto::second::asContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: proxy_wasm::NullPlugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 13
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - end
    - auto::second::asContext
    - std::to_string
    linkageType: ''
    returnType: null_plugin::Context
    signature: null_plugin::Context *NullPlugin::getContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:319,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:320,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:320,1
    - Dst: proxy_wasm::NullPlugin::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:321,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:321,1
    - Dst: auto::second::asRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: proxy_wasm::NullPlugin::getRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 10
    functionsReached:
    - proxy_wasm::NullPlugin::error
    - find
    - end
    - auto::second::asRoot
    - std::to_string
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::getRootContext(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:328,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:328,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: proxy_wasm::NullPlugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - find
    - std::string
    - end
    linkageType: ''
    returnType: null_plugin::RootContext
    signature: null_plugin::RootContext *NullPlugin::getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context_id
    - configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: proxy_wasm::NullPlugin::validateConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::validateConfiguration(uint64_t root_context_id, uint64_t
      configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_vm_start_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:341,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - root_context_id
    - vm_configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: proxy_wasm::NullPlugin::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    - proxy_on_vm_start_
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::onStart(uint64_t root_context_id, uint64_t vm_configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_configure_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:348,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - root_context_id
    - plugin_configuration_size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: proxy_wasm::NullPlugin::onConfigure
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_configure_
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: bool
    signature: bool NullPlugin::onConfigure(uint64_t root_context_id, uint64_t plugin_configuration_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_tick_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:355,1
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root_context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: proxy_wasm::NullPlugin::onTick
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_tick_
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onTick(uint64_t root_context_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_context_create_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:362,1
    - Dst: proxy_wasm::NullPlugin::ensureContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:366,1
    - Dst: proxy_wasm::NullPlugin::ensureRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - context_id
    - parent_context_id
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: proxy_wasm::NullPlugin::onCreate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_context_create_
    - proxy_wasm::NullPlugin::ensureContext
    - proxy_wasm::NullPlugin::ensureRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onCreate(uint64_t context_id, uint64_t parent_context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:373,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: proxy_wasm::NullPlugin::onNewConnection
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onNewConnection(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:378,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:379,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - data_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: proxy_wasm::NullPlugin::onDownstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onDownstreamData(uint64_t context_id, uint64_t
      data_length,\n                                      uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:385,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:386,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - data_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: proxy_wasm::NullPlugin::onUpstreamData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onUpstreamData(uint64_t context_id, uint64_t
      data_length,\n                                    uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:390,1
    - Dst: static_cast<CloseType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - close_type
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: proxy_wasm::NullPlugin::onDownstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<CloseType>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onDownstreamConnectionClose(uint64_t context_id, uint64_t
      close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:394,1
    - Dst: static_cast<CloseType>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - close_type
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: proxy_wasm::NullPlugin::onUpstreamConnectionClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<CloseType>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onUpstreamConnectionClose(uint64_t context_id, uint64_t
      close_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:399,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - headers
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: proxy_wasm::NullPlugin::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onRequestHeaders(uint64_t context_id, uint64_t
      headers,\n                                      uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:405,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:406,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - body_buffer_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: proxy_wasm::NullPlugin::onRequestBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onRequestBody(uint64_t context_id, uint64_t body_buffer_length,\n
      \                                  uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:411,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: proxy_wasm::NullPlugin::onRequestTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onRequestTrailers(uint64_t context_id, uint64_t
      trailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:415,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - elements
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: proxy_wasm::NullPlugin::onRequestMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onRequestMetadata(uint64_t context_id, uint64_t
      elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:420,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - headers
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: proxy_wasm::NullPlugin::onResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onResponseHeaders(uint64_t context_id, uint64_t
      headers,\n                                       uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:426,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:427,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - body_buffer_length
    - end_of_stream
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: proxy_wasm::NullPlugin::onResponseBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<size_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t NullPlugin::onResponseBody(uint64_t context_id, uint64_t
      body_buffer_length,\n                                    uint64_t end_of_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:432,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: proxy_wasm::NullPlugin::onResponseTrailers
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onResponseTrailers(uint64_t context_id, uint64_t
      trailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:436,1
    - Dst: proxy_wasm::NullPlugin::getContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - elements
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: proxy_wasm::NullPlugin::onResponseMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - proxy_wasm::NullPlugin::getContext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onResponseMetadata(uint64_t context_id, uint64_t
      elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context_id
    - token
    - headers
    - body_size
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: proxy_wasm::NullPlugin::onHttpCallResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onHttpCallResponse(uint64_t context_id, uint64_t
      token, uint64_t headers,\n                                    uint64_t body_size,
      uint64_t trailers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - body_size
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: proxy_wasm::NullPlugin::onGrpcReceive
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onGrpcReceive(uint64_t context_id, uint64_t token,
      size_t body_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:449,1
    - Dst: static_cast<GrpcStatus>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - status_code
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: proxy_wasm::NullPlugin::onGrpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    - static_cast<GrpcStatus>
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onGrpcClose(uint64_t context_id, uint64_t token, uint64_t
      status_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - headers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: proxy_wasm::NullPlugin::onGrpcReceiveInitialMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onGrpcReceiveInitialMetadata(uint64_t context_id,
      uint64_t token,\n                                              uint64_t headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context_id
    - token
    - trailers
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: proxy_wasm::NullPlugin::onGrpcReceiveTrailingMetadata
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onGrpcReceiveTrailingMetadata(uint64_t context_id,
      uint64_t token,\n                                               uint64_t trailers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::NullPlugin::getRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context_id
    - token
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: proxy_wasm::NullPlugin::onQueueReady
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getRootContext
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onQueueReady(uint64_t context_id, uint64_t token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_foreign_function_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:469,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - context_id
    - foreign_function_id
    - data_size
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: proxy_wasm::NullPlugin::onForeignFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - proxy_on_foreign_function_
    linkageType: ''
    returnType: void
    signature: "void NullPlugin::onForeignFunction(uint64_t context_id, uint64_t foreign_function_id,\n
      \                                  uint64_t data_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_log_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:476,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: proxy_wasm::NullPlugin::onLog
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - proxy_on_log_
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onLog(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_done_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:484,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: proxy_wasm::NullPlugin::onDone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_on_done_
    - proxy_wasm::NullPlugin::getContextBase
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullPlugin::onDone(uint64_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_on_delete_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:491,1
    - Dst: proxy_wasm::NullPlugin::getContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:494,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: proxy_wasm::NullPlugin::onDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::NullPlugin::getContextBase
    - erase
    - proxy_on_delete_
    linkageType: ''
    returnType: void
    signature: void NullPlugin::onDelete(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: proxy_wasm::null_plugin::nullVmGetRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 2
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: RootContext
    signature: RootContext *nullVmGetRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: proxy_wasm::null_plugin::nullVmGetContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 2
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: Context
    signature: Context *nullVmGetContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: proxy_wasm::null_plugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetRoot
    linkageType: ''
    returnType: RootContext
    signature: RootContext *getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: proxy_wasm::null_plugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetContext
    linkageType: ''
    returnType: Context
    signature: Context *getContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:501,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: proxy_wasm::null_plugin::nullVmGetRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 3
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: RootContext
    signature: RootContext *nullVmGetRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<NullVm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: wasmVm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:506,1
    - Dst: dynamic_cast<NullPlugin *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    - Dst: auto*::plugin_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: proxy_wasm::null_plugin::nullVmGetContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 3
    functionsReached:
    - dynamic_cast<NullPlugin *>
    - dynamic_cast<NullVm *>
    - auto*::plugin_::get
    - wasmVm
    linkageType: ''
    returnType: Context
    signature: Context *nullVmGetContext(uint32_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetRoot
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: proxy_wasm::null_plugin::getRoot
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetRoot
    linkageType: ''
    returnType: RootContext
    signature: RootContext *getRoot(std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::nullVmGetContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: proxy_wasm::null_plugin::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_plugin.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::null_plugin::nullVmGetContext
    linkageType: ''
    returnType: Context
    signature: Context *getContext(uint32_t context_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_reference<decltype(*null_vm_plugin_factories_)>::type::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:36,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:38,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - factory
    argTypes:
    - std::string_view
    - NullVmPluginFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: proxy_wasm::RegisterNullVmPluginFactory::RegisterNullVmPluginFactory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::remove_reference<decltype(*null_vm_plugin_factories_)>::type::type
    - std::string
    linkageType: ''
    returnType: void
    signature: "void RegisterNullVmPluginFactory::RegisterNullVmPluginFactory(std::string_view
      name,\n                                                         NullVmPluginFactory
      factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NullVm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:42,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:43,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:44,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:44,1
    - Dst: auto::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: proxy_wasm::NullVm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NullVm>
    - auto::integration
    - integration
    - auto::load
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> NullVm::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:56,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - plugin_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: proxy_wasm::NullVm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - factory
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool NullVm::load(std::string_view plugin_name, std::string_view /*precompiled*/,\n
      \                 const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: proxy_wasm::NullVm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NullVm::link(std::string_view /* name */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::NullVm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullVm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: proxy_wasm::NullVm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> NullVm::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:85,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: proxy_wasm::NullVm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:94,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: proxy_wasm::NullVm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::setWord(uint64_t pointer, Word data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:103,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: proxy_wasm::NullVm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: proxy_wasm::NullVm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NullVm::getWordSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: proxy_wasm::NullVm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NullVm::getPrecompiledSectionName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_reference<decltype(*null_vm_plugin_factories_)>::type::type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:36,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:38,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - factory
    argTypes:
    - std::string_view
    - NullVmPluginFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: proxy_wasm::RegisterNullVmPluginFactory::RegisterNullVmPluginFactory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::remove_reference<decltype(*null_vm_plugin_factories_)>::type::type
    - std::string
    linkageType: ''
    returnType: void
    signature: "void RegisterNullVmPluginFactory::RegisterNullVmPluginFactory(std::string_view
      name,\n                                                         NullVmPluginFactory
      factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NullVm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:42,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:43,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:44,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:44,1
    - Dst: auto::load
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: proxy_wasm::NullVm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NullVm>
    - auto::integration
    - integration
    - auto::load
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> NullVm::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:56,1
    - Dst: factory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - plugin_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: proxy_wasm::NullVm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - factory
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool NullVm::load(std::string_view plugin_name, std::string_view /*precompiled*/,\n
      \                 const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: proxy_wasm::NullVm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NullVm::link(std::string_view /* name */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: proxy_wasm::NullVm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NullVm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: proxy_wasm::NullVm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> NullVm::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:85,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: proxy_wasm::NullVm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:94,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: proxy_wasm::NullVm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::setWord(uint64_t pointer, Word data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:103,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: proxy_wasm::NullVm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: bool
    signature: bool NullVm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: proxy_wasm::NullVm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NullVm::getWordSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: proxy_wasm::NullVm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/null/null_vm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NullVm::getPrecompiledSectionName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::wasmtime::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: proxy_wasm::wasmtime::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wasmtime::Wasmtime::Wasmtime
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wasmtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: proxy_wasm::wasmtime::Wasmtime::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: proxy_wasm::wasmtime::Wasmtime::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wasmtime::Wasmtime::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::wasmtime::Wasmtime::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::wasmtime::Wasmtime::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: proxy_wasm::wasmtime::Wasmtime::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: wasm_byte_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: proxy_wasm::wasmtime::Wasmtime::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - wasm_module_share
    - WasmByteVec::get
    - wasm_store_new
    - std::string_view::size
    - std::string_view::data
    - engine
    - wasm_byte_vec_new
    linkageType: ''
    returnType: bool
    signature: "bool Wasmtime::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:138,1
    - Dst: std::make_unique<Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:140,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:155,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: proxy_wasm::wasmtime::Wasmtime::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - wasm_store_new
    - std::make_unique<Wasmtime>
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wasmtime::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: proxy_wasm::wasmtime::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:181,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:183,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:185,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: proxy_wasm::wasmtime::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:201,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    - Dst: proxy_wasm::wasmtime::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: proxy_wasm::wasmtime::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: proxy_wasm::wasmtime::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:233,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:236,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: proxy_wasm::wasmtime::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: proxy_wasm::wasmtime::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:244,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:250,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:257,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:258,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:261,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:262,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:263,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:268,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:269,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:274,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:276,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:288,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:289,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:290,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:294,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:296,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:307,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:309,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:329,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:339,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:341,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:343,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:350,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:356,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (name_ptr->size > 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (kind == wasm_externtype_kind(exp_extern_type))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 368
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 368
    functionName: proxy_wasm::wasmtime::Wasmtime::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wasmtime::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:373,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wasmtime::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:381,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: proxy_wasm::wasmtime::Wasmtime::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:390,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: proxy_wasm::wasmtime::Wasmtime::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: proxy_wasm::wasmtime::Wasmtime::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: proxy_wasm::wasmtime::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:463,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: proxy_wasm::wasmtime::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:473,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:504,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:505,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:508,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:509,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:511,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:512,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:514,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:516,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:517,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:519,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:523,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:526,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:527,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:537,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:538,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:541,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:542,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:544,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:545,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:547,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:549,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:550,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:551,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:553,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:554,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:558,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:561,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:562,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 565
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:572,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:581,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:582,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:586,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:587,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:595,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:602,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:603,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:606,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:620,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:621,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:622,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 629
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:635,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:643,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:644,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:647,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:648,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:656,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:659,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:664,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:665,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:668,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:682,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:683,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:684,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:687,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 694
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::wasmtime::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: proxy_wasm::wasmtime::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wasmtime::Wasmtime::Wasmtime
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wasmtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: proxy_wasm::wasmtime::Wasmtime::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: proxy_wasm::wasmtime::Wasmtime::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wasmtime::Wasmtime::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::wasmtime::Wasmtime::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::wasmtime::Wasmtime::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: proxy_wasm::wasmtime::Wasmtime::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: wasm_byte_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: proxy_wasm::wasmtime::Wasmtime::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - wasm_module_share
    - WasmByteVec::get
    - wasm_store_new
    - std::string_view::size
    - std::string_view::data
    - engine
    - wasm_byte_vec_new
    linkageType: ''
    returnType: bool
    signature: "bool Wasmtime::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:138,1
    - Dst: std::make_unique<Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:140,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:155,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: proxy_wasm::wasmtime::Wasmtime::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - wasm_store_new
    - std::make_unique<Wasmtime>
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wasmtime::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: proxy_wasm::wasmtime::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:181,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:183,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:185,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: proxy_wasm::wasmtime::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:201,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    - Dst: proxy_wasm::wasmtime::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: proxy_wasm::wasmtime::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: proxy_wasm::wasmtime::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:233,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:236,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: proxy_wasm::wasmtime::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: proxy_wasm::wasmtime::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:244,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:250,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:257,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:258,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:261,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:262,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:263,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:268,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:269,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:274,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:276,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:288,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:289,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:290,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:294,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:296,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:307,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:309,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:329,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:339,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:341,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:343,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:350,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:356,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (name_ptr->size > 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (kind == wasm_externtype_kind(exp_extern_type))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 368
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 368
    functionName: proxy_wasm::wasmtime::Wasmtime::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wasmtime::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:373,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wasmtime::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:381,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: proxy_wasm::wasmtime::Wasmtime::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:390,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: proxy_wasm::wasmtime::Wasmtime::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: proxy_wasm::wasmtime::Wasmtime::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: proxy_wasm::wasmtime::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:463,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: proxy_wasm::wasmtime::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:473,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:504,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:505,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:508,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:509,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:511,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:512,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:514,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:516,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:517,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:519,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:523,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:526,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:527,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:537,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:538,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:541,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:542,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:544,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:545,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:547,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:549,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:550,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:551,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:553,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:554,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:558,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:561,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:562,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 565
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:572,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:581,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:582,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:586,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:587,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:595,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:602,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:603,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:606,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:620,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:621,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:622,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 629
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:635,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:643,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:644,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:647,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:648,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:656,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:659,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:664,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:665,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:668,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:682,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:683,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:684,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:687,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 694
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wasmtime::Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 698
    functionName: proxy_wasm::createWasmtimeVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<wasmtime::Wasmtime>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWasmtimeVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::wasmtime::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: proxy_wasm::wasmtime::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wasmtime::Wasmtime::Wasmtime
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wasmtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: proxy_wasm::wasmtime::Wasmtime::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: proxy_wasm::wasmtime::Wasmtime::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wasmtime::Wasmtime::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::wasmtime::Wasmtime::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::wasmtime::Wasmtime::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: proxy_wasm::wasmtime::Wasmtime::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: wasm_byte_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: proxy_wasm::wasmtime::Wasmtime::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - wasm_module_share
    - WasmByteVec::get
    - wasm_store_new
    - std::string_view::size
    - std::string_view::data
    - engine
    - wasm_byte_vec_new
    linkageType: ''
    returnType: bool
    signature: "bool Wasmtime::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:138,1
    - Dst: std::make_unique<Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:140,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:155,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: proxy_wasm::wasmtime::Wasmtime::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - wasm_store_new
    - std::make_unique<Wasmtime>
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wasmtime::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: proxy_wasm::wasmtime::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:181,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:183,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:185,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: proxy_wasm::wasmtime::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:201,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    - Dst: proxy_wasm::wasmtime::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: proxy_wasm::wasmtime::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: proxy_wasm::wasmtime::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:233,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:236,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: proxy_wasm::wasmtime::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: proxy_wasm::wasmtime::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:244,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:250,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:257,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:258,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:261,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:262,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:263,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:268,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:269,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:274,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:276,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:288,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:289,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:290,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:294,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:296,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:307,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:309,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:329,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:339,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:341,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:343,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:350,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:356,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (name_ptr->size > 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (kind == wasm_externtype_kind(exp_extern_type))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 368
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 368
    functionName: proxy_wasm::wasmtime::Wasmtime::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wasmtime::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:373,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wasmtime::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:381,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: proxy_wasm::wasmtime::Wasmtime::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:390,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: proxy_wasm::wasmtime::Wasmtime::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: proxy_wasm::wasmtime::Wasmtime::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: proxy_wasm::wasmtime::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:463,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: proxy_wasm::wasmtime::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:473,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 2
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:504,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:505,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:508,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:509,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:511,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:512,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:514,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:516,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:517,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:519,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:523,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:526,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:527,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:537,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:538,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:541,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:542,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:544,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:545,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:547,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:549,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:550,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:551,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:553,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:554,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:558,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:561,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:562,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 565
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:572,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:581,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:582,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:586,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:587,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:595,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:602,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:603,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:606,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:620,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:621,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:622,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 629
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:635,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:643,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:644,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:647,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:648,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:656,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:659,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:664,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:665,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:668,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:682,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:683,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:684,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:687,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 694
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::wasmtime::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:46,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: proxy_wasm::wasmtime::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wasmtime::Wasmtime::Wasmtime
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wasmtime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: proxy_wasm::wasmtime::Wasmtime::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: proxy_wasm::wasmtime::Wasmtime::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wasmtime::Wasmtime::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::wasmtime::Wasmtime::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: proxy_wasm::wasmtime::Wasmtime::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: proxy_wasm::wasmtime::Wasmtime::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:116,1
    - Dst: wasm_byte_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:122,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:124,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bytecode
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: proxy_wasm::wasmtime::Wasmtime::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - wasm_module_share
    - WasmByteVec::get
    - wasm_store_new
    - std::string_view::size
    - std::string_view::data
    - engine
    - wasm_byte_vec_new
    linkageType: ''
    returnType: bool
    signature: "bool Wasmtime::load(std::string_view bytecode, std::string_view /*precompiled*/,\n
      \                   const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:138,1
    - Dst: std::make_unique<Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:140,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:145,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:150,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:155,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shared_module_ != nullptr)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: proxy_wasm::wasmtime::Wasmtime::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - wasm_store_new
    - std::make_unique<Wasmtime>
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wasmtime::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: proxy_wasm::wasmtime::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:181,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:183,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:185,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: proxy_wasm::wasmtime::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:201,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    - Dst: proxy_wasm::wasmtime::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: proxy_wasm::wasmtime::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: proxy_wasm::wasmtime::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:233,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:236,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: proxy_wasm::wasmtime::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: proxy_wasm::wasmtime::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:244,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:247,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:250,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:251,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:252,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:257,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:258,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:260,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:261,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:262,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:263,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:264,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:268,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:269,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:270,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:271,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:272,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:273,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:274,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:276,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:277,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:278,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:279,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:280,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:281,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:284,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:288,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:289,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:290,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:294,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:296,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:300,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:304,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:307,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:309,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:313,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:317,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:322,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:326,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:327,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:329,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:334,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:337,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:339,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:340,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:341,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:343,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:344,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:347,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:348,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:350,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:356,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:357,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (name_ptr->size > 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (kind == wasm_externtype_kind(exp_extern_type))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    - condition: (table_ == nullptr)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 368
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 368
    functionName: proxy_wasm::wasmtime::Wasmtime::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wasmtime::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:373,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:374,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: proxy_wasm::wasmtime::Wasmtime::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wasmtime::getMemory(uint64_t pointer,
      uint64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:381,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:382,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: proxy_wasm::wasmtime::Wasmtime::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setMemory(uint64_t pointer, uint64_t size, const void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:390,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:392,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:397,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: proxy_wasm::wasmtime::Wasmtime::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:404,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:407,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: proxy_wasm::wasmtime::Wasmtime::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wasmtime::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wasmtime::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: proxy_wasm::wasmtime::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wasmtime::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: proxy_wasm::wasmtime::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:463,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: proxy_wasm::wasmtime::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:473,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 3
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: proxy_wasm::wasmtime::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 6
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypesImpl
    - Is
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:485,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:486,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:493,1
    - Dst: proxy_wasm::wasmtime::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:494,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: proxy_wasm::wasmtime::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wasmtime::convertArgsTupleToValTypes
    - wasm_functype_new
    - WasmValtypeVec::get
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:502,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:504,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:505,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:506,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:508,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:509,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:511,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:512,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:514,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:516,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:517,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:519,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:523,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:526,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:527,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:528,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, void
      (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:536,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:537,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:538,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:539,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:541,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:542,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:544,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:545,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:547,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:549,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:550,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:551,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:553,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:554,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:558,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:561,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:562,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:563,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 565
    functionName: proxy_wasm::wasmtime::Wasmtime::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::registerHostFunctionImpl(std::string_view module_name,\n
      \                                       std::string_view function_name, R (*function)(Args...))"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:571,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:572,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:579,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:580,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:581,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:582,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:584,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:585,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:586,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:587,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:588,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:589,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:590,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:595,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:602,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:603,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:605,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:606,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:608,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:612,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:614,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:619,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:620,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:621,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:622,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 629
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:634,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:635,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:641,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:642,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:643,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:644,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:645,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:646,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:647,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:648,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:649,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:650,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:651,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:656,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:659,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:664,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:665,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:667,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:668,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:670,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:674,1
    - Dst: WasmTrapPtr::reset
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:676,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:681,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:682,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:683,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:684,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:687,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:689,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 694
    functionName: proxy_wasm::wasmtime::Wasmtime::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - WasmTrapPtr::reset
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wasmtime::getModuleFunctionImpl(std::string_view function_name,\n
      \                                    std::function<R(ContextBase *, Args...)>
      *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wasmtime::Wasmtime>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 698
    functionName: proxy_wasm::createWasmtimeVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wasmtime/wasmtime.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<wasmtime::Wasmtime>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWasmtimeVm()
  - 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: ASSERT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(_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: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: ASSERT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: WAVM::IR::inferValueType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueType
    signature: ValueType inferValueType<proxy_wasm::Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: WAVM::IR::inferValueType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueType
    signature: ValueType inferValueType<proxy_wasm::Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 1
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename NativeWord<T>::type
    signature: typename NativeWord<T>::type ToNative(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    linkageType: ''
    returnType: typename NativeWord<Word>::type
    signature: typename NativeWord<Word>::type ToNative(const Word &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    - Dst: std::hash<U>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<T, U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: operator()(const std::pair<T, U> &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::hash<U>
    - std::hash<T>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T, U> &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: proxy_wasm::Wavm::Wavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wavm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: proxy_wasm::Wavm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: proxy_wasm::Wavm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: proxy_wasm::Wavm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::Wavm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::Wavm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:251,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:252,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:253,1
    - Dst: ASSERT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: tryCollectCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Wavm::~Wavm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - tryCollectCompartment
    - ASSERT
    - clear
    linkageType: ''
    returnType: void
    signature: void Wavm::~Wavm()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:260,1
    - Dst: WAVM::Runtime::cloneCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:265,1
    - Dst: WAVM::Runtime::cloneContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:270,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:275,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:276,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:278,1
    - Dst: auto::intrinsic_module_instances_::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:281,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:282,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:285,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: proxy_wasm::Wavm::Wavm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryBaseAddress
    - auto::integration
    - integration
    - WAVM::Runtime::cloneCompartment
    - WAVM::Runtime::cloneContext
    - auto::intrinsic_module_instances_::emplace
    - std::make_unique<Wavm>
    - WAVM::Runtime::remapToClonedCompartment
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wavm::clone()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::createCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:296,1
    - Dst: ats_wasm::Wasm::createContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:301,1
    - Dst: WASM::loadBinaryModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:307,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:311,1
    - Dst: WAVM::Runtime::loadPrecompiledModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:312,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: WAVM::Runtime::compileModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: proxy_wasm::Wavm::Wavm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WASM::loadBinaryModule
    - WAVM::Runtime::createCompartment
    - ats_wasm::Wasm::createContext
    - std::string_view::empty
    - WAVM::Runtime::compileModule
    - std::string_view::size
    - WAVM::Runtime::loadPrecompiledModule
    - reinterpret_cast<const unsigned char *>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool Wavm::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Intrinsics::instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:331,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:332,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:336,1
    - Dst: RootResolver::moduleNameToInstanceMap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:337,1
    - Dst: linkModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:340,1
    - Dst: WAVM::Runtime::LinkResult::missingImports::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:341,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:343,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:345,1
    - Dst: instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: getDefaultMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:355,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - debug_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: proxy_wasm::Wavm::Wavm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - fail
    - getDefaultMemory
    - WAVM::Runtime::getMemoryBaseAddress
    - linkModule
    - WAVM::Runtime::LinkResult::missingImports::empty
    - integration
    - emplace
    - std::string
    - Intrinsics::instantiateModule
    - std::move
    - instantiateModule
    - RootResolver::moduleNameToInstanceMap
    linkageType: ''
    returnType: bool
    signature: bool Wavm::link(std::string_view debug_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: proxy_wasm::Wavm::Wavm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wavm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:368,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: proxy_wasm::Wavm::Wavm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wavm::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:376,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:380,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: proxy_wasm::Wavm::Wavm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:386,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:390,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:392,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: proxy_wasm::Wavm::Wavm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - wasmtoh
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: proxy_wasm::Wavm::Wavm::setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: proxy_wasm::Wavm::Wavm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - proxy_wasm::Wavm::Wavm::setMemory
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setWord(uint64_t pointer, Word data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: proxy_wasm::Wavm::Wavm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Wavm::getPrecompiledSectionName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 3
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 4
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename NativeWord<T>::type
    signature: typename NativeWord<T>::type ToNative(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    linkageType: ''
    returnType: typename NativeWord<Word>::type
    signature: typename NativeWord<Word>::type ToNative(const Word &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    - Dst: std::hash<U>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<T, U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: operator()(const std::pair<T, U> &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::hash<U>
    - std::hash<T>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T, U> &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: proxy_wasm::Wavm::Wavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wavm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: proxy_wasm::Wavm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: proxy_wasm::Wavm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: proxy_wasm::Wavm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::Wavm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::Wavm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:251,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:252,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:253,1
    - Dst: ASSERT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: tryCollectCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Wavm::~Wavm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - tryCollectCompartment
    - ASSERT
    - clear
    linkageType: ''
    returnType: void
    signature: void Wavm::~Wavm()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:260,1
    - Dst: WAVM::Runtime::cloneCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:265,1
    - Dst: WAVM::Runtime::cloneContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:270,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:275,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:276,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:278,1
    - Dst: auto::intrinsic_module_instances_::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:281,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:282,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:285,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: proxy_wasm::Wavm::Wavm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryBaseAddress
    - auto::integration
    - integration
    - WAVM::Runtime::cloneCompartment
    - WAVM::Runtime::cloneContext
    - auto::intrinsic_module_instances_::emplace
    - std::make_unique<Wavm>
    - WAVM::Runtime::remapToClonedCompartment
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wavm::clone()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::createCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:296,1
    - Dst: ats_wasm::Wasm::createContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:301,1
    - Dst: WASM::loadBinaryModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:307,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:311,1
    - Dst: WAVM::Runtime::loadPrecompiledModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:312,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: WAVM::Runtime::compileModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: proxy_wasm::Wavm::Wavm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WASM::loadBinaryModule
    - WAVM::Runtime::createCompartment
    - ats_wasm::Wasm::createContext
    - std::string_view::empty
    - WAVM::Runtime::compileModule
    - std::string_view::size
    - WAVM::Runtime::loadPrecompiledModule
    - reinterpret_cast<const unsigned char *>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool Wavm::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Intrinsics::instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:331,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:332,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:336,1
    - Dst: RootResolver::moduleNameToInstanceMap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:337,1
    - Dst: linkModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:340,1
    - Dst: WAVM::Runtime::LinkResult::missingImports::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:341,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:343,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:345,1
    - Dst: instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: getDefaultMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:355,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - debug_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: proxy_wasm::Wavm::Wavm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - fail
    - getDefaultMemory
    - WAVM::Runtime::getMemoryBaseAddress
    - linkModule
    - WAVM::Runtime::LinkResult::missingImports::empty
    - integration
    - emplace
    - std::string
    - Intrinsics::instantiateModule
    - std::move
    - instantiateModule
    - RootResolver::moduleNameToInstanceMap
    linkageType: ''
    returnType: bool
    signature: bool Wavm::link(std::string_view debug_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: proxy_wasm::Wavm::Wavm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wavm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:368,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: proxy_wasm::Wavm::Wavm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wavm::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:376,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:380,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: proxy_wasm::Wavm::Wavm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 1
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:386,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:390,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:392,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: proxy_wasm::Wavm::Wavm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - wasmtoh
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: proxy_wasm::Wavm::Wavm::setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: proxy_wasm::Wavm::Wavm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - proxy_wasm::Wavm::Wavm::setMemory
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setWord(uint64_t pointer, Word data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: proxy_wasm::Wavm::Wavm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Wavm::getPrecompiledSectionName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<proxy_wasm::Wavm::Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: proxy_wasm::createWavmVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<proxy_wasm::Wavm::Wavm>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWavmVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::inferResultType<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::TypeTuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::inferValueType<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: proxy_wasm::inferHostFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 1
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - IR::inferResultType<R>
    - IR::inferValueType<Args>
    - IR::TypeTuple
    linkageType: ''
    returnType: IR::FunctionType
    signature: IR::FunctionType inferHostFunctionType(R (*/*func*/)(Args...))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:419,1
    - Dst: auto*::host_functions_::emplace_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:420,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:421,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:421,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:422,1
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:422,1
    - Dst: Intrinsics::Function::Function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vm
    - module_name
    - function_name
    argTypes:
    - WasmVm*
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: proxy_wasm::registerCallbackWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - std::string
    - reinterpret_cast<void *>
    - auto*::host_functions_::emplace_back
    - Intrinsics::Function::Function
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void registerCallbackWavm(WasmVm *vm, std::string_view module_name,
      std::string_view function_name,\n                          R (*f)(Args...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::inferResultType<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::TypeTuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::inferValueType<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: proxy_wasm::inferStdFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - IR::inferResultType<R>
    - IR::inferValueType<Args>
    - IR::TypeTuple
    linkageType: ''
    returnType: IR::FunctionType
    signature: IR::FunctionType inferStdFunctionType(std::function<R(ContextBase *,
      Args...)> * /*func*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - t
    argTypes:
    - WAVM::Runtime::Function*
    - IR::FunctionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: proxy_wasm::checkFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - getFunctionType
    linkageType: ''
    returnType: bool
    signature: bool checkFunctionType(WAVM::Runtime::Function *f, IR::FunctionType
      t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:437,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: proxy_wasm::checkFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:447,1
    - Dst: proxy_wasm::inferStdFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:447,1
    - Dst: auto*::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:449,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:450,1
    - Dst: CALL_WITH_CONTEXT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:456,1
    - Dst: invokeFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:457,1
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:457,1
    - Dst: auto*::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:459,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vm
    - function_name
    - function
    argTypes:
    - WasmVm*
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: proxy_wasm::getFunctionWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - getFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - asFunctionNullable
    - proxy_wasm::inferStdFunctionType
    - CALL_WITH_CONTEXT
    - auto*::fail
    - std::string
    - auto*::isFailed
    - static_cast<uint32_t>
    - invokeFunction
    - getInstanceExport
    - proxy_wasm::checkFunctionType
    linkageType: ''
    returnType: void
    signature: "void getFunctionWavm(WasmVm *vm, std::string_view function_name,\n
      \                    std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:469,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: proxy_wasm::checkFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:479,1
    - Dst: proxy_wasm::inferStdFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:479,1
    - Dst: auto*::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:481,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:482,1
    - Dst: CALL_WITH_CONTEXT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    - Dst: invokeFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - vm
    - function_name
    - function
    argTypes:
    - WasmVm*
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 490
    functionName: proxy_wasm::getFunctionWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - getFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - asFunctionNullable
    - proxy_wasm::inferStdFunctionType
    - CALL_WITH_CONTEXT
    - auto*::fail
    - std::string
    - invokeFunction
    - getInstanceExport
    - proxy_wasm::checkFunctionType
    linkageType: ''
    returnType: void
    signature: "void getFunctionWavm(WasmVm *vm, std::string_view function_name,\n
      \                    std::function<void(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 5
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 6
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename NativeWord<T>::type
    signature: typename NativeWord<T>::type ToNative(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    linkageType: ''
    returnType: typename NativeWord<Word>::type
    signature: typename NativeWord<Word>::type ToNative(const Word &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    - Dst: std::hash<U>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<T, U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: operator()(const std::pair<T, U> &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::hash<U>
    - std::hash<T>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T, U> &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: proxy_wasm::Wavm::Wavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wavm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: proxy_wasm::Wavm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: proxy_wasm::Wavm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: proxy_wasm::Wavm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::Wavm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::Wavm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:251,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:252,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:253,1
    - Dst: ASSERT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: tryCollectCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Wavm::~Wavm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - tryCollectCompartment
    - ASSERT
    - clear
    linkageType: ''
    returnType: void
    signature: void Wavm::~Wavm()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:260,1
    - Dst: WAVM::Runtime::cloneCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:265,1
    - Dst: WAVM::Runtime::cloneContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:270,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:275,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:276,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:278,1
    - Dst: auto::intrinsic_module_instances_::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:281,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:282,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:285,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: proxy_wasm::Wavm::Wavm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryBaseAddress
    - auto::integration
    - integration
    - WAVM::Runtime::cloneCompartment
    - WAVM::Runtime::cloneContext
    - auto::intrinsic_module_instances_::emplace
    - std::make_unique<Wavm>
    - WAVM::Runtime::remapToClonedCompartment
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wavm::clone()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::createCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:296,1
    - Dst: ats_wasm::Wasm::createContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:301,1
    - Dst: WASM::loadBinaryModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:307,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:311,1
    - Dst: WAVM::Runtime::loadPrecompiledModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:312,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: WAVM::Runtime::compileModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: proxy_wasm::Wavm::Wavm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WASM::loadBinaryModule
    - WAVM::Runtime::createCompartment
    - ats_wasm::Wasm::createContext
    - std::string_view::empty
    - WAVM::Runtime::compileModule
    - std::string_view::size
    - WAVM::Runtime::loadPrecompiledModule
    - reinterpret_cast<const unsigned char *>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool Wavm::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Intrinsics::instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:331,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:332,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:336,1
    - Dst: RootResolver::moduleNameToInstanceMap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:337,1
    - Dst: linkModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:340,1
    - Dst: WAVM::Runtime::LinkResult::missingImports::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:341,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:343,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:345,1
    - Dst: instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: getDefaultMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:355,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - debug_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: proxy_wasm::Wavm::Wavm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - fail
    - getDefaultMemory
    - WAVM::Runtime::getMemoryBaseAddress
    - linkModule
    - WAVM::Runtime::LinkResult::missingImports::empty
    - integration
    - emplace
    - std::string
    - Intrinsics::instantiateModule
    - std::move
    - instantiateModule
    - RootResolver::moduleNameToInstanceMap
    linkageType: ''
    returnType: bool
    signature: bool Wavm::link(std::string_view debug_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: proxy_wasm::Wavm::Wavm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wavm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:368,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: proxy_wasm::Wavm::Wavm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wavm::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:376,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:380,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: proxy_wasm::Wavm::Wavm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:386,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:390,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:392,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: proxy_wasm::Wavm::Wavm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - wasmtoh
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: proxy_wasm::Wavm::Wavm::setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: proxy_wasm::Wavm::Wavm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - proxy_wasm::Wavm::Wavm::setMemory
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setWord(uint64_t pointer, Word data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: proxy_wasm::Wavm::Wavm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Wavm::getPrecompiledSectionName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 7
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _x
    - ','
    - _context
    - ','
    - _wavm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: CALL_WITH_CONTEXT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_WITH_CONTEXT(_x, _context, _wavm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:102,1
    - Dst: WAVM::Runtime::describeExceptionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:103,1
    - Dst: WAVM::Runtime::describeCallStack
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:106,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:110,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:113,1
    - Dst: std::setw
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::setfill
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:117,1
    - Dst: std::ostringstream::str
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:118,1
    - Dst: WAVM::Runtime::destroyException
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - function_name
    - exception
    argTypes:
    - std::string_view
    - WAVM::Runtime::Exception*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: proxy_wasm::Wavm::getFailMessage
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::destroyException
    - std::string::find
    - std::setfill
    - std::vector::size
    - std::setw
    - WAVM::Runtime::describeExceptionType
    - std::string
    - std::ostringstream::str
    - WAVM::Runtime::describeCallStack
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getFailMessage(std::string_view function_name, WAVM::Runtime::Exception
      *exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI32
    argTypes:
    - I32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I32 inI32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inI64
    argTypes:
    - I64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(I64 inI64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U32 inU32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U32>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - static_cast<U32>
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inU64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(U64 inU64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF32
    argTypes:
    - F32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F32 inF32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inF64
    argTypes:
    - F64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::Wavm::WasmUntaggedValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmUntaggedValue(F64 inF64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm
    argTypes:
    - WasmVm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: proxy_wasm::Wavm::RootResolver::RootResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RootResolver(WAVM::Runtime::Compartment * /*compartment*/, WasmVm
      *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~RootResolver() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~RootResolver() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:144,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:146,1
    - Dst: isA
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:148,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:149,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:151,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: WAVM::Runtime::getExternType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:152,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:153,1
    - Dst: proxy_wasm::Wavm::RootResolver::resolve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:160,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:164,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:165,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    - Dst: asString
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - module_name
    - export_name
    - type
    - out_object
    argTypes:
    - std::string
    - std::string
    - ExternType
    - WAVM::Runtime::Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: proxy_wasm::Wavm::RootResolver::resolve
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 8
    functionsReached:
    - get
    - fail
    - asString
    - WAVM::Runtime::getExternType
    - std::string
    - isA
    - getInstanceExport
    - proxy_wasm::Wavm::RootResolver::resolve
    linkageType: ''
    returnType: bool
    signature: "bool resolve(const std::string &module_name, const std::string &export_name,
      ExternType type,\n               WAVM::Runtime::Object *&out_object) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '&moduleNameToInstanceMap()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashMap<std::string, WAVM::Runtime::Instance *>
    signature: HashMap<std::string, WAVM::Runtime::Instance *> &moduleNameToInstanceMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - WAVM::Runtime::Resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: proxy_wasm::Wavm::RootResolver::addResolver
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addResolver(WAVM::Runtime::Resolver *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename NativeWord<T>::type
    signature: typename NativeWord<T>::type ToNative(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: proxy_wasm::Wavm::ToNative
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - Word::u32
    linkageType: ''
    returnType: typename NativeWord<Word>::type
    signature: typename NativeWord<Word>::type ToNative(const Word &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::hash<T>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    - Dst: std::hash<U>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::pair<T, U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: operator()(const std::pair<T, U> &x) const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::hash<U>
    - std::hash<T>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<T, U> &x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: proxy_wasm::Wavm::Wavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wavm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: proxy_wasm::Wavm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: proxy_wasm::Wavm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: proxy_wasm::Wavm::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::Wavm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: proxy_wasm::Wavm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:251,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:252,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:253,1
    - Dst: ASSERT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: tryCollectCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Wavm::~Wavm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::move
    - tryCollectCompartment
    - ASSERT
    - clear
    linkageType: ''
    returnType: void
    signature: void Wavm::~Wavm()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:260,1
    - Dst: WAVM::Runtime::cloneCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:265,1
    - Dst: WAVM::Runtime::cloneContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:270,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:275,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:276,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:278,1
    - Dst: auto::intrinsic_module_instances_::emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:281,1
    - Dst: WAVM::Runtime::remapToClonedCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:282,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:285,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: proxy_wasm::Wavm::Wavm::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryBaseAddress
    - auto::integration
    - integration
    - WAVM::Runtime::cloneCompartment
    - WAVM::Runtime::cloneContext
    - auto::intrinsic_module_instances_::emplace
    - std::make_unique<Wavm>
    - WAVM::Runtime::remapToClonedCompartment
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wavm::clone()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::createCompartment
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:296,1
    - Dst: ats_wasm::Wasm::createContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:301,1
    - Dst: WASM::loadBinaryModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:306,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:307,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:311,1
    - Dst: WAVM::Runtime::loadPrecompiledModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:312,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:313,1
    - Dst: WAVM::Runtime::compileModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: proxy_wasm::Wavm::Wavm::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WASM::loadBinaryModule
    - WAVM::Runtime::createCompartment
    - ats_wasm::Wasm::createContext
    - std::string_view::empty
    - WAVM::Runtime::compileModule
    - std::string_view::size
    - WAVM::Runtime::loadPrecompiledModule
    - reinterpret_cast<const unsigned char *>
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: "bool Wavm::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Intrinsics::instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:331,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:332,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:336,1
    - Dst: RootResolver::moduleNameToInstanceMap
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:337,1
    - Dst: linkModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:340,1
    - Dst: WAVM::Runtime::LinkResult::missingImports::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:341,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:343,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:345,1
    - Dst: instantiateModule
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:349,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:350,1
    - Dst: getDefaultMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:355,1
    - Dst: WAVM::Runtime::getMemoryBaseAddress
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - debug_name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: proxy_wasm::Wavm::Wavm::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - fail
    - getDefaultMemory
    - WAVM::Runtime::getMemoryBaseAddress
    - linkModule
    - WAVM::Runtime::LinkResult::missingImports::empty
    - integration
    - emplace
    - std::string
    - Intrinsics::instantiateModule
    - std::move
    - instantiateModule
    - RootResolver::moduleNameToInstanceMap
    linkageType: ''
    returnType: bool
    signature: bool Wavm::link(std::string_view debug_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: proxy_wasm::Wavm::Wavm::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wavm::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:368,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: proxy_wasm::Wavm::Wavm::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - std::string_view
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wavm::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:376,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:380,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: proxy_wasm::Wavm::Wavm::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 3
    functionsReached:
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WAVM::Runtime::getMemoryNumPages
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:386,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:390,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:392,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: proxy_wasm::Wavm::Wavm::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - wasmtoh
    - WAVM::Runtime::getMemoryNumPages
    - reinterpret_cast<char *>
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Wavm::getWord(uint64_t pointer, Word *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:398,1
    - Dst: proxy_wasm::Wavm::Wavm::setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - data
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: proxy_wasm::Wavm::Wavm::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - htowasm
    - Word::u32
    - proxy_wasm::Wavm::Wavm::setMemory
    linkageType: ''
    returnType: bool
    signature: bool Wavm::setWord(uint64_t pointer, Word data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: proxy_wasm::Wavm::Wavm::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view Wavm::getPrecompiledSectionName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<proxy_wasm::Wavm::Wavm>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: proxy_wasm::createWavmVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<proxy_wasm::Wavm::Wavm>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWavmVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::inferResultType<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::TypeTuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    - Dst: IR::inferValueType<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: proxy_wasm::inferHostFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 4
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - IR::inferResultType<R>
    - IR::inferValueType<Args>
    - IR::TypeTuple
    linkageType: ''
    returnType: IR::FunctionType
    signature: IR::FunctionType inferHostFunctionType(R (*/*func*/)(Args...))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:419,1
    - Dst: auto*::host_functions_::emplace_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:420,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:421,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:421,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:422,1
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:422,1
    - Dst: Intrinsics::Function::Function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vm
    - module_name
    - function_name
    argTypes:
    - WasmVm*
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: proxy_wasm::registerCallbackWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - std::string
    - reinterpret_cast<void *>
    - auto*::host_functions_::emplace_back
    - Intrinsics::Function::Function
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void registerCallbackWavm(WasmVm *vm, std::string_view module_name,
      std::string_view function_name,\n                          R (*f)(Args...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::inferHostFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::inferResultType<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::TypeTuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    - Dst: IR::inferValueType<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: proxy_wasm::inferStdFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached:
    - proxy_wasm::inferHostFunctionType
    - IR::inferResultType<R>
    - IR::inferValueType<Args>
    - IR::TypeTuple
    linkageType: ''
    returnType: IR::FunctionType
    signature: IR::FunctionType inferStdFunctionType(std::function<R(ContextBase *,
      Args...)> * /*func*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - t
    argTypes:
    - WAVM::Runtime::Function*
    - IR::FunctionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: proxy_wasm::checkFunctionType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 2
    functionsReached:
    - getFunctionType
    linkageType: ''
    returnType: bool
    signature: bool checkFunctionType(WAVM::Runtime::Function *f, IR::FunctionType
      t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:437,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:439,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:441,1
    - Dst: proxy_wasm::checkFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:447,1
    - Dst: proxy_wasm::inferStdFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:447,1
    - Dst: auto*::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:449,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:450,1
    - Dst: CALL_WITH_CONTEXT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:456,1
    - Dst: invokeFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:457,1
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:457,1
    - Dst: auto*::isFailed
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:459,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vm
    - function_name
    - function
    argTypes:
    - WasmVm*
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: proxy_wasm::getFunctionWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - getFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - asFunctionNullable
    - proxy_wasm::inferStdFunctionType
    - CALL_WITH_CONTEXT
    - auto*::fail
    - std::string
    - auto*::isFailed
    - static_cast<uint32_t>
    - invokeFunction
    - getInstanceExport
    - proxy_wasm::checkFunctionType
    linkageType: ''
    returnType: void
    signature: "void getFunctionWavm(WasmVm *vm, std::string_view function_name,\n
      \                    std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<proxy_wasm::Wavm::Wavm *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:469,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:471,1
    - Dst: asFunctionNullable
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: getInstanceExport
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:473,1
    - Dst: proxy_wasm::checkFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:479,1
    - Dst: proxy_wasm::inferStdFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:479,1
    - Dst: auto*::fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:481,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:482,1
    - Dst: CALL_WITH_CONTEXT
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    - Dst: invokeFunction
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    - Dst: getFunctionType
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - vm
    - function_name
    - function
    argTypes:
    - WasmVm*
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 490
    functionName: proxy_wasm::getFunctionWavm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wavm/wavm.cc
    functionUses: 0
    functionsReached:
    - getFunctionType
    - dynamic_cast<proxy_wasm::Wavm::Wavm *>
    - asFunctionNullable
    - proxy_wasm::inferStdFunctionType
    - CALL_WITH_CONTEXT
    - auto*::fail
    - std::string
    - invokeFunction
    - getInstanceExport
    - proxy_wasm::checkFunctionType
    linkageType: ''
    returnType: void
    signature: "void getFunctionWavm(WasmVm *vm, std::string_view function_name,\n
      \                    std::function<void(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::wamr::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wamr::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wamr::Wamr::Wamr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wamr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: proxy_wasm::wamr::Wamr::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::wamr::Wamr::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: proxy_wasm::wamr::Wamr::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: proxy_wasm::wamr::Wamr::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: proxy_wasm::wamr::Wamr::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: proxy_wasm::wamr::Wamr::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:131,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:138,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:139,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:141,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:143,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 159
    functionName: proxy_wasm::wamr::Wamr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - std::string_view::remove_prefix
    - const_cast<char *>
    - wasm_module_share
    - std::string_view::empty
    - wasm_store_new
    - std::string_view::size
    - static_cast<uint8_t>
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool Wamr::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:162,1
    - Dst: std::make_unique<Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:164,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:179,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: proxy_wasm::wamr::Wamr::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - std::make_unique<Wamr>
    - wasm_store_new
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wamr::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: proxy_wasm::wamr::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:205,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:207,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: proxy_wasm::wamr::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:225,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    - Dst: proxy_wasm::wamr::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: proxy_wasm::wamr::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: proxy_wasm::wamr::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:257,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:260,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: proxy_wasm::wamr::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: proxy_wasm::wamr::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:268,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:274,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:279,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:288,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:291,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:292,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:293,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:298,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:299,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:304,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:306,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:318,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:320,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:324,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:326,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:337,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:339,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:359,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:369,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:370,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:372,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:384,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (table_ == nullptr)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (kind == wasm_externtype_kind(wasm_exporttype_type(export_types.get()->data[i])))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 396
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 396
    functionName: proxy_wasm::wamr::Wamr::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - std::strlen
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - std::to_string
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wamr::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: proxy_wasm::wamr::Wamr::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wamr::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:401,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: proxy_wasm::wamr::Wamr::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wamr::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:409,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: proxy_wasm::wamr::Wamr::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:418,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wamr::Wamr::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: proxy_wasm::wamr::Wamr::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: proxy_wasm::wamr::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:491,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: proxy_wasm::wamr::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:501,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - Is
    - proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:513,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:514,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:521,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:522,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:532,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:533,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:536,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:537,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:539,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:540,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:542,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:544,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:545,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:547,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:551,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:554,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:555,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    void (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:565,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:566,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:569,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:570,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:572,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:573,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:575,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:577,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:578,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:579,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:581,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:582,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:586,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:589,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:590,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:600,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:609,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:614,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:623,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:624,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:626,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:632,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:636,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:637,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:638,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 645
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:651,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:659,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:672,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:673,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:675,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:676,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:682,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:686,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:688,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:691,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 698
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::wamr::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wamr::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wamr::Wamr::Wamr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wamr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: proxy_wasm::wamr::Wamr::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::wamr::Wamr::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: proxy_wasm::wamr::Wamr::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: proxy_wasm::wamr::Wamr::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: proxy_wasm::wamr::Wamr::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: proxy_wasm::wamr::Wamr::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:131,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:138,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:139,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:141,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:143,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 159
    functionName: proxy_wasm::wamr::Wamr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - std::string_view::remove_prefix
    - const_cast<char *>
    - wasm_module_share
    - std::string_view::empty
    - wasm_store_new
    - std::string_view::size
    - static_cast<uint8_t>
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool Wamr::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:162,1
    - Dst: std::make_unique<Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:164,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:179,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: proxy_wasm::wamr::Wamr::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - std::make_unique<Wamr>
    - wasm_store_new
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wamr::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: proxy_wasm::wamr::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:205,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:207,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: proxy_wasm::wamr::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:225,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    - Dst: proxy_wasm::wamr::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: proxy_wasm::wamr::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: proxy_wasm::wamr::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:257,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:260,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: proxy_wasm::wamr::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: proxy_wasm::wamr::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:268,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:274,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:279,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:288,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:291,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:292,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:293,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:298,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:299,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:304,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:306,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:318,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:320,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:324,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:326,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:337,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:339,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:359,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:369,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:370,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:372,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:384,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (table_ == nullptr)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (kind == wasm_externtype_kind(wasm_exporttype_type(export_types.get()->data[i])))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 396
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 396
    functionName: proxy_wasm::wamr::Wamr::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - std::strlen
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - std::to_string
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wamr::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: proxy_wasm::wamr::Wamr::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wamr::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:401,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: proxy_wasm::wamr::Wamr::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wamr::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:409,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: proxy_wasm::wamr::Wamr::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:418,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wamr::Wamr::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: proxy_wasm::wamr::Wamr::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: proxy_wasm::wamr::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:491,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: proxy_wasm::wamr::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:501,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - Is
    - proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:513,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:514,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:521,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:522,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:532,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:533,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:536,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:537,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:539,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:540,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:542,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:544,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:545,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:547,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:551,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:554,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:555,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    void (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:565,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:566,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:569,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:570,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:572,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:573,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:575,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:577,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:578,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:579,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:581,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:582,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:586,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:589,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:590,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:600,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:609,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:614,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:623,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:624,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:626,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:632,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:636,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:637,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:638,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 645
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:651,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:659,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:672,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:673,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:675,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:676,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:682,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:686,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:688,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:691,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 698
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wamr::Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: proxy_wasm::createWamrVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<wamr::Wamr>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWamrVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::wamr::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wamr::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wamr::Wamr::Wamr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wamr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: proxy_wasm::wamr::Wamr::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::wamr::Wamr::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: proxy_wasm::wamr::Wamr::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: proxy_wasm::wamr::Wamr::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: proxy_wasm::wamr::Wamr::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: proxy_wasm::wamr::Wamr::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:131,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:138,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:139,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:141,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:143,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 159
    functionName: proxy_wasm::wamr::Wamr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - std::string_view::remove_prefix
    - const_cast<char *>
    - wasm_module_share
    - std::string_view::empty
    - wasm_store_new
    - std::string_view::size
    - static_cast<uint8_t>
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool Wamr::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:162,1
    - Dst: std::make_unique<Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:164,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:179,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: proxy_wasm::wamr::Wamr::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - std::make_unique<Wamr>
    - wasm_store_new
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wamr::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: proxy_wasm::wamr::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:205,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:207,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: proxy_wasm::wamr::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:225,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    - Dst: proxy_wasm::wamr::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: proxy_wasm::wamr::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: proxy_wasm::wamr::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:257,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:260,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: proxy_wasm::wamr::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: proxy_wasm::wamr::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:268,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:274,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:279,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:288,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:291,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:292,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:293,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:298,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:299,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:304,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:306,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:318,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:320,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:324,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:326,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:337,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:339,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:359,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:369,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:370,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:372,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:384,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (table_ == nullptr)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (kind == wasm_externtype_kind(wasm_exporttype_type(export_types.get()->data[i])))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 396
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 396
    functionName: proxy_wasm::wamr::Wamr::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - std::strlen
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - std::to_string
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wamr::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: proxy_wasm::wamr::Wamr::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wamr::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:401,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: proxy_wasm::wamr::Wamr::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wamr::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:409,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: proxy_wasm::wamr::Wamr::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:418,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wamr::Wamr::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: proxy_wasm::wamr::Wamr::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: proxy_wasm::wamr::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:491,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: proxy_wasm::wamr::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:501,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 2
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 4
    functionsReached:
    - Is
    - proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:513,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:514,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:521,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:522,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:532,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:533,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:536,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:537,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:539,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:540,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:542,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:544,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:545,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:547,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:551,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:554,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:555,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    void (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:565,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:566,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:569,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:570,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:572,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:573,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:575,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:577,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:578,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:579,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:581,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:582,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:586,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:589,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:590,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:600,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:609,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:614,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:623,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:624,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:626,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:632,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:636,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:637,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:638,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 645
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:651,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:659,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:672,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:673,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:675,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:676,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:682,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:686,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:688,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:691,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 698
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::wamr::HostFuncData
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostFuncData(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WasmEnginePtr
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: wasm_engine_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:50,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: proxy_wasm::wamr::engine
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - auto::get
    - wasm_engine_new
    - WasmEnginePtr
    linkageType: ''
    returnType: wasm_engine_t
    signature: wasm_engine_t *engine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: proxy_wasm::wamr::Wamr::Wamr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Wamr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: proxy_wasm::wamr::Wamr::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::wamr::Wamr::getPrecompiledSectionName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getPrecompiledSectionName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: proxy_wasm::wamr::Wamr::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: proxy_wasm::wamr::Wamr::getWordSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getWordSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: _REGISTER_HOST_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_HOST_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _GET_MODULE_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_MODULE_FUNCTION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: proxy_wasm::wamr::Wamr::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: proxy_wasm::wamr::Wamr::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:124,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:130,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:131,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:132,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:138,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:139,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:141,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:142,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:143,1
    - Dst: wasm_module_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:148,1
    - Dst: wasm_module_share
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - bytecode
    - precompiled
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 159
    functionName: proxy_wasm::wamr::Wamr::load
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_module_new
    - std::string_view::remove_prefix
    - const_cast<char *>
    - wasm_module_share
    - std::string_view::empty
    - wasm_store_new
    - std::string_view::size
    - static_cast<uint8_t>
    - std::string_view::data
    - engine
    linkageType: ''
    returnType: bool
    signature: "bool Wamr::load(std::string_view bytecode, std::string_view precompiled,\n
      \               const std::unordered_map<uint32_t, std::string> & /*function_names*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:162,1
    - Dst: std::make_unique<Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:164,1
    - Dst: wasm_store_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: engine
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:169,1
    - Dst: wasm_module_obtain
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: auto::store_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:174,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:179,1
    - Dst: auto::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (module_ != nullptr)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: proxy_wasm::wamr::Wamr::clone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::integration
    - integration
    - std::make_unique<Wamr>
    - wasm_store_new
    - wasm_module_obtain
    - auto::store_::get
    - engine
    - assert
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> Wamr::clone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - wasm_valtype_vec_t*
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: proxy_wasm::wamr::equalValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_kind
    linkageType: ''
    returnType: bool
    signature: bool equalValTypes(const wasm_valtype_vec_t *left, const wasm_valtype_vec_t
      *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:205,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:207,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:209,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: proxy_wasm::wamr::printValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string printValue(const wasm_val_t &value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:225,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    - Dst: proxy_wasm::wamr::printValue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - values
    argTypes:
    - wasm_val_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: proxy_wasm::wamr::printValues
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValue
    - std::string::append
    linkageType: ''
    returnType: std::string
    signature: std::string printValues(const wasm_val_vec_t *values)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - kind
    argTypes:
    - wasm_valkind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: proxy_wasm::wamr::printValKind
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *printValKind(wasm_valkind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:257,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:260,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: proxy_wasm::wamr::printValKind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    - Dst: wasm_valtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: proxy_wasm::wamr::printValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::printValKind
    - wasm_valtype_kind
    - std::string::append
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string printValTypes(const wasm_valtype_vec_t *types)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:268,1
    - Dst: wasm_module_imports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:271,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:274,1
    - Dst: wasm_importtype_module
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:275,1
    - Dst: wasm_importtype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:276,1
    - Dst: wasm_importtype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:277,1
    - Dst: std::strlen
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:279,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:280,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:281,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:288,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:290,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:291,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:292,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:293,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:294,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:298,1
    - Dst: wasm_externtype_as_functype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:299,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: auto::second::callback_::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:300,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:301,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:302,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:303,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:304,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:306,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:307,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:308,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:309,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:310,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:311,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: wasm_func_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:314,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:318,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:319,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:320,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:324,1
    - Dst: wasm_externtype_as_memorytype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:326,1
    - Dst: wasm_memory_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:330,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: wasm_memory_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:334,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:337,1
    - Dst: wasm_externtype_as_tabletype_const
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:339,1
    - Dst: wasm_table_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:343,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: wasm_table_as_extern
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:347,1
    - Dst: WasmImporttypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:352,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:356,1
    - Dst: wasm_instance_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:357,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:359,1
    - Dst: wasm_module_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:364,1
    - Dst: wasm_instance_exports
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:367,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:369,1
    - Dst: WasmExternVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:370,1
    - Dst: wasm_extern_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:372,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_externtype_kind
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_exporttype_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:373,1
    - Dst: wasm_func_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_extern_as_func
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:376,1
    - Dst: wasm_exporttype_name
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: WasmExportTypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:377,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:378,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:384,1
    - Dst: wasm_memory_copy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    - Dst: wasm_extern_as_memory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (table_ == nullptr)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (kind == wasm_externtype_kind(wasm_exporttype_type(export_types.get()->data[i])))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (memory_ == nullptr)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    - condition: (module_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 396
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 396
    functionName: proxy_wasm::wamr::Wamr::link
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_extern_as_func
    - fail
    - std::string
    - wasm_memory_as_extern
    - wasm_functype_params
    - wasm_functype_results
    - wasm_extern_kind
    - wasm_memory_new
    - wasm_importtype_type
    - get
    - wasm_importtype_module
    - wasm_memory_copy
    - std::strlen
    - wasm_instance_exports
    - wasm_externtype_as_functype_const
    - wasm_externtype_as_memorytype_const
    - wasm_importtype_name
    - auto::second::callback_::get
    - wasm_module_imports
    - std::move
    - wasm_table_new
    - assert
    - std::vector::data
    - std::vector::size
    - wasm_module_exports
    - find
    - wasm_func_type
    - std::vector::push_back
    - WasmImporttypeVec::get
    - end
    - insert_or_assign
    - WasmExportTypeVec::get
    - wasm_exporttype_name
    - printValTypes
    - std::to_string
    - wasm_func_as_extern
    - wasm_exporttype_type
    - wasm_externtype_as_tabletype_const
    - wasm_table_as_extern
    - WasmFunctypePtr::get
    - wasm_func_copy
    - equalValTypes
    - WasmExternVec::get
    - wasm_extern_as_memory
    - wasm_instance_new
    - wasm_externtype_kind
    linkageType: ''
    returnType: bool
    signature: bool Wamr::link(std::string_view /*debug_name*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: proxy_wasm::wamr::Wamr::getMemorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Wamr::getMemorySize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:401,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: proxy_wasm::wamr::Wamr::getMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - std::string_view
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Wamr::getMemory(uint64_t pointer, uint64_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:409,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:410,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pointer
    - size
    - data
    argTypes:
    - uint64_t
    - uint64_t
    - void*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: proxy_wasm::wamr::Wamr::setMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setMemory(uint64_t pointer, uint64_t size, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:418,1
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:420,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:425,1
    - Dst: wasmtoh
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word*
    assertStmts:
    - condition: (memory_ != nullptr)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: proxy_wasm::wamr::Wamr::getWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - IOBufferReader::memcpy
    - wasmtoh
    - wasm_memory_data_size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Wamr::getWord(uint64_t pointer, Word *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm_memory_data_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:432,1
    - Dst: htowasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: Word::u32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:435,1
    - Dst: IOBufferReader::memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: wasm_memory_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pointer
    - word
    argTypes:
    - uint64_t
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: proxy_wasm::wamr::Wamr::setWord
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - wasm_memory_data
    - htowasm
    - Word::u32
    - IOBufferReader::memcpy
    - wasm_memory_data_size
    linkageType: ''
    returnType: bool
    signature: bool Wamr::setWord(uint64_t pointer, Word word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - Word
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal<Word>(Word t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint32_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint32_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - uint64_t
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void assignVal(uint64_t t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - val
    argTypes:
    - double
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: proxy_wasm::wamr::assignVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignVal(double t, wasm_val_t &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::assignVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: proxy_wasm::wamr::makeVal
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - proxy_wasm::wamr::assignVal
    linkageType: ''
    returnType: wasm_val_t
    signature: wasm_val_t makeVal(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<Word>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i32
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint32_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<int64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_i64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_i64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<uint64_t>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm_valtype_new_f64
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: proxy_wasm::wamr::convertArgToValTypePtr
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_valtype_new_f64
    linkageType: ''
    returnType: auto
    signature: auto convertArgToValTypePtr<double>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t convertValueTypeToArg<uint32_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Word
    signature: Word convertValueTypeToArg<Word>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertValueTypeToArg<int64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t convertValueTypeToArg<uint64_t>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - wasm_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: proxy_wasm::wamr::convertValueTypeToArg
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double convertValueTypeToArg<double>(wasm_val_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:491,1
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: proxy_wasm::wamr::convertValTypesToArgsTuple
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: T
    signature: T convertValTypesToArgsTuple(const U &vec, std::index_sequence<I...>
      /*comptime*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:501,1
    - Dst: wasm_valtype_vec_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 3
    functionsReached:
    - wasm_valtype_vec_new
    - auto::data
    - UnitParser::operator()(swoc::TextView const &src) const noexcept -> Rv<value_type>
    linkageType: ''
    returnType: void
    signature: "void convertArgsTupleToValTypesImpl(wasm_valtype_vec_t *types,\n                                    std::index_sequence<I...>
      /*comptime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypesImpl
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    - Dst: Is
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - types
    argTypes:
    - wasm_valtype_vec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: proxy_wasm::wamr::convertArgsTupleToValTypes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 6
    functionsReached:
    - Is
    - proxy_wasm::wamr::convertArgsTupleToValTypesImpl
    linkageType: ''
    returnType: void
    signature: void convertArgsTupleToValTypes(wasm_valtype_vec_t *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:513,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:514,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:521,1
    - Dst: proxy_wasm::wamr::convertArgsTupleToValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:522,1
    - Dst: wasm_functype_new
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: proxy_wasm::wamr::newWasmNewFuncType
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - wasm_functype_new
    - proxy_wasm::wamr::convertArgsTupleToValTypes
    linkageType: ''
    returnType: WasmFunctypePtr
    signature: WasmFunctypePtr newWasmNewFuncType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:530,1
    - Dst: newWasmNewFuncType<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:532,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:533,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:534,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:536,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:537,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:539,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:540,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:542,1
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:544,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:545,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:547,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:551,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:554,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:555,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:556,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - get
    - auto::get
    - std::apply
    - wasm_func_new_with_env
    - WasmFunctypePtr::get
    - std::make_unique<HostFuncData>
    - std::string
    - newWasmNewFuncType<std::tuple<Args...>>
    - auto*::vm_::integration
    - auto*::vm_::cmpLogLevel
    - reinterpret_cast<void (*)(Args...)>
    - std::move
    - printValues
    - reinterpret_cast<void *>
    - insert_or_assign
    - reinterpret_cast<HostFuncData *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    void (*function)(Args...))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HostFuncData>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:564,1
    - Dst: newWasmNewFuncType<R, std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:565,1
    - Dst: wasm_func_new_with_env
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:566,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:567,1
    - Dst: reinterpret_cast<HostFuncData *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:569,1
    - Dst: auto*::vm_::cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:570,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:572,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:573,1
    - Dst: convertValTypesToArgsTuple<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:575,1
    - Dst: reinterpret_cast<R (*)(Args...)>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:577,1
    - Dst: std::apply
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:578,1
    - Dst: assignVal<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:579,1
    - Dst: auto*::vm_::integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:581,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:582,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:586,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:589,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:590,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:591,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - module_name
    - function_name
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: proxy_wasm::wamr::Wamr::registerHostFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto*::vm_::integration
    - reinterpret_cast<void *>
    - convertValTypesToArgsTuple<std::tuple<Args...>>
    - get
    - wasm_func_new_with_env
    - std::move
    - reinterpret_cast<HostFuncData *>
    - std::apply
    - std::make_unique<HostFuncData>
    - assignVal<R>
    - insert_or_assign
    - printValues
    - std::to_string
    - auto::get
    - WasmFunctypePtr::get
    - newWasmNewFuncType<R, std::tuple<Args...>>
    - reinterpret_cast<R (*)(Args...)>
    - auto*::vm_::cmpLogLevel
    linkageType: ''
    returnType: void
    signature: "void Wamr::registerHostFunctionImpl(std::string_view module_name,
      std::string_view function_name,\n                                    R (*function)(Args...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:599,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:600,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:607,1
    - Dst: convertArgsTupleToValTypes<std::tuple<>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:608,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:609,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:610,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:612,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:613,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:614,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:615,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:616,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:617,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:618,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:623,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:624,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:626,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:628,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:632,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:635,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:636,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:637,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:638,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<void(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 645
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - auto::second::get
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    - convertArgsTupleToValTypes<std::tuple<>>
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<void(ContextBase *, Args...)>
      *function)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:650,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:651,1
    - Dst: convertArgsTupleToValTypes<std::tuple<Args...>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:657,1
    - Dst: convertArgsTupleToValTypes<std::tuple<R>>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:658,1
    - Dst: auto::second::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:659,1
    - Dst: wasm_func_type
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:660,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:661,1
    - Dst: equalValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:662,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:663,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:664,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: WasmValtypeVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:665,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: wasm_functype_params
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:666,1
    - Dst: printValTypes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: wasm_functype_results
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: WasmFunctypePtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:667,1
    - Dst: makeVal
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:672,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:673,1
    - Dst: WASM_ARRAY_VEC
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:675,1
    - Dst: cmpLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:676,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: printValues
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:678,1
    - Dst: wasm_func_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:682,1
    - Dst: wasm_trap_message
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmTrapPtr::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:685,1
    - Dst: WasmByteVec::get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:686,1
    - Dst: fail
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:687,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:688,1
    - Dst: convertValueTypeToArg<R>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:691,1
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:693,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - function_name
    - function
    argTypes:
    - std::string_view
    - std::function<R(ContextBase *, Args...)>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 698
    functionName: proxy_wasm::wamr::Wamr::getModuleFunctionImpl
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 0
    functionsReached:
    - fail
    - WASM_ARRAY_VEC
    - std::string
    - convertValueTypeToArg<R>
    - wasm_functype_params
    - wasm_functype_results
    - wasm_func_call
    - makeVal
    - WasmTrapPtr::get
    - find
    - wasm_func_type
    - integration
    - end
    - printValues
    - printValTypes
    - convertArgsTupleToValTypes<std::tuple<R>>
    - auto::second::get
    - std::to_string
    - cmpLogLevel
    - wasm_trap_message
    - WasmValtypeVec::get
    - WasmFunctypePtr::get
    - convertArgsTupleToValTypes<std::tuple<Args...>>
    - equalValTypes
    - WasmByteVec::get
    linkageType: ''
    returnType: void
    signature: "void Wamr::getModuleFunctionImpl(std::string_view function_name,\n
      \                                std::function<R(ContextBase *, Args...)> *function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<wamr::Wamr>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: proxy_wasm::createWamrVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/src/wamr/wamr.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<wamr::Wamr>
    linkageType: ''
    returnType: std::unique_ptr<WasmVm>
    signature: std::unique_ptr<WasmVm> createWamrVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: htowasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htowasm(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: wasmtoh
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wasmtoh(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: htowasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htowasm(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: wasmtoh
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wasmtoh(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Word()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Word(uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - WasmResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Word(WasmResult r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: proxy_wasm::u32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t u32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator uint64_t() const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::convertWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertWordToUint32(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: proxy_wasm::convertWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: auto
    signature: auto convertWordToUint32<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertFunctionWordToUint32()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::convertWordToUint32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    - Dst: F
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - proxy_wasm::convertWordToUint32
    - F
    linkageType: ''
    returnType: typename ConvertWordTypeToUint32<R>::type
    signature: typename ConvertWordTypeToUint32<R>::type convertFunctionWordToUint32(typename
      ConvertWordTypeToUint32<Args>::type... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:77,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - F
    linkageType: ''
    returnType: void
    signature: void convertFunctionWordToUint32(typename ConvertWordTypeToUint32<Args>::type...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: CONVERT_FUNCTION_WORD_TO_UINT32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_FUNCTION_WORD_TO_UINT32(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: htowasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htowasm(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: wasmtoh
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wasmtoh(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: htowasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htowasm(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vm_uses_wasm_byte_order
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: wasmtoh
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wasmtoh(x, vm_uses_wasm_byte_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Word()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Word(uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - WasmResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: proxy_wasm::Word
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Word(WasmResult r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: proxy_wasm::u32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t u32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: operator uint64_t() const
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::convertWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto convertWordToUint32(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: proxy_wasm::convertWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: auto
    signature: auto convertWordToUint32<Word>(Word t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertFunctionWordToUint32()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::convertWordToUint32
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    - Dst: F
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - proxy_wasm::convertWordToUint32
    - F
    linkageType: ''
    returnType: typename ConvertWordTypeToUint32<R>::type
    signature: typename ConvertWordTypeToUint32<R>::type convertFunctionWordToUint32(typename
      ConvertWordTypeToUint32<Args>::type... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:77,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: proxy_wasm::convertFunctionWordToUint32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - F
    linkageType: ''
    returnType: void
    signature: void convertFunctionWordToUint32(typename ConvertWordTypeToUint32<Args>::type...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: CONVERT_FUNCTION_WORD_TO_UINT32
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_FUNCTION_WORD_TO_UINT32(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - w
    argTypes:
    - std::ostream
    - proxy_wasm::Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '&operator<<(std::ostream &os, const proxy_wasm::Word &w)'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const proxy_wasm::Word &w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: FOR_ALL_WASM_VM_EXPORTS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASM_VM_EXPORTS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: FOR_ALL_WASM_VM_IMPORTS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASM_VM_IMPORTS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~WasmVmIntegration()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WasmVmIntegration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ~WasmVm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WasmVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: proxy_wasm::WasmVm::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:314,1
    - Dst: callback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fail_state
    - message
    argTypes:
    - FailState
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: proxy_wasm::WasmVm::fail
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - callback
    - integration
    linkageType: ''
    returnType: void
    signature: void fail(FailState fail_state, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fail_callback
    argTypes:
    - std::function<void(FailState)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: proxy_wasm::WasmVm::addFailCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addFailCallback(std::function<void(FailState)> fail_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:325,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: proxy_wasm::WasmVm::isHostFunctionAllowed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool isHostFunctionAllowed(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - restricted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: proxy_wasm::WasmVm::setRestrictedCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void setRestrictedCallback(bool restricted,\n                             std::unordered_set<std::string>
      allowed_hostcalls = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&integration()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVmIntegration>
    signature: std::unique_ptr<WasmVmIntegration> &integration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - proxy_wasm::LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: proxy_wasm::WasmVm::cmpLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - getLogLevel
    linkageType: ''
    returnType: bool
    signature: bool cmpLogLevel(proxy_wasm::LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: proxy_wasm::SaveRestoreContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SaveRestoreContext(ContextBase *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ~SaveRestoreContext()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SaveRestoreContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: FOR_ALL_WASM_VM_EXPORTS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASM_VM_EXPORTS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: FOR_ALL_WASM_VM_IMPORTS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASM_VM_IMPORTS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~WasmVmIntegration()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WasmVmIntegration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ~WasmVm()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WasmVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: _GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: proxy_wasm::WasmVm::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:314,1
    - Dst: callback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fail_state
    - message
    argTypes:
    - FailState
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: proxy_wasm::WasmVm::fail
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - callback
    - integration
    linkageType: ''
    returnType: void
    signature: void fail(FailState fail_state, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fail_callback
    argTypes:
    - std::function<void(FailState)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: proxy_wasm::WasmVm::addFailCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addFailCallback(std::function<void(FailState)> fail_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:325,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: proxy_wasm::WasmVm::isHostFunctionAllowed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool isHostFunctionAllowed(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - restricted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: proxy_wasm::WasmVm::setRestrictedCallback
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void setRestrictedCallback(bool restricted,\n                             std::unordered_set<std::string>
      allowed_hostcalls = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&integration()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<WasmVmIntegration>
    signature: std::unique_ptr<WasmVmIntegration> &integration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLogLevel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - proxy_wasm::LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: proxy_wasm::WasmVm::cmpLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached:
    - getLogLevel
    linkageType: ''
    returnType: bool
    signature: bool cmpLogLevel(proxy_wasm::LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: proxy_wasm::SaveRestoreContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SaveRestoreContext(ContextBase *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ~SaveRestoreContext()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SaveRestoreContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: proxy_wasm::NullVmPlugin::NullVmPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVmPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~NullVmPlugin()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NullVmPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: _DEFINE_GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DEFINE_GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: proxy_wasm::NullVmPlugin::NullVmPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVmPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~NullVmPlugin()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NullVmPlugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: _DEFINE_GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DEFINE_GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/vm_id_handle.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: proxy_wasm::VmIdHandle::VmIdHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/vm_id_handle.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void VmIdHandle(std::string_view vm_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/vm_id_handle.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vm_id
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: proxy_wasm::VmIdHandle::VmIdHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/vm_id_handle.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void VmIdHandle(std::string_view vm_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: WS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: WR
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WasmResult>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: proxy_wasm::null_plugin::wordToWasmResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - static_cast<WasmResult>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult wordToWasmResult(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:48,1
    - Dst: proxy_wasm::exports::get_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - configuration_ptr
    - configuration_size
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: proxy_wasm::null_plugin::proxy_get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_configuration
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_configuration(const char **configuration_ptr,\n
      \                                         size_t *configuration_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: proxy_wasm::exports::get_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - code_ptr
    - ptr
    - size
    argTypes:
    - uint32_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: proxy_wasm::null_plugin::proxy_get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_status(uint32_t *code_ptr, const char **ptr, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: proxy_wasm::exports::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - logMessage
    - messageSize
    argTypes:
    - LogLevel
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: proxy_wasm::null_plugin::proxy_log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::log
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_log(LogLevel level, const char *logMessage, size_t
      messageSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: proxy_wasm::exports::get_log_level
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: proxy_wasm::null_plugin::proxy_get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_log_level
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_log_level(LogLevel *level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millisecond
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: proxy_wasm::null_plugin::proxy_set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_tick_period_milliseconds
    - Word
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_tick_period_milliseconds(uint64_t millisecond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: proxy_wasm::null_plugin::proxy_get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_current_time_nanoseconds(uint64_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:75,1
    - Dst: proxy_wasm::exports::get_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: proxy_wasm::null_plugin::proxy_get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_property
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_property(const char *path_ptr, size_t path_size,\n
      \                                    const char **value_ptr_ptr, size_t *value_size_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:80,1
    - Dst: proxy_wasm::exports::set_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: proxy_wasm::null_plugin::proxy_set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::set_property
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_property(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                     size_t value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    - Dst: proxy_wasm::exports::continue_request
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: proxy_wasm::null_plugin::proxy_continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_request
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    - Dst: proxy_wasm::exports::continue_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: proxy_wasm::null_plugin::proxy_continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_response
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: proxy_wasm::exports::continue_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proxy_wasm::null_plugin::proxy_continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::continue_stream
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: proxy_wasm::exports::close_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: proxy_wasm::null_plugin::proxy_close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::close_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_close_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: proxy_wasm::exports::send_local_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - uint32_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: proxy_wasm::null_plugin::proxy_send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::send_local_response
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_send_local_response(uint32_t response_code, const
      char *response_code_details_ptr,\n                          size_t response_code_details_size,
      const char *body_ptr, size_t body_size,\n                          const char
      *additional_response_header_pairs_ptr,\n                          size_t additional_response_header_pairs_size,
      uint32_t grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    - Dst: proxy_wasm::exports::clear_route_cache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: proxy_wasm::null_plugin::proxy_clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::clear_route_cache
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_clear_route_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:113,1
    - Dst: proxy_wasm::exports::get_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: proxy_wasm::null_plugin::proxy_get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_shared_data
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_shared_data(const char *key_ptr, size_t key_size,\n
      \                                       const char **value_ptr, size_t *value_size,
      uint32_t *cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:120,1
    - Dst: proxy_wasm::exports::set_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: proxy_wasm::null_plugin::proxy_set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_shared_data
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_shared_data(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                        size_t value_size,
      uint64_t cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:130,1
    - Dst: proxy_wasm::exports::register_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: proxy_wasm::null_plugin::proxy_register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::register_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_register_shared_queue(const char *queue_name_ptr,
      size_t queue_name_size,\n                                              uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: proxy_wasm::exports::resolve_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: proxy_wasm::null_plugin::proxy_resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::resolve_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_resolve_shared_queue(const char *vm_id_ptr, size_t
      vm_id_size,\n                                             const char *queue_name_ptr,
      size_t queue_name_size,\n                                             uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: proxy_wasm::exports::dequeue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: proxy_wasm::null_plugin::proxy_dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::dequeue_shared_queue
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_dequeue_shared_queue(uint32_t token, const char **data_ptr,\n
      \                                            size_t *data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: proxy_wasm::exports::enqueue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: proxy_wasm::null_plugin::proxy_enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::enqueue_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_enqueue_shared_queue(uint32_t token, const char *data_ptr,\n
      \                                            size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:154,1
    - Dst: proxy_wasm::exports::get_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_bytes
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char **ptr,
      size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: proxy_wasm::exports::get_buffer_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - WasmBufferType
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_status(WasmBufferType type, size_t *length_ptr,\n
      \                                         uint32_t *flags_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:165,1
    - Dst: proxy_wasm::exports::set_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: proxy_wasm::null_plugin::proxy_set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_buffer_bytes
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char *data,
      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: proxy_wasm::exports::add_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: proxy_wasm::null_plugin::proxy_add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::add_header_map_value
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_add_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char *value_ptr,\n                                             size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: proxy_wasm::exports::get_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_value
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char **value_ptr,\n                                             size_t
      *value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: proxy_wasm::exports::get_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_pairs
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_pairs(WasmHeaderMapType type, const
      char **ptr,\n                                             size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: proxy_wasm::exports::set_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::null_plugin::proxy_set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_header_map_pairs
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_header_map_pairs(WasmHeaderMapType type, const
      char *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: proxy_wasm::exports::replace_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: proxy_wasm::null_plugin::proxy_replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::replace_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_replace_header_map_value(WasmHeaderMapType type,
      const char *key_ptr,\n                                                 size_t
      key_size, const char *value_ptr,\n                                                 size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: proxy_wasm::exports::remove_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: proxy_wasm::null_plugin::proxy_remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::remove_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_remove_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                                size_t key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: proxy_wasm::exports::get_header_map_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - WasmHeaderMapType
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_header_map_size
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_header_map_size(WasmHeaderMapType type, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: proxy_wasm::exports::http_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: proxy_wasm::null_plugin::proxy_http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::http_call
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_http_call(const char *uri_ptr, size_t uri_size, void
      *header_pairs_ptr,\n                                  size_t header_pairs_size,
      const char *body_ptr, size_t body_size,\n                                  void
      *trailer_pairs_ptr, size_t trailer_pairs_size,\n                                  uint64_t
      timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:222,1
    - Dst: proxy_wasm::exports::grpc_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: proxy_wasm::null_plugin::proxy_grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_call
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_call(const char *service_ptr, size_t service_size,\n
      \                                 const char *service_name_ptr, size_t service_name_size,\n
      \                                 const char *method_name_ptr, size_t method_name_size,\n
      \                                 void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                 const char *request_ptr, size_t request_size,\n
      \                                 uint64_t timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:233,1
    - Dst: proxy_wasm::exports::grpc_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: proxy_wasm::null_plugin::proxy_grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::grpc_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_stream(const char *service_ptr, size_t service_size,\n
      \                                   const char *service_name_ptr, size_t service_name_size,\n
      \                                   const char *method_name_ptr, size_t method_name_size,\n
      \                                   void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                   uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: proxy_wasm::exports::grpc_cancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: proxy_wasm::null_plugin::proxy_grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_cancel
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_cancel(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: proxy_wasm::exports::grpc_close
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: proxy_wasm::null_plugin::proxy_grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::grpc_close
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_close(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:246,1
    - Dst: proxy_wasm::exports::grpc_send
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - uint64_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 6
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: proxy_wasm::null_plugin::proxy_grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::grpc_send
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_send(uint64_t token, const char *message_ptr,
      size_t message_size,\n                                  uint64_t end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:254,1
    - Dst: proxy_wasm::exports::define_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - name_ptr
    - name_size
    - metric_id
    argTypes:
    - MetricType
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: proxy_wasm::null_plugin::proxy_define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::define_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_define_metric(MetricType type, const char *name_ptr,
      size_t name_size,\n                                      uint32_t *metric_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: proxy_wasm::exports::increment_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: proxy_wasm::null_plugin::proxy_increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::increment_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_increment_metric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: proxy_wasm::exports::record_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: proxy_wasm::null_plugin::proxy_record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::record_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_record_metric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: proxy_wasm::exports::get_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: proxy_wasm::null_plugin::proxy_get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_metric(uint32_t metric_id, uint64_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: proxy_wasm::exports::set_effective_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: proxy_wasm::null_plugin::proxy_set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_effective_context
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_effective_context(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    - Dst: proxy_wasm::exports::done
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: proxy_wasm::null_plugin::proxy_done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::done
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: proxy_wasm::exports::call_foreign_function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: proxy_wasm::null_plugin::proxy_call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::call_foreign_function
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_call_foreign_function(const char *function_name,
      size_t function_name_size,\n                                              const
      char *arguments, size_t arguments_size,\n                                              char
      **results, size_t *results_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: WS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: WR
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WasmResult>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: proxy_wasm::null_plugin::wordToWasmResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 43
    functionsReached:
    - static_cast<WasmResult>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult wordToWasmResult(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:48,1
    - Dst: proxy_wasm::exports::get_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - configuration_ptr
    - configuration_size
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: proxy_wasm::null_plugin::proxy_get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_configuration
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_configuration(const char **configuration_ptr,\n
      \                                         size_t *configuration_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: proxy_wasm::exports::get_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - code_ptr
    - ptr
    - size
    argTypes:
    - uint32_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: proxy_wasm::null_plugin::proxy_get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_status(uint32_t *code_ptr, const char **ptr, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: proxy_wasm::exports::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - logMessage
    - messageSize
    argTypes:
    - LogLevel
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: proxy_wasm::null_plugin::proxy_log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::log
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_log(LogLevel level, const char *logMessage, size_t
      messageSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: proxy_wasm::exports::get_log_level
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: proxy_wasm::null_plugin::proxy_get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_log_level
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_log_level(LogLevel *level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millisecond
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: proxy_wasm::null_plugin::proxy_set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_tick_period_milliseconds
    - Word
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_tick_period_milliseconds(uint64_t millisecond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: proxy_wasm::null_plugin::proxy_get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_current_time_nanoseconds(uint64_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:75,1
    - Dst: proxy_wasm::exports::get_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: proxy_wasm::null_plugin::proxy_get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_property
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_property(const char *path_ptr, size_t path_size,\n
      \                                    const char **value_ptr_ptr, size_t *value_size_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:80,1
    - Dst: proxy_wasm::exports::set_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: proxy_wasm::null_plugin::proxy_set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::set_property
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_property(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                     size_t value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    - Dst: proxy_wasm::exports::continue_request
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: proxy_wasm::null_plugin::proxy_continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_request
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    - Dst: proxy_wasm::exports::continue_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: proxy_wasm::null_plugin::proxy_continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_response
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: proxy_wasm::exports::continue_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proxy_wasm::null_plugin::proxy_continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::continue_stream
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: proxy_wasm::exports::close_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: proxy_wasm::null_plugin::proxy_close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::close_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_close_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: proxy_wasm::exports::send_local_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - uint32_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: proxy_wasm::null_plugin::proxy_send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::send_local_response
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_send_local_response(uint32_t response_code, const
      char *response_code_details_ptr,\n                          size_t response_code_details_size,
      const char *body_ptr, size_t body_size,\n                          const char
      *additional_response_header_pairs_ptr,\n                          size_t additional_response_header_pairs_size,
      uint32_t grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    - Dst: proxy_wasm::exports::clear_route_cache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: proxy_wasm::null_plugin::proxy_clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::clear_route_cache
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_clear_route_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:113,1
    - Dst: proxy_wasm::exports::get_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: proxy_wasm::null_plugin::proxy_get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_shared_data
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_shared_data(const char *key_ptr, size_t key_size,\n
      \                                       const char **value_ptr, size_t *value_size,
      uint32_t *cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:120,1
    - Dst: proxy_wasm::exports::set_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: proxy_wasm::null_plugin::proxy_set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_shared_data
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_shared_data(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                        size_t value_size,
      uint64_t cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:130,1
    - Dst: proxy_wasm::exports::register_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: proxy_wasm::null_plugin::proxy_register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::register_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_register_shared_queue(const char *queue_name_ptr,
      size_t queue_name_size,\n                                              uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: proxy_wasm::exports::resolve_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: proxy_wasm::null_plugin::proxy_resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::resolve_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_resolve_shared_queue(const char *vm_id_ptr, size_t
      vm_id_size,\n                                             const char *queue_name_ptr,
      size_t queue_name_size,\n                                             uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: proxy_wasm::exports::dequeue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: proxy_wasm::null_plugin::proxy_dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::dequeue_shared_queue
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_dequeue_shared_queue(uint32_t token, const char **data_ptr,\n
      \                                            size_t *data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: proxy_wasm::exports::enqueue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: proxy_wasm::null_plugin::proxy_enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::enqueue_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_enqueue_shared_queue(uint32_t token, const char *data_ptr,\n
      \                                            size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:154,1
    - Dst: proxy_wasm::exports::get_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_bytes
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char **ptr,
      size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: proxy_wasm::exports::get_buffer_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - WasmBufferType
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_status(WasmBufferType type, size_t *length_ptr,\n
      \                                         uint32_t *flags_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:165,1
    - Dst: proxy_wasm::exports::set_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: proxy_wasm::null_plugin::proxy_set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_buffer_bytes
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char *data,
      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: proxy_wasm::exports::add_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: proxy_wasm::null_plugin::proxy_add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::add_header_map_value
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_add_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char *value_ptr,\n                                             size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: proxy_wasm::exports::get_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_value
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char **value_ptr,\n                                             size_t
      *value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: proxy_wasm::exports::get_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_pairs
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_pairs(WasmHeaderMapType type, const
      char **ptr,\n                                             size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: proxy_wasm::exports::set_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::null_plugin::proxy_set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_header_map_pairs
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_header_map_pairs(WasmHeaderMapType type, const
      char *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: proxy_wasm::exports::replace_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: proxy_wasm::null_plugin::proxy_replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::replace_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_replace_header_map_value(WasmHeaderMapType type,
      const char *key_ptr,\n                                                 size_t
      key_size, const char *value_ptr,\n                                                 size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: proxy_wasm::exports::remove_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: proxy_wasm::null_plugin::proxy_remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::remove_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_remove_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                                size_t key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: proxy_wasm::exports::get_header_map_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - WasmHeaderMapType
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_header_map_size
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_header_map_size(WasmHeaderMapType type, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: proxy_wasm::exports::http_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: proxy_wasm::null_plugin::proxy_http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::http_call
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_http_call(const char *uri_ptr, size_t uri_size, void
      *header_pairs_ptr,\n                                  size_t header_pairs_size,
      const char *body_ptr, size_t body_size,\n                                  void
      *trailer_pairs_ptr, size_t trailer_pairs_size,\n                                  uint64_t
      timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:222,1
    - Dst: proxy_wasm::exports::grpc_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: proxy_wasm::null_plugin::proxy_grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_call
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_call(const char *service_ptr, size_t service_size,\n
      \                                 const char *service_name_ptr, size_t service_name_size,\n
      \                                 const char *method_name_ptr, size_t method_name_size,\n
      \                                 void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                 const char *request_ptr, size_t request_size,\n
      \                                 uint64_t timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:233,1
    - Dst: proxy_wasm::exports::grpc_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: proxy_wasm::null_plugin::proxy_grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::grpc_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_stream(const char *service_ptr, size_t service_size,\n
      \                                   const char *service_name_ptr, size_t service_name_size,\n
      \                                   const char *method_name_ptr, size_t method_name_size,\n
      \                                   void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                   uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: proxy_wasm::exports::grpc_cancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: proxy_wasm::null_plugin::proxy_grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_cancel
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_cancel(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: proxy_wasm::exports::grpc_close
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: proxy_wasm::null_plugin::proxy_grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::grpc_close
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_close(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:246,1
    - Dst: proxy_wasm::exports::grpc_send
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - uint64_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 6
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: proxy_wasm::null_plugin::proxy_grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::grpc_send
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_send(uint64_t token, const char *message_ptr,
      size_t message_size,\n                                  uint64_t end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:254,1
    - Dst: proxy_wasm::exports::define_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - name_ptr
    - name_size
    - metric_id
    argTypes:
    - MetricType
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: proxy_wasm::null_plugin::proxy_define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::define_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_define_metric(MetricType type, const char *name_ptr,
      size_t name_size,\n                                      uint32_t *metric_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: proxy_wasm::exports::increment_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: proxy_wasm::null_plugin::proxy_increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::increment_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_increment_metric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: proxy_wasm::exports::record_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: proxy_wasm::null_plugin::proxy_record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::record_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_record_metric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: proxy_wasm::exports::get_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: proxy_wasm::null_plugin::proxy_get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_metric(uint32_t metric_id, uint64_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: proxy_wasm::exports::set_effective_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: proxy_wasm::null_plugin::proxy_set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_effective_context
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_effective_context(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    - Dst: proxy_wasm::exports::done
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: proxy_wasm::null_plugin::proxy_done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::done
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: proxy_wasm::exports::call_foreign_function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: proxy_wasm::null_plugin::proxy_call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::call_foreign_function
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_call_foreign_function(const char *function_name,
      size_t function_name_size,\n                                              const
      char *arguments, size_t arguments_size,\n                                              char
      **results, size_t *results_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: WS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: WR
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WasmResult>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: proxy_wasm::null_plugin::wordToWasmResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 86
    functionsReached:
    - static_cast<WasmResult>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult wordToWasmResult(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:48,1
    - Dst: proxy_wasm::exports::get_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - configuration_ptr
    - configuration_size
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: proxy_wasm::null_plugin::proxy_get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_configuration
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_configuration(const char **configuration_ptr,\n
      \                                         size_t *configuration_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: proxy_wasm::exports::get_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - code_ptr
    - ptr
    - size
    argTypes:
    - uint32_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: proxy_wasm::null_plugin::proxy_get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_status(uint32_t *code_ptr, const char **ptr, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: proxy_wasm::exports::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - logMessage
    - messageSize
    argTypes:
    - LogLevel
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: proxy_wasm::null_plugin::proxy_log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::log
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_log(LogLevel level, const char *logMessage, size_t
      messageSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: proxy_wasm::exports::get_log_level
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: proxy_wasm::null_plugin::proxy_get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_log_level
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_log_level(LogLevel *level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millisecond
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: proxy_wasm::null_plugin::proxy_set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_tick_period_milliseconds
    - Word
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_tick_period_milliseconds(uint64_t millisecond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: proxy_wasm::null_plugin::proxy_get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_current_time_nanoseconds(uint64_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:75,1
    - Dst: proxy_wasm::exports::get_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: proxy_wasm::null_plugin::proxy_get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_property
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_property(const char *path_ptr, size_t path_size,\n
      \                                    const char **value_ptr_ptr, size_t *value_size_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:80,1
    - Dst: proxy_wasm::exports::set_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: proxy_wasm::null_plugin::proxy_set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::set_property
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_property(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                     size_t value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    - Dst: proxy_wasm::exports::continue_request
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: proxy_wasm::null_plugin::proxy_continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_request
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    - Dst: proxy_wasm::exports::continue_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: proxy_wasm::null_plugin::proxy_continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_response
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: proxy_wasm::exports::continue_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proxy_wasm::null_plugin::proxy_continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::continue_stream
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: proxy_wasm::exports::close_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: proxy_wasm::null_plugin::proxy_close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::close_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_close_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: proxy_wasm::exports::send_local_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - uint32_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: proxy_wasm::null_plugin::proxy_send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::send_local_response
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_send_local_response(uint32_t response_code, const
      char *response_code_details_ptr,\n                          size_t response_code_details_size,
      const char *body_ptr, size_t body_size,\n                          const char
      *additional_response_header_pairs_ptr,\n                          size_t additional_response_header_pairs_size,
      uint32_t grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    - Dst: proxy_wasm::exports::clear_route_cache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: proxy_wasm::null_plugin::proxy_clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::clear_route_cache
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_clear_route_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:113,1
    - Dst: proxy_wasm::exports::get_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: proxy_wasm::null_plugin::proxy_get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_shared_data
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_shared_data(const char *key_ptr, size_t key_size,\n
      \                                       const char **value_ptr, size_t *value_size,
      uint32_t *cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:120,1
    - Dst: proxy_wasm::exports::set_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: proxy_wasm::null_plugin::proxy_set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_shared_data
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_shared_data(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                        size_t value_size,
      uint64_t cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:130,1
    - Dst: proxy_wasm::exports::register_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: proxy_wasm::null_plugin::proxy_register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::register_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_register_shared_queue(const char *queue_name_ptr,
      size_t queue_name_size,\n                                              uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: proxy_wasm::exports::resolve_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: proxy_wasm::null_plugin::proxy_resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::resolve_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_resolve_shared_queue(const char *vm_id_ptr, size_t
      vm_id_size,\n                                             const char *queue_name_ptr,
      size_t queue_name_size,\n                                             uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: proxy_wasm::exports::dequeue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: proxy_wasm::null_plugin::proxy_dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::dequeue_shared_queue
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_dequeue_shared_queue(uint32_t token, const char **data_ptr,\n
      \                                            size_t *data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: proxy_wasm::exports::enqueue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: proxy_wasm::null_plugin::proxy_enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::enqueue_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_enqueue_shared_queue(uint32_t token, const char *data_ptr,\n
      \                                            size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:154,1
    - Dst: proxy_wasm::exports::get_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_bytes
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char **ptr,
      size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: proxy_wasm::exports::get_buffer_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - WasmBufferType
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_status(WasmBufferType type, size_t *length_ptr,\n
      \                                         uint32_t *flags_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:165,1
    - Dst: proxy_wasm::exports::set_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: proxy_wasm::null_plugin::proxy_set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_buffer_bytes
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char *data,
      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: proxy_wasm::exports::add_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: proxy_wasm::null_plugin::proxy_add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::add_header_map_value
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_add_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char *value_ptr,\n                                             size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: proxy_wasm::exports::get_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_value
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char **value_ptr,\n                                             size_t
      *value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: proxy_wasm::exports::get_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_pairs
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_pairs(WasmHeaderMapType type, const
      char **ptr,\n                                             size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: proxy_wasm::exports::set_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::null_plugin::proxy_set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_header_map_pairs
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_header_map_pairs(WasmHeaderMapType type, const
      char *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: proxy_wasm::exports::replace_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: proxy_wasm::null_plugin::proxy_replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::replace_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_replace_header_map_value(WasmHeaderMapType type,
      const char *key_ptr,\n                                                 size_t
      key_size, const char *value_ptr,\n                                                 size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: proxy_wasm::exports::remove_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: proxy_wasm::null_plugin::proxy_remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::remove_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_remove_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                                size_t key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: proxy_wasm::exports::get_header_map_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - WasmHeaderMapType
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_header_map_size
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_header_map_size(WasmHeaderMapType type, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: proxy_wasm::exports::http_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: proxy_wasm::null_plugin::proxy_http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::http_call
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_http_call(const char *uri_ptr, size_t uri_size, void
      *header_pairs_ptr,\n                                  size_t header_pairs_size,
      const char *body_ptr, size_t body_size,\n                                  void
      *trailer_pairs_ptr, size_t trailer_pairs_size,\n                                  uint64_t
      timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:222,1
    - Dst: proxy_wasm::exports::grpc_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: proxy_wasm::null_plugin::proxy_grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_call
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_call(const char *service_ptr, size_t service_size,\n
      \                                 const char *service_name_ptr, size_t service_name_size,\n
      \                                 const char *method_name_ptr, size_t method_name_size,\n
      \                                 void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                 const char *request_ptr, size_t request_size,\n
      \                                 uint64_t timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:233,1
    - Dst: proxy_wasm::exports::grpc_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: proxy_wasm::null_plugin::proxy_grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::grpc_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_stream(const char *service_ptr, size_t service_size,\n
      \                                   const char *service_name_ptr, size_t service_name_size,\n
      \                                   const char *method_name_ptr, size_t method_name_size,\n
      \                                   void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                   uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: proxy_wasm::exports::grpc_cancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: proxy_wasm::null_plugin::proxy_grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_cancel
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_cancel(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: proxy_wasm::exports::grpc_close
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: proxy_wasm::null_plugin::proxy_grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::grpc_close
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_close(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:246,1
    - Dst: proxy_wasm::exports::grpc_send
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - uint64_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 6
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: proxy_wasm::null_plugin::proxy_grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::grpc_send
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_send(uint64_t token, const char *message_ptr,
      size_t message_size,\n                                  uint64_t end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:254,1
    - Dst: proxy_wasm::exports::define_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - name_ptr
    - name_size
    - metric_id
    argTypes:
    - MetricType
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: proxy_wasm::null_plugin::proxy_define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::define_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_define_metric(MetricType type, const char *name_ptr,
      size_t name_size,\n                                      uint32_t *metric_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: proxy_wasm::exports::increment_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: proxy_wasm::null_plugin::proxy_increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::increment_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_increment_metric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: proxy_wasm::exports::record_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: proxy_wasm::null_plugin::proxy_record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::record_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_record_metric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: proxy_wasm::exports::get_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: proxy_wasm::null_plugin::proxy_get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_metric(uint32_t metric_id, uint64_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: proxy_wasm::exports::set_effective_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: proxy_wasm::null_plugin::proxy_set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_effective_context
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_effective_context(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    - Dst: proxy_wasm::exports::done
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: proxy_wasm::null_plugin::proxy_done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::done
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: proxy_wasm::exports::call_foreign_function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: proxy_wasm::null_plugin::proxy_call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::call_foreign_function
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_call_foreign_function(const char *function_name,
      size_t function_name_size,\n                                              const
      char *arguments, size_t arguments_size,\n                                              char
      **results, size_t *results_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: WS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WS(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: WR
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WR(_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WasmResult>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - Word
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: proxy_wasm::null_plugin::wordToWasmResult
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 129
    functionsReached:
    - static_cast<WasmResult>
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult wordToWasmResult(Word w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:48,1
    - Dst: proxy_wasm::exports::get_configuration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - configuration_ptr
    - configuration_size
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: proxy_wasm::null_plugin::proxy_get_configuration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_configuration
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_configuration(const char **configuration_ptr,\n
      \                                         size_t *configuration_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: proxy_wasm::exports::get_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - code_ptr
    - ptr
    - size
    argTypes:
    - uint32_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: proxy_wasm::null_plugin::proxy_get_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_status(uint32_t *code_ptr, const char **ptr, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: proxy_wasm::exports::log
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - logMessage
    - messageSize
    argTypes:
    - LogLevel
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: proxy_wasm::null_plugin::proxy_log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::log
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_log(LogLevel level, const char *logMessage, size_t
      messageSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: proxy_wasm::exports::get_log_level
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: proxy_wasm::null_plugin::proxy_get_log_level
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_log_level
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_log_level(LogLevel *level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millisecond
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: proxy_wasm::null_plugin::proxy_set_tick_period_milliseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_tick_period_milliseconds
    - Word
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_tick_period_milliseconds(uint64_t millisecond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: proxy_wasm::exports::get_current_time_nanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: proxy_wasm::null_plugin::proxy_get_current_time_nanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::get_current_time_nanoseconds
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_current_time_nanoseconds(uint64_t *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:75,1
    - Dst: proxy_wasm::exports::get_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path_ptr
    - path_size
    - value_ptr_ptr
    - value_size_ptr
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: proxy_wasm::null_plugin::proxy_get_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_property
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_property(const char *path_ptr, size_t path_size,\n
      \                                    const char **value_ptr_ptr, size_t *value_size_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:80,1
    - Dst: proxy_wasm::exports::set_property
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: proxy_wasm::null_plugin::proxy_set_property
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::set_property
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_property(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                     size_t value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    - Dst: proxy_wasm::exports::continue_request
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: proxy_wasm::null_plugin::proxy_continue_request
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_request
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    - Dst: proxy_wasm::exports::continue_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: proxy_wasm::null_plugin::proxy_continue_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::continue_response
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: proxy_wasm::exports::continue_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: proxy_wasm::null_plugin::proxy_continue_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::continue_stream
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_continue_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: proxy_wasm::exports::close_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: proxy_wasm::null_plugin::proxy_close_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::close_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_close_stream(WasmStreamType stream_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: proxy_wasm::exports::send_local_response
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:100,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:101,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:102,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - response_code
    - response_code_details_ptr
    - response_code_details_size
    - body_ptr
    - body_size
    - additional_response_header_pairs_ptr
    - additional_response_header_pairs_size
    - grpc_status
    argTypes:
    - uint32_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: proxy_wasm::null_plugin::proxy_send_local_response
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::send_local_response
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_send_local_response(uint32_t response_code, const
      char *response_code_details_ptr,\n                          size_t response_code_details_size,
      const char *body_ptr, size_t body_size,\n                          const char
      *additional_response_header_pairs_ptr,\n                          size_t additional_response_header_pairs_size,
      uint32_t grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    - Dst: proxy_wasm::exports::clear_route_cache
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: proxy_wasm::null_plugin::proxy_clear_route_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::clear_route_cache
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_clear_route_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:113,1
    - Dst: proxy_wasm::exports::get_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: proxy_wasm::null_plugin::proxy_get_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_shared_data
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_shared_data(const char *key_ptr, size_t key_size,\n
      \                                       const char **value_ptr, size_t *value_size,
      uint32_t *cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:120,1
    - Dst: proxy_wasm::exports::set_shared_data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    - cas
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: proxy_wasm::null_plugin::proxy_set_shared_data
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_shared_data
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_shared_data(const char *key_ptr, size_t key_size,
      const char *value_ptr,\n                                        size_t value_size,
      uint64_t cas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:130,1
    - Dst: proxy_wasm::exports::register_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: proxy_wasm::null_plugin::proxy_register_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::register_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_register_shared_queue(const char *queue_name_ptr,
      size_t queue_name_size,\n                                              uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: proxy_wasm::exports::resolve_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:137,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vm_id_ptr
    - vm_id_size
    - queue_name_ptr
    - queue_name_size
    - token
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: proxy_wasm::null_plugin::proxy_resolve_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::resolve_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_resolve_shared_queue(const char *vm_id_ptr, size_t
      vm_id_size,\n                                             const char *queue_name_ptr,
      size_t queue_name_size,\n                                             uint32_t
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: proxy_wasm::exports::dequeue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: proxy_wasm::null_plugin::proxy_dequeue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::dequeue_shared_queue
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_dequeue_shared_queue(uint32_t token, const char **data_ptr,\n
      \                                            size_t *data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: proxy_wasm::exports::enqueue_shared_queue
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - data_ptr
    - data_size
    argTypes:
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: proxy_wasm::null_plugin::proxy_enqueue_shared_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::enqueue_shared_queue
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_enqueue_shared_queue(uint32_t token, const char *data_ptr,\n
      \                                            size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:154,1
    - Dst: proxy_wasm::exports::get_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - ptr
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_bytes
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char **ptr,
      size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: proxy_wasm::exports::get_buffer_status
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - length_ptr
    - flags_ptr
    argTypes:
    - WasmBufferType
    - size_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: proxy_wasm::null_plugin::proxy_get_buffer_status
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_buffer_status
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_buffer_status(WasmBufferType type, size_t *length_ptr,\n
      \                                         uint32_t *flags_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:165,1
    - Dst: proxy_wasm::exports::set_buffer_bytes
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - start
    - length
    - data
    - size
    argTypes:
    - WasmBufferType
    - uint64_t
    - uint64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: proxy_wasm::null_plugin::proxy_set_buffer_bytes
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_buffer_bytes
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_set_buffer_bytes(WasmBufferType type, uint64_t start,
      uint64_t length,\n                                         const char *data,
      size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: proxy_wasm::exports::add_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:173,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: proxy_wasm::null_plugin::proxy_add_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::add_header_map_value
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_add_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char *value_ptr,\n                                             size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: proxy_wasm::exports::get_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:179,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_value
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                             size_t key_size,
      const char **value_ptr,\n                                             size_t
      *value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: proxy_wasm::exports::get_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::get_header_map_pairs
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_get_header_map_pairs(WasmHeaderMapType type, const
      char **ptr,\n                                             size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: proxy_wasm::exports::set_header_map_pairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - ptr
    - size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::null_plugin::proxy_set_header_map_pairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_header_map_pairs
    - WS
    - WR
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_header_map_pairs(WasmHeaderMapType type, const
      char *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: proxy_wasm::exports::replace_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:192,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - key_ptr
    - key_size
    - value_ptr
    - value_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: proxy_wasm::null_plugin::proxy_replace_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::replace_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_replace_header_map_value(WasmHeaderMapType type,
      const char *key_ptr,\n                                                 size_t
      key_size, const char *value_ptr,\n                                                 size_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: proxy_wasm::exports::remove_header_map_value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key_ptr
    - key_size
    argTypes:
    - WasmHeaderMapType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: proxy_wasm::null_plugin::proxy_remove_header_map_value
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::remove_header_map_value
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_remove_header_map_value(WasmHeaderMapType type, const
      char *key_ptr,\n                                                size_t key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: proxy_wasm::exports::get_header_map_size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - WasmHeaderMapType
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: proxy_wasm::null_plugin::proxy_get_header_map_size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_header_map_size
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_header_map_size(WasmHeaderMapType type, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: proxy_wasm::exports::http_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:209,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:210,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:211,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - uri_ptr
    - uri_size
    - header_pairs_ptr
    - header_pairs_size
    - body_ptr
    - body_size
    - trailer_pairs_ptr
    - trailer_pairs_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: proxy_wasm::null_plugin::proxy_http_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::http_call
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_http_call(const char *uri_ptr, size_t uri_size, void
      *header_pairs_ptr,\n                                  size_t header_pairs_size,
      const char *body_ptr, size_t body_size,\n                                  void
      *trailer_pairs_ptr, size_t trailer_pairs_size,\n                                  uint64_t
      timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:222,1
    - Dst: proxy_wasm::exports::grpc_call
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:223,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:224,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:225,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - request_ptr
    - request_size
    - timeout_milliseconds
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: proxy_wasm::null_plugin::proxy_grpc_call
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_call
    - WR
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_call(const char *service_ptr, size_t service_size,\n
      \                                 const char *service_name_ptr, size_t service_name_size,\n
      \                                 const char *method_name_ptr, size_t method_name_size,\n
      \                                 void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                 const char *request_ptr, size_t request_size,\n
      \                                 uint64_t timeout_milliseconds, uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:233,1
    - Dst: proxy_wasm::exports::grpc_stream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:234,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:235,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - service_ptr
    - service_size
    - service_name_ptr
    - service_name_size
    - method_name_ptr
    - method_name_size
    - initial_metadata_ptr
    - initial_metadata_size
    - token_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: proxy_wasm::null_plugin::proxy_grpc_stream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - proxy_wasm::exports::grpc_stream
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_stream(const char *service_ptr, size_t service_size,\n
      \                                   const char *service_name_ptr, size_t service_name_size,\n
      \                                   const char *method_name_ptr, size_t method_name_size,\n
      \                                   void *initial_metadata_ptr, size_t initial_metadata_size,\n
      \                                   uint32_t *token_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: proxy_wasm::exports::grpc_cancel
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: proxy_wasm::null_plugin::proxy_grpc_cancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::grpc_cancel
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_cancel(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: proxy_wasm::exports::grpc_close
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: proxy_wasm::null_plugin::proxy_grpc_close
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::grpc_close
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_grpc_close(uint64_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:246,1
    - Dst: proxy_wasm::exports::grpc_send
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - message_ptr
    - message_size
    - end_stream
    argTypes:
    - uint64_t
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 6
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: proxy_wasm::null_plugin::proxy_grpc_send
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::grpc_send
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_grpc_send(uint64_t token, const char *message_ptr,
      size_t message_size,\n                                  uint64_t end_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:254,1
    - Dst: proxy_wasm::exports::define_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - name_ptr
    - name_size
    - metric_id
    argTypes:
    - MetricType
    - char*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: proxy_wasm::null_plugin::proxy_define_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::define_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_define_metric(MetricType type, const char *name_ptr,
      size_t name_size,\n                                      uint32_t *metric_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: proxy_wasm::exports::increment_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - offset
    argTypes:
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: proxy_wasm::null_plugin::proxy_increment_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::increment_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_increment_metric(uint32_t metric_id, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: proxy_wasm::exports::record_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: proxy_wasm::null_plugin::proxy_record_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WS
    - proxy_wasm::exports::record_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_record_metric(uint32_t metric_id, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: proxy_wasm::exports::get_metric
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metric_id
    - value
    argTypes:
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: proxy_wasm::null_plugin::proxy_get_metric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::get_metric
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_get_metric(uint32_t metric_id, uint64_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: proxy_wasm::exports::set_effective_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: proxy_wasm::null_plugin::proxy_set_effective_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::set_effective_context
    - WS
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_set_effective_context(uint64_t context_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    - Dst: proxy_wasm::exports::done
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: proxy_wasm::null_plugin::proxy_done
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::exports::done
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult proxy_done()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::null_plugin::wordToWasmResult
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: proxy_wasm::exports::call_foreign_function
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:276,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WS
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:277,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    - Dst: WR
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - function_name
    - function_name_size
    - arguments
    - arguments_size
    - results
    - results_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: proxy_wasm::null_plugin::proxy_call_foreign_function
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm_api_impl.h
    functionUses: 0
    functionsReached:
    - WR
    - WS
    - proxy_wasm::exports::call_foreign_function
    - proxy_wasm::null_plugin::wordToWasmResult
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult proxy_call_foreign_function(const char *function_name,
      size_t function_name_size,\n                                              const
      char *arguments, size_t arguments_size,\n                                              char
      **results, size_t *results_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPairs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:38,1
    - Dst: StringPairs::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:38,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stringpairs
    argTypes:
    - StringPairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: proxy_wasm::PairsUtil::pairsSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h
    functionUses: 5
    functionsReached:
    - StringPairs::end
    - StringPairs::begin
    - proxy_wasm::PairsUtil::pairsSize
    linkageType: ''
    returnType: size_t
    signature: size_t pairsSize(const StringPairs &stringpairs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPairs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:52,1
    - Dst: StringPairs::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:52,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stringpairs
    - buffer
    - size
    argTypes:
    - StringPairs
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: proxy_wasm::PairsUtil::marshalPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h
    functionUses: 5
    functionsReached:
    - proxy_wasm::PairsUtil::marshalPairs
    - StringPairs::end
    - StringPairs::begin
    linkageType: ''
    returnType: bool
    signature: bool marshalPairs(const StringPairs &stringpairs, char *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPairs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:38,1
    - Dst: StringPairs::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:38,1
    - Dst: proxy_wasm::PairsUtil::pairsSize
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stringpairs
    argTypes:
    - StringPairs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: proxy_wasm::PairsUtil::pairsSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h
    functionUses: 6
    functionsReached:
    - StringPairs::end
    - StringPairs::begin
    - proxy_wasm::PairsUtil::pairsSize
    linkageType: ''
    returnType: size_t
    signature: size_t pairsSize(const StringPairs &stringpairs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPairs::begin
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:52,1
    - Dst: StringPairs::end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:52,1
    - Dst: proxy_wasm::PairsUtil::marshalPairs
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stringpairs
    - buffer
    - size
    argTypes:
    - StringPairs
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: proxy_wasm::PairsUtil::marshalPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/pairs_util.h
    functionUses: 6
    functionsReached:
    - proxy_wasm::PairsUtil::marshalPairs
    - StringPairs::end
    - StringPairs::begin
    linkageType: ''
    returnType: bool
    signature: bool marshalPairs(const StringPairs &stringpairs, char *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: proxy_wasm::WasmBase::vm_id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view vm_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: proxy_wasm::WasmBase::vm_key
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view vm_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmBase::wasm_vm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: WasmVm
    signature: WasmVm *wasm_vm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::WasmBase::vm_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *vm_context() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:70,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: proxy_wasm::WasmBase::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *getContext(uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: proxy_wasm::WasmBase::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: proxy_wasm::WasmBase::fail_state
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FailState
    signature: FailState fail_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&moduleBytecode() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &moduleBytecode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '&modulePrecompiled() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &modulePrecompiled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: proxy_wasm::WasmBase::functionNames
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint32_t, std::string>
    signature: std::unordered_map<uint32_t, std::string> functionNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: proxy_wasm::WasmBase::callOnThreadFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmBase::unimplemented
    linkageType: ''
    returnType: CallOnThreadFunction
    signature: CallOnThreadFunction callOnThreadFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:104,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:105,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - capability_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: proxy_wasm::WasmBase::capabilityAllowed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - find
    - empty
    - end
    linkageType: ''
    returnType: bool
    signature: bool capabilityAllowed(std::string capability_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: proxy_wasm::WasmBase::createVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createVmContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: proxy_wasm::WasmBase::createRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createRootContext(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: proxy_wasm::WasmBase::createContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createContext(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context_id
    - period
    argTypes:
    - uint32_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: proxy_wasm::WasmBase::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTimerPeriod(uint32_t root_context_id, std::chrono::milliseconds
      period)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fail_state
    - message
    argTypes:
    - FailState
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmBase::fail
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 6
    functionsReached:
    - proxy_wasm::WasmBase::error
    linkageType: ''
    returnType: void
    signature: void fail(FailState fail_state, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmBase::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmBase::unimplemented
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 1
    functionsReached:
    - proxy_wasm::WasmBase::error
    linkageType: ''
    returnType: void
    signature: void unimplemented()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: proxy_wasm::WasmBase::abiVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: AbiVersion
    signature: AbiVersion abiVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '&envs()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<std::string, std::string>
    signature: std::unordered_map<std::string, std::string> &envs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: proxy_wasm::WasmBase::stopNextIteration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stopNextIteration(bool stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmBase::isNextIterationStopped
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNextIterationStopped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: proxy_wasm::WasmBase::addAfterVmCallAction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addAfterVmCallAction(std::function<void()> f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:148,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:149,1
    - Dst: auto::after_vm_call_actions_::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:150,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:151,1
    - Dst: auto::after_vm_call_actions_::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:151,1
    - Dst: auto::after_vm_call_actions_::pop_front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:152,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: proxy_wasm::WasmBase::doAfterVmCallActions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - auto::after_vm_call_actions_::front
    - shared_from_this
    - auto::after_vm_call_actions_::pop_front
    - auto::after_vm_call_actions_::empty
    - empty
    - std::move
    - f
    linkageType: ''
    returnType: void
    signature: void doAfterVmCallActions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmBase::isCounterMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isCounterMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: proxy_wasm::WasmBase::isGaugeMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGaugeMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: proxy_wasm::WasmBase::isHistogramMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isHistogramMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: proxy_wasm::WasmBase::nextCounterMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextCounterMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: proxy_wasm::WasmBase::nextGaugeMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGaugeMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: proxy_wasm::WasmBase::nextHistogramMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextHistogramMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: proxy_wasm::WasmBase::isHttpCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isHttpCallId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: proxy_wasm::WasmBase::isGrpcCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGrpcCallId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::WasmBase::isGrpcStreamId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGrpcStreamId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: proxy_wasm::WasmBase::nextHttpCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextHttpCallId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: proxy_wasm::WasmBase::nextGrpcCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGrpcCallId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: proxy_wasm::WasmBase::nextGrpcStreamId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGrpcStreamId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: FOR_ALL_MODULE_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_MODULE_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm_base
    argTypes:
    - std::shared_ptr<WasmBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: proxy_wasm::WasmHandleBase::WasmHandleBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmHandleBase(std::shared_ptr<WasmBase> wasm_base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: startShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: ~WasmHandleBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - startShutdown
    linkageType: ''
    returnType: void
    signature: void ~WasmHandleBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: proxy_wasm::WasmHandleBase::kill
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kill()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&wasm()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<WasmBase>
    signature: std::shared_ptr<WasmBase> &wasm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wasm_handle
    - plugin
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: proxy_wasm::PluginHandleBase::PluginHandleBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PluginHandleBase(std::shared_ptr<WasmHandleBase> wasm_handle,\n
      \                           std::shared_ptr<PluginBase> plugin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:361,1
    - Dst: key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: ~PluginHandleBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - key
    - wasm
    linkageType: ''
    returnType: void
    signature: void ~PluginHandleBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: '&plugin()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<PluginBase>
    signature: std::shared_ptr<PluginBase> &plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: '&wasm()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: std::shared_ptr<WasmBase>
    signature: std::shared_ptr<WasmBase> &wasm()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: '&WasmBase::vm_configuration() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: std::string
    signature: std::string &WasmBase::vm_configuration() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:395,1
    - Dst: malloc_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:402,1
    - Dst: proxy_wasm::WasmBase::vm_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:402,1
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:403,1
    - Dst: getMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:407,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - address
    argTypes:
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: proxy_wasm::WasmBase::allocMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - getMemory
    - proxy_wasm::WasmBase::vm_context
    - auto::value
    - const_cast<void *>
    - setRestrictedCallback
    - malloc_
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void *WasmBase::allocMemory(uint64_t size, uint64_t *address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:416,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: proxy_wasm::WasmBase::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 6
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: proxy_wasm::WasmBase::copyString
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t *>
    - std::string_view::empty
    - std::string_view::size
    - proxy_wasm::WasmBase::allocMemory
    - std::string_view::data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmBase::copyString(std::string_view s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:428,1
    - Dst: proxy_wasm::WasmBase::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:431,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:435,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:435,1
    - Dst: setWord
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:437,1
    - Dst: setWord
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:440,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - s
    - ptr_ptr
    - size_ptr
    argTypes:
    - std::string_view
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: proxy_wasm::WasmBase::copyToPointerSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - memcpy
    - setWord
    - std::string_view::size
    - Word
    - proxy_wasm::WasmBase::allocMemory
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::copyToPointerSize(std::string_view s, uint64_t ptr_ptr,
      uint64_t size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - t
    argTypes:
    - uint64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: proxy_wasm::WasmBase::setDatatype
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - setMemory
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::setDatatype(uint64_t ptr, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: proxy_wasm::WasmBase::vm_id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view vm_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: proxy_wasm::WasmBase::vm_key
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view vm_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: proxy_wasm::WasmBase::wasm_vm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: WasmVm
    signature: WasmVm *wasm_vm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: proxy_wasm::WasmBase::vm_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *vm_context() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:70,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: proxy_wasm::WasmBase::getContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *getContext(uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: proxy_wasm::WasmBase::isFailed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: proxy_wasm::WasmBase::fail_state
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FailState
    signature: FailState fail_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&moduleBytecode() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &moduleBytecode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '&modulePrecompiled() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &modulePrecompiled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: proxy_wasm::WasmBase::functionNames
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint32_t, std::string>
    signature: std::unordered_map<uint32_t, std::string> functionNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: proxy_wasm::WasmBase::callOnThreadFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::WasmBase::unimplemented
    linkageType: ''
    returnType: CallOnThreadFunction
    signature: CallOnThreadFunction callOnThreadFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:104,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:105,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - capability_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: proxy_wasm::WasmBase::capabilityAllowed
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - find
    - empty
    - end
    linkageType: ''
    returnType: bool
    signature: bool capabilityAllowed(std::string capability_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: proxy_wasm::WasmBase::createVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createVmContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: proxy_wasm::WasmBase::createRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createRootContext(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase::ContextBase
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: proxy_wasm::WasmBase::createContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - ContextBase::ContextBase
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *createContext(const std::shared_ptr<PluginBase> &plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root_context_id
    - period
    argTypes:
    - uint32_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: proxy_wasm::WasmBase::setTimerPeriod
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTimerPeriod(uint32_t root_context_id, std::chrono::milliseconds
      period)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fail_state
    - message
    argTypes:
    - FailState
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: proxy_wasm::WasmBase::fail
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 6
    functionsReached:
    - proxy_wasm::WasmBase::error
    linkageType: ''
    returnType: void
    signature: void fail(FailState fail_state, std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: proxy_wasm::WasmBase::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::WasmBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: proxy_wasm::WasmBase::unimplemented
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - proxy_wasm::WasmBase::error
    linkageType: ''
    returnType: void
    signature: void unimplemented()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: proxy_wasm::WasmBase::abiVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: AbiVersion
    signature: AbiVersion abiVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '&envs()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<std::string, std::string>
    signature: std::unordered_map<std::string, std::string> &envs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: proxy_wasm::WasmBase::stopNextIteration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stopNextIteration(bool stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: proxy_wasm::WasmBase::isNextIterationStopped
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNextIterationStopped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: proxy_wasm::WasmBase::addAfterVmCallAction
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void addAfterVmCallAction(std::function<void()> f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:148,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:149,1
    - Dst: auto::after_vm_call_actions_::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:150,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:151,1
    - Dst: auto::after_vm_call_actions_::front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:151,1
    - Dst: auto::after_vm_call_actions_::pop_front
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:152,1
    - Dst: f
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: proxy_wasm::WasmBase::doAfterVmCallActions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - auto::after_vm_call_actions_::front
    - shared_from_this
    - auto::after_vm_call_actions_::pop_front
    - auto::after_vm_call_actions_::empty
    - empty
    - std::move
    - f
    linkageType: ''
    returnType: void
    signature: void doAfterVmCallActions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: proxy_wasm::WasmBase::isCounterMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isCounterMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: proxy_wasm::WasmBase::isGaugeMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGaugeMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: proxy_wasm::WasmBase::isHistogramMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isHistogramMetricId(uint32_t metric_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: proxy_wasm::WasmBase::nextCounterMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextCounterMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: proxy_wasm::WasmBase::nextGaugeMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGaugeMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: proxy_wasm::WasmBase::nextHistogramMetricId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextHistogramMetricId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: proxy_wasm::WasmBase::isHttpCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isHttpCallId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: proxy_wasm::WasmBase::isGrpcCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGrpcCallId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callout_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: proxy_wasm::WasmBase::isGrpcStreamId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool isGrpcStreamId(uint32_t callout_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: proxy_wasm::WasmBase::nextHttpCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextHttpCallId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: proxy_wasm::WasmBase::nextGrpcCallId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGrpcCallId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: proxy_wasm::WasmBase::nextGrpcStreamId
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextGrpcStreamId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: FOR_ALL_MODULE_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_MODULE_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wasm_base
    argTypes:
    - std::shared_ptr<WasmBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: proxy_wasm::WasmHandleBase::WasmHandleBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WasmHandleBase(std::shared_ptr<WasmBase> wasm_base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: startShutdown
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: ~WasmHandleBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - startShutdown
    linkageType: ''
    returnType: void
    signature: void ~WasmHandleBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: proxy_wasm::WasmHandleBase::kill
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kill()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: '&wasm()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<WasmBase>
    signature: std::shared_ptr<WasmBase> &wasm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wasm_handle
    - plugin
    argTypes:
    - std::shared_ptr<WasmHandleBase>
    - std::shared_ptr<PluginBase>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: proxy_wasm::PluginHandleBase::PluginHandleBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PluginHandleBase(std::shared_ptr<WasmHandleBase> wasm_handle,\n
      \                           std::shared_ptr<PluginBase> plugin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:361,1
    - Dst: key
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: ~PluginHandleBase()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - key
    - wasm
    linkageType: ''
    returnType: void
    signature: void ~PluginHandleBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: '&plugin()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<PluginBase>
    signature: std::shared_ptr<PluginBase> &plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: '&wasm()'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: std::shared_ptr<WasmBase>
    signature: std::shared_ptr<WasmBase> &wasm()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: '&WasmBase::vm_configuration() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - wasm
    linkageType: ''
    returnType: std::string
    signature: std::string &WasmBase::vm_configuration() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:395,1
    - Dst: malloc_
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:402,1
    - Dst: proxy_wasm::WasmBase::vm_context
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:402,1
    - Dst: setRestrictedCallback
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:403,1
    - Dst: getMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:407,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    - Dst: auto::value
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - address
    argTypes:
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: proxy_wasm::WasmBase::allocMemory
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 2
    functionsReached:
    - getMemory
    - proxy_wasm::WasmBase::vm_context
    - auto::value
    - const_cast<void *>
    - setRestrictedCallback
    - malloc_
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void *WasmBase::allocMemory(uint64_t size, uint64_t *address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:416,1
    - Dst: static_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: proxy_wasm::WasmBase::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:420,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:421,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 6
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: proxy_wasm::WasmBase::copyString
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t *>
    - std::string_view::empty
    - std::string_view::size
    - proxy_wasm::WasmBase::allocMemory
    - std::string_view::data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WasmBase::copyString(std::string_view s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:428,1
    - Dst: proxy_wasm::WasmBase::allocMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:431,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:435,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:435,1
    - Dst: setWord
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:437,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:437,1
    - Dst: setWord
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:440,1
    - Dst: Word
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - s
    - ptr_ptr
    - size_ptr
    argTypes:
    - std::string_view
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: proxy_wasm::WasmBase::copyToPointerSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - memcpy
    - setWord
    - std::string_view::size
    - Word
    - proxy_wasm::WasmBase::allocMemory
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::copyToPointerSize(std::string_view s, uint64_t ptr_ptr,
      uint64_t size_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMemory
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - t
    argTypes:
    - uint64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: proxy_wasm::WasmBase::setDatatype
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/wasm.h
    functionUses: 0
    functionsReached:
    - setMemory
    linkageType: ''
    returnType: bool
    signature: bool WasmBase::setDatatype(uint64_t ptr, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: FOR_ALL_HOST_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: FOR_ALL_WASI_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASI_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: _CREATE_PROXY_WASM_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_PROXY_WASM_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: _CREATE_WASI_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_WASI_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: FOR_ALL_HOST_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: FOR_ALL_WASI_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASI_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: _CREATE_PROXY_WASM_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_PROXY_WASM_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: _CREATE_WASI_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_WASI_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: FOR_ALL_HOST_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: FOR_ALL_WASI_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASI_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: _CREATE_PROXY_WASM_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_PROXY_WASM_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: _CREATE_WASI_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_WASI_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: FOR_ALL_HOST_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_HOST_FUNCTIONS_ABI_SPECIFIC(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: FOR_ALL_WASI_FUNCTIONS
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_ALL_WASI_FUNCTIONS(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: _CREATE_PROXY_WASM_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_PROXY_WASM_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: _CREATE_WASI_STUB
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/exports.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_WASI_STUB(_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - registry
    argTypes:
    - NullPluginRegistry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: proxy_wasm::NullPlugin::NullPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullPlugin(NullPluginRegistry *registry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NullPlugin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::NullPlugin::NullPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullPlugin(const NullPlugin &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: _DECLARE_OVERRIDE
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DECLARE_OVERRIDE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: proxy_wasm::NullPlugin::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 26
    functionsReached:
    - integration
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: START_WASM_PLUGIN
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: START_WASM_PLUGIN(_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _t
    - ','
    - _f
    - ','
    - _a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: WASM_EXPORT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WASM_EXPORT(_t, _f, _a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - registry
    argTypes:
    - NullPluginRegistry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: proxy_wasm::NullPlugin::NullPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullPlugin(NullPluginRegistry *registry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NullPlugin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: proxy_wasm::NullPlugin::NullPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullPlugin(const NullPlugin &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: _DECLARE_OVERRIDE
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DECLARE_OVERRIDE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integration
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: proxy_wasm::NullPlugin::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 26
    functionsReached:
    - integration
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: START_WASM_PLUGIN
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: START_WASM_PLUGIN(_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _t
    - ','
    - _f
    - ','
    - _a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: WASM_EXPORT
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WASM_EXPORT(_t, _f, _a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~BufferInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~RootGrpcInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RootGrpcInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~RootInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RootInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: ~HttpInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: ~NetworkInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetworkInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~StreamInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ~HeaderInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeaderInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: ~HttpCallInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~GrpcCallInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GrpcCallInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~GrpcStreamInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GrpcStreamInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: ~MetricsInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetricsInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: ~GeneralInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneralInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: ~SharedDataInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedDataInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: ~SharedQueueInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedQueueInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~BufferInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~RootGrpcInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RootGrpcInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~RootInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RootInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: ~HttpInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: ~NetworkInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetworkInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~StreamInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ~HeaderInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HeaderInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: ~HttpCallInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~GrpcCallInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GrpcCallInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: ~GrpcStreamInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GrpcStreamInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: ~MetricsInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetricsInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: ~GeneralInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneralInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: ~SharedDataInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedDataInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: ~SharedQueueInterface()
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedQueueInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:54,1
    - Dst: makePluginKey
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:55,1
    - Dst: makeLogPrefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - name
    - root_id
    - vm_id
    - engine
    - plugin_configuration
    - fail_open
    - key
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - bool
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: proxy_wasm::PluginBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - makePluginKey
    - makeLogPrefix
    - std::string
    linkageType: ''
    returnType: void
    signature: "void PluginBase(std::string_view name, std::string_view root_id, std::string_view
      vm_id,\n             std::string_view engine, std::string_view plugin_configuration,
      bool fail_open,\n             std::string_view key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '&key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '&log_prefix() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &log_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::BufferBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~BufferBase() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferBase() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: proxy_wasm::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 3
    functionsReached:
    - proxy_wasm::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: proxy_wasm::copyFrom
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult copyFrom(size_t /* start */, size_t /* length */,\n                      std::string_view
      /* data */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: proxy_wasm::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: proxy_wasm::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: BufferBase
    signature: BufferBase *set(std::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:106,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - owned_data
    - owned_data_size
    argTypes:
    - std::unique_ptr<char[]>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: proxy_wasm::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    - std::move
    linkageType: ''
    returnType: BufferBase
    signature: BufferBase *set(std::unique_ptr<char[]> owned_data, uint32_t owned_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: proxy_wasm::ContextBase::wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: WasmBase
    signature: WasmBase *wasm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: proxy_wasm::ContextBase::id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: proxy_wasm::ContextBase::isVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVmContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: proxy_wasm::ContextBase::isRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRootContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: proxy_wasm::ContextBase::parent_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *parent_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: proxy_wasm::ContextBase::root_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *root_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: proxy_wasm::ContextBase::root_id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view root_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:171,1
    - Dst: proxy_wasm::ContextBase::log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: proxy_wasm::ContextBase::log_prefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 1
    functionsReached:
    - proxy_wasm::ContextBase::log_prefix
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view log_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: proxy_wasm::ContextBase::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: proxy_wasm::ContextBase::unimplemented
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::error
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult unimplemented() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::ContextBase::isFailOpen
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailOpen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: proxy_wasm::ContextBase::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult log(uint32_t /* level */, std::string_view /* message */)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: proxy_wasm::ContextBase::getLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getLogLevel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: proxy_wasm::ContextBase::getCurrentTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getCurrentTimeNanoseconds() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: proxy_wasm::ContextBase::getMonotonicTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getMonotonicTimeNanoseconds() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: proxy_wasm::ContextBase::getConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getConfiguration() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:257,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::ContextBase::getStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: std::pair<uint32_t, std::string_view>
    signature: std::pair<uint32_t, std::string_view> getStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: proxy_wasm::ContextBase::getBuffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: BufferInterface
    signature: BufferInterface *getBuffer(WasmBufferType /* type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: proxy_wasm::ContextBase::endOfStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: bool
    signature: bool endOfStream(WasmStreamType /* type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: proxy_wasm::ContextBase::httpCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult httpCall(std::string_view /* target */, const Pairs & /*request_headers
      */,\n                      std::string_view /* request_body */, const Pairs
      & /* request_trailers */,\n                      int /* timeout_millisconds
      */, uint32_t * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: proxy_wasm::ContextBase::grpcCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcCall(std::string_view /* grpc_service */, std::string_view
      /* service_name */,\n                      std::string_view /* method_name */,
      const Pairs & /* initial_metadata */,\n                      std::string_view
      /* request */, std::chrono::milliseconds /* timeout */,\n                      GrpcToken
      * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: proxy_wasm::ContextBase::grpcStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcStream(std::string_view /* grpc_service */, std::string_view
      /* service_name */,\n                        std::string_view /* method_name
      */, const Pairs & /* initial_metadata */,\n                        GrpcToken
      * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: proxy_wasm::ContextBase::grpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult grpcClose(uint32_t /* token */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: proxy_wasm::ContextBase::grpcCancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult grpcCancel(uint32_t /* token */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: proxy_wasm::ContextBase::grpcSend
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcSend(uint32_t /* token */, std::string_view /* message
      */,\n                      bool /* end_stream */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: proxy_wasm::ContextBase::defineMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult defineMetric(uint32_t /* type */, std::string_view /* name
      */,\n                          uint32_t * /* metric_id_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: proxy_wasm::ContextBase::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult incrementMetric(uint32_t /* metric_id */, int64_t /* offset
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: proxy_wasm::ContextBase::recordMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult recordMetric(uint32_t /* metric_id */, uint64_t /* value
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: proxy_wasm::ContextBase::getMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getMetric(uint32_t /* metric_id */, uint64_t * /* value_ptr
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: proxy_wasm::ContextBase::getProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getProperty(std::string_view /* path */, std::string * /*
      result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: proxy_wasm::ContextBase::setProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult setProperty(std::string_view /* key */,\n                         std::string_view
      /* serialized_value */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: proxy_wasm::ContextBase::continueStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult continueStream(WasmStreamType /* stream_type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: proxy_wasm::ContextBase::closeStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult closeStream(WasmStreamType /* stream_type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: proxy_wasm::ContextBase::sendLocalResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult sendLocalResponse(uint32_t /* response_code */, std::string_view
      /* body_text */,\n                               Pairs /* additional_headers
      */, GrpcStatusCode /* grpc_status */,\n                               std::string_view
      /* details */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: proxy_wasm::ContextBase::clearRouteCache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: void
    signature: void clearRouteCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: proxy_wasm::ContextBase::failStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::closeStream
    linkageType: ''
    returnType: void
    signature: void failStream(WasmStreamType stream_type) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: proxy_wasm::ContextBase::addHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult addHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                               std::string_view /* value */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: proxy_wasm::ContextBase::getHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult getHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                               std::string_view * /*result */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: proxy_wasm::ContextBase::getHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getHeaderMapPairs(WasmHeaderMapType /* type */, Pairs *
      /* result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: proxy_wasm::ContextBase::setHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult setHeaderMapPairs(WasmHeaderMapType /* type */, const Pairs
      & /* pairs */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: proxy_wasm::ContextBase::removeHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult removeHeaderMapValue(WasmHeaderMapType /* type */,\n                                  std::string_view
      /* key */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: proxy_wasm::ContextBase::replaceHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult replaceHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                                   std::string_view /* value */)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: proxy_wasm::ContextBase::getHeaderMapSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getHeaderMapSize(WasmHeaderMapType /* type */, uint32_t
      * /* result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: proxy_wasm::DeferAfterCallActions::DeferAfterCallActions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - ContextBase*::wasm
    linkageType: ''
    returnType: void
    signature: void DeferAfterCallActions(ContextBase *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:54,1
    - Dst: makePluginKey
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:55,1
    - Dst: makeLogPrefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - name
    - root_id
    - vm_id
    - engine
    - plugin_configuration
    - fail_open
    - key
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - bool
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: proxy_wasm::PluginBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - makePluginKey
    - makeLogPrefix
    - std::string
    linkageType: ''
    returnType: void
    signature: "void PluginBase(std::string_view name, std::string_view root_id, std::string_view
      vm_id,\n             std::string_view engine, std::string_view plugin_configuration,
      bool fail_open,\n             std::string_view key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '&key() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.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: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '&log_prefix() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &log_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: proxy_wasm::BufferBase
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~BufferBase() override
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferBase() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::size
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: proxy_wasm::size
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 4
    functionsReached:
    - proxy_wasm::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: proxy_wasm::copyFrom
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult copyFrom(size_t /* start */, size_t /* length */,\n                      std::string_view
      /* data */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: proxy_wasm::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: proxy_wasm::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    linkageType: ''
    returnType: BufferBase
    signature: BufferBase *set(std::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::clear
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:106,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - owned_data
    - owned_data_size
    argTypes:
    - std::unique_ptr<char[]>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: proxy_wasm::set
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::clear
    - std::move
    linkageType: ''
    returnType: BufferBase
    signature: BufferBase *set(std::unique_ptr<char[]> owned_data, uint32_t owned_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: proxy_wasm::ContextBase::wasm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: WasmBase
    signature: WasmBase *wasm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: proxy_wasm::ContextBase::id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: proxy_wasm::ContextBase::isVmContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVmContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: proxy_wasm::ContextBase::isRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRootContext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: proxy_wasm::ContextBase::parent_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *parent_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: proxy_wasm::ContextBase::root_context
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ContextBase
    signature: ContextBase *root_context() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: proxy_wasm::ContextBase::root_id
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view root_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::isRootContext
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:171,1
    - Dst: proxy_wasm::ContextBase::log_prefix
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: proxy_wasm::ContextBase::log_prefix
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 2
    functionsReached:
    - proxy_wasm::ContextBase::log_prefix
    - proxy_wasm::ContextBase::isRootContext
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view log_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: proxy_wasm::ContextBase::error
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void error(std::string_view message) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::error
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: proxy_wasm::ContextBase::unimplemented
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 31
    functionsReached:
    - proxy_wasm::ContextBase::error
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult unimplemented() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: proxy_wasm::ContextBase::isFailOpen
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFailOpen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: proxy_wasm::ContextBase::log
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult log(uint32_t /* level */, std::string_view /* message */)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: proxy_wasm::ContextBase::getLogLevel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getLogLevel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: proxy_wasm::ContextBase::getCurrentTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getCurrentTimeNanoseconds() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: proxy_wasm::ContextBase::getMonotonicTimeNanoseconds
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getMonotonicTimeNanoseconds() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: proxy_wasm::ContextBase::getConfiguration
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getConfiguration() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:257,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: proxy_wasm::ContextBase::getStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: std::pair<uint32_t, std::string_view>
    signature: std::pair<uint32_t, std::string_view> getStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: proxy_wasm::ContextBase::getBuffer
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: BufferInterface
    signature: BufferInterface *getBuffer(WasmBufferType /* type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: proxy_wasm::ContextBase::endOfStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: bool
    signature: bool endOfStream(WasmStreamType /* type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: proxy_wasm::ContextBase::httpCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult httpCall(std::string_view /* target */, const Pairs & /*request_headers
      */,\n                      std::string_view /* request_body */, const Pairs
      & /* request_trailers */,\n                      int /* timeout_millisconds
      */, uint32_t * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: proxy_wasm::ContextBase::grpcCall
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcCall(std::string_view /* grpc_service */, std::string_view
      /* service_name */,\n                      std::string_view /* method_name */,
      const Pairs & /* initial_metadata */,\n                      std::string_view
      /* request */, std::chrono::milliseconds /* timeout */,\n                      GrpcToken
      * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: proxy_wasm::ContextBase::grpcStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcStream(std::string_view /* grpc_service */, std::string_view
      /* service_name */,\n                        std::string_view /* method_name
      */, const Pairs & /* initial_metadata */,\n                        GrpcToken
      * /* token_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: proxy_wasm::ContextBase::grpcClose
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult grpcClose(uint32_t /* token */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: proxy_wasm::ContextBase::grpcCancel
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult grpcCancel(uint32_t /* token */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: proxy_wasm::ContextBase::grpcSend
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult grpcSend(uint32_t /* token */, std::string_view /* message
      */,\n                      bool /* end_stream */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: proxy_wasm::ContextBase::defineMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult defineMetric(uint32_t /* type */, std::string_view /* name
      */,\n                          uint32_t * /* metric_id_ptr */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: proxy_wasm::ContextBase::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult incrementMetric(uint32_t /* metric_id */, int64_t /* offset
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: proxy_wasm::ContextBase::recordMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult recordMetric(uint32_t /* metric_id */, uint64_t /* value
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: proxy_wasm::ContextBase::getMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getMetric(uint32_t /* metric_id */, uint64_t * /* value_ptr
      */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: proxy_wasm::ContextBase::getProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getProperty(std::string_view /* path */, std::string * /*
      result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: proxy_wasm::ContextBase::setProperty
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult setProperty(std::string_view /* key */,\n                         std::string_view
      /* serialized_value */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: proxy_wasm::ContextBase::continueStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult continueStream(WasmStreamType /* stream_type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: proxy_wasm::ContextBase::closeStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 1
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult closeStream(WasmStreamType /* stream_type */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: proxy_wasm::ContextBase::sendLocalResponse
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult sendLocalResponse(uint32_t /* response_code */, std::string_view
      /* body_text */,\n                               Pairs /* additional_headers
      */, GrpcStatusCode /* grpc_status */,\n                               std::string_view
      /* details */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: proxy_wasm::ContextBase::clearRouteCache
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: void
    signature: void clearRouteCache() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::closeStream
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_type
    argTypes:
    - WasmStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: proxy_wasm::ContextBase::failStream
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::closeStream
    linkageType: ''
    returnType: void
    signature: void failStream(WasmStreamType stream_type) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: proxy_wasm::ContextBase::addHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult addHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                               std::string_view /* value */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: proxy_wasm::ContextBase::getHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult getHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                               std::string_view * /*result */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: proxy_wasm::ContextBase::getHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getHeaderMapPairs(WasmHeaderMapType /* type */, Pairs *
      /* result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: proxy_wasm::ContextBase::setHeaderMapPairs
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult setHeaderMapPairs(WasmHeaderMapType /* type */, const Pairs
      & /* pairs */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: proxy_wasm::ContextBase::removeHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult removeHeaderMapValue(WasmHeaderMapType /* type */,\n                                  std::string_view
      /* key */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: proxy_wasm::ContextBase::replaceHeaderMapValue
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: "WasmResult replaceHeaderMapValue(WasmHeaderMapType /* type */, std::string_view
      /* key */,\n                                   std::string_view /* value */)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::ContextBase::unimplemented
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: proxy_wasm::ContextBase::getHeaderMapSize
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - proxy_wasm::ContextBase::unimplemented
    linkageType: ''
    returnType: WasmResult
    signature: WasmResult getHeaderMapSize(WasmHeaderMapType /* type */, uint32_t
      * /* result */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ContextBase*::wasm
      Src: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - ContextBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: proxy_wasm::DeferAfterCallActions::DeferAfterCallActions
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/context.h
    functionUses: 0
    functionsReached:
    - ContextBase*::wasm
    linkageType: ''
    returnType: void
    signature: void DeferAfterCallActions(ContextBase *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: proxy_wasm::NullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NullVm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: proxy_wasm::NullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVm(const NullVm &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: proxy_wasm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: _FORWARD_GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FORWARD_GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: proxy_wasm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: proxy_wasm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: proxy_wasm::NullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - NullVm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: proxy_wasm::NullVm
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullVm(const NullVm &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: proxy_wasm::getEngineName
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view getEngineName() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: proxy_wasm::cloneable
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cloneable
    signature: Cloneable cloneable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: _FORWARD_GET_FUNCTION
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FORWARD_GET_FUNCTION(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: _REGISTER_CALLBACK
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REGISTER_CALLBACK(_T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: proxy_wasm::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void terminate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: proxy_wasm::usesWasmByteOrder
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/lib/include/proxy-wasm/null_vm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesWasmByteOrder() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root_id
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ExampleRootContext::ExampleRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleRootContext(uint32_t id, std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root
    argTypes:
    - uint32_t
    - RootContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ExampleContext::ExampleContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleContext(uint32_t id, RootContext *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:43,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ExampleRootContext::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool ExampleRootContext::onStart(size_t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRequestHeader
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:51,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:52,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:52,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:52,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:52,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:54,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:56,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:58,1
    - Dst: getHeaderMapPairs
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:61,1
    - Dst: getBufferBytes
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:62,1
    - Dst: auto::pairs
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:63,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:64,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:64,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:64,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:64,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:66,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:66,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:66,1
    - Dst: getContext
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:68,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:69,1
    - Dst: continueRequest
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:70,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:72,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:72,1
    - Dst: root
      Src: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 85
    functionName: ExampleContext::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/async/async.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - root
    - getContext
    - continueRequest
    - id
    - getBufferBytes
    - std::string
    - auto::view
    - getRequestHeader
    - auto::pairs
    - getHeaderMapPairs
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ExampleContext::onRequestHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root_id
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ExampleRootContext::ExampleRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleRootContext(uint32_t id, std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root
    argTypes:
    - uint32_t
    - RootContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ExampleContext::ExampleContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleContext(uint32_t id, RootContext *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:46,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ExampleRootContext::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool ExampleRootContext::onStart(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:55,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:55,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:55,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:55,1
    - Dst: getRequestHeader
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:58,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:59,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:59,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:59,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:59,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:62,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:62,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:62,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:65,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:65,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:65,1
    - Dst: getCurrentTimeNanoseconds
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:65,1
    - Dst: addRequestHeader
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:68,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:69,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: ExampleContext::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - getCurrentTimeNanoseconds
    - addRequestHeader
    - id
    - std::string
    - auto::view
    - getRequestHeader
    - std::to_string
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ExampleContext::onRequestHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:77,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:77,1
    - Dst: id
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: ExampleContext::onDone
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - id
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void ExampleContext::onDone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ExampleContext::onDelete
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/cpp/myproject.cc
    functionUses: 0
    functionsReached:
    - logInfo
    linkageType: ''
    returnType: void
    signature: void ExampleContext::onDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root_id
    argTypes:
    - uint32_t
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ExampleRootContext::ExampleRootContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleRootContext(uint32_t id, std::string_view root_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - root
    argTypes:
    - uint32_t
    - RootContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ExampleContext::ExampleContext
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleContext(uint32_t id, RootContext *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:44,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ExampleRootContext::onStart
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool ExampleRootContext::onStart(size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRequestHeader
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:52,1
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:53,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:53,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - headers
    - end_of_stream
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: ExampleContext::onRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc
    functionUses: 0
    functionsReached:
    - auto::view
    - logInfo
    - getRequestHeader
    - std::string
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus ExampleContext::onRequestHeaders(uint32_t headers,
      bool end_of_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logInfo
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:61,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:61,1
    - Dst: getBufferStatus
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:65,1
    - Dst: getBufferBytes
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:66,1
    - Dst: logError
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:67,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:67,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:67,1
    - Dst: auto::view
      Src: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - body_buffer_length
    - end_of_stream
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: ExampleContext::onResponseBody
    functionSourceFile: /src/trafficserver/plugins/experimental/wasm/examples/transform/transform.cc
    functionUses: 0
    functionsReached:
    - logInfo
    - logError
    - getBufferBytes
    - getBufferStatus
    - std::string
    - auto::view
    linkageType: ''
    returnType: FilterDataStatus
    signature: FilterDataStatus ExampleContext::onResponseBody(size_t body_buffer_length,
      bool end_of_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:49,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:51,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:54,1
    - Dst: fread
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:54,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - size
    - need_good_entropy
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: get_good_random
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - fclose
    - const_cast<char *>
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: int get_good_random(char *buffer, int size, int need_good_entropy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_good_random
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:72,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:72,1
    - Dst: get_good_random
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:73,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:73,1
    - Dst: get_good_random
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:74,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:74,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:78,1
    - Dst: std::memset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - return_stek
    - entropy_ensured
    argTypes:
    - ssl_ticket_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: generate_new_stek
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_utils.cc
    functionUses: 0
    functionsReached:
    - get_good_random
    - memcpy
    - reinterpret_cast<char *>
    - std::memset
    linkageType: ''
    returnType: int
    signature: int generate_new_stek(ssl_ticket_key_t *return_stek, int entropy_ensured)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: STEKShareSM::STEKShareSM
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STEKShareSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~STEKShareSM()
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~STEKShareSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: STEKShareSM::pre_commit
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::buffer>
    signature: nuraft::ptr<nuraft::buffer> pre_commit(const uint64_t /* log_idx ATS_UNUSED
      */, nuraft::buffer & /* data ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::buffer_serializer::get_bytes
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:56,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:60,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:67,1
    - Dst: nuraft::buffer_serializer::put_u64
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - log_idx
    - data
    argTypes:
    - uint64_t
    - nuraft::buffer
    assertStmts:
    - condition: (len == SSL_TICKET_KEY_SIZE)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: STEKShareSM::commit
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - memcpy
    - nuraft::buffer_serializer::put_u64
    - my_data_alloc
    - nuraft::buffer_serializer::get_bytes
    - assert
    linkageType: ''
    returnType: nuraft::ptr<nuraft::buffer>
    signature: nuraft::ptr<nuraft::buffer> commit(const uint64_t log_idx, nuraft::buffer
      &data) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:84,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - curr_stek
    argTypes:
    - ssl_ticket_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: STEKShareSM::received_stek
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool received_stek(ssl_ticket_key_t *curr_stek)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log_idx
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: STEKShareSM::commit_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void commit_config(const uint64_t log_idx, nuraft::ptr<nuraft::cluster_config>
      & /* new_conf ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: STEKShareSM::rollback
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rollback(const uint64_t /* log_idx ATS_UNUSED */, nuraft::buffer
      & /* data ATS_UNUSED */) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snapshot_::get_last_log_idx
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:115,1
    - Dst: nuraft::snapshot::get_last_log_idx
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:115,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:119,1
    - Dst: nuraft::buffer_serializer::put_bytes
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:121,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - s
    - data_out
    - is_last_obj
    argTypes:
    - nuraft::snapshot
    - nuraft::ptr<nuraft::buffer>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: STEKShareSM::read_logical_snp_obj
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - nuraft::buffer_serializer::put_bytes
    - my_data_alloc
    - nuraft::snapshot::get_last_log_idx
    - snapshot_::get_last_log_idx
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: int
    signature: "int read_logical_snp_obj(nuraft::snapshot            &s, void            *&/*
      user_snp_ctx ATS_UNUSED */, uint64_t /* obj_id ATS_UNUSED */,\n                       nuraft::ptr<nuraft::buffer>
      &data_out, bool &is_last_obj) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::buffer_serializer::get_bytes
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:135,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:137,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:140,1
    - Dst: nuraft::snapshot::serialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:142,1
    - Dst: nuraft::snapshot::deserialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:143,1
    - Dst: nuraft::cs_new<struct snapshot_ctx>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:144,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - obj_id
    - data
    argTypes:
    - nuraft::snapshot
    - uint64_t
    - nuraft::buffer
    assertStmts:
    - condition: (len == SSL_TICKET_KEY_SIZE)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: STEKShareSM::save_logical_snp_obj
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - memcpy
    - nuraft::snapshot::serialize
    - nuraft::snapshot::deserialize
    - nuraft::buffer_serializer::get_bytes
    - std::move
    - nuraft::cs_new<struct snapshot_ctx>
    - assert
    linkageType: ''
    returnType: void
    signature: "void save_logical_snp_obj(nuraft::snapshot &s, uint64_t &obj_id, nuraft::buffer
      &data, bool /* is_first_obj ATS_UNUSED */,\n                       bool /* is_last_obj
      ATS_UNUSED */) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: STEKShareSM::apply_snapshot
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool apply_snapshot(nuraft::snapshot & /* s ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: STEKShareSM::free_user_snp_ctx
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_user_snp_ctx(void *& /* user_snp_ctx ATS_UNUSED */) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: STEKShareSM::last_snapshot
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::snapshot>
    signature: nuraft::ptr<nuraft::snapshot> last_snapshot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: STEKShareSM::last_commit_index
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t last_commit_index() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:202,1
    - Dst: nuraft::snapshot::serialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:205,1
    - Dst: nuraft::snapshot::deserialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:206,1
    - Dst: nuraft::cs_new<struct snapshot_ctx>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:207,1
    - Dst: when_done
      Src: /src/trafficserver/plugins/experimental/stek_share/state_machine.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - when_done
    argTypes:
    - nuraft::snapshot
    - nuraft::async_result<bool>::handler_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 217
    functionName: STEKShareSM::create_snapshot
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached:
    - memcpy
    - nuraft::snapshot::serialize
    - nuraft::snapshot::deserialize
    - when_done
    - nuraft::cs_new<struct snapshot_ctx>
    linkageType: ''
    returnType: void
    signature: void create_snapshot(nuraft::snapshot &s, nuraft::async_result<bool>::handler_type
      &when_done) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - nuraft::ptr<nuraft::snapshot>
    - ssl_ticket_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: STEKShareSM::snapshot_ctx
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void snapshot_ctx(nuraft::ptr<nuraft::snapshot> &s, ssl_ticket_key_t
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cs_new<STEKShareLogStore>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:30,1
    - Dst: nuraft::cs_new<nuraft::srv_config>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:32,1
    - Dst: nuraft::cs_new<nuraft::cluster_config>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:35,1
    - Dst: nuraft::cs_new<nuraft::srv_config>
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:39,1
    - Dst: get_servers
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - srv_id
    - endpoint
    - server_list
    argTypes:
    - int
    - std::string
    - std::map<int, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: STEKShareSMGR::STEKShareSMGR
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached:
    - nuraft::cs_new<nuraft::cluster_config>
    - get_servers
    - nuraft::cs_new<STEKShareLogStore>
    - nuraft::cs_new<nuraft::srv_config>
    linkageType: ''
    returnType: void
    signature: void STEKShareSMGR(int srv_id, const std::string &endpoint, std::map<int,
      std::string> server_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~STEKShareSMGR()
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~STEKShareSMGR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: STEKShareSMGR::load_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::cluster_config>
    signature: nuraft::ptr<nuraft::cluster_config> load_config() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cluster_config::serialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:55,1
    - Dst: nuraft::cluster_config::deserialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - nuraft::cluster_config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: STEKShareSMGR::save_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached:
    - nuraft::cluster_config::deserialize
    - nuraft::cluster_config::serialize
    linkageType: ''
    returnType: void
    signature: void save_config(const nuraft::cluster_config &config) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::srv_state::serialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:62,1
    - Dst: nuraft::srv_state::deserialize
      Src: /src/trafficserver/plugins/experimental/stek_share/state_manager.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - nuraft::srv_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: STEKShareSMGR::save_state
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached:
    - nuraft::srv_state::serialize
    - nuraft::srv_state::deserialize
    linkageType: ''
    returnType: void
    signature: void save_state(const nuraft::srv_state &state) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: STEKShareSMGR::read_state
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::srv_state>
    signature: nuraft::ptr<nuraft::srv_state> read_state() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: STEKShareSMGR::load_log_store
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::log_store>
    signature: nuraft::ptr<nuraft::log_store> load_log_store() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: STEKShareSMGR::server_id
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t server_id() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: STEKShareSMGR::system_exit
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void system_exit(const int /* exit_code ATS_UNUSED */) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: STEKShareSMGR::get_srv_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/state_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nuraft::ptr<nuraft::srv_config>
    signature: nuraft::ptr<nuraft::srv_config> get_srv_config() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: PluginConfig::PluginConfig
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: STEKShareServer::STEKShareServer
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.h
    functionUses: 0
    functionsReached:
    - std::memset
    linkageType: ''
    returnType: void
    signature: void STEKShareServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STEKShareServer::reset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.h:101,1
    - Dst: STEKShareServer::reset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.h:106,1
    - Dst: STEKShareServer::reset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: STEKShareServer::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.h
    functionUses: 1
    functionsReached:
    - STEKShareServer::reset
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/stek_share/common.cc:39,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/stek_share/common.cc:39,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/stek_share/common.cc:40,1
    - Dst: std::string::at
      Src: /src/trafficserver/plugins/experimental/stek_share/common.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: hex_str
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/common.cc
    functionUses: 2
    functionsReached:
    - std::string::size
    - std::string::at
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string hex_str(std::string const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/stek_share/common.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - th
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: PluginThreads::store
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/common.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void store(const pthread_t &th)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/stek_share/common.h:54,1
    - Dst: front
      Src: /src/trafficserver/plugins/experimental/stek_share/common.h:55,1
    - Dst: ::pthread_join
      Src: /src/trafficserver/plugins/experimental/stek_share/common.h:56,1
    - Dst: pop_front
      Src: /src/trafficserver/plugins/experimental/stek_share/common.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: PluginThreads::terminate
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/common.h
    functionUses: 0
    functionsReached:
    - pop_front
    - empty
    - ::pthread_join
    - front
    linkageType: ''
    returnType: void
    signature: void terminate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: PluginThreads::is_shut_down
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shut_down()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: STEKShareLogStore::flush
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool flush() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:30,1
    - Dst: nuraft::cs_new<nuraft::log_entry>
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: STEKShareLogStore::STEKShareLogStore
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - my_data_alloc
    - nuraft::cs_new<nuraft::log_entry>
    linkageType: ''
    returnType: void
    signature: void STEKShareLogStore::STEKShareLogStore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: STEKShareLogStore::~STEKShareLogStore()
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STEKShareLogStore::~STEKShareLogStore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cs_new<nuraft::log_entry>
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:40,1
    - Dst: nuraft::ptr<nuraft::log_entry>::get_term
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:40,1
    - Dst: IOBufferBlock::clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:40,1
    - Dst: nuraft::ptr<nuraft::log_entry>::get_buf
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:40,1
    - Dst: nuraft::ptr<nuraft::log_entry>::get_val_type
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - nuraft::ptr<nuraft::log_entry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: STEKShareLogStore::make_clone
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - nuraft::ptr<nuraft::log_entry>::get_buf
    - nuraft::ptr<nuraft::log_entry>::get_val_type
    - nuraft::ptr<nuraft::log_entry>::get_term
    - nuraft::cs_new<nuraft::log_entry>
    - IOBufferBlock::clone
    linkageType: ''
    returnType: nuraft::ptr<nuraft::log_entry>
    signature: nuraft::ptr<nuraft::log_entry> STEKShareLogStore::make_clone(const
      nuraft::ptr<nuraft::log_entry> &entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: STEKShareLogStore::next_slot
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t STEKShareLogStore::next_slot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: STEKShareLogStore::start_index
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t STEKShareLogStore::start_index() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STEKShareLogStore::next_slot
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:62,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:64,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:67,1
    - Dst: at
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:68,1
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: STEKShareLogStore::last_entry
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - STEKShareLogStore::make_clone
    - find
    - end
    - at
    - STEKShareLogStore::next_slot
    linkageType: ''
    returnType: nuraft::ptr<nuraft::log_entry>
    signature: nuraft::ptr<nuraft::log_entry> STEKShareLogStore::last_entry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:79,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - nuraft::ptr<nuraft::log_entry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: STEKShareLogStore::append
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - size
    - STEKShareLogStore::make_clone
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t STEKShareLogStore::append(nuraft::ptr<nuraft::log_entry> &entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:92,1
    - Dst: lower_bound
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:96,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:97,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:98,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - entry
    argTypes:
    - uint64_t
    - nuraft::ptr<nuraft::log_entry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: STEKShareLogStore::write_at
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - erase
    - STEKShareLogStore::make_clone
    - lower_bound
    - end
    - std::move
    linkageType: ''
    returnType: void
    signature: void STEKShareLogStore::write_at(uint64_t index, nuraft::ptr<nuraft::log_entry>
      &entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cs_new<std::vector<nuraft::ptr<nuraft::log_entry>>>
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:106,1
    - Dst: nuraft::ptr::resize
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:108,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:114,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:115,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:116,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:117,1
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: STEKShareLogStore::log_entries
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - nuraft::cs_new<std::vector<nuraft::ptr<nuraft::log_entry>>>
    - STEKShareLogStore::make_clone
    - nuraft::ptr::resize
    - find
    - end
    - assert
    linkageType: ''
    returnType: nuraft::ptr<std::vector<nuraft::ptr<nuraft::log_entry>>>
    signature: nuraft::ptr<std::vector<nuraft::ptr<nuraft::log_entry>>> STEKShareLogStore::log_entries(uint64_t
      start, uint64_t end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cs_new<std::vector<nuraft::ptr<nuraft::log_entry>>>
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:129,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:140,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:141,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:143,1
    - Dst: nuraft::ptr::push_back
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:147,1
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:147,1
    - Dst: nuraft::ptr::get_buf
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - start
    - end
    - batch_size_hint_in_bytes
    argTypes:
    - uint64_t
    - uint64_t
    - int64_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    constantsTouched: []
    func_position:
      end: 154
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionName: STEKShareLogStore::log_entries_ext
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - nuraft::ptr::get_buf
    - nuraft::cs_new<std::vector<nuraft::ptr<nuraft::log_entry>>>
    - nuraft::ptr::push_back
    - STEKShareLogStore::make_clone
    - find
    - end
    - assert
    linkageType: ''
    returnType: nuraft::ptr<std::vector<nuraft::ptr<nuraft::log_entry>>>
    signature: nuraft::ptr<std::vector<nuraft::ptr<nuraft::log_entry>>> STEKShareLogStore::log_entries_ext(uint64_t
      start, uint64_t end, int64_t batch_size_hint_in_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:162,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:164,1
    - Dst: at
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:165,1
    - Dst: STEKShareLogStore::make_clone
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: STEKShareLogStore::entry_at
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - find
    - at
    - STEKShareLogStore::make_clone
    - end
    linkageType: ''
    returnType: nuraft::ptr<nuraft::log_entry>
    signature: nuraft::ptr<nuraft::log_entry> STEKShareLogStore::entry_at(uint64_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:179,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:182,1
    - Dst: at
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:183,1
    - Dst: nuraft::ptr::get_term
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: STEKShareLogStore::term_at
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - find
    - nuraft::ptr::get_term
    - at
    - end
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t STEKShareLogStore::term_at(uint64_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:205,1
    - Dst: nuraft::ptr::get
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:205,1
    - Dst: nuraft::ptr::serialize
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:206,1
    - Dst: nuraft::ptr::size
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:207,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:208,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:211,1
    - Dst: nuraft::ptr::pos
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:212,1
    - Dst: nuraft::ptr::put
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:213,1
    - Dst: nuraft::ptr::put
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:217,1
    - Dst: nuraft::ptr::size
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:217,1
    - Dst: nuraft::ptr::put
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - index
    - cnt
    argTypes:
    - uint64_t
    - int32_t
    assertStmts:
    - condition: (le.get())
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: STEKShareLogStore::pack
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - nuraft::ptr::pos
    - std::vector::push_back
    - nuraft::ptr::get
    - my_data_alloc
    - nuraft::ptr::put
    - nuraft::ptr::size
    - nuraft::ptr::serialize
    - assert
    linkageType: ''
    returnType: nuraft::ptr<nuraft::buffer>
    signature: nuraft::ptr<nuraft::buffer> STEKShareLogStore::pack(uint64_t index,
      int32_t cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::buffer::pos
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:226,1
    - Dst: nuraft::buffer::get_int
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:227,1
    - Dst: nuraft::buffer::get_int
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:231,1
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:233,1
    - Dst: nuraft::buffer::get
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:234,1
    - Dst: nuraft::log_entry::deserialize
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:236,1
    - Dst: upper_bound
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:245,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - index
    - pack
    argTypes:
    - uint64_t
    - nuraft::buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: STEKShareLogStore::apply_pack
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - nuraft::buffer::pos
    - nuraft::buffer::get_int
    - nuraft::buffer::get
    - end
    - my_data_alloc
    - upper_bound
    - nuraft::log_entry::deserialize
    linkageType: ''
    returnType: void
    signature: void STEKShareLogStore::apply_pack(uint64_t index, nuraft::buffer &pack)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:259,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:260,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/stek_share/log_store.cc:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - last_log_index
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: STEKShareLogStore::compact
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: bool
    signature: bool STEKShareLogStore::compact(uint64_t last_log_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: STEKShareLogStore::close
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/log_store.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STEKShareLogStore::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: get_scoped_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<PluginConfig>
    signature: std::shared_ptr<PluginConfig> get_scoped_config(bool backup = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - std::shared_ptr<PluginConfig>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: backup_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void backup_config(std::shared_ptr<PluginConfig> config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - std::shared_ptr<PluginConfig>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: restore_config
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void restore_config(std::shared_ptr<PluginConfig> config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raft_launcher::shutdown
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:96,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:97,1
    - Dst: terminate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: shutdown_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - reset
    - terminate
    - raft_launcher::shutdown
    linkageType: ''
    returnType: int
    signature: int shutdown_handler(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void * /* edata ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:107,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:108,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:109,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:111,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:111,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:114,1
    - Dst: load_config_from_file
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:115,1
    - Dst: raft_launcher::shutdown
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:117,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:118,1
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:119,1
    - Dst: init_raft
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:120,1
    - Dst: nuraft::cs_new<STEKShareSM>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:120,1
    - Dst: backup_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:121,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:122,1
    - Dst: auto::endpoint::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:122,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:124,1
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:125,1
    - Dst: restore_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:126,1
    - Dst: init_raft
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:127,1
    - Dst: nuraft::cs_new<STEKShareSM>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:128,1
    - Dst: auto::endpoint::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:128,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:130,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:134,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:137,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:137,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:138,1
    - Dst: const_cast<void *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:138,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 146
    functionName: message_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - strcmp
    - restore_config
    - backup_config
    - get_scoped_config
    - init_raft
    - nuraft::cs_new<STEKShareSM>
    - static_cast<TSPluginMsg *>
    - const_cast<void *>
    - load_config_from_file
    - auto::endpoint::c_str
    - TSError
    - reset
    - Dbg
    - reinterpret_cast<char *>
    - raft_launcher::shutdown
    - TSEmergency
    - strncmp
    linkageType: ''
    returnType: int
    signature: int message_handler(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:151,1
    - Dst: auto::cert_verify_str::empty
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:152,1
    - Dst: std::string::compare
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:152,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:153,1
    - Dst: auto::cert_verify_str::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:153,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: cert_verification
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 1
    functionsReached:
    - get_scoped_config
    - std::string::compare
    - Dbg
    - auto::cert_verify_str::c_str
    - auto::cert_verify_str::empty
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool cert_verification(const std::string &sn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nuraft::cs_new<STEKShareSMGR>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:165,1
    - Dst: raft_launcher::init
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:198,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - sm_instance
    - config
    argTypes:
    - nuraft::ptr<nuraft::state_machine>
    - std::shared_ptr<PluginConfig>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 209
    functionName: init_raft
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - raft_launcher::init
    - nuraft::cs_new<STEKShareSMGR>
    linkageType: ''
    returnType: int
    signature: int init_raft(nuraft::ptr<nuraft::state_machine> sm_instance, std::shared_ptr<PluginConfig>
      config)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PluginConfig>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:214,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:216,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:218,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:220,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:220,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:223,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:223,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:229,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:231,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:235,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:241,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:243,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:248,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:250,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:254,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:257,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:261,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:265,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:269,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:273,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:277,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:281,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:285,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:287,1
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:292,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:294,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:294,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:296,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:296,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:299,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:299,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:305,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:305,1
    - Dst: auto::as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:306,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:308,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:309,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:310,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:311,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:313,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:315,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:319,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:319,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:321,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:327,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:329,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:334,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:336,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:341,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:343,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:348,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 355
    functionName: load_config_from_file
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 1
    functionsReached:
    - ink_time_wall_seconds
    - YAML::Node::Node
    - auto::as
    - what
    - std::string::c_str
    - YAML::LoadFile
    - Dbg
    - YAML::Node::begin
    - YAML::Node::end
    - std::make_shared<PluginConfig>
    - std::to_string
    - as
    linkageType: ''
    returnType: int
    signature: int load_config_from_file()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raft_result::get_result_code
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:360,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:363,1
    - Dst: raft_result::get_result_code
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:363,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - raft_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: handle_result
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - raft_result::get_result_code
    linkageType: ''
    returnType: void
    signature: void handle_result(raft_result &result, nuraft::ptr<std::exception>
      & /* err ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: my_data_alloc
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:373,1
    - Dst: nuraft::buffer_serializer::put_bytes
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:375,1
    - Dst: raft_instance::append_entries
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:379,1
    - Dst: nuraft::ptr::get_accepted
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:381,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:383,1
    - Dst: nuraft::ptr::get_result_code
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:383,1
    - Dst: handle_result
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:393,1
    - Dst: nuraft::ptr::when_ready
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:397,1
    - Dst: std::bind
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:397,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - void*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    constantsTouched: []
    func_position:
      end: 401
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 401
    functionName: append_log
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - raft_instance::append_entries
    - nuraft::ptr::when_ready
    - nuraft::ptr::get_accepted
    - nuraft::buffer_serializer::put_bytes
    - Dbg
    - nuraft::ptr::get_result_code
    - my_data_alloc
    - std::bind
    - handle_result
    - assert
    linkageType: ''
    returnType: void
    signature: void append_log(const void *data, int data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:406,1
    - Dst: smgr_instance::load_log_store
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:410,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:412,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:413,1
    - Dst: raft_instance::get_leader
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:413,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:414,1
    - Dst: nuraft::ptr::start_index
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:414,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:414,1
    - Dst: nuraft::ptr::next_slot
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:414,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:415,1
    - Dst: raft_instance::get_committed_log_idx
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:415,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:416,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: print_status
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - nuraft::ptr::start_index
    - raft_instance::get_leader
    - get_scoped_config
    - Dbg
    - smgr_instance::load_log_store
    - raft_instance::get_committed_log_idx
    - nuraft::ptr::next_slot
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void print_status()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:422,1
    - Dst: ::pthread_self
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:422,1
    - Dst: ::pthread_setcancelstate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:423,1
    - Dst: ::pthread_setcanceltype
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:424,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:426,1
    - Dst: is_shut_down
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:428,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:433,1
    - Dst: generate_new_stek
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:434,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:435,1
    - Dst: hex_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:436,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:436,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:436,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:438,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:440,1
    - Dst: TSSslTicketKeyUpdate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:441,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:441,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:442,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:444,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:445,1
    - Dst: TSFatal
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:448,1
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:453,1
    - Dst: is_shut_down
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:454,1
    - Dst: raft_instance::is_initialized
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:456,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:457,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:458,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:458,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:461,1
    - Dst: raft_instance::is_leader
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:464,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:467,1
    - Dst: std::chrono::time_point<std::chrono::system_clock>::time_since_epoch
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:467,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:468,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:471,1
    - Dst: hex_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:472,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:472,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:472,1
    - Dst: append_log
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:473,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:473,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:475,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:478,1
    - Dst: generate_new_stek
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:479,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:480,1
    - Dst: hex_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:481,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:481,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:481,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:483,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:484,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:486,1
    - Dst: TSSslTicketKeyUpdate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:487,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:487,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:489,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:491,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:492,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:493,1
    - Dst: hex_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:494,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:494,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:494,1
    - Dst: append_log
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:495,1
    - Dst: reinterpret_cast<const void *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:495,1
    - Dst: TSFatal
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:498,1
    - Dst: std::chrono::time_point<std::chrono::system_clock>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:502,1
    - Dst: std::chrono::time_point<std::chrono::system_clock>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:504,1
    - Dst: dynamic_cast<STEKShareSM *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:507,1
    - Dst: sm_instance::get
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:507,1
    - Dst: auto::received_stek
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:511,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:512,1
    - Dst: hex_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:513,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:513,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:513,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:516,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:517,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:519,1
    - Dst: TSSslTicketKeyUpdate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:520,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:520,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:521,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:523,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:524,1
    - Dst: std::shared_lock::unlock
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:529,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:536,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:536,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:542,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 545
    functionName: stek_updater
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - ::pthread_setcanceltype
    - memcpy
    - ::pthread_setcancelstate
    - hex_str
    - std::string
    - auto::received_stek
    - TSSslTicketKeyUpdate
    - TSFatal
    - std::chrono::time_point<std::chrono::system_clock>::time_since_epoch
    - sm_instance::get
    - is_shut_down
    - proxy_wasm::exports::set_tick_period_milliseconds
    - dynamic_cast<STEKShareSM *>
    - std::shared_lock::unlock
    - append_log
    - generate_new_stek
    - std::chrono::duration_cast<std::chrono::seconds>
    - store
    - std::this_thread::sleep_for
    - reinterpret_cast<const void *>
    - raft_instance::is_leader
    - Dbg
    - std::chrono::time_point<std::chrono::system_clock>
    - ::pthread_self
    - failover_now
    - ink_time_wall_seconds
    - raft_instance::is_initialized
    - get_scoped_config
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: void
    signature: 'void *

      stek_updater(void * /* arg ATS_UNUSED */)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:556,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:556,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:558,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:559,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:563,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:563,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:566,1
    - Dst: load_config_from_file
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:569,1
    - Dst: get_scoped_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:570,1
    - Dst: init_raft
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:571,1
    - Dst: nuraft::cs_new<STEKShareSM>
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:571,1
    - Dst: backup_config
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:572,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:573,1
    - Dst: auto::endpoint::c_str
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:573,1
    - Dst: TSThreadCreate
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:574,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:576,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 582
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/stek_share/stek_share.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - backup_config
    - TSError
    - get_scoped_config
    - init_raft
    - load_config_from_file
    - nuraft::cs_new<STEKShareSM>
    - auto::endpoint::c_str
    - TSThreadCreate
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:95,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:100,1
    - Dst: notify_all
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:102,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:104,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:107,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:108,1
    - Dst: TSThreadWait
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:109,1
    - Dst: TSThreadDestroy
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:110,1
    - Dst: const_cast<TSThread *&>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (running_)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != thread)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != pool_)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: ~ThreadPool()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - TSThreadDestroy
    - const_cast<TSThread *&>
    - Dbg
    - notify_all
    - clear
    - TSThreadWait
    - assert
    linkageType: ''
    returnType: void
    signature: void ~ThreadPool()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSThread::TSThread
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:119,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:120,1
    - Dst: TSThreadCreate
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:122,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:124,1
    - Dst: reinterpret_cast<ThreadPool *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:125,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:126,1
    - Dst: ThreadPool*::semaphore_::wait
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:132,1
    - Dst: ThreadPool*::queue_::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:132,1
    - Dst: ThreadPool*::queue_::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:134,1
    - Dst: ThreadPool*::queue_::front
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:135,1
    - Dst: ThreadPool*::queue_::pop_front
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:136,1
    - Dst: callback
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:148,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts:
    - condition: (0 < size_)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != pool_)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != d)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (self->running_)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != pool_[i])
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: ThreadPool
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<ThreadPool *>
    - TSThreadCreate
    - TSThread::TSThread
    - ThreadPool*::queue_::front
    - ThreadPool*::semaphore_::wait
    - ThreadPool*::queue_::pop_front
    - callback
    - Dbg
    - ThreadPool*::queue_::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void ThreadPool(const size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ThreadPool
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadPool(ThreadPool &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:167,1
    - Dst: notify_one
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: emplace_back
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 55
    functionsReached:
    - emplace_back
    - notify_one
    linkageType: ''
    returnType: void
    signature: void emplace_back(Callback &&c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:180,1
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != context)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ~EVPContext()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - assert
    linkageType: ''
    returnType: void
    signature: void ~EVPContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:184,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != context)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: magick::EVPContext
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - assert
    linkageType: ''
    returnType: void
    signature: void EVPContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:192,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != key)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: ~EVPKey()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - assert
    linkageType: ''
    returnType: void
    signature: void ~EVPKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != key)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: magick::EVPKey
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - assert
    linkageType: ''
    returnType: void
    signature: void EVPKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:201,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:202,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - RSA*
    assertStmts:
    - condition: (nullptr != k)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (1 == rc)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: magick::assign
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - assert
    linkageType: ''
    returnType: bool
    signature: bool assign(RSA *k) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:213,1
    - Dst: ERR_reason_error_string
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:214,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:215,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: magick::ssl_error
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - ERR_reason_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void ssl_error()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:225,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:227,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:228,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:229,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:237,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:237,1
    - Dst: magick::ssl_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:238,1
    - Dst: EVP_DigestVerify
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:242,1
    - Dst: magick::ssl_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - msg
    - mlen
    - sig
    - slen
    - pkey
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    - EVP_PKEY*
    assertStmts:
    - condition: (nullptr != msg)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != sig)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (0 < mlen)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (0 < slen)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != pkey)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: magick::verify
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyInit
    - magick::ssl_error
    - EVP_sha256
    - EVP_DigestVerify
    - assert
    linkageType: ''
    returnType: bool
    signature: bool verify(const byte *const msg, const size_t mlen, const byte *const
      sig, const size_t slen, EVP_PKEY *const pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:259,1
    - Dst: DestroyExceptionInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ~Exception()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyExceptionInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireExceptionInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:263,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: magick::Exception
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - AcquireExceptionInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:271,1
    - Dst: DestroyImageInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: ~Image()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyImageInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Image()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireImageInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:275,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: magick::Image
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - AcquireImageInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void Image()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:284,1
    - Dst: DestroyMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:285,1
    - Dst: MagickRelinquishMemory
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: ~Wand()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyMagickWand
    - MagickRelinquishMemory
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Wand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:291,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: magick::Wand
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - NewMagickWand
    - assert
    linkageType: ''
    returnType: void
    signature: void Wand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:296,1
    - Dst: ClearMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: magick::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - ClearMagickWand
    - assert
    linkageType: ''
    returnType: void
    signature: void clear() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:303,1
    - Dst: MagickRelinquishMemory
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:306,1
    - Dst: MagickResetIterator
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:308,1
    - Dst: MagickGetImagesBlob
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:309,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:310,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: magick::get
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickRelinquishMemory
    - MagickGetImagesBlob
    - reinterpret_cast<char *>
    - MagickResetIterator
    - std::string_view
    - assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:316,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:317,1
    - Dst: MagickReadImage
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: magick::read
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickReadImage
    - assert
    linkageType: ''
    returnType: bool
    signature: bool read(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:324,1
    - Dst: std::vector<char>::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:325,1
    - Dst: MagickReadImageBlob
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    - Dst: std::vector<char>::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    - Dst: std::vector<char>::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<char>
    assertStmts:
    - condition: (!v.empty())
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: magick::readBlob
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - std::vector<char>::empty
    - std::vector<char>::size
    - MagickReadImageBlob
    - std::vector<char>::data
    - assert
    linkageType: ''
    returnType: bool
    signature: bool readBlob(const std::vector<char> &v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:332,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:333,1
    - Dst: MagickSetImageFormat
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: magick::setFormat
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickSetImageFormat
    - assert
    linkageType: ''
    returnType: bool
    signature: bool setFormat(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:340,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:341,1
    - Dst: MagickWriteImage
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: magick::write
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickWriteImage
    - assert
    linkageType: ''
    returnType: bool
    signature: bool write(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MagickCoreTerminus
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: ~Core()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickCoreTerminus
    linkageType: ''
    returnType: void
    signature: void ~Core()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MagickCoreGenesis
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: magick::Core
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickCoreGenesis
    linkageType: ''
    returnType: void
    signature: void Core()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:180,1
    - Dst: EVP_MD_CTX_free
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != context)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ~EVPContext()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - assert
    linkageType: ''
    returnType: void
    signature: void ~EVPContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:184,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != context)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: magick::EVPContext
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - assert
    linkageType: ''
    returnType: void
    signature: void EVPContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:192,1
    - Dst: EVP_PKEY_free
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != key)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: ~EVPKey()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - assert
    linkageType: ''
    returnType: void
    signature: void ~EVPKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != key)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: magick::EVPKey
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - assert
    linkageType: ''
    returnType: void
    signature: void EVPKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:201,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:202,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - RSA*
    assertStmts:
    - condition: (nullptr != k)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (1 == rc)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: magick::assign
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - assert
    linkageType: ''
    returnType: bool
    signature: bool assign(RSA *k) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:213,1
    - Dst: ERR_reason_error_string
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:214,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:215,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: magick::ssl_error
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - ERR_reason_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void ssl_error()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:225,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:227,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:228,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:229,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:237,1
    - Dst: EVP_sha256
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:237,1
    - Dst: magick::ssl_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:238,1
    - Dst: EVP_DigestVerify
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:242,1
    - Dst: magick::ssl_error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - msg
    - mlen
    - sig
    - slen
    - pkey
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    - EVP_PKEY*
    assertStmts:
    - condition: (nullptr != msg)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != sig)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (0 < mlen)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (0 < slen)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != pkey)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: magick::verify
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyInit
    - magick::ssl_error
    - EVP_sha256
    - EVP_DigestVerify
    - assert
    linkageType: ''
    returnType: bool
    signature: bool verify(const byte *const msg, const size_t mlen, const byte *const
      sig, const size_t slen, EVP_PKEY *const pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:259,1
    - Dst: DestroyExceptionInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ~Exception()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyExceptionInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireExceptionInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:263,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: magick::Exception
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - AcquireExceptionInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void Exception()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:271,1
    - Dst: DestroyImageInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: ~Image()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyImageInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Image()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireImageInfo
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:275,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != info)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: magick::Image
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - AcquireImageInfo
    - assert
    linkageType: ''
    returnType: void
    signature: void Image()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:284,1
    - Dst: DestroyMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:285,1
    - Dst: MagickRelinquishMemory
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: ~Wand()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - DestroyMagickWand
    - MagickRelinquishMemory
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Wand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:291,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: magick::Wand
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - NewMagickWand
    - assert
    linkageType: ''
    returnType: void
    signature: void Wand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:296,1
    - Dst: ClearMagickWand
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: magick::clear
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - ClearMagickWand
    - assert
    linkageType: ''
    returnType: void
    signature: void clear() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:303,1
    - Dst: MagickRelinquishMemory
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:306,1
    - Dst: MagickResetIterator
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:308,1
    - Dst: MagickGetImagesBlob
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:309,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:310,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != wand)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: magick::get
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickRelinquishMemory
    - MagickGetImagesBlob
    - reinterpret_cast<char *>
    - MagickResetIterator
    - std::string_view
    - assert
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:316,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:317,1
    - Dst: MagickReadImage
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: magick::read
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickReadImage
    - assert
    linkageType: ''
    returnType: bool
    signature: bool read(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:324,1
    - Dst: std::vector<char>::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:325,1
    - Dst: MagickReadImageBlob
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    - Dst: std::vector<char>::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    - Dst: std::vector<char>::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<char>
    assertStmts:
    - condition: (!v.empty())
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: magick::readBlob
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - std::vector<char>::empty
    - std::vector<char>::size
    - MagickReadImageBlob
    - std::vector<char>::data
    - assert
    linkageType: ''
    returnType: bool
    signature: bool readBlob(const std::vector<char> &v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:332,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:333,1
    - Dst: MagickSetImageFormat
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: magick::setFormat
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickSetImageFormat
    - assert
    linkageType: ''
    returnType: bool
    signature: bool setFormat(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:340,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:341,1
    - Dst: MagickWriteImage
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (nullptr != s)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != wand)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: magick::write
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickWriteImage
    - assert
    linkageType: ''
    returnType: bool
    signature: bool write(const char *const s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MagickCoreTerminus
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: ~Core()
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickCoreTerminus
    linkageType: ''
    returnType: void
    signature: void ~Core()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MagickCoreGenesis
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: magick::Core
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - MagickCoreGenesis
    linkageType: ''
    returnType: void
    signature: void Core()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:363,1
    - Dst: parse
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: QueryMap
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - std::move
    - parse
    linkageType: ''
    returnType: void
    signature: void QueryMap(std::string &&s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:369,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: "&\n  operator[](T &&k) const"
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: Vector
    signature: "Vector &\n  operator[](T &&k) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:381,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:385,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:386,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:386,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:387,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:392,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:400,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:402,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:404,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:408,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (j <= i)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 410
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 410
    functionName: parse
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 59
    functionsReached:
    - emplace_back
    - std::string_view::empty
    - std::string_view
    - size
    - assert
    linkageType: ''
    returnType: void
    signature: void parse()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSStringPercentDecode
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:420,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:420,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:420,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:420,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:420,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:421,1
    - Dst: CharVector::resize
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:425,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:430,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:431,1
    - Dst: CharVector::resize
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - CharVector
    assertStmts:
    - condition: (TS_SUCCESS == rc)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (TS_SUCCESS == rc)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: QueryParameterToCharVector
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - TSStringPercentDecode
    - CharVector::resize
    - TSBase64Decode
    - CharVector::size
    - reinterpret_cast<unsigned char *>
    - CharVector::data
    - assert
    linkageType: ''
    returnType: bool
    signature: bool QueryParameterToCharVector(CharVector &v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CharPointerVector::reserve
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:445,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:450,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:452,1
    - Dst: CharPointerVector::push_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:455,1
    - Dst: CharPointerVector::push_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:462,1
    - Dst: CharPointerVector::push_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - v
    argTypes:
    - CharVector
    assertStmts:
    - condition: ('\0' != c)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 472
    functionName: QueryParameterToArguments
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - CharVector::size
    - CharPointerVector::reserve
    - CharPointerVector::push_back
    - assert
    linkageType: ''
    returnType: CharPointerVector
    signature: CharPointerVector QueryParameterToArguments(CharVector &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: ~ImageTransform() override
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ImageTransform() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:479,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:480,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - t
    - a
    - m
    - p
    argTypes:
    - Transaction
    - CharVector
    - CharPointerVector
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: ImageTransform
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - std::move
    linkageType: ''
    returnType: void
    signature: void ImageTransform(Transaction &t, CharVector &&a, CharPointerVector
      &&m, ThreadPool &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:489,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:490,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:490,1
    - Dst: std::string_view::begin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:490,1
    - Dst: std::string_view::end
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: consume
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 61
    functionsReached:
    - std::string_view::end
    - std::string_view::begin
    - insert
    - end
    - Dbg
    linkageType: ''
    returnType: void
    signature: void consume(const std::string_view s) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:496,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:498,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:503,1
    - Dst: blob_::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:503,1
    - Dst: magick::Wand::readBlob
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:505,1
    - Dst: magick::Wand::write
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:506,1
    - Dst: MagickCommandGenesis
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:508,1
    - Dst: argumentMap_::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:508,1
    - Dst: argumentMap_::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:508,1
    - Dst: magick::Wand::clear
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:511,1
    - Dst: magick::Wand::read
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:512,1
    - Dst: magick::Wand::get
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:514,1
    - Dst: produce
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:515,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:517,1
    - Dst: setOutputComplete
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:519,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!this->blob_.empty())
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 523
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 523
    functionName: handleInputComplete
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 3
    functionsReached:
    - magick::Wand::write
    - emplace_back
    - magick::Wand::clear
    - magick::Wand::get
    - produce
    - magick::Wand::readBlob
    - Dbg
    - MagickCommandGenesis
    - setOutputComplete
    - argumentMap_::data
    - magick::Wand::read
    - blob_::empty
    - argumentMap_::size
    - assert
    linkageType: ''
    returnType: void
    signature: void handleInputComplete() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~GlobalHookPlugin() override
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GlobalHookPlugin() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:541,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:541,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:542,1
    - Dst: std::make_unique<magick::EVPKey>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:543,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:544,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:545,1
    - Dst: PEM_read_RSA_PUBKEY
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:547,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:548,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:549,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:550,1
    - Dst: registerHook
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:553,1
    - Dst: registerHook
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 < strlen(f))
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != file)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    - condition: (nullptr != rsa)
      pos:
        line_end: 547
        line_start: 547
        source_file: /src/trafficserver/plugins/experimental/magick/magick.cc
    constantsTouched: []
    func_position:
      end: 555
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 555
    functionName: GlobalHookPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 1
    functionsReached:
    - fclose
    - fopen
    - registerHook
    - Dbg
    - strlen
    - assign
    - PEM_read_RSA_PUBKEY
    - std::make_unique<magick::EVPKey>
    - assert
    linkageType: ''
    returnType: void
    signature: void GlobalHookPlugin(const char *const f = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getServerRequest
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:560,1
    - Dst: Headers::erase
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:562,1
    - Dst: Headers::erase
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:563,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: handleSendRequestHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 2
    functionsReached:
    - Headers::erase
    - Transaction::getServerRequest
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleSendRequestHeaders(Transaction &t) override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getServerResponse
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:570,1
    - Dst: Headers::values
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:572,1
    - Dst: string::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:574,1
    - Dst: Headers::values
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:575,1
    - Dst: std::transform
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:578,1
    - Dst: string::cbegin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:578,1
    - Dst: string::cend
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:578,1
    - Dst: string::begin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:578,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:586,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:586,1
    - Dst: Transaction::getServerRequest
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:587,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:589,1
    - Dst: auto::front
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:590,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:591,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:591,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:591,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:597,1
    - Dst: auto::front
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:598,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:599,1
    - Dst: auto::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:599,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:599,1
    - Dst: CharVector::insert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:600,1
    - Dst: CharVector::end
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:600,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:601,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:601,1
    - Dst: QueryParameterToCharVector
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:602,1
    - Dst: magick::verify
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:603,1
    - Dst: reinterpret_cast<const byte *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:603,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:603,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:603,1
    - Dst: reinterpret_cast<const byte *>
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:604,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:604,1
    - Dst: CharVector::size
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:604,1
    - Dst: CharVector::insert
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:609,1
    - Dst: CharVector::end
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:609,1
    - Dst: QueryParameterToCharVector
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:610,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:611,1
    - Dst: CharVector::data
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:611,1
    - Dst: QueryParameterToArguments
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:612,1
    - Dst: Transaction::addPlugin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:613,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:613,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:613,1
    - Dst: ImageTransform::ImageTransform
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:613,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:615,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:616,1
    - Dst: Transaction::setStatusCode
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:617,1
    - Dst: Transaction::error
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:618,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:623,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - t
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 624
    functionName: handleReadResponseHeaders
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 2
    functionsReached:
    - Headers::values
    - Transaction::error
    - CharVector::end
    - string::cend
    - string::begin
    - ImageTransform::ImageTransform
    - string::cbegin
    - auto::size
    - std::transform
    - string::c_str
    - Transaction::resume
    - string::empty
    - auto::data
    - CharVector::data
    - Transaction::addPlugin
    - std::move
    - TSError
    - Transaction::getServerRequest
    - QueryParameterToArguments
    - Dbg
    - CharVector::size
    - auto::front
    - Transaction::setStatusCode
    - reinterpret_cast<const byte *>
    - Transaction::getServerResponse
    - QueryParameterToCharVector
    - magick::verify
    - CharVector::insert
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void handleReadResponseHeaders(Transaction &t) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegisterGlobalPlugin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:630,1
    - Dst: GlobalHookPlugin::GlobalHookPlugin
      Src: /src/trafficserver/plugins/experimental/magick/magick.cc:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 642
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/magick/magick.cc
    functionUses: 0
    functionsReached:
    - RegisterGlobalPlugin
    - GlobalHookPlugin::GlobalHookPlugin
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:28,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:37,1
    - Dst: Acl::Acl
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:41,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:42,1
    - Dst: Acl*::init
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:43,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:44,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSError
    - Acl::Acl
    - Acl*::init
    - Dbg
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf */, int /* errbuf_size */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Acl *>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc
    functionUses: 0
    functionsReached:
    - static_cast<Acl *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:68,1
    - Dst: static_cast<Acl *>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:70,1
    - Dst: Acl*::eval
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:72,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:73,1
    - Dst: Acl*::send_html
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/maxmind_acl.cc
    functionUses: 0
    functionsReached:
    - static_cast<Acl *>
    - Acl*::send_html
    - Dbg
    - Acl*::eval
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:36,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:38,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:42,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:44,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:46,1
    - Dst: stat
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:49,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:49,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:50,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:50,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:55,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:55,1
    - Dst: IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:57,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:62,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:70,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:70,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:71,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:72,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:73,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:73,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:77,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:77,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:77,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:84,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:85,1
    - Dst: TSMgmtConfigFileAdd
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:86,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:86,1
    - Dst: TSWarning
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:87,1
    - Dst: Acl::loaddb
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:94,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:100,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:101,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:102,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:103,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:104,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:105,1
    - Dst: Acl::loadallow
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:121,1
    - Dst: Acl::loaddeny
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:129,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:130,1
    - Dst: Acl::loadhtml
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:134,1
    - Dst: Acl::loadanonymous
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:136,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 144
    functionName: Acl::init
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 0
    functionsReached:
    - stat
    - YAML::LoadFile
    - Acl::loadanonymous
    - TSMgmtConfigFileAdd
    - YAML::Node::begin
    - TSConfigDirGet
    - Acl::loadallow
    - assign
    - Acl::loadhtml
    - YAML::Node::Node
    - Acl::loaddeny
    - what
    - append
    - YAML::Node::end
    - YAML::const_iterator::first::as
    - TSMgmtStringGet
    - std::string::c_str
    - TSError
    - IsNull
    - Acl::loaddb
    - Dbg
    - TSWarning
    - clear
    - YAML::const_iterator::second::Type
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool Acl::init(char const *filename)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:152,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:155,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:156,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:162,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:162,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:163,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:164,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:165,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:165,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:170,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:171,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:176,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:180,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:181,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:185,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:186,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:191,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:195,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:196,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:201,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:202,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:206,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:207,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:211,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:212,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:216,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:217,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:222,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - anonNode
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 227
    functionName: Acl::loadanonymous
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - YAML::const_iterator::second::Type
    - YAML::Node::IsNull
    - what
    - as
    - Dbg
    - YAML::const_iterator::first::as
    - YAML::Node::begin
    - YAML::Node::end
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Acl::loadanonymous(const YAML::Node &anonNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:235,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:238,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:239,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:245,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:245,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:246,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:247,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:248,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:248,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:256,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:257,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:259,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:259,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:262,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:267,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:267,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:275,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:276,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:279,1
    - Dst: Scalar
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:279,1
    - Dst: fill
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:280,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:281,1
    - Dst: swoc::IPRange::family
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:281,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:290,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:290,1
    - Dst: Acl::parseregex
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:296,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:301,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:302,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:302,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:303,1
    - Dst: std::unordered_map<std::string, bool>::iterator::first::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:303,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 1
    argNames:
    - denyNode
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 308
    functionName: Acl::loaddeny
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - swoc::IPRange::load
    - std::unordered_map<std::string, bool>::iterator::first::c_str
    - YAML::Node::begin
    - as
    - begin
    - YAML::Node::IsNull
    - what
    - Scalar
    - YAML::const_iterator::first::as
    - YAML::Node::end
    - std::string::c_str
    - end
    - Dbg
    - insert_or_assign
    - swoc::IPRange::family
    - YAML::const_iterator::second::Type
    - Acl::parseregex
    - YAML::Node::IsSequence
    - fill
    linkageType: ''
    returnType: bool
    signature: bool Acl::loaddeny(const YAML::Node &denyNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:315,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:318,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:319,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:325,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:325,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:326,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:327,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:328,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:328,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:336,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:337,1
    - Dst: insert_or_assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:339,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:339,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:343,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:348,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:348,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:356,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:357,1
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:360,1
    - Dst: Scalar
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:360,1
    - Dst: fill
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:361,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:362,1
    - Dst: swoc::IPRange::family
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:362,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:366,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:371,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:371,1
    - Dst: Acl::parseregex
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:377,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:382,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:383,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:383,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:384,1
    - Dst: std::unordered_map<std::string, bool>::iterator::first::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:384,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 1
    argNames:
    - allowNode
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 389
    functionName: Acl::loadallow
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - swoc::IPRange::load
    - std::unordered_map<std::string, bool>::iterator::first::c_str
    - YAML::Node::begin
    - as
    - begin
    - YAML::Node::IsNull
    - what
    - Scalar
    - YAML::const_iterator::first::as
    - YAML::Node::end
    - std::string::c_str
    - end
    - Dbg
    - insert_or_assign
    - swoc::IPRange::family
    - YAML::const_iterator::second::Type
    - Acl::parseregex
    - YAML::Node::IsSequence
    - fill
    linkageType: ''
    returnType: bool
    signature: bool Acl::loadallow(const YAML::Node &allowNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:395,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:396,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:400,1
    - Dst: auto::back
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:401,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:404,1
    - Dst: plugin_regex::_regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:404,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:408,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:410,1
    - Dst: plugin_regex::_regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:410,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:414,1
    - Dst: plugin_regex::_regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:414,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:418,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:419,1
    - Dst: plugin_regex::_regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:419,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:419,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:421,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:421,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:423,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:423,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:430,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - regex
    - allow
    argTypes:
    - YAML::Node
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 433
    functionName: Acl::parseregex
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 2
    functionsReached:
    - YAML::Node::IsNull
    - pcre_study
    - TSError
    - what
    - auto::size
    - YAML::Node::IsSequence
    - as
    - plugin_regex::_regex_s::c_str
    - Dbg
    - push_back
    - pcre_compile
    - auto::back
    linkageType: ''
    returnType: void
    signature: void Acl::parseregex(const YAML::Node &regex, bool allow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:442,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:446,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:447,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:451,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:453,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:455,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:457,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:460,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:461,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:462,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:462,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:462,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:463,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:464,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:464,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:466,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - htmlNode
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 468
    functionName: Acl::loadhtml
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - YAML::Node::IsNull
    - TSError
    - std::istreambuf_iterator<char>
    - YAML::Node::as
    - std::ifstream::open
    - Dbg
    - c_str
    - append
    - TSConfigDirGet
    - std::ifstream::close
    - assign
    - std::ifstream::is_open
    linkageType: ''
    returnType: void
    signature: void Acl::loadhtml(const YAML::Node &htmlNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:477,1
    - Dst: YAML::Node::IsNull
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:480,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:481,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:484,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:486,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:488,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:490,1
    - Dst: MMDB_close
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:495,1
    - Dst: MMDB_open
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:498,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:498,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:500,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:500,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:500,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:505,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - dbNode
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 507
    functionName: Acl::loaddb
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - MMDB_close
    - YAML::Node::IsNull
    - MMDB_open
    - std::string::append
    - YAML::Node::as
    - std::string::assign
    - Dbg
    - TSConfigDirGet
    - MMDB_strerror
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Acl::loaddb(const YAML::Node &dbNode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:515,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:518,1
    - Dst: MMDB_lookup_sockaddr
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:523,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:526,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:526,1
    - Dst: MMDB_get_entry_data_list
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:533,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:535,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:535,1
    - Dst: fmemopen
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:547,1
    - Dst: MMDB_dump_entry_data_list
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:548,1
    - Dst: fflush
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:549,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:550,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:550,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:555,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:555,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:558,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:560,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:564,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:565,1
    - Dst: std::string::assign
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:566,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:567,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:568,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:569,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:572,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:572,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:572,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:573,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:575,1
    - Dst: MMDB_strerror
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:575,1
    - Dst: Acl::eval_country
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:579,1
    - Dst: Acl::eval_anonymous
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:589,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:590,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:596,1
    - Dst: Acl::eval_ip
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:601,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:601,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:603,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:607,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:611,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:614,1
    - Dst: MMDB_free_entry_data_list
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:620,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 624
    functionName: Acl::eval
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - fmemopen
    - std::string::assign
    - Acl::eval_anonymous
    - MMDB_get_value
    - MMDB_dump_entry_data_list
    - TSHttpTxnPristineUrlGet
    - std::string::append
    - Acl::eval_country
    - Acl::eval_ip
    - empty
    - TSUrlPathGet
    - MMDB_get_entry_data_list
    - MMDB_lookup_sockaddr
    - Dbg
    - MMDB_strerror
    - TSHttpTxnClientAddrGet
    - MMDB_free_entry_data_list
    - TSUrlHostGet
    - fflush
    linkageType: ''
    returnType: bool
    signature: bool Acl::eval(TSRemapRequestInfo * /* rri ATS_UNUSED */, TSHttpTxn
      txnp)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:640,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:644,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:652,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:656,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:664,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:668,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:676,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:680,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:688,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:692,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:700,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:704,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:713,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:717,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:725,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:729,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:737,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:741,1
    - Dst: MMDB_get_value
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:749,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:753,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 112
    argCount: 1
    argNames:
    - entry
    argTypes:
    - MMDB_entry_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 761
    functionName: Acl::eval_anonymous
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - MMDB_get_value
    linkageType: ''
    returnType: bool
    signature: bool Acl::eval_anonymous(MMDB_entry_s *entry)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:775,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:775,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:776,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:778,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:779,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:788,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:792,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:793,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:793,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:793,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:794,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:796,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:796,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:796,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:797,1
    - Dst: _regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:797,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:802,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:804,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:804,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:804,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:805,1
    - Dst: _regex_s::c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:805,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:812,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - entry_data
    - url
    argTypes:
    - MMDB_entry_data_s*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 814
    functionName: Acl::eval_country
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - free
    - _regex_s::c_str
    - std::string::empty
    - malloc
    - static_cast<char *>
    - Dbg
    - pcre_exec
    - strncpy
    - std::string::length
    - empty
    - count
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Acl::eval_country(MMDB_entry_data_s *entry_data, const std::string
      &url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:828,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:828,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:828,1
    - Dst: ats_ip_addr_cmp
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:829,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:829,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:829,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:830,1
    - Dst: ats_ip_ntop
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:830,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:830,1
    - Dst: contains
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:836,1
    - Dst: contains
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc:841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 847
    functionName: Acl::eval_ip
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.cc
    functionUses: 1
    functionsReached:
    - ats_ip_addr_cmp
    - min
    - Dbg
    - ats_ip_ntop
    - max
    - contains
    linkageType: ''
    returnType: ipstate
    signature: ipstate Acl::eval_ip(const sockaddr *sock) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Acl::Acl
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Acl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_close
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: ~Acl()
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h
    functionUses: 0
    functionsReached:
    - MMDB_close
    linkageType: ''
    returnType: void
    signature: void ~Acl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:82,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:83,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:83,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:85,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: Acl::send_html
    functionSourceFile: /src/trafficserver/plugins/experimental/maxmind_acl/mmdb.h
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSHttpTxnErrorBodySet
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void send_html(TSHttpTxn txnp) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:33,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:39,1
    - Dst: strcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:40,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:62,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:62,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:69,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:69,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:78,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:78,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:84,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:96,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:96,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:123,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:124,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 4
    argNames:
    - path
    - path_ct
    - ret_buffer
    - buff_ct
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 125
    functionName: remove_dot_segments
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc
    functionUses: 0
    functionsReached:
    - memset
    - strcpy
    - strlen
    - PluginDebug
    - strncmp
    linkageType: ''
    returnType: int
    signature: int remove_dot_segments(const char *path, int path_ct, char *ret_buffer,
      int buff_ct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:153,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:161,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:162,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:164,1
    - Dst: toupper
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:166,1
    - Dst: toupper
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:167,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:172,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:183,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - uri
    - uri_ct
    - decoded_uri
    - lower
    argTypes:
    - char*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 196
    functionName: percent_decode
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc
    functionUses: 0
    functionsReached:
    - isxdigit
    - toupper
    - sscanf
    - tolower
    - static_cast<char>
    - strchr
    - PluginDebug
    linkageType: ''
    returnType: int
    signature: int percent_decode(const char *uri, int uri_ct, char *decoded_uri,
      bool lower)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:215,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:222,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:228,1
    - Dst: tolower
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:240,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:249,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:259,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:261,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:262,1
    - Dst: percent_decode
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:289,1
    - Dst: percent_decode
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:313,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:322,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:323,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:325,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:326,1
    - Dst: percent_decode
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:349,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:356,1
    - Dst: remove_dot_segments
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:358,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:361,1
    - Dst: percent_decode
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:371,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:377,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc:381,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 117
    argCount: 4
    argNames:
    - uri
    - uri_ct
    - normal_uri
    - normal_ct
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 383
    functionName: normalize_uri
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/normalize.cc
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - tolower
    - remove_dot_segments
    - strncmp
    - PluginDebug
    - percent_decode
    linkageType: ''
    returnType: int
    signature: int normalize_uri(const char *uri, int uri_ct, char *normal_uri, int
      normal_ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:48,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:53,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:57,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:58,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:64,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:66,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:67,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:68,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:68,1
    - Dst: static_cast<void>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:69,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:69,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:72,1
    - Dst: read_config_from_path
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:73,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:75,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:76,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - free
    - read_config_from_path
    - static_cast<char *>
    - Dbg
    - strdup
    - snprintf
    - strlen
    - TSConfigDirGet
    - malloc
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:89,1
    - Dst: static_cast<config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - static_cast<config *>
    - config_delete
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_timer
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:96,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:98,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:99,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:99,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:107,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:111,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:115,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:119,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:123,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:126,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:128,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:130,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:131,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:132,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:134,1
    - Dst: mark_timer
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - cont
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: add_cookie
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - free
    - TSContDestroy
    - static_cast<char *>
    - start_timer
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSMimeHdrFieldAppend
    - mark_timer
    - PluginDebug
    - TSMimeHdrFieldCreateNamed
    - TSHttpTxnReenable
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: int
    signature: int add_cookie(TSCont cont, TSEvent /* event ATS_UNUSED */, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:141,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:143,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:144,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: cont_new
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - TSContCreate
    - free
    - PluginError
    linkageType: ''
    returnType: TSCont
    signature: TSCont cont_new(char *cookie)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:180,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:187,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:191,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:193,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:197,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:199,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:200,1
    - Dst: get_jws_from_cookie
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:207,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:216,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:218,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:222,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:223,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:225,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:228,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:228,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:229,1
    - Dst: get_jws_from_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:231,1
    - Dst: config_strip_token
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:235,1
    - Dst: static_cast<struct config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:235,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:235,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:239,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:241,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:244,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:244,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:245,1
    - Dst: get_jws_from_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:248,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:249,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:254,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:257,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:259,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:261,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:264,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:268,1
    - Dst: uri_matches_auth_directive
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:276,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:277,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:279,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:282,1
    - Dst: validate_jws
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:289,1
    - Dst: static_cast<struct config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:289,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:290,1
    - Dst: check_next_cookie
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:297,1
    - Dst: validate_jws
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:301,1
    - Dst: static_cast<struct config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:301,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:302,1
    - Dst: config_signer
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:308,1
    - Dst: static_cast<struct config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:308,1
    - Dst: renew
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:309,1
    - Dst: jwt_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:310,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:313,1
    - Dst: cont_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:314,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:315,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:317,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:320,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:322,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:327,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:329,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:330,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc:333,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 106
    argCount: 3
    argNames:
    - ih
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 337
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/uri_signing.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientReqGet
    - PluginDebug
    - static_cast<struct config *>
    - TSUrlStringGet
    - TSMimeHdrFieldFind
    - TSfree
    - get_jws_from_cookie
    - TSHttpTxnPristineUrlGet
    - static_cast<char *>
    - uri_matches_auth_directive
    - TSUrlParse
    - PluginError
    - static_cast<int>
    - jwt_delete
    - renew
    - TSHttpTxnHookAdd
    - cjose_jws_release
    - check_next_cookie
    - strncpy
    - TSmalloc
    - strlen
    - validate_jws
    - config_signer
    - get_jws_from_uri
    - cont_new
    - TSHttpTxnStatusSet
    - memset
    - TSMimeHdrFieldValueStringGet
    - config_strip_token
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: match_hash
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/match.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_hash(const char * /* needle ATS_UNUSED */, const char *
      /* haystack ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:42,1
    - Dst: re_compile_pattern
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:44,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:44,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:47,1
    - Dst: re_match
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:52,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:52,1
    - Dst: regfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/match.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pattern
    - uri
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: match_regex
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/match.cc
    functionUses: 0
    functionsReached:
    - re_compile_pattern
    - regfree
    - strlen
    - PluginDebug
    - re_match
    linkageType: ''
    returnType: bool
    signature: bool match_regex(const char *pattern, const char *uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_number
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:32,1
    - Dst: json_number_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: parse_number
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_is_number
    - json_number_value
    linkageType: ''
    returnType: double
    signature: double parse_number(json_t *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:41,1
    - Dst: json_integer_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - def
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: parse_integer_default
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_integer_value
    - json_is_integer
    linkageType: ''
    returnType: int
    signature: int parse_integer_default(json_t *num, int def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct jwt *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:54,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:54,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:56,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:56,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:57,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:57,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:58,1
    - Dst: parse_number
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:59,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:59,1
    - Dst: parse_number
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:60,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:60,1
    - Dst: parse_number
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:61,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:61,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:62,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:62,1
    - Dst: parse_integer_default
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:63,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:63,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:64,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:64,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:65,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:65,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:66,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:66,1
    - Dst: json_integer_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:67,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:67,1
    - Dst: json_integer_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:68,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:68,1
    - Dst: parse_integer_default
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:69,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - raw
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: parse_jwt
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_object_get
    - parse_number
    - json_string_value
    - json_integer_value
    - static_cast<struct jwt *>
    - parse_integer_default
    - malloc
    linkageType: ''
    returnType: struct jwt
    signature: 'struct jwt *

      parse_jwt(json_t *raw)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:80,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - jwt
    argTypes:
    - struct jwt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: jwt_delete
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 1
    functionsReached:
    - json_decref
    - free
    linkageType: ''
    returnType: void
    signature: void jwt_delete(struct jwt *jwt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:89,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:90,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: now
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 37
    functionsReached:
    - static_cast<double>
    - clock_gettime
    linkageType: ''
    returnType: double
    signature: double now()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: unsupported_string_claim
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unsupported_string_claim(const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:105,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:110,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:115,1
    - Dst: now
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:119,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:120,1
    - Dst: now
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:124,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:125,1
    - Dst: unsupported_string_claim
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:129,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:130,1
    - Dst: unsupported_string_claim
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:134,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:135,1
    - Dst: unsupported_string_claim
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:139,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:140,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:145,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - jwt
    argTypes:
    - struct jwt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 155
    functionName: jwt_validate
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - PluginDebug
    - now
    - unsupported_string_claim
    linkageType: ''
    returnType: bool
    signature: bool jwt_validate(struct jwt *jwt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:167,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:169,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:171,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:176,1
    - Dst: json_is_array
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:178,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:183,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - aud
    - id
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 192
    functionName: jwt_check_aud
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - PluginDebug
    - json_string_value
    - json_is_array
    linkageType: ''
    returnType: bool
    signature: bool jwt_check_aud(json_t *aud, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:183,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: json_array_foreach
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - json_string_value
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(aud, index, aud_item)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:210,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:213,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:213,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:214,1
    - Dst: normalize_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:216,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:234,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:237,1
    - Dst: match_hash
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:238,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:239,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:242,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:245,1
    - Dst: match_regex
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:246,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:247,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:250,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:253,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - cdniuc
    - uri
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 258
    functionName: jwt_check_uri
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - memset
    - normalize_uri
    - TSfree
    - match_hash
    - static_cast<char *>
    - TSmalloc
    - strlen
    - match_regex
    - PluginDebug
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool jwt_check_uri(const char *cdniuc, const char *uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:264,1
    - Dst: json_string
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - new_json
    - name
    - old
    argTypes:
    - json_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: renew_copy_string
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - json_string
    linkageType: ''
    returnType: void
    signature: void renew_copy_string(json_t *new_json, const char *name, const char
      *old)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - new_json
    - name
    - old_json
    argTypes:
    - json_t*
    - char*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: renew_copy_raw
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_object_set
    linkageType: ''
    returnType: void
    signature: void renew_copy_raw(json_t *new_json, const char *name, json_t *old_json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:279,1
    - Dst: json_object_set_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:280,1
    - Dst: json_real
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - new_json
    - name
    - old
    argTypes:
    - json_t*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: renew_copy_real
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - std::isnan
    - json_real
    linkageType: ''
    returnType: void
    signature: void renew_copy_real(json_t *new_json, const char *name, double old)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:288,1
    - Dst: json_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - new_json
    - name
    - old
    argTypes:
    - json_t*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: renew_copy_integer
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - json_integer
    linkageType: ''
    returnType: void
    signature: void renew_copy_integer(json_t *new_json, const char *name, double
      old)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:296,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:301,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:307,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:307,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:308,1
    - Dst: normalize_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:310,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:313,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:320,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:320,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:321,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:322,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:325,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:326,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:328,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:338,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:341,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:352,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:356,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:357,1
    - Dst: json_object
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:361,1
    - Dst: renew_copy_string
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:362,1
    - Dst: renew_copy_string
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:363,1
    - Dst: renew_copy_raw
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:364,1
    - Dst: renew_copy_real
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:365,1
    - Dst: now
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:365,1
    - Dst: renew_copy_real
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:366,1
    - Dst: renew_copy_real
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:367,1
    - Dst: now
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:367,1
    - Dst: renew_copy_string
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:368,1
    - Dst: renew_copy_string
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:369,1
    - Dst: renew_copy_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:370,1
    - Dst: renew_copy_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:371,1
    - Dst: renew_copy_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:372,1
    - Dst: renew_copy_integer
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:373,1
    - Dst: json_dumps
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:375,1
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:376,1
    - Dst: cjose_header_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:378,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:380,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:386,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:388,1
    - Dst: cjose_header_set
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:391,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:392,1
    - Dst: cjose_header_set
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:395,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:396,1
    - Dst: cjose_jws_sign
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:401,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:401,1
    - Dst: json_dumps
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:403,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:404,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:405,1
    - Dst: cjose_jws_export
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:410,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:411,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:416,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:416,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:416,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:417,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:418,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:421,1
    - Dst: cjose_header_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:424,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:427,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:430,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc:432,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 112
    argCount: 7
    argNames:
    - jwt
    - iss
    - jwk
    - alg
    - package
    - uri
    - uri_ct
    argTypes:
    - struct jwt*
    - char*
    - cjose_jwk_t*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 434
    functionName: renew
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/jwt.cc
    functionUses: 1
    functionsReached:
    - json_decref
    - cjose_header_release
    - cjose_jws_sign
    - snprintf
    - PluginDebug
    - TSfree
    - cjose_header_set
    - renew_copy_integer
    - static_cast<char *>
    - cjose_header_new
    - cjose_jws_export
    - cjose_jwk_get_kid
    - renew_copy_string
    - cjose_jws_release
    - TSmalloc
    - strlen
    - json_dumps
    - json_object
    - renew_copy_raw
    - memset
    - normalize_uri
    - free
    - renew_copy_real
    - now
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      renew(struct jwt *jwt, const char *iss, cjose_jwk_t *jwk, const char *alg, const
      char *package, const char *uri, size_t uri_ct)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/experimental/uri_signing/common.cc:27,1
    - Dst: vfprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/common.cc:28,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/experimental/uri_signing/common.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: PluginDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: PluginError
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: TSmalloc
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSmalloc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: TSfree
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 129
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSfree(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PluginDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: PluginError
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PluginError(fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:42,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:45,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:49,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:57,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:65,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:86,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:86,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:86,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:88,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:91,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:93,1
    - Dst: cjose_jws_import
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:94,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:96,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:98,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:104,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:108,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:110,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:111,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:114,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:115,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:121,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:126,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 6
    argNames:
    - uri
    - uri_ct
    - paramName
    - strip_uri
    - buff_ct
    - strip_ct
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 128
    functionName: get_jws_from_uri
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/parse.cc
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    - static_cast<size_t>
    - strchr
    - strlen
    - PluginDebug
    - strncmp
    - cjose_jws_import
    linkageType: ''
    returnType: cjose_jws_t
    signature: 'cjose_jws_t *

      get_jws_from_uri(const char *uri, size_t uri_ct, const char *paramName, char
      *strip_uri, size_t buff_ct, size_t *strip_ct)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:133,1
    - Dst: get_cookie_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:135,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:136,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:141,1
    - Dst: cjose_jws_import
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:142,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:144,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cookie
    - cookie_ct
    - paramName
    argTypes:
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: get_jws_from_cookie
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/parse.cc
    functionUses: 1
    functionsReached:
    - memset
    - PluginDebug
    - get_cookie_value
    - cjose_jws_import
    linkageType: ''
    returnType: cjose_jws_t
    signature: 'cjose_jws_t *

      get_jws_from_cookie(const char **cookie, size_t *cookie_ct, const char *paramName)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: start_timer
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:156,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:165,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:167,1
    - Dst: cjose_jws_get_plaintext
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:170,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:171,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:175,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:178,1
    - Dst: json_loadb
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:179,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:182,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:184,1
    - Dst: parse_jwt
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:188,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:190,1
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:192,1
    - Dst: jwt_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:196,1
    - Dst: jwt_validate
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:198,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:199,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:202,1
    - Dst: cjose_jws_get_protected
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:204,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:205,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:207,1
    - Dst: cjose_header_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:211,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:212,1
    - Dst: find_key_by_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:214,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:215,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:217,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:221,1
    - Dst: cjose_jws_verify
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:222,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:223,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:226,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:228,1
    - Dst: find_keys
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:230,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:232,1
    - Dst: cjose_jws_verify
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:233,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:236,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:239,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:242,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:244,1
    - Dst: jwt_check_aud
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:250,1
    - Dst: config_get_id
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:250,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:251,1
    - Dst: jwt_check_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:255,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:256,1
    - Dst: TimerDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:259,1
    - Dst: ts::PostScript::release
      Src: /src/trafficserver/plugins/experimental/uri_signing/parse.cc:261,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 3
    argNames:
    - jws
    - cfg
    - uri
    argTypes:
    - cjose_jws_t*
    - struct config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 263
    functionName: validate_jws
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/parse.cc
    functionUses: 1
    functionsReached:
    - TimerDebug
    - json_decref
    - cjose_header_get
    - find_keys
    - start_timer
    - PluginDebug
    - json_loadb
    - jwt_check_uri
    - find_key_by_kid
    - jwt_validate
    - jwt_delete
    - cjose_jws_verify
    - cjose_jws_get_plaintext
    - config_get_id
    - jwt_check_aud
    - cjose_jws_get_protected
    - ts::PostScript::release
    - memset
    - parse_jwt
    linkageType: ''
    returnType: struct jwt
    signature: 'struct jwt *

      validate_jws(cjose_jws_t *jws, struct config *cfg, const char *uri, size_t /*
      uri_ct ATS_UNUSED */)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: TimerDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/parse.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TimerDebug(msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:61,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 6
    argNames:
    - cookie
    - cookie_ct
    - k
    - k_ct
    - v
    - v_ct
    argTypes:
    - char*
    - size_t*
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: next_cookie
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc
    functionUses: 1
    functionsReached:
    - PluginDebug
    linkageType: ''
    returnType: char
    signature: 'char *

      next_cookie(const char *cookie, size_t *cookie_ct, const char **k, size_t *k_ct,
      const char **v, size_t *v_ct)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:72,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:75,1
    - Dst: next_cookie
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:76,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:77,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:78,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - cookie
    - cookie_ct
    - key
    - ct
    argTypes:
    - char**
    - size_t*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: get_cookie_value
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/cookie.cc
    functionUses: 2
    functionsReached:
    - PluginDebug
    - strncmp
    - strlen
    - next_cookie
    linkageType: ''
    returnType: char
    signature: 'char *

      get_cookie_value(const char **cookie, size_t *cookie_ct, const char *key, size_t
      *ct)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: JSONError
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSONError(err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hsearch_r
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:54,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:54,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:55,1
    - Dst: static_cast<cjose_jwk_t **>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:60,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:63,1
    - Dst: static_cast<cjose_jwk_t **>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: find_keys
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - PluginDebug
    - const_cast<char *>
    - static_cast<cjose_jwk_t **>
    - hsearch_r
    linkageType: ''
    returnType: cjose_jwk_t
    signature: 'cjose_jwk_t **

      find_keys(struct config *cfg, const char *issuer)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_keys
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:71,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:76,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cfg
    - issuer
    - kid
    argTypes:
    - struct config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: find_key_by_kid
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - strcmp
    - cjose_jwk_get_kid
    - find_keys
    linkageType: ''
    returnType: cjose_jwk_t
    signature: 'cjose_jwk_t *

      find_key_by_kid(struct config *cfg, const char *issuer, const char *kid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: config_get_id
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      config_get_id(struct config *cfg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: config_strip_token
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool config_strip_token(struct config *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:98,1
    - Dst: static_cast<config *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:99,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:99,1
    - Dst: static_cast<hsearch_data *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:101,1
    - Dst: calloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:101,1
    - Dst: hcreate_r
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:102,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:103,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:104,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:107,1
    - Dst: static_cast<cjose_jwk_t ***>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:109,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:109,1
    - Dst: static_cast<char **>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:112,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:112,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: config_new
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - free
    - static_cast<hsearch_data *>
    - calloc
    - static_cast<config *>
    - static_cast<char **>
    - static_cast<cjose_jwk_t ***>
    - PluginDebug
    - hcreate_r
    - malloc
    - PluginError
    linkageType: ''
    returnType: struct config
    signature: 'struct config *

      config_new(size_t n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hdestroy_r
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:134,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:135,1
    - Dst: cjose_jwk_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:139,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:141,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:143,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:146,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:150,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:152,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:155,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:160,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:162,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: config_delete
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - cjose_jwk_release
    - free
    - hdestroy_r
    linkageType: ''
    returnType: void
    signature: void config_delete(struct config *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_dumps
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:170,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:172,1
    - Dst: cjose_jwk_import
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:176,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:176,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - err
    argTypes:
    - json_t*
    - cjose_err*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: load_jwk
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - json_dumps
    - cjose_jwk_import
    - PluginError
    linkageType: ''
    returnType: cjose_jwk_t
    signature: 'cjose_jwk_t *

      load_jwk(json_t *obj, cjose_err *err)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:187,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:188,1
    - Dst: json_object_size
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:192,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:194,1
    - Dst: config_new
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:199,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:201,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:211,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:213,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:215,1
    - Dst: json_array_size
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:216,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:218,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:222,1
    - Dst: static_cast<auth_directive *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:229,1
    - Dst: realloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:229,1
    - Dst: static_cast<auth_directive *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:232,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:232,1
    - Dst: json_array_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:235,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:236,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:237,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:239,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:240,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:243,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:247,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:249,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:252,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:255,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:257,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:263,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:266,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:268,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:272,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:275,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:277,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:280,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:283,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: strcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:286,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:287,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:291,1
    - Dst: json_boolean_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:293,1
    - Dst: json_array_size
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:296,1
    - Dst: static_cast<cjose_jwk_t **>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:297,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:297,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:298,1
    - Dst: hsearch_r
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:300,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:301,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:303,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:308,1
    - Dst: json_array_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:309,1
    - Dst: load_jwk
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:310,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:311,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:312,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:313,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:315,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:316,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:322,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:322,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:324,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:327,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:331,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:339,1
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:342,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:343,1
    - Dst: config_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:347,1
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:349,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 133
    argCount: 1
    argNames:
    - issuer_json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 351
    functionName: read_config_from_json
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 0
    functionsReached:
    - json_boolean_value
    - json_decref
    - json_array_get
    - PluginDebug
    - json_array_size
    - static_cast<char *>
    - json_object_size
    - static_cast<auth_directive *>
    - cjose_jwk_get_kid
    - config_delete
    - PluginError
    - strcmp
    - strcpy
    - config_new
    - realloc
    - load_jwk
    - strlen
    - hsearch_r
    - memset
    - json_object_get
    - static_cast<cjose_jwk_t **>
    - json_string_value
    - strdup
    - json_is_object
    - malloc
    linkageType: ''
    returnType: struct config
    signature: 'struct config *

      read_config_from_json(json_t *const issuer_json)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:211,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:213,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:215,1
    - Dst: json_array_size
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:216,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:218,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:222,1
    - Dst: static_cast<auth_directive *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:229,1
    - Dst: realloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:229,1
    - Dst: static_cast<auth_directive *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:232,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:232,1
    - Dst: json_array_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:235,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:236,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:237,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:239,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:240,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:243,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:247,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:249,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:252,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:255,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:257,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:263,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:266,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:268,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:272,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:275,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:277,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:280,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:283,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:285,1
    - Dst: strcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:286,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:287,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:291,1
    - Dst: json_boolean_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:293,1
    - Dst: json_array_size
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:296,1
    - Dst: static_cast<cjose_jwk_t **>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:297,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:297,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:298,1
    - Dst: hsearch_r
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:300,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:301,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:303,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:308,1
    - Dst: json_array_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:309,1
    - Dst: load_jwk
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:310,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:311,1
    - Dst: PluginDebug
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:312,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:313,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:315,1
    - Dst: cjose_jwk_get_kid
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:316,1
    - Dst: json_string_value
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:322,1
    - Dst: json_object_get
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:322,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:324,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:327,1
    - Dst: PluginError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:331,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 337
    functionName: json_object_foreach
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 0
    functionsReached:
    - json_boolean_value
    - json_array_get
    - PluginDebug
    - json_array_size
    - static_cast<char *>
    - static_cast<auth_directive *>
    - cjose_jwk_get_kid
    - PluginError
    - strcmp
    - strcpy
    - realloc
    - load_jwk
    - strlen
    - hsearch_r
    - memset
    - json_object_get
    - static_cast<cjose_jwk_t **>
    - json_string_value
    - strdup
    - malloc
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(issuer_json, json_issuer, jwks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:357,1
    - Dst: json_load_file
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:358,1
    - Dst: JSONError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:360,1
    - Dst: read_config_from_json
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: read_config_from_path
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - memset
    - json_load_file
    - read_config_from_json
    - JSONError
    linkageType: ''
    returnType: struct config
    signature: 'struct config *

      read_config_from_path(char const *const path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:370,1
    - Dst: json_loads
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:371,1
    - Dst: JSONError
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:373,1
    - Dst: read_config_from_json
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: read_config_from_string
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 0
    functionsReached:
    - memset
    - read_config_from_json
    - JSONError
    - json_loads
    linkageType: ''
    returnType: struct config
    signature: 'struct config *

      read_config_from_string(char const *const buffer)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: config_signer
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct signer
    signature: 'struct signer *

      config_signer(struct config *cfg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:395,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:395,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:396,1
    - Dst: jwt_check_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:399,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:400,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/config.cc:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cfg
    - uri
    - uri_ct
    argTypes:
    - struct config*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 406
    functionName: uri_matches_auth_directive
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/config.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - jwt_check_uri
    - free
    - static_cast<char *>
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool uri_matches_auth_directive(struct config *cfg, const char *uri,
      size_t uri_ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/trafficserver/plugins/experimental/uri_signing/timing.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: start_timer
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/timing.h
    functionUses: 2
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void start_timer(struct timer *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/trafficserver/plugins/experimental/uri_signing/timing.h:42,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/uri_signing/timing.h:45,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/uri_signing/timing.h:45,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/uri_signing/timing.h:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: mark_timer
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/timing.h
    functionUses: 1
    functionsReached:
    - clock_gettime
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t mark_timer(struct timer *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:150,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:153,1
    - Dst: json_loadb
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:154,1
    - Dst: parse_jwt
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:159,1
    - Dst: json_decref
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:161,1
    - Dst: jwt_validate
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:165,1
    - Dst: jwt_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - jwt_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: jwt_parsing_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc
    functionUses: 0
    functionsReached:
    - jwt_delete
    - fprintf
    - json_decref
    - jwt_validate
    - strlen
    - json_loadb
    - parse_jwt
    linkageType: ''
    returnType: bool
    signature: bool jwt_parsing_helper(const char *jwt_string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:173,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:176,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:176,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:177,1
    - Dst: normalize_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:179,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:182,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:186,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:187,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - uri
    - expected_normal
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: normalize_uri_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - normalize_uri
    - strcmp
    - free
    - static_cast<char *>
    - strlen
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool normalize_uri_helper(const char *uri, const char *expected_normal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:198,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:199,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:203,1
    - Dst: remove_dot_segments
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:205,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - path
    - expected_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: remove_dot_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - fprintf
    - strlen
    - remove_dot_segments
    linkageType: ''
    returnType: bool
    signature: bool remove_dot_helper(const char *path, const char *expected_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:220,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:223,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:223,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:224,1
    - Dst: get_jws_from_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:226,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:229,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:230,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:236,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - uri
    - paramName
    - expected_strip
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: jws_parsing_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - free
    - cjose_jws_release
    - static_cast<char *>
    - strlen
    - malloc
    - get_jws_from_uri
    linkageType: ''
    returnType: bool
    signature: bool jws_parsing_helper(const char *uri, const char *paramName, const
      char *expected_strip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:782,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:785,1
    - Dst: get_jws_from_uri
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:786,1
    - Dst: validate_jws
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:790,1
    - Dst: cjose_jws_release
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:791,1
    - Dst: jwt_delete
      Src: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - url
    - package
    - cfg
    argTypes:
    - char*
    - char*
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 779
    functionDepth: 5
    functionLinenumber: 779
    functionLinenumberEnd: 797
    functionName: jws_validation_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/uri_signing/unit_tests/uri_signing_test.cc
    functionUses: 0
    functionsReached:
    - memset
    - jwt_delete
    - cjose_jws_release
    - strlen
    - validate_jws
    - get_jws_from_uri
    linkageType: ''
    returnType: bool
    signature: bool jws_validation_helper(const char *url, const char *package, struct
      config *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:55,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:55,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:55,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:56,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mbuf
    - hdr_loc
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Hdr_Remove_Field
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TextView::data
    - TSHandleMLocRelease
    - TextView::size
    - TSMimeHdrFieldDestroy
    linkageType: ''
    returnType: void
    signature: void Hdr_Remove_Field(TSMBuffer mbuf, TSMLoc hdr_loc, TextView field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - pattern
    - r
    - service
    argTypes:
    - std::string_view
    - Regex
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: BridgeConfig::Item
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Item(std::string_view pattern, Regex &&r, std::string_view service)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: BridgeConfig::count
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int BridgeConfig::count() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Regex::Regex
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:116,1
    - Dst: Regex::compile
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:119,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:119,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:120,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:120,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:124,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:126,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:126,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:126,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:126,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rxp
    - service
    - src
    - ln
    argTypes:
    - std::string_view
    - std::string_view
    - swoc::file::path
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: BridgeConfig::load_pair
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::file::path::c_str
    - emplace_back
    - Regex::Regex
    - TSError
    - Regex::compile
    - snprintf
    - std::string_view::size
    - std::move
    - std::string_view::data
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void BridgeConfig::load_pair(std::string_view rxp, std::string_view
      service, swoc::file::path const &src, int ln)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:139,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:139,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:139,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:140,1
    - Dst: swoc::file::path::is_absolute
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:144,1
    - Dst: swoc::SWOC_VERSION_NS::file::load
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:148,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:150,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:151,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:151,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:151,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:151,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:151,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:157,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:158,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:160,1
    - Dst: TextView::take_prefix_if
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:166,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:167,1
    - Dst: TextView::empty
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:169,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:170,1
    - Dst: swoc::file::path::c_str
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:170,1
    - Dst: BridgeConfig::load_pair
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:172,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:182,1
    - Dst: BridgeConfig::load_pair
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 188
    functionName: BridgeConfig::load_config
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - swoc::file::path::c_str
    - TextView::take_prefix_at
    - swoc::file::path::is_absolute
    - TSError
    - BridgeConfig::load_pair
    - TextView::ltrim_if
    - TextView::empty
    - data
    - size
    - TextView::take_prefix_if
    - swoc::SWOC_VERSION_NS::file::load
    - std::error_code::message
    linkageType: ''
    returnType: void
    signature: void BridgeConfig::load_config(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _r::exec
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: BridgeConfig::match
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - _r::exec
    linkageType: ''
    returnType: TextView
    signature: TextView BridgeConfig::match(TextView name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - txn
    - peer
    argTypes:
    - TSCont
    - TSHttpTxn
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: Bridge::Bridge
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: void
    signature: void Bridge::Bridge(TSCont cont, TSHttpTxn txn, TextView peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:309,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:309,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:309,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:309,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:311,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:311,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:311,1
    - Dst: init
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:313,1
    - Dst: do_read
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:314,1
    - Dst: do_write
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:315,1
    - Dst: init
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:317,1
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:317,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:319,1
    - Dst: do_write
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:320,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:321,1
    - Dst: do_read
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: Bridge::net_accept
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - do_write
    - TSHttpConnectWithPluginId
    - TSIOBufferWrite
    - TSVIOReenable
    - Dbg
    - do_read
    - snprintf
    - data
    - size
    - init
    linkageType: ''
    returnType: void
    signature: void Bridge::net_accept(TSVConn vc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:332,1
    - Dst: Bridge::check_outbound_OK
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:342,1
    - Dst: Bridge::check_outbound_terminal
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:347,1
    - Dst: do_write
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:353,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:354,1
    - Dst: Bridge::flow_to_ua
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:358,1
    - Dst: Bridge::flow_to_outbound
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - vio
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 364
    functionName: Bridge::read_ready
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - Bridge::check_outbound_OK
    - do_write
    - TSVIOReenable
    - Dbg
    - Bridge::flow_to_ua
    - Bridge::check_outbound_terminal
    - Bridge::flow_to_outbound
    linkageType: ''
    returnType: void
    signature: void Bridge::read_ready(TSVIO vio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: first_block_data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:370,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:375,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:382,1
    - Dst: TextView::take_prefix_if
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:383,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:384,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:384,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:389,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:390,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:390,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:390,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:394,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:395,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:395,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:395,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 402
    functionName: Bridge::check_outbound_OK
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 1
    functionsReached:
    - TextView::take_prefix_at
    - TextView::data
    - static_cast<TSHttpStatus>
    - consume
    - assign
    - Dbg
    - TextView::size
    - TextView::ltrim_if
    - swoc::SWOC_VERSION_NS::svtoi
    - first_block_data
    - TextView::take_prefix_if
    linkageType: ''
    returnType: bool
    signature: bool Bridge::check_outbound_OK()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: first_block_data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:412,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:412,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:428,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 443
    functionName: Bridge::check_outbound_terminal
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 1
    functionsReached:
    - Dbg
    - empty
    - first_block_data
    - consume
    linkageType: ''
    returnType: bool
    signature: bool Bridge::check_outbound_terminal()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: available_size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:448,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:450,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:452,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:454,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:455,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:456,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: Bridge::flow_to_ua
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 1
    functionsReached:
    - available_size
    - TSAssert
    - consume
    - TSVIOReenable
    - Dbg
    - TSIOBufferCopy
    linkageType: ''
    returnType: void
    signature: void Bridge::flow_to_ua()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: available_size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:464,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:466,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:468,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:470,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:471,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:472,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: Bridge::flow_to_outbound
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 1
    functionsReached:
    - available_size
    - TSAssert
    - consume
    - TSVIOReenable
    - Dbg
    - TSIOBufferCopy
    linkageType: ''
    returnType: void
    signature: void Bridge::flow_to_outbound()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:483,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:485,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:487,1
    - Dst: do_close
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:489,1
    - Dst: do_close
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - vio
    argTypes:
    - TSVIO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: Bridge::eos
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - do_close
    linkageType: ''
    returnType: void
    signature: void Bridge::eos(TSVIO vio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bridge::update_ua_response
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:502,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Bridge::send_response_cb
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnReenable
    - Bridge::update_ua_response
    linkageType: ''
    returnType: void
    signature: void Bridge::send_response_cb()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:511,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:516,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:517,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:518,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:518,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:518,1
    - Dst: Hdr_Remove_Field
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:522,1
    - Dst: Hdr_Remove_Field
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:523,1
    - Dst: Hdr_Remove_Field
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:524,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:525,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: Bridge::update_ua_response
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSHttpHdrReasonSet
    - TSHttpHdrStatusSet
    - Dbg
    - empty
    - data
    - size
    - Hdr_Remove_Field
    linkageType: ''
    returnType: void
    signature: void Bridge::update_ua_response()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:535,1
    - Dst: init
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vc
    argTypes:
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: Bridge::VCData::init(TSVConn vc)
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void Bridge::VCData::init(TSVConn vc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont
    - n
    argTypes:
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: Bridge::VCData::do_read(TSCont cont, int64_t n)
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void Bridge::VCData::do_read(TSCont cont, int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont
    - n
    argTypes:
    - TSCont
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: Bridge::VCData::do_write(TSCont cont, int64_t n)
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void Bridge::VCData::do_write(TSCont cont, int64_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:555,1
    - Dst: close
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:558,1
    - Dst: close
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: Bridge::VCData::do_close()
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - close
    linkageType: ''
    returnType: void
    signature: void Bridge::VCData::do_close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: Bridge::VCData::available_size()
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    linkageType: ''
    returnType: int64_t
    signature: int64_t Bridge::VCData::available_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:571,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:574,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: Bridge::VCData::first_block_data()
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - static_cast<size_t>
    linkageType: ''
    returnType: TextView
    signature: TextView Bridge::VCData::first_block_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: Bridge::VCData::consume(int64_t n)
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    linkageType: ''
    returnType: void
    signature: void Bridge::VCData::consume(int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:589,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: Bridge::Op::init()
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void Bridge::Op::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:597,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: Bridge::Op::close()
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void Bridge::Op::close()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Bridge *>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:611,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:611,1
    - Dst: auto::net_accept
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:616,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:616,1
    - Dst: auto::read_ready
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:620,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:620,1
    - Dst: auto::eos
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:629,1
    - Dst: static_cast<TSVIO>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:629,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:632,1
    - Dst: auto::send_response_cb
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:633,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:636,1
    - Dst: auto::eos
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:637,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:639,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:640,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - contp
    - ev_idx
    - data
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 647
    functionName: CB_Exec
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - auto::read_ready
    - static_cast<TSVIO>
    - TSContDestroy
    - static_cast<TSVConn>
    - TSContDataSet
    - auto::net_accept
    - Dbg
    - TSContDataGet
    - auto::eos
    - auto::send_response_cb
    - static_cast<Bridge *>
    linkageType: ''
    returnType: int
    signature: int CB_Exec(TSCont contp, TSEvent ev_idx, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:653,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:657,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:658,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:660,1
    - Dst: TSHttpHdrHostGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:663,1
    - Dst: match
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:664,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:667,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:667,1
    - Dst: reinterpret_cast<TSCont>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:667,1
    - Dst: Bridge::Bridge
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:668,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:670,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:670,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:671,1
    - Dst: TextView::size
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:671,1
    - Dst: TextView::data
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:671,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:673,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:676,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:678,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:680,1
    - Dst: TSHttpTxnIntercept
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:682,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 650
    functionDepth: 4
    functionLinenumber: 650
    functionLinenumberEnd: 689
    functionName: CB_Read_Request_Hdr
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrMethodGet
    - TextView::size
    - TSHttpTxnClientReqGet
    - TSContMutexGet
    - TSHttpTxnIsInternal
    - TSHttpTxnIdGet
    - static_cast<int>
    - TextView::data
    - TSHttpTxnHookAdd
    - Dbg
    - TSContCreate
    - TSHttpTxnReenable
    - TSHttpHdrHostGet
    - match
    - TSContDataSet
    - TSHttpTxnIntercept
    - Bridge::Bridge
    - static_cast<TSHttpTxn>
    - TSHttpTxnCntlSet
    - reinterpret_cast<TSCont>
    linkageType: ''
    returnType: int
    signature: int CB_Read_Request_Hdr(TSCont /* contp ATS_UNUSED */, TSEvent /* ev_idx
      ATS_UNUSED */, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:698,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:699,1
    - Dst: load_config
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:702,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:703,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:704,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:707,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:707,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 709
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/tls_bridge/tls_bridge.cc
    functionUses: 0
    functionsReached:
    - load_config
    - TSError
    - TSHttpHookAdd
    - TSContCreate
    - TSMutexCreate
    - count
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:38,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Attributes::operator std::string() const
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - second::empty
    - first::empty
    linkageType: ''
    returnType: void
    signature: void Attributes::operator std::string() const
  - BBCount: 51
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 181
    functionName: ats::inliner::HtmlParser::parseTag
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HtmlParser::parseTag(const char c)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:188,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:191,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:197,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:198,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:208,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:211,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:227,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:229,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:233,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:234,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:246,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:257,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts:
    - condition: (false)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: ats::inliner::AttributeParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - assert
    - Pair
    - back
    - push_back
    - isValidName
    - isValidValue
    linkageType: ''
    returnType: bool
    signature: bool AttributeParser::parse(const char c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:272,1
    - Dst: handleImage
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:275,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:276,1
    - Dst: ats::inliner::HtmlParser::parseTag
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:290,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:292,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:295,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - b
    - l
    - o
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 327
    functionName: ats::inliner::HtmlParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 1
    functionsReached:
    - handleImage
    - reset
    - ats::inliner::HtmlParser::parseTag
    - bypass
    - ats::inliner::HtmlParser::parse
    linkageType: ''
    returnType: size_t
    signature: size_t HtmlParser::parse(const char *b, size_t l, size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:38,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Attributes::operator std::string() const
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - second::empty
    - first::empty
    linkageType: ''
    returnType: void
    signature: void Attributes::operator std::string() const
  - BBCount: 51
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 181
    functionName: ats::inliner::HtmlParser::parseTag
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HtmlParser::parseTag(const char c)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:188,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:191,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:197,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:198,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:208,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:211,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:227,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:229,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:233,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:234,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:246,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:257,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts:
    - condition: (false)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: ats::inliner::AttributeParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - assert
    - Pair
    - back
    - push_back
    - isValidName
    - isValidValue
    linkageType: ''
    returnType: bool
    signature: bool AttributeParser::parse(const char c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:272,1
    - Dst: handleImage
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:275,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:276,1
    - Dst: ats::inliner::HtmlParser::parseTag
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:290,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:292,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:295,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - b
    - l
    - o
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 327
    functionName: ats::inliner::HtmlParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 2
    functionsReached:
    - handleImage
    - reset
    - ats::inliner::HtmlParser::parseTag
    - bypass
    - ats::inliner::HtmlParser::parse
    linkageType: ''
    returnType: size_t
    signature: size_t HtmlParser::parse(const char *b, size_t l, size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:38,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Attributes::operator std::string() const
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - second::empty
    - first::empty
    linkageType: ''
    returnType: void
    signature: void Attributes::operator std::string() const
  - BBCount: 51
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 181
    functionName: ats::inliner::HtmlParser::parseTag
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HtmlParser::parseTag(const char c)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:188,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:191,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:197,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:198,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:208,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:211,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:227,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:229,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:233,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:234,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:246,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:257,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts:
    - condition: (false)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: ats::inliner::AttributeParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - assert
    - Pair
    - back
    - push_back
    - isValidName
    - isValidValue
    linkageType: ''
    returnType: bool
    signature: bool AttributeParser::parse(const char c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:272,1
    - Dst: handleImage
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:275,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:276,1
    - Dst: ats::inliner::HtmlParser::parseTag
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:290,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:292,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:295,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - b
    - l
    - o
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 327
    functionName: ats::inliner::HtmlParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 3
    functionsReached:
    - handleImage
    - reset
    - ats::inliner::HtmlParser::parseTag
    - bypass
    - ats::inliner::HtmlParser::parse
    linkageType: ''
    returnType: size_t
    signature: size_t HtmlParser::parse(const char *b, size_t l, size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:38,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Attributes::operator std::string() const
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - second::empty
    - first::empty
    linkageType: ''
    returnType: void
    signature: void Attributes::operator std::string() const
  - BBCount: 51
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 181
    functionName: ats::inliner::HtmlParser::parseTag
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HtmlParser::parseTag(const char c)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:188,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:190,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:191,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:197,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:198,1
    - Dst: isValidName
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:208,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: Pair
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:210,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:211,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:227,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:229,1
    - Dst: isValidValue
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:233,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:234,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:246,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:253,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:257,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts:
    - condition: (false)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: ats::inliner::AttributeParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 0
    functionsReached:
    - assert
    - Pair
    - back
    - push_back
    - isValidName
    - isValidValue
    linkageType: ''
    returnType: bool
    signature: bool AttributeParser::parse(const char c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:272,1
    - Dst: handleImage
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:275,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:276,1
    - Dst: ats::inliner::HtmlParser::parseTag
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:290,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:292,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:295,1
    - Dst: bypass
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.cc:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - b
    - l
    - o
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 327
    functionName: ats::inliner::HtmlParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.cc
    functionUses: 4
    functionsReached:
    - handleImage
    - reset
    - ats::inliner::HtmlParser::parseTag
    - bypass
    - ats::inliner::HtmlParser::parse
    linkageType: ''
    returnType: size_t
    signature: size_t HtmlParser::parse(const char *b, size_t l, size_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: unlikely
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:83,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:84,1
    - Dst: destroyParser
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ~HttpParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - destroyParser
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: ats::HttpParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSHttpHdrTypeSet
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:98,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::statusCode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: int
    signature: int statusCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:119,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:121,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:123,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:125,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: ~HttpTransaction()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - ats::timeout
    - TSVConnAbort
    - assert
    linkageType: ''
    returnType: void
    signature: void ~HttpTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:134,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:140,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:141,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:142,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:143,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - v
    - c
    - i
    - l
    - t
    argTypes:
    - TSVConn
    - TSCont
    - std::unique_ptr<io::IO>
    - uint64_t
    - T
    assertStmts:
    - condition: (out_.get() != nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (l > 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: ats::HttpTransaction
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::move
    - ats::get
    - assert
    linkageType: ''
    returnType: void
    signature: void HttpTransaction(TSVConn v, TSCont c, std::unique_ptr<io::IO> i,
      const uint64_t l, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: ats::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abort(const bool b = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:156,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:157,1
    - Dst: TSVConnActiveTimeoutCancel
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:159,1
    - Dst: TSVConnActiveTimeoutSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - int64_t
    assertStmts:
    - condition: (t >= 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ats::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 2
    functionsReached:
    - TSVConnActiveTimeoutCancel
    - TSVConnActiveTimeoutSet
    - assert
    linkageType: ''
    returnType: void
    signature: void timeout(const int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:170,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: ats::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 2
    functionsReached:
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:178,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:179,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:181,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:184,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (l != nullptr)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: ats::isChunkEncoding
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool isChunkEncoding(const TSMBuffer b, const TSMLoc l)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:196,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:197,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:200,1
    - Dst: Self*::t_::error
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:201,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:202,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:203,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:204,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:207,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:211,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:215,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:219,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:220,1
    - Dst: Self*::parser_::parse
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:223,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:224,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:225,1
    - Dst: std::make_unique<ChunkDecoder>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:226,1
    - Dst: Self*::t_::header
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:228,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:234,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:236,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:237,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:238,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:239,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:242,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:243,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:248,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:249,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:250,1
    - Dst: Self*::chunkDecoder_::isEnd
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:251,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:253,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:253,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:254,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:255,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:256,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:257,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:259,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:263,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:265,1
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:266,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:267,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:268,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:269,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:270,1
    - Dst: Self*::out_::reset
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:271,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:274,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:274,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:275,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:276,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:277,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:282,1
    - Dst: Self*::t_::timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:283,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:284,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:285,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:286,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:290,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ != nullptr)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (isChunkEncoding(self->parser_.buffer_, self->parser_.location_))
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->out_ != nullptr)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->parsingHeaders_ == false)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->chunkDecoder_ == nullptr)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ == nullptr)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->out_ != nullptr)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (false)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->vconnection_)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_->vio != nullptr)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_->reader != nullptr)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (i <= available)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ != nullptr)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 293
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 293
    functionName: ats::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - ats::isChunkEncoding
    - TSVConnShutdown
    - TSVIOReenable
    - Self*::chunkDecoder_::isEnd
    - Self*::parser_::parse
    - TSContDataGet
    - TSVIONTodoGet
    - Self*::out_::reset
    - TSVIONDoneGet
    - Self*::abort
    - TSIOBufferReaderConsume
    - Self*::t_::done
    - static_cast<Self *const>
    - std::make_unique<ChunkDecoder>
    - Self*::t_::data
    - assert
    - TSIOBufferReaderAvail
    - ats::close
    - Dbg
    - Self*::chunkDecoder_::decode
    - Self*::t_::timeout
    - Self*::t_::error
    - TSContDataSet
    - ats::io::IO::read
    - Self*::t_::header
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void * /* d ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:304,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:304,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:305,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:305,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:308,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:308,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:309,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:311,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:312,1
    - Dst: Transaction::Transaction
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:312,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:313,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:315,1
    - Dst: Transaction*::timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - a
    - i
    - l
    - t
    argTypes:
    - std::string
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts:
    - condition: (vconn != nullptr)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (contp != nullptr)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 319
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 319
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 4
    functionsReached:
    - Transaction*::timeout
    - reinterpret_cast<sockaddr *>
    - inet_pton
    - TSContDataSet
    - Transaction::Transaction
    - Dbg
    - TSContCreate
    - TSHttpConnect
    - std::move
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: bool
    signature: bool get(const std::string &a, std::unique_ptr<io::IO> i, const int64_t
      l, const T &t, const int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:325,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - l
    - t
    argTypes:
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 5
    functionsReached:
    - std::move
    - ats::get
    linkageType: ''
    returnType: bool
    signature: bool get(std::unique_ptr<io::IO> i, const int64_t l, const T &t, const
      int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:83,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:84,1
    - Dst: destroyParser
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ~HttpParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - destroyParser
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:88,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: ats::HttpParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSHttpHdrTypeSet
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HttpParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:98,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::statusCode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TSHttpHdrStatusGet
    linkageType: ''
    returnType: int
    signature: int statusCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:119,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:121,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:123,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:125,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: ~HttpTransaction()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - TSVConnAbort
    - timeout
    - assert
    linkageType: ''
    returnType: void
    signature: void ~HttpTransaction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:134,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:140,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:141,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:142,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:143,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - v
    - c
    - i
    - l
    - t
    argTypes:
    - TSVConn
    - TSCont
    - std::unique_ptr<io::IO>
    - uint64_t
    - T
    assertStmts:
    - condition: (out_.get() != nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (l > 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: ats::HttpTransaction
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::move
    - ats::get
    - assert
    linkageType: ''
    returnType: void
    signature: void HttpTransaction(TSVConn v, TSCont c, std::unique_ptr<io::IO> i,
      const uint64_t l, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: ats::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abort(const bool b = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:156,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:157,1
    - Dst: TSVConnActiveTimeoutCancel
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:159,1
    - Dst: TSVConnActiveTimeoutSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - int64_t
    assertStmts:
    - condition: (t >= 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ats::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 2
    functionsReached:
    - TSVConnActiveTimeoutCancel
    - TSVConnActiveTimeoutSet
    - assert
    linkageType: ''
    returnType: void
    signature: void timeout(const int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:170,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: ats::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 3
    functionsReached:
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:178,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:179,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:181,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:184,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:186,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (l != nullptr)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: ats::isChunkEncoding
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - strncasecmp
    - TSMimeHdrFieldValueStringGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool isChunkEncoding(const TSMBuffer b, const TSMLoc l)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:196,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:196,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:197,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:200,1
    - Dst: Self*::t_::error
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:201,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:202,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:203,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:204,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:207,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:211,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:215,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:219,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:220,1
    - Dst: Self*::parser_::parse
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:223,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:224,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:225,1
    - Dst: std::make_unique<ChunkDecoder>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:226,1
    - Dst: Self*::t_::header
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:228,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:234,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:236,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:237,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:238,1
    - Dst: Self*::chunkDecoder_::decode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:239,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:242,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:243,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:248,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:249,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:250,1
    - Dst: Self*::chunkDecoder_::isEnd
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:251,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:253,1
    - Dst: ats::isChunkEncoding
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:253,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:254,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:255,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:256,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:257,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:259,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:263,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:265,1
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:266,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:267,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:268,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:269,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:270,1
    - Dst: Self*::out_::reset
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:271,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:274,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:274,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:275,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:276,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:277,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:282,1
    - Dst: Self*::t_::timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:283,1
    - Dst: Self*::abort
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:284,1
    - Dst: ats::close
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:285,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:286,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:290,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ != nullptr)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (isChunkEncoding(self->parser_.buffer_, self->parser_.location_))
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->out_ != nullptr)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->parsingHeaders_ == false)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->chunkDecoder_ == nullptr)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ == nullptr)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->out_ != nullptr)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (false)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->vconnection_)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_->vio != nullptr)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_->reader != nullptr)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (i <= available)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (self->in_ != nullptr)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 293
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 293
    functionName: ats::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 0
    functionsReached:
    - ats::isChunkEncoding
    - TSVConnShutdown
    - TSVIOReenable
    - Self*::chunkDecoder_::isEnd
    - Self*::parser_::parse
    - TSContDataGet
    - TSVIONTodoGet
    - Self*::out_::reset
    - TSVIONDoneGet
    - Self*::abort
    - TSIOBufferReaderConsume
    - Self*::t_::done
    - static_cast<Self *const>
    - std::make_unique<ChunkDecoder>
    - Self*::t_::data
    - assert
    - TSIOBufferReaderAvail
    - ats::close
    - Dbg
    - Self*::chunkDecoder_::decode
    - Self*::t_::timeout
    - Self*::t_::error
    - TSContDataSet
    - ats::io::IO::read
    - Self*::t_::header
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void * /* d ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:304,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:304,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:305,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:305,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:308,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:308,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:309,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:311,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:312,1
    - Dst: Transaction::Transaction
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:312,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:313,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:315,1
    - Dst: Transaction*::timeout
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - a
    - i
    - l
    - t
    argTypes:
    - std::string
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts:
    - condition: (vconn != nullptr)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    - condition: (contp != nullptr)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    constantsTouched: []
    func_position:
      end: 319
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 319
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 6
    functionsReached:
    - Transaction*::timeout
    - reinterpret_cast<sockaddr *>
    - inet_pton
    - TSContDataSet
    - Transaction::Transaction
    - Dbg
    - TSContCreate
    - TSHttpConnect
    - std::move
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: bool
    signature: bool get(const std::string &a, std::unique_ptr<io::IO> i, const int64_t
      l, const T &t, const int64_t ti = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:325,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - l
    - t
    argTypes:
    - std::unique_ptr<io::IO>
    - int64_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: ats::get
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.h
    functionUses: 7
    functionsReached:
    - std::move
    - ats::get
    linkageType: ''
    returnType: bool
    signature: bool get(std::unique_ptr<io::IO> i, const int64_t l, const T &t, const
      int64_t ti = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:45,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:47,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:49,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ~Handler() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ats::inliner::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const Handler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler &operator=(const Handler &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:45,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:47,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:49,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ~Handler() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ats::inliner::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const Handler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler &operator=(const Handler &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:45,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:47,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:49,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ~Handler() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ats::inliner::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const Handler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler &operator=(const Handler &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:45,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:47,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:49,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: ~Handler() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ats::inliner::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const Handler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler &operator=(const Handler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:51,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:51,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:51,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - TSIOBufferReader
    - TSVConn
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (v != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: MyData
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 0
    functionsReached:
    - TSContMutexGet
    - TSTransformOutputVConnGet
    - TSMBufferCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void MyData(const TSIOBufferReader r, const TSVConn v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:61,1
    - Dst: static_cast<MyData *>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:63,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:63,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:65,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:66,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:67,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:72,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:75,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:76,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:76,1
    - Dst: const_cast<MyData *&>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:80,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:80,1
    - Dst: MyData::MyData
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:80,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:81,1
    - Dst: MyData*::handler::parse
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:84,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:86,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:87,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:87,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:91,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:93,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:93,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:96,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:96,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:97,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - c
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: handle_transform
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 2
    functionsReached:
    - TSVIOBufferGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - TSContCall
    - static_cast<MyData *>
    - const_cast<MyData *&>
    - TSVConnShutdown
    - TSContDataSet
    - MyData::MyData
    - TSVIOContGet
    - min
    - TSVIOReaderGet
    - TSContDataGet
    - TSVIONTodoGet
    - MyData*::handler::parse
    - TSVIONDoneGet
    linkageType: ''
    returnType: void
    signature: void handle_transform(const TSCont c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:106,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:107,1
    - Dst: static_cast<MyData *>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:108,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:108,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:110,1
    - Dst: MyData*::handler::abort
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:111,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:114,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:119,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:120,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:120,1
    - Dst: handle_transform
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:124,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (vio != nullptr)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (false)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: inliner_transform
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - handle_transform
    - TSVConnWriteVIOGet
    - TSError
    - TSContCall
    - static_cast<MyData *>
    - TSContDestroy
    - TSContDataSet
    - TSVIOContGet
    - Dbg
    - MyData*::handler::abort
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int inliner_transform(TSCont c, TSEvent e, void *)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:142,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:143,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:144,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:146,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:150,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:154,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:157,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:160,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:164,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:164,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (location != nullptr)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    constantsTouched: []
    func_position:
      end: 168
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 168
    functionName: transformable
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldFind
    - CHECK
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrStatusGet
    - TSMimeHdrFieldValueStringGet
    - TSHttpTxnIsInternal
    - TSHttpTxnServerRespGet
    - assert
    linkageType: ''
    returnType: bool
    signature: bool transformable(TSHttpTxn txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:173,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:174,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:175,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - TSHttpTxn
    assertStmts:
    - condition: (t != nullptr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (vconnection != nullptr)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: transform_add
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 3
    functionsReached:
    - TSHttpTxnHookAdd
    - TSTransformCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void transform_add(const TSHttpTxn t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:182,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:183,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:185,1
    - Dst: transformable
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:189,1
    - Dst: transform_add
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:190,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:193,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - e
    - d
    argTypes:
    - TSEvent
    - void*
    assertStmts:
    - condition: (TS_EVENT_HTTP_READ_RESPONSE_HDR == e)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (d != nullptr)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    - condition: (false)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: transform_plugin
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 0
    functionsReached:
    - transformable
    - transform_add
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    - assert
    linkageType: ''
    returnType: int
    signature: int transform_plugin(TSCont, TSEvent e, void *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:209,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:210,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:211,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:213,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:214,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:218,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:218,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ats-inliner.cc
    functionUses: 0
    functionsReached:
    - TSError
    - const_cast<char *>
    - TSHttpHookAdd
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int, const char **)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ChunkDecoder::ChunkDecoder
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunkDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: ChunkDecoder::isEnd
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:51,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: ats::HttpParser::destroyParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    functionUses: 2
    functionsReached:
    - TSHttpParserClear
    - TSHttpParserDestroy
    linkageType: ''
    returnType: void
    signature: void HttpParser::destroyParser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:63,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:66,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:69,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:73,1
    - Dst: statusCode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:73,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:74,1
    - Dst: ats::HttpParser::destroyParser
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:75,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - io
    argTypes:
    - io::IO
    assertStmts:
    - condition: (parser_ != nullptr)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: ats::HttpParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    functionUses: 0
    functionsReached:
    - ats::HttpParser::destroyParser
    - TSIOBufferReaderConsume
    - TSIOBufferBlockNext
    - statusCode
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    - Dbg
    - assert
    linkageType: ''
    returnType: bool
    signature: bool HttpParser::parse(io::IO &io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserClear
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:51,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: ats::HttpParser::destroyParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    functionUses: 3
    functionsReached:
    - TSHttpParserClear
    - TSHttpParserDestroy
    linkageType: ''
    returnType: void
    signature: void HttpParser::destroyParser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:63,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:66,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:69,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:73,1
    - Dst: statusCode
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:73,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:74,1
    - Dst: ats::HttpParser::destroyParser
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:75,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/fetcher.cc:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - io
    argTypes:
    - io::IO
    assertStmts:
    - condition: (parser_ != nullptr)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: ats::HttpParser::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/fetcher.cc
    functionUses: 0
    functionsReached:
    - ats::HttpParser::destroyParser
    - TSIOBufferReaderConsume
    - TSIOBufferBlockNext
    - statusCode
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    - Dbg
    - assert
    linkageType: ''
    returnType: bool
    signature: bool HttpParser::parse(io::IO &io)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:52,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - char
    assertStmts:
    - condition: (state_ == State::kSize)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (false)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: ChunkDecoder::parseSizeCharacter
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ChunkDecoder::parseSizeCharacter(const char a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:83,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:88,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:93,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:98,1
    - Dst: ChunkDecoder::parseSizeCharacter
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:103,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char*
    - int64_t
    assertStmts:
    - condition: (p != nullptr)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (false)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (state_ < State::kUpperBound)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (*p == '\r')
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (*p == '\n')
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (state_ != State::kInvalid)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 111
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 111
    functionName: ChunkDecoder::parseSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    functionUses: 1
    functionsReached:
    - ChunkDecoder::parseSizeCharacter
    - assert
    linkageType: ''
    returnType: int
    signature: int ChunkDecoder::parseSize(const char *p, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ChunkDecoder::isSizeState
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChunkDecoder::isSizeState() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:123,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:130,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:138,1
    - Dst: ChunkDecoder::isSizeState
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:140,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:142,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:143,1
    - Dst: ChunkDecoder::parseSize
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:144,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:146,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:148,1
    - Dst: ChunkDecoder::isSizeState
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:151,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:152,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:153,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:161,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc:173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (p != nullptr)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (size_ == 0)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    - condition: (size == 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    constantsTouched: []
    func_position:
      end: 177
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 177
    functionName: ChunkDecoder::decode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/chunk-decoder.cc
    functionUses: 2
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferBlockNext
    - ChunkDecoder::parseSize
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ChunkDecoder::isSizeState
    - assert
    linkageType: ''
    returnType: int
    signature: int ChunkDecoder::decode(const TSIOBufferReader &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:39,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~Key()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '&operator=(const Key &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key &operator=(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:49,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - CHECK
    - TSCacheKeyCreate
    - std::string::size
    - TSCacheKeyDigestSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Key(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ats::cache::key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCacheKey
    signature: TSCacheKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ats::cache::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Read(A &&...a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:75,1
    - Dst: Self*::t_::hit
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: Self*::t_::miss
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:82,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:86,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (d != nullptr)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (self != nullptr)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (false)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: ats::cache::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - assert
    - TSContDestroy
    - static_cast<TSVConn>
    - Self*::t_::miss
    - static_cast<Self *const>
    - TSContDataSet
    - TSContDataGet
    - Self*::t_::hit
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:98,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: Read<T>::Read<T>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ats::cache::fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - TSContDataSet
    - Key::key
    - TSContCreate
    - TSCacheRead
    - Read<T>::Read<T>
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void fetch(const std::string &k, A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ~Write()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ats::cache::Write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Write(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:39,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~Key()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '&operator=(const Key &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key &operator=(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:49,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - CHECK
    - TSCacheKeyCreate
    - std::string::size
    - TSCacheKeyDigestSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Key(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ats::cache::key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCacheKey
    signature: TSCacheKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ats::cache::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Read(A &&...a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:75,1
    - Dst: Self*::t_::hit
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: Self*::t_::miss
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:82,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:86,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (d != nullptr)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (self != nullptr)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (false)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: ats::cache::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - assert
    - TSContDestroy
    - static_cast<TSVConn>
    - Self*::t_::miss
    - static_cast<Self *const>
    - TSContDataSet
    - TSContDataGet
    - Self*::t_::hit
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:98,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: Read<T>::Read<T>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ats::cache::fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - TSContDataSet
    - Key::key
    - TSContCreate
    - TSCacheRead
    - Read<T>::Read<T>
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void fetch(const std::string &k, A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ~Write()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ats::cache::Write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Write(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:39,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~Key()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '&operator=(const Key &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key &operator=(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:49,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - CHECK
    - TSCacheKeyCreate
    - std::string::size
    - TSCacheKeyDigestSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Key(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ats::cache::key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCacheKey
    signature: TSCacheKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ats::cache::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Read(A &&...a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:75,1
    - Dst: Self*::t_::hit
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: Self*::t_::miss
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:82,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:86,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (d != nullptr)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (self != nullptr)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (false)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: ats::cache::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - assert
    - TSContDestroy
    - static_cast<TSVConn>
    - Self*::t_::miss
    - static_cast<Self *const>
    - TSContDataSet
    - TSContDataGet
    - Self*::t_::hit
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:98,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: Read<T>::Read<T>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ats::cache::fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - TSContDataSet
    - Key::key
    - TSContCreate
    - TSCacheRead
    - Read<T>::Read<T>
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void fetch(const std::string &k, A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ~Write()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ats::cache::Write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Write(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:39,1
    - Dst: TSCacheKeyDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~Key()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyDestroy
    - assert
    linkageType: ''
    returnType: void
    signature: void ~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - TSCacheKeyCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '&operator=(const Key &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key &operator=(const Key &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSCacheKeyCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:49,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: TSCacheKeyDigestSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (key_ != nullptr)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ats::cache::Key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - CHECK
    - TSCacheKeyCreate
    - std::string::size
    - TSCacheKeyDigestSet
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void Key(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ats::cache::key
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSCacheKey
    signature: TSCacheKey key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ats::cache::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Read(A &&...a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:71,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:72,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:75,1
    - Dst: Self*::t_::hit
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:76,1
    - Dst: Self*::t_::miss
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:79,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:82,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:86,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (d != nullptr)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (self != nullptr)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    - condition: (false)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: ats::cache::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - assert
    - TSContDestroy
    - static_cast<TSVConn>
    - Self*::t_::miss
    - static_cast<Self *const>
    - TSContDataSet
    - TSContDataGet
    - Self*::t_::hit
    linkageType: ''
    returnType: int
    signature: int handle(TSCont c, TSEvent e, void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:97,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:98,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: Read<T>::Read<T>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:99,1
    - Dst: TSCacheRead
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.h
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ats::cache::fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    - TSContDataSet
    - Key::key
    - TSContCreate
    - TSCacheRead
    - Read<T>::Read<T>
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void fetch(const std::string &k, A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ~Write()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ats::cache::Write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Write(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:42,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:43,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 8
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:51,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:52,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ats::io::IO::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::make_unique<IO>
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::write(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:60,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (size == s.size())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ats::io::IO::copy
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IO::copy(const std::string &s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:69,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:70,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: ats::io::IO::consume
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::consume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:80,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:81,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vio != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ats::io::IO::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIONDoneSet
    - TSVIONDoneGet
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::done() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:91,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:96,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:99,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:100,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:102,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:103,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:108,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: WriteOperation::~WriteOperation()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    - assert
    - TSIOBufferDestroy
    - TSContDestroy
    - TSVConnShutdown
    - Dbg
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void WriteOperation::~WriteOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:114,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:116,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:117,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:124,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:125,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:127,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:129,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:132,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vio_ != nullptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (action_ != nullptr)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: ats::io::WriteOperation::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSVConnWrite
    - max
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::WriteOperation(const TSVConn v, const TSMutex
      m, const size_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:140,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_t
    assertStmts:
    - condition: (mutex_)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: ats::io::WriteOperation::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::process(const size_t b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:156,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:160,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:162,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:168,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:171,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:172,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:173,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:174,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:182,1
    - Dst: WriteOperation::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:185,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:186,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:198,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (c != nullptr)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (p != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*p)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.continuation_ == c)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.vconnection_ != nullptr)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (d != nullptr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (TS_EVENT_ERROR == e || TS_EVENT_TIMEOUT == e || TS_EVENT_VCONN_WRITE_READY
        == e)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (false)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.action_ != nullptr)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 204
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 204
    functionName: ats::io::WriteOperation::Handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - static_cast<WriteOperationPointer *>
    - TSError
    - TSContDataSet
    - WriteOperation::close
    - Dbg
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int WriteOperation::Handle(const TSCont c, const TSEvent e, [[maybe_unused]]
      void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteOperation::WriteOperation
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:209,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:210,1
    - Dst: WriteOperationPointer::WriteOperationPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:211,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:212,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:213,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: WriteOperationWeakPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer != nullptr)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer == p)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: ((*p).get() == operation)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: ats::io::WriteOperation::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<WriteOperationPointer *>
    - TSContDataSet
    - WriteOperation::WriteOperation
    - WriteOperationWeakPointer
    - WriteOperationPointer::WriteOperationPointer
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: WriteOperationWeakPointer
    signature: WriteOperationWeakPointer WriteOperation::Create(const TSVConn v, const
      TSMutex m, const size_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:229,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: "&\n  WriteOperation::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const TSIOBufferReader
      r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:237,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: "&\n  WriteOperation::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:245,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: "&\n  WriteOperation::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderOffset
      &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:253,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: "&\n  WriteOperation::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - process
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  WriteOperation::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - process
    - TSIOBufferWrite
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const std::string &s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:268,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:270,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:271,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: ats::io::WriteOperation::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIONBytesSet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: ats::io::WriteOperation::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::abort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:287,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:289,1
    - Dst: WriteOperationPointer::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: IOSink::~IOSink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - lock
    - WriteOperationPointer::close
    linkageType: ''
    returnType: void
    signature: void IOSink::~IOSink()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:297,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:306,1
    - Dst: ats::io::IOSink::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:307,1
    - Dst: WriteOperationPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:309,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:310,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation->buffer_ != nullptr)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: ats::io::IOSink::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 1
    functionsReached:
    - use_count
    - ats::io::IOSink::lock
    - ats::io::IOSink::process
    - WriteOperationPointer::process
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void IOSink::process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:318,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:321,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:325,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: ats::io::IOSink::lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 2
    functionsReached:
    - assert
    - Lock
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: Lock
    signature: Lock IOSink::lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:333,1
    - Dst: WriteOperationPointer::abort
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: ats::io::IOSink::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - WriteOperationPointer::abort
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: void
    signature: void IOSink::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:342,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: "&\n  BufferNode::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const TSIOBufferReader r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:350,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: "&\n  BufferNode::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:358,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: "&\n  BufferNode::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderOffset &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:366,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: "&\n  BufferNode::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: "&\n  BufferNode::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const std::string &s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:381,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:383,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:384,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:385,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:386,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:387,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == available)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: ats::io::BufferNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result BufferNode::process(const TSIOBuffer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:394,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == string_.size())
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ats::io::StringNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferWrite
    - data
    - size
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result StringNode::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: ats::io::IOSink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - shared_from_this
    - Sink::Sink
    - Data::Data
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer IOSink::branch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:416,1
    - Dst: DataPointer::reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:418,1
    - Dst: nodes_::push_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:419,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!data_->nodes_.empty())
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: ats::io::Sink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - Sink::Sink
    - Data::Data
    - DataPointer::reset
    - nodes_::empty
    - nodes_::push_back
    - assert
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer Sink::branch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:429,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:432,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:433,1
    - Dst: IOSinkPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (data_)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_->root_)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_.use_count() >= 1)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Sink::~Sink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - use_count
    - IOSinkPointer::process
    - reset
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:440,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:448,1
    - Dst: ats::io::Data::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:449,1
    - Dst: Nodes::iterator::use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:451,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:457,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Nodes::iterator::get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Data*::nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:462,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*it != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data->nodes_.front())
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: ats::io::Data::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 1
    functionsReached:
    - begin
    - SplitDNSResult::SplitDNSResult
    - Nodes::iterator::use_count
    - erase
    - dynamic_cast<Data *>
    - ats::io::Data::process
    - end
    - Data*::nodes_::front
    - Data*::nodes_::empty
    - Nodes::iterator::get
    - empty
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result Data::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: StringNode::StringNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: "&\n  Sink::operator<<(std::string &&s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - StringNode::StringNode
    - std::move
    - nodes_::emplace_back
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n  Sink::operator<<(std::string &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:42,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:43,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 8
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:51,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:52,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ats::io::IO::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::make_unique<IO>
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::write(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:60,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (size == s.size())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ats::io::IO::copy
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IO::copy(const std::string &s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:69,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:70,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: ats::io::IO::consume
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::consume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:80,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:81,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vio != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ats::io::IO::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIONDoneSet
    - TSVIONDoneGet
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::done() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:91,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:96,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:99,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:100,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:102,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:103,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:108,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: WriteOperation::~WriteOperation()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    - assert
    - TSIOBufferDestroy
    - TSContDestroy
    - TSVConnShutdown
    - Dbg
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void WriteOperation::~WriteOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:114,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:116,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:117,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:124,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:125,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:127,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:129,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:132,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vio_ != nullptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (action_ != nullptr)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: ats::io::WriteOperation::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSVConnWrite
    - max
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::WriteOperation(const TSVConn v, const TSMutex
      m, const size_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:140,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_t
    assertStmts:
    - condition: (mutex_)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: ats::io::WriteOperation::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::process(const size_t b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:156,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:160,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:162,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:168,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:171,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:172,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:173,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:174,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:182,1
    - Dst: WriteOperation::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:185,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:186,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:198,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (c != nullptr)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (p != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*p)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.continuation_ == c)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.vconnection_ != nullptr)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (d != nullptr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (TS_EVENT_ERROR == e || TS_EVENT_TIMEOUT == e || TS_EVENT_VCONN_WRITE_READY
        == e)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (false)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.action_ != nullptr)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 204
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 204
    functionName: ats::io::WriteOperation::Handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - static_cast<WriteOperationPointer *>
    - TSError
    - TSContDataSet
    - WriteOperation::close
    - Dbg
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int WriteOperation::Handle(const TSCont c, const TSEvent e, [[maybe_unused]]
      void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteOperation::WriteOperation
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:209,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:210,1
    - Dst: WriteOperationPointer::WriteOperationPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:211,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:212,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:213,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: WriteOperationWeakPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer != nullptr)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer == p)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: ((*p).get() == operation)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: ats::io::WriteOperation::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<WriteOperationPointer *>
    - TSContDataSet
    - WriteOperation::WriteOperation
    - WriteOperationWeakPointer
    - WriteOperationPointer::WriteOperationPointer
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: WriteOperationWeakPointer
    signature: WriteOperationWeakPointer WriteOperation::Create(const TSVConn v, const
      TSMutex m, const size_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:229,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: "&\n  WriteOperation::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const TSIOBufferReader
      r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:237,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: "&\n  WriteOperation::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:245,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: "&\n  WriteOperation::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderOffset
      &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:253,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: "&\n  WriteOperation::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - process
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  WriteOperation::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - process
    - TSIOBufferWrite
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const std::string &s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:268,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:270,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:271,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: ats::io::WriteOperation::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIONBytesSet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: ats::io::WriteOperation::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::abort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:287,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:289,1
    - Dst: WriteOperationPointer::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: IOSink::~IOSink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - lock
    - WriteOperationPointer::close
    linkageType: ''
    returnType: void
    signature: void IOSink::~IOSink()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:297,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:306,1
    - Dst: ats::io::IOSink::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:307,1
    - Dst: WriteOperationPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:309,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:310,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation->buffer_ != nullptr)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: ats::io::IOSink::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 2
    functionsReached:
    - use_count
    - ats::io::IOSink::lock
    - ats::io::IOSink::process
    - WriteOperationPointer::process
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void IOSink::process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:318,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:321,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:325,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: ats::io::IOSink::lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 5
    functionsReached:
    - assert
    - Lock
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: Lock
    signature: Lock IOSink::lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:333,1
    - Dst: WriteOperationPointer::abort
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: ats::io::IOSink::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - WriteOperationPointer::abort
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: void
    signature: void IOSink::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:342,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: "&\n  BufferNode::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const TSIOBufferReader r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:350,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: "&\n  BufferNode::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:358,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: "&\n  BufferNode::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderOffset &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:366,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: "&\n  BufferNode::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: "&\n  BufferNode::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const std::string &s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:381,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:383,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:384,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:385,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:386,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:387,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == available)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: ats::io::BufferNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result BufferNode::process(const TSIOBuffer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:394,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == string_.size())
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ats::io::StringNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferWrite
    - data
    - size
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result StringNode::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: ats::io::IOSink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - shared_from_this
    - Sink::Sink
    - Data::Data
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer IOSink::branch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:416,1
    - Dst: DataPointer::reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:418,1
    - Dst: nodes_::push_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:419,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!data_->nodes_.empty())
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: ats::io::Sink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - Sink::Sink
    - Data::Data
    - DataPointer::reset
    - nodes_::empty
    - nodes_::push_back
    - assert
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer Sink::branch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:429,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:432,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:433,1
    - Dst: IOSinkPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (data_)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_->root_)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_.use_count() >= 1)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Sink::~Sink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - use_count
    - IOSinkPointer::process
    - reset
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:440,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:448,1
    - Dst: ats::io::Data::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:449,1
    - Dst: Nodes::iterator::use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:451,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:457,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Nodes::iterator::get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Data*::nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:462,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*it != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data->nodes_.front())
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: ats::io::Data::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 2
    functionsReached:
    - begin
    - SplitDNSResult::SplitDNSResult
    - Nodes::iterator::use_count
    - erase
    - dynamic_cast<Data *>
    - ats::io::Data::process
    - end
    - Data*::nodes_::front
    - Data*::nodes_::empty
    - Nodes::iterator::get
    - empty
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result Data::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: StringNode::StringNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: "&\n  Sink::operator<<(std::string &&s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - StringNode::StringNode
    - std::move
    - nodes_::emplace_back
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n  Sink::operator<<(std::string &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:42,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:43,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 8
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:51,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:52,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ats::io::IO::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::make_unique<IO>
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::write(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:60,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (size == s.size())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ats::io::IO::copy
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IO::copy(const std::string &s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:69,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:70,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: ats::io::IO::consume
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::consume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:80,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:81,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vio != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ats::io::IO::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIONDoneSet
    - TSVIONDoneGet
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::done() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:91,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:96,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:99,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:100,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:102,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:103,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:108,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: WriteOperation::~WriteOperation()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    - assert
    - TSIOBufferDestroy
    - TSContDestroy
    - TSVConnShutdown
    - Dbg
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void WriteOperation::~WriteOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:114,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:116,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:117,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:124,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:125,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:127,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:129,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:132,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vio_ != nullptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (action_ != nullptr)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: ats::io::WriteOperation::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSVConnWrite
    - max
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::WriteOperation(const TSVConn v, const TSMutex
      m, const size_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:140,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_t
    assertStmts:
    - condition: (mutex_)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: ats::io::WriteOperation::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::process(const size_t b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:156,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:160,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:162,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:168,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:171,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:172,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:173,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:174,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:182,1
    - Dst: WriteOperation::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:185,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:186,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:198,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (c != nullptr)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (p != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*p)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.continuation_ == c)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.vconnection_ != nullptr)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (d != nullptr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (TS_EVENT_ERROR == e || TS_EVENT_TIMEOUT == e || TS_EVENT_VCONN_WRITE_READY
        == e)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (false)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.action_ != nullptr)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 204
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 204
    functionName: ats::io::WriteOperation::Handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - static_cast<WriteOperationPointer *>
    - TSError
    - TSContDataSet
    - WriteOperation::close
    - Dbg
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int WriteOperation::Handle(const TSCont c, const TSEvent e, [[maybe_unused]]
      void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteOperation::WriteOperation
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:209,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:210,1
    - Dst: WriteOperationPointer::WriteOperationPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:211,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:212,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:213,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: WriteOperationWeakPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer != nullptr)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer == p)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: ((*p).get() == operation)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: ats::io::WriteOperation::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<WriteOperationPointer *>
    - TSContDataSet
    - WriteOperation::WriteOperation
    - WriteOperationWeakPointer
    - WriteOperationPointer::WriteOperationPointer
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: WriteOperationWeakPointer
    signature: WriteOperationWeakPointer WriteOperation::Create(const TSVConn v, const
      TSMutex m, const size_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:229,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: "&\n  WriteOperation::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const TSIOBufferReader
      r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:237,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: "&\n  WriteOperation::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:245,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: "&\n  WriteOperation::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderOffset
      &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:253,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: "&\n  WriteOperation::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - process
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  WriteOperation::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - process
    - TSIOBufferWrite
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const std::string &s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:268,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:270,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:271,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: ats::io::WriteOperation::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIONBytesSet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: ats::io::WriteOperation::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::abort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:287,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:289,1
    - Dst: WriteOperationPointer::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: IOSink::~IOSink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - lock
    - WriteOperationPointer::close
    linkageType: ''
    returnType: void
    signature: void IOSink::~IOSink()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:297,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:306,1
    - Dst: ats::io::IOSink::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:307,1
    - Dst: WriteOperationPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:309,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:310,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation->buffer_ != nullptr)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: ats::io::IOSink::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 3
    functionsReached:
    - use_count
    - ats::io::IOSink::lock
    - ats::io::IOSink::process
    - WriteOperationPointer::process
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void IOSink::process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:318,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:321,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:325,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: ats::io::IOSink::lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 8
    functionsReached:
    - assert
    - Lock
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: Lock
    signature: Lock IOSink::lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:333,1
    - Dst: WriteOperationPointer::abort
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: ats::io::IOSink::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - WriteOperationPointer::abort
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: void
    signature: void IOSink::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:342,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: "&\n  BufferNode::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const TSIOBufferReader r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:350,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: "&\n  BufferNode::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:358,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: "&\n  BufferNode::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderOffset &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:366,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: "&\n  BufferNode::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: "&\n  BufferNode::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const std::string &s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:381,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:383,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:384,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:385,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:386,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:387,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == available)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: ats::io::BufferNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result BufferNode::process(const TSIOBuffer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:394,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == string_.size())
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ats::io::StringNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferWrite
    - data
    - size
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result StringNode::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: ats::io::IOSink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - shared_from_this
    - Sink::Sink
    - Data::Data
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer IOSink::branch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:416,1
    - Dst: DataPointer::reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:418,1
    - Dst: nodes_::push_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:419,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!data_->nodes_.empty())
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: ats::io::Sink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - Sink::Sink
    - Data::Data
    - DataPointer::reset
    - nodes_::empty
    - nodes_::push_back
    - assert
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer Sink::branch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:429,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:432,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:433,1
    - Dst: IOSinkPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (data_)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_->root_)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_.use_count() >= 1)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Sink::~Sink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - use_count
    - IOSinkPointer::process
    - reset
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:440,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:448,1
    - Dst: ats::io::Data::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:449,1
    - Dst: Nodes::iterator::use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:451,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:457,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Nodes::iterator::get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Data*::nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:462,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*it != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data->nodes_.front())
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: ats::io::Data::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 3
    functionsReached:
    - begin
    - SplitDNSResult::SplitDNSResult
    - Nodes::iterator::use_count
    - erase
    - dynamic_cast<Data *>
    - ats::io::Data::process
    - end
    - Data*::nodes_::front
    - Data*::nodes_::empty
    - Nodes::iterator::get
    - empty
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result Data::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: StringNode::StringNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: "&\n  Sink::operator<<(std::string &&s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - StringNode::StringNode
    - std::move
    - nodes_::emplace_back
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n  Sink::operator<<(std::string &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:42,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:43,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ats::io::IO::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 8
    functionsReached:
    - std::make_unique<IO>
    - TSVConnRead
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::read(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:51,1
    - Dst: std::make_unique<IO>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:52,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - TSCont
    - int64_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ats::io::IO::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVConnWrite
    - std::make_unique<IO>
    - assert
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> IO::write(TSVConn v, TSCont c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:60,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:61,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (size == s.size())
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ats::io::IO::copy
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IO::copy(const std::string &s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:69,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:70,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: ats::io::IO::consume
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::consume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:80,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:81,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:82,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vio != nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ats::io::IO::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIONDoneSet
    - TSVIONDoneGet
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t IO::done() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:89,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:91,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:96,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:99,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:100,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:102,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:103,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:105,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:106,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:108,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: WriteOperation::~WriteOperation()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderFree
    - assert
    - TSIOBufferDestroy
    - TSContDestroy
    - TSVConnShutdown
    - Dbg
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void WriteOperation::~WriteOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:114,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:115,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:116,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:117,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:118,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:124,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:125,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:127,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:128,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:129,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:132,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (vio_ != nullptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (continuation_ != nullptr)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (action_ != nullptr)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: ats::io::WriteOperation::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSVConnWrite
    - max
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::WriteOperation(const TSVConn v, const TSMutex
      m, const size_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:140,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:143,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_t
    assertStmts:
    - condition: (mutex_)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: ats::io::WriteOperation::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::process(const size_t b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:156,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:160,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:162,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:168,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:169,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:171,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:172,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:173,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:174,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:178,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:182,1
    - Dst: WriteOperation::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:185,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:186,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:198,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - c
    - e
    - d
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (c != nullptr)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (p != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*p)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.continuation_ == c)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.vconnection_ != nullptr)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (d != nullptr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (TS_EVENT_ERROR == e || TS_EVENT_TIMEOUT == e || TS_EVENT_VCONN_WRITE_READY
        == e)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (false)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation.action_ != nullptr)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 204
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 204
    functionName: ats::io::WriteOperation::Handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - static_cast<WriteOperationPointer *>
    - TSError
    - TSContDataSet
    - WriteOperation::close
    - Dbg
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: int
    signature: int WriteOperation::Handle(const TSCont c, const TSEvent e, [[maybe_unused]]
      void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteOperation::WriteOperation
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:209,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:210,1
    - Dst: WriteOperationPointer::WriteOperationPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:211,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:212,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:213,1
    - Dst: static_cast<WriteOperationPointer *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:217,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:218,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:219,1
    - Dst: WriteOperationWeakPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - v
    - m
    - t
    argTypes:
    - TSVConn
    - TSMutex
    - size_t
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer != nullptr)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (pointer == p)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: ((*p).get() == operation)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: ats::io::WriteOperation::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - get
    - static_cast<WriteOperationPointer *>
    - TSContDataSet
    - WriteOperation::WriteOperation
    - WriteOperationWeakPointer
    - WriteOperationPointer::WriteOperationPointer
    - TSContDataGet
    - assert
    linkageType: ''
    returnType: WriteOperationWeakPointer
    signature: WriteOperationWeakPointer WriteOperation::Create(const TSVConn v, const
      TSMutex m, const size_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:229,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: "&\n  WriteOperation::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const TSIOBufferReader
      r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:237,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: "&\n  WriteOperation::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:245,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: "&\n  WriteOperation::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - process
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const ReaderOffset
      &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:253,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: "&\n  WriteOperation::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - process
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: "&\n  WriteOperation::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - process
    - TSIOBufferWrite
    linkageType: ''
    returnType: WriteOperation
    signature: "WriteOperation &\n  WriteOperation::operator<<(const std::string &s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:268,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:270,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:271,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: ats::io::WriteOperation::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSVIOContGet
    - TSVIONBytesSet
    - TSVIOReenable
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mutex_ != nullptr)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: ats::io::WriteOperation::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void WriteOperation::abort()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:287,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:289,1
    - Dst: WriteOperationPointer::close
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: IOSink::~IOSink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - lock
    - WriteOperationPointer::close
    linkageType: ''
    returnType: void
    signature: void IOSink::~IOSink()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:297,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:306,1
    - Dst: ats::io::IOSink::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:307,1
    - Dst: WriteOperationPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:309,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:310,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation->buffer_ != nullptr)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: ats::io::IOSink::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 4
    functionsReached:
    - use_count
    - ats::io::IOSink::lock
    - ats::io::IOSink::process
    - WriteOperationPointer::process
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void IOSink::process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:318,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:321,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:324,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:325,1
    - Dst: Lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (operation != nullptr)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (operation->mutex_ != nullptr)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: ats::io::IOSink::lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 11
    functionsReached:
    - assert
    - Lock
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: Lock
    signature: Lock IOSink::lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IOSink::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:333,1
    - Dst: WriteOperationPointer::abort
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: ats::io::IOSink::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - WriteOperationPointer::abort
    - ats::io::IOSink::lock
    linkageType: ''
    returnType: void
    signature: void IOSink::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:342,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: "&\n  BufferNode::operator<<(const TSIOBufferReader r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const TSIOBufferReader r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:350,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderSize
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: "&\n  BufferNode::operator<<(const ReaderSize &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderSize &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:358,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - ReaderOffset
    assertStmts:
    - condition: (r.reader != nullptr)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: "&\n  BufferNode::operator<<(const ReaderOffset &r)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCopy
    - TSIOBufferReaderAvail
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const ReaderOffset &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:366,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: "&\n  BufferNode::operator<<(const char *const s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - strlen
    - TSIOBufferWrite
    - assert
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const char *const s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: "&\n  BufferNode::operator<<(const std::string &s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    - TSIOBufferWrite
    linkageType: ''
    returnType: BufferNode
    signature: "BufferNode &\n  BufferNode::operator<<(const std::string &s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:381,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:382,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:383,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:384,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:385,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:386,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:387,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == available)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: ats::io::BufferNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferCopy
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result BufferNode::process(const TSIOBuffer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:394,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:395,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:396,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (copied == string_.size())
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ats::io::StringNode::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - SplitDNSResult::SplitDNSResult
    - TSIOBufferWrite
    - data
    - size
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result StringNode::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: shared_from_this
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:404,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: ats::io::IOSink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - reset
    - shared_from_this
    - Sink::Sink
    - Data::Data
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer IOSink::branch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:416,1
    - Dst: DataPointer::reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: Data::Data
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:417,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:418,1
    - Dst: nodes_::push_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:419,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:420,1
    - Dst: Sink::Sink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!data_->nodes_.empty())
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: ats::io::Sink::branch
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - Sink::Sink
    - Data::Data
    - DataPointer::reset
    - nodes_::empty
    - nodes_::push_back
    - assert
    linkageType: ''
    returnType: SinkPointer
    signature: SinkPointer Sink::branch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:429,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:430,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:432,1
    - Dst: reset
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:433,1
    - Dst: IOSinkPointer::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (data_)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_->root_)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data_.use_count() >= 1)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Sink::~Sink()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - use_count
    - IOSinkPointer::process
    - reset
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:440,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:443,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:448,1
    - Dst: ats::io::Data::process
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:449,1
    - Dst: Nodes::iterator::use_count
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:451,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:457,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Nodes::iterator::get
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:459,1
    - Dst: Data*::nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:462,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:465,1
    - Dst: dynamic_cast<Data *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: Data*::nodes_::front
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:466,1
    - Dst: SplitDNSResult::SplitDNSResult
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (b != nullptr)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (*it != nullptr)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    - condition: (data->nodes_.front())
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.cc
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: ats::io::Data::process
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 4
    functionsReached:
    - begin
    - SplitDNSResult::SplitDNSResult
    - Nodes::iterator::use_count
    - erase
    - dynamic_cast<Data *>
    - ats::io::Data::process
    - end
    - Data*::nodes_::front
    - Data*::nodes_::empty
    - Nodes::iterator::get
    - empty
    - assert
    linkageType: ''
    returnType: Node::Result
    signature: Node::Result Data::process(const TSIOBuffer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    - Dst: StringNode::StringNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.cc:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: "&\n  Sink::operator<<(std::string &&s)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.cc
    functionUses: 0
    functionsReached:
    - StringNode::StringNode
    - std::move
    - nodes_::emplace_back
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n  Sink::operator<<(std::string &&s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ats::inliner::AttributeParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ats::inliner::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ats::inliner::isValidName
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidName(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ats::inliner::isValidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidValue(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ats::inliner::HtmlParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ~HtmlParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ats::inliner::AttributeParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ats::inliner::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ats::inliner::isValidName
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidName(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ats::inliner::isValidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidValue(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ats::inliner::HtmlParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ~HtmlParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ats::inliner::AttributeParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ats::inliner::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ats::inliner::isValidName
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidName(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ats::inliner::isValidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidValue(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ats::inliner::HtmlParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ~HtmlParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ats::inliner::AttributeParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ats::inliner::reset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ats::inliner::isValidName
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidName(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/trafficserver/plugins/experimental/inliner/html-parser.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ats::inliner::isValidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isValidValue(char c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ats::inliner::HtmlParser
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ~HtmlParser()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/html-parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HtmlParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:47,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:54,1
    - Dst: std::exception
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ats::inliner::PNG
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::exception
    - ats::inliner::verifySignature
    linkageType: ''
    returnType: void
    signature: void PNG(const Content &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::inliner::ChunkHeader::length
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats::inliner::ChunkHeader::type
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:82,1
    - Dst: Content::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:88,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:89,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:91,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: reinterpret_cast<const ChunkHeader *>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:97,1
    - Dst: ChunkHeader*::type
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:98,1
    - Dst: ChunkHeader*::length
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:99,1
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:103,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:109,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - output
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: ats::inliner::stripMetaData
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::distance
    - copy
    - Content::clear
    - std::back_inserter
    - Content::reserve
    - reinterpret_cast<const ChunkHeader *>
    - ats::inliner::data
    - ChunkHeader*::length
    - size
    - ChunkHeader*::type
    linkageType: ''
    returnType: void
    signature: void stripMetaData(Content &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:47,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 1
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:54,1
    - Dst: std::exception
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ats::inliner::PNG
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::exception
    - ats::inliner::verifySignature
    linkageType: ''
    returnType: void
    signature: void PNG(const Content &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::inliner::ChunkHeader::length
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats::inliner::ChunkHeader::type
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:82,1
    - Dst: Content::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:88,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:89,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:91,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: reinterpret_cast<const ChunkHeader *>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:97,1
    - Dst: ChunkHeader*::type
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:98,1
    - Dst: ChunkHeader*::length
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:99,1
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:103,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:109,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - output
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: ats::inliner::stripMetaData
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::distance
    - copy
    - Content::clear
    - std::back_inserter
    - Content::reserve
    - reinterpret_cast<const ChunkHeader *>
    - ats::inliner::data
    - ChunkHeader*::length
    - size
    - ChunkHeader*::type
    linkageType: ''
    returnType: void
    signature: void stripMetaData(Content &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:47,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 2
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:54,1
    - Dst: std::exception
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ats::inliner::PNG
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::exception
    - ats::inliner::verifySignature
    linkageType: ''
    returnType: void
    signature: void PNG(const Content &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::inliner::ChunkHeader::length
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats::inliner::ChunkHeader::type
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:82,1
    - Dst: Content::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:88,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:89,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:91,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: reinterpret_cast<const ChunkHeader *>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:97,1
    - Dst: ChunkHeader*::type
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:98,1
    - Dst: ChunkHeader*::length
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:99,1
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:103,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:109,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - output
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: ats::inliner::stripMetaData
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::distance
    - copy
    - Content::clear
    - std::back_inserter
    - Content::reserve
    - reinterpret_cast<const ChunkHeader *>
    - ats::inliner::data
    - ChunkHeader*::length
    - size
    - ChunkHeader*::type
    linkageType: ''
    returnType: void
    signature: void stripMetaData(Content &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:47,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 3
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ats::inliner::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:54,1
    - Dst: std::exception
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ats::inliner::PNG
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::exception
    - ats::inliner::verifySignature
    linkageType: ''
    returnType: void
    signature: void PNG(const Content &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::inliner::ChunkHeader::length
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ats::inliner::ChunkHeader::type
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:82,1
    - Dst: Content::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:83,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:88,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:89,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:91,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:92,1
    - Dst: reinterpret_cast<const ChunkHeader *>
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:97,1
    - Dst: ChunkHeader*::type
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:98,1
    - Dst: ChunkHeader*::length
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:99,1
    - Dst: Content::clear
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:103,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:109,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/png.h:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - output
    argTypes:
    - Content
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: ats::inliner::stripMetaData
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/png.h
    functionUses: 0
    functionsReached:
    - std::distance
    - copy
    - Content::clear
    - std::back_inserter
    - Content::reserve
    - reinterpret_cast<const ChunkHeader *>
    - ats::inliner::data
    - ChunkHeader*::length
    - size
    - ChunkHeader*::type
    linkageType: ''
    returnType: void
    signature: void stripMetaData(Content &output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/jpeg.h
    functionUses: 4
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/jpeg.h
    functionUses: 4
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/jpeg.h
    functionUses: 4
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:39,1
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/jpeg.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/jpeg.h
    functionUses: 4
    functionsReached:
    - C::begin
    - static_cast<char>
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:36,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:37,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:38,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:39,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:44,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:45,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - TSIOBufferReader
    - ats::io::IOSinkPointer
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_->data_)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_->data_)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: ats::inliner::Handler::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - assert
    - branch
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer
      &&i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:68,1
    - Dst: ats::io::ReaderSize
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - o
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ats::inliner::Handler::bypass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - ats::io::ReaderSize
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t Handler::bypass(const size_t s, const size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:76,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:77,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:82,1
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:84,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:87,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:91,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (offset == TSIOBufferReaderAvail(reader_))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: ats::inliner::Handler::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ats::inliner::HtmlParser::parse
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::parse()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:102,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:113,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:114,1
    - Dst: first::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:127,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: cache::fetch<CacheHandler>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: ats::inliner::Handler::generateId
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:131,1
    - Dst: static_cast<std::string>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - Attributes
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 134
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 134
    functionName: ats::inliner::Handler::handleImage
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - branch
    - std::string::erase
    - second::empty
    - static_cast<std::string>
    - first::find
    - cache::fetch<CacheHandler>
    - ats::inliner::Handler::generateId
    - first::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::handleImage(const Attributes &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:141,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: ats::inliner::Handler::generateId
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - static_cast<void *>
    linkageType: ''
    returnType: std::string
    signature: std::string Handler::generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:149,1
    - Dst: ats::inliner::Handler::abort
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ats::inliner::Handler::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 1
    functionsReached:
    - ats::inliner::Handler::abort
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:36,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:37,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:38,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:39,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:44,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:45,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - TSIOBufferReader
    - ats::io::IOSinkPointer
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_->data_)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_->data_)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: ats::inliner::Handler::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - assert
    - branch
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer
      &&i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:68,1
    - Dst: ats::io::ReaderSize
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - o
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ats::inliner::Handler::bypass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - ats::io::ReaderSize
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t Handler::bypass(const size_t s, const size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:76,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:77,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:82,1
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:84,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:87,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:91,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (offset == TSIOBufferReaderAvail(reader_))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: ats::inliner::Handler::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ats::inliner::HtmlParser::parse
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::parse()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:102,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:113,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:114,1
    - Dst: first::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:127,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: cache::fetch<CacheHandler>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: ats::inliner::Handler::generateId
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:131,1
    - Dst: static_cast<std::string>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - Attributes
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 134
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 134
    functionName: ats::inliner::Handler::handleImage
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - branch
    - std::string::erase
    - second::empty
    - static_cast<std::string>
    - first::find
    - cache::fetch<CacheHandler>
    - ats::inliner::Handler::generateId
    - first::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::handleImage(const Attributes &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:141,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: ats::inliner::Handler::generateId
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - static_cast<void *>
    linkageType: ''
    returnType: std::string
    signature: std::string Handler::generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:149,1
    - Dst: ats::inliner::Handler::abort
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ats::inliner::Handler::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 2
    functionsReached:
    - ats::inliner::Handler::abort
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:36,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:37,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:38,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:39,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:44,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:45,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - TSIOBufferReader
    - ats::io::IOSinkPointer
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_->data_)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_->data_)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: ats::inliner::Handler::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - assert
    - branch
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer
      &&i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:68,1
    - Dst: ats::io::ReaderSize
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - o
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ats::inliner::Handler::bypass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - ats::io::ReaderSize
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t Handler::bypass(const size_t s, const size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:76,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:77,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:82,1
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:84,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:87,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:91,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (offset == TSIOBufferReaderAvail(reader_))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: ats::inliner::Handler::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ats::inliner::HtmlParser::parse
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::parse()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:102,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:113,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:114,1
    - Dst: first::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:127,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: cache::fetch<CacheHandler>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: ats::inliner::Handler::generateId
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:131,1
    - Dst: static_cast<std::string>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - Attributes
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 134
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 134
    functionName: ats::inliner::Handler::handleImage
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - branch
    - std::string::erase
    - second::empty
    - static_cast<std::string>
    - first::find
    - cache::fetch<CacheHandler>
    - ats::inliner::Handler::generateId
    - first::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::handleImage(const Attributes &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:141,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: ats::inliner::Handler::generateId
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - static_cast<void *>
    linkageType: ''
    returnType: std::string
    signature: std::string Handler::generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:149,1
    - Dst: ats::inliner::Handler::abort
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ats::inliner::Handler::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 3
    functionsReached:
    - ats::inliner::Handler::abort
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:36,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:37,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:38,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:39,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:44,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:45,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:47,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - TSIOBufferReader
    - ats::io::IOSinkPointer
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink_->data_)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_->data_)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (reader_ != nullptr)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: ats::inliner::Handler::Handler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::move
    - assert
    - branch
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void Handler::Handler(const TSIOBufferReader r, ats::io::IOSinkPointer
      &&i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:67,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:68,1
    - Dst: ats::io::ReaderSize
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - o
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ats::inliner::Handler::bypass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - ats::io::ReaderSize
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t Handler::bypass(const size_t s, const size_t o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:76,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:77,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:82,1
    - Dst: ats::inliner::HtmlParser::parse
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:84,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:87,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:89,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:91,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (buffer != nullptr)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (offset == TSIOBufferReaderAvail(reader_))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: ats::inliner::Handler::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - ats::inliner::HtmlParser::parse
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::parse()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:102,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:108,1
    - Dst: first::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:113,1
    - Dst: second::empty
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:114,1
    - Dst: first::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:117,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:126,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:127,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:128,1
    - Dst: cache::fetch<CacheHandler>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: ats::inliner::Handler::generateId
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: branch
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:129,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:131,1
    - Dst: static_cast<std::string>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - Attributes
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 134
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 134
    functionName: ats::inliner::Handler::handleImage
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - branch
    - std::string::erase
    - second::empty
    - static_cast<std::string>
    - first::find
    - cache::fetch<CacheHandler>
    - ats::inliner::Handler::generateId
    - first::empty
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::handleImage(const Attributes &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:141,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: ats::inliner::Handler::generateId
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - static_cast<void *>
    linkageType: ''
    returnType: std::string
    signature: std::string Handler::generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:149,1
    - Dst: ats::inliner::Handler::abort
      Src: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ioSink_)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ats::inliner::Handler::abort
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/inliner-handler.cc
    functionUses: 4
    functionsReached:
    - ats::inliner::Handler::abort
    - assert
    linkageType: ''
    returnType: void
    signature: void Handler::abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/gif.h
    functionUses: 4
    functionsReached:
    - C::begin
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/gif.h
    functionUses: 4
    functionsReached:
    - C::begin
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/gif.h
    functionUses: 4
    functionsReached:
    - C::begin
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C::size
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:43,1
    - Dst: equal
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    - Dst: C::begin
      Src: /src/trafficserver/plugins/experimental/inliner/gif.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - content
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ats::inliner::verifySignature
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/gif.h
    functionUses: 4
    functionsReached:
    - C::begin
    - equal
    - C::size
    linkageType: ''
    returnType: bool
    signature: bool verifySignature(const C &content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:44,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: Write::Write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: TSCacheWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ats::cache::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - Write::Write
    - TSContDataSet
    - Key::key
    - TSContCreate
    - std::move
    - TSCacheWrite
    - assert
    linkageType: ''
    returnType: void
    signature: void write(const std::string &k, std::string &&s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:52,1
    - Dst: static_cast<Write *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:57,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:58,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:59,1
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:63,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:65,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:70,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:71,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:73,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:74,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - c
    - e
    - v
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (v != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->out_ == nullptr)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (c != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->vconnection_ != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (false)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: ats::cache::Write::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - static_cast<TSVConn>
    - TSContDataSet
    - TSIOBufferWrite
    - Write*::content_::size
    - Dbg
    - ats::io::IO::write
    - TSContDataGet
    - Write*::content_::data
    - static_cast<Write *>
    - assert
    linkageType: ''
    returnType: int
    signature: int Write::handle(TSCont c, TSEvent e, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:44,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: Write::Write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: TSCacheWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ats::cache::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - Write::Write
    - TSContDataSet
    - Key::key
    - TSContCreate
    - std::move
    - TSCacheWrite
    - assert
    linkageType: ''
    returnType: void
    signature: void write(const std::string &k, std::string &&s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:52,1
    - Dst: static_cast<Write *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:57,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:58,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:59,1
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:63,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:65,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:70,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:71,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:73,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:74,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - c
    - e
    - v
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (v != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->out_ == nullptr)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (c != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->vconnection_ != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (false)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: ats::cache::Write::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - static_cast<TSVConn>
    - TSContDataSet
    - TSIOBufferWrite
    - Write*::content_::size
    - Dbg
    - ats::io::IO::write
    - TSContDataGet
    - Write*::content_::data
    - static_cast<Write *>
    - assert
    linkageType: ''
    returnType: int
    signature: int Write::handle(TSCont c, TSEvent e, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:44,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: Write::Write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: TSCacheWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ats::cache::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - Write::Write
    - TSContDataSet
    - Key::key
    - TSContCreate
    - std::move
    - TSCacheWrite
    - assert
    linkageType: ''
    returnType: void
    signature: void write(const std::string &k, std::string &&s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:52,1
    - Dst: static_cast<Write *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:57,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:58,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:59,1
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:63,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:65,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:70,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:71,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:73,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:74,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - c
    - e
    - v
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (v != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->out_ == nullptr)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (c != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->vconnection_ != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (false)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: ats::cache::Write::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - static_cast<TSVConn>
    - TSContDataSet
    - TSIOBufferWrite
    - Write*::content_::size
    - Dbg
    - ats::io::IO::write
    - TSContDataGet
    - Write*::content_::data
    - static_cast<Write *>
    - assert
    linkageType: ''
    returnType: int
    signature: int Write::handle(TSCont c, TSEvent e, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:44,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: Write::Write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:45,1
    - Dst: TSCacheWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    - Dst: Key::key
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - s
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: (continuation != nullptr)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ats::cache::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - Write::Write
    - TSContDataSet
    - Key::key
    - TSContCreate
    - std::move
    - TSCacheWrite
    - assert
    linkageType: ''
    returnType: void
    signature: void write(const std::string &k, std::string &&s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:52,1
    - Dst: static_cast<Write *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:53,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:57,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:58,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:59,1
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:60,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:63,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:65,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:69,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:70,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:71,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:73,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:74,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: Write*::content_::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:77,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache.cc:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - c
    - e
    - v
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (v != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->out_ == nullptr)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (c != nullptr)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (self->vconnection_ != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    - condition: (false)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/trafficserver/plugins/experimental/inliner/cache.cc
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: ats::cache::Write::handle
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSContDestroy
    - static_cast<TSVConn>
    - TSContDataSet
    - TSIOBufferWrite
    - Write*::content_::size
    - Dbg
    - ats::io::IO::write
    - TSContDataGet
    - Write*::content_::data
    - static_cast<Write *>
    - assert
    linkageType: ''
    returnType: int
    signature: int Write::handle(TSCont c, TSEvent e, void *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:63,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:65,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - location
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: ats::getHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::size
    - std::string
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool getHeader(TSMBuffer buffer, TSMLoc location, const std::string
      &name, std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ats::inliner::AnotherClass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AnotherClass(const std::string &u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:84,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:85,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:87,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:89,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:90,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:95,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:97,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:99,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 4
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - copy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - min
    - std::back_inserter
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t data(const TSIOBufferReader r, int64_t l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:112,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:114,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:136,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: ats::cache::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - CHECK
    - std::string::reserve
    - proxy_wasm::SignatureUtil::verifySignature
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - std::string::data
    - ats::cache::write
    - Dbg
    - c_str
    - TSBase64Encode
    - ats::inliner::data
    - empty
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:152,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:153,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:159,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:167,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ats::inliner::header
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - getHeader
    - Dbg
    - std::string::empty
    - reserve
    linkageType: ''
    returnType: void
    signature: void header(TSMBuffer b, TSMLoc l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ats::inliner::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ats::inliner::error
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void error() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:189,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:190,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:192,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:194,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:195,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:200,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:202,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:204,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - std::string
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: ats::inliner::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    - min
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBufferReader &r, std::string &o, int64_t l
      = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: ~CacheHandler()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~CacheHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T1>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: std::forward<T2>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:237,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - s
    - o
    - c
    - i
    - si
    - si2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - T1
    - T2
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::forward<T1>
    - std::forward<T2>
    - assert
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const std::string &s, const std::string &o, const
      std::string &c, const std::string &i, T1 &&si, T2 &&si2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:242,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:243,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:244,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:245,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:246,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - CacheHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CacheHandler(CacheHandler &&h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '&operator=(const CacheHandler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheHandler
    signature: CacheHandler &operator=(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:259,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:260,1
    - Dst: ats::inliner::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::read
    - assert
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 5
    functionsReached:
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void data(TSIOBufferReader r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:279,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:283,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:289,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:294,1
    - Dst: ats::io::vconnection::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - TSVConn
    assertStmts:
    - condition: (v != nullptr)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink_)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (!id_.empty())
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: ats::inliner::hit
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - TSVConnCacheObjectSizeGet
    - Dbg
    - c_str
    - ats::io::vconnection::read
    - empty
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void hit(TSVConn v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:302,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:304,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:307,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:312,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:313,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:318,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:322,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:329,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:332,1
    - Dst: std::make_unique<io::IO>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: auto::copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:339,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: ats::inliner::AnotherClass
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 341
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 341
    functionName: ats::inliner::miss
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - find
    - std::string
    - auto::copy
    - std::string::begin
    - const_cast<std::string &>
    - std::string::end
    - std::make_unique<io::IO>
    - Dbg
    - ats::get
    - substr
    - ats::inliner::AnotherClass
    - empty
    - std::move
    - std::find
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void miss()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ats::inliner::AnotherClass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AnotherClass(const std::string &u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:84,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:85,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:87,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:89,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:90,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:95,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:97,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:99,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 5
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - copy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - min
    - std::back_inserter
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t data(const TSIOBufferReader r, int64_t l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:112,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:114,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:136,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: ats::cache::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - CHECK
    - std::string::reserve
    - proxy_wasm::SignatureUtil::verifySignature
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - std::string::data
    - ats::cache::write
    - Dbg
    - c_str
    - TSBase64Encode
    - ats::inliner::data
    - empty
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:152,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:153,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:159,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:167,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ats::inliner::header
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - getHeader
    - Dbg
    - std::string::empty
    - reserve
    linkageType: ''
    returnType: void
    signature: void header(TSMBuffer b, TSMLoc l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ats::inliner::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ats::inliner::error
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void error() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:189,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:190,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:192,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:194,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:195,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:200,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:202,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:204,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - std::string
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: ats::inliner::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 1
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    - min
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBufferReader &r, std::string &o, int64_t l
      = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: ~CacheHandler()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~CacheHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T1>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: std::forward<T2>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:237,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - s
    - o
    - c
    - i
    - si
    - si2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - T1
    - T2
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::forward<T1>
    - std::forward<T2>
    - assert
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const std::string &s, const std::string &o, const
      std::string &c, const std::string &i, T1 &&si, T2 &&si2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:242,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:243,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:244,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:245,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:246,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - CacheHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CacheHandler(CacheHandler &&h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '&operator=(const CacheHandler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheHandler
    signature: CacheHandler &operator=(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:259,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:260,1
    - Dst: ats::inliner::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::read
    - assert
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 6
    functionsReached:
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void data(TSIOBufferReader r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:279,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:283,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:289,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:294,1
    - Dst: ats::io::vconnection::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - TSVConn
    assertStmts:
    - condition: (v != nullptr)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink_)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (!id_.empty())
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: ats::inliner::hit
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - TSVConnCacheObjectSizeGet
    - Dbg
    - c_str
    - ats::io::vconnection::read
    - empty
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void hit(TSVConn v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:302,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:304,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:307,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:312,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:313,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:318,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:322,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:329,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:332,1
    - Dst: std::make_unique<io::IO>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: auto::copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:339,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: ats::inliner::AnotherClass
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 341
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 341
    functionName: ats::inliner::miss
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - find
    - std::string
    - auto::copy
    - std::string::begin
    - const_cast<std::string &>
    - std::string::end
    - std::make_unique<io::IO>
    - Dbg
    - ats::get
    - substr
    - ats::inliner::AnotherClass
    - empty
    - std::move
    - std::find
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void miss()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:60,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:63,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:65,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - location
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: ats::getHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - std::string::size
    - std::string
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool getHeader(TSMBuffer buffer, TSMLoc location, const std::string
      &name, std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ats::inliner::AnotherClass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AnotherClass(const std::string &u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:84,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:85,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:87,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:89,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:90,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:95,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:97,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:99,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 6
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - copy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - min
    - std::back_inserter
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t data(const TSIOBufferReader r, int64_t l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:112,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:114,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:136,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: ats::cache::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - CHECK
    - std::string::reserve
    - proxy_wasm::SignatureUtil::verifySignature
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - std::string::data
    - ats::cache::write
    - Dbg
    - c_str
    - TSBase64Encode
    - ats::inliner::data
    - empty
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:152,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:153,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:159,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:167,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ats::inliner::header
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - getHeader
    - Dbg
    - std::string::empty
    - reserve
    linkageType: ''
    returnType: void
    signature: void header(TSMBuffer b, TSMLoc l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ats::inliner::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ats::inliner::error
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void error() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:189,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:190,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:192,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:194,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:195,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:200,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:202,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:204,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - std::string
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: ats::inliner::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 2
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    - min
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBufferReader &r, std::string &o, int64_t l
      = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: ~CacheHandler()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~CacheHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T1>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: std::forward<T2>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:237,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - s
    - o
    - c
    - i
    - si
    - si2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - T1
    - T2
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::forward<T1>
    - std::forward<T2>
    - assert
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const std::string &s, const std::string &o, const
      std::string &c, const std::string &i, T1 &&si, T2 &&si2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:242,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:243,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:244,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:245,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:246,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - CacheHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CacheHandler(CacheHandler &&h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '&operator=(const CacheHandler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheHandler
    signature: CacheHandler &operator=(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:259,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:260,1
    - Dst: ats::inliner::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::read
    - assert
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 7
    functionsReached:
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void data(TSIOBufferReader r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:279,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:283,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:289,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:294,1
    - Dst: ats::io::vconnection::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - TSVConn
    assertStmts:
    - condition: (v != nullptr)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink_)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (!id_.empty())
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: ats::inliner::hit
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - TSVConnCacheObjectSizeGet
    - Dbg
    - c_str
    - ats::io::vconnection::read
    - empty
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void hit(TSVConn v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:302,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:304,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:307,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:312,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:313,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:318,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:322,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:329,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:332,1
    - Dst: std::make_unique<io::IO>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: auto::copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:339,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: ats::inliner::AnotherClass
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 341
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 341
    functionName: ats::inliner::miss
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - find
    - std::string
    - auto::copy
    - std::string::begin
    - const_cast<std::string &>
    - std::string::end
    - std::make_unique<io::IO>
    - Dbg
    - ats::get
    - substr
    - ats::inliner::AnotherClass
    - empty
    - std::move
    - std::find
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void miss()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ats::inliner::AnotherClass
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AnotherClass(const std::string &u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:84,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:85,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:87,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:89,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:90,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:95,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:97,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:99,1
    - Dst: copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    - Dst: std::back_inserter
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - l
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 7
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - copy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - min
    - std::back_inserter
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t data(const TSIOBufferReader r, int64_t l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:112,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:114,1
    - Dst: proxy_wasm::SignatureUtil::verifySignature
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:116,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:120,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:128,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:130,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:136,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:138,1
    - Dst: CHECK
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: TSBase64Encode
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: ats::inliner::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:139,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:140,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:143,1
    - Dst: ats::cache::write
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - CHECK
    - std::string::reserve
    - proxy_wasm::SignatureUtil::verifySignature
    - std::string::size
    - const_cast<char *>
    - std::string::resize
    - std::string::data
    - ats::cache::write
    - Dbg
    - c_str
    - TSBase64Encode
    - ats::inliner::data
    - empty
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:152,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:153,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:159,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:160,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:167,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ats::inliner::header
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - getHeader
    - Dbg
    - std::string::empty
    - reserve
    linkageType: ''
    returnType: void
    signature: void header(TSMBuffer b, TSMLoc l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ats::inliner::timeout
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void timeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ats::inliner::error
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void error() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:189,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:190,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:192,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:194,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:195,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:200,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:202,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:204,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - std::string
    assertStmts:
    - condition: (r != nullptr)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (l >= 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: ats::inliner::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 3
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - std::string::append
    - min
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read(const TSIOBufferReader &r, std::string &o, int64_t l
      = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:226,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:227,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (TSIOBufferReaderAvail(reader_) == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: ~CacheHandler()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~CacheHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T1>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: std::forward<T2>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:235,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:237,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - s
    - o
    - c
    - i
    - si
    - si2
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - T1
    - T2
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::forward<T1>
    - std::forward<T2>
    - assert
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const std::string &s, const std::string &o, const
      std::string &c, const std::string &i, T1 &&si, T2 &&si2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:242,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:243,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:244,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:245,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:246,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - CacheHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CacheHandler(CacheHandler &&h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: ats::inliner::CacheHandler
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CacheHandler(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '&operator=(const CacheHandler &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CacheHandler
    signature: CacheHandler &operator=(const CacheHandler &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:259,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:260,1
    - Dst: ats::inliner::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: ats::inliner::done
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::read
    - assert
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - TSIOBufferReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ats::inliner::data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 8
    functionsReached:
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: void
    signature: void data(TSIOBufferReader r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:279,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:281,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:283,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:287,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:289,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:294,1
    - Dst: ats::io::vconnection::read
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    - Dst: TSVConnCacheObjectSizeGet
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - TSVConn
    assertStmts:
    - condition: (v != nullptr)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink_)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (!id_.empty())
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: ats::inliner::hit
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - TSVConnCacheObjectSizeGet
    - Dbg
    - c_str
    - ats::io::vconnection::read
    - empty
    - std::move
    - assert
    linkageType: ''
    returnType: void
    signature: void hit(TSVConn v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:302,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:304,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:307,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:310,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:312,1
    - Dst: ats::inliner::reset
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:313,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:318,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:320,1
    - Dst: const_cast<std::string &>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:322,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::find
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:326,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:329,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:332,1
    - Dst: std::make_unique<io::IO>
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:335,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:337,1
    - Dst: auto::copy
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:339,1
    - Dst: ats::get
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    - Dst: ats::inliner::AnotherClass
      Src: /src/trafficserver/plugins/experimental/inliner/cache-handler.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sink_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    - condition: (sink2_ != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    constantsTouched: []
    func_position:
      end: 341
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 341
    functionName: ats::inliner::miss
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/cache-handler.h
    functionUses: 0
    functionsReached:
    - ats::inliner::reset
    - find
    - std::string
    - auto::copy
    - std::string::begin
    - const_cast<std::string &>
    - std::string::end
    - std::make_unique<io::IO>
    - Dbg
    - ats::get
    - substr
    - ats::inliner::AnotherClass
    - empty
    - std::move
    - std::find
    - std::string::c_str
    - assert
    linkageType: ''
    returnType: void
    signature: void miss()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CHECK
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: CHECK
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - consume
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ats::io::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::write
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> write(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const TSIOBufferReader r, const size_t s, const size_t
      o = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&operator=(const ReaderSize &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderSize
    signature: ReaderSize &operator=(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const TSIOBufferReader r, const size_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '&operator=(const ReaderOffset &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderOffset
    signature: ReaderOffset &operator=(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ~Lock()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void Lock(const TSMutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<TSMutex &>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - const_cast<TSMutex &>
    linkageType: ''
    returnType: void
    signature: void Lock(Lock &&l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '&operator=(const Lock &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock &operator=(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ats::io::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOperation(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '&operator=(const WriteOperation &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WriteOperation
    signature: WriteOperation &operator=(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOSink(const IOSink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '&operator=(const IOSink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOSink
    signature: IOSink &operator=(const IOSink &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:203,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - lock
    linkageType: ''
    returnType: IOSink
    signature: "IOSink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOSinkPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: ats::io::WriteOperation::Create
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: IOSink::IOSink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ats::io::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - ats::io::WriteOperation::Create
    - IOSink::IOSink
    - std::forward<A>
    - IOSinkPointer
    linkageType: ''
    returnType: IOSinkPointer
    signature: IOSinkPointer Create(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - WriteOperationWeakPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IOSink(WriteOperationWeakPointer &&p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ats::io::StringNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StringNode(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:246,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:248,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: ~BufferNode() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~BufferNode() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:254,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void BufferNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferNode(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: '&operator=(const BufferNode &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferNode
    signature: BufferNode &operator=(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void Data(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '&operator=(const Data &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data &operator=(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Sink(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink(const Sink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: '&operator=(const Sink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sink
    signature: Sink &operator=(const Sink &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: root_::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:301,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:302,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:305,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:306,1
    - Dst: dynamic_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: BufferNode::BufferNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: reinterpret_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:316,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts:
    - condition: (data_->root_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (data_->root_)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer != nullptr)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - nodes_::emplace_back
    - BufferNode::BufferNode
    - reinterpret_cast<BufferNode *>
    - std::forward<T>
    - dynamic_cast<BufferNode *>
    - nodes_::back
    - root_::lock
    - nodes_::empty
    - assert
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - consume
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ats::io::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::write
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> write(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const TSIOBufferReader r, const size_t s, const size_t
      o = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&operator=(const ReaderSize &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderSize
    signature: ReaderSize &operator=(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const TSIOBufferReader r, const size_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '&operator=(const ReaderOffset &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderOffset
    signature: ReaderOffset &operator=(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ~Lock()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void Lock(const TSMutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<TSMutex &>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - const_cast<TSMutex &>
    linkageType: ''
    returnType: void
    signature: void Lock(Lock &&l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '&operator=(const Lock &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock &operator=(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ats::io::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOperation(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '&operator=(const WriteOperation &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WriteOperation
    signature: WriteOperation &operator=(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOSink(const IOSink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '&operator=(const IOSink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOSink
    signature: IOSink &operator=(const IOSink &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:203,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - lock
    linkageType: ''
    returnType: IOSink
    signature: "IOSink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOSinkPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: ats::io::WriteOperation::Create
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: IOSink::IOSink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ats::io::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - ats::io::WriteOperation::Create
    - IOSink::IOSink
    - std::forward<A>
    - IOSinkPointer
    linkageType: ''
    returnType: IOSinkPointer
    signature: IOSinkPointer Create(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - WriteOperationWeakPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IOSink(WriteOperationWeakPointer &&p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ats::io::StringNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StringNode(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:246,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:248,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: ~BufferNode() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~BufferNode() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:254,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void BufferNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferNode(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: '&operator=(const BufferNode &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferNode
    signature: BufferNode &operator=(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void Data(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '&operator=(const Data &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data &operator=(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Sink(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink(const Sink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: '&operator=(const Sink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sink
    signature: Sink &operator=(const Sink &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: root_::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:301,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:302,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:305,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:306,1
    - Dst: dynamic_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: BufferNode::BufferNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: reinterpret_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:316,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts:
    - condition: (data_->root_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (data_->root_)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer != nullptr)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - nodes_::emplace_back
    - BufferNode::BufferNode
    - reinterpret_cast<BufferNode *>
    - std::forward<T>
    - dynamic_cast<BufferNode *>
    - nodes_::back
    - root_::lock
    - nodes_::empty
    - assert
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - consume
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ats::io::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::write
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> write(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const TSIOBufferReader r, const size_t s, const size_t
      o = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&operator=(const ReaderSize &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderSize
    signature: ReaderSize &operator=(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const TSIOBufferReader r, const size_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '&operator=(const ReaderOffset &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderOffset
    signature: ReaderOffset &operator=(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ~Lock()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void Lock(const TSMutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<TSMutex &>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - const_cast<TSMutex &>
    linkageType: ''
    returnType: void
    signature: void Lock(Lock &&l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '&operator=(const Lock &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock &operator=(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ats::io::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOperation(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '&operator=(const WriteOperation &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WriteOperation
    signature: WriteOperation &operator=(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOSink(const IOSink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '&operator=(const IOSink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOSink
    signature: IOSink &operator=(const IOSink &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:203,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - lock
    linkageType: ''
    returnType: IOSink
    signature: "IOSink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOSinkPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: ats::io::WriteOperation::Create
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: IOSink::IOSink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ats::io::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - ats::io::WriteOperation::Create
    - IOSink::IOSink
    - std::forward<A>
    - IOSinkPointer
    linkageType: ''
    returnType: IOSinkPointer
    signature: IOSinkPointer Create(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - WriteOperationWeakPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IOSink(WriteOperationWeakPointer &&p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ats::io::StringNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StringNode(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:246,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:248,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: ~BufferNode() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~BufferNode() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:254,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void BufferNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferNode(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: '&operator=(const BufferNode &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferNode
    signature: BufferNode &operator=(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void Data(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '&operator=(const Data &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data &operator=(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Sink(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink(const Sink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: '&operator=(const Sink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sink
    signature: Sink &operator=(const Sink &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: root_::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:301,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:302,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:305,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:306,1
    - Dst: dynamic_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: BufferNode::BufferNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: reinterpret_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:316,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts:
    - condition: (data_->root_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (data_->root_)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer != nullptr)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - nodes_::emplace_back
    - BufferNode::BufferNode
    - reinterpret_cast<BufferNode *>
    - std::forward<T>
    - dynamic_cast<BufferNode *>
    - nodes_::back
    - root_::lock
    - nodes_::empty
    - assert
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:54,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:55,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:57,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (reader != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ~IO()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - consume
    - assert
    linkageType: ''
    returnType: void
    signature: void ~IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void IO()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - TSIOBuffer
    assertStmts:
    - condition: (buffer != nullptr)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ats::io::IO
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IO(const TSIOBuffer &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::read
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ats::io::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::read
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> read(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats::io::IO::write
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ats::io::write
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - max
    - ats::io::IO::write
    linkageType: ''
    returnType: std::unique_ptr<IO>
    signature: std::unique_ptr<IO> write(TSVConn v, TSCont c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const TSIOBufferReader r, const size_t s, const size_t
      o = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: ats::io::ReaderSize
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderSize(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '&operator=(const ReaderSize &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderSize
    signature: ReaderSize &operator=(const ReaderSize &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - o
    argTypes:
    - TSIOBufferReader
    - size_t
    assertStmts:
    - condition: (reader != nullptr)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const TSIOBufferReader r, const size_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ats::io::ReaderOffset
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReaderOffset(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '&operator=(const ReaderOffset &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReaderOffset
    signature: ReaderOffset &operator=(const ReaderOffset &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '*operator new(const std::size_t)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *operator new(const std::size_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: ~Lock()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void ~Lock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSMutexLock
    linkageType: ''
    returnType: void
    signature: void Lock(const TSMutex m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<TSMutex &>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - Lock
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ats::io::Lock
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - const_cast<TSMutex &>
    linkageType: ''
    returnType: void
    signature: void Lock(Lock &&l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '&operator=(const Lock &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lock
    signature: Lock &operator=(const Lock &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ats::io::WriteOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WriteOperation(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '&operator=(const WriteOperation &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WriteOperation
    signature: WriteOperation &operator=(const WriteOperation &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOSink(const IOSink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '&operator=(const IOSink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IOSink
    signature: IOSink &operator=(const IOSink &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:203,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - lock
    linkageType: ''
    returnType: IOSink
    signature: "IOSink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IOSinkPointer
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: ats::io::WriteOperation::Create
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    - Dst: IOSink::IOSink
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ats::io::Create
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - ats::io::WriteOperation::Create
    - IOSink::IOSink
    - std::forward<A>
    - IOSinkPointer
    linkageType: ''
    returnType: IOSinkPointer
    signature: IOSinkPointer Create(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - WriteOperationWeakPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: ats::io::IOSink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IOSink(WriteOperationWeakPointer &&p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~Node()
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ats::io::StringNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StringNode(std::string &&s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:246,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:247,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:248,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: ~BufferNode() override
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - assert
    linkageType: ''
    returnType: void
    signature: void ~BufferNode() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:252,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:254,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reader_ != nullptr)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer_ != nullptr)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - assert
    linkageType: ''
    returnType: void
    signature: void BufferNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ats::io::BufferNode
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferNode(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: '&operator=(const BufferNode &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BufferNode
    signature: BufferNode &operator=(const BufferNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: void
    signature: void Data(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: ats::io::Data
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '&operator=(const Data &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data &operator=(const Data &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<A>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - std::forward<A>
    linkageType: ''
    returnType: void
    signature: void Sink(A &&...a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: ats::io::Sink
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink(const Sink &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: '&operator=(const Sink &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sink
    signature: Sink &operator=(const Sink &)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: root_::lock
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:301,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:302,1
    - Dst: nodes_::empty
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:303,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:305,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:306,1
    - Dst: dynamic_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:310,1
    - Dst: nodes_::emplace_back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: BufferNode::BufferNode
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:313,1
    - Dst: reinterpret_cast<BufferNode *>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: nodes_::back
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:314,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:316,1
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/ts.h:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts:
    - condition: (data_->root_ != nullptr)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (data_->root_)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    - condition: (buffer != nullptr)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/trafficserver/plugins/experimental/inliner/ts.h
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: "&\n    operator<<(T &&t)"
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/ts.h
    functionUses: 0
    functionsReached:
    - nodes_::emplace_back
    - BufferNode::BufferNode
    - reinterpret_cast<BufferNode *>
    - std::forward<T>
    - dynamic_cast<BufferNode *>
    - nodes_::back
    - root_::lock
    - nodes_::empty
    - assert
    linkageType: ''
    returnType: Sink
    signature: "Sink &\n    operator<<(T &&t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 1
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 2
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 3
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 5
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 6
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:43,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:45,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:46,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:47,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:48,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - t
    - s
    argTypes:
    - TSVConn
    - T
    - int64_t
    assertStmts:
    - condition: (vconnection_ != nullptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (continuation != nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ats::io::vconnection::Read::Read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSContDataSet
    - std::forward<T>
    - TSVConnRead
    - TSContCreate
    - assert
    linkageType: ''
    returnType: void
    signature: void Read(TSVConn v, T &&t, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:55,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:56,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:57,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:58,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - Self*
    assertStmts:
    - condition: (s != nullptr)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (s->vconnection_ != nullptr)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ats::io::vconnection::Read::close
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 7
    functionsReached:
    - TSVConnClose
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVConnShutdown
    - assert
    linkageType: ''
    returnType: void
    signature: void close(Self *const s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Self *const>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:66,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:67,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:72,1
    - Dst: Self*::t_::data
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:74,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:75,1
    - Dst: Self*::t_::done
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:78,1
    - Dst: ats::io::vconnection::Read::close
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:79,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:80,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:81,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - TSCont
    - TSEvent
    assertStmts:
    - condition: (self != nullptr)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    - condition: (false)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: ats::io::vconnection::Read::handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSContDestroy
    - ats::io::vconnection::Read::close
    - Self*::t_::done
    - TSContDataSet
    - static_cast<Self *const>
    - TSContDataGet
    - Self*::t_::data
    - assert
    linkageType: ''
    returnType: int
    signature: int handleRead(TSCont c, TSEvent e, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    - Dst: Read<C>::Read<C>
      Src: /src/trafficserver/plugins/experimental/inliner/vconnection.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - c
    - s
    argTypes:
    - TSVConn
    - C
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: ats::io::vconnection::read
    functionSourceFile: /src/trafficserver/plugins/experimental/inliner/vconnection.h
    functionUses: 4
    functionsReached:
    - std::forward<C>
    - Read<C>::Read<C>
    linkageType: ''
    returnType: void
    signature: void read(TSVConn v, C &&c, const int64_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: countof
    functionSourceFile: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned countof(const T (&)[N])
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:51,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:52,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:56,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:57,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:61,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:65,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:70,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:71,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:75,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:76,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:80,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:85,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:90,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:95,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:96,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:100,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:105,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:106,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:110,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:115,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 124
    functionName: HttpHookTracer
    functionSourceFile: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int HttpHookTracer(TSCont /* contp ATS_UNUSED */, TSEvent event, void
      *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:135,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:139,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:143,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:147,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: LifecycleHookTracer
    functionSourceFile: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: int
    signature: int LifecycleHookTracer(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:203,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:204,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:204,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:204,1
    - Dst: countof
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:207,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:208,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:208,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:208,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:211,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 212
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/hook-trace/hook-trace.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSHttpHookAdd
    - TSReleaseAssert
    - TSContCreate
    - countof
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:106,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:108,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:111,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:113,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - name
    - record_type
    - create_mutex
    argTypes:
    - char*
    - TSRecordDataType
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: statAdd
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSMutexLock
    - TSStatFindName
    - Dbg
    - TSMutexUnlock
    linkageType: ''
    returnType: int
    signature: int statAdd(const char *name, TSRecordDataType record_type, TSMutex
      create_mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSfopen
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:125,1
    - Dst: TSfread
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:132,1
    - Dst: TSfclose
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - filename
    - buffer
    - bufferSize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: getFile
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - TSfclose
    - TSfread
    - TSfopen
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t getFile(const char *filename, char *buffer, size_t bufferSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statAdd
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:147,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - value
    - stat_creation_mutex
    argTypes:
    - char*
    - long
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: statSet
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - TSStatIntSet
    - statAdd
    linkageType: ''
    returnType: void
    signature: void statSet(const char *name, long value, TSMutex stat_creation_mutex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:160,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:161,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:162,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:165,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:171,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:173,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:178,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:180,1
    - Dst: getFile
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:183,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:184,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:186,1
    - Dst: atol
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - stat_creation_mutex
    - interface
    - entry
    - subdir
    - subdirstatname
    argTypes:
    - TSMutex
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: setNetStat
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - memset
    - atol
    - TSError
    - getFile
    - statSet
    - Dbg
    - snprintf
    linkageType: ''
    returnType: void
    signature: void setNetStat(TSMutex stat_creation_mutex, const char *interface,
      const char *entry, const char *subdir, bool subdirstatname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:196,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:199,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:203,1
    - Dst: opendir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:204,1
    - Dst: readdir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:206,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:207,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:207,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:207,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:207,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:210,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:213,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:213,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:214,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:215,1
    - Dst: closedir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - stat_creation_mutex
    - interface
    argTypes:
    - TSMutex
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: setBondingStat
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSError
    - closedir
    - setNetStat
    - snprintf
    - strlen
    - opendir
    - strncmp
    - readdir
    linkageType: ''
    returnType: void
    signature: void setBondingStat(TSMutex stat_creation_mutex, const char *interface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:226,1
    - Dst: readdir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:232,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:233,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:233,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:237,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:238,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:239,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:240,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:241,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:242,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:243,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:244,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:245,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:246,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:247,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:248,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:249,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:250,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:251,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:252,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:253,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:254,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:255,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:256,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:257,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:258,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:259,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:260,1
    - Dst: setNetStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:261,1
    - Dst: setBondingStat
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:263,1
    - Dst: closedir
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - stat_creation_mutex
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: netStatsInfo
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - closedir
    - setBondingStat
    - setNetStat
    - opendir
    - readdir
    linkageType: ''
    returnType: int
    signature: int netStatsInfo(TSMutex stat_creation_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysinfo
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:277,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:279,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:280,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:280,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:282,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:283,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:284,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:285,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:286,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:287,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:288,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:289,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:290,1
    - Dst: statSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:291,1
    - Dst: netStatsInfo
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - stat_creation_mutex
    argTypes:
    - TSMutex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 7
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: getStats
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 1
    functionsReached:
    - netStatsInfo
    - statSet
    - sysinfo
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - failover_now
    linkageType: ''
    returnType: void
    signature: void getStats(TSMutex stat_creation_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:303,1
    - Dst: TSContMutexGet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:305,1
    - Dst: getStats
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:306,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:308,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 8
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: systemStatsContCB
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContMutexGet
    - getStats
    - TSContScheduleOnPool
    linkageType: ''
    returnType: int
    signature: int systemStatsContCB(TSCont cont, TSEvent /* event ATS_UNUSED */,
      void * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:324,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:325,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:328,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:331,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:331,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:332,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:337,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 340
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/system_stats/system_stats.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSContScheduleOnPool
    - TSContDataSet
    - Dbg
    - TSContCreate
    - TSMutexCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* arg ATS_UNUSED */, const char ** /* argv ATS_UNUSED
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: TxnRateLimiter::TxnRateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void TxnRateLimiter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h:33,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h:35,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: ~TxnRateLimiter() override
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void ~TxnRateLimiter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: "&\n  header() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  header() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TxnRateLimiter::error
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TxnRateLimiter::retry
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned retry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: TxnRateLimiter::conntrack
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool conntrack() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SniRateLimiter::parseYaml
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:33,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:36,1
    - Dst: findIpRep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:38,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:39,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:39,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:39,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:46,1
    - Dst: findList
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:48,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:49,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:49,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:49,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    - Dst: limit
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    - Dst: max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    - Dst: max_age
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: SniRateLimiter::parseYaml
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc
    functionUses: 1
    functionsReached:
    - auto::c_str
    - max_age
    - TSError
    - limit
    - findList
    - static_cast<long>
    - Dbg
    - name
    - SniRateLimiter::parseYaml
    - max_queue
    - findIpRep
    - as
    linkageType: ''
    returnType: bool
    signature: bool SniRateLimiter::parseYaml(const YAML::Node &node)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:66,1
    - Dst: TSVConnSslSniGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:71,1
    - Dst: SniSelector::instance
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:73,1
    - Dst: SniSelector*::findLimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:74,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:77,1
    - Dst: SniRateLimiter*::exclude
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:80,1
    - Dst: SniRateLimiter*::exclude
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:80,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:80,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:81,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:81,1
    - Dst: SniRateLimiter*::exclude
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:81,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:82,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:83,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:89,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:89,1
    - Dst: SniRateLimiter*::pressure
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:90,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:92,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:92,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:98,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:101,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:103,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:105,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:109,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:111,1
    - Dst: SniRateLimiter*::iprep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:112,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:117,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:118,1
    - Dst: SniSelector*::release
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:119,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:120,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:126,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:126,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:126,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:126,1
    - Dst: SniRateLimiter*::reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:129,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:134,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:135,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:139,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:139,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:140,1
    - Dst: SniRateLimiter*::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:145,1
    - Dst: SniRateLimiter*::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:145,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:147,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:148,1
    - Dst: SniRateLimiter*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:149,1
    - Dst: SniSelector*::release
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:150,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:151,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:155,1
    - Dst: reinterpret_cast<void *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:155,1
    - Dst: SniRateLimiter*::push
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:156,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:157,1
    - Dst: SniRateLimiter*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:158,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:164,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:165,1
    - Dst: static_cast<SniRateLimiter *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:170,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:170,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:173,1
    - Dst: auto*::free
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:174,1
    - Dst: auto*::selector
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:175,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:182,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:182,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc:183,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 188
    functionName: sni_limit_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - TSUserArgSet
    - std::string::data
    - reinterpret_cast<void *>
    - auto*::selector
    - static_cast<SniRateLimiter *>
    - SniRateLimiter*::reserve
    - SniSelector*::release
    - SniSelector*::findLimiter
    - TSVConnReenableEx
    - std::string::length
    - TSNetVConnRemoteAddrGet
    - std::string::c_str
    - static_cast<int>
    - TSError
    - SniRateLimiter*::incrementMetric
    - Dbg
    - SniRateLimiter*::iprep
    - static_cast<uint32_t>
    - SniRateLimiter*::full
    - TSUserArgGet
    - TSVConnSslSniGet
    - SniRateLimiter*::pressure
    - 'on'
    - SniSelector::instance
    - static_cast<TSVConn>
    - SniRateLimiter*::exclude
    - SniRateLimiter*::push
    - SniRateLimiter*::max_queue
    - auto*::free
    - swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    - TSVConnReenable
    linkageType: ''
    returnType: int
    signature: int sni_limit_cont(TSCont contp, TSEvent event, void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:46,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:47,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:52,1
    - Dst: SniSelector::startup
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:58,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc
    functionUses: 0
    functionsReached:
    - TSUserArgIndexReserve
    - TSError
    - SniSelector::startup
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:70,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TxnRateLimiter *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc
    functionUses: 0
    functionsReached:
    - static_cast<TxnRateLimiter *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TxnRateLimiter::TxnRateLimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:84,1
    - Dst: auto*::setName
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:87,1
    - Dst: getDescriptionFromUrl
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:87,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:94,1
    - Dst: auto*::initialize
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:95,1
    - Dst: const_cast<const char **>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:95,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:96,1
    - Dst: auto*::rate
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:98,1
    - Dst: auto*::addBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:100,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:103,1
    - Dst: auto*::limit
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: auto*::rate
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: auto*::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: auto*::max_age
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:104,1
    - Dst: auto*::conntrack
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc
    functionUses: 0
    functionsReached:
    - const_cast<const char **>
    - auto*::max_age
    - auto*::addBucket
    - TxnRateLimiter::TxnRateLimiter
    - static_cast<void *>
    - static_cast<long>
    - auto*::conntrack
    - auto*::initialize
    - Dbg
    - TSReleaseAssert
    - auto*::setName
    - getDescriptionFromUrl
    - auto*::limit
    - auto*::max_queue
    - auto*::error
    - auto*::rate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TxnRateLimiter *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:116,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:119,1
    - Dst: auto*::conntrack
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:121,1
    - Dst: TSHttpSsnTransactionCount
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:122,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:125,1
    - Dst: auto*::reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:130,1
    - Dst: auto*::conntrack
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:137,1
    - Dst: auto*::setupSsnCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:138,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:139,1
    - Dst: auto*::setupTxnCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:141,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:142,1
    - Dst: auto*::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:148,1
    - Dst: auto*::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:148,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:150,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:150,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:150,1
    - Dst: auto*::setupTxnCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:151,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:152,1
    - Dst: auto*::setupTxnCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:154,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 162
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/rate_limit.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnTransactionCount
    - auto*::setupSsnCont
    - static_cast<TxnRateLimiter *>
    - static_cast<TSHttpStatus>
    - auto*::conntrack
    - TSHttpTxnSsnGet
    - Dbg
    - auto*::full
    - auto*::setupTxnCont
    - auto*::max_queue
    - auto*::error
    - auto*::reserve
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket(uint32_t max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: IpReputation::SieveBucket::full
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool full() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: IpReputation::SieveBucket::max_size
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:77,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source_lru
    - item
    argTypes:
    - SieveBucket*
    - SieveBucket::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: IpReputation::SieveBucket::moveTop
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - begin
    - splice
    linkageType: ''
    returnType: void
    signature: void moveTop(SieveBucket *source_lru, SieveBucket::iterator &item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void SieveLru(std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveLru()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveLru(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~SieveLru()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SieveLru()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::increment
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:117,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: IpReputation::SieveLru::increment
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 1
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::increment
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> increment(const sockaddr *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::move_bucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:124,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: IpReputation::SieveLru::block
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::move_bucket
    - IpReputation::SieveLru::blockBucket
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t block(KeyClass key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::move_bucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: IpReputation::SieveLru::block
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::move_bucket
    - IpReputation::SieveLru::blockBucket
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t block(const sockaddr *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::lookup
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:139,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: IpReputation::SieveLru::lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 1
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::lookup
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> lookup(const sockaddr *sock) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: IpReputation::SieveLru::entryBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t entryBucket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: IpReputation::SieveLru::lastBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lastBucket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: IpReputation::SieveLru::blockBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t blockBucket() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: IpReputation::SieveLru::bucketSize
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::size
    linkageType: ''
    returnType: size_t
    signature: size_t bucketSize(uint32_t bucket) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: IpReputation::SieveLru::initialized
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: "&\n  name() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: IpReputation::SieveLru::numBuckets
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t numBuckets() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: IpReputation::SieveLru::size
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: IpReputation::SieveLru::percentage
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t percentage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: IpReputation::SieveLru::permablock_count
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t permablock_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: IpReputation::SieveLru::permablock_threshold
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t permablock_threshold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: IpReputation::SieveLru::maxAge
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds maxAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: IpReputation::SieveLru::permaMaxAge
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds permaMaxAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket(uint32_t max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: IpReputation::SieveBucket::SieveBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveBucket(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: IpReputation::SieveBucket::full
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool full() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: IpReputation::SieveBucket::max_size
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:77,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source_lru
    - item
    argTypes:
    - SieveBucket*
    - SieveBucket::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: IpReputation::SieveBucket::moveTop
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - begin
    - splice
    linkageType: ''
    returnType: void
    signature: void moveTop(SieveBucket *source_lru, SieveBucket::iterator &item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void SieveLru(std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveLru()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: IpReputation::SieveLru::SieveLru
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SieveLru(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~SieveLru()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SieveLru()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::increment
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:117,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: IpReputation::SieveLru::increment
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::increment
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> increment(const sockaddr *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::move_bucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:124,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: IpReputation::SieveLru::block
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::move_bucket
    - IpReputation::SieveLru::blockBucket
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t block(KeyClass key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::move_bucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: IpReputation::SieveLru::block
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::move_bucket
    - IpReputation::SieveLru::blockBucket
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t block(const sockaddr *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::lookup
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:139,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: IpReputation::SieveLru::lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::hasher
    - IpReputation::SieveLru::lookup
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> lookup(const sockaddr *sock) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: IpReputation::SieveLru::entryBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t entryBucket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: IpReputation::SieveLru::lastBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lastBucket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: IpReputation::SieveLru::blockBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t blockBucket() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: IpReputation::SieveLru::bucketSize
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached:
    - IpReputation::SieveLru::size
    linkageType: ''
    returnType: size_t
    signature: size_t bucketSize(uint32_t bucket) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: IpReputation::SieveLru::initialized
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: "&\n  name() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: IpReputation::SieveLru::numBuckets
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t numBuckets() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: IpReputation::SieveLru::size
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: IpReputation::SieveLru::percentage
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t percentage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: IpReputation::SieveLru::permablock_count
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t permablock_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: IpReputation::SieveLru::permablock_threshold
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t permablock_threshold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: IpReputation::SieveLru::maxAge
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds maxAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: IpReputation::SieveLru::permaMaxAge
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds permaMaxAge() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:61,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:63,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:64,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:65,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:66,1
    - Dst: std::vector::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:67,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: splitArg
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc
    functionUses: 0
    functionsReached:
    - std::stoi
    - split
    - std::vector::size
    linkageType: ''
    returnType: std::tuple<int32_t, int32_t, int32_t>
    signature: std::tuple<int32_t, int32_t, int32_t> splitArg(std::string str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:103,1
    - Dst: exit
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:116,1
    - Dst: std::tie
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:119,1
    - Dst: splitArg
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:119,1
    - Dst: std::tie
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:122,1
    - Dst: splitArg
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:122,1
    - Dst: std::tie
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:125,1
    - Dst: splitArg
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:125,1
    - Dst: std::tie
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:128,1
    - Dst: splitArg
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:128,1
    - Dst: fprintf
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:131,1
    - Dst: exit
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 138
    functionName: parseArgs
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - getopt_long
    - splitArg
    - exit
    - std::tie
    linkageType: ''
    returnType: CmdConfigs
    signature: CmdConfigs parseArgs(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:162,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:162,1
    - Dst: IpMap::find
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:163,1
    - Dst: IpMap::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:171,1
    - Dst: IpList::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:176,1
    - Dst: IpList::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:179,1
    - Dst: IpMap::find
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:179,1
    - Dst: std::setprecision
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:188,1
    - Dst: IpList::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:189,1
    - Dst: IpList::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:190,1
    - Dst: IpList::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:191,1
    - Dst: IpMap::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:192,1
    - Dst: IpMap::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:193,1
    - Dst: IpMap::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - fname
    - all_ips
    - ips
    argTypes:
    - std::string
    - IpMap
    - IpList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 198
    functionName: loadFile
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc
    functionUses: 1
    functionsReached:
    - std::string::find
    - IpReputation::SieveLru::hasher
    - IpMap::end
    - IpMap::size
    - std::setprecision
    - IpList::size
    - IpMap::find
    - IpList::push_back
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> loadFile(const std::string &fname, IpMap
      &all_ips, IpList &ips)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parseArgs
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:204,1
    - Dst: loadFile
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:212,1
    - Dst: IpReputation::SieveLru::SieveLru
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:224,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:225,1
    - Dst: auto::increment
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:238,1
    - Dst: auto::lastBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:241,1
    - Dst: auto::block
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:242,1
    - Dst: auto::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:245,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:266,1
    - Dst: std::chrono::duration<double>::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:278,1
    - Dst: auto::bucketSize
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:289,1
    - Dst: auto::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:289,1
    - Dst: auto::memoryUsed
      Src: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/iprep_simu.cc
    functionUses: 6
    functionsReached:
    - IpReputation::SieveLru::SieveLru
    - auto::blockBucket
    - parseArgs
    - std::chrono::duration<double>::count
    - loadFile
    - auto::increment
    - auto::bucketSize
    - auto::memoryUsed
    - auto::block
    - auto::lastBucket
    - failover_now
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TxnRateLimiter *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:31,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:31,1
    - Dst: auto*::free
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:35,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:36,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:37,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:37,1
    - Dst: auto*::free
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:42,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:43,1
    - Dst: TSHttpSsnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:44,1
    - Dst: static_cast<TSHttpSsn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:44,1
    - Dst: auto*::push
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:49,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:49,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:50,1
    - Dst: retryAfter
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:55,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:55,1
    - Dst: auto*::retry
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:55,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:56,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:57,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:57,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:63,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:63,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: txn_limit_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - retryAfter
    - auto*::retry
    - static_cast<TxnRateLimiter *>
    - TSError
    - TSContDestroy
    - auto*::incrementMetric
    - Dbg
    - auto*::free
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - static_cast<TSHttpSsn>
    - auto*::push
    - TSHttpSsnReenable
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int txn_limit_cont(TSCont cont, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TxnRateLimiter *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:73,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:73,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:74,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:77,1
    - Dst: auto*::reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:77,1
    - Dst: auto*::pop
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:78,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:79,1
    - Dst: delayHeader
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:81,1
    - Dst: auto*::header
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:81,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:82,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:82,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:82,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:84,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:85,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:86,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:90,1
    - Dst: auto*::max_age
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:90,1
    - Dst: QUICConnectionId::is_zero
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:90,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:91,1
    - Dst: auto*::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:93,1
    - Dst: auto*::hasOldEntity
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:93,1
    - Dst: auto*::pop
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:95,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:96,1
    - Dst: delayHeader
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:98,1
    - Dst: auto*::header
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:98,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:99,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:99,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:99,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:100,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:100,1
    - Dst: auto*::error
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:100,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:101,1
    - Dst: auto*::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:102,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: txn_queue_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSHttpStatus>
    - static_cast<long>
    - auto*::header
    - TSContDataGet
    - auto*::max_age
    - TSHttpTxnHookAdd
    - Dbg
    - delayHeader
    - QUICConnectionId::is_zero
    - TSHttpTxnReenable
    - auto*::reserve
    - TSHttpTxnStatusSet
    - failover_now
    - auto*::pop
    - static_cast<TxnRateLimiter *>
    - auto*::incrementMetric
    - auto*::size
    - std::chrono::milliseconds::count
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - auto*::error
    - auto*::hasOldEntity
    linkageType: ''
    returnType: int
    signature: int txn_queue_cont(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:117,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:118,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:119,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:120,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:121,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:122,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:123,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:124,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:125,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:126,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:135,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:135,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:139,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:142,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:145,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:148,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:151,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:151,1
    - Dst: strtol
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:166,1
    - Dst: TxnRateLimiter::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:174,1
    - Dst: TxnRateLimiter::has_limit
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:174,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:175,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:175,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:176,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:177,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:178,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:178,1
    - Dst: TxnRateLimiter::initializeMetrics
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 184
    functionName: TxnRateLimiter::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc
    functionUses: 0
    functionsReached:
    - count
    - getopt_long
    - const_cast<char *>
    - TSContDataSet
    - proxy_wasm::exports::set_tick_period_milliseconds
    - const_cast<char *const *>
    - TxnRateLimiter::max_queue
    - TSReleaseAssert
    - TSContCreate
    - TxnRateLimiter::initializeMetrics
    - TxnRateLimiter::has_limit
    - TSContScheduleEveryOnPool
    - TSMutexCreate
    - strtol
    linkageType: ''
    returnType: bool
    signature: bool TxnRateLimiter::initialize(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:192,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:193,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:195,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txnp
    - hook
    argTypes:
    - TSHttpTxn
    - TSHttpHookID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: TxnRateLimiter::setupTxnCont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSReleaseAssert
    - TSContCreate
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void TxnRateLimiter::setupTxnCont(TSHttpTxn txnp, TSHttpHookID hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:203,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:204,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:206,1
    - Dst: TSHttpSsnHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssnp
    argTypes:
    - TSHttpSsn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: TxnRateLimiter::setupSsnCont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/txn_limiter.cc
    functionUses: 0
    functionsReached:
    - TSHttpSsnHookAdd
    - TSReleaseAssert
    - TSContCreate
    - TSContDataSet
    linkageType: ''
    returnType: void
    signature: void TxnRateLimiter::setupSsnCont(TSHttpSsn ssnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:41,1
    - Dst: refill
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:47,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:51,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:51,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:53,1
    - Dst: std::this_thread::sleep_for
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: BucketManager::refill_thread
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc
    functionUses: 0
    functionsReached:
    - refill
    - proxy_wasm::exports::set_tick_period_milliseconds
    - std::this_thread::sleep_for
    - failover_now
    linkageType: ''
    returnType: void
    signature: void BucketManager::refill_thread()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:65,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:66,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:68,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:69,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:70,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:71,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:72,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:73,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:77,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:77,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:78,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:78,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:80,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:80,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:83,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:84,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:88,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:90,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - metrics
    - type
    - tag
    - name
    - prefix
    argTypes:
    - std::array<int, RATE_LIMITER_METRIC_MAX>
    - uint
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 95
    functionName: metric_helper
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSfree
    - TSError
    - std::string::data
    - std::string::empty
    - std::string::append
    - static_cast<char *>
    - TSStatFindName
    - Dbg
    - std::string::push_back
    - snprintf
    - TSmalloc
    - strlen
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void metric_helper(std::array<int, RATE_LIMITER_METRIC_MAX> &metrics,
      uint type, const std::string &tag, const std::string &name,\n              const
      std::string &prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: SniRateLimiter::SniRateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SniRateLimiter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: SniRateLimiter::SniRateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SniRateLimiter(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setName
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sni
    - sel
    argTypes:
    - std::string
    - SniSelector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: SniRateLimiter::SniRateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached:
    - setName
    linkageType: ''
    returnType: void
    signature: void SniRateLimiter(std::string &sni, SniSelector *sel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: active
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:54,1
    - Dst: static_cast<float>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:54,1
    - Dst: limit
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:54,1
    - Dst: percentage
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:54,1
    - Dst: percentage
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:54,1
    - Dst: numBuckets
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:55,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:57,1
    - Dst: numBuckets
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:57,1
    - Dst: numBuckets
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: SniRateLimiter::pressure
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached:
    - percentage
    - numBuckets
    - limit
    - static_cast<int32_t>
    - active
    - static_cast<float>
    linkageType: ''
    returnType: int32_t
    signature: int32_t pressure() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iprep
    argTypes:
    - IpReputation::SieveLru*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: SniRateLimiter::addIPReputation
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addIPReputation(IpReputation::SieveLru *iprep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: SniRateLimiter::iprep
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IpReputation::SieveLru
    signature: "IpReputation::SieveLru *\n  iprep() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: SniRateLimiter::exclude
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: List::IP
    signature: "List::IP *\n  exclude() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: SniRateLimiter::selector
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SniSelector
    signature: "SniSelector *\n  selector() const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:37,1
    - Dst: reinterpret_cast<const sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:42,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:44,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: IpReputation::SieveLru::hasher
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const sockaddr_in6 *>
    - reinterpret_cast<uint64_t const *>
    - reinterpret_cast<const sockaddr_in *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SieveLru::hasher(const sockaddr *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:61,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:61,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:63,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:63,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:69,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:71,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ip
    - family
    argTypes:
    - std::string
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: IpReputation::SieveLru::hasher
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 8
    functionsReached:
    - IpReputation::SieveLru::hasher
    - reinterpret_cast<const sockaddr *>
    - inet_pton
    - std::string::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SieveLru::hasher(const std::string &ip, u_short family)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:85,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:89,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:93,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:97,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:97,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:103,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:105,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:109,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:113,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:113,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:116,1
    - Dst: pow
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:121,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:123,1
    - Dst: pow
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:123,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:124,1
    - Dst: IpReputation::SieveLru::lastBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:127,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:127,1
    - Dst: std::make_unique<SieveBucket>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:128,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:131,1
    - Dst: std::make_unique<SieveBucket>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:133,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:133,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:134,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:135,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:135,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:136,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 141
    functionName: IpReputation::SieveLru::parseYaml
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - ink_time_wall_seconds
    - count
    - IpReputation::SieveLru::entryBucket
    - TSError
    - IpReputation::SieveLru::blockBucket
    - static_cast<long>
    - Dbg
    - pow
    - c_str
    - reserve
    - YAML::Node::IsMap
    - IpReputation::SieveLru::lastBucket
    - std::make_unique<SieveBucket>
    - as
    linkageType: ''
    returnType: bool
    signature: bool SieveLru::parseYaml(const YAML::Node &node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:147,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:148,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:150,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:152,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:154,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:156,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:157,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:157,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:160,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:160,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:161,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:162,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:162,1
    - Dst: auto::push_front
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:168,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:169,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:171,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:176,1
    - Dst: QUICConnectionId::is_zero
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:183,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:184,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:184,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:185,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:188,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:189,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:189,1
    - Dst: IpReputation::SieveLru::lastBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:193,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:196,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:197,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:197,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:200,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:200,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:205,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:205,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:206,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:206,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:213,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:213,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 220
    functionName: IpReputation::SieveLru::increment
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::blockBucket
    - TSAssert
    - auto::push_front
    - auto::begin
    - std::chrono::duration_cast<std::chrono::seconds>
    - auto::full
    - auto::end
    - erase
    - find
    - end
    - TSMutexUnlock
    - IpReputation::SieveLru::lastBucket
    - prev
    - QUICConnectionId::is_zero
    - failover_now
    - auto::get
    - IpReputation::SieveLru::entryBucket
    - TSMutexLock
    - auto::moveTop
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> SieveLru::increment(KeyClass key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:226,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:227,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:229,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:231,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:232,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:234,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: IpReputation::SieveLru::lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::entryBucket
    - TSMutexLock
    - find
    - TSAssert
    - end
    - TSMutexUnlock
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> SieveLru::lookup(KeyClass key) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:250,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:251,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:253,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:255,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:259,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:260,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:260,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:263,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:263,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:264,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:265,1
    - Dst: auto::push_front
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:268,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:268,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:270,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:280,1
    - Dst: auto::max_size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:280,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:281,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:281,1
    - Dst: auto::erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:284,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:285,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:287,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:287,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:289,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - key
    - to_bucket
    argTypes:
    - KeyClass
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 295
    functionName: IpReputation::SieveLru::move_bucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 4
    functionsReached:
    - auto::full
    - auto::get
    - auto::end
    - erase
    - TSMutexLock
    - find
    - auto::max_size
    - auto::size
    - TSAssert
    - auto::begin
    - auto::moveTop
    - end
    - auto::erase
    - auto::push_front
    - TSMutexUnlock
    - prev
    - failover_now
    linkageType: ''
    returnType: int32_t
    signature: int32_t SieveLru::move_bucket(KeyClass key, uint32_t to_bucket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:300,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:301,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:307,1
    - Dst: auto::max_size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:307,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: IpReputation::SieveLru::dump
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - auto::max_size
    - auto::size
    - TSAssert
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void SieveLru::dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: IpReputation::SieveBucket::memorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t SieveBucket::memorySize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:339,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:340,1
    - Dst: memorySize
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:345,1
    - Dst: IpReputation::SieveLru::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:348,1
    - Dst: bucket_count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:349,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: IpReputation::SieveLru::memoryUsed
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - TSAssert
    - bucket_count
    - IpReputation::SieveLru::size
    - TSMutexUnlock
    - memorySize
    linkageType: ''
    returnType: size_t
    signature: size_t SieveLru::memoryUsed() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:37,1
    - Dst: reinterpret_cast<const sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:42,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:44,1
    - Dst: reinterpret_cast<uint64_t const *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: IpReputation::SieveLru::hasher
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const sockaddr_in6 *>
    - reinterpret_cast<uint64_t const *>
    - reinterpret_cast<const sockaddr_in *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SieveLru::hasher(const sockaddr *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:61,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:61,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:63,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:63,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:69,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:69,1
    - Dst: IpReputation::SieveLru::hasher
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:71,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ip
    - family
    argTypes:
    - std::string
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: IpReputation::SieveLru::hasher
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 9
    functionsReached:
    - IpReputation::SieveLru::hasher
    - reinterpret_cast<const sockaddr *>
    - inet_pton
    - std::string::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SieveLru::hasher(const std::string &ip, u_short family)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:85,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:89,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:93,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:97,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:97,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:103,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:105,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:109,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:113,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:113,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:116,1
    - Dst: pow
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:121,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:123,1
    - Dst: pow
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:123,1
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:124,1
    - Dst: IpReputation::SieveLru::lastBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:127,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:127,1
    - Dst: std::make_unique<SieveBucket>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:128,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:131,1
    - Dst: std::make_unique<SieveBucket>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:131,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:133,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:133,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:134,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:134,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:135,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:135,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:136,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 141
    functionName: IpReputation::SieveLru::parseYaml
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - ink_time_wall_seconds
    - count
    - IpReputation::SieveLru::entryBucket
    - TSError
    - IpReputation::SieveLru::blockBucket
    - static_cast<long>
    - Dbg
    - pow
    - c_str
    - reserve
    - YAML::Node::IsMap
    - IpReputation::SieveLru::lastBucket
    - std::make_unique<SieveBucket>
    - as
    linkageType: ''
    returnType: bool
    signature: bool SieveLru::parseYaml(const YAML::Node &node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:147,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:148,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:150,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:152,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:154,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:156,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:157,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:157,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:160,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:160,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:161,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:162,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:162,1
    - Dst: auto::push_front
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:166,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:168,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:169,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:171,1
    - Dst: IpReputation::SieveLru::blockBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:176,1
    - Dst: QUICConnectionId::is_zero
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:183,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:184,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:184,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:185,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:188,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:189,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:189,1
    - Dst: IpReputation::SieveLru::lastBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:193,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:196,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:197,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:197,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:200,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:200,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:205,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:205,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:206,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:206,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:213,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:213,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 220
    functionName: IpReputation::SieveLru::increment
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::blockBucket
    - TSAssert
    - auto::push_front
    - auto::begin
    - std::chrono::duration_cast<std::chrono::seconds>
    - auto::full
    - auto::end
    - erase
    - find
    - end
    - TSMutexUnlock
    - IpReputation::SieveLru::lastBucket
    - prev
    - QUICConnectionId::is_zero
    - failover_now
    - auto::get
    - IpReputation::SieveLru::entryBucket
    - TSMutexLock
    - auto::moveTop
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> SieveLru::increment(KeyClass key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:226,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:227,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:229,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:231,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:232,1
    - Dst: IpReputation::SieveLru::entryBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:234,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - KeyClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: IpReputation::SieveLru::lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 2
    functionsReached:
    - IpReputation::SieveLru::entryBucket
    - TSMutexLock
    - find
    - TSAssert
    - end
    - TSMutexUnlock
    linkageType: ''
    returnType: std::tuple<uint32_t, uint32_t>
    signature: std::tuple<uint32_t, uint32_t> SieveLru::lookup(KeyClass key) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:250,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:251,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:253,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:255,1
    - Dst: auto::full
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:259,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:260,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:260,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:263,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:263,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:264,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:265,1
    - Dst: auto::push_front
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:268,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:268,1
    - Dst: auto::begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:270,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:280,1
    - Dst: auto::max_size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:280,1
    - Dst: prev
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:281,1
    - Dst: auto::end
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:281,1
    - Dst: auto::erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:284,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:285,1
    - Dst: auto::moveTop
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:287,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:287,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:289,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - key
    - to_bucket
    argTypes:
    - KeyClass
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 295
    functionName: IpReputation::SieveLru::move_bucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 4
    functionsReached:
    - auto::full
    - auto::get
    - auto::end
    - erase
    - TSMutexLock
    - find
    - auto::max_size
    - auto::size
    - TSAssert
    - auto::begin
    - auto::moveTop
    - end
    - auto::erase
    - auto::push_front
    - TSMutexUnlock
    - prev
    - failover_now
    linkageType: ''
    returnType: int32_t
    signature: int32_t SieveLru::move_bucket(KeyClass key, uint32_t to_bucket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:300,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:301,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:307,1
    - Dst: auto::max_size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:307,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: IpReputation::SieveLru::dump
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - auto::max_size
    - auto::size
    - TSAssert
    - TSMutexUnlock
    linkageType: ''
    returnType: void
    signature: void SieveLru::dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: IpReputation::SieveBucket::memorySize
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t SieveBucket::memorySize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:339,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:340,1
    - Dst: memorySize
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:345,1
    - Dst: IpReputation::SieveLru::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:348,1
    - Dst: bucket_count
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:349,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: IpReputation::SieveLru::memoryUsed
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/ip_reputation.cc
    functionUses: 0
    functionsReached:
    - TSMutexLock
    - TSAssert
    - bucket_count
    - IpReputation::SieveLru::size
    - TSMutexUnlock
    - memorySize
    linkageType: ''
    returnType: size_t
    signature: size_t SieveLru::memoryUsed() const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::Node
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:31,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:34,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:36,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:36,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:39,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:39,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:48,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:52,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:53,1
    - Dst: SniSelector::findList
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:55,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:56,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:56,1
    - Dst: std::make_unique<List::IP>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:60,1
    - Dst: auto::parseYaml
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:62,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:63,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:63,1
    - Dst: SniSelector::addList
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:64,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:64,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:66,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:70,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:79,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:83,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:84,1
    - Dst: SniSelector::findIpRep
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:86,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:87,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:87,1
    - Dst: std::make_unique<IpReputation::SieveLru>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:91,1
    - Dst: auto::parseYaml
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:93,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:94,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:94,1
    - Dst: SniSelector::addIPReputation
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:95,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:95,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:97,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:101,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:110,1
    - Dst: YAML::Node::IsMap
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:114,1
    - Dst: IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:114,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:115,1
    - Dst: SniSelector::findLimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:117,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:118,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:118,1
    - Dst: std::make_unique<SniRateLimiter>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:122,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:123,1
    - Dst: auto::parseYaml
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:125,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:127,1
    - Dst: SniSelector::addLimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:129,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:129,1
    - Dst: auto::rate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:133,1
    - Dst: auto::addBucket
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:134,1
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:141,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:143,1
    - Dst: SniSelector::findLimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:145,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:146,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:146,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:149,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:149,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:149,1
    - Dst: SniSelector::addAlias
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:150,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:153,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:158,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:162,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:168,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:168,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 1
    argNames:
    - yaml_file
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 171
    functionName: SniSelector::yamlParser
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc
    functionUses: 0
    functionsReached:
    - SniSelector::addAlias
    - SniSelector::addLimiter
    - YAML::LoadFile
    - IsSequence
    - YAML::Node::IsMap
    - auto::addBucket
    - as
    - auto::c_str
    - YAML::Node::Node
    - what
    - SniSelector::findIpRep
    - auto::parseYaml
    - std::move
    - auto::rate
    - std::string::c_str
    - SniSelector::findLimiter
    - TSError
    - Dbg
    - std::make_unique<List::IP>
    - SniSelector::findList
    - auto::get
    - SniSelector::addIPReputation
    - YAML::Node::IsSequence
    - std::make_unique<IpReputation::SieveLru>
    - SniSelector::addList
    - std::make_unique<SniRateLimiter>
    linkageType: ''
    returnType: bool
    signature: bool SniSelector::yamlParser(const std::string &yaml_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SniSelector::instance
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:179,1
    - Dst: static_cast<SniSelector *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:180,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:180,1
    - Dst: SniSelector::SniSelector
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:181,1
    - Dst: auto::release
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:185,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:186,1
    - Dst: auto::yamlParser
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:189,1
    - Dst: auto::yamlFile
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:189,1
    - Dst: auto::acquire
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:190,1
    - Dst: auto::setupQueueCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:191,1
    - Dst: SniSelector::swap
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:192,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:194,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:195,1
    - Dst: auto::yamlFile
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:195,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:198,1
    - Dst: auto::yamlFile
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:198,1
    - Dst: auto::release
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: sni_config_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc
    functionUses: 0
    functionsReached:
    - auto::release
    - SniSelector::swap
    - TSError
    - SniSelector::instance
    - TSContDataSet
    - Dbg
    - auto::yamlFile
    - auto::yamlParser
    - TSContDataGet
    - auto::acquire
    - auto::setupQueueCont
    - static_cast<SniSelector *>
    - SniSelector::SniSelector
    linkageType: ''
    returnType: int
    signature: int sni_config_cont(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SniSelector *>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:212,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:212,1
    - Dst: auto*::limiters
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:214,1
    - Dst: isOwnedlimiter
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:215,1
    - Dst: limiterPtr
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:216,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:217,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:221,1
    - Dst: auto::reserve
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:221,1
    - Dst: auto::pop
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:222,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:226,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:226,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:226,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:226,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:227,1
    - Dst: auto::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:228,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:232,1
    - Dst: auto::max_age
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:232,1
    - Dst: QUICConnectionId::is_zero
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:232,1
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:233,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:235,1
    - Dst: auto::hasOldEntity
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:235,1
    - Dst: auto::pop
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:237,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:238,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:241,1
    - Dst: static_cast<long>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:241,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:241,1
    - Dst: TSVConnReenableEx
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:242,1
    - Dst: auto::incrementMetric
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 250
    functionName: sni_queue_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc
    functionUses: 0
    functionsReached:
    - limiterPtr
    - static_cast<long>
    - TSContDataGet
    - auto::pop
    - auto::size
    - auto*::limiters
    - auto::reserve
    - TSVConnReenableEx
    - data
    - auto::hasOldEntity
    - isOwnedlimiter
    - Dbg
    - static_cast<SniSelector *>
    - QUICConnectionId::is_zero
    - failover_now
    - auto::incrementMetric
    - TSVConnReenable
    - std::chrono::milliseconds::count
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - auto::max_age
    linkageType: ''
    returnType: int
    signature: int sni_queue_cont(TSCont cont, TSEvent /* event ATS_UNUSED */, void
      * /* edata ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:259,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:259,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:260,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:261,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:262,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: SniSelector::setupQueueCont
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc
    functionUses: 0
    functionsReached:
    - count
    - TSContDataSet
    - TSReleaseAssert
    - TSContCreate
    - TSContScheduleEveryOnPool
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void SniSelector::setupQueueCont()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:274,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:275,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:275,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:277,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:278,1
    - Dst: store
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:280,1
    - Dst: SniSelector::SniSelector
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:280,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:281,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:282,1
    - Dst: SniSelector::instance
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:284,1
    - Dst: auto::yamlParser
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:286,1
    - Dst: auto::setupQueueCont
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:287,1
    - Dst: TSMgmtUpdateRegister
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:288,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:288,1
    - Dst: auto::release
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:290,1
    - Dst: TSFatal
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:291,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - yaml_file
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 293
    functionName: SniSelector::startup
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.cc
    functionUses: 1
    functionsReached:
    - TSMgmtUpdateRegister
    - auto::release
    - SniSelector::instance
    - TSHttpHookAdd
    - store
    - TSContCreate
    - TSReleaseAssert
    - auto::yamlParser
    - auto::setupQueueCont
    - TSFatal
    - TSMutexCreate
    - SniSelector::SniSelector
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void SniSelector::startup(const std::string &yaml_file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:36,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:41,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:42,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:42,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:42,1
    - Dst: TSMimeHdrFieldValueIntSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:43,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:43,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:43,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:44,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:44,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:44,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:44,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:45,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:47,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - txnp
    - header
    - delay
    argTypes:
    - TSHttpTxn
    - std::string
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: delayHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - TSHandleMLocRelease
    - std::string::size
    - Dbg
    - TSMimeHdrFieldValueIntSet
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldAppend
    - std::chrono::milliseconds::count
    - TSMimeHdrFieldCreateNamed
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void delayHeader(TSHttpTxn txnp, const std::string &header, std::chrono::milliseconds
      delay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:66,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:67,1
    - Dst: TSMimeHdrFieldValueIntSet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:68,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:69,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:70,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:72,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - txnp
    - retry
    argTypes:
    - TSHttpTxn
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: retryAfter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc
    functionUses: 1
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - Dbg
    - TSMimeHdrFieldValueIntSet
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldCreateNamed
    linkageType: ''
    returnType: void
    signature: void retryAfter(TSHttpTxn txnp, unsigned retry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:88,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:91,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:94,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:94,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:96,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:97,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:98,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:100,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:101,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:103,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:103,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:103,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:106,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:107,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:110,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:111,1
    - Dst: std::string::push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:112,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:113,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:113,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:118,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: getDescriptionFromUrl
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/utilities.cc
    functionUses: 1
    functionsReached:
    - std::to_string
    - TSHandleMLocRelease
    - TSUrlPortGet
    - std::string
    - std::string::append
    - Dbg
    - std::string::push_back
    - TSUrlHostGet
    - TSMBufferCreate
    - strlen
    - TSMBufferDestroy
    - TSUrlParse
    - strncmp
    - TSUrlSchemeGet
    - TSUrlCreate
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string getDescriptionFromUrl(const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:46,1
    - Dst: mark
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:47,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: List::IP::add
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached:
    - mark
    - swoc::IPRange::load
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void add(std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: "&\n  name() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: List::IP::IP
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IP(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPRange::load
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:46,1
    - Dst: mark
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:47,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: List::IP::add
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached:
    - mark
    - swoc::IPRange::load
    - TSReleaseAssert
    linkageType: ''
    returnType: void
    signature: void add(std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: "&\n  name() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YAML::Node::IsSequence
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:27,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:29,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:31,1
    - Dst: auto::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:31,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:31,1
    - Dst: add
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:32,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:35,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/lists.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: List::IP::parseYaml(const YAML::Node &node)
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/lists.cc
    functionUses: 0
    functionsReached:
    - auto::c_str
    - TSError
    - YAML::Node::IsSequence
    - Dbg
    - c_str
    - name
    - add
    - as
    linkageType: ''
    returnType: bool
    signature: bool List::IP::parseYaml(const YAML::Node &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: BucketManager::RateBucket::RateBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RateBucket(uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~RateBucket()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RateBucket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: BucketManager::RateBucket::RateBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RateBucket(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: BucketManager::RateBucket::count
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:75,1
    - Dst: compare_exchange_weak
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:78,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: BucketManager::RateBucket::consume
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - compare_exchange_weak
    - TSReleaseAssert
    - load
    linkageType: ''
    returnType: bool
    signature: bool consume()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BucketManager::RateBucket::count
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:94,1
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:95,1
    - Dst: compare_exchange_weak
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:100,1
    - Dst: min
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: BucketManager::RateBucket::refill
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - min
    - compare_exchange_weak
    - BucketManager::RateBucket::count
    - load
    linkageType: ''
    returnType: void
    signature: void refill()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: BucketManager::BucketManager
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BucketManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ~BucketManager()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: void ~BucketManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: BucketManager::BucketManager
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BucketManager(self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: BucketManager::BucketManager
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BucketManager(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: "&\n  getInstance()"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BucketManager
    signature: "BucketManager &\n  getInstance()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<RateBucket>
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:134,1
    - Dst: std::thread
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:139,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - max
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: BucketManager::add
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - std::thread
    - std::make_shared<RateBucket>
    - push_back
    linkageType: ''
    returnType: std::shared_ptr<RateBucket>
    signature: std::shared_ptr<RateBucket> add(uint32_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:151,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:151,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:151,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:153,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bucket
    argTypes:
    - std::shared_ptr<RateBucket>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: BucketManager::remove
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - std::find
    - end
    linkageType: ''
    returnType: void
    signature: void remove(std::shared_ptr<RateBucket> bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: RateLimiter::RateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RateLimiter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: RateLimiter::RateLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RateLimiter(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: ~RateLimiter()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: void
    signature: void ~RateLimiter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:193,1
    - Dst: metric_helper
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:194,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - tag
    argTypes:
    - uint
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: RateLimiter::initializeMetrics
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 1
    functionsReached:
    - name
    - TSReleaseAssert
    - metric_helper
    linkageType: ''
    returnType: void
    signature: void initializeMetrics(uint type, std::string tag, std::string prefix
      = RATE_LIMITER_METRIC_PREFIX)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:201,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:205,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:214,1
    - Dst: ink_time_wall_seconds
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:217,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:217,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:224,1
    - Dst: as
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:225,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:225,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:227,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:227,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:227,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:227,1
    - Dst: RateLimiter::initializeMetrics
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - YAML::Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 232
    functionName: RateLimiter::parseYaml
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 1
    functionsReached:
    - ink_time_wall_seconds
    - RateLimiter::initializeMetrics
    - as
    - Dbg
    - name
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool parseYaml(const YAML::Node &node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:238,1
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: RateLimiter::addBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - TLSSNISupport::getInstance
    - TSAssert
    linkageType: ''
    returnType: void
    signature: void addBucket()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:248,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:249,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:252,1
    - Dst: count
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:252,1
    - Dst: RateLimiter::has_limit
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:256,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:262,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:265,1
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: RateLimiter::reserve
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - load
    - consume
    - Dbg
    - TSReleaseAssert
    - count
    - RateLimiter::has_limit
    linkageType: ''
    returnType: ReserveStatus
    signature: ReserveStatus reserve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:281,1
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: RateLimiter::free
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - Dbg
    - load
    linkageType: ''
    returnType: void
    signature: void free()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: RateLimiter::active
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t active() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: RateLimiter::size
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RateLimiter::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: RateLimiter::full
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - RateLimiter::max_queue
    linkageType: ''
    returnType: bool
    signature: bool full() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:308,1
    - Dst: push_front
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:311,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elem
    - cont
    argTypes:
    - T
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: RateLimiter::push
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - push_front
    - std::make_tuple
    - failover_now
    linkageType: ''
    returnType: void
    signature: void push(T elem, TSCont cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:321,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:322,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:322,1
    - Dst: pop_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: RateLimiter::pop
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - empty
    - std::move
    - pop_back
    - back
    linkageType: ''
    returnType: QueueItem
    signature: QueueItem pop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - metric
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: RateLimiter::incrementMetric
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void incrementMetric(uint metric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:343,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:344,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:346,1
    - Dst: std::get<2>
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:346,1
    - Dst: RateLimiter::max_age
      Src: /src/trafficserver/plugins/experimental/rate_limit/limiter.h:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - now
    argTypes:
    - QueueTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: RateLimiter::hasOldEntity
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached:
    - std::get<2>
    - back
    - RateLimiter::max_age
    - empty
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: bool
    signature: bool hasOldEntity(QueueTime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: "&\n  name() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: RateLimiter::limit
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: RateLimiter::has_limit
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: RateLimiter::rate
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: RateLimiter::max_queue
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t max_queue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: RateLimiter::max_age
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds max_age() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: RateLimiter::setName
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/limiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setName(const std::string &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OwnedLimiterOrAlias::index
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - limiter_or_alias
    argTypes:
    - OwnedLimiterOrAlias
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: isOwnedlimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - OwnedLimiterOrAlias::index
    linkageType: ''
    returnType: bool
    signature: bool isOwnedlimiter(const OwnedLimiterOrAlias &limiter_or_alias)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OwnedLimiterOrAlias::index
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:44,1
    - Dst: std::get<0>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:46,1
    - Dst: std::get<1>
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - limiter_or_alias
    argTypes:
    - OwnedLimiterOrAlias
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: limiterPtr
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - std::get<1>
    - OwnedLimiterOrAlias::index
    - std::get<0>
    linkageType: ''
    returnType: SniRateLimiter
    signature: 'SniRateLimiter *

      limiterPtr(const OwnedLimiterOrAlias &limiter_or_alias)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: SniSelector::SniSelector
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 2
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void SniSelector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: SniSelector::SniSelector
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SniSelector(self_type &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '&operator=(const self_type &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(const self_type &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '&operator=(self_type &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: self_type &operator=(self_type &&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:74,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:76,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: ~SniSelector()
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached:
    - Dbg
    - TSContDestroy
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void ~SniSelector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: SniSelector::swap
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - exchange
    linkageType: ''
    returnType: void
    signature: void swap(self_type *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: SniSelector::instance
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: SniSelector
    signature: "SniSelector *\n  instance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: SniSelector::acquire
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SniSelector
    signature: "SniSelector *\n  acquire()"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: SniSelector::release
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: "&\n  limiters()"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Limiters
    signature: "Limiters &\n  limiters()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:122,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:124,1
    - Dst: limiterPtr
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:124,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sni
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: SniSelector::findLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - find
    - get
    - limiterPtr
    - end
    linkageType: ''
    returnType: SniRateLimiter
    signature: "SniRateLimiter *\n  findLimiter(const std::string &sni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<SniRateLimiter>::max_queue
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:130,1
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:131,1
    - Dst: std::unique_ptr<SniRateLimiter>::name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:131,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limiter
    argTypes:
    - std::unique_ptr<SniRateLimiter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: SniSelector::addLimiter
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr<SniRateLimiter>::name
    - std::unique_ptr<SniRateLimiter>::max_queue
    - emplace
    linkageType: ''
    returnType: void
    signature: void addLimiter(std::unique_ptr<SniRateLimiter> limiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alias
    - limiter
    argTypes:
    - std::string
    - SniRateLimiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: SniSelector::addAlias
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void addAlias(std::string alias, SniRateLimiter *limiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: "&\n  yamlFile() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  yamlFile() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:149,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iprep
    argTypes:
    - std::unique_ptr<IpReputation::SieveLru>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: SniSelector::addIPReputation
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - std::move
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addIPReputation(std::unique_ptr<IpReputation::SieveLru> iprep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:155,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:155,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:155,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:155,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:157,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: SniSelector::findIpRep
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - begin
    - auto::get
    - end
    - name
    - std::find_if
    linkageType: ''
    returnType: IpReputation::SieveLru
    signature: "IpReputation::SieveLru *\n  findIpRep(const std::string &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:167,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::unique_ptr<List::IP>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: SniSelector::addList
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - std::move
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addList(std::unique_ptr<List::IP> list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:173,1
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:173,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:173,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:173,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:175,1
    - Dst: auto::get
      Src: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: SniSelector::findList
    functionSourceFile: /src/trafficserver/plugins/experimental/rate_limit/sni_selector.h
    functionUses: 1
    functionsReached:
    - begin
    - auto::get
    - end
    - name
    - std::find_if
    linkageType: ''
    returnType: List::IP
    signature: "List::IP *\n  findList(const std::string &name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~BodyData()
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BodyData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: getChunkCount
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getChunkCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: getSize
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - size
    - start
    argTypes:
    - int64_t
    - std::vector<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Chunk
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Chunk(int64_t size, std::vector<char> &&start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: BodyData::BodyData
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void BodyData::BodyData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:88,1
    - Dst: emplace_back
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:89,1
    - Dst: std::vector<char>
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts:
    - condition: (start != nullptr && size >= 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: BodyData::addChunk
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached:
    - std::vector<char>
    - emplace_back
    - assert
    linkageType: ''
    returnType: bool
    signature: bool BodyData::addChunk(const char *start, int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:98,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:100,1
    - Dst: start::data
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - chunk_index
    - start
    - size
    argTypes:
    - uint32_t
    - char**
    - int64_t*
    assertStmts:
    - condition: (start != nullptr && size != nullptr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: BodyData::getChunk
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached:
    - start::data
    - size
    - assert
    linkageType: ''
    returnType: bool
    signature: bool BodyData::getChunk(uint32_t chunk_index, const char **start, int64_t
      *size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:116,1
    - Dst: start::empty
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:116,1
    - Dst: start::clear
      Src: /src/trafficserver/plugins/experimental/stale_response/BodyData.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: BodyData::removeChunk
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/BodyData.h
    functionUses: 0
    functionsReached:
    - start::empty
    - size
    - start::clear
    linkageType: ''
    returnType: bool
    signature: bool BodyData::removeChunk(uint32_t chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: UrlComponents
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlComponents()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:46,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:47,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:48,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:49,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:50,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:52,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:53,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:54,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bufp
    - urlLoc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: populate
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 7
    functionsReached:
    - TSUrlPathGet
    - TSUrlPortGet
    - assign
    - TSUrlHostGet
    - TSUrlSchemeGet
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: void
    signature: void populate(TSMBuffer bufp, TSMLoc urlLoc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:65,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:65,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:65,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:65,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:66,1
    - Dst: compare
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:71,1
    - Dst: compare
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:71,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:74,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:86,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 106
    functionName: construct
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached:
    - snprintf
    - size
    - compare
    - std::string::reserve
    linkageType: ''
    returnType: void
    signature: void construct(std::string &url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:115,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:115,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:116,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: getCompletePathString
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached:
    - size
    - std::string::reserve
    linkageType: ''
    returnType: void
    signature: void getCompletePathString(std::string &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:140,1
    - Dst: compare
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:141,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - host
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: getCompleteHostString
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached:
    - snprintf
    - compare
    linkageType: ''
    returnType: void
    signature: void getCompleteHostString(std::string &host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: setScheme
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setScheme(std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: setHost
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHost(std::string &h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: setPath
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPath(std::string &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: setQuery
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setQuery(std::string &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: setPoinht
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPoinht(int p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: "&\n  getScheme()"
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getScheme()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: "&\n  getHost()"
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getHost()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: "&\n  getPath()"
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getPath()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: "&\n  getQuery()"
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getQuery()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: getPort
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/UrlComponents.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: IoHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IoHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:54,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: ~IoHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IoHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: SContData
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 1
    functionsReached:
    - TSHttpParserCreate
    linkageType: ''
    returnType: void
    signature: void SContData(TSCont cont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:98,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:99,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:101,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: ~SContData()
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - SRDBG
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void ~SContData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:114,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:120,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:121,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:122,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:124,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:125,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:126,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - cont_data
    - vconn
    argTypes:
    - SContData*
    - TSVConn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: connSetup
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - SRDBG
    - TSIOBufferCreate
    - TSHttpHdrTypeSet
    - TSHttpHdrCreate
    - TSVConnRead
    - TSIOBufferReaderAlloc
    - TSMBufferCreate
    linkageType: ''
    returnType: bool
    signature: bool connSetup(SContData *cont_data, TSVConn vconn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:137,1
    - Dst: async_remove_active
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:141,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:142,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:148,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - SContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: connShutdownDataDestory
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - async_remove_active
    - TSVConnClose
    - SRDBG
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void connShutdownDataDestory(SContData *cont_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SContData*::pBody::getChunkCount
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:158,1
    - Dst: SContData*::pBody::getChunk
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:162,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:163,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:164,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:167,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:168,1
    - Dst: SContData*::pBody::removeChunk
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:170,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - SContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: writeOutData
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - SContData*::pBody::removeChunk
    - SContData*::pBody::getChunk
    - TSError
    - SContData*::pBody::getChunkCount
    - SRDBG
    - TSIOBufferWrite
    - TSVIOReenable
    linkageType: ''
    returnType: bool
    signature: bool writeOutData(SContData *cont_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:190,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:191,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:192,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:194,1
    - Dst: SContData*::pBody::getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:194,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:195,1
    - Dst: SContData*::pBody::getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:195,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - SContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: writeSetup
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSIOBufferCreate
    - SRDBG
    - TSVConnWrite
    - TSIOBufferReaderAlloc
    - SContData*::pBody::getSize
    linkageType: ''
    returnType: void
    signature: void writeSetup(SContData *cont_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:205,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:207,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:211,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:217,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:219,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:223,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:226,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:230,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:234,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:236,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:239,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:239,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:242,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - cont_data
    argTypes:
    - SContData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 247
    functionName: handleRead
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 2
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSError
    - SRDBG
    - TSVIONDoneSet
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseReq
    - TSVIOReenable
    - TSVIONDoneGet
    linkageType: ''
    returnType: bool
    signature: bool handleRead(SContData *cont_data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SContData *>
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:253,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:253,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:258,1
    - Dst: connSetup
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:259,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:259,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:260,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:266,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:271,1
    - Dst: handleRead
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:272,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:273,1
    - Dst: writeSetup
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:278,1
    - Dst: writeOutData
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:279,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:286,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:289,1
    - Dst: writeOutData
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:297,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:301,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:307,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:312,1
    - Dst: connShutdownDataDestory
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 321
    functionName: serverIntercept
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - SRDBG
    - handleRead
    - writeSetup
    - static_cast<TSVConn>
    - connSetup
    - static_cast<SContData *>
    - TSContDataGet
    - connShutdownDataDestory
    - writeOutData
    linkageType: ''
    returnType: int
    signature: int serverIntercept(TSCont contp, TSEvent event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BodyData*::getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:328,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:329,1
    - Dst: async_remove_active
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:332,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:333,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:335,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:341,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:341,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:343,1
    - Dst: async_remove_active
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:346,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:347,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:349,1
    - Dst: SContData::SContData
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:355,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:360,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:361,1
    - Dst: TSHttpTxnReqCacheableSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:362,1
    - Dst: TSHttpTxnRespCacheableSet
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:363,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:364,1
    - Dst: SContData*::pBody::getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - txnp
    - pBody
    - plugin_config
    argTypes:
    - TSHttpTxn
    - BodyData*
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 366
    functionName: serverInterceptSetup
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ServerIntercept.cc
    functionUses: 0
    functionsReached:
    - SContData::SContData
    - BodyData*::getSize
    - SRDBG
    - async_remove_active
    - TSContDataSet
    - TSHttpTxnServerIntercept
    - TSContCreate
    - TSHttpTxnReqCacheableSet
    - SContData*::pBody::getSize
    - TSMutexCreate
    - TSHttpTxnRespCacheableSet
    linkageType: ''
    returnType: bool
    signature: bool serverInterceptSetup(TSHttpTxn txnp, BodyData *pBody, ConfigInfo
      *plugin_config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:60,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:63,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:66,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:70,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:76,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:80,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:80,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:86,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:88,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:99,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:103,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:107,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:115,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - hdr_loc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 119
    functionName: convert_mime_hdr_to_string
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSMimeHdrPrint
    - TSIOBufferReaderFree
    - TSIOBufferCreate
    - SRDBG
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferDestroy
    - static_cast<char *>
    - TSmalloc
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: char
    signature: 'char *

      convert_mime_hdr_to_string(TSMLoc hdr_loc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:128,1
    - Dst: UrlComponents::UrlComponents
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:130,1
    - Dst: UrlComponents::populate
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:131,1
    - Dst: UrlComponents::getQuery
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:132,1
    - Dst: string::find
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:134,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:135,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:138,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hdr_url_buf
    - hdr_url_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: has_trailing_parameter
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - UrlComponents::UrlComponents
    - TSHttpHdrUrlGet
    - UrlComponents::getQuery
    - TSHandleMLocRelease
    - SRDBG
    - string::length
    - UrlComponents::populate
    - string::find
    linkageType: ''
    returnType: bool
    signature: bool has_trailing_parameter(TSMBuffer hdr_url_buf, TSMLoc hdr_url_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:148,1
    - Dst: UrlComponents::UrlComponents
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:150,1
    - Dst: UrlComponents::populate
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:151,1
    - Dst: UrlComponents::getQuery
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:152,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:154,1
    - Dst: UrlComponents::setQuery
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:160,1
    - Dst: UrlComponents::construct
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:162,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:164,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:165,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:166,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:168,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:168,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - hdr_url_buf
    - hdr_url_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 170
    functionName: add_trailing_parameter
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - UrlComponents::UrlComponents
    - UrlComponents::getQuery
    - TSHandleMLocRelease
    - SRDBG
    - string::length
    - TSUrlParse
    - string::c_str
    - UrlComponents::populate
    - UrlComponents::setQuery
    - TSHttpHdrUrlGet
    - UrlComponents::construct
    - string::size
    linkageType: ''
    returnType: void
    signature: void add_trailing_parameter(TSMBuffer hdr_url_buf, TSMLoc hdr_url_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:178,1
    - Dst: UrlComponents::UrlComponents
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:180,1
    - Dst: UrlComponents::populate
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:181,1
    - Dst: UrlComponents::getQuery
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:182,1
    - Dst: string::find
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:184,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:185,1
    - Dst: string::erase
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:189,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:193,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:193,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:193,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:195,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:196,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hdr_url_buf
    - hdr_url_loc
    argTypes:
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 198
    functionName: strip_trailing_parameter
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - UrlComponents::UrlComponents
    - TSHttpHdrUrlGet
    - string::erase
    - UrlComponents::getQuery
    - TSHandleMLocRelease
    - SRDBG
    - string::length
    - string::c_str
    - UrlComponents::populate
    - string::find
    - TSUrlHttpQuerySet
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool strip_trailing_parameter(TSMBuffer hdr_url_buf, TSMLoc hdr_url_loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:205,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:209,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:211,1
    - Dst: TSMimeHdrFieldRemove
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:212,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:213,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:214,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:218,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:219,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:221,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:223,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: fix_connection_close
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - SRDBG
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldRemove
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void fix_connection_close(StateInfo *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:235,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:237,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:238,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:239,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:241,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:242,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: get_pristine_url
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSHandleMLocRelease
    - SRDBG
    - TSHttpTxnPristineUrlGet
    - TSstrndup
    - TSUrlStringGet
    linkageType: ''
    returnType: void
    signature: void get_pristine_url(StateInfo *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:253,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:256,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:257,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - bufp
    - hdr_loc
    - name
    - name_len
    - key
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 5
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: intercept_get_key
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - string::append
    - TSMimeHdrFieldValueStringGet
    linkageType: ''
    returnType: bool
    signature: bool intercept_get_key(TSMBuffer bufp, TSMLoc hdr_loc, const char *name,
      int name_len, string &key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:274,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:275,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:281,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:282,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:288,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:290,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:292,1
    - Dst: intercept_get_key
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:299,1
    - Dst: base16_decode
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:300,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:300,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:300,1
    - Dst: string::length
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:300,1
    - Dst: async_check_active
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:301,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:306,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:311,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 314
    functionName: intercept_check_request
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrMethodGet
    - TSHttpTxnIsInternal
    - SRDBG
    - base16_decode
    - string::length
    - string::c_str
    - TSHttpTxnClientReqGet
    - intercept_get_key
    - reinterpret_cast<unsigned char *>
    - async_check_active
    linkageType: ''
    returnType: BodyData
    signature: 'BodyData *

      intercept_check_request(StateInfo *state)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:323,1
    - Dst: async_remove_active
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:324,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:325,1
    - Dst: base16_encode
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:332,1
    - Dst: reinterpret_cast<unsigned char const *>
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:332,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:335,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:336,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:337,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:338,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:339,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:340,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:341,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:342,1
    - Dst: convert_mime_hdr_to_string
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:344,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:345,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:346,1
    - Dst: string::append
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:347,1
    - Dst: async_check_active
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:352,1
    - Dst: TSFetchUrl
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:358,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:358,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:358,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:361,1
    - Dst: BodyData*::getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:361,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 367
    functionName: intercept_fetch_the_url
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/CacheUpdate.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - SRDBG
    - async_remove_active
    - reinterpret_cast<unsigned char const *>
    - convert_mime_hdr_to_string
    - string::data
    - BodyData*::getSize
    - base16_encode
    - TSFetchUrl
    - async_check_active
    - string::append
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool intercept_fetch_the_url(StateInfo *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: rotl32
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotl32(uint32_t x, int8_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - r
    argTypes:
    - uint64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: rotl64
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rotl64(uint64_t x, int8_t r)
  - 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: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ROTL32
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(x, y)
  - 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: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ROTL64
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL64(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: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: BIG_CONSTANT
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIG_CONSTANT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: getblock32
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getblock32(const uint32_t *p, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: getblock64
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getblock64(const uint64_t *p, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: fmix32
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE fmix32(uint32_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIG_CONSTANT
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:92,1
    - Dst: BIG_CONSTANT
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: fmix64
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached:
    - BIG_CONSTANT
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE fmix64(uint64_t k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getblock32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:119,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:122,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:126,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:147,1
    - Dst: fmix32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - key
    - len
    - seed
    - out
    argTypes:
    - void*
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 160
    functionName: MurmurHash3_x86_32
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached:
    - ROTL32
    - getblock32
    - fmix32
    linkageType: ''
    returnType: void
    signature: void MurmurHash3_x86_32(const void *key, int len, uint32_t seed, void
      *out)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getblock32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:186,1
    - Dst: getblock32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:187,1
    - Dst: getblock32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:188,1
    - Dst: getblock32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:189,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:192,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:196,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:201,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:205,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:210,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:214,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:219,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:223,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:248,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:264,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:280,1
    - Dst: ROTL32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:296,1
    - Dst: fmix32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:316,1
    - Dst: fmix32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:317,1
    - Dst: fmix32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:318,1
    - Dst: fmix32
      Src: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 4
    argNames:
    - key
    - len
    - seed
    - out
    argTypes:
    - void*
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 332
    functionName: MurmurHash3_x86_128
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/MurmurHash3.cc
    functionUses: 0
    functionsReached:
    - ROTL32
    - getblock32
    - fmix32
    linkageType: ''
    returnType: void
    signature: void MurmurHash3_x86_128(const void *key, const int len, uint32_t seed,
      void *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: base16_digit
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base16_digit(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: base16_encode
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      base16_encode(char *dst, unsigned char const *src, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base16_digit
      Src: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc:64,1
    - Dst: base16_digit
      Src: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc:65,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: base16_decode
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/NumberToString.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - base16_digit
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      base16_decode(unsigned char *dst, char const *src, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ResponseInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:66,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:66,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:68,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:69,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: create_response_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - static_cast<ResponseInfo *>
    - TSHttpHdrCreate
    - TSmalloc
    - TSMBufferCreate
    linkageType: ''
    returnType: ResponseInfo
    signature: 'ResponseInfo *

      create_response_info(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:80,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:81,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:82,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - resp_info
    argTypes:
    - ResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: free_response_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSfree
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void free_response_info(ResponseInfo *resp_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RequestInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:90,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:90,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:95,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:98,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:99,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:100,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:103,1
    - Dst: TSHttpHdrClone
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:104,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:106,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:110,1
    - Dst: reinterpret_cast<struct sockaddr *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:112,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:112,1
    - Dst: memmove
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:113,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:113,1
    - Dst: MurmurHash3_x86_32
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:119,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 124
    functionName: create_request_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSHandleMLocRelease
    - reinterpret_cast<struct sockaddr *>
    - TSHttpTxnIsInternal
    - SRDBG
    - static_cast<RequestInfo *>
    - TSHttpTxnEffectiveUrlStringGet
    - TSmalloc
    - memmove
    - TSHttpTxnClientReqGet
    - MurmurHash3_x86_32
    - TSHttpHdrClone
    - TSstrndup
    - TSMBufferCreate
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: RequestInfo
    signature: 'RequestInfo *

      create_request_info(TSHttpTxn txnp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:130,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:131,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:132,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:133,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - req_info
    argTypes:
    - RequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: free_request_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - TSMBufferDestroy
    - TSHandleMLocRelease
    linkageType: ''
    returnType: void
    signature: void free_request_info(RequestInfo *req_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StateInfo::StateInfo
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:141,1
    - Dst: create_request_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txnp
    - contp
    argTypes:
    - TSHttpTxn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: create_state_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - StateInfo::StateInfo
    - create_request_info
    linkageType: ''
    returnType: StateInfo
    signature: 'StateInfo *

      create_state_info(TSHttpTxn txnp, TSCont contp)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:152,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:158,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:162,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:166,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:170,1
    - Dst: free_request_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:181,1
    - Dst: free_response_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 147
    functionDepth: 6
    functionLinenumber: 147
    functionLinenumberEnd: 199
    functionName: free_state_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - free_response_info
    - TSfree
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - free_request_info
    linkageType: ''
    returnType: void
    signature: void free_state_info(StateInfo *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:206,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - plugin_config
    - change
    argTypes:
    - ConfigInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: aync_memory_total_add
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSMutexUnlock
    - TSMutexLock
    linkageType: ''
    returnType: int64_t
    signature: int64_t aync_memory_total_add(ConfigInfo *plugin_config, int64_t change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aync_memory_total_add
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plugin_config
    argTypes:
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: aync_memory_total_get
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - aync_memory_total_add
    linkageType: ''
    returnType: int64_t
    signature: int64_t aync_memory_total_get(ConfigInfo *plugin_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:224,1
    - Dst: ConfigInfo*::body_data::find
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:225,1
    - Dst: ConfigInfo*::body_data::end
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:226,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:230,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key_hash
    - plugin_config
    argTypes:
    - uint32_t
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: async_check_active
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 2
    functionsReached:
    - ConfigInfo*::body_data::find
    - TSMutexLock
    - SRDBG
    - ConfigInfo*::body_data::end
    - TSMutexUnlock
    linkageType: ''
    returnType: BodyData
    signature: 'BodyData *

      async_check_active(uint32_t key_hash, ConfigInfo *plugin_config)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:241,1
    - Dst: ConfigInfo*::body_data::find
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:242,1
    - Dst: ConfigInfo*::body_data::end
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:243,1
    - Dst: BodyData::BodyData
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:244,1
    - Dst: ConfigInfo*::body_data::insert
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:247,1
    - Dst: make_pair
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:247,1
    - Dst: ConfigInfo*::body_data::size
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:250,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:251,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key_hash
    - plugin_config
    argTypes:
    - uint32_t
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: async_check_and_add_active
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - ConfigInfo*::body_data::find
    - TSMutexLock
    - SRDBG
    - ConfigInfo*::body_data::insert
    - ConfigInfo*::body_data::end
    - ConfigInfo*::body_data::size
    - make_pair
    - TSMutexUnlock
    - BodyData::BodyData
    linkageType: ''
    returnType: bool
    signature: bool async_check_and_add_active(uint32_t key_hash, ConfigInfo *plugin_config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:262,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:263,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:263,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:267,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:267,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:267,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:268,1
    - Dst: string::data
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:268,1
    - Dst: string::size
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:268,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:269,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:270,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:270,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:270,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:274,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - reqp
    - hdr_loc
    - header
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: add_header
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 9
    functionsReached:
    - TSHandleMLocRelease
    - SRDBG
    - string::data
    - string::c_str
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringInsert
    - TSMimeHdrFieldCreateNamed
    - string::size
    linkageType: ''
    returnType: bool
    signature: bool add_header(TSMBuffer &reqp, TSMLoc &hdr_loc, string header, string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:286,1
    - Dst: ConfigInfo*::body_data::find
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:287,1
    - Dst: ConfigInfo*::body_data::end
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:288,1
    - Dst: getSize
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:289,1
    - Dst: ConfigInfo*::body_data::erase
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:291,1
    - Dst: ConfigInfo*::body_data::size
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:294,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:295,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key_hash
    - plugin_config
    argTypes:
    - uint32_t
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: async_remove_active
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 3
    functionsReached:
    - ConfigInfo*::body_data::find
    - TSMutexLock
    - SRDBG
    - ConfigInfo*::body_data::end
    - getSize
    - ConfigInfo*::body_data::size
    - TSMutexUnlock
    - ConfigInfo*::body_data::erase
    linkageType: ''
    returnType: bool
    signature: bool async_remove_active(uint32_t key_hash, ConfigInfo *plugin_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:305,1
    - Dst: ConfigInfo*::body_data::find
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:306,1
    - Dst: ConfigInfo*::body_data::end
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:307,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:310,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key_hash
    - plugin_config
    argTypes:
    - uint32_t
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: async_intercept_active
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - ConfigInfo*::body_data::find
    - TSMutexLock
    - SRDBG
    - ConfigInfo*::body_data::end
    - TSMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool async_intercept_active(uint32_t key_hash, ConfigInfo *plugin_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:321,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:323,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: send_stale_response
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - TSHttpTxnConfigIntSet
    - TSHttpTxnCacheLookupStatusSet
    linkageType: ''
    returnType: void
    signature: void send_stale_response(StateInfo *state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CachedHeaderInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:338,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:338,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:348,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:349,1
    - Dst: TSMimeHdrFieldValueDateGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:351,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:352,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:355,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:358,1
    - Dst: DirectiveParser::DirectiveParser
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:360,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:363,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:364,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:365,1
    - Dst: DirectiveParser::merge
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:366,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:368,1
    - Dst: DirectiveParser::get_max_age
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:368,1
    - Dst: DirectiveParser::get_stale_while_revalidate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:369,1
    - Dst: DirectiveParser::get_stale_if_error
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:369,1
    - Dst: DirectiveParser::get_max_age
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:370,1
    - Dst: DirectiveParser::get_max_age
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:371,1
    - Dst: DirectiveParser::get_stale_while_revalidate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:373,1
    - Dst: DirectiveParser::get_stale_while_revalidate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:374,1
    - Dst: DirectiveParser::get_stale_if_error
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:376,1
    - Dst: DirectiveParser::get_stale_if_error
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:377,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:380,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:381,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:384,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:387,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:411,1
    - Dst: max
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:412,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 418
    functionName: get_cached_header_info
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - DirectiveParser::DirectiveParser
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - DirectiveParser::merge
    - TSMimeHdrFieldValueStringGet
    - SRDBG
    - DirectiveParser::get_stale_while_revalidate
    - TSMimeHdrFieldValueDateGet
    - max
    - TSmalloc
    - DirectiveParser::get_stale_if_error
    - TSHttpTxnCachedRespGet
    - static_cast<size_t>
    - static_cast<CachedHeaderInfo *>
    - DirectiveParser::get_max_age
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: CachedHeaderInfo
    signature: 'CachedHeaderInfo *

      get_cached_header_info(StateInfo *state)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:427,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:429,1
    - Dst: BodyData*::addChunk
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:431,1
    - Dst: aync_memory_total_add
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:434,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - state
    - pBody
    argTypes:
    - StateInfo*
    - BodyData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 439
    functionName: fetch_save_response
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - BodyData*::addChunk
    - aync_memory_total_add
    linkageType: ''
    returnType: void
    signature: void fetch_save_response(StateInfo *state, BodyData *pBody)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:450,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:453,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:455,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:458,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:462,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 466
    functionName: fetch_parse_response
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferBlockNext
    - TSHttpHdrStatusGet
    - SRDBG
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSHttpHdrParseResp
    linkageType: ''
    returnType: void
    signature: void fetch_parse_response(StateInfo *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetch_save_response
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:474,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:476,1
    - Dst: fetch_parse_response
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:480,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:483,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:484,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:485,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 486
    functionName: fetch_read_the_data
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - SRDBG
    - fetch_parse_response
    - fetch_save_response
    - TSVIONDoneGet
    linkageType: ''
    returnType: void
    signature: void fetch_read_the_data(StateInfo *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:492,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:494,1
    - Dst: valid_sie_status
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:495,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:496,1
    - Dst: async_remove_active
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:497,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:498,1
    - Dst: intercept_fetch_the_url
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:502,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:506,1
    - Dst: valid_sie_status
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:507,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:508,1
    - Dst: get_cached_header_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:511,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:512,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:514,1
    - Dst: send_stale_response
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:517,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:519,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:527,1
    - Dst: add_header
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:528,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:529,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:531,1
    - Dst: serverInterceptSetup
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:532,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - StateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 489
    functionDepth: 6
    functionLinenumber: 489
    functionLinenumberEnd: 537
    functionName: fetch_finish
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSTextLogObjectWrite
    - valid_sie_status
    - intercept_fetch_the_url
    - TSfree
    - TSHandleMLocRelease
    - TSError
    - SRDBG
    - async_remove_active
    - send_stale_response
    - add_header
    - serverInterceptSetup
    - TSHttpTxnClientReqGet
    - get_cached_header_info
    - TSHttpTxnReenable
    linkageType: ''
    returnType: void
    signature: void fetch_finish(StateInfo *state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StateInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:544,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:544,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:549,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:552,1
    - Dst: fetch_read_the_data
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:557,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:558,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:568,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:569,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:572,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:574,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:576,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:578,1
    - Dst: fetch_read_the_data
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:582,1
    - Dst: fetch_finish
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:584,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:586,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:587,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 540
    functionDepth: 7
    functionLinenumber: 540
    functionLinenumberEnd: 596
    functionName: fetch_consume
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - free_state_info
    - static_cast<StateInfo *>
    - SRDBG
    - TSContDestroy
    - TSVIOReenable
    - TSVConnAbort
    - TSContDataGet
    - fetch_finish
    - fetch_read_the_data
    linkageType: ''
    returnType: int
    signature: int fetch_consume(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<StateInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:604,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:604,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:606,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:607,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:607,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:608,1
    - Dst: create_response_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:611,1
    - Dst: fix_connection_close
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:613,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:615,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:616,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:617,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:618,1
    - Dst: add_trailing_parameter
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:620,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:622,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:623,1
    - Dst: async_check_active
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:629,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:633,1
    - Dst: TSHttpConnect
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:634,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:635,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:637,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:637,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts:
    - condition: (state->req_info->client_addr != nullptr)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    constantsTouched: []
    func_position:
      end: 642
      start: 599
    functionDepth: 6
    functionLinenumber: 599
    functionLinenumberEnd: 642
    functionName: fetch_resource
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - static_cast<StateInfo *>
    - fix_connection_close
    - TSContDestroy
    - TSVConnWrite
    - TSVConnRead
    - TSContDataGet
    - TSHttpHdrPrint
    - TSHttpConnect
    - assert
    - TSIOBufferReaderAvail
    - SRDBG
    - TSIOBufferWrite
    - TSContCreate
    - async_check_active
    - TSMutexCreate
    - add_trailing_parameter
    - create_response_info
    - TSIOBufferCreate
    - TSContDataSet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int fetch_resource(TSCont contp, TSEvent, void *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:649,1
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:651,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:651,1
    - Dst: async_check_and_add_active
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:654,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:657,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:658,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:660,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:661,1
    - Dst: get_pristine_url
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:664,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:665,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:665,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:666,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:667,1
    - Dst: BodyData::BodyData
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:671,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:672,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:672,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:673,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - state
    - contp
    argTypes:
    - StateInfo*
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 645
    functionDepth: 7
    functionLinenumber: 645
    functionLinenumberEnd: 676
    functionName: fetch_start
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - async_check_and_add_active
    - TSUserArgSet
    - SRDBG
    - free_state_info
    - TSContScheduleOnPool
    - TSContDataSet
    - static_cast<ConfigInfo *>
    - TSContCreate
    - TSContDataGet
    - BodyData::BodyData
    - get_pristine_url
    - TSMutexCreate
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void fetch_start(StateInfo *state, TSCont contp)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:688,1
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:689,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:689,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:692,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:693,1
    - Dst: static_cast<StateInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:697,1
    - Dst: TSUserArgGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:697,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:701,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:706,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:708,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:711,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:713,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:717,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:718,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:719,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:723,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:726,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:727,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:728,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:729,1
    - Dst: get_cached_header_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:733,1
    - Dst: aync_memory_total_get
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:737,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:739,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:743,1
    - Dst: aync_memory_total_get
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:744,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:745,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:749,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:750,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:752,1
    - Dst: send_stale_response
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:757,1
    - Dst: fetch_start
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:760,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:763,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:764,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:767,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:769,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:770,1
    - Dst: fetch_start
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:773,1
    - Dst: send_stale_response
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:776,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:778,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:779,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:780,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:785,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:786,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:787,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:789,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:791,1
    - Dst: async_check_active
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:794,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:795,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:796,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:803,1
    - Dst: strip_trailing_parameter
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:804,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:805,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:807,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:811,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:812,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:813,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:816,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:819,1
    - Dst: free_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:820,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:821,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:827,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:828,1
    - Dst: strip_trailing_parameter
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:829,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:830,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:833,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:840,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:841,1
    - Dst: valid_sie_status
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:842,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:843,1
    - Dst: TSHttpTxnServerRespNoStoreSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:844,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:846,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:847,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:852,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:853,1
    - Dst: add_header
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:854,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:855,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:857,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:858,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:862,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 130
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    constantsTouched: []
    func_position:
      end: 867
      start: 679
    functionDepth: 8
    functionLinenumber: 679
    functionLinenumberEnd: 867
    functionName: transaction_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - valid_sie_status
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSUserArgSet
    - static_cast<StateInfo *>
    - aync_memory_total_get
    - add_header
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - strip_trailing_parameter
    - TSHttpTxnServerRespGet
    - TSHttpTxnServerRespNoStoreSet
    - TSfree
    - TSHttpTxnIsInternal
    - TSHttpTxnCacheLookupStatusGet
    - TSHttpHdrStatusGet
    - get_cached_header_info
    - assert
    - TSError
    - SRDBG
    - TSHttpTxnHookAdd
    - send_stale_response
    - static_cast<ConfigInfo *>
    - TSHttpTxnServerReqGet
    - async_check_active
    - TSHttpTxnCacheLookupStatusSet
    - TSHttpTxnReenable
    - TSUserArgGet
    - TSTextLogObjectWrite
    - free_state_info
    - static_cast<TSHttpTxn>
    - fetch_start
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transaction_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ConfigInfo::ConfigInfo
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:875,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:902,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:903,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:903,1
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:915,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:920,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:924,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:928,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:932,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:940,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:953,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:954,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:957,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:958,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:959,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:960,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:961,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:962,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:963,1
    - Dst: static_cast<intmax_t>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:964,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:965,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:966,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:967,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 970
    functionName: parse_args
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - static_cast<intmax_t>
    - getopt_long
    - SRDBG
    - ConfigInfo::ConfigInfo
    - TSTextLogObjectCreate
    - const_cast<char *const *>
    - atoi
    - strdup
    linkageType: ''
    returnType: ConfigInfo
    signature: 'ConfigInfo *

      parse_args(int argc, char const *argv[])'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:975,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:976,1
    - Dst: create_state_info
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:978,1
    - Dst: TSUserArgSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:979,1
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:981,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:983,1
    - Dst: intercept_check_request
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:984,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:986,1
    - Dst: serverInterceptSetup
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:988,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:992,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:994,1
    - Dst: async_intercept_active
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1000,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1004,1
    - Dst: add_trailing_parameter
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1005,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1006,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1007,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - txnp
    - plugin_config
    argTypes:
    - TSHttpTxn
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 972
    functionDepth: 7
    functionLinenumber: 972
    functionLinenumberEnd: 1014
    functionName: read_request_header_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - create_state_info
    - add_trailing_parameter
    - TSHandleMLocRelease
    - TSUserArgSet
    - TSHttpTxnIsInternal
    - SRDBG
    - TSHttpTxnHookAdd
    - TSContDataSet
    - serverInterceptSetup
    - async_intercept_active
    - intercept_check_request
    - TSContCreate
    - TSHttpTxnClientReqGet
    linkageType: ''
    returnType: void
    signature: void read_request_header_handler(TSHttpTxn const txnp, ConfigInfo *plugin_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1020,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1020,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1021,1
    - Dst: read_request_header_handler
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1022,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1017
    functionDepth: 8
    functionLinenumber: 1017
    functionLinenumberEnd: 1025
    functionName: global_request_header_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - read_request_header_handler
    - static_cast<ConfigInfo *>
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int global_request_header_hook(TSCont contp, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1031,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1033,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1035,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1037,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - plugin_config
    argTypes:
    - ConfigInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1040
    functionName: create_plugin_stats
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 2
    functionsReached:
    - TSStatCreate
    linkageType: ''
    returnType: void
    signature: void create_plugin_stats(ConfigInfo *plugin_config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1047,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1048,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1049,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1051,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1052,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1055,1
    - Dst: TSMgmtStringGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1058,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1059,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1060,1
    - Dst: assert
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1061,1
    - Dst: parse_args
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1065,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1068,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1069,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1073,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1074,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1075,1
    - Dst: create_plugin_stats
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1077,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    constantsTouched: []
    func_position:
      end: 1080
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1080
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - assert
    - TSError
    - SRDBG
    - TSUserArgIndexReserve
    - const_cast<char *>
    - TSContDataSet
    - TSHttpHookAdd
    - create_plugin_stats
    - parse_args
    - TSContCreate
    - strcasecmp
    - TSMgmtStringGet
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1091,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1095
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - SRDBG
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1103,1
    - Dst: const_cast<char const **>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1103,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1104,1
    - Dst: TSUserArgIndexReserve
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1105,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1106,1
    - Dst: create_plugin_stats
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1109,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1097
    functionDepth: 3
    functionLinenumber: 1097
    functionLinenumberEnd: 1112
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSError
    - TSUserArgIndexReserve
    - create_plugin_stats
    - SRDBG
    - parse_args
    - const_cast<char const **>
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /*errbuf */, int /* errbuf_size */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1117,1
    - Dst: SRDBG
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1120
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - SRDBG
    - static_cast<ConfigInfo *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1128,1
    - Dst: read_request_header_handler
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 8
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.cc
    functionUses: 0
    functionsReached:
    - read_request_header_handler
    - static_cast<ConfigInfo *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::take_prefix_if
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:40,1
    - Dst: swoc::TextView::take_prefix_at
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:43,1
    - Dst: swoc::TextView::trim_if
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:48,1
    - Dst: swoc::TextView::trim
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:53,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:56,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:58,1
    - Dst: swoc::SWOC_VERSION_NS::svtoi
      Src: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - CacheControlValue
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: DirectiveParser::DirectiveParser
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc
    functionUses: 1
    functionsReached:
    - swoc::TextView::take_prefix_at
    - swoc::TextView::trim_if
    - swoc::TextView::trim
    - swoc::TextView::take_prefix_if
    - swoc::SWOC_VERSION_NS::svtoi
    linkageType: ''
    returnType: void
    signature: void DirectiveParser::DirectiveParser(swoc::TextView CacheControlValue)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - DirectiveParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: DirectiveParser::merge
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectiveParser::merge(DirectiveParser const &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ID
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: EXT_DBG_CTL
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ts_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT_DBG_CTL(_ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ID
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DEF_DBG_CTL
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ts_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_DBG_CTL(_ID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ID
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: SRDBG
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/ts_wrap.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRDBG(_ID, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UintBodyMap::UintBodyMap
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:54,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ConfigInfo
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.h
    functionUses: 1
    functionsReached:
    - UintBodyMap::UintBodyMap
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void ConfigInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: ~ConfigInfo()
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.h
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    linkageType: ''
    returnType: void
    signature: void ~ConfigInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConfigInfo *>
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:119,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:119,1
    - Dst: time
      Src: /src/trafficserver/plugins/experimental/stale_response/stale_response.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txnp
    - contp
    argTypes:
    - TSHttpTxn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: StateInfo
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.h
    functionUses: 1
    functionsReached:
    - time
    - static_cast<ConfigInfo *>
    - TSContDataGet
    linkageType: ''
    returnType: void
    signature: void StateInfo(TSHttpTxn txnp, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: valid_sie_status
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/stale_response.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_sie_status(TSHttpStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: DirectiveParser::DirectiveParser
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectiveParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: DirectiveParser::get_max_age
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t get_max_age() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: DirectiveParser::get_stale_while_revalidate
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t get_stale_while_revalidate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: DirectiveParser::get_stale_if_error
    functionSourceFile: /src/trafficserver/plugins/experimental/stale_response/DirectiveParser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t get_stale_if_error() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:52,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:54,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:58,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:62,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:64,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:68,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:70,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:72,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:74,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:77,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:84,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/util.cc:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - spec
    - exp
    argTypes:
    - char*
    - SslHdrExpansion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 92
    functionName: SslHdrParseExpansion
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/util.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - SslHdrError
    - std::string
    - strchr
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool SslHdrParseExpansion(const char *spec, SslHdrExpansion &exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: x509_expand_none
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void x509_expand_none(X509 *, BIO *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_X509
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:39,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:42,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:43,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: x509_expand_certificate
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    - PEM_write_bio_X509
    - memchr
    - BIO_get_mem_data
    linkageType: ''
    returnType: void
    signature: void x509_expand_certificate(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:52,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: x509_expand_subject
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void x509_expand_subject(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:59,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: x509_expand_issuer
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - X509_get_issuer_name
    - X509_NAME_print_ex
    linkageType: ''
    returnType: void
    signature: void x509_expand_issuer(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_serialNumber
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:66,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: x509_expand_serial
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - X509_get_serialNumber
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: void
    signature: void x509_expand_serial(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_signature
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:74,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:75,1
    - Dst: BIO_printf
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:84,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: x509_expand_signature
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - BIO_printf
    - reinterpret_cast<const char *>
    - X509_get0_signature
    linkageType: ''
    returnType: void
    signature: void x509_expand_signature(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_notBefore
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:91,1
    - Dst: ASN1_TIME_print
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: x509_expand_notbefore
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - ASN1_TIME_print
    - X509_get_notBefore
    linkageType: ''
    returnType: void
    signature: void x509_expand_notbefore(X509 *x509, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_notAfter
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:98,1
    - Dst: ASN1_TIME_print
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x509
    - bio
    argTypes:
    - X509*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: x509_expand_notafter
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - ASN1_TIME_print
    - X509_get_notAfter
    linkageType: ''
    returnType: void
    signature: void x509_expand_notafter(X509 *x509, BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_reset
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:117,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:119,1
    - Dst: BIO_pending
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:124,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:127,1
    - Dst: SslHdrDebug
      Src: /src/trafficserver/plugins/experimental/sslheaders/expand.cc:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - x509
    - field
    argTypes:
    - BIO*
    - X509*
    - ExpansionField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: SslHdrExpandX509Field
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/expand.cc
    functionUses: 0
    functionsReached:
    - BIO_get_mem_data
    - BIO_pending
    - SslHdrDebug
    - BIO_reset
    - size
    linkageType: ''
    returnType: bool
    signature: bool SslHdrExpandX509Field(BIO *bio, X509 *x509, ExpansionField field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SslHdrDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SslHdrDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: SslHdrError
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SslHdrError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: SslHdrExpansion
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SslHdrExpansion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: SslHdrExpansion
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SslHdrExpansion(const SslHdrExpansion &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '&operator=(const SslHdrExpansion &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SslHdrExpansion
    signature: SslHdrExpansion &operator=(const SslHdrExpansion &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: SslHdrExpansion
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SslHdrExpansion(SslHdrExpansion &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(SslHdrExpansion &&)'
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SslHdrExpansion
    signature: SslHdrExpansion &operator=(SslHdrExpansion &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: SslHdrInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SslHdrInstance(const SslHdrInstance &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '&operator=(const SslHdrInstance &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SslHdrInstance
    signature: SslHdrInstance &operator=(const SslHdrInstance &)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:41,1
    - Dst: static_cast<const SslHdrInstance *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:42,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:42,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:43,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:43,1
    - Dst: TSVConnSslConnectionGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:44,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:48,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:54,1
    - Dst: SslHdrExpand
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:69,1
    - Dst: reinterpret_cast<SSL *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:69,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:70,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - cont
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 75
    functionName: SslHdrExpandRequestHook
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - reinterpret_cast<SSL *>
    - TSHttpTxnSsnGet
    - SslHdrExpand
    - TSHttpTxnServerReqGet
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - TSHttpSsnClientVConnGet
    - static_cast<const SslHdrInstance *>
    - TSHttpTxnReenable
    - TSVConnSslConnectionGet
    linkageType: ''
    returnType: int
    signature: int SslHdrExpandRequestHook(TSCont cont, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:83,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:83,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:83,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:85,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:86,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mbuf
    - mhdr
    - name
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: SslHdrRemoveHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - std::string::size
    - TSMimeHdrFieldDestroy
    - std::string::c_str
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void SslHdrRemoveHeader(TSMBuffer mbuf, TSMLoc mhdr, const std::string
      &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:98,1
    - Dst: SslHdrDebug
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:100,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:100,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:102,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:102,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:102,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:104,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:104,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:104,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:105,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:106,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:107,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:112,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:113,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:114,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:117,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:118,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - mbuf
    - mhdr
    - name
    - value
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: SslHdrSetHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - std::string::size
    - BIO_get_mem_data
    - SslHdrDebug
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - std::string::c_str
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void SslHdrSetHeader(TSMBuffer mbuf, TSMLoc mhdr, const std::string
      &name, BIO *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapX509::_nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: WrapX509::WrapX509
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - WrapX509::_nonNullInvalidValue
    linkageType: ''
    returnType: void
    signature: void WrapX509(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrapX509::_nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:134,1
    - Dst: WrapX509::_set
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: WrapX509::get
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - WrapX509::_nonNullInvalidValue
    - WrapX509::_set
    linkageType: ''
    returnType: X509
    signature: "X509 *\n  get()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:143,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ~WrapX509()
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - _nonNullInvalidValue
    - X509_free
    linkageType: ''
    returnType: void
    signature: void ~WrapX509()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<X509 *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:156,1
    - Dst: const_cast<WrapX509 *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: WrapX509::_nonNullInvalidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 2
    functionsReached:
    - const_cast<WrapX509 *>
    - reinterpret_cast<X509 *>
    linkageType: ''
    returnType: X509
    signature: "X509 *\n  _nonNullInvalidValue() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: WrapX509::_set
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapX509::_nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: WrapX509::WrapX509
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - WrapX509::_nonNullInvalidValue
    linkageType: ''
    returnType: void
    signature: void WrapX509(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrapX509::_nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:134,1
    - Dst: WrapX509::_set
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: WrapX509::get
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - WrapX509::_nonNullInvalidValue
    - WrapX509::_set
    linkageType: ''
    returnType: X509
    signature: "X509 *\n  get()"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _nonNullInvalidValue
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:143,1
    - Dst: X509_free
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ~WrapX509()
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - _nonNullInvalidValue
    - X509_free
    linkageType: ''
    returnType: void
    signature: void ~WrapX509()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<X509 *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:156,1
    - Dst: const_cast<WrapX509 *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: WrapX509::_nonNullInvalidValue
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 4
    functionsReached:
    - const_cast<WrapX509 *>
    - reinterpret_cast<X509 *>
    linkageType: ''
    returnType: X509
    signature: "X509 *\n  _nonNullInvalidValue() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: WrapX509::_set
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _set()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SslHdrRemoveHeader
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:179,1
    - Dst: BIO_new
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:186,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:186,1
    - Dst: WrapX509::get
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:191,1
    - Dst: SslHdrRemoveHeader
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:193,1
    - Dst: WrapX509::get
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:198,1
    - Dst: SslHdrExpandX509Field
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:207,1
    - Dst: BIO_pending
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:208,1
    - Dst: SslHdrSetHeader
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:209,1
    - Dst: SslHdrRemoveHeader
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:211,1
    - Dst: BIO_free
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - ssl
    - expansions
    - mbuf
    - mhdr
    argTypes:
    - SSL*
    - SslHdrInstance::expansion_list
    - TSMBuffer
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 217
    functionName: SslHdrExpand
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 1
    functionsReached:
    - WrapX509::get
    - SslHdrSetHeader
    - BIO_free
    - BIO_pending
    - BIO_s_mem
    - SslHdrRemoveHeader
    - BIO_new
    - SslHdrExpandX509Field
    linkageType: ''
    returnType: void
    signature: void SslHdrExpand(SSL *ssl, const SslHdrInstance::expansion_list &expansions,
      TSMBuffer mbuf, TSMLoc mhdr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:223,1
    - Dst: SslHdrInstance::SslHdrInstance
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:227,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:232,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:232,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:235,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:237,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:239,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:242,1
    - Dst: std::unique_ptr::expansions::resize
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:255,1
    - Dst: SslHdrParseExpansion
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:257,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 264
    functionName: SslHdrParseOptions
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - strcmp
    - getopt_long
    - TSError
    - std::unique_ptr::expansions::resize
    - const_cast<char *>
    - std::unique_ptr::release
    - SslHdrParseExpansion
    - const_cast<char *const *>
    - SslHdrInstance::SslHdrInstance
    linkageType: ''
    returnType: SslHdrInstance
    signature: 'SslHdrInstance *

      SslHdrParseOptions(int argc, const char **argv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:276,1
    - Dst: SslHdrError
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:277,1
    - Dst: SslHdrParseOptions
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:280,1
    - Dst: static_cast<const char **>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:280,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:284,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:288,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 293
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - SslHdrParseOptions
    - SslHdrError
    - TSHttpHookAdd
    - static_cast<const char **>
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api */, char * /* err
      */, int /* errsz */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SslHdrParseOptions
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - SslHdrParseOptions
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* err */, int /* errsz */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SslHdrInstance *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - static_cast<SslHdrInstance *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SslHdrInstance *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:331,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:335,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:339,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - instance
    - txn
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnHookAdd
    - static_cast<SslHdrInstance *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txn, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:347,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: SslHdrInstance::SslHdrInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 1
    functionsReached:
    - TSContDataSet
    - TSContCreate
    linkageType: ''
    returnType: void
    signature: void SslHdrInstance::SslHdrInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: SslHdrInstance::~SslHdrInstance()
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/sslheaders.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void SslHdrInstance::~SslHdrInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::printf
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:36,1
    - Dst: va_start
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:37,1
    - Dst: std::vprintf
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:38,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:39,1
    - Dst: std::printf
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tag
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: DbgCtl::print
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached:
    - std::printf
    - va_end
    - va_start
    - std::vprintf
    linkageType: ''
    returnType: void
    signature: void DbgCtl::print(const char *tag, char const * /* file */, char const
      * /* function */, int /* line */, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:48,1
    - Dst: std::vprintf
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:49,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:50,1
    - Dst: std::printf
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: TSError
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 410
    functionsReached:
    - std::printf
    - va_end
    - va_start
    - std::vprintf
    linkageType: ''
    returnType: void
    signature: void TSError(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:63,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:64,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:66,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: make_pem_header
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - memchr
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      make_pem_header(const char *pem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expression
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: LOG_CHECK
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_CHECK(expression, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expression
    - ','
    - _name
    - ','
    - _scope
    - ','
    - _field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: EXPECT_TRUE
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_TRUE(expression, _name, _scope, _field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: EXPECT_FALSE
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FALSE(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _field
    - ','
    - _value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: EXPECT_FIELD
    functionSourceFile: /src/trafficserver/plugins/experimental/sslheaders/unit_tests/test_sslheaders.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FIELD(_field, _value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: TransformData::TransformData
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransformData::TransformData(TSHttpTxn txnp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:127,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:130,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:133,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:136,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:139,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:142,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:145,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:148,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:151,1
    - Dst: TSActionCancel
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 156
    functionName: TransformData::~TransformData()
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnAbort
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    - TSActionCancel
    linkageType: ''
    returnType: void
    signature: void TransformData::~TransformData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:167,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:168,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:171,1
    - Dst: ntohs
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - s_sockaddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: get_port
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const struct sockaddr_in6 *>
    - ntohs
    - reinterpret_cast<const struct sockaddr_in *>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_port(sockaddr const *s_sockaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnTransformRespGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:191,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:192,1
    - Dst: TSMimeHdrFieldCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:196,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:197,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:198,1
    - Dst: TSMimeHdrFieldNameSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:202,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:202,1
    - Dst: TSMimeHdrFieldValueStringInsert
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:203,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:203,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:204,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:206,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - data
    - header
    - value
    argTypes:
    - TransformData*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: setup_icap_status_header
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldNameSet
    - TSMimeHdrFieldCreate
    - strlen
    - TSMimeHdrFieldAppend
    - TSHttpTxnTransformRespGet
    - TSMimeHdrFieldValueStringInsert
    linkageType: ''
    returnType: void
    signature: void setup_icap_status_header(TransformData *data, const char *header,
      const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:219,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:223,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:224,1
    - Dst: TransformData*::icap_header::c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:224,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:225,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:227,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:228,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:229,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:229,1
    - Dst: TSHttpTxnTransformRespGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:235,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:236,1
    - Dst: TSMimeHdrFieldsClear
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:240,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:241,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:244,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:245,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:245,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:246,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:246,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:247,1
    - Dst: transform_send_error_msg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - data
    - msg
    argTypes:
    - TSCont
    - TransformData*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: handle_invalid_icap_behavior
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVIOBufferGet
    - TSVConnWriteVIOGet
    - transform_send_error_msg
    - TSHandleMLocRelease
    - TSError
    - TSContCall
    - TSVIOContGet
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - std::string
    - TSHttpHdrStatusSet
    - TSMimeHdrFieldsClear
    - Dbg
    - TSVConnAbort
    - TransformData*::icap_header::c_str
    - strlen
    - TSHttpTxnTransformRespGet
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_invalid_icap_behavior(TSCont contp, TransformData *data,
      const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformData*::icap_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:261,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:263,1
    - Dst: TransformData*::icap_header::substr
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:263,1
    - Dst: TransformData*::icap_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:265,1
    - Dst: TransformData*::icap_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:266,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:267,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:269,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:273,1
    - Dst: setup_icap_status_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:274,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 258
    functionDepth: 6
    functionLinenumber: 258
    functionLinenumberEnd: 281
    functionName: handle_icap_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - setup_icap_status_header
    - TransformData*::icap_header::substr
    - Dbg
    - static_cast<int64_t>
    - TransformData*::icap_header::find
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int handle_icap_headers(TransformData *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformData*::http_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:292,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:294,1
    - Dst: TransformData*::http_header::substr
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:294,1
    - Dst: regex_search
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:298,1
    - Dst: std::smatch::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:299,1
    - Dst: std::stoll
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:300,1
    - Dst: str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:300,1
    - Dst: TransformData*::http_header::c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:306,1
    - Dst: TSHttpTxnTransformRespGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:308,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:309,1
    - Dst: TSMimeHdrFieldsClear
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:313,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:314,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:318,1
    - Dst: TSHttpHdrParseResp
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:319,1
    - Dst: TransformData*::http_header::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:319,1
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:320,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 322
    functionName: handle_icap_http_header
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TransformData*::http_header::find
    - TSHttpParserCreate
    - regex_search
    - TransformData*::http_header::c_str
    - TSHandleMLocRelease
    - TSError
    - TransformData*::http_header::size
    - TSHttpParserDestroy
    - std::smatch::size
    - TSHttpHdrParseResp
    - TSMimeHdrFieldsClear
    - TransformData*::http_header::substr
    - str
    - TSHttpTxnTransformRespGet
    - std::stoll
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void handle_icap_http_header(TransformData *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:334,1
    - Dst: TransformData*::chunk_length_str::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:341,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:342,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:345,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:346,1
    - Dst: TransformData*::chunk_length_str::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:350,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:351,1
    - Dst: regex_search
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:358,1
    - Dst: std::smatch::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:360,1
    - Dst: std::smatch::position
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:361,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:362,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:364,1
    - Dst: str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:364,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:366,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:370,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:372,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:382,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:385,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:385,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:386,1
    - Dst: TransformData*::chunk_length_str::clear
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:389,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:395,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - data
    argTypes:
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 407
    functionName: handle_read_http_body
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - std::stoi
    - TSIOBufferReaderStart
    - std::string
    - TSVConnAbort
    - TSIOBufferCopy
    - regex_search
    - TSIOBufferReaderConsume
    - TransformData*::chunk_length_str::clear
    - TSIOBufferBlockReadStart
    - length
    - TransformData*::chunk_length_str::find
    - TSIOBufferReaderAvail
    - std::smatch::size
    - std::smatch::position
    - str
    - TSVIOBufferGet
    - TransformData*::chunk_length_str::size
    - TSIOBufferBlockNext
    linkageType: ''
    returnType: int
    signature: int handle_read_http_body(TransformData *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:415,1
    - Dst: TransformData::TransformData
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:416,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: transform_create
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSTransformCreate
    - TSContDataSet
    - TransformData::TransformData
    linkageType: ''
    returnType: TSCont
    signature: TSCont transform_create(TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TransformData *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:428,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:428,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:433,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - contp
    argTypes:
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: transform_destroy
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    - TSContDataGet
    - static_cast<TransformData *>
    - TSError
    linkageType: ''
    returnType: void
    signature: void transform_destroy(TSCont contp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:451,1
    - Dst: htons
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:453,1
    - Dst: inet_pton
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:454,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:454,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:455,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:455,1
    - Dst: TSNetConnect
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:458,1
    - Dst: reinterpret_cast<struct sockaddr const *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:458,1
    - Dst: TSActionDone
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 465
    functionName: transform_connect
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - memset
    - htons
    - TSError
    - inet_pton
    - TSActionDone
    - reinterpret_cast<struct sockaddr const *>
    - c_str
    - TSNetConnect
    linkageType: ''
    returnType: int
    signature: int transform_connect(TSCont contp, TransformData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:473,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: transform_write_body
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_write_body(TransformData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:484,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:485,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:488,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: transform_read_icap_header
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSVConnRead
    - TSError
    linkageType: ''
    returnType: int
    signature: int transform_read_icap_header(TSCont contp, TransformData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:501,1
    - Dst: transform_read_http_header_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 506
    functionName: transform_read_http_header
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    - transform_read_http_header_event
    linkageType: ''
    returnType: int
    signature: int transform_read_http_header(TSCont contp, TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:513,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:514,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:515,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:515,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:518,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:520,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:523,1
    - Dst: handle_read_http_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 528
    functionName: transform_read_http_body
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    - TSIOBufferCreate
    - TSTransformOutputVConnGet
    - static_cast<TSVConn>
    - handle_read_http_body
    - TSVConnWrite
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_read_http_body(TSCont contp, TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:534,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:535,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:536,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:542,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:543,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:547,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:548,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:549,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:553,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:554,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:557,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:558,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:563,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:565,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:565,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:566,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:567,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:568,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:570,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:571,1
    - Dst: transform_write_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 574
    functionName: handle_write_header
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrLengthGet
    - memset
    - TSHandleMLocRelease
    - TSIOBufferReaderAvail
    - TSError
    - TSIOBufferCreate
    - TSIOBufferWrite
    - TSVConnWrite
    - transform_write_body
    - snprintf
    - c_str
    - strlen
    - TSHttpTxnClientReqGet
    - TSHttpHdrPrint
    - TSIOBufferReaderAlloc
    - TSHttpTxnServerRespGet
    linkageType: ''
    returnType: int
    signature: int handle_write_header(TSCont contp, TransformData *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:583,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:585,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:588,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:589,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:590,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:590,1
    - Dst: transform_bypass
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:592,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:594,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:594,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:594,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:595,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:596,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:597,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:602,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:607,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:607,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:615,1
    - Dst: std::stringstream::str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:615,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:617,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:617,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:617,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:617,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:618,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:619,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:619,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:619,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:622,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:622,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:626,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:626,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:629,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:629,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:636,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:639,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:639,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:641,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:641,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:641,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:642,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:643,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:644,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:647,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 653
    functionName: handle_write_body
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - TSVIOReenable
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - std::stringstream::str
    - std::string::c_str
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TSIOBufferWrite
    - strlen
    - TSVIOBufferGet
    - TSVIONDoneSet
    - TSVIOContGet
    - std::string::size
    - transform_bypass
    linkageType: ''
    returnType: int
    signature: int handle_write_body(TSCont contp, TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:663,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:664,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:665,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:665,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:667,1
    - Dst: TransformData*::err_msg::c_str
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:667,1
    - Dst: TransformData*::err_msg::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:667,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:670,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:672,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:672,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: transform_send_error_msg
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderAvail
    - TSError
    - TSIOBufferCreate
    - TSTransformOutputVConnGet
    - static_cast<TSVConn>
    - TSIOBufferWrite
    - TransformData*::err_msg::c_str
    - TSVConnWrite
    - TransformData*::err_msg::size
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_send_error_msg(TSCont contp, TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:689,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:690,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:691,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:691,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:694,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:696,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 703
    functionName: transform_bypass
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 1
    functionsReached:
    - TSError
    - TSIOBufferCreate
    - TSTransformOutputVConnGet
    - static_cast<TSVConn>
    - TSVConnWrite
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_bypass(TSCont contp, TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:713,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:715,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 723
    functionName: transform_buffer_os_resp
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - Dbg
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_buffer_os_resp(TransformData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:734,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:735,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:736,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:736,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:739,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:741,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:741,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 748
    functionName: transform_send_os_resp
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAvail
    - TSError
    - TSIOBufferCreate
    - TSTransformOutputVConnGet
    - static_cast<TSVConn>
    - TSVConnWrite
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int transform_send_os_resp(TSCont contp, TransformData *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:756,1
    - Dst: handle_write_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:757,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:759,1
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - contp
    - data
    - event
    - edata
    argTypes:
    - TSCont
    - TransformData*
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 750
    functionDepth: 6
    functionLinenumber: 750
    functionLinenumberEnd: 767
    functionName: transform_connect_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSVConn>
    - handle_invalid_icap_behavior
    - handle_write_header
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transform_connect_event(TSCont contp, TransformData *data, TSEvent
      event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transform_write_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:774,1
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:776,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - contp
    - data
    - event
    argTypes:
    - TSCont
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 6
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: transform_write_header_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - transform_write_body
    - TSVIOReenable
    - handle_invalid_icap_behavior
    linkageType: ''
    returnType: int
    signature: int transform_write_header_event(TSCont contp, TransformData *data,
      TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transform_read_icap_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:791,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:793,1
    - Dst: setup_icap_status_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:800,1
    - Dst: transform_buffer_os_resp
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:801,1
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:803,1
    - Dst: handle_write_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - contp
    - data
    - event
    argTypes:
    - TSCont
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 786
    functionDepth: 6
    functionLinenumber: 786
    functionLinenumberEnd: 811
    functionName: transform_write_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - setup_icap_status_header
    - transform_buffer_os_resp
    - transform_read_icap_header
    - handle_write_body
    - handle_invalid_icap_behavior
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transform_write_event(TSCont contp, TransformData *data, TSEvent
      event, void * /* edata ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:820,1
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:821,1
    - Dst: TransformData*::icap_header::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:825,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:829,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:830,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:830,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:833,1
    - Dst: TransformData*::icap_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:838,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:839,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:841,1
    - Dst: TransformData*::icap_header::resize
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:842,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:844,1
    - Dst: handle_icap_headers
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:845,1
    - Dst: transform_send_os_resp
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:846,1
    - Dst: transform_read_http_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:848,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - contp
    - data
    - event
    argTypes:
    - TSCont
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 813
    functionDepth: 7
    functionLinenumber: 813
    functionLinenumberEnd: 867
    functionName: transform_read_icap_header_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderConsume
    - TransformData*::icap_header::resize
    - transform_send_os_resp
    - const_cast<char *>
    - TSIOBufferReaderStart
    - TransformData*::icap_header::size
    - TSIOBufferBlockReadStart
    - std::string
    - handle_icap_headers
    - transform_read_http_header
    - static_cast<int64_t>
    - std::string_view
    - TransformData*::icap_header::find
    - handle_invalid_icap_behavior
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transform_read_icap_header_event(TSCont contp, TransformData *data,
      TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:874,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:877,1
    - Dst: handle_invalid_icap_behavior
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:878,1
    - Dst: TransformData*::http_header::size
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:882,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:886,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:887,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:887,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:890,1
    - Dst: TransformData*::http_header::find
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:894,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:895,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:897,1
    - Dst: TransformData*::http_header::resize
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:898,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:900,1
    - Dst: handle_icap_http_header
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:901,1
    - Dst: transform_read_http_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:902,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:907,1
    - Dst: transform_read_http_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - contp
    - data
    - event
    argTypes:
    - TSCont
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 869
    functionDepth: 6
    functionLinenumber: 869
    functionLinenumberEnd: 924
    functionName: transform_read_http_header_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 1
    functionsReached:
    - TransformData*::http_header::find
    - TSIOBufferReaderConsume
    - handle_icap_http_header
    - TransformData*::http_header::size
    - const_cast<char *>
    - TSIOBufferReaderStart
    - TSIOBufferBlockReadStart
    - TransformData*::http_header::resize
    - std::string
    - transform_read_http_body
    - static_cast<int64_t>
    - handle_invalid_icap_behavior
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int transform_read_http_header_event(TSCont contp, TransformData *data,
      TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:931,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:935,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:940,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:941,1
    - Dst: handle_read_http_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:945,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:946,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:949,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:952,1
    - Dst: handle_read_http_body
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:953,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 960
    functionName: transform_read_http_body_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnAbort
    - TSVConnShutdown
    - handle_read_http_body
    - TSVIOReenable
    linkageType: ''
    returnType: int
    signature: int transform_read_http_body_event(TSCont /* contp ATS_UNUSED */, TransformData
      *data, TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:967,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 976
    functionName: transform_send_error_msg_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnShutdown
    - TSVIOReenable
    linkageType: ''
    returnType: int
    signature: int transform_send_error_msg_event(TSCont /* contp ATS_UNUSED */, TransformData
      *data, TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:983,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 991
    functionName: transform_bypass_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnShutdown
    - TSVIOReenable
    linkageType: ''
    returnType: int
    signature: int transform_bypass_event(TSCont /* contp ATS_UNUSED */, TransformData
      *data, TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1000,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1002,1
    - Dst: transform_send_os_resp
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1003,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1006,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1011,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1011,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1017,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1017,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1021,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1021,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1025,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1025,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1031,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1034,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1034,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1038,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1038,1
    - Dst: transform_send_os_resp
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - contp
    - data
    argTypes:
    - TSCont
    - TransformData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1044
    functionName: transform_buffer_os_resp_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVIOBufferGet
    - TSVConnWriteVIOGet
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSVIONDoneSet
    - TSContCall
    - transform_send_os_resp
    - TSVIOContGet
    - TSVIOReaderGet
    - TSIOBufferCopy
    - TSVIONTodoGet
    - TSVIONDoneGet
    linkageType: ''
    returnType: int
    signature: int transform_buffer_os_resp_event(TSCont contp, TransformData *data,
      TSEvent /* event ATS_UNUSED */, void * /* edata ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1052,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - TransformData*
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1060
    functionName: transform_send_os_resp_event
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSVConnShutdown
    - TSVIOReenable
    linkageType: ''
    returnType: int
    signature: int transform_send_os_resp_event(TSCont /* contp ATS_UNUSED */, TransformData
      *data, TSEvent event, void * /* edata ATS_UNUSED */)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1066,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1067,1
    - Dst: transform_destroy
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1068,1
    - Dst: static_cast<TransformData *>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1073,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1073,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1075,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1078,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1078,1
    - Dst: transform_connect
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1082,1
    - Dst: transform_connect_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1085,1
    - Dst: transform_write_header_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1088,1
    - Dst: transform_write_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1091,1
    - Dst: transform_read_icap_header_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1094,1
    - Dst: transform_read_http_header_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1097,1
    - Dst: transform_read_http_body_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1100,1
    - Dst: transform_send_error_msg_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1103,1
    - Dst: transform_bypass_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1106,1
    - Dst: transform_buffer_os_resp_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1109,1
    - Dst: transform_send_os_resp_event
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1112,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1062
    functionDepth: 8
    functionLinenumber: 1062
    functionLinenumberEnd: 1118
    functionName: transform_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 2
    functionsReached:
    - TSVConnClosedGet
    - static_cast<int>
    - transform_write_header_event
    - transform_write_event
    - static_cast<TransformData *>
    - transform_destroy
    - TSError
    - transform_bypass_event
    - transform_connect_event
    - transform_read_icap_header_event
    - transform_read_http_header_event
    - transform_read_http_body_event
    - Dbg
    - transform_send_error_msg_event
    - transform_buffer_os_resp_event
    - transform_send_os_resp_event
    - TSContDataGet
    - transform_connect
    linkageType: ''
    returnType: int
    signature: int transform_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1127
    functionName: request_ok
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int request_ok(TSHttpTxn /* txnp ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_port
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1145,1
    - Dst: TSHttpTxnServerAddrGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1145,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1149,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1150,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1154,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1156,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1157,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1161,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1129
    functionDepth: 5
    functionLinenumber: 1129
    functionLinenumberEnd: 1166
    functionName: server_response_ok
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnServerAddrGet
    - TSHandleMLocRelease
    - TSError
    - TSHttpHdrStatusGet
    - get_port
    - TSHttpTxnServerRespGet
    linkageType: ''
    returnType: int
    signature: int server_response_ok(TSHttpTxn txnp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1171,1
    - Dst: request_ok
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1175,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1176,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1178,1
    - Dst: server_response_ok
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1181,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1182,1
    - Dst: transform_create
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1182,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1190
    functionName: transform_plugin
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - server_response_ok
    - TSHttpTxnHookAdd
    - request_ok
    - static_cast<TSHttpTxn>
    - transform_create
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transform_plugin(TSCont contp, TSEvent event, void *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1202,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1203,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1206,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1207,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1208,1
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1209,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1212,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1213,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1216,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1217,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1220,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1222,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1225,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1227,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1230,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1232,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1235,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1237,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1240,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1241,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1242,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1243,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1244,1
    - Dst: TSStatIntSet
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1245,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1247,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc:1248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1249
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/icap/icap_plugin.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSError
    - std::stoi
    - TSHttpHookAdd
    - TSStatIntSet
    - TSStatFindName
    - std::string
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - headers
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: HttpTextMapCarrier::HttpTextMapCarrier
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTextMapCarrier(T &headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: HttpTextMapCarrier::HttpTextMapCarrier
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTextMapCarrier()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nostd::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:77,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:78,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - nostd::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: HttpTextMapCarrier::Get
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - nostd::string_view::data
    - find
    - end
    linkageType: ''
    returnType: nostd::string_view
    signature: nostd::string_view Get(nostd::string_view key) const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - nostd::string_view
    - nostd::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: HttpTextMapCarrier::Set
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::pair<std::string, std::string>
    - insert
    - std::string
    linkageType: ''
    returnType: void
    signature: void Set(nostd::string_view key, nostd::string_view value) noexcept
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::SetAttribute
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - status
    argTypes:
    - ExtraRequestData*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: SetSpanStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::SetAttribute
    linkageType: ''
    returnType: void
    signature: void SetSpanStatus(ExtraRequestData *This, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::SetStatus
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ExtraRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: SetSpanError
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::SetStatus
    linkageType: ''
    returnType: void
    signature: void SetSpanError(ExtraRequestData *This)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::End
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - This
    argTypes:
    - ExtraRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: Destruct
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::End
    linkageType: ''
    returnType: int
    signature: int Destruct(ExtraRequestData *This)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:131,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:135,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:137,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:137,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:140,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:140,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:147,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:148,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:148,1
    - Dst: std::unique_ptr<sdktrace::Sampler>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:149,1
    - Dst: std::make_shared<sdktrace::TraceIdRatioBasedSampler>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:150,1
    - Dst: sdktrace::ParentBasedSampler::ParentBasedSampler
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:149,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:153,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:153,1
    - Dst: trace::Provider::SetTracerProvider
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:156,1
    - Dst: context::propagation::GlobalTextMapPropagator::SetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:159,1
    - Dst: nostd::shared_ptr<context::propagation::TextMapPropagator>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:160,1
    - Dst: trace::propagation::B3PropagatorMultiHeader::B3PropagatorMultiHeader
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - url
    - service_name
    - rate
    - qsize
    - delay
    - bsize
    argTypes:
    - std::string
    - std::string
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: InitTracer
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<sdktrace::Sampler>
    - nostd::shared_ptr<context::propagation::TextMapPropagator>
    - std::vector::push_back
    - std::make_shared<sdktrace::TraceIdRatioBasedSampler>
    - proxy_wasm::exports::set_tick_period_milliseconds
    - trace::propagation::B3PropagatorMultiHeader::B3PropagatorMultiHeader
    - sdktrace::ParentBasedSampler::ParentBasedSampler
    - std::move
    - context::propagation::GlobalTextMapPropagator::SetGlobalPropagator
    - TSMBufferCreate
    - trace::Provider::SetTracerProvider
    linkageType: ''
    returnType: void
    signature: void InitTracer(const std::string &url, const std::string &service_name,
      double rate, int qsize, int delay, int bsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace::Provider::GetTracerProvider
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:166,1
    - Dst: auto::GetTracer
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tracer_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: get_tracer
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - trace::Provider::GetTracerProvider
    - auto::GetTracer
    linkageType: ''
    returnType: nostd::shared_ptr<trace::Tracer>
    signature: nostd::shared_ptr<trace::Tracer> get_tracer(std::string tracer_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:173,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: get_span_name
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: nostd::string_view
    signature: nostd::string_view get_span_name(std::string_view path_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - method_str
    - target_str
    - path_str
    - host_str
    - ua_str
    - port
    - scheme_str
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: get_span_attributes
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: std::map<nostd::string_view, opentelemetry::common::AttributeValue>
    signature: "std::map<nostd::string_view, opentelemetry::common::AttributeValue>
      get_span_attributes(std::string_view method_str, std::string_view target_str,
      std::string_view path_str, std::string_view host_str,\n                    std::string_view
      ua_str, int port, std::string_view scheme_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:201,1
    - Dst: context::RuntimeContext::GetCurrent
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:202,1
    - Dst: auto::Extract
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:203,1
    - Dst: trace::GetSpan
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent_headers
    argTypes:
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: get_span_options
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - auto::Extract
    - context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
    - trace::GetSpan
    - context::RuntimeContext::GetCurrent
    linkageType: ''
    returnType: trace::StartSpanOptions
    signature: trace::StartSpanOptions get_span_options(std::map<std::string, std::string>
      parent_headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opentelemetry::context::RuntimeContext::GetCurrent
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:212,1
    - Dst: HttpTextMapCarrier::HttpTextMapCarrier
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:213,1
    - Dst: opentelemetry::context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:214,1
    - Dst: auto::Inject
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: get_trace_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - opentelemetry::context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
    - HttpTextMapCarrier::HttpTextMapCarrier
    - auto::Inject
    - opentelemetry::context::RuntimeContext::GetCurrent
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> get_trace_headers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - headers
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: HttpTextMapCarrier::HttpTextMapCarrier
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTextMapCarrier(T &headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: HttpTextMapCarrier::HttpTextMapCarrier
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpTextMapCarrier()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nostd::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:77,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:78,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - nostd::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: HttpTextMapCarrier::Get
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - nostd::string_view::data
    - find
    - end
    linkageType: ''
    returnType: nostd::string_view
    signature: nostd::string_view Get(nostd::string_view key) const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - nostd::string_view
    - nostd::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: HttpTextMapCarrier::Set
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::pair<std::string, std::string>
    - insert
    - std::string
    linkageType: ''
    returnType: void
    signature: void Set(nostd::string_view key, nostd::string_view value) noexcept
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::SetAttribute
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - status
    argTypes:
    - ExtraRequestData*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: SetSpanStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::SetAttribute
    linkageType: ''
    returnType: void
    signature: void SetSpanStatus(ExtraRequestData *This, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::SetStatus
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ExtraRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: SetSpanError
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::SetStatus
    linkageType: ''
    returnType: void
    signature: void SetSpanError(ExtraRequestData *This)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExtraRequestData*::span::End
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - This
    argTypes:
    - ExtraRequestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: Destruct
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - ExtraRequestData*::span::End
    linkageType: ''
    returnType: int
    signature: int Destruct(ExtraRequestData *This)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:131,1
    - Dst: proxy_wasm::exports::set_tick_period_milliseconds
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:135,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:137,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:137,1
    - Dst: std::vector::push_back
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:140,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:140,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:147,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:148,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:148,1
    - Dst: std::unique_ptr<sdktrace::Sampler>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:149,1
    - Dst: std::make_shared<sdktrace::TraceIdRatioBasedSampler>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:150,1
    - Dst: sdktrace::ParentBasedSampler::ParentBasedSampler
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:149,1
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:153,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:153,1
    - Dst: trace::Provider::SetTracerProvider
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:156,1
    - Dst: context::propagation::GlobalTextMapPropagator::SetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:159,1
    - Dst: nostd::shared_ptr<context::propagation::TextMapPropagator>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:160,1
    - Dst: trace::propagation::B3PropagatorMultiHeader::B3PropagatorMultiHeader
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - url
    - service_name
    - rate
    - qsize
    - delay
    - bsize
    argTypes:
    - std::string
    - std::string
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: InitTracer
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<sdktrace::Sampler>
    - nostd::shared_ptr<context::propagation::TextMapPropagator>
    - std::vector::push_back
    - std::make_shared<sdktrace::TraceIdRatioBasedSampler>
    - proxy_wasm::exports::set_tick_period_milliseconds
    - trace::propagation::B3PropagatorMultiHeader::B3PropagatorMultiHeader
    - sdktrace::ParentBasedSampler::ParentBasedSampler
    - std::move
    - context::propagation::GlobalTextMapPropagator::SetGlobalPropagator
    - TSMBufferCreate
    - trace::Provider::SetTracerProvider
    linkageType: ''
    returnType: void
    signature: void InitTracer(const std::string &url, const std::string &service_name,
      double rate, int qsize, int delay, int bsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trace::Provider::GetTracerProvider
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:166,1
    - Dst: auto::GetTracer
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tracer_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: get_tracer
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - trace::Provider::GetTracerProvider
    - auto::GetTracer
    linkageType: ''
    returnType: nostd::shared_ptr<trace::Tracer>
    signature: nostd::shared_ptr<trace::Tracer> get_tracer(std::string tracer_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:173,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path_str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: get_span_name
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: nostd::string_view
    signature: nostd::string_view get_span_name(std::string_view path_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:182,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:183,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:184,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:185,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:186,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - method_str
    - target_str
    - path_str
    - host_str
    - ua_str
    - port
    - scheme_str
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: get_span_attributes
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: std::map<nostd::string_view, opentelemetry::common::AttributeValue>
    signature: "std::map<nostd::string_view, opentelemetry::common::AttributeValue>
      get_span_attributes(std::string_view method_str, std::string_view target_str,
      std::string_view path_str, std::string_view host_str,\n                    std::string_view
      ua_str, int port, std::string_view scheme_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:201,1
    - Dst: context::RuntimeContext::GetCurrent
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:202,1
    - Dst: auto::Extract
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:203,1
    - Dst: trace::GetSpan
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent_headers
    argTypes:
    - std::map<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: get_span_options
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - auto::Extract
    - context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
    - trace::GetSpan
    - context::RuntimeContext::GetCurrent
    linkageType: ''
    returnType: trace::StartSpanOptions
    signature: trace::StartSpanOptions get_span_options(std::map<std::string, std::string>
      parent_headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opentelemetry::context::RuntimeContext::GetCurrent
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:212,1
    - Dst: HttpTextMapCarrier::HttpTextMapCarrier
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:213,1
    - Dst: opentelemetry::context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:214,1
    - Dst: auto::Inject
      Src: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: get_trace_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/tracer_common.h
    functionUses: 0
    functionsReached:
    - opentelemetry::context::propagation::GlobalTextMapPropagator::GetGlobalPropagator
    - HttpTextMapCarrier::HttpTextMapCarrier
    - auto::Inject
    - opentelemetry::context::RuntimeContext::GetCurrent
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> get_trace_headers()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:49,1
    - Dst: static_cast<ExtraRequestData *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:50,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:50,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:52,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:55,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:59,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:60,1
    - Dst: auto::SetSpanStatus
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:61,1
    - Dst: auto::SetSpanError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:63,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:66,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:72,1
    - Dst: auto::Destruct
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:73,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:76,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: close_txn
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpTxnClientRespGet
    - TSError
    - TSHttpHdrStatusGet
    - static_cast<ExtraRequestData *>
    - auto::Destruct
    - TSContDestroy
    - auto::SetSpanStatus
    - Dbg
    - auto::SetSpanError
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int close_txn(TSCont contp, TSEvent event, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:85,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:90,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:93,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:95,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:97,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:100,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:101,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:104,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:105,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - buf
    - hdr_loc
    - key
    - key_len
    - val
    - val_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: set_request_header
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: void
    signature: void set_request_header(TSMBuffer buf, TSMLoc hdr_loc, const char *key,
      int key_len, const char *val, int val_len)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:121,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:122,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:123,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:124,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:130,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:131,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:132,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:133,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:140,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:141,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:141,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:147,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:149,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:149,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:149,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:151,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:155,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:155,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:155,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:157,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:165,1
    - Dst: TSUrlPortGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:169,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:174,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:185,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:189,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:189,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:189,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:193,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:198,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:198,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:198,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:202,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:206,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:206,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:206,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:210,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:214,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:214,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:214,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:218,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:222,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:222,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:222,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:226,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:233,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:249,1
    - Dst: get_tracer
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:250,1
    - Dst: get_span_name
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:251,1
    - Dst: get_span_attributes
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:251,1
    - Dst: get_span_options
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:252,1
    - Dst: get_tracer
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:254,1
    - Dst: get_trace_headers
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:256,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:258,1
    - Dst: set_request_header
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:260,1
    - Dst: first::c_str
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:260,1
    - Dst: first::size
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:260,1
    - Dst: second::c_str
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:260,1
    - Dst: second::size
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:260,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:264,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:265,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:267,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:269,1
    - Dst: ExtraRequestData::ExtraRequestData
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:270,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:272,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:276,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:278,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:281,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:284,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:287,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:290,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:293,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:296,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:299,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:302,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:304,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:306,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 307
    functionName: read_request
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc
    functionUses: 8
    functionsReached:
    - TSHandleMLocRelease
    - TSHttpHdrMethodGet
    - get_trace_headers
    - TSHttpTxnEffectiveUrlStringGet
    - first::size
    - TSHttpTxnClientReqGet
    - TSUrlSchemeGet
    - TSMimeHdrFieldFind
    - TSfree
    - get_tracer
    - length
    - std::string::append
    - data
    - TSUrlPathGet
    - TSError
    - TSHttpTxnHookAdd
    - TSUrlPortGet
    - get_span_name
    - set_request_header
    - Dbg
    - TSContCreate
    - TSHttpHdrUrlGet
    - std::string_view
    - get_span_attributes
    - TSHttpTxnReenable
    - second::size
    - TSMimeHdrFieldValueStringGet
    - TSContDataSet
    - first::c_str
    - second::c_str
    - TSUrlHostGet
    - get_span_options
    - ExtraRequestData::ExtraRequestData
    linkageType: ''
    returnType: void
    signature: void read_request(TSHttpTxn txnp, TSCont /* contp ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:312,1
    - Dst: read_request
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 322
    functionName: plugin_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc
    functionUses: 0
    functionsReached:
    - read_request
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int plugin_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:343,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:344,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:345,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:346,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:347,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:348,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:353,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:353,1
    - Dst: atof
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:362,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:364,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:368,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:370,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:374,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:376,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:380,1
    - Dst: TSEmergency
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:382,1
    - Dst: InitTracer
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:390,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:392,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:393,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:397,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:397,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:401,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc:404,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 406
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/otel_tracer/otel_tracer.cc
    functionUses: 0
    functionsReached:
    - getopt_long
    - TSError
    - const_cast<char *>
    - TSHttpHookAdd
    - const_cast<char *const *>
    - atoi
    - Dbg
    - atof
    - TSContCreate
    - TSEmergency
    - InitTracer
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - s
    - level
    - optname
    - optval
    - optlevel
    argTypes:
    - int
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: safe_setsockopt
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 8
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int safe_setsockopt(int s, int level, int optname, char *optval, int
      optlevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:66,1
    - Dst: read
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:71,1
    - Dst: close
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:75,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:83,1
    - Dst: close
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: fq_is_default_qdisc
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - strncmp
    - read
    - open
    - close
    linkageType: ''
    returnType: int
    signature: int fq_is_default_qdisc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:97,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:105,1
    - Dst: fq_is_default_qdisc
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:107,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:108,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - snprintf
    - CHECK_REMAP_API_COMPATIBILITY
    - fq_is_default_qdisc
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:122,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:133,1
    - Dst: strtoul
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:137,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:139,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:149,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:154,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:155,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 161
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - memset
    - strtoul
    - TSRalloc
    - getopt_long
    - Dbg
    - snprintf
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:166,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:169,1
    - Dst: static_cast<fq_pacing_cfg_t *>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - static_cast<fq_pacing_cfg_t *>
    - TSfree
    - TSError
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:176,1
    - Dst: static_cast<fq_pacing_cont_t *>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:177,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:182,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:184,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:184,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:188,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:193,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:194,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: reset_pacing_cont
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - TSfree
    - safe_setsockopt
    - TSError
    - static_cast<fq_pacing_cont_t *>
    - TSContDestroy
    - Dbg
    - reinterpret_cast<char *>
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int reset_pacing_cont(TSCont contp, TSEvent /* event ATS_UNUSED */,
      void *edata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientProtocolStackContains
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:202,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:203,1
    - Dst: TSHttpTxnClientFdGet
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:208,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:209,1
    - Dst: static_cast<fq_pacing_cfg_t *>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:213,1
    - Dst: safe_setsockopt
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:216,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:216,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:219,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:221,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:226,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:228,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:230,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - instance
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/fq_pacing/fq_pacing.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - safe_setsockopt
    - TSError
    - TSHttpTxnHookAdd
    - static_cast<fq_pacing_cfg_t *>
    - TSContDataSet
    - TSHttpTxnClientFdGet
    - Dbg
    - reinterpret_cast<char *>
    - TSContCreate
    - TSHttpTxnClientProtocolStackContains
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap([[maybe_unused]] void *instance, TSHttpTxn
      txnp, TSRemapRequestInfo * /* rri ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - len
    - maxp
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: room
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool room(const char *p, const int len, const char *maxp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p
    - maxp
    - c
    argTypes:
    - char**
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: write_char_if_room
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 0
    functionsReached:
    - room
    linkageType: ''
    returnType: void
    signature: void write_char_if_room(char **p, const char *maxp, const char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:71,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p
    - maxp
    - slen
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: write_spaces_if_room
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 0
    functionsReached:
    - memset
    - room
    linkageType: ''
    returnType: void
    signature: void write_spaces_if_room(char **p, const char *maxp, int &slen)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:95,1
    - Dst: write_spaces_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:168,1
    - Dst: write_char_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:171,1
    - Dst: write_spaces_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:178,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 80
    argCount: 5
    argNames:
    - r
    - in_end
    - w
    - out_end
    - flags
    argTypes:
    - char*
    - char*
    - char**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 182
    functionName: stripped_core
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 0
    functionsReached:
    - write_spaces_if_room
    - static_cast<unsigned char>
    - write_char_if_room
    linkageType: ''
    returnType: int
    signature: int stripped_core(const char *r, const char *in_end, char **w, const
      char *out_end, unsigned int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strip_whitespace
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:215,1
    - Dst: copy_whitespace
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:217,1
    - Dst: write_char_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:222,1
    - Dst: stripped_core
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:228,1
    - Dst: write_char_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:232,1
    - Dst: write_char_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - in
    - in_len
    - out
    - out_len
    - flags
    argTypes:
    - char*
    - ssize_t
    - char*
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 251
    functionName: get_stripped
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 0
    functionsReached:
    - stripped_core
    - copy_whitespace
    - write_char_if_room
    - strip_whitespace
    linkageType: ''
    returnType: int
    signature: int get_stripped(const char *in, ssize_t in_len, char *out, int *out_len,
      unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_char_if_room
      Src: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - r
    - in_end
    - w
    - out_end
    argTypes:
    - char**
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: copy_whitespace
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 1
    functionsReached:
    - write_char_if_room
    linkageType: ''
    returnType: int
    signature: int copy_whitespace(const char **r, const char *in_end, char **w, const
      char *out_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 2
    argNames:
    - r
    - in_end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: strip_whitespace
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/strip.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strip_whitespace(const char **r, const char **in_end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:60,1
    - Dst: CookieJar::parse
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - strCookie
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: CookieJar::create
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 0
    functionsReached:
    - CookieJar::parse
    - string::empty
    linkageType: ''
    returnType: bool
    signature: bool CookieJar::create(const string &strCookie)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:78,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:78,1
    - Dst: strsep
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:84,1
    - Dst: strsep
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:84,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:85,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:91,1
    - Dst: CookieJar::verify_value
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:109,1
    - Dst: CookieJar::verify_name
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:125,1
    - Dst: CookieJar::addElement
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:130,1
    - Dst: CookieJar::addSubElement
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:132,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - arg
    - sepstr
    - val_check
    - mainElement
    argTypes:
    - string
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 138
    functionName: CookieJar::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 1
    functionsReached:
    - strsep
    - free
    - CookieJar::addElement
    - CookieJar::verify_name
    - strdup
    - strchr
    - string::c_str
    - strlen
    - CookieJar::verify_value
    - CookieJar::addSubElement
    linkageType: ''
    returnType: int
    signature: int CookieJar::parse(const string &arg, const char *sepstr, bool val_check,
      bool mainElement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:146,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: CookieJar::addElement
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 1
    functionsReached:
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void CookieJar::addElement(const char *key, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_subelements::insert
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:153,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: CookieJar::addSubElement
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 1
    functionsReached:
    - m_subelements::insert
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void CookieJar::addSubElement(const char *key, const char *val)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:166,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:168,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:168,1
    - Dst: get_stripped
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:178,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:180,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:191,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:196,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - val
    - val_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 202
    functionName: CookieJar::verify_value
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - memcpy
    - free
    - get_stripped
    - static_cast<char *>
    - malloc
    linkageType: ''
    returnType: int
    signature: int CookieJar::verify_value(char *val, int val_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: CookieJar::verify_name
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CookieJar::verify_name(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:224,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cookie_name
    - val
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: CookieJar::get_full
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool CookieJar::get_full(const string &cookie_name, string &val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:234,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:238,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:238,1
    - Dst: CookieJar::parse
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:251,1
    - Dst: CookieVal::m_subelements::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:259,1
    - Dst: CookieVal::m_subelements::end
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - cookie_name
    - part_name
    - val
    argTypes:
    - string
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 265
    functionName: CookieJar::get_part
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.cc
    functionUses: 0
    functionsReached:
    - CookieVal::m_subelements::find
    - find
    - CookieJar::parse
    - end
    - empty
    - CookieVal::m_subelements::end
    linkageType: ''
    returnType: bool
    signature: bool CookieJar::get_part(const string &cookie_name, const string &part_name,
      string &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: CookieJar::CookieJar
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CookieJar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~CookieJar()
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CookieJar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: CookieJar::CookieJar
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CookieJar(const CookieJar &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '&operator=(const CookieJar &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookiejar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CookieJar
    signature: CookieJar &operator=(const CookieJar &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: MASK
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_fnv32_buf
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:53,1
    - Dst: MASK
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:56,1
    - Dst: MASK
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - nbits
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: fnv32_nbits
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc
    functionUses: 0
    functionsReached:
    - hash_fnv32_buf
    - MASK
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fnv32_nbits(const char *buf, int len, int nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ffs
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:75,1
    - Dst: fnv32_nbits
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:79,1
    - Dst: hash_fnv32_buf
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - len
    - num_buckets
    argTypes:
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: hash_fnv32_buckets
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc
    functionUses: 0
    functionsReached:
    - hash_fnv32_buf
    - ffs
    - fnv32_nbits
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_fnv32_buckets(const char *buf, size_t len, uint32_t num_buckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: hash_fnv32_buf
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/hash.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_fnv32_buf(const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SV
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FMT_SV
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMT_SV(SV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rri
    - txn
    argTypes:
    - TSRemapRequestInfo*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: UrlComponents::UrlComponents
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlComponents(TSRemapRequestInfo *rri, TSHttpTxn txn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: path_str::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:59,1
    - Dst: _get_url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:60,1
    - Dst: _get_url_comp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pre_remap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: "&\n  path(bool pre_remap)"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - _get_url
    - path_str::empty
    - _get_url_comp
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  path(bool pre_remap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:72,1
    - Dst: UrlComponents::_get_url_comp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:73,1
    - Dst: UrlComponents::_get_url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pre_remap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: UrlComponents::query
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - UrlComponents::_get_url_comp
    - UrlComponents::_get_url
    - query::empty
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view query(bool pre_remap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:81,1
    - Dst: UrlComponents::_get_url_comp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: UrlComponents::from_path
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - empty
    - UrlComponents::_get_url_comp
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view from_path()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: url::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:91,1
    - Dst: UrlComponents::_get_url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:92,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:94,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pre_remap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: UrlComponents::url
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - std::string_view
    - UrlComponents::_get_url
    - url::empty
    - TSUrlStringGet
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view url(bool pre_remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: UrlComponents::UrlComponents
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UrlComponents(UrlComponents const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '&operator=(UrlComponents const &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UrlComponents
    signature: UrlComponents &operator=(UrlComponents const &)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:109,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:110,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:110,1
    - Dst: url::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:110,1
    - Dst: url::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:112,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:113,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:113,1
    - Dst: url::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: ~UrlComponents()
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - url::data
    - TSfree
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void ~UrlComponents()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:149,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:150,1
    - Dst: _UrlHandle
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pre_remap
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: UrlComponents::_get_url
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 2
    functionsReached:
    - _UrlHandle
    - TSHttpTxnPristineUrlGet
    - TSError
    linkageType: ''
    returnType: _UrlHandle
    signature: _UrlHandle _get_url(bool pre_remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_func
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:166,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - urlh
    - (*comp_func)(TSMBuffer, TSMLoc, int *)
    argTypes:
    - _UrlHandle
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: UrlComponents::_get_url_comp
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 2
    functionsReached:
    - comp_func
    - std::string_view
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view _get_url_comp(_UrlHandle urlh, char const *(*comp_func)(TSMBuffer,
      TSMLoc, int *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - _num
    - hdigits
    argTypes:
    - type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: dec_to_hex
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dec_to_hex(type _num, char *hdigits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:222,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:225,1
    - Dst: std::string::resize
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:233,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:235,1
    - Dst: dec_to_hex
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: urlencode
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::resize
    - dec_to_hex
    - isalnum
    linkageType: ''
    returnType: void
    signature: void urlencode(std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: subop::subop
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void subop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:263,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:265,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: ~subop()
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void ~subop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: subop::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: subop::setCookieName
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCookieName(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: "&\n  getCookieName() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getCookieName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: "&\n  getOperation() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getOperation() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: subop::getOpType
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation_type
    signature: operation_type getOpType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: subop::getTargetType
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: target_type
    signature: target_type getTargetType() const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: subop::setOperation
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOperation(const std::string &s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: subop::setTarget
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTarget(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: subop::setStringMatch
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setStringMatch(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: "&\n  getStringMatch() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getStringMatch() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:359,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:363,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:363,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:364,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: subop::setBucket
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - atoi
    - std::string::find
    - substr
    linkageType: ''
    returnType: void
    signature: void setBucket(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: subop::bucketGetTaking
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bucketGetTaking() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: subop::bucketOutOf
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bucketOutOf() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:388,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:388,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:393,1
    - Dst: pcre_fullinfo
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 403
    functionName: subop::setRegexMatch
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - pcre_compile
    - c_str
    - pcre_study
    - pcre_fullinfo
    linkageType: ''
    returnType: bool
    signature: bool setRegexMatch(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: "&\n  getRegexString() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getRegexString() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: subop::getRegexCcount
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getRegexCcount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - ovector
    argTypes:
    - char*
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: subop::regexMatch
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: int regexMatch(const char *str, int len, int ovector[]) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:433,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:434,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:434,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:435,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:435,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:436,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:437,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:437,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:440,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:440,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:442,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:443,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:443,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:444,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: subop::printSubOp
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void printSubOp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: op::op
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void op()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: ~op()
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    linkageType: ''
    returnType: void
    signature: void ~op()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:480,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::unique_ptr<subop>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: op::addSubOp
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void addSubOp(std::unique_ptr<subop> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: op::setSendTo
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSendTo(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: "&\n  getSendTo() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  getSendTo() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: op::setElseSendTo
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setElseSendTo(const std::string &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:504,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:505,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:505,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:505,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:507,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:507,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: op::setStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - atoi
    - size
    - std::string::c_str
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void setStatus(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:514,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:514,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: op::setElseStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - atoi
    - std::string::c_str
    - static_cast<TSHttpStatus>
    linkageType: ''
    returnType: void
    signature: void setElseStatus(const std::string &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:520,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:521,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:521,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:522,1
    - Dst: printSubOp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:525,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:527,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:528,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 530
    functionName: op::printOp
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - c_str
    - printSubOp
    - size
    linkageType: ''
    returnType: void
    signature: void printOp() const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:548,1
    - Dst: getOpType
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:552,1
    - Dst: getTargetType
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:553,1
    - Dst: getCookieName
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:555,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:556,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:557,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:557,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:559,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:563,1
    - Dst: CookieJar::get_full
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:565,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:566,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:566,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:569,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:570,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:572,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:573,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:573,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:574,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:574,1
    - Dst: CookieJar::get_part
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:576,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:586,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:590,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:595,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:595,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:603,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:608,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:614,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:614,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:624,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:624,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:637,1
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:654,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:655,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:655,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:656,1
    - Dst: std::string::insert
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:657,1
    - Dst: UrlComponents::query
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:659,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:660,1
    - Dst: getStringMatch
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:673,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:674,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:677,1
    - Dst: regexMatch
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:686,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:686,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:686,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:689,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:692,1
    - Dst: std::string::reserve
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:696,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:696,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:701,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:702,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:706,1
    - Dst: getRegexString
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:706,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:706,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:710,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:713,1
    - Dst: getRegexCcount
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:716,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:717,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:718,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:721,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:727,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:730,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:732,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:735,1
    - Dst: getRegexString
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:739,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:739,1
    - Dst: bucketGetTaking
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:747,1
    - Dst: bucketOutOf
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:748,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:753,1
    - Dst: hash_fnv32_buckets
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:761,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:761,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:761,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:762,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:768,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:771,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:781,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:789,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 134
    argCount: 5
    argNames:
    - jar
    - dest
    - retstat
    - rri
    - req_url
    argTypes:
    - CookieJar
    - std::string
    - TSHttpStatus
    - TSRemapRequestInfo*
    - UrlComponents
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 799
    functionName: op::process
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - getStringMatch
    - bucketOutOf
    - getCookieName
    - CookieJar::get_full
    - getRegexString
    - size
    - std::string::erase
    - auto::size
    - length
    - bucketGetTaking
    - getTargetType
    - std::string::length
    - substr
    - std::string::c_str
    - CookieJar::get_part
    - UrlComponents::path
    - std::string::reserve
    - find
    - std::string::find_first_of
    - getOpType
    - Dbg
    - regexMatch
    - hash_fnv32_buckets
    - isdigit
    - std::string::size
    - std::string::insert
    - UrlComponents::query
    - c_str
    - getRegexCcount
    linkageType: ''
    returnType: bool
    signature: bool process(CookieJar &jar, std::string &dest, TSHttpStatus &retstat,
      TSRemapRequestInfo *rri, UrlComponents &req_url) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<subop>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:816,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:823,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:823,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:823,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:826,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:827,1
    - Dst: auto::setCookieName
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:830,1
    - Dst: op::setSendTo
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:834,1
    - Dst: op::setElseSendTo
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:838,1
    - Dst: op::setStatus
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:842,1
    - Dst: auto::setOperation
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:846,1
    - Dst: auto::setTarget
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:850,1
    - Dst: auto::setStringMatch
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:854,1
    - Dst: auto::setRegexMatch
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:858,1
    - Dst: auto::setBucket
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:866,1
    - Dst: op::addSubOp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:870,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:870,1
    - Dst: std::make_unique<subop>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:871,1
    - Dst: op::addSubOp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:875,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:875,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:879,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - o
    - q
    argTypes:
    - op
    - OpMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 881
    functionName: build_op
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - auto::setTarget
    - op::setElseSendTo
    - op::setSendTo
    - auto::setStringMatch
    - op::setStatus
    - op::addSubOp
    - Dbg
    - auto::setBucket
    - std::make_unique<subop>
    - auto::setCookieName
    - auto::setRegexMatch
    - auto::setOperation
    - std::move
    - auto::empty
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool build_op(op &o, OpMap const &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info ATS_UNUSED
      */, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:899,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:900,1
    - Dst: YAML::LoadFile
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:906,1
    - Dst: OpsQueue::OpsQueue
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:908,1
    - Dst: YAML::Node::begin
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:911,1
    - Dst: YAML::Node::end
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:911,1
    - Dst: YAML::const_iterator::first::as
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:912,1
    - Dst: YAML::const_iterator::second::Type
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:913,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:917,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:917,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:917,1
    - Dst: YAML::const_iterator::second::begin
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:921,1
    - Dst: YAML::const_iterator::second::end
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:921,1
    - Dst: YAML::Node::IsScalar
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:925,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:927,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:927,1
    - Dst: string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:927,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:931,1
    - Dst: YAML::Node::as
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:932,1
    - Dst: OpMap::emplace_back
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:933,1
    - Dst: OpMap::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:936,1
    - Dst: op::op
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:937,1
    - Dst: build_op
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:938,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:941,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:941,1
    - Dst: std::unique_ptr::push_back
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:944,1
    - Dst: op*::printOp
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:946,1
    - Dst: OpMap::clear
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:947,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:951,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:951,1
    - Dst: std::unique_ptr::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:951,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:952,1
    - Dst: std::unique_ptr::release
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:952,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:954,1
    - Dst: what
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:954,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:954,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 959
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - YAML::LoadFile
    - op::op
    - YAML::Node::begin
    - OpMap::clear
    - YAML::Node::IsScalar
    - what
    - OpMap::emplace_back
    - YAML::const_iterator::first::as
    - YAML::Node::end
    - string::c_str
    - OpsQueue::OpsQueue
    - std::string::c_str
    - static_cast<int>
    - TSError
    - std::unique_ptr::release
    - YAML::const_iterator::second::begin
    - Dbg
    - YAML::const_iterator::second::end
    - op*::printOp
    - std::unique_ptr::size
    - YAML::const_iterator::second::Type
    - std::unique_ptr::push_back
    - YAML::Node::as
    - OpMap::size
    - build_op
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:966,1
    - Dst: UrlComponents::from_path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:967,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:969,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:971,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:971,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:973,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:973,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:974,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req_url
    - pre_remap
    argTypes:
    - UrlComponents
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 977
    functionName: unmatched_path
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - UrlComponents::path
    - std::string::erase
    - Dbg
    - FMT_SV
    - std::string_view::size
    - UrlComponents::from_path
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string unmatched_path(UrlComponents &req_url, bool pre_remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - std::string_view
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: CompNext
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompNext(std::string_view p, int const *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 995
    functionName: SubUnmatched
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubUnmatched()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: SubP
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: SubCrReq
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubCrReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: SubCr
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubCr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1027
    functionName: Sub
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1051,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1052,1
    - Dst: reinterpret_cast<CompNext const *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1053,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - targ
    - targ_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: sub_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::comp::size
    - reinterpret_cast<char const *>
    - std::string_view
    - reinterpret_cast<CompNext const *>
    linkageType: ''
    returnType: int
    signature: int sub_lookup(char const *targ, int targ_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:966,1
    - Dst: UrlComponents::from_path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:967,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:969,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:971,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:971,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:973,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:973,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:974,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req_url
    - pre_remap
    argTypes:
    - UrlComponents
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 977
    functionName: unmatched_path
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - std::string::find
    - UrlComponents::path
    - std::string::erase
    - Dbg
    - FMT_SV
    - std::string_view::size
    - UrlComponents::from_path
    - std::string::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string unmatched_path(UrlComponents &req_url, bool pre_remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - std::string_view
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: CompNext
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompNext(std::string_view p, int const *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 995
    functionName: SubUnmatched
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubUnmatched()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: SubP
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: SubCrReq
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubCrReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: SubCr
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubCr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1027
    functionName: Sub
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1041,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1051,1
    - Dst: auto::comp::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1052,1
    - Dst: reinterpret_cast<CompNext const *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1053,1
    - Dst: reinterpret_cast<char const *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - targ
    - targ_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: sub_lookup
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - auto::comp::size
    - reinterpret_cast<char const *>
    - std::string_view
    - reinterpret_cast<CompNext const *>
    linkageType: ''
    returnType: int
    signature: int sub_lookup(char const *targ, int targ_len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1068,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1069,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1069,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1069,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1069,1
    - Dst: UrlComponents::url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1070,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1071,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1071,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1071,1
    - Dst: auto::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1071,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1078,1
    - Dst: sub_lookup
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1083,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1083,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1083,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1083,1
    - Dst: UrlComponents::url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1086,1
    - Dst: UrlComponents::url
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1091,1
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1096,1
    - Dst: UrlComponents::path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1101,1
    - Dst: unmatched_path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1106,1
    - Dst: unmatched_path
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1112,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1118,1
    - Dst: std::string_view
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1123,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1123,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1125,1
    - Dst: cr_substitutions
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1126,1
    - Dst: urlencode
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1127,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1140,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1140,1
    - Dst: FMT_SV
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1140,1
    - Dst: std::string::replace
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1142,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1142,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1144,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 2
    argNames:
    - obj
    - req_url
    argTypes:
    - std::string
    - UrlComponents
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1147
    functionName: cr_substitutions
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::string::find
    - cr_substitutions
    - UrlComponents::path
    - std::string::substr
    - std::string::size
    - auto::size
    - UrlComponents::url
    - std::string::data
    - size
    - Dbg
    - FMT_SV
    - unmatched_path
    - std::string_view::size
    - sub_lookup
    - urlencode
    - std::string_view
    - std::string::replace
    linkageType: ''
    returnType: void
    signature: void cr_substitutions(std::string &obj, UrlComponents &req_url)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OpsQueue *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1155,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1161,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1163,1
    - Dst: UrlComponents::query
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1169,1
    - Dst: auto::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1170,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1174,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1174,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1182,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1189,1
    - Dst: CookieJar::CookieJar
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1192,1
    - Dst: CookieJar::create
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1193,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1196,1
    - Dst: process
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1197,1
    - Dst: cr_substitutions
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1198,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1202,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1204,1
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1206,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1208,1
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1211,1
    - Dst: std::string::find
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1211,1
    - Dst: std::string::append
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1212,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1215,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1215,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1219,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1220,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1222,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1223,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1225,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1227,1
    - Dst: std::string::size
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1228,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1230,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1231,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1232,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1241,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1250,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1253,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1253,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1254,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1255,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1259,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1267,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1273,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1277,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - ih
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1152
    functionDepth: 5
    functionLinenumber: 1152
    functionLinenumberEnd: 1280
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - TSHandleMLocRelease
    - TSMimeHdrFieldFind
    - static_cast<OpsQueue *>
    - std::string::erase
    - CookieJar::create
    - std::string::empty
    - std::string::append
    - std::string::length
    - TSUrlParse
    - std::string::c_str
    - cr_substitutions
    - TSError
    - Dbg
    - TSHttpTxnStatusSet
    - CookieJar::CookieJar
    - std::string::find
    - TSMimeHdrFieldValueStringGet
    - std::string::size
    - UrlComponents::query
    - process
    - auto::empty
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OpsQueue *>
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1287,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1297
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/cookie_remap/cookie_remap.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - static_cast<OpsQueue *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:51,1
    - Dst: TransactionPlugin::registerHook
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fallback
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: RedoCacheLookupPlugin::RedoCacheLookupPlugin
    functionSourceFile: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TransactionPlugin::registerHook
    linkageType: ''
    returnType: void
    signature: void RedoCacheLookupPlugin(const char *fallback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Transaction::getCacheStatus
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:62,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:63,1
    - Dst: Transaction::getAtsHandle
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:63,1
    - Dst: TSHttpTxnRedoCacheLookup
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:64,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:64,1
    - Dst: Transaction::resume
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - Transaction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: RedoCacheLookupPlugin::handleReadCacheLookupComplete
    functionSourceFile: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnRedoCacheLookup
    - Dbg
    - Transaction::getAtsHandle
    - Transaction::getCacheStatus
    - static_cast<TSHttpTxn>
    - strlen
    - Transaction::resume
    linkageType: ''
    returnType: void
    signature: void handleReadCacheLookupComplete(Transaction &transaction) override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:77,1
    - Dst: RegisterGlobalPlugin
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:78,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:92,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:92,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:101,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:102,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:108,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:109,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:112,1
    - Dst: RedoCacheLookupPlugin::RedoCacheLookupPlugin
      Src: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 115
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/redo_cache_lookup/redo_cache_lookup.cc
    functionUses: 0
    functionsReached:
    - RedoCacheLookupPlugin::RedoCacheLookupPlugin
    - TSError
    - getopt_long
    - const_cast<char *const *>
    - Dbg
    - RegisterGlobalPlugin
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:79,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:82,1
    - Dst: Mp4Meta::parse_root_atoms
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:90,1
    - Dst: Mp4Meta::post_process_meta
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - body_complete
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: Mp4Meta::parse_meta
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - Mp4Meta::parse_root_atoms
    - Mp4Meta::post_process_meta
    - TSIOBufferReaderAvail
    - Mp4Meta::mp4_meta_consume
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::parse_meta(bool body_complete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: Mp4Meta::mp4_meta_consume
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    linkageType: ''
    returnType: void
    signature: void Mp4Meta::mp4_meta_consume(int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:137,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:138,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:141,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:141,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:145,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:145,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:149,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:150,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:157,1
    - Dst: Mp4Meta::mp4_update_stts_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:159,1
    - Dst: Mp4Meta::mp4_update_stss_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:163,1
    - Dst: Mp4Meta::mp4_update_ctts_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:167,1
    - Dst: Mp4Meta::mp4_update_stsc_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:169,1
    - Dst: Mp4Meta::mp4_update_stsz_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:173,1
    - Dst: Mp4Meta::mp4_update_co64_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:178,1
    - Dst: Mp4Meta::mp4_update_stco_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:182,1
    - Dst: Mp4Meta::mp4_update_stbl_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:186,1
    - Dst: Mp4Meta::mp4_update_minf_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:187,1
    - Dst: Mp4Meta::mp4_update_mdia_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:190,1
    - Dst: Mp4Meta::mp4_update_trak_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:192,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:202,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:202,1
    - Dst: Mp4Meta::mp4_update_tkhd_duration
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:206,1
    - Dst: Mp4Meta::mp4_update_mdhd_duration
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:207,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:212,1
    - Dst: Mp4Meta::mp4_update_mdat_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:215,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:217,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:217,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:220,1
    - Dst: Mp4Meta::mp4_adjust_co64_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:223,1
    - Dst: Mp4Meta::mp4_adjust_stco_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:226,1
    - Dst: Mp4Meta::mp4_update_mvhd_duration
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:230,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 233
    functionName: Mp4Meta::post_process_meta
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - Mp4Meta::mp4_update_stts_atom
    - Mp4Meta::mp4_update_mvhd_duration
    - TSIOBufferCopy
    - Mp4Meta::mp4_update_tkhd_duration
    - Mp4Meta::mp4_update_mdat_atom
    - Mp4Meta::mp4_update_stbl_atom
    - get
    - Mp4Meta::mp4_update_minf_atom
    - Mp4Meta::mp4_adjust_stco_atom
    - Mp4Meta::mp4_update_ctts_atom
    - Mp4Meta::mp4_update_stco_atom
    - mp4_reader_set_32value
    - Mp4Meta::mp4_update_trak_atom
    - Mp4Meta::mp4_adjust_co64_atom
    - TSIOBufferReaderAvail
    - Mp4Meta::mp4_update_mdhd_duration
    - Mp4Meta::mp4_update_stsz_atom
    - TSIOBufferCreate
    - Mp4Meta::mp4_update_stss_atom
    - Mp4Meta::mp4_update_stsc_atom
    - Mp4Meta::mp4_update_mdia_atom
    - Mp4Meta::mp4_update_co64_atom
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::post_process_meta()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:248,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:251,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:255,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:256,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:264,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:266,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:274,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:279,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:293,1
    - Dst: Mp4Meta::mp4_atom_next
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:308,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 318
    functionName: Mp4Meta::parse_root_atoms
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - memset
    - mp4_get_32value
    - memcmp
    - Mp4Meta::mp4_atom_next
    - IOBufferReaderCopy
    - mp4_get_64value
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::parse_root_atoms()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - atom_size
    - wait
    argTypes:
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: Mp4Meta::mp4_atom_next
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - Mp4Meta::mp4_meta_consume
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_atom_next(int64_t atom_size, bool wait)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:353,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:357,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:358,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:366,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:368,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:376,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:381,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:395,1
    - Dst: Mp4Meta::mp4_atom_next
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - atom
    - size
    argTypes:
    - mp4_atom_handler*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 422
    functionName: Mp4Meta::mp4_read_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - memcmp
    - Mp4Meta::mp4_atom_next
    - IOBufferReaderCopy
    - mp4_get_64value
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_atom(mp4_atom_handler *atom, int64_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:439,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:440,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:442,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 449
    functionName: Mp4Meta::mp4_read_ftyp_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    - TSIOBufferCopy
    - Mp4Meta::mp4_meta_consume
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_ftyp_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:471,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:472,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:474,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:475,1
    - Dst: Mp4Meta::mp4_read_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 480
    functionName: Mp4Meta::mp4_read_moov_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - Mp4Meta::mp4_read_atom
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_moov_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:490,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:494,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:495,1
    - Dst: reinterpret_cast<mp4_mvhd_atom *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:496,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:499,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:502,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:509,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:510,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:512,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 516
    functionName: Mp4Meta::mp4_read_mvhd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - memset
    - mp4_get_32value
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - reinterpret_cast<mp4_mvhd_atom *>
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_mvhd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Mp4Trak>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:528,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:529,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:531,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:532,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:534,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:535,1
    - Dst: Mp4Meta::mp4_read_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: Mp4Meta::mp4_read_trak_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_read_atom
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - std::make_unique<Mp4Trak>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_trak_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: Mp4Meta::mp4_read_cmov_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_cmov_atom(int64_t /*atom_header_size ATS_UNUSED
      */, int64_t /* atom_data_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:556,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:559,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:560,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:562,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:563,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 568
    functionName: Mp4Meta::mp4_read_tkhd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_tkhd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:575,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:577,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:578,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:580,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:581,1
    - Dst: Mp4Meta::mp4_read_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: Mp4Meta::mp4_read_mdia_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_read_atom
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_mdia_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:595,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:596,1
    - Dst: reinterpret_cast<mp4_mdhd_atom *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:597,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:600,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:601,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:604,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:605,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:610,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:615,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:616,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:618,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:619,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 624
    functionName: Mp4Meta::mp4_read_mdhd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - memset
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - reinterpret_cast<mp4_mdhd_atom *>
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - mp4_get_64value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_mdhd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:634,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:637,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:638,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:640,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: Mp4Meta::mp4_read_hdlr_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_hdlr_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:651,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:653,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:654,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:656,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:657,1
    - Dst: Mp4Meta::mp4_read_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: Mp4Meta::mp4_read_minf_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_read_atom
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_minf_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:670,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:673,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:674,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:676,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: Mp4Meta::mp4_read_vmhd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_vmhd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:690,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:693,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:694,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:696,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 700
    functionName: Mp4Meta::mp4_read_smhd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_smhd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:710,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:713,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:714,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:716,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 720
    functionName: Mp4Meta::mp4_read_dinf_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_dinf_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:727,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:729,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:730,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:732,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:733,1
    - Dst: Mp4Meta::mp4_read_atom
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 736
    functionName: Mp4Meta::mp4_read_stbl_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_read_atom
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stbl_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:746,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:749,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:750,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:752,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 757
    functionName: Mp4Meta::mp4_read_stsd_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stsd_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:767,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:771,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:772,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:775,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:779,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:782,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:783,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:784,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:786,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:787,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:788,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 793
    functionName: Mp4Meta::mp4_read_stts_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stts_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:803,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:807,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:808,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:811,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:815,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:818,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:819,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:820,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:822,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:823,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:824,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 829
    functionName: Mp4Meta::mp4_read_stss_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stss_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:839,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:843,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:844,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:847,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:851,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:854,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:855,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:856,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:858,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:859,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:860,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 865
    functionName: Mp4Meta::mp4_read_ctts_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_ctts_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:875,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:879,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:880,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:883,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:887,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:890,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:891,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:892,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:894,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:895,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:896,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 901
    functionName: Mp4Meta::mp4_read_stsc_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stsc_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:911,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:915,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:916,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:919,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:920,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:924,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:925,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:926,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:929,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:933,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:934,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:935,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:940,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 946
    functionName: Mp4Meta::mp4_read_stsz_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stsz_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:956,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:960,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:961,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:964,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:968,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:971,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:972,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:973,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:975,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:976,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:977,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 982
    functionName: Mp4Meta::mp4_read_stco_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_stco_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:992,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:996,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:997,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1000,1
    - Dst: get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1004,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1007,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1008,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1009,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1011,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1012,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1013,1
    - Dst: Mp4Meta::mp4_meta_consume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - atom_header_size
    - atom_data_size
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 984
    functionDepth: 2
    functionLinenumber: 984
    functionLinenumberEnd: 1018
    functionName: Mp4Meta::mp4_read_co64_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - mp4_get_32value
    - get
    - Mp4Meta::mp4_meta_consume
    - TSIOBufferCreate
    - IOBufferReaderCopy
    - TSIOBufferCopy
    - TSIOBufferReaderAlloc
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_co64_atom(int64_t atom_header_size, int64_t atom_data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1023,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1028
    functionName: Mp4Meta::mp4_read_mdat_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_read_mdat_atom(int64_t /* atom_header_size ATS_UNUSED
      */, int64_t /* atom_data_size ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1049,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1053,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1056,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1057,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1059,1
    - Dst: static_cast<uint32_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1060,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1067,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1068,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1073,1
    - Dst: Mp4Meta::mp4_find_key_sample
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1076,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1082,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1087,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1088,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1092,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1094,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1099,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1101,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1105,1
    - Dst: static_cast<double>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1105,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1113,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1114,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1116,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1120
    functionName: Mp4Meta::mp4_update_stts_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - static_cast<double>
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - static_cast<uint32_t>
    - static_cast<uint64_t>
    - mp4_reader_set_32value
    - Mp4Meta::mp4_find_key_sample
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stts_atom(Mp4Trak *trak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1133,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1139,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1145,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1148,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1157,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1159,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1160,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1166,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1168,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1170,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1174
    functionName: Mp4Meta::mp4_update_stss_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stss_atom(Mp4Trak *trak)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1188,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1194,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1198,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1203,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1207,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1208,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1214,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1215,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1220,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1229,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1230,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1232,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1236
    functionName: Mp4Meta::mp4_update_ctts_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSIOBufferDestroy
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_ctts_atom(Mp4Trak *trak)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1257,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1259,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1260,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1261,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1263,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1266,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1277,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1278,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1280,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1287,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1293,1
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1300,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1301,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1309,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1312,1
    - Dst: mp4_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1316,1
    - Dst: mp4_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1317,1
    - Dst: mp4_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1318,1
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1320,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1321,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1322,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1324,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1330,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1333,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1335,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1336,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1341,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1342,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1344,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1348
    functionName: Mp4Meta::mp4_update_stsc_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - mp4_set_32value
    - TSIOBufferWrite
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stsc_atom(Mp4Trak *trak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1366,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1367,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1371,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1374,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1375,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1381,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1382,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1385,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1389
    functionName: Mp4Meta::mp4_update_stsz_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stsz_atom(Mp4Trak *trak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1406,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1412,1
    - Dst: mp4_reader_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1413,1
    - Dst: mp4_reader_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1415,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1417,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1421
    functionName: Mp4Meta::mp4_update_co64_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_64value
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - mp4_reader_get_64value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_co64_atom(Mp4Trak *trak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1439,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1445,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1447,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1449,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1451,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1455
    functionName: Mp4Meta::mp4_update_stco_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_get_32value
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stco_atom(Mp4Trak *trak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1464
    functionName: Mp4Meta::mp4_update_stbl_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_stbl_atom(Mp4Trak *trak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1474
    functionName: Mp4Meta::mp4_update_minf_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_minf_atom(Mp4Trak *trak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1483
    functionName: Mp4Meta::mp4_update_mdia_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_mdia_atom(Mp4Trak *trak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1492
    functionName: Mp4Meta::mp4_update_trak_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_update_trak_atom(Mp4Trak *trak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1500,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1501,1
    - Dst: mp4_reader_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1504,1
    - Dst: mp4_reader_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1506,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1507,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - trak
    - adjustment
    argTypes:
    - Mp4Trak*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1494
    functionDepth: 2
    functionLinenumber: 1494
    functionLinenumberEnd: 1513
    functionName: Mp4Meta::mp4_adjust_co64_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_set_64value
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - mp4_reader_get_64value
    - TSIOBufferReaderFree
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_adjust_co64_atom(Mp4Trak *trak, off_t adjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1521,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1522,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1525,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1527,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1528,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - trak
    - adjustment
    argTypes:
    - Mp4Trak*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1534
    functionName: Mp4Meta::mp4_adjust_stco_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferReaderConsume
    - TSIOBufferReaderAvail
    - TSIOBufferReaderFree
    - TSIOBufferReaderClone
    - mp4_reader_get_32value
    - mp4_reader_set_32value
    linkageType: ''
    returnType: int
    signature: int Mp4Meta::mp4_adjust_stco_atom(Mp4Trak *trak, int32_t adjustment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp4_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1552,1
    - Dst: mp4_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1561,1
    - Dst: mp4_set_atom_name
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1562,1
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1564,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1565,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - start_offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1570
    functionName: Mp4Meta::mp4_update_mdat_atom
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_set_64value
    - mp4_set_32value
    - mp4_set_atom_name
    - TSIOBufferWrite
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: int64_t
    signature: int64_t Mp4Meta::mp4_update_mdat_atom(int64_t start_offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderClone
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1586,1
    - Dst: mp4_reader_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1589,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1596,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - start_sample
    - trak
    argTypes:
    - uint32_t
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1572
    functionDepth: 2
    functionLinenumber: 1572
    functionLinenumberEnd: 1603
    functionName: Mp4Meta::mp4_find_key_sample
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - mp4_reader_get_32value
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSIOBufferReaderClone
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Mp4Meta::mp4_find_key_sample(uint32_t start_sample, Mp4Trak
      *trak)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1613,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1615,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1619,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1620,1
    - Dst: reinterpret_cast<mp4_mvhd_atom *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1621,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1624,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1631,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1633,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1636,1
    - Dst: mp4_reader_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1605
    functionDepth: 2
    functionLinenumber: 1605
    functionLinenumberEnd: 1640
    functionName: Mp4Meta::mp4_update_mvhd_duration
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - memset
    - mp4_get_32value
    - mp4_reader_set_64value
    - TSIOBufferReaderAvail
    - reinterpret_cast<mp4_mvhd_atom *>
    - IOBufferReaderCopy
    - static_cast<uint64_t>
    - mp4_get_64value
    - mp4_reader_set_32value
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Mp4Meta::mp4_update_mvhd_duration()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1650,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1652,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1656,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1657,1
    - Dst: reinterpret_cast<mp4_tkhd_atom *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1658,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1661,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1668,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1670,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1673,1
    - Dst: mp4_reader_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1677
    functionName: Mp4Meta::mp4_update_tkhd_duration
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - memset
    - mp4_get_32value
    - mp4_reader_set_64value
    - TSIOBufferReaderAvail
    - reinterpret_cast<mp4_tkhd_atom *>
    - IOBufferReaderCopy
    - static_cast<uint64_t>
    - mp4_get_64value
    - mp4_reader_set_32value
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Mp4Meta::mp4_update_tkhd_duration(Mp4Trak *trak)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1686,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1688,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1690,1
    - Dst: IOBufferReaderCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1694,1
    - Dst: reinterpret_cast<mp4_mdhd_atom *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1695,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1698,1
    - Dst: mp4_get_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1704,1
    - Dst: mp4_reader_set_32value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1706,1
    - Dst: mp4_get_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1708,1
    - Dst: mp4_reader_set_64value
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - trak
    argTypes:
    - Mp4Trak*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1712
    functionName: Mp4Meta::mp4_update_mdhd_duration
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 1
    functionsReached:
    - memset
    - mp4_get_32value
    - mp4_reader_set_64value
    - TSIOBufferReaderAvail
    - IOBufferReaderCopy
    - reinterpret_cast<mp4_mdhd_atom *>
    - static_cast<uint64_t>
    - mp4_get_64value
    - mp4_reader_set_32value
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void Mp4Meta::mp4_update_mdhd_duration(Mp4Trak *trak)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1724,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1727,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1734,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1734,1
    - Dst: static_cast<u_char>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1737,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - readerp
    - offset
    - n
    argTypes:
    - TSIOBufferReader
    - int64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1751
    functionName: mp4_reader_set_32value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 19
    functionsReached:
    - reinterpret_cast<u_char *>
    - static_cast<u_char>
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void mp4_reader_set_32value(TSIOBufferReader readerp, int64_t offset,
      uint32_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1763,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1766,1
    - Dst: reinterpret_cast<u_char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1773,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1773,1
    - Dst: static_cast<u_char>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1776,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - readerp
    - offset
    - n
    argTypes:
    - TSIOBufferReader
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1790
    functionName: mp4_reader_set_64value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<u_char *>
    - static_cast<u_char>
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void mp4_reader_set_64value(TSIOBufferReader readerp, int64_t offset,
      uint64_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1803,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1806,1
    - Dst: reinterpret_cast<uint32_t *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1822,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - readerp
    - offset
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1832
    functionName: mp4_reader_get_32value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 8
    functionsReached:
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferBlockNext
    - reinterpret_cast<uint32_t *>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mp4_reader_get_32value(TSIOBufferReader readerp, int64_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1845,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1848,1
    - Dst: reinterpret_cast<uint64_t *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1864,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - readerp
    - offset
    argTypes:
    - TSIOBufferReader
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1874
    functionName: mp4_reader_get_64value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint64_t *>
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - TSIOBufferBlockNext
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mp4_reader_get_64value(TSIOBufferReader readerp, int64_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1884,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1887,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1891,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1891,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc:1900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - readerp
    - buf
    - length
    argTypes:
    - TSIOBufferReader
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1904
    functionName: IOBufferReaderCopy
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.cc
    functionUses: 20
    functionsReached:
    - memcpy
    - TSIOBufferBlockNext
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - static_cast<char *>
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOBufferReaderCopy(TSIOBufferReader readerp, void *buf, int64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - n1
    - ','
    - n2
    - ','
    - n3
    - ','
    - n4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: mp4_set_atom_name
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp4_set_atom_name(p, n1, n2, n3, n4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: mp4_get_32value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp4_get_32value(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: mp4_set_32value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp4_set_32value(p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: mp4_get_64value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp4_get_64value(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: mp4_set_64value
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp4_set_64value(p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: BufferHandle::BufferHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:318,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: ~BufferHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~BufferHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: Mp4Trak::Mp4Trak
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Mp4Trak()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: ~Mp4Trak()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mp4Trak()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:375,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: Mp4Meta::Mp4Meta
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void Mp4Meta()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:382,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: ~Mp4Meta()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_meta.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~Mp4Meta()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:34,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - argc
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char ** /* argv ATS_UNUSED
      */, void **ih, char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void * /* ih ATS_UNUSED */)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:79,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:85,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:90,1
    - Dst: TSUrlHttpQueryGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:95,1
    - Dst: ts_arg
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:97,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:99,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:109,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:110,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:110,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:125,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:126,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:129,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:131,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:132,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:136,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:138,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:139,1
    - Dst: Mp4Context::Mp4Context
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:142,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:143,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:144,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:146,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:147,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - rh
    - rri
    argTypes:
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 150
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSUrlPathGet
    - ts_arg
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrMethodGet
    - sscanf
    - TSstrdup
    - TSUrlHttpQuerySet
    - TSContDataSet
    - TSHttpTxnHookAdd
    - snprintf
    - TSContCreate
    - TSMimeHdrFieldDestroy
    - Mp4Context::Mp4Context
    - TSHttpTxnErrorBodySet
    - TSHttpTxnStatusSet
    - TSUrlHttpQueryGet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void * /* ih ATS_UNUSED */, TSHttpTxn
      rh, TSRemapRequestInfo *rri)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:158,1
    - Dst: static_cast<Mp4Context *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:159,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:159,1
    - Dst: mp4_cache_lookup_complete
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:163,1
    - Dst: mp4_read_response
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:167,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:172,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: mp4_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached:
    - mp4_cache_lookup_complete
    - TSContDestroy
    - static_cast<Mp4Context *>
    - TSContDataGet
    - static_cast<TSHttpTxn>
    - mp4_read_response
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int mp4_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:193,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:194,1
    - Dst: TSHttpTxnCachedRespGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:202,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:203,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:207,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:214,1
    - Dst: TSMimeHdrFieldValueInt64Get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:216,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:217,1
    - Dst: mp4_add_transform
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:225,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - mc
    - txnp
    argTypes:
    - Mp4Context*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 230
    functionName: mp4_cache_lookup_complete
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - TSHttpHdrStatusGet
    - TSHttpTxnCacheLookupStatusGet
    - TSMimeHdrFieldValueInt64Get
    - TSHttpTxnCachedRespGet
    - mp4_add_transform
    linkageType: ''
    returnType: void
    signature: void mp4_cache_lookup_complete(Mp4Context *mc, TSHttpTxn txnp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:241,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:242,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:246,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:252,1
    - Dst: TSMimeHdrFieldValueInt64Get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:254,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:255,1
    - Dst: mp4_add_transform
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:263,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - mc
    - txnp
    argTypes:
    - Mp4Context*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 268
    functionName: mp4_read_response
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSError
    - TSHttpHdrStatusGet
    - TSMimeHdrFieldValueInt64Get
    - TSHttpTxnServerRespGet
    - mp4_add_transform
    linkageType: ''
    returnType: void
    signature: void mp4_read_response(Mp4Context *mc, TSHttpTxn txnp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Mp4TransformContext>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:279,1
    - Dst: TSHttpTxnUntransformedRespCache
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:281,1
    - Dst: TSHttpTxnTransformedRespCache
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:282,1
    - Dst: TSTransformCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:284,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:285,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mc
    - txnp
    argTypes:
    - Mp4Context*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 289
    functionName: mp4_add_transform
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 2
    functionsReached:
    - TSHttpTxnHookAdd
    - TSHttpTxnUntransformedRespCache
    - TSContDataSet
    - TSTransformCreate
    - TSHttpTxnTransformedRespCache
    - std::make_unique<Mp4TransformContext>
    linkageType: ''
    returnType: void
    signature: void mp4_add_transform(Mp4Context *mc, TSHttpTxn txnp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Mp4Context *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:295,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:295,1
    - Dst: TSVConnClosedGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:297,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:298,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:304,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:305,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:305,1
    - Dst: TSVConnShutdown
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:309,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:309,1
    - Dst: mp4_transform_handler
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 319
    functionName: mp4_transform_entry
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 0
    functionsReached:
    - TSVConnClosedGet
    - TSVConnWriteVIOGet
    - TSContCall
    - TSContDestroy
    - TSVIOContGet
    - TSVConnShutdown
    - TSTransformOutputVConnGet
    - mp4_transform_handler
    - static_cast<Mp4Context *>
    - TSContDataGet
    linkageType: ''
    returnType: int
    signature: int mp4_transform_entry(TSCont contp, TSEvent event, void * /* edata
      ATS_UNUSED */)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Mp4Context*::mtc::get
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:332,1
    - Dst: TSTransformOutputVConnGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:334,1
    - Dst: TSVConnWriteVIOGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:335,1
    - Dst: TSVIOReaderGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:336,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:338,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:340,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:341,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:346,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:347,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:349,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:350,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:351,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:353,1
    - Dst: mp4_parse_meta
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:357,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:363,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:364,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:367,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:371,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:375,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:379,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:380,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:388,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:395,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:402,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:409,1
    - Dst: TSIOBufferCopy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:412,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:413,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:425,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:429,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:429,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:432,1
    - Dst: TSContCall
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:433,1
    - Dst: TSVIOContGet
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 2
    argNames:
    - contp
    - mc
    argTypes:
    - TSCont
    - Mp4Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 437
    functionName: mp4_transform_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 1
    functionsReached:
    - TSVIONBytesSet
    - TSVIOReenable
    - TSVConnWrite
    - TSVIOReaderGet
    - Mp4Context*::mtc::get
    - TSIOBufferCopy
    - TSVIONTodoGet
    - TSVIONDoneGet
    - TSIOBufferReaderConsume
    - TSVConnWriteVIOGet
    - TSIOBufferReaderAvail
    - TSContCall
    - TSVIOBufferGet
    - TSVIONDoneSet
    - mp4_parse_meta
    - TSIOBufferCreate
    - TSVIOContGet
    - TSTransformOutputVConnGet
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: int
    signature: int mp4_transform_handler(TSCont contp, Mp4Context *mc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:450,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:451,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:454,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:456,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:459,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:462,1
    - Dst: Mp4Meta*::parse_meta
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:464,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:469,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - mtc
    - body_complete
    argTypes:
    - Mp4TransformContext*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 478
    functionName: mp4_parse_meta
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 1
    functionsReached:
    - TSIOBufferBlockNext
    - TSIOBufferReaderAvail
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - Mp4Meta*::parse_meta
    - TSIOBufferWrite
    linkageType: ''
    returnType: int
    signature: int mp4_parse_meta(Mp4TransformContext *mtc, bool body_complete)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:496,1
    - Dst: memmem
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:496,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:505,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/mp4/mp4.cc:513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - param
    - param_len
    - key
    - key_len
    - val_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 518
    functionName: ts_arg
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4.cc
    functionUses: 1
    functionsReached:
    - const_cast<char *>
    - memmem
    - memchr
    - static_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      ts_arg(const char *param, size_t param_len, const char *key, size_t key_len,
      size_t *val_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: IOHandle::IOHandle
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IOHandle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:40,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: ~IOHandle()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IOHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:62,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:63,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - cl
    argTypes:
    - float
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: Mp4TransformContext::Mp4TransformContext
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 0
    functionsReached:
    - TSIOBufferCreate
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void Mp4TransformContext(float offset, int64_t cl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:73,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:77,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/mp4/mp4_common.h:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: ~Mp4TransformContext()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~Mp4TransformContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Mp4Context::Mp4Context
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mp4Context(float s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~Mp4Context()
    functionSourceFile: /src/trafficserver/plugins/experimental/mp4/mp4_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mp4Context()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: VDEBUG
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VDEBUG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: VERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: VERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vio
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: VIODEBUG
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VIODEBUG(vio, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - csv
    - integer_counters
    - wrap_counters
    argTypes:
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: HTTPStatsFormatter
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPStatsFormatter(bool csv, bool integer_counters, bool wrap_counters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: HTTPStatsConfig
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPStatsConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: ~HTTPStatsConfig()
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void ~HTTPStatsConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: argument_type
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argument_type(void *_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:117,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: IOChannel
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void IOChannel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:121,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: ~IOChannel()
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IOChannel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: read
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 706
    functionsReached:
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void read(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: write
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 334
    functionsReached:
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void write(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:149,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:150,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: HTTPStatsHttpHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void HTTPStatsHttpHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:157,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:160,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:161,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: ~HTTPStatsHttpHeader()
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ~HTTPStatsHttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: HTTPStatsRequest
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPStatsRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPStatsRequest::HTTPStatsRequest
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:182,1
    - Dst: HTTPStatsFormatter::output
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:185,1
    - Dst: HTTPStatsRequest*::body::size
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - HTTPStatsConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: createHTTPStatsRequest
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - HTTPStatsRequest::HTTPStatsRequest
    - HTTPStatsFormatter::output
    - HTTPStatsRequest*::body::size
    linkageType: ''
    returnType: HTTPStatsRequest
    signature: "HTTPStatsRequest *\n  createHTTPStatsRequest(HTTPStatsConfig *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: ~HTTPStatsRequest()
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HTTPStatsRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:203,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:203,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - trq
    - vio
    - contp
    argTypes:
    - HTTPStatsRequest*
    - TSVIO
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: HTTPStatsRequestDestroy
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSVIOVConnGet
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void HTTPStatsRequestDestroy(HTTPStatsRequest *trq, TSVIO vio, TSCont
      contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:216,1
    - Dst: TSMimeHdrFieldValueDateSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:217,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:218,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - HTTPStatsHttpHeader
    - char*
    - int64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: HeaderFieldDateSet
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueDateSet
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldDateSet(const HTTPStatsHttpHeader &http, const char
      *field_name, int64_t field_len, time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:228,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:229,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:230,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - HTTPStatsHttpHeader
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: HeaderFieldIntSet
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueInt64Set
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldIntSet(const HTTPStatsHttpHeader &http, const char
      *field_name, int64_t field_len, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:240,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:241,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:242,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - HTTPStatsHttpHeader
    - char*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: HeaderFieldStringSet
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldStringSet(const HTTPStatsHttpHeader &http, const char
      *field_name, int64_t field_len, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:251,1
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:253,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:254,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:257,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:257,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:258,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:261,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:262,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:266,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:266,1
    - Dst: HeaderFieldIntSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:270,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:276,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:277,1
    - Dst: HeaderFieldDateSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:278,1
    - Dst: time
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:278,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:281,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:284,1
    - Dst: HTTPStatsRequest*::mimeType::c_str
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:284,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:289,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:291,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:292,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:293,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - trq
    - status
    argTypes:
    - HTTPStatsRequest*
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 298
    functionName: WriteResponseHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached:
    - VERROR
    - TSVIONBytesSet
    - TSVIOReenable
    - HTTPStatsRequest*::mimeType::c_str
    - snprintf
    - HeaderFieldIntSet
    - TS_HTTP_VERSION
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - TSHttpHdrTypeSet
    - VDEBUG
    - TSHttpHdrPrint
    - TSHttpHdrVersionSet
    - TSHttpHdrLengthGet
    - HeaderFieldStringSet
    - TSHttpHdrStatusSet
    - HeaderFieldDateSet
    - time
    - TSStatIntIncrement
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode WriteResponseHeader(HTTPStatsRequest *trq, TSHttpStatus
      status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:307,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - trq
    argTypes:
    - HTTPStatsRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: HTTPStatsParseRequest
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - VDEBUG
    - TSHttpHdrMethodGet
    linkageType: ''
    returnType: bool
    signature: bool HTTPStatsParseRequest(HTTPStatsRequest *trq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:322,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:326,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:326,1
    - Dst: static_cast<HTTPStatsRequest *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:333,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:333,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:335,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:336,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:340,1
    - Dst: HTTPStatsRequest*::readio::read
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:343,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:344,1
    - Dst: static_cast<HTTPStatsRequest *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:359,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:359,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:362,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:367,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:370,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:370,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:375,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:375,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:379,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:381,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:387,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:391,1
    - Dst: HTTPStatsRequestDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:392,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:397,1
    - Dst: HTTPStatsParseRequest
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:398,1
    - Dst: argument_type::trq::writeio::write
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:403,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:403,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:404,1
    - Dst: WriteResponseHeader
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:406,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:407,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:418,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:421,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:426,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:431,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:433,1
    - Dst: argument_type::trq::body::c_str
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:433,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:436,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:439,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:439,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:440,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:448,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:450,1
    - Dst: HTTPStatsRequestDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:451,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:457,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:461,1
    - Dst: argument_type::trq::writeio::write
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:466,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:466,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:467,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:469,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:469,1
    - Dst: HTTPStatsRequestDestroy
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:470,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:481,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:481,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:485,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:485,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 91
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 488
    functionName: HTTPStatsInterceptHook
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSVIONBytesSet
    - VERROR
    - HTTPStatsRequestDestroy
    - static_cast<TSHttpStatus>
    - TSContDestroy
    - TSIOBufferReaderStart
    - TSVIOReenable
    - TSContDataGet
    - TSVIONTodoGet
    - argument_type::trq::body::c_str
    - TSIOBufferBlockReadStart
    - VDEBUG
    - WriteResponseHeader
    - TSStatIntIncrement
    - VIODEBUG
    - TSVIONBytesGet
    - static_cast<HTTPStatsRequest *>
    - TSHttpHdrParseReq
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - TSReleaseAssert
    - TSIOBufferBlockNext
    - argument_type::trq::writeio::write
    - TSVIOVConnGet
    - TSContDataSet
    - HTTPStatsRequest*::readio::read
    - HTTPStatsParseRequest
    linkageType: ''
    returnType: int
    signature: int HTTPStatsInterceptHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createHTTPStatsRequest
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:493,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:495,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:499,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:499,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:500,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cfg
    - txn
    argTypes:
    - HTTPStatsConfig*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: HTTPStatsSetupIntercept
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSHttpTxnServerIntercept
    - TSContDataSet
    - createHTTPStatsRequest
    - TSContCreate
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void HTTPStatsSetupIntercept(HTTPStatsConfig *cfg, TSHttpTxn txn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:513,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:513,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:522,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:523,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:527,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:528,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:532,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:534,1
    - Dst: HTTPStatsSetupIntercept
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:539,1
    - Dst: static_cast<HTTPStatsConfig *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:539,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:539,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:546,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:546,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:551,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 553
    functionName: HTTPStatsTxnHook
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSHttpHdrMethodGet
    - TSHttpTxnCacheLookupStatusGet
    - VDEBUG
    - TSHttpEventNameLookup
    - static_cast<HTTPStatsConfig *>
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - HTTPStatsSetupIntercept
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int HTTPStatsTxnHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:558,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:560,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:563,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSStatFindName
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info */, char *
      /* errbuf */, int /* errbuf_size */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:573,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:575,1
    - Dst: static_cast<HTTPStatsConfig *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:579,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:582,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:583,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:588,1
    - Dst: HTTPStatsSetupIntercept
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:589,1
    - Dst: static_cast<HTTPStatsConfig *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:589,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:591,1
    - Dst: static_cast<HTTPStatsConfig *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ih
    - rh
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 595
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - VERROR
    - TSHttpTxnHookAdd
    - VDEBUG
    - TSHttpTxnStatusGet
    - static_cast<HTTPStatsConfig *>
    - TSHttpTxnConfigIntSet
    - HTTPStatsSetupIntercept
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      * /* rri ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HTTPStatsConfig::HTTPStatsConfig
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:608,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:617,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:630,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:645,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:646,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 651
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - getopt_long
    - TSContDataSet
    - HTTPStatsConfig::HTTPStatsConfig
    - atoi
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPStatsConfig *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - static_cast<HTTPStatsConfig *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 669
    functionName: HTTPStatsFormatter::wrap_unsigned_counter
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HTTPStatsFormatter::wrap_unsigned_counter(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 672
    functionName: APPEND
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND(b, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: APPEND_STAT_JSON
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_JSON(c, a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 691
    functionName: APPEND_STAT_JSON_NUMERIC
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_JSON_NUMERIC(f, a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: APPEND_STAT_CSV
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_CSV(f, a, fmt, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - fmt
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: APPEND_STAT_CSV_NUMERIC
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STAT_CSV_NUMERIC(f, a, fmt, v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPStatsFormatter *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:710,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:714,1
    - Dst: HTTPStatsFormatter*::wrap_unsigned_counter
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:714,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:717,1
    - Dst: HTTPStatsFormatter*::wrap_unsigned_counter
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:717,1
    - Dst: APPEND_STAT_JSON_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:720,1
    - Dst: APPEND_STAT_JSON
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:723,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - edata
    - name
    - data_type
    - datum
    argTypes:
    - void*
    - char*
    - TSRecordDataType
    - TSRecordData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 729
    functionName: json_out_stat
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - static_cast<HTTPStatsFormatter *>
    - APPEND_STAT_JSON
    - Dbg
    - HTTPStatsFormatter*::wrap_unsigned_counter
    - APPEND_STAT_JSON_NUMERIC
    linkageType: ''
    returnType: void
    signature: "void json_out_stat(TSRecordType /* rec_type ATS_UNUSED */, void *edata,
      int /* registered ATS_UNUSED */, const char *name,\n              TSRecordDataType
      data_type, TSRecordData *datum)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HTTPStatsFormatter *>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:735,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:739,1
    - Dst: HTTPStatsFormatter*::wrap_unsigned_counter
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:739,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:742,1
    - Dst: HTTPStatsFormatter*::wrap_unsigned_counter
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:742,1
    - Dst: APPEND_STAT_CSV_NUMERIC
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:745,1
    - Dst: APPEND_STAT_CSV
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:748,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - edata
    - name
    - data_type
    - datum
    argTypes:
    - void*
    - char*
    - TSRecordDataType
    - TSRecordData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 754
    functionName: csv_out_stat
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 0
    functionsReached:
    - static_cast<HTTPStatsFormatter *>
    - APPEND_STAT_CSV
    - HTTPStatsFormatter*::wrap_unsigned_counter
    - Dbg
    - APPEND_STAT_CSV_NUMERIC
    linkageType: ''
    returnType: void
    signature: "void csv_out_stat(TSRecordType /* rec_type ATS_UNUSED */, void *edata,
      int /* registered ATS_UNUSED */, const char *name,\n             TSRecordDataType
      data_type, TSRecordData *datum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSRecordDump
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:760,1
    - Dst: static_cast<TSRecordType>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:760,1
    - Dst: APPEND_STAT_CSV
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:761,1
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:761,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:763,1
    - Dst: TSRecordDump
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:765,1
    - Dst: static_cast<TSRecordType>
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:765,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:767,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:768,1
    - Dst: TSTrafficServerVersionGet
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:768,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:769,1
    - Dst: APPEND
      Src: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 773
    functionName: HTTPStatsFormatter::output
    functionSourceFile: /src/trafficserver/plugins/experimental/http_stats/http_stats.cc
    functionUses: 1
    functionsReached:
    - TSRecordDump
    - APPEND
    - APPEND_STAT_CSV
    - static_cast<TSRecordType>
    - TSTrafficServerVersionGet
    linkageType: ''
    returnType: std::string
    signature: std::string HTTPStatsFormatter::output()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: BgFetchState::BgFetchState
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: BgFetchState::BgFetchState
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgFetchState(BgFetchState const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: operator=(BgFetchState const &)
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(BgFetchState const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BgFetchState::BgFetchState
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: "&\n  getInstance()"
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 0
    functionsReached:
    - BgFetchState::BgFetchState
    linkageType: ''
    returnType: BgFetchState
    signature: "BgFetchState &\n  getInstance()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ~BgFetchState()
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 0
    functionsReached:
    - TSMutexDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:72,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:73,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:73,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:79,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:81,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: BgFetchState::acquire
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached:
    - TSMutexLock
    - find
    - end
    - Dbg
    - TSMutexUnlock
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool acquire(const std::string &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMutexLock
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:91,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:92,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:92,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:95,1
    - Dst: TSMutexUnlock
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: BgFetchState::release
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached:
    - erase
    - TSMutexLock
    - find
    - end
    - TSMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool release(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: BgFetchData
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void BgFetchData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:117,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:118,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:120,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:123,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:124,1
    - Dst: releaseUrl
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:130,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:132,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:134,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:135,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:136,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: ~BgFetchData()
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - releaseUrl
    - TSHandleMLocRelease
    - TSIOBufferReaderFree
    - TSError
    - TSContDestroy
    - TSIOBufferDestroy
    - TSMBufferDestroy
    linkageType: ''
    returnType: void
    signature: void ~BgFetchData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: acquireUrl
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 1
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: bool
    signature: bool acquireUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLSSNISupport::getInstance
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: releaseUrl
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached:
    - TLSSNISupport::getInstance
    linkageType: ''
    returnType: bool
    signature: bool releaseUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: getUrl
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 6
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n  getUrl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: addBytes
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addBytes(int64_t b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:60,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:64,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:65,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:66,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:69,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:76,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:79,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:83,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - bufp
    - hdr_loc
    - header
    - len
    - val
    - val_len
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 91
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc
    functionUses: 12
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer bufp, TSMLoc hdr_loc, const char *header,
      int len, const char *val, int val_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:103,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:104,1
    - Dst: TSMimeHdrPrint
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:107,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:110,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:112,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:114,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:114,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:116,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:117,1
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:121,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - hdr_loc
    argTypes:
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: dump_headers
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - TSIOBufferReaderConsume
    - TSIOBufferReaderFree
    - TSMimeHdrPrint
    - TSIOBufferCreate
    - TSIOBufferDestroy
    - TSIOBufferBlockReadStart
    - TSIOBufferReaderStart
    - Dbg
    - TSIOBufferReaderAlloc
    linkageType: ''
    returnType: void
    signature: void dump_headers(TSMLoc hdr_loc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:128,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:131,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:132,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:136,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:138,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:140,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:143,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:147,1
    - Dst: TSHttpHdrCopy
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:148,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:152,1
    - Dst: TSUrlClone
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:153,1
    - Dst: TSUrlCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:160,1
    - Dst: TSHttpTxnCacheLookupUrlGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:161,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:162,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:163,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:164,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:169,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:170,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:170,1
    - Dst: TSHttpHdrUrlSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:172,1
    - Dst: TSUrlHostGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:174,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:176,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:177,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - request
    - req_hdr
    - txnp
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 188
    functionName: BgFetchData::initialize
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TSHandleMLocRelease
    - static_cast<void *>
    - set_header
    - TSAssert
    - TSHttpHdrUrlSet
    - TSUrlClone
    - assign
    - TSUrlStringGet
    - TSfree
    - TSHttpTxnPristineUrlGet
    - TSUrlCreate
    - TSError
    - Dbg
    - TSHttpTxnClientAddrGet
    - TSHttpHdrCopy
    - TSHttpTxnCacheLookupUrlGet
    - TSHttpHdrCreate
    - TSUrlHostGet
    linkageType: ''
    returnType: bool
    signature: bool BgFetchData::initialize(TSMBuffer request, TSMLoc req_hdr, TSHttpTxn
      txnp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:196,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:199,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:199,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:200,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:200,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:203,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:204,1
    - Dst: TSIOBufferCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:205,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:206,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: BgFetchData::schedule
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - TSIOBufferCreate
    - TSContScheduleOnPool
    - TSAssert
    - TSContDataSet
    - TSContCreate
    - TSIOBufferReaderAlloc
    - TSMutexCreate
    linkageType: ''
    returnType: void
    signature: void BgFetchData::schedule()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BgFetchData *>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:219,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:219,1
    - Dst: 'on'
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:226,1
    - Dst: reinterpret_cast<const sockaddr *>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:228,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:232,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:233,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:236,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:237,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:240,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:243,1
    - Dst: dump_headers
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:244,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:248,1
    - Dst: TSHttpConnectWithPluginId
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:249,1
    - Dst: reinterpret_cast<sockaddr *>
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:249,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:250,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:252,1
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:254,1
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:255,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:255,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:258,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:265,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:269,1
    - Dst: BgFetchData*::addBytes
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:270,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:271,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:272,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:272,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:273,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:281,1
    - Dst: TSVConnAbort
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:282,1
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:284,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:287,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:287,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:288,1
    - Dst: BgFetchData*::addBytes
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:289,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:290,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:291,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:291,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:299,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc:299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 2
    argNames:
    - contp
    - event
    argTypes:
    - TSCont
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 304
    functionName: cont_bg_fetch
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/background_fetch.cc
    functionUses: 0
    functionsReached:
    - inet_ntop
    - TSAssert
    - TSVIOReenable
    - TSVConnWrite
    - TSVConnAbort
    - TSVConnRead
    - TSContDataGet
    - reinterpret_cast<const sockaddr *>
    - TSVIONDoneGet
    - TSVConnClose
    - BgFetchData*::addBytes
    - TSIOBufferReaderConsume
    - TSHttpHdrPrint
    - TSIOBufferReaderAvail
    - TSError
    - reinterpret_cast<sockaddr *>
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - Dbg
    - dump_headers
    - static_cast<BgFetchData *>
    - TSVIONDoneSet
    - 'on'
    - TSHttpConnectWithPluginId
    linkageType: ''
    returnType: int
    signature: int cont_bg_fetch(TSCont contp, TSEvent event, void * /* edata ATS_UNUSED
      */)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - result
    argTypes:
    - TSCacheLookupResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: getCacheLookupResultName
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getCacheLookupResultName(TSCacheLookupResult result)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnIsInternal
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:71,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:75,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:76,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:79,1
    - Dst: getCacheLookupResultName
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:79,1
    - Dst: static_cast<TSCacheLookupResult>
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:79,1
    - Dst: TSHttpTxnServerRespNoStoreGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:82,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:84,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:88,1
    - Dst: BgFetchData::BgFetchData
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:89,1
    - Dst: BgFetchData*::initialize
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:91,1
    - Dst: BgFetchData*::acquireUrl
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:91,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:92,1
    - Dst: BgFetchData*::schedule
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:93,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 103
    functionName: cont_check_cacheable
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - BgFetchData::BgFetchData
    - getCacheLookupResultName
    - TSHandleMLocRelease
    - TSError
    - TSHttpTxnIsInternal
    - TSHttpTxnCacheLookupStatusGet
    - Dbg
    - BgFetchData*::schedule
    - static_cast<TSCacheLookupResult>
    - TSHttpTxnClientReqGet
    - BgFetchData*::acquireUrl
    - BgFetchData*::initialize
    - TSHttpTxnServerRespNoStoreGet
    linkageType: ''
    returnType: bool
    signature: bool cont_check_cacheable(TSHttpTxn txnp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:113,1
    - Dst: cont_check_cacheable
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:115,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:118,1
    - Dst: TSHttpTxnCntlSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:119,1
    - Dst: TSHttpTxnCacheLookupStatusSet
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:120,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:125,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - event
    - edata
    argTypes:
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: cont_handle_cache
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - TSError
    - Dbg
    - TSHttpTxnReenable
    - static_cast<TSHttpTxn>
    - TSHttpTxnCntlSet
    - TSHttpTxnCacheLookupStatusSet
    - cont_check_cacheable
    linkageType: ''
    returnType: int
    signature: int cont_handle_cache(TSCont /* contp ATS_UNUSED */, TSEvent event,
      void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:141,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - TSContCreate
    linkageType: ''
    returnType: TSReturnCode
    signature: "TSReturnCode TSRemapNewInstance(int /* argc ATS_UNUSED */, char **
      /* argv ATS_UNUSED */, void **ih, char * /* errbuf ATS_UNUSED */,\n                   int
      /* errbuf_size ATS_UNUSED */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:161,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSCont>
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSCont>
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:174,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:175,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/cache_fill/cache_fill.cc
    functionUses: 0
    functionsReached:
    - static_cast<TSCont>
    - TSHttpTxnHookAdd
    - Dbg
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: AccessControlConfig::AccessControlConfig
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessControlConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~AccessControlConfig()
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AccessControlConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:30,1
    - Dst: String::find
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:35,1
    - Dst: String::replace
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:36,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - from
    - to
    argTypes:
    - String
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: replaceString
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 2
    functionsReached:
    - String::length
    - String::empty
    - String::replace
    - String::find
    linkageType: ''
    returnType: void
    signature: void replaceString(String &str, const String &from, const String &to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Pattern::Pattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pattern::Pattern()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:52,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:54,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:55,1
    - Dst: Pattern::compile
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:60,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:61,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:61,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:61,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pattern
    - replacement
    - replace
    argTypes:
    - String
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 3
    functionsReached:
    - AccessControlDebug
    - Pattern::compile
    - Pattern::pcreFree
    - String::c_str
    - assign
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &pattern, const String &replacement,
      bool replace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:88,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:92,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:95,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:95,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:102,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:106,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:109,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:109,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:114,1
    - Dst: replaceString
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:115,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:117,1
    - Dst: Pattern::init
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - config
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 124
    functionName: Pattern::init
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 4
    functionsReached:
    - String::find_first_of
    - replaceString
    - Pattern::init
    - String::substr
    - AccessControlError
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::init(const String &config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Pattern::getPattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: String Pattern::getPattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Pattern::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 10
    functionsReached:
    - Pattern::empty
    linkageType: ''
    returnType: bool
    signature: bool Pattern::empty() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:152,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: Pattern::pcreFree
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 7
    functionsReached:
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void Pattern::pcreFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Pattern::~Pattern()
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached:
    - Pattern::pcreFree
    linkageType: ''
    returnType: void
    signature: void Pattern::~Pattern()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pattern::replace
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:184,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:185,1
    - Dst: Pattern::capture
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:192,1
    - Dst: StringVector::size
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:193,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:194,1
    - Dst: StringVector::begin
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:196,1
    - Dst: StringVector::end
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:197,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: Pattern::process
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 4
    functionsReached:
    - StringVector::size
    - StringVector::end
    - StringVector::begin
    - Pattern::replace
    - StringVector::push_back
    - Pattern::capture
    linkageType: ''
    returnType: bool
    signature: bool Pattern::process(const String &subject, StringVector &result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:218,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:218,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:218,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:224,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:224,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:224,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: Pattern::match
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 4
    functionsReached:
    - AccessControlDebug
    - AccessControlError
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::match(const String &subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:246,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:246,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:246,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:249,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:253,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:253,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:253,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:256,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:267,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:267,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - StringVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: Pattern::capture
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 4
    functionsReached:
    - AccessControlDebug
    - StringVector::push_back
    - AccessControlError
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool Pattern::capture(const String &subject, StringVector &result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:286,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:286,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:286,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:286,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:289,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:293,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:293,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:293,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:296,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:304,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:318,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:318,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:318,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:320,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:321,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:326,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:326,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:328,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:328,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - subject
    - result
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 331
    functionName: Pattern::replace
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 5
    functionsReached:
    - AccessControlDebug
    - length
    - AccessControlError
    - String::length
    - pcre_exec
    - c_str
    - String::c_str
    - String::append
    linkageType: ''
    returnType: bool
    signature: bool Pattern::replace(const String &subject, String &result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:343,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:343,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:344,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:346,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:346,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:353,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:353,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:358,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:361,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:361,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:363,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:376,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:379,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:379,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:384,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:384,1
    - Dst: Pattern::pcreFree
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:401,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 405
    functionName: Pattern::compile
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 3
    functionsReached:
    - pcre_study
    - AccessControlDebug
    - length
    - AccessControlError
    - Pattern::pcreFree
    - c_str
    - pcre_compile
    - pcre_free
    linkageType: ''
    returnType: bool
    signature: bool Pattern::compile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: MultiPattern::~MultiPattern()
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern::~MultiPattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: MultiPattern::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 3
    functionsReached:
    - MultiPattern::empty
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::_list::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:431,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::unique_ptr<Pattern>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: MultiPattern::add
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MultiPattern::_list::push_back
    linkageType: ''
    returnType: void
    signature: void MultiPattern::add(std::unique_ptr<Pattern> pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: MultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 4
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::match(const String &subject) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:460,1
    - Dst: getPattern
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - subject
    - pattern
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: MultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 5
    functionsReached:
    - getPattern
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool MultiPattern::match(const String &subject, String &pattern) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: '&

      MultiPattern::name() const'
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'String &

      MultiPattern::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: Classifier::~Classifier()
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier::~Classifier()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Classifier::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:494,1
    - Dst: match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:496,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - subject
    - name
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: Classifier::classify
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 1
    functionsReached:
    - Classifier::empty
    - name
    - match
    linkageType: ''
    returnType: bool
    signature: bool Classifier::classify(const String &subject, String &name) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Classifier::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:518,1
    - Dst: match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:520,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - subject
    - name
    - pattern
    argTypes:
    - String
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: Classifier::classify
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 1
    functionsReached:
    - Classifier::empty
    - name
    - match
    linkageType: ''
    returnType: bool
    signature: bool Classifier::classify(const String &subject, String &name, String
      &pattern) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Classifier::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:542,1
    - Dst: match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:544,1
    - Dst: name
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - subject
    - name
    - pattern
    argTypes:
    - String
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 551
    functionName: Classifier::matchAll
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached:
    - Classifier::empty
    - name
    - match
    linkageType: ''
    returnType: bool
    signature: bool Classifier::matchAll(const String &subject, String &name, String
      &pattern) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:562,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - std::unique_ptr<MultiPattern>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: Classifier::add
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Classifier::add(std::unique_ptr<MultiPattern> pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Classifier::empty
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: Classifier::empty
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.cc
    functionUses: 5
    functionsReached:
    - Classifier::empty
    linkageType: ''
    returnType: bool
    signature: bool Classifier::empty()
  - 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: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: DEBUG_PRINT
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: DEBUG_START
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_START(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: DEBUG_END
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_END(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: DEBUG_OUT
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_OUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~AccessToken()
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AccessToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: AccessToken::getSubject
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: AccessToken::getExpiration
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached:
    - string2time
    linkageType: ''
    returnType: time_t
    signature: time_t getExpiration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: AccessToken::getNotBefore
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached:
    - string2time
    linkageType: ''
    returnType: time_t
    signature: time_t getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: AccessToken::getIssuedAt
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached:
    - string2time
    linkageType: ''
    returnType: time_t
    signature: time_t getIssuedAt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: AccessToken::getTokenId
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getTokenId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: AccessToken::getVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: AccessToken::getScope
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getScope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: AccessToken::getKeyId
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getKeyId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: AccessToken::getHashFunction
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringView
    signature: StringView getHashFunction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: AccessToken::getState
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus getState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tokenConfig
    - secretsMap
    - enableDebug
    argTypes:
    - KvpAccessTokenConfig
    - StringMap
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: AccessTokenFactory::AccessTokenFactory
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessTokenFactory(const KvpAccessTokenConfig &tokenConfig, const
      StringMap &secretsMap, bool enableDebug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KvpAccessToken>
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.h:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: AccessTokenFactory::getAccessToken
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached:
    - std::make_unique<KvpAccessToken>
    linkageType: ''
    returnType: std::unique_ptr<AccessToken>
    signature: std::unique_ptr<AccessToken> getAccessToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: AccessTokenFactory::AccessTokenFactory
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessTokenFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: MultiPattern::MultiPattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern(const String &name = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: MultiPattern::MultiPattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPattern(const MultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '&operator=(const MultiPattern &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MultiPattern
    signature: MultiPattern &operator=(const MultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: NonMatchingMultiPattern::NonMatchingMultiPattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonMatchingMultiPattern(const String &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subject
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: NonMatchingMultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool match(const String &subject) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPattern::match
      Src: /src/trafficserver/plugins/experimental/access_control/pattern.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - subject
    - pattern
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: NonMatchingMultiPattern::match
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached:
    - MultiPattern::match
    linkageType: ''
    returnType: bool
    signature: bool match(const String &subject, String &pattern) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: NonMatchingMultiPattern::NonMatchingMultiPattern
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonMatchingMultiPattern(const NonMatchingMultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '&operator=(const NonMatchingMultiPattern &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonMatchingMultiPattern
    signature: NonMatchingMultiPattern &operator=(const NonMatchingMultiPattern &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Classifier::Classifier
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Classifier::Classifier
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classifier(const Classifier &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '&operator=(const Classifier &)'
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/pattern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classifier
    signature: Classifier &operator=(const Classifier &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:33,1
    - Dst: vfprintf
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:34,1
    - Dst: va_end
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: PrintToStdErr
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.cc
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void PrintToStdErr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stoi
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:51,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: string2int
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.cc
    functionUses: 0
    functionsReached:
    - std::stoi
    - String
    linkageType: ''
    returnType: int
    signature: int string2int(const StringView &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:64,1
    - Dst: std::stol
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:64,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/common.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: string2time
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.cc
    functionUses: 3
    functionsReached:
    - static_cast<time_t>
    - String
    - std::stol
    linkageType: ''
    returnType: time_t
    signature: time_t string2time(const StringView &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: AccessControlDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AccessControlDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: AccessControlError
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AccessControlError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: AccessControlDebug
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AccessControlDebug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: AccessControlError
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AccessControlError(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:54,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: hexEncode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t hexEncode(const char *in, size_t inLen, char *out, size_t outLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: hex2uchar
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char hex2uchar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex2uchar
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:100,1
    - Dst: hex2uchar
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: hexDecode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - hex2uchar
    linkageType: ''
    returnType: size_t
    signature: size_t hexDecode(const char *in, size_t inLen, char *out, size_t outLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:120,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:120,1
    - Dst: isalnum
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:121,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:127,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: urlEncode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<size_t>
    - snprintf
    - isalnum
    linkageType: ''
    returnType: size_t
    signature: size_t urlEncode(const char *in, size_t inLen, char *out, size_t outLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:149,1
    - Dst: static_cast<size_t>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:149,1
    - Dst: hex2uchar
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:152,1
    - Dst: hex2uchar
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:152,1
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: urlDecode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<char>
    - hex2uchar
    linkageType: ''
    returnType: size_t
    signature: size_t urlDecode(const char *in, size_t inLen, char *out, size_t outLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:180,1
    - Dst: ERR_error_string_n
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: cryptoErrStr
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    - ERR_get_error
    linkageType: ''
    returnType: char
    signature: 'char *

      cryptoErrStr(char *buffer, size_t bufferLen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:209,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:210,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:214,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:214,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:214,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:215,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:216,1
    - Dst: cryptoErrStr
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - digestType
    - data
    - dataLen
    - key
    - keyLen
    - out
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: cryptoMessageDigestGet
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - HMAC
    - AccessControlError
    - EVP_get_digestbyname
    - cryptoErrStr
    - reinterpret_cast<const unsigned char *>
    - reinterpret_cast<unsigned char *>
    linkageType: ''
    returnType: size_t
    signature: "size_t cryptoMessageDigestGet(const char *digestType, const char *data,
      size_t dataLen, const char *key, size_t keyLen, char *out,\n                       size_t
      /* outLen ATS_UNUSED */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - md1
    - md1Len
    - md2
    - md2Len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: cryptoMessageDigestEqual
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: bool
    signature: bool cryptoMessageDigestEqual(const char *md1, size_t md1Len, const
      char *md2, size_t md2Len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode_dstlen
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decodedSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: cryptoBase64EncodedSize
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode_dstlen
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoBase64EncodedSize(size_t decodedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_decode_dstlen
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encodedLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: cryptoBase64DecodeSize
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - ats_base64_decode_dstlen
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoBase64DecodeSize(const char * /* encoded ATS_UNUSED */,
      size_t encodedLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_encode
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: cryptoBase64Encode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - ats_base64_encode
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoBase64Encode(const char *in, size_t inLen, char *out,
      size_t outLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ats_base64_decode
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:307,1
    - Dst: reinterpret_cast<unsigned char *>
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: cryptoBase64Decode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<unsigned char *>
    - ats_base64_decode
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoBase64Decode(const char *in, size_t inLen, char *out,
      size_t outLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cryptoBase64Encode
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: cryptoModifiedBase64Encode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - cryptoBase64Encode
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoModifiedBase64Encode(const char *in, size_t inLen, char
      *out, size_t outLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cryptoBase64Decode
      Src: /src/trafficserver/plugins/experimental/access_control/utils.cc:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - in
    - inLen
    - out
    - outLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 382
    functionName: cryptoModifiedBase64Decode
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/utils.cc
    functionUses: 0
    functionsReached:
    - cryptoBase64Decode
    linkageType: ''
    returnType: size_t
    signature: size_t cryptoModifiedBase64Decode(const char *in, size_t inLen, char
      *out, size_t outLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:35,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:35,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: isTrue
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 4
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool isTrue(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    - Dst: std::string::begin
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ltrim
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 27
    functionsReached:
    - std::string::erase
    - std::string::begin
    - std::string::end
    - std::isspace
    - std::find_if
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ltrim(std::string &s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    - Dst: std::find_if
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    - Dst: std::string::rbegin
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    - Dst: std::string::rend
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    - Dst: std::isspace
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    - Dst: std::string::end
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: rtrim
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 12
    functionsReached:
    - std::string::erase
    - std::string::rend
    - std::string::end
    - std::isspace
    - std::find_if
    - std::string::rbegin
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      rtrim(std::string &s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:64,1
    - Dst: rtrim
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: trim
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 49
    functionsReached:
    - rtrim
    - ltrim
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      trim(std::string &s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:73,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:77,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: makeConfigPath
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 3
    functionsReached:
    - String::empty
    - String
    - TSConfigDirGet
    linkageType: ''
    returnType: String
    signature: String makeConfigPath(const String &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: loadLine
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void loadLine(T & /* container ATS_UNUSED */, const String & /* line
      ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:99,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:100,1
    - Dst: trim
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:101,1
    - Dst: trim
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:102,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:106,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:106,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - map
    - line
    argTypes:
    - StringMap
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: loadLine
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 0
    functionsReached:
    - std::getline
    - AccessControlDebug
    - String::c_str
    - trim
    linkageType: ''
    returnType: void
    signature: void loadLine<StringMap>(StringMap &map, const String &line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:118,1
    - Dst: StringVector::push_back
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:119,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:122,1
    - Dst: StringVector::size
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:122,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vector
    - line
    argTypes:
    - StringVector
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: loadLine
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 0
    functionsReached:
    - StringVector::size
    - AccessControlDebug
    - trim
    - String::c_str
    - StringVector::push_back
    linkageType: ''
    returnType: void
    signature: void loadLine<StringVector>(StringVector &vector, const String &line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:138,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:138,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:141,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:141,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:142,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:143,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:143,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:147,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:149,1
    - Dst: String::resize
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:151,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:153,1
    - Dst: loadLine
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:157,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - container
    - filename
    argTypes:
    - T
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: load
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 248
    functionsReached:
    - String::find_first_of
    - std::ifstream::close
    - AccessControlDebug
    - loadLine
    - String::empty
    - std::ifstream::open
    - AccessControlError
    - String::resize
    - String::c_str
    - std::getline
    - std::ifstream::is_open
    linkageType: ''
    returnType: bool
    signature: bool load(T &container, const String &filename)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:173,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:174,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:175,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:176,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:177,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:178,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:179,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:180,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:181,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:182,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:183,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:184,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:185,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:186,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:187,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:188,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:201,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:206,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:211,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:211,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:215,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:215,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:219,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:219,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:223,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:223,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:227,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:227,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:231,1
    - Dst: string2int
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:231,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:235,1
    - Dst: load
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:239,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:243,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:247,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:251,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:255,1
    - Dst: assign
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:259,1
    - Dst: isTrue
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:263,1
    - Dst: AccessControlConfig::loadMultiPatternsFromFile
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:266,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:267,1
    - Dst: AccessControlConfig::loadMultiPatternsFromFile
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:272,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:273,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:285,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:286,1
    - Dst: std::make_unique<AccessTokenFactory>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:291,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:293,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 297
    functionName: AccessControlConfig::init
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 0
    functionsReached:
    - AccessControlDebug
    - static_cast<TSHttpStatus>
    - getopt_long
    - const_cast<char *>
    - load
    - std::make_unique<AccessTokenFactory>
    - AccessControlError
    - string2int
    - isTrue
    - AccessControlConfig::loadMultiPatternsFromFile
    - empty
    - assign
    linkageType: ''
    returnType: bool
    signature: bool AccessControlConfig::init(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: String::empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:308,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:309,1
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:319,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:319,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:321,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:321,1
    - Dst: std::make_unique<NonMatchingMultiPattern>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:328,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:329,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:329,1
    - Dst: std::make_unique<MultiPattern>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:331,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:332,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:332,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:335,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:335,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:339,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:339,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:339,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:341,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:347,1
    - Dst: String::resize
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:349,1
    - Dst: String::empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:352,1
    - Dst: std::make_unique<Pattern>
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:356,1
    - Dst: auto::init
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:358,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:360,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:360,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:360,1
    - Dst: std::unique_ptr::add
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:361,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:361,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:363,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:363,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:363,1
    - Dst: std::unique_ptr::add
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:364,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:364,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:367,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:367,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:367,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:371,1
    - Dst: std::unique_ptr::empty
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:373,1
    - Dst: add
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:374,1
    - Dst: std::move
      Src: /src/trafficserver/plugins/experimental/access_control/config.cc:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - filename
    - denylist
    argTypes:
    - String
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 378
    functionName: AccessControlConfig::loadMultiPatternsFromFile
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/config.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<MultiPattern>
    - String::find_first_of
    - std::ifstream::close
    - AccessControlDebug
    - add
    - String::empty
    - auto::init
    - std::ifstream::open
    - AccessControlError
    - std::make_unique<Pattern>
    - std::move
    - std::unique_ptr::empty
    - String::resize
    - String::c_str
    - std::getline
    - std::make_unique<NonMatchingMultiPattern>
    - std::unique_ptr::add
    linkageType: ''
    returnType: bool
    signature: bool AccessControlConfig::loadMultiPatternsFromFile(const String &filename,
      bool denylist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:42,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:46,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:49,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: removeHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: int
    signature: int removeHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header,
      int headerlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:67,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: headerExist
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/headers.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    linkageType: ''
    returnType: bool
    signature: bool headerExist(TSMBuffer bufp, TSMLoc hdrLoc, const char *header,
      int headerlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:89,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:92,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:94,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:98,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:107,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:110,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    - value
    - valuelen
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: getHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/headers.cc
    functionUses: 4
    functionsReached:
    - TSMimeHdrFieldFind
    - memcpy
    - TSMimeHdrFieldValuesCount
    - TSHandleMLocRelease
    - TSMimeHdrFieldValueStringGet
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: char
    signature: 'char *

      getHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header, int headerlen,
      char *value, int *valuelen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:143,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:147,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:148,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:149,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:152,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:159,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:162,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:166,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/headers.cc:168,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 7
    argNames:
    - bufp
    - hdrLoc
    - header
    - headerlen
    - value
    - valuelen
    - duplicateOk
    argTypes:
    - TSMBuffer
    - TSMLoc
    - char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: setHeader
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/headers.cc
    functionUses: 3
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldDestroy
    - TSMimeHdrFieldAppend
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool setHeader(TSMBuffer bufp, TSMLoc hdrLoc, const char *header, int
      headerlen, const char *value, int valuelen, bool duplicateOk)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - event
    argTypes:
    - TSEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: getEventName
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getEventName(TSEvent event)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - AccessControlConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: AccessControlTxnData::AccessControlTxnData
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessControlTxnData(AccessControlConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* apiInfo ATS_UNUSED */,
      char * /* errBuf ATS_UNUSED */, int /* erroBufSize ATS_UNUSED */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlConfig::AccessControlConfig
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:122,1
    - Dst: AccessControlConfig*::init
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:123,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - argc
    - argv
    - instance
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - AccessControlConfig::AccessControlConfig
    - AccessControlConfig*::init
    - AccessControlDebug
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance,
      char * /* errBuf ATS_UNUSED */, int /* errBufSize ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AccessControlConfig *>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<AccessControlConfig *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *instance)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - state
    - config
    argTypes:
    - AccessTokenStatus
    - AccessControlConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 200
    functionName: accessTokenStateToHttpStatus
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - AccessControlDebug
    linkageType: ''
    returnType: TSHttpStatus
    signature: TSHttpStatus accessTokenStateToHttpStatus(AccessTokenStatus state,
      AccessControlConfig *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: String::find_first_not_of
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:208,1
    - Dst: String::erase
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: ltrim
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 28
    functionsReached:
    - String::erase
    - String::find_first_not_of
    linkageType: ''
    returnType: void
    signature: void ltrim(String &target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:221,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - hdr
    - field
    argTypes:
    - TSMBuffer
    - TSMLoc
    - TSMLoc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: nextDuplicate
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 3
    functionsReached:
    - TSHandleMLocRelease
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: TSMLoc
    signature: TSMLoc nextDuplicate(TSMBuffer buffer, TSMLoc hdr, TSMLoc field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:236,1
    - Dst: nextDuplicate
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:237,1
    - Dst: TSMimeHdrFieldValuesCount
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:238,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:244,1
    - Dst: std::getline
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:252,1
    - Dst: ext::details::ltrim
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:253,1
    - Dst: String::find_first_of
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:255,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:256,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:256,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:258,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:258,1
    - Dst: String::compare
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:260,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:261,1
    - Dst: String::substr
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - hdrs
    - cookieName
    - cookieValue
    argTypes:
    - TSMBuffer
    - TSMLoc
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: getCookieByName
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValuesCount
    - String::find_first_of
    - AccessControlDebug
    - nextDuplicate
    - TSMimeHdrFieldValueStringGet
    - ext::details::ltrim
    - String::assign
    - String::substr
    - String::c_str
    - std::getline
    - String::compare
    - String::size
    linkageType: ''
    returnType: bool
    signature: bool getCookieByName(TSHttpTxn /* txn ATS_UNUSED */, TSMBuffer buf,
      TSMLoc hdrs, const String &cookieName, String &cookieValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:283,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - txnp
    - data
    - reject
    - httpStatus
    - status
    argTypes:
    - TSHttpTxn
    - AccessControlTxnData*
    - bool
    - TSHttpStatus
    - AccessTokenStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: handleInvalidToken
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - TSHttpTxnConfigIntSet
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus handleInvalidToken(TSHttpTxn txnp, AccessControlTxnData
      *data, bool reject, const TSHttpStatus httpStatus, AccessTokenStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:305,1
    - Dst: gmtime_r
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:305,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expires
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: getCookieExpiresTime
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - String
    - strftime
    - gmtime_r
    linkageType: ''
    returnType: String
    signature: String getCookieExpiresTime(time_t expires)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:324,1
    - Dst: static_cast<AccessControlTxnData *>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:325,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:325,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:329,1
    - Dst: getEventName
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:329,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:333,1
    - Dst: AccessControlConfig*::_cookieName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:333,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:342,1
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:345,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:346,1
    - Dst: getHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:353,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:353,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:353,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:357,1
    - Dst: AccessControlConfig*::_tokenFactory::getAccessToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:359,1
    - Dst: auto::validate
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:361,1
    - Dst: StringView
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:361,1
    - Dst: time
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:361,1
    - Dst: cryptoBase64EncodedSize
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:368,1
    - Dst: cryptoModifiedBase64Encode
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:371,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:374,1
    - Dst: auto::getExpiration
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:381,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:383,1
    - Dst: getCookieExpiresTime
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:383,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:390,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:392,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:392,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:393,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:393,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:394,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:396,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:398,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:400,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:401,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:401,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:402,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:403,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:403,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:409,1
    - Dst: removeHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:413,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:413,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:414,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:415,1
    - Dst: AccessControlConfig*::_respTokenHeaderName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:415,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:417,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:420,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:421,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:422,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:422,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:422,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:425,1
    - Dst: TSHttpTxnEffectiveUrlStringGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:428,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:429,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:430,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:430,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:430,1
    - Dst: AccessControlConfig*::_extrValidationHdrName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:436,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:441,1
    - Dst: accessTokenStatusToString
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:443,1
    - Dst: accessTokenStatusToString
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:444,1
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:447,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:448,1
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:451,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:452,1
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:452,1
    - Dst: String::append
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:453,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:455,1
    - Dst: AccessControlConfig*::_extrValidationHdrName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:455,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:455,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:456,1
    - Dst: AccessControlConfig*::_extrValidationHdrName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:456,1
    - Dst: AccessControlConfig*::_extrValidationHdrName::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:456,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:457,1
    - Dst: String::length
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:457,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:460,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:466,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:472,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 474
    functionName: contHandleAccessControl
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<AccessControlTxnData *>
    - cryptoModifiedBase64Encode
    - TSHttpTxnClientRespGet
    - AccessControlDebug
    - TSHandleMLocRelease
    - TSContDestroy
    - AccessControlConfig*::_extrValidationHdrName::c_str
    - TSHttpTxnEffectiveUrlStringGet
    - snprintf
    - TSContDataGet
    - TSHttpTxnClientReqGet
    - StringView::empty
    - getEventName
    - TSHttpTxnServerRespGet
    - size
    - getCookieExpiresTime
    - auto::getExpiration
    - setHeader
    - accessTokenStatusToString
    - cryptoBase64EncodedSize
    - static_cast<char *>
    - String::length
    - AccessControlConfig*::_respTokenHeaderName::c_str
    - data
    - String::size
    - String::append
    - static_cast<int>
    - auto::validate
    - AccessControlConfig*::_extrValidationHdrName::empty
    - AccessControlConfig*::_respTokenHeaderName::size
    - AccessControlError
    - AccessControlConfig*::_cookieName::empty
    - strlen
    - TSmalloc
    - String::c_str
    - removeHeader
    - TSHttpTxnReenable
    - TSHttpTxnStatusSet
    - StringView
    - AccessControlConfig*::_tokenFactory::getAccessToken
    - TSHttpTxnErrorBodySet
    - getHeader
    - AccessControlConfig*::_respTokenHeaderName::empty
    - AccessControlConfig*::_extrValidationHdrName::size
    - static_cast<TSHttpTxn>
    - time
    linkageType: ''
    returnType: int
    signature: int contHandleAccessControl(const TSCont contp, TSEvent event, void
      *edata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlConfig*::_cookieName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:489,1
    - Dst: AccessControlTxnData::AccessControlTxnData
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:497,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:498,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:498,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:499,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:499,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:500,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:501,1
    - Dst: getCookieByName
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:506,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:508,1
    - Dst: AccessControlConfig*::_cookieName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:508,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:508,1
    - Dst: cryptoBase64DecodeSize
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:516,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:516,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:516,1
    - Dst: cryptoModifiedBase64Decode
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:518,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:518,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:518,1
    - Dst: AccessControlConfig*::_tokenFactory::getAccessToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:520,1
    - Dst: auto::validate
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:521,1
    - Dst: StringView
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:521,1
    - Dst: time
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:521,1
    - Dst: handleInvalidToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:524,1
    - Dst: accessTokenStateToHttpStatus
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:524,1
    - Dst: AccessControlConfig*::_extrSubHdrName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:528,1
    - Dst: auto::getSubject
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:529,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:530,1
    - Dst: AccessControlConfig*::_extrSubHdrName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:530,1
    - Dst: AccessControlConfig*::_extrSubHdrName::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:530,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:531,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:531,1
    - Dst: AccessControlConfig*::_extrTokenIdHdrName::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:536,1
    - Dst: auto::getTokenId
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:537,1
    - Dst: setHeader
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:538,1
    - Dst: AccessControlConfig*::_extrTokenIdHdrName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:538,1
    - Dst: AccessControlConfig*::_extrTokenIdHdrName::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:538,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:539,1
    - Dst: String::size
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:539,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:542,1
    - Dst: handleInvalidToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:543,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:546,1
    - Dst: handleInvalidToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:547,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:550,1
    - Dst: AccessControlConfig*::_cookieName::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:550,1
    - Dst: handleInvalidToken
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - txnp
    - rri
    - config
    argTypes:
    - TSHttpTxn
    - TSRemapRequestInfo*
    - AccessControlConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 486
    functionDepth: 6
    functionLinenumber: 486
    functionLinenumberEnd: 555
    functionName: enforceAccessControl
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - AccessControlDebug
    - AccessControlConfig*::_cookieName::c_str
    - auto::getSubject
    - AccessControlConfig*::_extrTokenIdHdrName::empty
    - auto::getTokenId
    - setHeader
    - AccessControlConfig*::_extrTokenIdHdrName::size
    - accessTokenStateToHttpStatus
    - AccessControlConfig*::_extrSubHdrName::empty
    - cryptoModifiedBase64Decode
    - cryptoBase64DecodeSize
    - String::size
    - auto::validate
    - TSHttpTxnHookAdd
    - AccessControlConfig*::_extrSubHdrName::size
    - AccessControlConfig*::_cookieName::empty
    - TSContCreate
    - String::c_str
    - TSMutexCreate
    - getCookieByName
    - StringView
    - AccessControlConfig*::_tokenFactory::getAccessToken
    - AccessControlConfig*::_extrTokenIdHdrName::c_str
    - AccessControlTxnData::AccessControlTxnData
    - TSContDataSet
    - AccessControlConfig*::_extrSubHdrName::c_str
    - time
    - handleInvalidToken
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus enforceAccessControl(TSHttpTxn txnp, TSRemapRequestInfo
      *rri, AccessControlConfig *config)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AccessControlConfig *>
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:570,1
    - Dst: TSUrlSchemeGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:575,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:577,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:578,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:582,1
    - Dst: String::assign
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:584,1
    - Dst: AccessControlConfig*::_uriPathScope::empty
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:589,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:591,1
    - Dst: enforceAccessControl
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:592,1
    - Dst: AccessControlConfig*::_uriPathScope::matchAll
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:594,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:595,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:595,1
    - Dst: enforceAccessControl
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:598,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:600,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:601,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:601,1
    - Dst: String::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:601,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:605,1
    - Dst: AccessControlDebug
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:606,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:610,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:611,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:616,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/plugin.cc:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - instance
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 566
    functionDepth: 7
    functionLinenumber: 566
    functionLinenumberEnd: 622
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/plugin.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - static_cast<AccessControlConfig *>
    - AccessControlConfig*::_uriPathScope::empty
    - AccessControlDebug
    - String::assign
    - enforceAccessControl
    - AccessControlError
    - AccessControlConfig*::_uriPathScope::matchAll
    - TSUrlSchemeGet
    - String::c_str
    - strncmp
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *instance, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - secretsMap
    - enableDebug
    argTypes:
    - StringMap
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: AccessToken::AccessToken
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessToken::AccessToken(const StringMap &secretsMap, bool enableDebug)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:39,1
    - Dst: parse
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:45,1
    - Dst: AccessToken::validateSemantics
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:50,1
    - Dst: AccessToken::validateSignature
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:55,1
    - Dst: AccessToken::validateTiming
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - token
    - time
    argTypes:
    - StringView
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 67
    functionName: AccessToken::validate
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - AccessToken::validateSemantics
    - parse
    - AccessToken::validateTiming
    - AccessToken::validateSignature
    - StringView::empty
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus AccessToken::validate(const StringView token, time_t
      time)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:73,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:74,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:78,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:79,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:83,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:84,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:88,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: AccessToken::validateSemantics
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 1
    functionsReached:
    - empty
    - ERROR_OUT
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus AccessToken::validateSemantics()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSecretMap
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:102,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:104,1
    - Dst: calcMessageDigest
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:111,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:111,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:111,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:113,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:119,1
    - Dst: hexDecode
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:120,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:120,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:120,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:122,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:125,1
    - Dst: cryptoMessageDigestEqual
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:128,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 135
    functionName: AccessToken::validateSignature
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 1
    functionsReached:
    - memset
    - cryptoMessageDigestEqual
    - getSecretMap
    - data
    - DEBUG_OUT
    - calcMessageDigest
    - size
    - hexDecode
    - ERROR_OUT
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus AccessToken::validateSignature()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:145,1
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:146,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:156,1
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:157,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:168,1
    - Dst: string2time
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - time
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 173
    functionName: AccessToken::validateTiming
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 1
    functionsReached:
    - empty
    - string2time
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus AccessToken::validateTiming(time_t time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tokenConfig
    - secretsMap
    - enableDebug
    argTypes:
    - KvpAccessTokenConfig
    - StringMap
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: KvpAccessToken::KvpAccessToken
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KvpAccessToken::KvpAccessToken(const KvpAccessTokenConfig &tokenConfig,
      const StringMap &secretsMap, bool enableDebug)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:189,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:196,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:197,1
    - Dst: StringView::find
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:198,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:200,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:203,1
    - Dst: StringView::substr
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:204,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:206,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:231,1
    - Dst: kvDelimiter::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:235,1
    - Dst: messageDigestName::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:239,1
    - Dst: kvDelimiter::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:239,1
    - Dst: substr
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:240,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - token
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 246
    functionName: KvpAccessToken::parse
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - find
    - messageDigestName::size
    - StringView::substr
    - kvDelimiter::size
    - StringView::find
    - substr
    - DEBUG_OUT
    - ERROR_OUT
    linkageType: ''
    returnType: AccessTokenStatus
    signature: AccessTokenStatus KvpAccessToken::parse(const StringView token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - config
    - secretsMap
    argTypes:
    - KvpAccessTokenConfig
    - StringMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: KvpAccessTokenBuilder::KvpAccessTokenBuilder
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::KvpAccessTokenBuilder(const KvpAccessTokenConfig
      &config, const StringMap &secretsMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:258,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:258,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: KvpAccessTokenBuilder::appendKeyValuePair
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - empty
    - append
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::appendKeyValuePair(const StringView &key,
      const StringView value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sub
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: KvpAccessTokenBuilder::addSubject
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addSubject(const StringView sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:270,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exp
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: KvpAccessTokenBuilder::addExpiration
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addExpiration(time_t exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:275,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbf
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: KvpAccessTokenBuilder::addNotBefore
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addNotBefore(time_t nbf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:280,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iat
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: KvpAccessTokenBuilder::addIssuedAt
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - std::to_string
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addIssuedAt(time_t iat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: KvpAccessTokenBuilder::addTokenId
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addTokenId(const StringView tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ver
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: KvpAccessTokenBuilder::addVersion
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addVersion(const StringView ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scope
    argTypes:
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: KvpAccessTokenBuilder::addScope
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - KvpAccessTokenBuilder::appendKeyValuePair
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::addScope(const StringView scope)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:300,1
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:301,1
    - Dst: KvpAccessTokenBuilder::appendKeyValuePair
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:302,1
    - Dst: getSecretMap
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:306,1
    - Dst: ERROR_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:308,1
    - Dst: calcMessageDigest
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:312,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:312,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:312,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:314,1
    - Dst: hexEncode
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:319,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:321,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:323,1
    - Dst: StringView
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:323,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - kid
    - hf
    argTypes:
    - StringView
    - StringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 327
    functionName: KvpAccessTokenBuilder::sign
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - hexEncode
    - StringView
    - KvpAccessTokenBuilder::appendKeyValuePair
    - getSecretMap
    - data
    - append
    - DEBUG_OUT
    - calcMessageDigest
    - size
    - ERROR_OUT
    linkageType: ''
    returnType: void
    signature: void KvpAccessTokenBuilder::sign(const StringView kid, const StringView
      hf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: KvpAccessTokenBuilder::get
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: 'char *

      KvpAccessTokenBuilder::get()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: createStaticDigestAlgoMap
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<String, String>
    signature: std::map<String, String> createStaticDigestAlgoMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringView::empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:369,1
    - Dst: cryptoMessageDigestGet
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:370,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:370,1
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:372,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:372,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:372,1
    - Dst: StringView::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:372,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:373,1
    - Dst: AccessControlError
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:374,1
    - Dst: StringView::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:374,1
    - Dst: StringView::data
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:374,1
    - Dst: cryptoMessageDigestGet
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:378,1
    - Dst: std::map<String, String>::const_iterator::second::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:378,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - hf
    - secret
    - message
    - messageLen
    - buffer
    - len
    argTypes:
    - StringView
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 380
    functionName: calcMessageDigest
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 2
    functionsReached:
    - StringView::data
    - String
    - cryptoMessageDigestGet
    - find
    - end
    - AccessControlError
    - StringView::size
    - strlen
    - StringView::empty
    - std::map<String, String>::const_iterator::second::c_str
    linkageType: ''
    returnType: size_t
    signature: size_t calcMessageDigest(const StringView hf, const char *secret, const
      char *message, size_t messageLen, char *buffer, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringMap::empty
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:394,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:395,1
    - Dst: StringMap::find
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:400,1
    - Dst: String
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:400,1
    - Dst: StringMap::end
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:401,1
    - Dst: StringMap::const_iterator::second::c_str
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:402,1
    - Dst: StringMap::const_iterator::second::size
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:403,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:405,1
    - Dst: DEBUG_OUT
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - map
    - key
    - secretSize
    argTypes:
    - StringMap
    - StringView
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: getSecretMap
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 2
    functionsReached:
    - String
    - StringMap::end
    - StringMap::find
    - StringMap::const_iterator::second::size
    - StringMap::const_iterator::second::c_str
    - StringMap::empty
    - DEBUG_OUT
    linkageType: ''
    returnType: char
    signature: 'char *

      getSecretMap(const StringMap &map, const StringView &key, size_t &secretSize)'
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - AccessTokenStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 471
    functionName: accessTokenStatusToString
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      accessTokenStatusToString(const AccessTokenStatus &state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accessTokenStatusToString
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:479,1
    - Dst: AccessToken::getExpiration
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:484,1
    - Dst: AccessToken::getNotBefore
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:485,1
    - Dst: AccessToken::getIssuedAt
      Src: /src/trafficserver/plugins/experimental/access_control/access_control.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - os
    - token
    argTypes:
    - std::ostream
    - AccessToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 497
    functionName: '&

      operator<<(std::ostream &os, const AccessToken &token)'
    functionSourceFile: /src/trafficserver/plugins/experimental/access_control/access_control.cc
    functionUses: 0
    functionsReached:
    - AccessToken::getNotBefore
    - accessTokenStatusToString
    - AccessToken::getIssuedAt
    - AccessToken::getExpiration
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, const AccessToken &token)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:47,1
    - Dst: const_cast<unsigned char *>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:47,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: asn1_string_extract
    functionSourceFile: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc
    functionUses: 0
    functionsReached:
    - const_cast<unsigned char *>
    - ASN1_STRING_get0_data
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      asn1_string_extract(ASN1_STRING *s)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSSslClientContextFindByName
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:55,1
    - Dst: SSL_new
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:57,1
    - Dst: reinterpret_cast<SSL_CTX *>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:57,1
    - Dst: SSL_get_certificate
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:62,1
    - Dst: X509_get_notAfter
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:66,1
    - Dst: X509_get_serialNumber
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:67,1
    - Dst: X509_get_subject_name
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:68,1
    - Dst: BIO_new
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:71,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:71,1
    - Dst: X509_NAME_print_ex
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:72,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:73,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:75,1
    - Dst: BIO_free
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:78,1
    - Dst: static_cast<GENERAL_NAMES *>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:81,1
    - Dst: X509_get_ext_d2i
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:81,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:83,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:85,1
    - Dst: asn1_string_extract
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:90,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:91,1
    - Dst: asn1_string_extract
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:95,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:96,1
    - Dst: asn1_string_extract
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:100,1
    - Dst: ASN1_STRING_length
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:101,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:108,1
    - Dst: push_back
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:109,1
    - Dst: empty
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:112,1
    - Dst: back
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:112,1
    - Dst: pop_back
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:113,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:120,1
    - Dst: ASN1_INTEGER_get
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:122,1
    - Dst: std::to_string
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:125,1
    - Dst: BIO_new
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:129,1
    - Dst: BIO_s_mem
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:129,1
    - Dst: ASN1_TIME_print
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:130,1
    - Dst: BIO_get_mem_data
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:131,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:132,1
    - Dst: BIO_free
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:133,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:134,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:134,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:135,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:135,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:135,1
    - Dst: TSTextLogObjectWrite
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:136,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:137,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:137,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:137,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:137,1
    - Dst: SSL_free
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:140,1
    - Dst: TSSslContextDestroy
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:141,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - ca_path
    - ck_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 143
    functionName: dump_context
    functionSourceFile: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - std::string
    - back
    - BIO_s_mem
    - TSSslContextDestroy
    - ASN1_INTEGER_get
    - X509_get_serialNumber
    - BIO_free
    - append
    - empty
    - X509_NAME_print_ex
    - std::string::c_str
    - sk_GENERAL_NAME_value
    - BIO_new
    - SSL_new
    - ASN1_INTEGER_get_int64
    - push_back
    - Dbg
    - sk_GENERAL_NAME_num
    - static_cast<GENERAL_NAMES *>
    - ASN1_TIME_print
    - asn1_string_extract
    - TSSslClientContextFindByName
    - std::to_string
    - TSTextLogObjectWrite
    - ASN1_STRING_length
    - SSL_free
    - pop_back
    - BIO_get_mem_data
    - reinterpret_cast<SSL_CTX *>
    - X509_get_ext_d2i
    - c_str
    - X509_get_notAfter
    - SSL_get_certificate
    linkageType: ''
    returnType: void
    signature: void dump_context(const char *ca_path, const char *ck_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:149,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:152,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:154,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:154,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:155,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:155,1
    - Dst: TSSslClientContextsNamesGet
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:159,1
    - Dst: static_cast<char const **>
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:161,1
    - Dst: malloc
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:161,1
    - Dst: TSSslClientContextsNamesGet
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:162,1
    - Dst: dump_context
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:164,1
    - Dst: TSTextLogObjectFlush
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: CB_context_dump
    functionSourceFile: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc
    functionUses: 0
    functionsReached:
    - static_cast<char const **>
    - std::string_view::substr
    - static_cast<TSPluginMsg *>
    - dump_context
    - std::string_view::size
    - strlen
    - std::string_view::remove_prefix
    - malloc
    - TSTextLogObjectFlush
    - TSSslClientContextsNamesGet
    linkageType: ''
    returnType: int
    signature: int CB_context_dump(TSCont, TSEvent, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:182,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:183,1
    - Dst: TSTextLogObjectCreate
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:186,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:187,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:190,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:191,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/cert_reporting_tool/cert_reporting_tool.cc
    functionUses: 0
    functionsReached:
    - TSLifecycleHookAdd
    - TSError
    - TSTextLogObjectCreate
    - Dbg
    - TSContCreate
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc ATS_UNUSED */, const char ** /* argv
      ATS_UNUSED */)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSPluginMsg *>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:42,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:43,1
    - Dst: static_cast<const char *>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:44,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:46,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:46,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:46,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:49,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:49,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:49,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:51,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:51,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:53,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:53,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:55,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:55,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:55,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:57,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:57,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:58,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: msg_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - TSError
    - static_cast<TSPluginMsg *>
    - atoi
    - Dbg
    - std::string_view::data
    - static_cast<const char *>
    - static_cast<bool>
    linkageType: ''
    returnType: int
    signature: int msg_hook(TSCont * /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:73,1
    - Dst: swoc::LocalBufferWriter::view
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ip
    - address
    argTypes:
    - swoc::IPAddr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ipaddr_to_string
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - swoc::LocalBufferWriter::view
    - swoc::LocalBufferWriter::print
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      ipaddr_to_string(const swoc::IPAddr &ip, std::string &address)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: IPTable::IPTable
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:95,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:96,1
    - Dst: insert
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:97,1
    - Dst: std::make_pair
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:97,1
    - Dst: IPTableItem
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ip
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: IPTable::increment
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - IPTableItem
    - insert
    - find
    - std::make_pair
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t increment(swoc::IPAddr const &ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:110,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ip
    argTypes:
    - swoc::IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: IPTable::getCount
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getCount(swoc::IPAddr const &ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:124,1
    - Dst: end
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:124,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:127,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:127,1
    - Dst: erase
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:128,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:133,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:134,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:135,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:138,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: IPTable::clean
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - ipaddr_to_string
    - TSError
    - end
    - Dbg
    - TSStatIntIncrement
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:156,1
    - Dst: static_cast<TSVConn>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:157,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:160,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:161,1
    - Dst: TSVConnIsSsl
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:166,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:167,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:168,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:173,1
    - Dst: getCount
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:177,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:178,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:185,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:185,1
    - Dst: TSVConnFdGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:187,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:188,1
    - Dst: read
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:190,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:195,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:195,1
    - Dst: TSVConnProtocolDisable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:196,1
    - Dst: TSVConnReenable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 202
    functionName: handle_start_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - ipaddr_to_string
    - TSVConnProtocolDisable
    - TSVConnFdGet
    - shutdown
    - static_cast<TSVConn>
    - read
    - Dbg
    - getCount
    - TSVConnIsSsl
    - TSVConnReenable
    - TSNetVConnRemoteAddrGet
    linkageType: ''
    returnType: int
    signature: int handle_start_hook(TSCont * /* contp ATS_UNUSED */, TSEvent /* event
      ATS_UNUSED */, void *edata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:214,1
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:215,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:218,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:219,1
    - Dst: TSHttpTxnClientReceivedErrorGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:226,1
    - Dst: TSHttpTxnClientSentErrorGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:227,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:231,1
    - Dst: TSHttpTxnSsnGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:238,1
    - Dst: TSHttpSsnClientVConnGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:239,1
    - Dst: TSNetVConnRemoteAddrGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:240,1
    - Dst: increment
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:242,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:245,1
    - Dst: ipaddr_to_string
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:245,1
    - Dst: TSVConnFdGet
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:247,1
    - Dst: shutdown
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:248,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - edata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: handle_close_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - increment
    - ipaddr_to_string
    - TSVConnFdGet
    - TSHttpTxnClientReceivedErrorGet
    - shutdown
    - TSHttpTxnSsnGet
    - TSHttpTxnClientSentErrorGet
    - Dbg
    - TSNetVConnRemoteAddrGet
    - static_cast<TSHttpTxn>
    - TSHttpSsnClientVConnGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int handle_close_hook(TSCont * /* contp ATS_UNUSED */, TSEvent /* event
      ATS_UNUSED */, void *edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: clean_table
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - clean
    linkageType: ''
    returnType: int
    signature: int clean_table(TSCont * /* contp ATS_UNUSED */, TSEvent /* event ATS_UNUSED
      */, void * /* edata ATS_UNUSED */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:268,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:276,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:277,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:282,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:283,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:284,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:284,1
    - Dst: static_cast<bool>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:285,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:285,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:287,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:293,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:297,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:300,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:300,1
    - Dst: reinterpret_cast<TSEventFunc>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:300,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:301,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:301,1
    - Dst: reinterpret_cast<TSEventFunc>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:301,1
    - Dst: TSLifecycleHookAdd
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:302,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:302,1
    - Dst: reinterpret_cast<TSEventFunc>
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:302,1
    - Dst: TSContScheduleEveryOnPool
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:305,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:305,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 306
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/block_errors/block_errors.cc
    functionUses: 0
    functionsReached:
    - TSStatCreate
    - TSLifecycleHookAdd
    - TSError
    - reinterpret_cast<TSEventFunc>
    - TSHttpHookAdd
    - atoi
    - Dbg
    - TSContCreate
    - TSContScheduleEveryOnPool
    - TSMutexCreate
    - static_cast<bool>
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:42,1
    - Dst: GeoIP_new
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:43,1
    - Dst: GeoIP_db_avail
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:46,1
    - Dst: GeoIP_open_type
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:47,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: Acl::init
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - GeoIP_new
    - GeoIP_db_avail
    - GeoIP_open_type
    linkageType: ''
    returnType: bool
    signature: bool Acl::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeoIP_id_by_code
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:57,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Acl::country_id_by_code
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - GeoIP_id_by_code
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int Acl::country_id_by_code(const std::string &str) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:68,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:68,1
    - Dst: GeoIP_id_by_ipnum
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:70,1
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:73,1
    - Dst: GeoIP_id_by_ipnum_v6
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:75,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: Acl::country_id_by_addr
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - reinterpret_cast<const struct sockaddr_in6 *>
    - reinterpret_cast<const struct sockaddr_in *>
    - Dbg
    - GeoIP_id_by_ipnum
    - GeoIP_id_by_ipnum_v6
    linkageType: ''
    returnType: int
    signature: int Acl::country_id_by_addr(const sockaddr *addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:91,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: Acl::init
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool Acl::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Acl::country_id_by_code
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Acl::country_id_by_code(const std::string & /* str ATS_UNUSED */)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Acl::country_id_by_addr
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Acl::country_id_by_addr(const sockaddr * /* addr ATS_UNUSED */)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:116,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:117,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:118,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:118,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:118,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:119,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:120,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: Acl::read_html
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - TSError
    - std::istreambuf_iterator<char>
    - std::ifstream::open
    - Dbg
    - append
    - std::ifstream::close
    - std::ifstream::is_open
    linkageType: ''
    returnType: void
    signature: void Acl::read_html(const char *fn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:134,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:137,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:142,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:144,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:145,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:147,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:149,1
    - Dst: set_allow
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:151,1
    - Dst: set_allow
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:153,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:155,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:155,1
    - Dst: std::string::find_first_not_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:159,1
    - Dst: std::string::find_first_of
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:160,1
    - Dst: std::string::substr
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:161,1
    - Dst: add_token
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:162,1
    - Dst: RegexAcl::compile
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:165,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:166,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - filename
    - line
    - lineno
    - tokens
    argTypes:
    - char*
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: RegexAcl::parse_line
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - std::string::find_first_not_of
    - add_token
    - std::string::substr
    - TSError
    - std::string::empty
    - RegexAcl::compile
    - std::string::find_first_of
    - set_allow
    - Dbg
    - c_str
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool RegexAcl::parse_line(const char *filename, const std::string &line,
      int lineno, int &tokens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:182,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:182,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:185,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:187,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - str
    - filename
    - lineno
    argTypes:
    - std::string
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 197
    functionName: RegexAcl::compile
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 1
    functionsReached:
    - pcre_compile
    - c_str
    - pcre_study
    - TSError
    linkageType: ''
    returnType: bool
    signature: bool RegexAcl::compile(const std::string &str, const char *filename,
      int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - RegexAcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: RegexAcl::append
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegexAcl::append(RegexAcl *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: country_id_by_code
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:220,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:220,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:223,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:223,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: CountryAcl::add_token
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - country_id_by_code
    - Dbg
    - std::string::c_str
    - TSError
    linkageType: ''
    returnType: void
    signature: void CountryAcl::add_token(const std::string &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:235,1
    - Dst: std::ifstream::is_open
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:236,1
    - Dst: std::ifstream::eof
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:240,1
    - Dst: getline
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:241,1
    - Dst: CountryAcl::CountryAcl
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:243,1
    - Dst: RegexAcl::RegexAcl
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:243,1
    - Dst: RegexAcl*::parse_line
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:244,1
    - Dst: append
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:248,1
    - Dst: std::ifstream::close
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:255,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:256,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - fn
    - tokens
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 260
    functionName: CountryAcl::read_regex
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - getline
    - RegexAcl::RegexAcl
    - TSError
    - RegexAcl*::parse_line
    - CountryAcl::CountryAcl
    - std::ifstream::open
    - Dbg
    - append
    - std::ifstream::close
    - std::ifstream::is_open
    - std::ifstream::eof
    linkageType: ''
    returnType: void
    signature: void CountryAcl::read_regex(const char *fn, int &tokens)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:267,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:274,1
    - Dst: RegexAcl*::match
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:277,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:278,1
    - Dst: RegexAcl*::get_regex
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:278,1
    - Dst: RegexAcl*::eval
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:279,1
    - Dst: RegexAcl*::next
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:281,1
    - Dst: country_id_by_addr
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:286,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:286,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:289,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - rri
    - txnp
    argTypes:
    - TSRemapRequestInfo*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: CountryAcl::eval
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - TSUrlPathGet
    - RegexAcl*::get_regex
    - country_id_by_addr
    - RegexAcl*::match
    - Dbg
    - RegexAcl*::next
    - RegexAcl*::eval
    - TSHttpTxnClientAddrGet
    linkageType: ''
    returnType: bool
    signature: bool CountryAcl::eval(TSRemapRequestInfo *rri, TSHttpTxn txnp) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:303,1
    - Dst: set_allow
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:304,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:305,1
    - Dst: set_allow
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:306,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:307,1
    - Dst: CountryAcl::read_regex
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:308,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:309,1
    - Dst: read_html
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:310,1
    - Dst: CountryAcl::add_token
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: CountryAcl::process_args
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.cc
    functionUses: 0
    functionsReached:
    - CountryAcl::read_regex
    - read_html
    - set_allow
    - strncmp
    - CountryAcl::add_token
    linkageType: ''
    returnType: int
    signature: int CountryAcl::process_args(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Acl::Acl
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Acl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Acl()
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Acl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Acl::set_allow
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_allow(bool allow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:77,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:78,1
    - Dst: c_str
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:78,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:80,1
    - Dst: size
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: Acl::send_html
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached:
    - TSstrdup
    - TSHttpTxnErrorBodySet
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void send_html(TSHttpTxn txnp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acl
    argTypes:
    - Acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: RegexAcl::RegexAcl
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegexAcl(Acl *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: "&\n  get_regex() const"
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  get_regex() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegexAcl::eval
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rri
    - txnp
    argTypes:
    - TSRemapRequestInfo*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: RegexAcl::eval
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 1
    functionsReached:
    - RegexAcl::eval
    linkageType: ''
    returnType: bool
    signature: bool eval(TSRemapRequestInfo *rri, TSHttpTxn txnp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: RegexAcl::next
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegexAcl
    signature: "RegexAcl *\n  next() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: RegexAcl::match
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 0
    functionsReached:
    - pcre_exec
    linkageType: ''
    returnType: bool
    signature: bool match(const char *str, int len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/geoip_acl/acl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: CountryAcl::CountryAcl
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/acl.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void CountryAcl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:38,1
    - Dst: Acl::init
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:39,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    - Acl::init
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:51,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:58,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:59,1
    - Dst: CountryAcl::CountryAcl
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:60,1
    - Dst: Acl*::process_args
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:64,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:65,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:67,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc
    functionUses: 0
    functionsReached:
    - Acl*::process_args
    - static_cast<void *>
    - TSError
    - CountryAcl::CountryAcl
    - Dbg
    - strncmp
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /* errbuf */, int /* errbuf_size */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Acl *>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc
    functionUses: 0
    functionsReached:
    - static_cast<Acl *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:94,1
    - Dst: static_cast<Acl *>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:96,1
    - Dst: Acl*::eval
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:98,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:99,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:100,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:100,1
    - Dst: Acl*::send_html
      Src: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ih
    - rh
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/geoip_acl/geoip_acl.cc
    functionUses: 0
    functionsReached:
    - static_cast<Acl *>
    - static_cast<TSHttpStatus>
    - Acl*::send_html
    - Dbg
    - Acl*::eval
    - TSHttpTxnStatusSet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _e
    - ','
    - _r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: CHECK_RET
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RET(_e, _r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: WRITE
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: STRLEN
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRLEN(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: key
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 81
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: "char *\n  key()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: len
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 499
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int len()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: (NULL)
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    linkageType: ''
    returnType: theMCThreadAllocator
    signature: theMCThreadAllocator (NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: TS_PUSH_HANDLER
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_PUSH_HANDLER(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _event
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: TS_POP_CALL
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_POP_CALL(_event, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _h
    - ','
    - _event
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: TS_SET_CALL
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_SET_CALL(_h, _event, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ASCII_RESPONSE
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_RESPONSE(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: ASCII_ERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ASCII_CLIENT_ERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_CLIENT_ERROR(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ASCII_SERVER_ERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_SERVER_ERROR(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _s
    - ','
    - _const_string
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: STRCMP
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCMP(_s, _const_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - e
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: xutoa
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: 'char *

      xutoa(uint32_t i, char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - e
    argTypes:
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: xutoa
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: 'char *

      xutoa(uint64_t i, char *e)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:235,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: xatoull
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.h
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xatoull(char *s, char *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _c
    - ','
    - _s
    - ','
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: STRCMP_REST
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCMP_REST(_c, _s, _e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:59,1
    - Dst: mktime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:64,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: tsmemcache_constants
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memset
    - mktime
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void tsmemcache_constants()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: mc_string
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      mc_string(const char *s, int len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _dc
    - ','
    - _s
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: MCDebugBuf
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCDebugBuf(_dc, _s, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _dc
    - ','
    - _s
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: MCDebugBuf
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCDebugBuf(_dc, _s, _l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:106,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:119,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:120,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:121,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 128
    functionName: ink_hton64
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SWP1B
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ink_hton64(uint64_t in)
  - 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: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: SWP1B
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWP1B(_x, _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:59,1
    - Dst: mktime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:64,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: tsmemcache_constants
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memset
    - mktime
    - ink_assert
    linkageType: ''
    returnType: void
    signature: void tsmemcache_constants()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: mc_string
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      mc_string(const char *s, int len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _dc
    - ','
    - _s
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: MCDebugBuf
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCDebugBuf(_dc, _s, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _dc
    - ','
    - _s
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: MCDebugBuf
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCDebugBuf(_dc, _s, _l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:106,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:119,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:120,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:121,1
    - Dst: SWP1B
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 128
    functionName: ink_hton64
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SWP1B
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ink_hton64(uint64_t in)
  - 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: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: SWP1B
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWP1B(_x, _y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NetVConnection *>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:137,1
    - Dst: alloc
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:138,1
    - Dst: MC*::new_connection
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:140,1
    - Dst: MC*::new_connection
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:142,1
    - Dst: Fatal
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:146,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: MCAccept::main_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<NetVConnection *>
    - alloc
    - MC*::new_connection
    - Fatal
    linkageType: ''
    returnType: int
    signature: int MCAccept::main_event(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:155,1
    - Dst: new_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:156,1
    - Dst: alloc_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:158,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:159,1
    - Dst: alloc_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:161,1
    - Dst: SCOPED_MUTEX_LOCK
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:162,1
    - Dst: do_io_read
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:163,1
    - Dst: do_io_write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:164,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - netvc
    - thread
    argTypes:
    - NetVConnection*
    - EThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: MC::new_connection
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - new_MIOBuffer
    - alloc_reader
    - do_io_read
    - SCOPED_MUTEX_LOCK
    - new_empty_MIOBuffer
    - new_ProxyMutex
    - do_io_write
    - MC::read_from_client
    linkageType: ''
    returnType: void
    signature: void MC::new_connection(NetVConnection *netvc, EThread *thread)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:173,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:176,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:179,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:182,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:185,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:188,1
    - Dst: free_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:191,1
    - Dst: ats_free
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:194,1
    - Dst: free
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: MC::die
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - ats_free
    - free
    - do_io_close
    - free_MIOBuffer
    - cancel
    linkageType: ''
    returnType: int
    signature: int MC::die()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:204,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: MC::unexpected_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - MC::die
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int MC::unexpected_event()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:211,1
    - Dst: MC::write_to_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ntowrite
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: MC::write_then_close
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - MC::write_to_client
    linkageType: ''
    returnType: int
    signature: int MC::write_then_close(int64_t ntowrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:218,1
    - Dst: MC::write_to_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ntowrite
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: MC::write_then_read_from_client
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - MC::write_to_client
    linkageType: ''
    returnType: int
    signature: int MC::write_then_read_from_client(int64_t ntowrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:225,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:227,1
    - Dst: MC::write_to_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ntowrite
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: MC::stream_then_read_from_client
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - MC::write_to_client
    - TS_PUSH_HANDLER
    linkageType: ''
    returnType: int
    signature: int MC::stream_then_read_from_client(int64_t ntowrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:236,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:238,1
    - Dst: htons
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:238,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:240,1
    - Dst: static_cast<uint16_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:241,1
    - Dst: htons
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:241,1
    - Dst: htonl
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:242,1
    - Dst: ink_hton64
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:244,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - err
    - hdr_len
    - key_len
    - body_len
    argTypes:
    - uint16_t
    - uint8_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: MC::add_binary_header
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - write
    - htons
    - ink_hton64
    - htonl
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void MC::add_binary_header(uint16_t err, uint8_t hdr_len, uint16_t
      key_len, uint32_t body_len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:282,1
    - Dst: Warning
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:284,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:287,1
    - Dst: MC::add_binary_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:288,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:290,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:292,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:295,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - err
    - swallow
    argTypes:
    - protocol_binary_response_status
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 300
    functionName: MC::write_binary_error
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - Warning
    - read_avail
    - consume
    - strlen
    - MC::add_binary_header
    - SET_HANDLER
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int MC::write_binary_error(protocol_binary_response_status err, int
      swallow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:306,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:308,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:310,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: MC::swallow_then_read_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - read_avail
    - consume
    - MC::read_from_client
    linkageType: ''
    returnType: int
    signature: int MC::swallow_then_read_event(int /* event ATS_UNUSED */, void *
      /* data ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:321,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:323,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:325,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:326,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: MC::swallow_cmd_then_read_from_client_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - read_avail
    - memchr
    - consume
    - MC::read_from_client
    linkageType: ''
    returnType: int
    signature: int MC::swallow_cmd_then_read_from_client_event(int /* event ATS_UNUSED
      */, void * /* data ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Warning
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:337,1
    - Dst: MC::write_then_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:338,1
    - Dst: MC::write_binary_error
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: MC::protocol_error
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - Warning
    - MC::write_then_close
    - MC::write_binary_error
    linkageType: ''
    returnType: int
    signature: int MC::protocol_error()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TS_SET_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:345,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:352,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:357,1
    - Dst: clear
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:362,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:364,1
    - Dst: ats_free
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:366,1
    - Dst: TS_SET_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: MC::read_from_client
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 3
    functionsReached:
    - TS_SET_CALL
    - ats_free
    - do_io_close
    - clear
    - ink_assert
    linkageType: ''
    returnType: int
    signature: int MC::read_from_client()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - towrite
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: MC::write_to_client
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 3
    functionsReached:
    - reenable
    linkageType: ''
    returnType: int
    signature: int MC::write_to_client(int64_t towrite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MC::add_binary_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:385,1
    - Dst: MCDebug
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:387,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:388,1
    - Dst: MCDebug
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:390,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - d
    - hlen
    - keylen
    - dlen
    argTypes:
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: MC::write_binary_response
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - write
    - MCDebug
    - read_avail
    - MC::add_binary_header
    linkageType: ''
    returnType: int
    signature: int MC::write_binary_response(const void *d, int hlen, int keylen,
      int dlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _n
    - ','
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: CHECK_READ_AVAIL
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_READ_AVAIL(_n, _h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: CHECK_PROTOCOL
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PROTOCOL(_e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:660,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:662,1
    - Dst: MCDebugBuf
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:663,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:666,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:667,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:669,1
    - Dst: TS_SET_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: MC::ascii_response
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - write
    - TS_SET_CALL
    - MCDebugBuf
    - reenable
    - consume
    - MC::read_from_client
    linkageType: ''
    returnType: int
    signature: int MC::ascii_response(const char *s, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:678,1
    - Dst: start
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:682,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:684,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - n
    - end
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 696
    functionName: MC::get_ascii_input
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - start
    - memcpy
    - block_read_avail
    - read_avail
    linkageType: ''
    returnType: char
    signature: 'char *

      MC::get_ascii_input(int n, int *end)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:703,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:707,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:708,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:709,1
    - Dst: xutoa
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:711,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:712,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:713,1
    - Dst: xutoa
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:714,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:715,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:717,1
    - Dst: xutoa
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:718,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:719,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:721,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:722,1
    - Dst: do_io_read
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:723,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:725,1
    - Dst: MC::write_to_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:726,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:729,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:732,1
    - Dst: WRITE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:734,1
    - Dst: MC::ascii_gets
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:735,1
    - Dst: MC::ascii_gets
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 740
    functionName: MC::ascii_get_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - write
    - do_io_read
    - do_io_close
    - MC::ascii_gets
    - WRITE
    - read_avail
    - xutoa
    - consume
    - TS_PUSH_HANDLER
    - MC::write_to_client
    linkageType: ''
    returnType: int
    signature: int MC::ascii_get_event(int event, void * /* data ATS_UNUSED */)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:748,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:751,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:755,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:756,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:759,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:762,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:763,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:764,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:764,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:768,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:773,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:776,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:777,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:780,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:780,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:783,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:793,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:796,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:805,1
    - Dst: len
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:805,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:806,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:810,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:812,1
    - Dst: alloc_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:814,1
    - Dst: do_io_read
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:815,1
    - Dst: do_io_write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:816,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:819,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:820,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:821,1
    - Dst: new_empty_MIOBuffer
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:824,1
    - Dst: alloc_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:826,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:828,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:829,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:831,1
    - Dst: do_io_write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:832,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:839,1
    - Dst: do_io_write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:840,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:848,1
    - Dst: do_io_read
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:849,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:852,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:854,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:858,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:859,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:860,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:863,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:864,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:866,1
    - Dst: handleEvent
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:867,1
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:869,1
    - Dst: do_io_close
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:870,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:872,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:875,1
    - Dst: set_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:878,1
    - Dst: Warning
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:884,1
    - Dst: ASCII_SERVER_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:885,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 143
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 886
    functionName: MC::ascii_set_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - alloc_reader
    - do_io_read
    - set_header
    - len
    - read_avail
    - handleEvent
    - set_item
    - consume
    - ASCII_SERVER_ERROR
    - static_cast<ink_hrtime>
    - ASCII_RESPONSE
    - static_cast<int>
    - write
    - Warning
    - get_header
    - do_io_close
    - static_cast<int32_t>
    - TS_PUSH_HANDLER
    - MC::read_from_client
    - ink_assert
    - static_cast<int64_t>
    - ink_get_hrtime
    - thread_holding::schedule_in
    - HRTIME_SECONDS
    - new_empty_MIOBuffer
    - do_io_write
    linkageType: ''
    returnType: int
    signature: int MC::ascii_set_event(int event, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:893,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 899
    functionName: MC::ascii_delete_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - ASCII_RESPONSE
    linkageType: ''
    returnType: int
    signature: int MC::ascii_delete_event(int event, void * /* data ATS_UNUSED */)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: thread_holding::schedule_in
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:907,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:910,1
    - Dst: get_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:915,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:916,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:919,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:922,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:923,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:924,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:924,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:930,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:931,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:934,1
    - Dst: static_cast<ink_hrtime>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:934,1
    - Dst: static_cast<int32_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:937,1
    - Dst: get_single_data
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:951,1
    - Dst: xatoull
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:954,1
    - Dst: xutoa
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:967,1
    - Dst: clone_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:968,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:969,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:971,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:973,1
    - Dst: MCDebugBuf
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:975,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:977,1
    - Dst: len
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:977,1
    - Dst: TS_PUSH_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:978,1
    - Dst: do_io_write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:979,1
    - Dst: dealloc_reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:984,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:986,1
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:987,1
    - Dst: Warning
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:994,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:995,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 901
    functionDepth: 4
    functionLinenumber: 901
    functionLinenumberEnd: 996
    functionName: MC::ascii_incr_decr_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - set_header
    - len
    - MCDebugBuf
    - consume
    - dealloc_reader
    - static_cast<ink_hrtime>
    - ASCII_RESPONSE
    - static_cast<int>
    - write
    - Warning
    - get_header
    - reenable
    - static_cast<int32_t>
    - MC::read_from_client
    - xatoull
    - TS_PUSH_HANDLER
    - ink_get_hrtime
    - thread_holding::schedule_in
    - HRTIME_SECONDS
    - xutoa
    - do_io_write
    - clone_reader
    - get_single_data
    linkageType: ''
    returnType: int
    signature: int MC::ascii_incr_decr_event(int event, void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1007,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1014,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1017,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1024,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1033,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1035,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - as
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1041
    functionName: MC::get_ascii_key
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - ASCII_RESPONSE
    - ASCII_CLIENT_ERROR
    - isspace
    linkageType: ''
    returnType: int
    signature: int MC::get_ascii_key(char *as, char *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1046,1
    - Dst: CHECK_RET
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1047,1
    - Dst: MC::get_ascii_key
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1047,1
    - Dst: get_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - as
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1050
    functionName: MC::ascii_get
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - SET_HANDLER
    - get_item
    - MC::get_ascii_key
    - CHECK_RET
    linkageType: ''
    returnType: int
    signature: int MC::ascii_get(char *as, char *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC::get_ascii_input
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1056,1
    - Dst: MC::ascii_get
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1058
    functionName: MC::ascii_gets
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 1
    functionsReached:
    - MC::get_ascii_input
    - MC::ascii_get
    linkageType: ''
    returnType: int
    signature: int MC::ascii_gets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1095
    functionName: GET_NUM
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NUM(_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1120
    functionName: GET_SNUM
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SNUM(_n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1129,1
    - Dst: GET_SNUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1131,1
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1133,1
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1137,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1142,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1146,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1157,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1159,1
    - Dst: get_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1161,1
    - Dst: set_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1165
    functionName: MC::ascii_set
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - set_item
    - STRCMP_REST
    - GET_NUM
    - GET_SNUM
    - ASCII_CLIENT_ERROR
    - SET_HANDLER
    - get_item
    linkageType: ''
    returnType: int
    signature: int MC::ascii_set(char *s, char *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1175,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1179,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1193,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1195,1
    - Dst: delete_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1197
    functionName: MC::ascii_delete
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - delete_item
    - SET_HANDLER
    - ASCII_CLIENT_ERROR
    - STRCMP_REST
    linkageType: ''
    returnType: int
    signature: int MC::ascii_delete(char *s, char *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1207,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1209,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1213,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1224,1
    - Dst: SET_HANDLER
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1226,1
    - Dst: set_item
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1228
    functionName: MC::ascii_incr_decr
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - set_item
    - STRCMP_REST
    - GET_NUM
    - ASCII_CLIENT_ERROR
    - SET_HANDLER
    linkageType: ''
    returnType: int
    signature: int MC::ascii_incr_decr(char *s, char *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - t
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1243
    functionName: is_end_of_cmd
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_end_of_cmd(char *t, char *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRCMP
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1257,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pt
    - e
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1263
    functionName: is_noreply
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - STRCMP
    - isspace
    linkageType: ''
    returnType: int
    signature: int is_noreply(char **pt, char *e)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: MC::get_ascii_input
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1269,1
    - Dst: MCDebugBuf
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1270,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1276,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1277,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1292,1
    - Dst: MC::ascii_get
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1294,1
    - Dst: MC::ascii_gets
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1296,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1311,1
    - Dst: memchr
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1311,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1313,1
    - Dst: ASCII_CLIENT_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1314,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1323,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1325,1
    - Dst: is_noreply
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1329,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1332,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1337,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1339,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1343,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1345,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1349,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1353,1
    - Dst: MC::ascii_incr_decr
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1359,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1363,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1369,1
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1370,1
    - Dst: is_noreply
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1372,1
    - Dst: ink_get_hrtime
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1373,1
    - Dst: HRTIME_SECONDS
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1373,1
    - Dst: exchange
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1377,1
    - Dst: is_end_of_cmd
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1379,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1382,1
    - Dst: MC::ascii_delete
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1390,1
    - Dst: MC::ascii_incr_decr
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1394,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1398,1
    - Dst: MC::ascii_set
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1402,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1404,1
    - Dst: is_end_of_cmd
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1407,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1410,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1413,1
    - Dst: is_end_of_cmd
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1416,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1419,1
    - Dst: STRCMP_REST
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1421,1
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1426,1
    - Dst: GET_NUM
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1429,1
    - Dst: is_noreply
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1430,1
    - Dst: is_end_of_cmd
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1431,1
    - Dst: ASCII_RESPONSE
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1434,1
    - Dst: ASCII_ERROR
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1439,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1265
    functionDepth: 5
    functionLinenumber: 1265
    functionLinenumberEnd: 1440
    functionName: MC::read_ascii_from_client_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - read_avail
    - MC::ascii_incr_decr
    - MCDebugBuf
    - MC::get_ascii_input
    - STRCMP_REST
    - consume
    - static_cast<char *>
    - ASCII_CLIENT_ERROR
    - ASCII_RESPONSE
    - memchr
    - ASCII_ERROR
    - MC::ascii_set
    - MC::ascii_get
    - is_end_of_cmd
    - ink_get_hrtime
    - is_noreply
    - exchange
    - isdigit
    - MC::ascii_gets
    - HRTIME_SECONDS
    - GET_NUM
    - MC::ascii_delete
    - MC::die
    linkageType: ''
    returnType: int
    signature: int MC::read_ascii_from_client_event(int /* event ATS_UNUSED */, void
      * /* data ATS_UNUSED */)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buffer::reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1454,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1442
    functionDepth: 3
    functionLinenumber: 1442
    functionLinenumberEnd: 1462
    functionName: MC::write_then_close_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - buffer::reader
    - MC::die
    linkageType: ''
    returnType: int
    signature: int MC::write_then_close_event(int event, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MC::read_from_client
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1469,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1472,1
    - Dst: start
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1475,1
    - Dst: TS_SET_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1476,1
    - Dst: TS_SET_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1478,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1464
    functionDepth: 3
    functionLinenumber: 1464
    functionLinenumberEnd: 1487
    functionName: MC::read_from_client_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - start
    - TS_SET_CALL
    - read_avail
    - MC::die
    - MC::read_from_client
    linkageType: ''
    returnType: int
    signature: int MC::read_from_client_event(int event, void *data)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1496,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1499,1
    - Dst: TS_POP_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1504,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1506,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1512,1
    - Dst: read_avail
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1513,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1514,1
    - Dst: static_cast<int64_t>
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1515,1
    - Dst: write
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1518,1
    - Dst: consume
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1519,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1522,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1527,1
    - Dst: TS_POP_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1532,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1534,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1490
    functionDepth: 3
    functionLinenumber: 1490
    functionLinenumberEnd: 1538
    functionName: MC::stream_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - write
    - reenable
    - read_avail
    - MC::die
    - consume
    - TS_POP_CALL
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int MC::stream_event(int event, void *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MCDebug
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1544,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1548,1
    - Dst: buffer::reader
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1552,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1553,1
    - Dst: TS_POP_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1556,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1558,1
    - Dst: reenable
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1563,1
    - Dst: TS_POP_CALL
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1567,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1569,1
    - Dst: MC::die
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - event
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1541
    functionDepth: 3
    functionLinenumber: 1541
    functionLinenumberEnd: 1583
    functionName: MC::tunnel_event
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - reenable
    - buffer::reader
    - MC::die
    - TS_POP_CALL
    - MCDebug
    linkageType: ''
    returnType: int
    signature: int MC::tunnel_event(int event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsmemcache_constants
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1588,1
    - Dst: MCAccept::MCAccept
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1589,1
    - Dst: new_ProxyMutex
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1590,1
    - Dst: accept
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1595
    functionName: init_tsmemcache
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - tsmemcache_constants
    - accept
    - MCAccept::MCAccept
    - new_ProxyMutex
    linkageType: ''
    returnType: int
    signature: int init_tsmemcache(int port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ink_assert
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1600,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1609,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1610,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1615,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1618,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1620,1
    - Dst: MCDebug
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1623,1
    - Dst: init_tsmemcache
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1625,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc:1629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1597
    functionDepth: 3
    functionLinenumber: 1597
    functionLinenumberEnd: 1630
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/memcache/tsmemcache.cc
    functionUses: 0
    functionsReached:
    - TSError
    - init_tsmemcache
    - atoi
    - MCDebug
    - ink_assert
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnServerRespGet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:55,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:56,1
    - Dst: TSHttpHdrStatusGet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:58,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:59,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:61,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:62,1
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:65,1
    - Dst: strncasecmp
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:67,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:68,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:71,1
    - Dst: static_cast<char *>
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:74,1
    - Dst: TSmalloc
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:74,1
    - Dst: TSstrlcpy
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:76,1
    - Dst: TSHttpTxnRedirectUrlSet
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:77,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:80,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:84,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:87,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 90
    functionName: handle_response
    functionSourceFile: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHttpTxnRedirectUrlSet
    - TSHandleMLocRelease
    - strncasecmp
    - TSHttpHdrMethodGet
    - TSHttpHdrStatusGet
    - TSError
    - TSMimeHdrFieldValueStringGet
    - static_cast<char *>
    - TSstrlcpy
    - TSmalloc
    - TSHttpTxnClientReqGet
    - TSHttpTxnServerRespGet
    - TSHttpTxnReenable
    linkageType: ''
    returnType: void
    signature: void handle_response(TSHttpTxn txnp, TSCont /* contp ATS_UNUSED */)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:97,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:98,1
    - Dst: handle_response
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:99,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: plugin_main_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - handle_response
    - static_cast<TSHttpTxn>
    linkageType: ''
    returnType: int
    signature: int plugin_main_handler(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: isNumber
    functionSourceFile: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool isNumber(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNumber
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:145,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:146,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:147,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:149,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:153,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:154,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:156,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:157,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:159,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:160,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 162
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/custom_redirect/custom_redirect.cc
    functionUses: 0
    functionsReached:
    - TSError
    - TSstrdup
    - TSHttpHookAdd
    - atoi
    - TSContCreate
    - strlen
    - isNumber
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, const char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:64,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:65,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:66,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:70,1
    - Dst: pcre_free_study
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:72,1
    - Dst: pcre_free
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:77,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: free_cfg
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSfree
    - pcre_free_study
    - pcre_free
    linkageType: ''
    returnType: void
    signature: void free_cfg(struct config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:86,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:99,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:105,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:110,1
    - Dst: TSConfigDirGet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:110,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:113,1
    - Dst: fopen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:114,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:116,1
    - Dst: TSRalloc
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:125,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:126,1
    - Dst: fgets
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:128,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:129,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:129,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:134,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:139,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:141,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:146,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:148,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:153,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:156,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:160,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:161,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:162,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:163,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:166,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:167,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:170,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:171,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:176,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:178,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:179,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:180,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:183,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:184,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:185,1
    - Dst: static_cast<TSHttpStatus>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:186,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:186,1
    - Dst: isspace
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:189,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:193,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:193,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:197,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:198,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:198,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:199,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:205,1
    - Dst: pcre_compile
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:209,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:211,1
    - Dst: pcre_study
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:216,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:219,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:220,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:222,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:224,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:225,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:227,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:230,1
    - Dst: fclose
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:234,1
    - Dst: strcasecmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:237,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:239,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:242,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:243,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:251,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:252,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:258,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:259,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:264,1
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:265,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 149
    argCount: 5
    argNames:
    - argc
    - argv
    - ih
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - char*[]
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 271
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - TSRalloc
    - static_cast<TSHttpStatus>
    - strchr
    - snprintf
    - TSConfigDirGet
    - pcre_compile
    - free_cfg
    - fclose
    - isspace
    - strcasecmp
    - strncmp
    - TSstrndup
    - pcre_study
    - TSError
    - atoi
    - Dbg
    - strlen
    - memset
    - fopen
    - fgets
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char *errbuf, int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_cfg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:276,1
    - Dst: static_cast<struct config *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - free_cfg
    - static_cast<struct config *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:283,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:285,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:286,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - url
    - url_len
    - msg
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: err_log
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - Dbg
    - TSError
    linkageType: ''
    returnType: void
    signature: void err_log(const char *url, int url_len, const char *msg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:302,1
    - Dst: memset
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:305,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:306,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:309,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:327,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:337,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - query_string
    - query_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 343
    functionName: getAppQueryString
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - TSstrdup
    - Dbg
    - strchr
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      getAppQueryString(const char *query_string, int query_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dest_end
    - dest_len
    - src
    - src_len
    argTypes:
    - char**
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: fixedBufferWrite
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fixedBufferWrite(char **dest_end, int *dest_len, const char *src,
      int src_len)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:375,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:375,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:383,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:389,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:390,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:393,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:396,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:399,1
    - Dst: strcasestr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:404,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:407,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:434,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:434,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:435,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:439,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:440,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:446,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:450,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:451,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:451,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:453,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:456,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:457,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:457,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:459,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:463,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:468,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:468,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:470,1
    - Dst: TSBase64Decode
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:473,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:473,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:474,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:477,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:485,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:485,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:489,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:489,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:490,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:490,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:494,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:501,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:501,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:502,1
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:502,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:506,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:512,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:512,1
    - Dst: fixedBufferWrite
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:517,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:524,1
    - Dst: TSstrndup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:527,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 121
    argCount: 6
    argNames:
    - url_in
    - anchor
    - new_path_seg
    - new_path_seg_len
    - signed_seg
    - signed_seg_len
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 528
    functionName: urlParse
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - strcasestr
    - strncat
    - memcpy
    - TSError
    - strstr
    - fixedBufferWrite
    - strchr
    - Dbg
    - strtok_r
    - strlen
    - TSBase64Decode
    - reinterpret_cast<char *>
    - TSstrndup
    linkageType: ''
    returnType: char
    signature: "char *\nurlParse(char const *const url_in, char *anchor, char *new_path_seg,
      int new_path_seg_len, char *signed_seg,\n         unsigned int signed_seg_len)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const struct config *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:533,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:548,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:559,1
    - Dst: TSHttpTxnPristineUrlGet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:566,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:568,1
    - Dst: TSUrlStringGet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:571,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:573,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:580,1
    - Dst: pcre_exec
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:593,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:600,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:603,1
    - Dst: urlParse
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:604,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:606,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:611,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:614,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:615,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:620,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:630,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:635,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:638,1
    - Dst: TSHttpTxnClientAddrGet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:639,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:641,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:646,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:647,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:647,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:649,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:652,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:654,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:655,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:656,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:657,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:658,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:663,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:664,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:664,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:666,1
    - Dst: strncpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:669,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:671,1
    - Dst: inet_ntop
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:672,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:673,1
    - Dst: strcmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:674,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:675,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:680,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:689,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:691,1
    - Dst: sscanf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:692,1
    - Dst: static_cast<time_t>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:692,1
    - Dst: time
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:692,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:693,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:696,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:698,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:703,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:705,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:706,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:708,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:710,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:714,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:716,1
    - Dst: atoi
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:717,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:719,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:722,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:724,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:731,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:733,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:735,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:735,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:737,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:739,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:742,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:750,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:752,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:754,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:755,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:756,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:760,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:765,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:769,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:769,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:771,1
    - Dst: memcpy
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:776,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:781,1
    - Dst: strncat
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:784,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:784,1
    - Dst: strncat
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:785,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:785,1
    - Dst: strtok_r
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:791,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:795,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:795,1
    - Dst: strstr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:796,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:797,1
    - Dst: strncat
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:798,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:798,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:800,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:805,1
    - Dst: EVP_sha1
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:805,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:805,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:805,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:806,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:806,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:808,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:809,1
    - Dst: HMAC
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:815,1
    - Dst: EVP_md5
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:815,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:815,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:815,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:816,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:816,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:818,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:819,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:824,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:829,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:832,1
    - Dst: strncmp
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:835,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:837,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:840,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:852,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:854,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:858,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:861,1
    - Dst: TSUrlParse
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:862,1
    - Dst: err_log
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:863,1
    - Dst: TSHttpTxnErrorBodySet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:868,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:868,1
    - Dst: TSstrdup
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:868,1
    - Dst: TSHttpTxnStatusSet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:872,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:879,1
    - Dst: strchr
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:882,1
    - Dst: getAppQueryString
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:886,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:886,1
    - Dst: Dbg
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:888,1
    - Dst: TSUrlPathSet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:891,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:891,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:895,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:899,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:899,1
    - Dst: TSfree
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:900,1
    - Dst: TSUrlHttpQuerySet
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:902,1
    - Dst: TSError
      Src: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc:905,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 292
    argCount: 3
    argNames:
    - ih
    - txnp
    - rri
    argTypes:
    - void*
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 909
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/url_sig/url_sig.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - inet_ntop
    - urlParse
    - strchr
    - pcre_exec
    - snprintf
    - TSUrlStringGet
    - TSfree
    - err_log
    - TSHttpTxnPristineUrlGet
    - strstr
    - HMAC
    - strtok_r
    - EVP_sha1
    - TSUrlPathSet
    - TSUrlParse
    - reinterpret_cast<const unsigned char *>
    - strncmp
    - static_cast<time_t>
    - strcmp
    - strncat
    - TSError
    - TSstrdup
    - EVP_md5
    - atoi
    - Dbg
    - strncpy
    - strlen
    - TSHttpTxnClientAddrGet
    - TSHttpTxnStatusSet
    - static_cast<const struct config *>
    - sscanf
    - TSHttpTxnErrorBodySet
    - getAppQueryString
    - time
    - TSUrlHttpQuerySet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: LOG_DEBUG
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_DEBUG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: LOG_ERROR
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_ERROR(fmt, ...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Config::Config
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:47,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:50,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:51,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:52,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:53,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:54,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:60,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:60,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:66,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:71,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:77,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:82,1
    - Dst: Config*::global_skip_header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:83,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:86,1
    - Dst: Config*::header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:87,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:90,1
    - Dst: Config*::pregen_header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:91,1
    - Dst: Config*::header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:98,1
    - Dst: Config*::header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:99,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:104,1
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:108,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:109,1
    - Dst: Config*::global_skip_header::clear
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - argc
    - argv
    - ptype
    argTypes:
    - int
    - char*[]
    - PluginType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 114
    functionName: config_from_args
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - Config*::header::empty
    - getopt_long
    - LOG_ERROR
    - const_cast<char *>
    - Config*::pregen_header::assign
    - length
    - Config*::global_skip_header::clear
    - const_cast<char *const *>
    - Config::Config
    - LOG_DEBUG
    - Config*::global_skip_header::assign
    - Config*::header::assign
    - Config*::global_skip_header::empty
    - data
    linkageType: ''
    returnType: Config
    signature: 'Config *

      config_from_args(int const argc, char const *argv[], PluginType const ptype)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:143,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:143,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:146,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:152,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:162,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:162,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:164,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:164,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:165,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:169,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:170,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:170,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:171,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:172,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:175,1
    - Dst: std::string_view::back
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:175,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:176,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:176,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:182,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:183,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:187,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:195,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:203,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:204,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:205,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:206,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:207,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:208,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:209,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:210,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:210,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - request_hdr
    - txnp
    argTypes:
    - std::string_view
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 215
    functionName: next_trace
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - std::string_view::substr
    - swoc::LocalBufferWriter::write
    - std::string_view::length
    - length
    - std::string_view::back
    - std::string_view::rfind
    - std::string_view::empty
    - swoc::LocalBufferWriter::print
    - std::string
    - swoc::LocalBufferWriter::data
    - LOG_DEBUG
    - TSHttpTxnIdGet
    - swoc::LocalBufferWriter::size
    - data
    - std::string_view::data
    - std::string_view::find_first_of
    linkageType: ''
    returnType: std::string
    signature: std::string next_trace(std::string_view const request_hdr, TSHttpTxn
      const txnp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSUuidCreate
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:224,1
    - Dst: TSUuidInitialize
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:226,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:227,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:231,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:232,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:232,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:233,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:234,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:235,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:236,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:237,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:238,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:238,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:242,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:245,1
    - Dst: TSUuidDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:248,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: create_trace
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - TSUuidStringGet
    - TSUuidInitialize
    - swoc::LocalBufferWriter::write
    - LOG_ERROR
    - TSUuidDestroy
    - swoc::LocalBufferWriter::print
    - std::string
    - TSUuidCreate
    - swoc::LocalBufferWriter::data
    - TSHttpTxnIdGet
    - strlen
    - swoc::LocalBufferWriter::size
    linkageType: ''
    returnType: std::string
    signature: std::string create_trace(TSHttpTxn const txnp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:270,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:276,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:278,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:278,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:283,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:293,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - hdr
    - val
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 15
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    - std::string::data
    - LOG_DEBUG
    - TSMimeHdrFieldDestroy
    - std::string::length
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - std::string::c_str
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer const bufp, TSMLoc const hdr_loc, std::string
      const &hdr, std::string const &val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:313,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:314,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:321,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: Config*::global_skip_header::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: Config*::global_skip_header::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:324,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:325,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:327,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:328,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:330,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - contp
    - txnp
    - txn_data
    argTypes:
    - TSCont
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 335
    functionName: global_skip_check
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TxnData*::client_trace::empty
    - TSHandleMLocRelease
    - LOG_ERROR
    - Config*::global_skip_header::length
    - TSHttpTxnHookAdd
    - LOG_DEBUG
    - TSHttpTxnClientReqGet
    - Config*::global_skip_header::empty
    - Config*::global_skip_header::c_str
    linkageType: ''
    returnType: void
    signature: void global_skip_check(TSCont const contp, TSHttpTxn const txnp, TxnData
      *const txn_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:347,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:350,1
    - Dst: next_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:351,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:353,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:357,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:359,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:359,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:360,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:362,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:362,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:369,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:370,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:371,1
    - Dst: TxnData*::this_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:371,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - txnp
    - txn_data
    argTypes:
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 376
    functionName: send_server_request
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - TxnData*::client_trace::empty
    - next_trace
    - LOG_ERROR
    - set_header
    - TxnData*::client_trace::c_str
    - TxnData*::this_trace::c_str
    - create_trace
    - LOG_DEBUG
    - TSHttpTxnServerReqGet
    - TxnData*::this_trace::empty
    linkageType: ''
    returnType: void
    signature: void send_server_request(TSHttpTxn const txnp, TxnData *const txn_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:387,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:389,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:390,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:398,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:399,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:400,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - txnp
    - txn_data
    argTypes:
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: send_client_response
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - TxnData*::client_trace::empty
    - TSHttpTxnClientRespGet
    - LOG_ERROR
    - set_header
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void send_client_response(TSHttpTxn const txnp, TxnData *const txn_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:413,1
    - Dst: static_cast<TxnData *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:414,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:414,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:418,1
    - Dst: global_skip_check
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:419,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:422,1
    - Dst: send_server_request
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:423,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:426,1
    - Dst: send_client_response
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:427,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:430,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:432,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:435,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: transaction_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - static_cast<TxnData *>
    - TSContDestroy
    - TSAssert
    - send_client_response
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - global_skip_check
    - send_server_request
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transaction_handler(TSCont const contp, TSEvent const event, void
      *const edata)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:457,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: Config*::header::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: Config*::header::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:461,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:463,1
    - Dst: TxnData::TxnData
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:465,1
    - Dst: TxnData*::client_trace::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:467,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:470,1
    - Dst: TxnData::TxnData
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:472,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:474,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:475,1
    - Dst: TxnData*::this_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:475,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:477,1
    - Dst: Config*::pregen_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:481,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:482,1
    - Dst: next_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:483,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:485,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:487,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:487,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:488,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:490,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:490,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:495,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:496,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:497,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:502,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:507,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:509,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:510,1
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:513,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:514,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:516,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:517,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:519,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:520,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:524,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - txnp
    - conf
    - ptype
    argTypes:
    - TSHttpTxn
    - Config*
    - PluginType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 528
    functionName: check_request_header
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - TxnData::TxnData
    - TSHandleMLocRelease
    - Config*::header::c_str
    - set_header
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldFind
    - Config*::pregen_header::empty
    - LOG_ERROR
    - LOG_DEBUG
    - Config*::global_skip_header::empty
    - TxnData*::client_trace::empty
    - Config*::header::length
    - next_trace
    - TxnData*::client_trace::assign
    - TSHttpTxnHookAdd
    - TxnData*::client_trace::c_str
    - TxnData*::this_trace::c_str
    - create_trace
    - TSContCreate
    - TSMimeHdrFieldValueStringGet
    - TSContDataSet
    - TxnData*::this_trace::empty
    linkageType: ''
    returnType: void
    signature: void check_request_header(TSHttpTxn const txnp, Config const *const
      conf, PluginType const ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:533,1
    - Dst: static_cast<Config *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:534,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:534,1
    - Dst: check_request_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:535,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: global_request_header_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - check_request_header
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    - static_cast<Config *>
    linkageType: ''
    returnType: int
    signature: int global_request_header_hook(TSCont const contp, TSEvent const /*
      event ATS_UNUSED */, void *const edata)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Config::Config
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:47,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:50,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:51,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:52,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:53,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:54,1
    - Dst: getopt_long
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:60,1
    - Dst: const_cast<char *const *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:60,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:66,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:71,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:77,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:82,1
    - Dst: Config*::global_skip_header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:83,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:86,1
    - Dst: Config*::header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:87,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:90,1
    - Dst: Config*::pregen_header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:91,1
    - Dst: Config*::header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:98,1
    - Dst: Config*::header::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:99,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:100,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:104,1
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:108,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:109,1
    - Dst: Config*::global_skip_header::clear
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - argc
    - argv
    - ptype
    argTypes:
    - int
    - char*[]
    - PluginType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 114
    functionName: config_from_args
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - Config*::header::empty
    - getopt_long
    - LOG_ERROR
    - const_cast<char *>
    - Config*::pregen_header::assign
    - length
    - Config*::global_skip_header::clear
    - const_cast<char *const *>
    - Config::Config
    - LOG_DEBUG
    - Config*::global_skip_header::assign
    - Config*::header::assign
    - Config*::global_skip_header::empty
    - data
    linkageType: ''
    returnType: Config
    signature: 'Config *

      config_from_args(int const argc, char const *argv[], PluginType const ptype)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:133,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:138,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:139,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:143,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:143,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:146,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:148,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:152,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:155,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:162,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:162,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:164,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:164,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:165,1
    - Dst: std::string_view::rfind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:169,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:170,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:170,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:171,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:172,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:175,1
    - Dst: std::string_view::back
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:175,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:176,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:176,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:179,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:182,1
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:183,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:187,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:188,1
    - Dst: std::string_view::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:195,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:196,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:203,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:204,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:205,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:206,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:207,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:208,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:209,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:210,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:210,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:212,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - request_hdr
    - txnp
    argTypes:
    - std::string_view
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 215
    functionName: next_trace
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 2
    functionsReached:
    - std::string_view::front
    - std::string_view::substr
    - swoc::LocalBufferWriter::write
    - std::string_view::length
    - length
    - std::string_view::back
    - std::string_view::rfind
    - std::string_view::empty
    - swoc::LocalBufferWriter::print
    - std::string
    - swoc::LocalBufferWriter::data
    - LOG_DEBUG
    - TSHttpTxnIdGet
    - swoc::LocalBufferWriter::size
    - data
    - std::string_view::data
    - std::string_view::find_first_of
    linkageType: ''
    returnType: std::string
    signature: std::string next_trace(std::string_view const request_hdr, TSHttpTxn
      const txnp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSUuidCreate
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:224,1
    - Dst: TSUuidInitialize
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:226,1
    - Dst: TSUuidStringGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:227,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:231,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:232,1
    - Dst: strlen
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:232,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:233,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:234,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:235,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:236,1
    - Dst: swoc::LocalBufferWriter::write
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:237,1
    - Dst: swoc::LocalBufferWriter::print
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:238,1
    - Dst: TSHttpTxnIdGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:238,1
    - Dst: std::string
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: swoc::LocalBufferWriter::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: swoc::LocalBufferWriter::size
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:240,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:242,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:245,1
    - Dst: TSUuidDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:248,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - txnp
    argTypes:
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: create_trace
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 2
    functionsReached:
    - TSUuidStringGet
    - TSUuidInitialize
    - swoc::LocalBufferWriter::write
    - LOG_ERROR
    - TSUuidDestroy
    - swoc::LocalBufferWriter::print
    - std::string
    - TSUuidCreate
    - swoc::LocalBufferWriter::data
    - TSHttpTxnIdGet
    - strlen
    - swoc::LocalBufferWriter::size
    linkageType: ''
    returnType: std::string
    signature: std::string create_trace(TSHttpTxn const txnp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:264,1
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:268,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:269,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:270,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:271,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:274,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:276,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:278,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:278,1
    - Dst: TSMimeHdrFieldNextDup
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:283,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: std::string::data
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: std::string::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:286,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:287,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: std::string::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:290,1
    - Dst: TSMimeHdrFieldDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:293,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - bufp
    - hdr_loc
    - hdr
    - val
    argTypes:
    - TSMBuffer
    - TSMLoc
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: set_header
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 18
    functionsReached:
    - TSMimeHdrFieldFind
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    - std::string::data
    - LOG_DEBUG
    - TSMimeHdrFieldDestroy
    - std::string::length
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - std::string::c_str
    - TSMimeHdrFieldNextDup
    linkageType: ''
    returnType: bool
    signature: bool set_header(TSMBuffer const bufp, TSMLoc const hdr_loc, std::string
      const &hdr, std::string const &val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:313,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:314,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:321,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: Config*::global_skip_header::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: Config*::global_skip_header::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:322,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:324,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:325,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:327,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:328,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:330,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - contp
    - txnp
    - txn_data
    argTypes:
    - TSCont
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 335
    functionName: global_skip_check
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 1
    functionsReached:
    - TSMimeHdrFieldFind
    - TxnData*::client_trace::empty
    - TSHandleMLocRelease
    - LOG_ERROR
    - Config*::global_skip_header::length
    - TSHttpTxnHookAdd
    - LOG_DEBUG
    - TSHttpTxnClientReqGet
    - Config*::global_skip_header::empty
    - Config*::global_skip_header::c_str
    linkageType: ''
    returnType: void
    signature: void global_skip_check(TSCont const contp, TSHttpTxn const txnp, TxnData
      *const txn_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:347,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:350,1
    - Dst: next_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:351,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:353,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:357,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:359,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:359,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:360,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:362,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:362,1
    - Dst: TSHttpTxnServerReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:369,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:370,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:371,1
    - Dst: TxnData*::this_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:371,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - txnp
    - txn_data
    argTypes:
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 376
    functionName: send_server_request
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 1
    functionsReached:
    - TxnData*::client_trace::empty
    - next_trace
    - LOG_ERROR
    - set_header
    - TxnData*::client_trace::c_str
    - TxnData*::this_trace::c_str
    - create_trace
    - LOG_DEBUG
    - TSHttpTxnServerReqGet
    - TxnData*::this_trace::empty
    linkageType: ''
    returnType: void
    signature: void send_server_request(TSHttpTxn const txnp, TxnData *const txn_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:387,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:389,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:390,1
    - Dst: TSHttpTxnClientRespGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:398,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:399,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:400,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - txnp
    - txn_data
    argTypes:
    - TSHttpTxn
    - TxnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: send_client_response
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 1
    functionsReached:
    - TxnData*::client_trace::empty
    - TSHttpTxnClientRespGet
    - LOG_ERROR
    - set_header
    - LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void send_client_response(TSHttpTxn const txnp, TxnData *const txn_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:413,1
    - Dst: static_cast<TxnData *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:414,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:414,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:418,1
    - Dst: global_skip_check
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:419,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:422,1
    - Dst: send_server_request
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:423,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:426,1
    - Dst: send_client_response
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:427,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:430,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:432,1
    - Dst: TSAssert
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:435,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: transaction_handler
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - static_cast<TxnData *>
    - TSContDestroy
    - TSAssert
    - send_client_response
    - LOG_DEBUG
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - global_skip_check
    - send_server_request
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int transaction_handler(TSCont const contp, TSEvent const event, void
      *const edata)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:457,1
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: Config*::header::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: Config*::header::length
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:458,1
    - Dst: TSMimeHdrFieldValueStringGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:461,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:463,1
    - Dst: TxnData::TxnData
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:465,1
    - Dst: TxnData*::client_trace::assign
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:467,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:470,1
    - Dst: TxnData::TxnData
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:472,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:474,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:475,1
    - Dst: TxnData*::this_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:475,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:477,1
    - Dst: Config*::pregen_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:481,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:482,1
    - Dst: next_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:483,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:485,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:487,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:487,1
    - Dst: create_trace
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:488,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:490,1
    - Dst: TxnData*::client_trace::c_str
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:490,1
    - Dst: TxnData*::this_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:495,1
    - Dst: set_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:496,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:497,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:502,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:507,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:509,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:510,1
    - Dst: Config*::global_skip_header::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:513,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:514,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:516,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:517,1
    - Dst: TxnData*::client_trace::empty
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:519,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:520,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:524,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - txnp
    - conf
    - ptype
    argTypes:
    - TSHttpTxn
    - Config*
    - PluginType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 528
    functionName: check_request_header
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 1
    functionsReached:
    - TxnData::TxnData
    - TSHandleMLocRelease
    - Config*::header::c_str
    - set_header
    - TSHttpTxnClientReqGet
    - TSMimeHdrFieldFind
    - Config*::pregen_header::empty
    - LOG_ERROR
    - LOG_DEBUG
    - Config*::global_skip_header::empty
    - TxnData*::client_trace::empty
    - Config*::header::length
    - next_trace
    - TxnData*::client_trace::assign
    - TSHttpTxnHookAdd
    - TxnData*::client_trace::c_str
    - TxnData*::this_trace::c_str
    - create_trace
    - TSContCreate
    - TSMimeHdrFieldValueStringGet
    - TSContDataSet
    - TxnData*::this_trace::empty
    linkageType: ''
    returnType: void
    signature: void check_request_header(TSHttpTxn const txnp, Config const *const
      conf, PluginType const ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TSHttpTxn>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:533,1
    - Dst: static_cast<Config *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:534,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:534,1
    - Dst: check_request_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:535,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - contp
    - edata
    argTypes:
    - TSCont
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: global_request_header_hook
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - check_request_header
    - static_cast<TSHttpTxn>
    - TSContDataGet
    - TSHttpTxnReenable
    - static_cast<Config *>
    linkageType: ''
    returnType: int
    signature: int global_request_header_hook(TSCont const contp, TSEvent const /*
      event ATS_UNUSED */, void *const edata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_REMAP_API_COMPATIBILITY
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:553,1
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - api_info
    - errbuf
    - errbuf_size
    argTypes:
    - TSRemapInterface*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - LOG_DEBUG
    - CHECK_REMAP_API_COMPATIBILITY
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface *api_info, char *errbuf,
      int errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_from_args
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:568,1
    - Dst: const_cast<char const **>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:568,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - argc
    - argv
    - ih
    argTypes:
    - int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - const_cast<char const **>
    - config_from_args
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int argc, char *argv[], void **ih,
      char * /*errbuf */, int /* errbuf_size */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Config *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - static_cast<Config *>
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Config *>
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:589,1
    - Dst: check_request_header
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ih
    - txnp
    argTypes:
    - void*
    - TSHttpTxn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 6
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - check_request_header
    - static_cast<Config *>
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo
      * /* rri */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG_DEBUG
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:600,1
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:607,1
    - Dst: LOG_ERROR
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:608,1
    - Dst: config_from_args
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:612,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:614,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:615,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 619
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/experimental/money_trace/money_trace.cc
    functionUses: 0
    functionsReached:
    - LOG_ERROR
    - TSContDataSet
    - TSHttpHookAdd
    - LOG_DEBUG
    - TSContCreate
    - config_from_args
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int argc, char const *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: VDEBUG
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VDEBUG(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: VERROR
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: VERROR
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERROR(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vio
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: VIODEBUG
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VIODEBUG(vio, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: argument_type
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argument_type(void *_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: lengthof
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned lengthof(const char (&)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferSizedCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:119,1
    - Dst: TSIOBufferReaderAlloc
      Src: /src/trafficserver/plugins/generator/generator.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: IOChannel
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferReaderAlloc
    - TSIOBufferSizedCreate
    linkageType: ''
    returnType: void
    signature: void IOChannel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSIOBufferReaderFree
      Src: /src/trafficserver/plugins/generator/generator.cc:123,1
    - Dst: TSIOBufferDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: ~IOChannel()
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSIOBufferDestroy
    - TSIOBufferReaderFree
    linkageType: ''
    returnType: void
    signature: void ~IOChannel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnRead
      Src: /src/trafficserver/plugins/generator/generator.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: read
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 711
    functionsReached:
    - TSVConnRead
    linkageType: ''
    returnType: void
    signature: void read(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnWrite
      Src: /src/trafficserver/plugins/generator/generator.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vc
    - contp
    argTypes:
    - TSVConn
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: write
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 347
    functionsReached:
    - TSVConnWrite
    linkageType: ''
    returnType: void
    signature: void write(TSVConn vc, TSCont contp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMBufferCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:151,1
    - Dst: TSHttpHdrCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:152,1
    - Dst: TSHttpParserCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: GeneratorHttpHeader
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserCreate
    - TSMBufferCreate
    - TSHttpHdrCreate
    linkageType: ''
    returnType: void
    signature: void GeneratorHttpHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpParserDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:159,1
    - Dst: TSHttpHdrDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:162,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:163,1
    - Dst: TSMBufferDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: ~GeneratorHttpHeader()
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSHttpParserDestroy
    - TSMBufferDestroy
    - TSHandleMLocRelease
    - TSHttpHdrDestroy
    linkageType: ''
    returnType: void
    signature: void ~GeneratorHttpHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: GeneratorRequest
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneratorRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: ~GeneratorRequest()
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratorRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSVConnClose
      Src: /src/trafficserver/plugins/generator/generator.cc:196,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:196,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - grq
    - vio
    - contp
    argTypes:
    - GeneratorRequest*
    - TSVIO
    - TSCont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: GeneratorRequestDestroy
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSVConnClose
    - TSVIOVConnGet
    - TSContDestroy
    linkageType: ''
    returnType: void
    signature: void GeneratorRequestDestroy(GeneratorRequest *grq, TSVIO vio, TSCont
      contp)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ptr
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: GeneratorParseByteCount
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t GeneratorParseByteCount(const char *ptr, const char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/generator/generator.cc:253,1
    - Dst: TSMimeHdrFieldValueDateSet
      Src: /src/trafficserver/plugins/generator/generator.cc:254,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/generator/generator.cc:255,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - GeneratorHttpHeader
    - char*
    - int64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: HeaderFieldDateSet
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueDateSet
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldDateSet(GeneratorHttpHeader &http, const char *field_name,
      int64_t field_len, time_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/generator/generator.cc:264,1
    - Dst: TSMimeHdrFieldValueInt64Set
      Src: /src/trafficserver/plugins/generator/generator.cc:265,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/generator/generator.cc:266,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - GeneratorHttpHeader
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: HeaderFieldIntSet
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldCreateNamed
    - TSMimeHdrFieldValueInt64Set
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldIntSet(GeneratorHttpHeader &http, const char *field_name,
      int64_t field_len, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldCreateNamed
      Src: /src/trafficserver/plugins/generator/generator.cc:275,1
    - Dst: TSMimeHdrFieldValueStringSet
      Src: /src/trafficserver/plugins/generator/generator.cc:276,1
    - Dst: TSMimeHdrFieldAppend
      Src: /src/trafficserver/plugins/generator/generator.cc:277,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - http
    - field_name
    - field_len
    - value
    argTypes:
    - GeneratorHttpHeader
    - char*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: HeaderFieldStringSet
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 2
    functionsReached:
    - TSMimeHdrFieldValueStringSet
    - TSMimeHdrFieldCreateNamed
    - TSHandleMLocRelease
    - TSMimeHdrFieldAppend
    linkageType: ''
    returnType: void
    signature: void HeaderFieldStringSet(GeneratorHttpHeader &http, const char *field_name,
      int64_t field_len, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSMimeHdrFieldFind
      Src: /src/trafficserver/plugins/generator/generator.cc:286,1
    - Dst: TSMimeHdrFieldValueInt64Get
      Src: /src/trafficserver/plugins/generator/generator.cc:288,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - request
    - field_name
    - field_len
    - default_value
    argTypes:
    - GeneratorHttpHeader
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: GeneratorGetRequestHeader
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSMimeHdrFieldFind
    - TSMimeHdrFieldValueInt64Get
    - TSHandleMLocRelease
    linkageType: ''
    returnType: int64_t
    signature: int64_t GeneratorGetRequestHeader(GeneratorHttpHeader &request, const
      char *field_name, int64_t field_len, int64_t default_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrTypeSet
      Src: /src/trafficserver/plugins/generator/generator.cc:298,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:299,1
    - Dst: TSHttpHdrVersionSet
      Src: /src/trafficserver/plugins/generator/generator.cc:302,1
    - Dst: TS_HTTP_VERSION
      Src: /src/trafficserver/plugins/generator/generator.cc:302,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:303,1
    - Dst: TSHttpHdrStatusSet
      Src: /src/trafficserver/plugins/generator/generator.cc:306,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:307,1
    - Dst: TSHttpHdrReasonSet
      Src: /src/trafficserver/plugins/generator/generator.cc:311,1
    - Dst: TSHttpHdrReasonLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:311,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - response
    - status
    argTypes:
    - GeneratorHttpHeader
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: WriteResponseHeader
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 2
    functionsReached:
    - VERROR
    - TSHttpHdrReasonSet
    - TSHttpHdrReasonLookup
    - TSHttpHdrTypeSet
    - TSHttpHdrStatusSet
    - TSHttpHdrVersionSet
    - TS_HTTP_VERSION
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode WriteResponseHeader(GeneratorHttpHeader &response, TSHttpStatus
      status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:323,1
    - Dst: WriteResponseHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:325,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/generator/generator.cc:329,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/generator/generator.cc:331,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:333,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - grq
    - status
    argTypes:
    - GeneratorRequest*
    - TSHttpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: GeneratorWriteFailureResponse
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrLengthGet
    - TSVIONBytesSet
    - VDEBUG
    - TSVIOReenable
    - WriteResponseHeader
    - TSHttpHdrPrint
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode GeneratorWriteFailureResponse(GeneratorRequest *grq, TSHttpStatus
      status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:343,1
    - Dst: WriteResponseHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:345,1
    - Dst: HeaderFieldIntSet
      Src: /src/trafficserver/plugins/generator/generator.cc:350,1
    - Dst: snprintf
      Src: /src/trafficserver/plugins/generator/generator.cc:356,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/generator/generator.cc:357,1
    - Dst: HeaderFieldDateSet
      Src: /src/trafficserver/plugins/generator/generator.cc:358,1
    - Dst: time
      Src: /src/trafficserver/plugins/generator/generator.cc:358,1
    - Dst: HeaderFieldStringSet
      Src: /src/trafficserver/plugins/generator/generator.cc:360,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/generator/generator.cc:365,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/generator/generator.cc:367,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:368,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:369,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/generator/generator.cc:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - grq
    argTypes:
    - GeneratorRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: GeneratorWriteResponse
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrLengthGet
    - TSVIONBytesSet
    - VDEBUG
    - TSVIOReenable
    - HeaderFieldDateSet
    - snprintf
    - WriteResponseHeader
    - TSHttpHdrPrint
    - HeaderFieldStringSet
    - HeaderFieldIntSet
    - time
    - TSStatIntIncrement
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode GeneratorWriteResponse(GeneratorRequest *grq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:380,1
    - Dst: WriteResponseHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:382,1
    - Dst: TSHttpHdrLengthGet
      Src: /src/trafficserver/plugins/generator/generator.cc:386,1
    - Dst: TSHttpHdrPrint
      Src: /src/trafficserver/plugins/generator/generator.cc:388,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:390,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - grq
    argTypes:
    - GeneratorRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: GeneratorPOSTResponse
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - TSHttpHdrLengthGet
    - TSVIONBytesSet
    - VDEBUG
    - TSVIOReenable
    - WriteResponseHeader
    - TSHttpHdrPrint
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode GeneratorPOSTResponse(GeneratorRequest *grq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpHdrMethodGet
      Src: /src/trafficserver/plugins/generator/generator.cc:405,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:410,1
    - Dst: GeneratorGetRequestHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:413,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/generator/generator.cc:413,1
    - Dst: GeneratorGetRequestHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:421,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/generator/generator.cc:421,1
    - Dst: GeneratorGetRequestHeader
      Src: /src/trafficserver/plugins/generator/generator.cc:422,1
    - Dst: lengthof
      Src: /src/trafficserver/plugins/generator/generator.cc:422,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/generator/generator.cc:425,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:426,1
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/generator/generator.cc:430,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:432,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:436,1
    - Dst: std::distance
      Src: /src/trafficserver/plugins/generator/generator.cc:447,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:449,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/generator/generator.cc:454,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/generator/generator.cc:456,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:459,1
    - Dst: GeneratorParseByteCount
      Src: /src/trafficserver/plugins/generator/generator.cc:467,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:468,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:471,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:485,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 1
    argNames:
    - grq
    argTypes:
    - GeneratorRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 487
    functionName: GeneratorParseRequest
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - VERROR
    - TSUrlPathGet
    - GeneratorGetRequestHeader
    - std::distance
    - TSHttpHdrMethodGet
    - TSHandleMLocRelease
    - lengthof
    - VDEBUG
    - GeneratorParseByteCount
    - TSHttpHdrUrlGet
    linkageType: ''
    returnType: bool
    signature: bool GeneratorParseRequest(GeneratorRequest *grq)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:497,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:497,1
    - Dst: GeneratorRequest::GeneratorRequest
      Src: /src/trafficserver/plugins/generator/generator.cc:504,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/generator/generator.cc:506,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:507,1
    - Dst: TSContDataSet
      Src: /src/trafficserver/plugins/generator/generator.cc:511,1
    - Dst: GeneratorRequest*::readio::read
      Src: /src/trafficserver/plugins/generator/generator.cc:514,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:515,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:530,1
    - Dst: TSContDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:532,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/generator/generator.cc:537,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:540,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:540,1
    - Dst: TSVIOBufferGet
      Src: /src/trafficserver/plugins/generator/generator.cc:548,1
    - Dst: TSIOBufferReaderAvail
      Src: /src/trafficserver/plugins/generator/generator.cc:550,1
    - Dst: TSIOBufferReaderConsume
      Src: /src/trafficserver/plugins/generator/generator.cc:552,1
    - Dst: TSVIONDoneSet
      Src: /src/trafficserver/plugins/generator/generator.cc:553,1
    - Dst: TSVIONDoneGet
      Src: /src/trafficserver/plugins/generator/generator.cc:553,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/generator/generator.cc:557,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:559,1
    - Dst: GeneratorPOSTResponse
      Src: /src/trafficserver/plugins/generator/generator.cc:562,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:563,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:568,1
    - Dst: GeneratorWriteFailureResponse
      Src: /src/trafficserver/plugins/generator/generator.cc:575,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:576,1
    - Dst: TSIOBufferReaderStart
      Src: /src/trafficserver/plugins/generator/generator.cc:582,1
    - Dst: TSIOBufferBlockNext
      Src: /src/trafficserver/plugins/generator/generator.cc:582,1
    - Dst: TSIOBufferBlockReadStart
      Src: /src/trafficserver/plugins/generator/generator.cc:584,1
    - Dst: TSHttpHdrParseReq
      Src: /src/trafficserver/plugins/generator/generator.cc:591,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:595,1
    - Dst: GeneratorRequestDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:596,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:601,1
    - Dst: GeneratorParseRequest
      Src: /src/trafficserver/plugins/generator/generator.cc:602,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:603,1
    - Dst: argument_type::grq::writeio::write
      Src: /src/trafficserver/plugins/generator/generator.cc:607,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:607,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:608,1
    - Dst: argument_type::grq::writeio::write
      Src: /src/trafficserver/plugins/generator/generator.cc:617,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:617,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:618,1
    - Dst: argument_type::grq::writeio::write
      Src: /src/trafficserver/plugins/generator/generator.cc:628,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:628,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:629,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:632,1
    - Dst: TSContScheduleOnPool
      Src: /src/trafficserver/plugins/generator/generator.cc:634,1
    - Dst: GeneratorWriteResponse
      Src: /src/trafficserver/plugins/generator/generator.cc:638,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:639,1
    - Dst: TSReleaseAssert
      Src: /src/trafficserver/plugins/generator/generator.cc:649,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:652,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/generator/generator.cc:657,1
    - Dst: static_cast<ssize_t>
      Src: /src/trafficserver/plugins/generator/generator.cc:662,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:668,1
    - Dst: TSIOBufferWrite
      Src: /src/trafficserver/plugins/generator/generator.cc:669,1
    - Dst: TSStatIntIncrement
      Src: /src/trafficserver/plugins/generator/generator.cc:672,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:675,1
    - Dst: TSVIONBytesGet
      Src: /src/trafficserver/plugins/generator/generator.cc:675,1
    - Dst: TSVIOReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:676,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/generator/generator.cc:684,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:686,1
    - Dst: GeneratorRequestDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:687,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:693,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/generator/generator.cc:697,1
    - Dst: argument_type::grq::writeio::write
      Src: /src/trafficserver/plugins/generator/generator.cc:702,1
    - Dst: TSVIOVConnGet
      Src: /src/trafficserver/plugins/generator/generator.cc:702,1
    - Dst: TSVIONBytesSet
      Src: /src/trafficserver/plugins/generator/generator.cc:703,1
    - Dst: VIODEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:705,1
    - Dst: TSVIONTodoGet
      Src: /src/trafficserver/plugins/generator/generator.cc:705,1
    - Dst: GeneratorRequestDestroy
      Src: /src/trafficserver/plugins/generator/generator.cc:706,1
    - Dst: TSContDataGet
      Src: /src/trafficserver/plugins/generator/generator.cc:715,1
    - Dst: GeneratorWriteResponse
      Src: /src/trafficserver/plugins/generator/generator.cc:716,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:717,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:724,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:724,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:728,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:728,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 144
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 492
    functionDepth: 7
    functionLinenumber: 492
    functionLinenumberEnd: 731
    functionName: GeneratorInterceptHook
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSVIONBytesSet
    - TSContDestroy
    - GeneratorRequestDestroy
    - TSIOBufferReaderStart
    - GeneratorParseRequest
    - TSVIOReenable
    - GeneratorRequest*::readio::read
    - TSContDataGet
    - TSVIONTodoGet
    - TSContScheduleOnPool
    - TSVIONDoneGet
    - GeneratorRequest::GeneratorRequest
    - TSIOBufferReaderConsume
    - TSIOBufferBlockReadStart
    - GeneratorWriteResponse
    - VDEBUG
    - static_cast<ssize_t>
    - VIODEBUG
    - TSVIONBytesGet
    - TSIOBufferReaderAvail
    - GeneratorWriteFailureResponse
    - TSHttpHdrParseReq
    - TSIOBufferWrite
    - TSHttpEventNameLookup
    - TSReleaseAssert
    - TSVIOBufferGet
    - argument_type::grq::writeio::write
    - TSVIONDoneSet
    - TSIOBufferBlockNext
    - TSVIOVConnGet
    - TSContDataSet
    - GeneratorPOSTResponse
    - TSStatIntIncrement
    linkageType: ''
    returnType: int
    signature: int GeneratorInterceptHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSUrlPathGet
      Src: /src/trafficserver/plugins/generator/generator.cc:739,1
    - Dst: memcmp
      Src: /src/trafficserver/plugins/generator/generator.cc:741,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:743,1
    - Dst: TSHttpTxnConfigIntSet
      Src: /src/trafficserver/plugins/generator/generator.cc:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - txnp
    - url
    - bufp
    argTypes:
    - TSHttpTxn
    - TSMLoc
    - TSMBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: CheckCacheable
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - memcmp
    - TSUrlPathGet
    - TSHttpTxnConfigIntSet
    - VDEBUG
    linkageType: ''
    returnType: void
    signature: void CheckCacheable(TSHttpTxn txnp, TSMLoc url, TSMBuffer bufp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:754,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:754,1
    - Dst: TSHttpTxnClientReqGet
      Src: /src/trafficserver/plugins/generator/generator.cc:762,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:763,1
    - Dst: TSHttpHdrUrlGet
      Src: /src/trafficserver/plugins/generator/generator.cc:766,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:767,1
    - Dst: CheckCacheable
      Src: /src/trafficserver/plugins/generator/generator.cc:770,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:771,1
    - Dst: TSHandleMLocRelease
      Src: /src/trafficserver/plugins/generator/generator.cc:772,1
    - Dst: TSHttpTxnCacheLookupStatusGet
      Src: /src/trafficserver/plugins/generator/generator.cc:779,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:781,1
    - Dst: TSHttpTxnServerIntercept
      Src: /src/trafficserver/plugins/generator/generator.cc:782,1
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:782,1
    - Dst: TSMutexCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:782,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:788,1
    - Dst: TSHttpEventNameLookup
      Src: /src/trafficserver/plugins/generator/generator.cc:788,1
    - Dst: TSHttpTxnReenable
      Src: /src/trafficserver/plugins/generator/generator.cc:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - contp
    - event
    - edata
    argTypes:
    - TSCont
    - TSEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 794
    functionName: GeneratorTxnHook
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - CheckCacheable
    - TSHandleMLocRelease
    - TSHttpTxnCacheLookupStatusGet
    - TSHttpTxnServerIntercept
    - VDEBUG
    - TSHttpEventNameLookup
    - TSContCreate
    - TSHttpTxnClientReqGet
    - TSHttpHdrUrlGet
    - TSMutexCreate
    - TSHttpTxnReenable
    linkageType: ''
    returnType: int
    signature: int GeneratorTxnHook(TSCont contp, TSEvent event, void *edata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSContCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:799,1
    - Dst: memset
      Src: /src/trafficserver/plugins/generator/generator.cc:800,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/generator/generator.cc:802,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:803,1
    - Dst: TSStatFindName
      Src: /src/trafficserver/plugins/generator/generator.cc:806,1
    - Dst: TSStatCreate
      Src: /src/trafficserver/plugins/generator/generator.cc:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 810
    functionName: GeneratorInitialize
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - memset
    - TSStatCreate
    - TSContCreate
    - TSStatFindName
    linkageType: ''
    returnType: void
    signature: void GeneratorInitialize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSPluginRegister
      Src: /src/trafficserver/plugins/generator/generator.cc:821,1
    - Dst: VERROR
      Src: /src/trafficserver/plugins/generator/generator.cc:822,1
    - Dst: GeneratorInitialize
      Src: /src/trafficserver/plugins/generator/generator.cc:825,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/generator/generator.cc:829,1
    - Dst: TSHttpHookAdd
      Src: /src/trafficserver/plugins/generator/generator.cc:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 834
    functionName: TSPluginInit
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - VERROR
    - TSHttpHookAdd
    - GeneratorInitialize
    - TSPluginRegister
    linkageType: ''
    returnType: void
    signature: void TSPluginInit(int /* argc */, const char * /* argv */[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeneratorInitialize
      Src: /src/trafficserver/plugins/generator/generator.cc:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 3
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: TSRemapInit
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - GeneratorInitialize
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapInit(TSRemapInterface * /* api_info */, char *
      /* errbuf */, int /* errbuf_size */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSHttpTxnStatusGet
      Src: /src/trafficserver/plugins/generator/generator.cc:846,1
    - Dst: VDEBUG
      Src: /src/trafficserver/plugins/generator/generator.cc:848,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/plugins/generator/generator.cc:848,1
    - Dst: CheckCacheable
      Src: /src/trafficserver/plugins/generator/generator.cc:853,1
    - Dst: TSHttpTxnHookAdd
      Src: /src/trafficserver/plugins/generator/generator.cc:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - txn
    - rri
    argTypes:
    - TSHttpTxn
    - TSRemapRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 843
    functionDepth: 4
    functionLinenumber: 843
    functionLinenumberEnd: 856
    functionName: TSRemapDoRemap
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - CheckCacheable
    - TSHttpTxnHookAdd
    - VDEBUG
    - TSHttpTxnStatusGet
    linkageType: ''
    returnType: TSRemapStatus
    signature: TSRemapStatus TSRemapDoRemap(void * /* ih */, TSHttpTxn txn, TSRemapRequestInfo
      *rri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ih
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: TSRemapNewInstance
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TSReturnCode
    signature: TSReturnCode TSRemapNewInstance(int /* argc */, char * /* argv */[],
      void **ih, char * /* errbuf ATS_UNUSED */, int /* errbuf_size ATS_UNUSED */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: TSRemapDeleteInstance
    functionSourceFile: /src/trafficserver/plugins/generator/generator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSRemapDeleteInstance(void * /* ih */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: "*&\n    next_ptr(Thing *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n    next_ptr(Thing *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: "*&\n    prev_ptr(Thing *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n    prev_ptr(Thing *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: "*&\n    next_ptr(Thing *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n    next_ptr(Thing *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: "*&\n    prev_ptr(Thing *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n    prev_ptr(Thing *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:39,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:39,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - view
    argTypes:
    - MemArena
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: localize
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 27
    functionsReached:
    - memcpy
    - TextView::size
    - MemArena::alloc
    linkageType: ''
    returnType: TextView
    signature: TextView localize(MemArena &arena, TextView view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: operator()(T *t)
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached:
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void operator()(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena*::~MemArena
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - MemArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Destroy
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 339
    functionsReached:
    - MemArena*::~MemArena
    linkageType: ''
    returnType: void
    signature: void Destroy(MemArena *arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::remnant
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:131,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:132,1
    - Dst: FixedBufferWriter::print_v
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:133,1
    - Dst: FixedBufferWriter::error
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:134,1
    - Dst: FixedBufferWriter
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:135,1
    - Dst: MemArena::require
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:135,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:135,1
    - Dst: MemArena::alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:137,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arena
    - fmt
    argTypes:
    - MemArena
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: bw_localize
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - MemArena::alloc
    - FixedBufferWriter::error
    - MemArena::remnant
    - FixedBufferWriter::print_v
    - FixedBufferWriter
    - FixedBufferWriter::extent
    - MemArena::require
    linkageType: ''
    returnType: TextView
    signature: TextView bw_localize(MemArena &arena, TextView const &fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view const &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - s
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(int x, std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - x
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view const &s, int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thing
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: key_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view key_of(self_type *thing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATSHash32FNV1a::ATSHash32FNV1a
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:168,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: hash_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - ATSHash32FNV1a::ATSHash32FNV1a
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_of(std::string_view const &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: equal
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_MemArena.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(std::string_view const &lhs, std::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Table::Property::Property
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Property(TextView const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ~Property()
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: Table::Property::idx
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned idx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: Table::Property::needs_localized_token
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needs_localized_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: Table::Property::offset
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: "&\n    assign_idx(unsigned idx)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    assign_idx(unsigned idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: "&\n    assign_offset(size_t offset)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: self_type
    signature: "self_type &\n    assign_offset(size_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: Table::Table
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Table::Row::Row
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Row(MemSpan<std::byte> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: Table::size
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 1
    functionsReached:
    - count
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: Table::column
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Property
    signature: "Property *\n  column(unsigned idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<P>::get
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:354,1
    - Dst: Table::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:355,1
    - Dst: std::unique_ptr<P>::assign_offset
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:356,1
    - Dst: std::unique_ptr<P>::assign_idx
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:357,1
    - Dst: static_cast<Property *>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:358,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:359,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - col
    argTypes:
    - std::unique_ptr<P>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: Table::add_column
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<P>::assign_idx
    - emplace_back
    - static_cast<Property *>
    - Table::size
    - std::unique_ptr<P>::assign_offset
    - std::move
    - std::unique_ptr<P>::get
    linkageType: ''
    returnType: P
    signature: 'P *

      Table::add_column(std::unique_ptr<P> &&col)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:365,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:365,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: Table::localize
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - TextView::size
    - alloc
    linkageType: ''
    returnType: TextView
    signature: TextView Table::localize(TextView const &src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:377,1
    - Dst: TextView::find_first_of
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:379,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - line
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: Table::token
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix
    - TextView::size
    - TextView::find_first_of
    linkageType: ''
    returnType: TextView
    signature: TextView Table::token(TextView &line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:403,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:406,1
    - Dst: auto::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:410,1
    - Dst: IPRange::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:412,1
    - Dst: W
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:413,1
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:417,1
    - Dst: Table::token
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:420,1
    - Dst: needs_localized_token
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:421,1
    - Dst: Table::localize
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:422,1
    - Dst: Table::parse
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:424,1
    - Dst: auto::subspan
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:424,1
    - Dst: Table::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:424,1
    - Dst: W
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:425,1
    - Dst: idx
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:425,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:428,1
    - Dst: Table::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:428,1
    - Dst: mark
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:430,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: Table::parse
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 1
    functionsReached:
    - TextView::take_prefix_at
    - W
    - Table::localize
    - auto::remove_prefix
    - auto::take_prefix_at
    - needs_localized_token
    - idx
    - Table::size
    - mark
    - auto::subspan
    - IPRange::empty
    - alloc
    - Table::parse
    - std::move
    - auto::empty
    - Table::token
    linkageType: ''
    returnType: bool
    signature: bool Table::parse(TextView src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::find
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:437,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:438,1
    - Dst: auto::payload
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: Table::find
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 5
    functionsReached:
    - end
    - auto::payload
    - Table::find
    linkageType: ''
    returnType: auto
    signature: auto Table::find(IPAddr const &addr) -> Row *
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: operator==(Table::Row const &, Table::Row const &)
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Table::Row const &, Table::Row const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subspan
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:448,1
    - Dst: Table::Property::offset
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:448,1
    - Dst: Table::Property::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prop
    argTypes:
    - Table::Property
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: Table::Row::span_for(Table::Property const &prop) const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - Table::Property::size
    - subspan
    - Table::Property::offset
    linkageType: ''
    returnType: MemSpan<std::byte>
    signature: MemSpan<std::byte> Table::Row::span_for(Table::Property const &prop)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: EnumProperty::size
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: StringProperty::size
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: StringProperty::needs_localized_token
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needs_localized_token() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:548,1
    - Dst: MemSpan<std::byte>::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - token
    - span
    argTypes:
    - TextView
    - MemSpan<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: StringProperty::parse
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - MemSpan<std::byte>::data
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool StringProperty::parse(TextView token, MemSpan<std::byte> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:553,1
    - Dst: std::initializer_list<TextView>::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:553,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - tags
    argTypes:
    - TextView
    - std::initializer_list<TextView>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: FlagGroupProperty::FlagGroupProperty
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - std::initializer_list<TextView>::size
    - emplace_back
    - reserve
    linkageType: ''
    returnType: void
    signature: void FlagGroupProperty::FlagGroupProperty(TextView const &name, std::initializer_list<TextView>
      tags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:564,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:566,1
    - Dst: strcasecmp
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:569,1
    - Dst: FlagGroupProperty::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:575,1
    - Dst: W
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - token
    - span
    argTypes:
    - TextView
    - MemSpan<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: FlagGroupProperty::parse
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - memset
    - TextView::take_prefix_at
    - W
    - FlagGroupProperty::size
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool FlagGroupProperty::parse(TextView token, MemSpan<std::byte> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::Row::span_for
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - idx
    argTypes:
    - Table::Row
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: FlagGroupProperty::is_set
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - Table::Row::span_for
    linkageType: ''
    returnType: bool
    signature: bool FlagGroupProperty::is_set(Table::Row const &row, unsigned idx)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::Scalar<8>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:591,1
    - Dst: swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:591,1
    - Dst: FlagGroupProperty::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: FlagGroupProperty::size
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up
    - FlagGroupProperty::size
    - swoc::Scalar<8>
    linkageType: ''
    returnType: size_t
    signature: size_t FlagGroupProperty::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:597,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:597,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:597,1
    - Dst: strcasecmp
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:597,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:598,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:599,1
    - Dst: prev
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:600,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:600,1
    - Dst: MemSpan<std::byte>::rebind
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:602,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - token
    - span
    argTypes:
    - TextView
    - MemSpan<std::byte>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: EnumProperty::parse
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    - MemSpan<std::byte>::rebind
    - strcasecmp
    - prev
    - std::find_if
    linkageType: ''
    returnType: bool
    signature: bool EnumProperty::parse(TextView token, MemSpan<std::byte> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::Row::span_for
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - row
    argTypes:
    - Table::Row
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: EnumProperty::operator()(Table::Row const &row) const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_ipspace_properties.cc
    functionUses: 0
    functionsReached:
    - Table::Row::span_for
    linkageType: ''
    returnType: TextView
    signature: TextView EnumProperty::operator()(Table::Row const &row) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:74,1
    - Dst: set_default
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - units
    - unit_required_p
    argTypes:
    - UnitParser::Units
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: UnitParser::UnitParser
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc
    functionUses: 0
    functionsReached:
    - std::move
    - set_default
    linkageType: ''
    returnType: void
    signature: void UnitParser::UnitParser(UnitParser::Units &&units, bool unit_required_p)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: '&

      UnitParser::unit_required(bool flag)'
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnitParser::self_type
    signature: 'UnitParser::self_type &

      UnitParser::unit_required(bool flag)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:89,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:91,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:92,1
    - Dst: Errata
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:93,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:93,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:93,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:94,1
    - Dst: Errata
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:95,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:95,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:95,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:97,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:97,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:98,1
    - Dst: TextView::clip_prefix_of
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:100,1
    - Dst: isspace
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:100,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:101,1
    - Dst: Errata
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:103,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:103,1
    - Dst: Errata
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:108,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 115
    functionName: UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_UnitParser.cc
    functionUses: 28
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::TextView::data
    - Errata
    - TextView::data
    - isdigit
    - TextView::clip_prefix_of
    - isspace
    - TextView::remove_prefix
    - max
    - TextView::ltrim_if
    - TextView::size
    - TextView::empty
    - auto::empty
    linkageType: ''
    returnType: auto
    signature: auto UnitParser::operator()(swoc::TextView const &src) const noexcept
      -> Rv<value_type>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Message::Linkage::next_ptr(self_type *that) -> self_type *&
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Message::Linkage::next_ptr(self_type *that) -> self_type *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Message::Linkage::prev_ptr(self_type *that) -> self_type *&
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Message::Linkage::prev_ptr(self_type *that) -> self_type *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Message::is_in_list
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Message::is_in_list() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Container::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Container::~Container()
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - Container::clear
    linkageType: ''
    returnType: void
    signature: void Container::~Container()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: take_head
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:102,1
    - Dst: Container::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: Container::clear
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 3
    functionsReached:
    - Container::clear
    - take_head
    linkageType: ''
    returnType: auto
    signature: auto Container::clear() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Container::count
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Container::count
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 1
    functionsReached:
    - Container::count
    linkageType: ''
    returnType: size_t
    signature: size_t Container::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Message::Message
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:117,1
    - Dst: swoc::SWOC_VERSION_NS::bwprint_v
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:118,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:118,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Container::debug
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - std::forward_as_tuple
    - append
    - Message::Message
    - swoc::SWOC_VERSION_NS::bwprint_v
    linkageType: ''
    returnType: auto
    signature: auto Container::debug(std::string_view fmt, Args &&...args) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max_element
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:126,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:126,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:126,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Container::max_severity
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::max_element
    linkageType: ''
    returnType: Message::Severity
    signature: Message::Severity Container::max_severity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: Container::print
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: void
    signature: void Container::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: PrivateThing::PrivateThing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateThing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::ptr_ref_cast<self_type>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: "*&\n    next_ptr(self_type *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - swoc::ptr_ref_cast<self_type>
    linkageType: ''
    returnType: self_type
    signature: "self_type *&\n    next_ptr(self_type *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::ptr_ref_cast<self_type>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: "*&\n    prev_ptr(self_type *t)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached:
    - swoc::ptr_ref_cast<self_type>
    linkageType: ''
    returnType: self_type
    signature: "self_type *&\n    prev_ptr(self_type *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: "&\n  payload() const"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  payload() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: PrivateThing2::PrivateThing2
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateThing2(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: "&\n  payload() const"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_IntrusiveDList.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n  payload() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - space
    argTypes:
    - IPSpace<P>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: dump
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 22
    functionsReached:
    - bwprint
    linkageType: ''
    returnType: void
    signature: void dump(IPSpace<P> const &space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - space
    argTypes:
    - IPSpace<P>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: dump
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 22
    functionsReached:
    - bwprint
    linkageType: ''
    returnType: void
    signature: void dump(IPSpace<P> const &space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(Thing const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: '&operator=(Thing const &)'
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: Thing &operator=(Thing const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Thing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1230
    functionName: operator==(Thing const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Thing const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: operator==(Data const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Data const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1912
    functionName: operator==(Data const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(Data const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: X::X
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: "&\n    write(char c) override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: X
    signature: "X &\n    write(char c) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: X::error
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool error() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: X::data
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n    data() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: X::capacity
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: X::extent
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t extent() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&restrict(size_t) override'
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: X &restrict(size_t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: "&\n    restore(size_t) override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: "X &\n    restore(size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: X::commit
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool commit(size_t) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: "&\n    discard(size_t) override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: "X &\n    discard(size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: "&\n    copy(size_t, size_t, size_t) override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: "X &\n    copy(size_t, size_t, size_t) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: "&\n    operator>>(std::ostream &stream) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream &\n    operator>>(std::ostream &stream) const override"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:143,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:149,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:153,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:159,1
    - Dst: BWType::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:163,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:171,1
    - Dst: BWType::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:175,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:177,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:177,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:183,1
    - Dst: std::strcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:187,1
    - Dst: BWType::aux_buffer
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:187,1
    - Dst: BWType::commit
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:188,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:190,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:194,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:198,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:200,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:204,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:206,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:210,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:212,1
    - Dst: BWType::reduce
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:216,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:218,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:222,1
    - Dst: BWType::reduce
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:226,1
    - Dst: BWType::discard
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:227,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:227,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:229,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:233,1
    - Dst: BWType::restore
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:237,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:239,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:243,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 1
    argNames:
    - bw
    argTypes:
    - BWType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 248
    functionName: twice
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached:
    - BWType::discard
    - BWType::size
    - BWType::aux_buffer
    - BWType::write
    - BWType::error
    - BWType::commit
    - BWType::reduce
    - BWType::view
    - std::strcpy
    - BWType::capacity
    - BWType::remaining
    - BWType::clear
    - std::string_view
    - BWType::restore
    linkageType: ''
    returnType: bool
    signature: bool twice(BWType &bw)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:139,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:143,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:145,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:149,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:153,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:155,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:159,1
    - Dst: BWType::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:163,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:167,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:171,1
    - Dst: BWType::clear
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:175,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:177,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:177,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::remaining
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:179,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:183,1
    - Dst: std::strcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:187,1
    - Dst: BWType::aux_buffer
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:187,1
    - Dst: BWType::commit
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:188,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:190,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:194,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:198,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:200,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:204,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:206,1
    - Dst: BWType::write
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:210,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:212,1
    - Dst: BWType::reduce
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:216,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:218,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:222,1
    - Dst: BWType::reduce
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:226,1
    - Dst: BWType::discard
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:227,1
    - Dst: BWType::capacity
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:227,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:229,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:233,1
    - Dst: BWType::restore
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:237,1
    - Dst: BWType::error
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:239,1
    - Dst: BWType::view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc:243,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 1
    argNames:
    - bw
    argTypes:
    - BWType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 248
    functionName: twice
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_BufferWriter.cc
    functionUses: 0
    functionsReached:
    - BWType::discard
    - BWType::size
    - BWType::aux_buffer
    - BWType::write
    - BWType::error
    - BWType::commit
    - BWType::reduce
    - BWType::view
    - std::strcpy
    - BWType::capacity
    - BWType::remaining
    - BWType::clear
    - std::string_view
    - BWType::restore
    linkageType: ''
    returnType: bool
    signature: bool twice(BWType &bw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:72,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:73,1
    - Dst: ctime_r
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:76,1
    - Dst: LocalBufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:76,1
    - Dst: LocalBufferWriter::commit
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:77,1
    - Dst: LocalBufferWriter::print
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:78,1
    - Dst: std::chrono::time_point_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:78,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:79,1
    - Dst: LocalBufferWriter::view
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: BWF_Timestamp
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - LocalBufferWriter::commit
    - LocalBufferWriter::view
    - ctime_r
    - LocalBufferWriter::print
    - LocalBufferWriter::aux_data
    - std::chrono::system_clock::to_time_t
    - std::chrono::time_point_cast<std::chrono::milliseconds>
    - bwformat
    - failover_now
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Timestamp(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: BWF_Now
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Now(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: BWF_Version
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Version(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: BWF_EvilDave
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_EvilDave(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:72,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:73,1
    - Dst: ctime_r
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:76,1
    - Dst: LocalBufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:76,1
    - Dst: LocalBufferWriter::commit
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:77,1
    - Dst: LocalBufferWriter::print
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:78,1
    - Dst: std::chrono::time_point_cast<std::chrono::milliseconds>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:78,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:79,1
    - Dst: LocalBufferWriter::view
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: BWF_Timestamp
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - LocalBufferWriter::commit
    - LocalBufferWriter::view
    - ctime_r
    - LocalBufferWriter::print
    - LocalBufferWriter::aux_data
    - std::chrono::system_clock::to_time_t
    - std::chrono::time_point_cast<std::chrono::milliseconds>
    - bwformat
    - failover_now
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Timestamp(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: BWF_Now
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Now(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: BWF_Version
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_Version(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: BWF_EvilDave
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BWF_EvilDave(BufferWriter &w, Spec const &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:131,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:132,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: EX_BWF_Format_Init
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    linkageType: ''
    returnType: void
    signature: void EX_BWF_Format_Init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:206,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:206,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:207,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - spec
    - field
    argTypes:
    - BufferWriter
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: field_gen
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - find
    - bwformat
    - end
    linkageType: ''
    returnType: void
    signature: void field_gen(BufferWriter &w, Spec const &spec, TextView const &field)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:215,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:215,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:216,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - spec
    - tag
    argTypes:
    - BufferWriter
    - Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: cookie_gen
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - find
    - bwformat
    - end
    linkageType: ''
    returnType: void
    signature: void cookie_gen(BufferWriter &w, Spec const &spec, TextView const &tag)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:239,1
    - Dst: ExContext::field_gen
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:241,1
    - Dst: ExContext::cookie_gen
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:243,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:244,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - ExContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: "&\n    operator()(BufferWriter &w, Spec const &spec, ExContext
      const &ctx) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - ExContext::field_gen
    - BufferWriter::print
    - TextView::split_prefix_at
    - ExContext::cookie_gen
    - TextView::empty
    linkageType: ''
    returnType: BufferWriter
    signature: "BufferWriter &\n    operator()(BufferWriter &w, Spec const &spec,
      ExContext const &ctx) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: AltFormatEx::AltFormatEx
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AltFormatEx::AltFormatEx(TextView fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: AltFormatEx::operator bool() const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void AltFormatEx::operator bool() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:310,1
    - Dst: take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:311,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:312,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:316,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:319,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:319,1
    - Dst: split_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:323,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:324,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:325,1
    - Dst: swoc::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:327,1
    - Dst: swoc::bwf::Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:328,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:329,1
    - Dst: TextView::split_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - literal
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 343
    functionName: AltFormatEx::operator()(std::string_view &literal, swoc::bwf::Spec
      &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - swoc::bwf::Spec::parse
    - TextView::split_prefix_at
    - split_prefix_at
    - swoc::bwf::Spec::_name::empty
    - std::string_view::size
    - empty
    - size
    - std::string_view::data
    - take_prefix_at
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool AltFormatEx::operator()(std::string_view &literal, swoc::bwf::Spec
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: AltFormatEx::AltFormatEx
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AltFormatEx::AltFormatEx(TextView fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: AltFormatEx::operator bool() const
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void AltFormatEx::operator bool() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:310,1
    - Dst: take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:311,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:312,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:316,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:319,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:319,1
    - Dst: split_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:323,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:324,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:325,1
    - Dst: swoc::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:327,1
    - Dst: swoc::bwf::Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:328,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:329,1
    - Dst: TextView::split_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - literal
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 343
    functionName: AltFormatEx::operator()(std::string_view &literal, swoc::bwf::Spec
      &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - swoc::bwf::Spec::parse
    - TextView::split_prefix_at
    - split_prefix_at
    - swoc::bwf::Spec::_name::empty
    - std::string_view::size
    - empty
    - size
    - std::string_view::data
    - take_prefix_at
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool AltFormatEx::operator()(std::string_view &literal, swoc::bwf::Spec
      &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: C_Format::C_Format
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void C_Format::C_Format(TextView const &fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: bool
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 5
    functionsReached:
    - empty
    linkageType: ''
    returnType: C_Format::operator
    signature: C_Format::operator bool() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:446,1
    - Dst: std::any::type
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:446,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:447,1
    - Dst: std::any_cast<int *>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:447,1
    - Dst: typeid
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:448,1
    - Dst: std::any::type
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:448,1
    - Dst: std::any_cast<unsigned *>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:449,1
    - Dst: typeid
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:450,1
    - Dst: std::any::type
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:450,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:451,1
    - Dst: std::any_cast<size_t *>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - spec
    - value
    argTypes:
    - Spec
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 460
    functionName: C_Format::capture
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - std::any_cast<int *>
    - std::any_cast<unsigned *>
    - typeid
    - std::any::type
    - static_cast<unsigned>
    - std::any_cast<size_t *>
    linkageType: ''
    returnType: void
    signature: void C_Format::capture(BufferWriter &, Spec const &spec, std::any const
      &value)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:478,1
    - Dst: take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:480,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:481,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:484,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:486,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:486,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:509,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:511,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:512,1
    - Dst: data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:512,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:520,1
    - Dst: swoc::svto_radix<10>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:521,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:522,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:533,1
    - Dst: swoc::svto_radix<10>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:534,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:535,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:543,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:544,1
    - Dst: data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:544,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:579,1
    - Dst: data
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:579,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 122
    argCount: 2
    argNames:
    - literal
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 598
    functionName: C_Format::operator()(std::string_view &literal, Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::svto_radix<10>
    - std::string_view::size
    - empty
    - data
    - size
    - std::string_view::data
    - take_prefix_at
    linkageType: ''
    returnType: bool
    signature: bool C_Format::operator()(std::string_view &literal, Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:604,1
    - Dst: BufferWriter::print_nfv
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: swoc::bwf::NilBinding
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: C_Format
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:606,1
    - Dst: BufferWriter::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - w
    - fmt
    argTypes:
    - BufferWriter
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 607
    functionName: bwprintf
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - C_Format
    - BufferWriter::size
    - static_cast<int>
    - std::forward_as_tuple
    - BufferWriter::print_nfv
    - swoc::bwf::NilBinding
    linkageType: ''
    returnType: int
    signature: int bwprintf(BufferWriter &w, TextView const &fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:604,1
    - Dst: BufferWriter::print_nfv
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: swoc::bwf::NilBinding
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: C_Format
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:605,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:606,1
    - Dst: BufferWriter::size
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - w
    - fmt
    argTypes:
    - BufferWriter
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 607
    functionName: bwprintf
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - C_Format
    - BufferWriter::size
    - static_cast<int>
    - std::forward_as_tuple
    - BufferWriter::print_nfv
    - swoc::bwf::NilBinding
    linkageType: ''
    returnType: int
    signature: int bwprintf(BufferWriter &w, TextView const &fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: As_Rot13
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void As_Rot13(std::string_view src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:649,1
    - Dst: isupper
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:649,1
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:651,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - spec
    - wrap
    argTypes:
    - BufferWriter
    - Spec
    - As_Rot13
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 105
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - bwformat
    - islower
    - isupper
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, As_Rot13 const &wrap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: As_Rot13
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sv
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: Rotter
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - As_Rot13
    linkageType: ''
    returnType: As_Rot13
    signature: As_Rot13 Rotter(std::string_view const &sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: As_Rot13
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thing
    argTypes:
    - Thing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: Rotter
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_bw_format.cc
    functionUses: 0
    functionsReached:
    - As_Rot13
    linkageType: ''
    returnType: As_Rot13
    signature: As_Rot13 Rotter(Thing const &thing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: data
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_TextView.cc
    functionUses: 1200
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n    data() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: size
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_TextView.cc
    functionUses: 1432
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EX_BWF_Format_Init
      Src: /src/trafficserver/lib/swoc/unit_tests/unit_test_main.cc:33,1
    - Dst: test_Errata_init
      Src: /src/trafficserver/lib/swoc/unit_tests/unit_test_main.cc:34,1
    - Dst: SSLSessionCache::getSession
      Src: /src/trafficserver/lib/swoc/unit_tests/unit_test_main.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/unit_test_main.cc
    functionUses: 6
    functionsReached:
    - test_Errata_init
    - EX_BWF_Format_Init
    - SSLSessionCache::getSession
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:36,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:36,1
    - Dst: TextView::assign
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:37,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:40,1
    - Dst: setenv
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:41,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:41,1
    - Dst: data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:41,1
    - Dst: unsetenv
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:43,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: set_env_var
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::assign
    - TextView::data
    - setenv
    - getenv
    - empty
    - data
    - unsetenv
    linkageType: ''
    returnType: TextView
    signature: TextView set_env_var(TextView name, TextView value = ""_tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:99,1
    - Dst: const_cast<char *>
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:99,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:99,1
    - Dst: REQUIRE
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:100,1
    - Dst: fdopen
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:101,1
    - Dst: REQUIRE
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:102,1
    - Dst: fputs
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:103,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:103,1
    - Dst: fclose
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:104,1
    - Dst: close
      Src: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: write_a_temporary_file
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_swoc_file.cc
    functionUses: 0
    functionsReached:
    - fputs
    - REQUIRE
    - const_cast<char *>
    - std::string::data
    - fclose
    - close
    - mkstemp
    - fdopen
    - std::string_view::data
    linkageType: ''
    returnType: file::path
    signature: file::path write_a_temporary_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - text
    - x
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text, int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: "*&\n  next_ptr(Thing *thing)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n  next_ptr(Thing *thing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: "*&\n  prev_ptr(Thing *thing)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n  prev_ptr(Thing *thing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thing
    argTypes:
    - Thing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: key_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view key_of(Thing *thing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasher
      Src: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc:67,1
    - Dst: hasher
      Src: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: hash_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached:
    - hasher
    linkageType: ''
    returnType: auto
    signature: auto hash_of(std::string_view s) -> decltype(hasher(s))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: equal
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(std::string_view const &lhs, std::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - text
    - x
    argTypes:
    - std::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string_view text, int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: "*&\n  next_ptr(Thing *thing)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n  next_ptr(Thing *thing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: "*&\n  prev_ptr(Thing *thing)"
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thing
    signature: "Thing *&\n  prev_ptr(Thing *thing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thing
    argTypes:
    - Thing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: key_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view key_of(Thing *thing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasher
      Src: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc:67,1
    - Dst: hasher
      Src: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: hash_of
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 0
    functionsReached:
    - hasher
    linkageType: ''
    returnType: auto
    signature: auto hash_of(std::string_view s) -> decltype(hasher(s))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: equal
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_IntrusiveHashMap.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equal(std::string_view const &lhs, std::string_view const &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemSpan.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(TextView s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: ~Thing()
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemSpan.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:46,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:46,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - view
    argTypes:
    - MemArena
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: localize
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 28
    functionsReached:
    - memcpy
    - TextView::size
    - MemArena::alloc
    linkageType: ''
    returnType: TextView
    signature: TextView localize(MemArena &arena, TextView const &view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::alloc
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:46,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:46,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - view
    argTypes:
    - MemArena
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: localize
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 28
    functionsReached:
    - memcpy
    - TextView::size
    - MemArena::alloc
    linkageType: ''
    returnType: TextView
    signature: TextView localize(MemArena &arena, TextView const &view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string const &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x
    - s
    argTypes:
    - int
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(int x, std::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - x
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(std::string const &s, int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: PMR
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PMR(bool &flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - PMR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: PMR
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PMR(PMR &&that)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: ~PMR()
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PMR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: e_category::name
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      e_category::name() const noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:54,1
    - Dst: ECode
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: e_category::message
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached:
    - ECode
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string e_category::message(int ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - ECode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ecode
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: std::error_code
    signature: std::error_code ecode(ECode c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::MemSpan<swoc::TextView const>
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:69,1
    - Dst: data
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:69,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:69,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::register_sink
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:71,1
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_Errata_init
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 1
    functionsReached:
    - swoc::MemSpan<swoc::TextView const>
    - bwprint
    - swoc::SWOC_VERSION_NS::Errata::register_sink
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void test_Errata_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Noteworthy
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Errata
    signature: Errata Noteworthy(std::string_view text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:81,1
    - Dst: Errata::note
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - erratum
    argTypes:
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: cycle
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Errata::note
    linkageType: ''
    returnType: Errata
    signature: Errata cycle(Errata &erratum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::note_v
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:238,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errata
    - fmt
    argTypes:
    - Errata
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: NoteInfo
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::note_v
    - std::forward_as_tuple
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      NoteInfo(Errata &errata, std::string_view fmt, Args... args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:375,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:375,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:375,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::SubText
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:376,1
    - Dst: std::forward_as_tuple<Args...>
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:376,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Errno
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - err
    - s
    - fmt
    argTypes:
    - int
    - Errata::Severity
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: errata_errno
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 0
    functionsReached:
    - Errata
    - std::system_category
    - swoc::SWOC_VERSION_NS::bwf::Errno
    - swoc::SWOC_VERSION_NS::bwf::SubText
    - std::forward_as_tuple<Args...>
    - std::error_code
    linkageType: ''
    returnType: Errata
    signature: Errata errata_errno(int err, Errata::Severity s, swoc::TextView fmt,
      Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errata_errno
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:382,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - Errata::Severity
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: errata_errno
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Errata.cc
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - errata_errno
    linkageType: ''
    returnType: Errata
    signature: Errata errata_errno(Errata::Severity s, swoc::TextView fmt, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, swoc::meta::CaseTag<0>) -> std::string_view
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 2
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, swoc::meta::CaseTag<1>) -> decltype(t._value, std::string_view())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect
      Src: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 3
    functionsReached:
    - detect
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view detect(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, swoc::meta::CaseTag<0>) -> std::string_view
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 3
    functionsReached:
    - std::string_view
    linkageType: ''
    returnType: auto
    signature: auto detect(T &&t, swoc::meta::CaseTag<1>) -> decltype(t._value, std::string_view())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect
      Src: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: detect
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_meta.cc
    functionUses: 4
    functionsReached:
    - detect
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view detect(T &&t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - Thing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(Thing const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - Thing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(Thing &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Thing
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Thing(unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Q
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Q(int &count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~Q()
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/test_Vectray.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Q()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:31,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:32,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: parse_csv
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - TextView::ltrim_if
    - f
    linkageType: ''
    returnType: void
    signature: void parse_csv(TextView src, std::function<void(TextView)> const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:44,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: parse_csv_non_empty
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - f
    linkageType: ''
    returnType: void
    signature: void parse_csv_non_empty(TextView src, std::function<void(TextView)>
      const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:54,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:56,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    - Dst: TextView::rtrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView, TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: parse_kw
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - TextView::ltrim_if
    - f
    - TextView::rtrim_if
    linkageType: ''
    returnType: void
    signature: void parse_kw(TextView src, std::function<void(TextView, TextView)>
      const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 99
    functionName: get_resolver_text
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_resolver_text()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:31,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:32,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: parse_csv
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - TextView::ltrim_if
    - f
    linkageType: ''
    returnType: void
    signature: void parse_csv(TextView src, std::function<void(TextView)> const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:44,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: parse_csv_non_empty
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - f
    linkageType: ''
    returnType: void
    signature: void parse_csv_non_empty(TextView src, std::function<void(TextView)>
      const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:54,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:56,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    - Dst: TextView::rtrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src
    - f
    argTypes:
    - TextView
    - std::function<void(TextView, TextView)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: parse_kw
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - TextView::ltrim_if
    - f
    - TextView::rtrim_if
    linkageType: ''
    returnType: void
    signature: void parse_kw(TextView src, std::function<void(TextView, TextView)>
      const &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 99
    functionName: get_resolver_text
    functionSourceFile: /src/trafficserver/lib/swoc/unit_tests/ex_TextView.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_resolver_text()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 1
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:652,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::bwf::HexDump
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:661,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:662,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - sv
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - std::string_view::substr
    - swoc::bwf::HexDump
    - swoc::SWOC_VERSION_NS::bwformat
    - std::string_view::size
    - BufferWriter::write
    - std::string_view::data
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::string_view sv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:679,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - ptr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 691
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bwf::HexDump::_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:704,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:706,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:707,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:710,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - hex
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::HexDump
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - bwf::HexDump::_view::size
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::HexDump const &hex)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:719,1
    - Dst: MemSpan<void const>::rebind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:720,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:724,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:728,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:731,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<void const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 738
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - MemSpan<void const>::size
    - MemSpan<void const>::rebind
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    - TextView::remove_prefix
    - TextView::prefix
    - MemSpan<void const>::data
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<void const> const &span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        FixedBufferWriter::operator>>(std::view'
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: '&

      FixedBufferWriter::operator>>(std::ostream &s) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - '&

      FixedBufferWriter::operator>>(std::view'
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      FixedBufferWriter::operator>>(std::ostream &s) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:829,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:830,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: errno_short_name
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:840,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: strerror
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:845,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Errno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - bwf::Spec::has_numeric_type
    - TextView::find
    - BufferWriter::print
    - errno_short_name
    - TextView::empty
    - BufferWriter::write
    - TextView
    - strerror
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Errno const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: bwf::Date::Date(std::string_view fmt)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: void
    signature: void bwf::Date::Date(std::string_view fmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:856,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:857,1
    - Dst: BufferWriter::remaining
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:860,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: localtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:868,1
    - Dst: gmtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:870,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:877,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - w
    - spec
    - date
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Date
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 888
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 3
    functionsReached:
    - bwf::Spec::has_numeric_type
    - bwf::Date::_fmt::data
    - BufferWriter::aux_data
    - bwf::Date::_fmt::size
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::remaining
    - BufferWriter::commit
    - localtime_r
    - gmtime_r
    - BufferWriter::write
    - strftime
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Date const &date)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Pattern::_text::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:892,1
    - Dst: std::min<size_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:896,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - pattern
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 901
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 3
    functionsReached:
    - bwf::Pattern::_text::empty
    - std::min<size_t>
    - BufferWriter::write
    - bwf::Pattern::_text::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Pattern const &pattern)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::generic_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:905,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:906,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:910,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - ec
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 4
    functionsReached:
    - bwf::Spec::has_numeric_type
    - std::generic_category
    - std::system_category
    - swoc::SWOC_VERSION_NS::bwformat
    - std::error_code::category
    - contains
    - std::error_code::value
    - BufferWriter::write
    - std::error_code::message
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::error_code const &ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:929,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: auto::clip_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - obj
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::UnHex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 4
    functionsReached:
    - auto::clip_prefix
    - auto::size
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::svto_radix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::UnHex const &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 3
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 4
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 8
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:652,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::bwf::HexDump
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:661,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:662,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - sv
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - std::string_view::substr
    - swoc::bwf::HexDump
    - swoc::SWOC_VERSION_NS::bwformat
    - std::string_view::size
    - BufferWriter::write
    - std::string_view::data
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::string_view sv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:679,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - ptr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 691
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bwf::HexDump::_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:704,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:706,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:707,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:710,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - hex
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::HexDump
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - bwf::HexDump::_view::size
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::HexDump const &hex)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:719,1
    - Dst: MemSpan<void const>::rebind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:720,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:724,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:728,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:731,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<void const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 738
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - MemSpan<void const>::size
    - MemSpan<void const>::rebind
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    - TextView::remove_prefix
    - TextView::prefix
    - MemSpan<void const>::data
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<void const> const &span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        FixedBufferWriter::operator>>(std::view'
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: '&

      FixedBufferWriter::operator>>(std::ostream &s) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - '&

      FixedBufferWriter::operator>>(std::view'
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      FixedBufferWriter::operator>>(std::ostream &s) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:829,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:830,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: errno_short_name
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:840,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: strerror
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:845,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Errno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - bwf::Spec::has_numeric_type
    - TextView::find
    - BufferWriter::print
    - errno_short_name
    - TextView::empty
    - BufferWriter::write
    - TextView
    - strerror
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Errno const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: bwf::Date::Date(std::string_view fmt)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: void
    signature: void bwf::Date::Date(std::string_view fmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:856,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:857,1
    - Dst: BufferWriter::remaining
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:860,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: localtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:868,1
    - Dst: gmtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:870,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:877,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - w
    - spec
    - date
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Date
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 888
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 7
    functionsReached:
    - bwf::Spec::has_numeric_type
    - bwf::Date::_fmt::data
    - BufferWriter::aux_data
    - bwf::Date::_fmt::size
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::remaining
    - BufferWriter::commit
    - localtime_r
    - gmtime_r
    - BufferWriter::write
    - strftime
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Date const &date)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Pattern::_text::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:892,1
    - Dst: std::min<size_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:896,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - pattern
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 901
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 7
    functionsReached:
    - bwf::Pattern::_text::empty
    - std::min<size_t>
    - BufferWriter::write
    - bwf::Pattern::_text::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Pattern const &pattern)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::generic_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:905,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:906,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:910,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - ec
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 8
    functionsReached:
    - bwf::Spec::has_numeric_type
    - std::generic_category
    - std::system_category
    - swoc::SWOC_VERSION_NS::bwformat
    - std::error_code::category
    - contains
    - std::error_code::value
    - BufferWriter::write
    - std::error_code::message
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::error_code const &ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:929,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: auto::clip_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - obj
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::UnHex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 8
    functionsReached:
    - auto::clip_prefix
    - auto::size
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::svto_radix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::UnHex const &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 5
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 12
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 4
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 14
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 4
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:652,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::bwf::HexDump
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:661,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:662,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - sv
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - std::string_view::substr
    - swoc::bwf::HexDump
    - swoc::SWOC_VERSION_NS::bwformat
    - std::string_view::size
    - BufferWriter::write
    - std::string_view::data
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::string_view sv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:679,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - ptr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 691
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 10
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bwf::HexDump::_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:704,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:706,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:707,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:710,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - hex
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::HexDump
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 10
    functionsReached:
    - bwf::HexDump::_view::size
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::HexDump const &hex)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:719,1
    - Dst: MemSpan<void const>::rebind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:720,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:724,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:728,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:731,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<void const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 738
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 10
    functionsReached:
    - MemSpan<void const>::size
    - MemSpan<void const>::rebind
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    - TextView::remove_prefix
    - TextView::prefix
    - MemSpan<void const>::data
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<void const> const &span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        FixedBufferWriter::operator>>(std::view'
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: '&

      FixedBufferWriter::operator>>(std::ostream &s) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - '&

      FixedBufferWriter::operator>>(std::view'
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      FixedBufferWriter::operator>>(std::ostream &s) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:829,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:830,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: errno_short_name
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:840,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: strerror
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:845,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Errno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 10
    functionsReached:
    - bwf::Spec::has_numeric_type
    - TextView::find
    - BufferWriter::print
    - errno_short_name
    - TextView::empty
    - BufferWriter::write
    - TextView
    - strerror
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Errno const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: bwf::Date::Date(std::string_view fmt)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: void
    signature: void bwf::Date::Date(std::string_view fmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:856,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:857,1
    - Dst: BufferWriter::remaining
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:860,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: localtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:868,1
    - Dst: gmtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:870,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:877,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - w
    - spec
    - date
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Date
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 888
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 11
    functionsReached:
    - bwf::Spec::has_numeric_type
    - bwf::Date::_fmt::data
    - BufferWriter::aux_data
    - bwf::Date::_fmt::size
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::remaining
    - BufferWriter::commit
    - localtime_r
    - gmtime_r
    - BufferWriter::write
    - strftime
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Date const &date)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Pattern::_text::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:892,1
    - Dst: std::min<size_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:896,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - pattern
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 901
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 11
    functionsReached:
    - bwf::Pattern::_text::empty
    - std::min<size_t>
    - BufferWriter::write
    - bwf::Pattern::_text::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Pattern const &pattern)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::generic_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:905,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:906,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:910,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - ec
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 12
    functionsReached:
    - bwf::Spec::has_numeric_type
    - std::generic_category
    - std::system_category
    - swoc::SWOC_VERSION_NS::bwformat
    - std::error_code::category
    - contains
    - std::error_code::value
    - BufferWriter::write
    - std::error_code::message
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::error_code const &ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:929,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: auto::clip_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - obj
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::UnHex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 12
    functionsReached:
    - auto::clip_prefix
    - auto::size
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::svto_radix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::UnHex const &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 7
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 18
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 11
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwf::Global_Names
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ExternalNames
    signature: ExternalNames & Global_Names()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:61,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: Spec::Property::Property()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Spec::Property::Property()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Spec::parse
    linkageType: ''
    returnType: void
    signature: void Spec::Spec(const TextView &fmt)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:75,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:78,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:79,1
    - Dst: static_cast<decltype(_idx)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:80,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:83,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:84,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:86,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:90,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:93,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:94,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: isxdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:97,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:98,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:100,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: tolower
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:101,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:103,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:106,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:109,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:113,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:115,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:122,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:135,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:136,1
    - Dst: static_cast<decltype(_min)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:137,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:139,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:146,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:147,1
    - Dst: static_cast<decltype(_prec)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:148,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:150,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:158,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:160,1
    - Dst: svto_radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:167,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:168,1
    - Dst: static_cast<decltype(_max)>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:169,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:171,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:178,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:180,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 188
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 8
    functionsReached:
    - isxdigit
    - TextView::take_prefix_at
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    - isdigit
    - tolower
    - static_cast<decltype(_prec)>
    - svto_radix<10>
    - swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    - static_cast<decltype(_min)>
    - TextView::size
    - swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    - static_cast<decltype(_max)>
    - TextView::empty
    - size
    - static_cast<decltype(_idx)>
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Spec::parse(TextView fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::find_if
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:199,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:203,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:208,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:213,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:216,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:218,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:219,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:222,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:225,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:229,1
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:231,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - fmt
    - literal
    - specifier
    argTypes:
    - TextView
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 237
    functionName: Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - TextView::data
    - TextView::take_prefix
    - TextView::find
    - TextView::remove_prefix
    - TextView::size
    - std::string_view::size
    - TextView::find_if
    - std::invalid_argument
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::parse(TextView &fmt, std::string_view
      &literal, std::string_view &specifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:241,1
    - Dst: parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:243,1
    - Dst: Spec::parse
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::parse
    - empty
    - parse
    linkageType: ''
    returnType: bool
    signature: bool Format::TextViewExtractor::operator()(std::string_view &literal_v,
      Spec &spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:253,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - literal_v
    - spec
    argTypes:
    - std::string_view
    - swoc::bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Format::FormatExtractor::operator()(std::string_view &literal_v,
      swoc::bwf::Spec &spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - i
    - n
    argTypes:
    - BufferWriter
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: void
    signature: void Err_Bad_Arg_Index(BufferWriter &w, int i, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::extent
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:277,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:291,1
    - Dst: BufferWriter::copy
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:292,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:293,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:295,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:297,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:300,1
    - Dst: BufferWriter::discard
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - aux
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - BufferWriter::discard
    - BufferWriter::extent
    - BufferWriter::commit
    - BufferWriter::write
    - BufferWriter::copy
    linkageType: ''
    returnType: void
    signature: void Adjust_Alignment(BufferWriter &aux, Spec const &spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - n
    - buff
    - width
    - digits
    argTypes:
    - uintmax_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: swoc::SWOC_VERSION_NS::bwf::To_Radix
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t To_Radix(uintmax_t n, char *buff, size_t width, char *digits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:357,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:359,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:361,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:366,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:369,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:371,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:375,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:378,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:380,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:382,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:387,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:390,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:392,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:396,1
    - Dst: f
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - w
    - f
    - align
    - width
    - fill
    - neg
    argTypes:
    - BufferWriter
    - F
    - Spec::Align
    - int
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 20
    functionsReached:
    - BufferWriter::write
    - f
    linkageType: ''
    returnType: void
    signature: void Write_Aligned(BufferWriter &w, F const &f, Spec::Align align,
      int width, char fill, char neg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:406,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:423,1
    - Dst: bwf::To_Radix<16>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:427,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:431,1
    - Dst: bwf::To_Radix<2>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:435,1
    - Dst: bwf::To_Radix<8>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:438,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:442,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:455,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:461,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:464,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:466,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:470,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:472,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:474,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:478,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:480,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - w
    - spec
    - i
    - neg_p
    argTypes:
    - BufferWriter
    - Spec
    - uintmax_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 488
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Integer
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 12
    functionsReached:
    - static_cast<int>
    - bwf::To_Radix<8>
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - bwf::To_Radix<10>
    - bwf::To_Radix<2>
    - BufferWriter::write
    - bwf::To_Radix<16>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Integer(BufferWriter &w, Spec const &spec, uintmax_t i, bool neg_p)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::isnormal
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:508,1
    - Dst: std::fpclassify
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:510,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:527,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:531,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:533,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:543,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:557,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:560,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:561,1
    - Dst: static_cast<uint64_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:566,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:568,1
    - Dst: bwf::To_Radix<10>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:569,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:575,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:577,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:582,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:585,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:586,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - w
    - spec
    - f
    - negative_p
    argTypes:
    - BufferWriter
    - Spec
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 592
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_Float
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::fpclassify
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - std::isnormal
    - back
    - static_cast<uint64_t>
    - BufferWriter::write
    - size
    - bwf::To_Radix<10>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Format_Float(BufferWriter &w, Spec const &spec, double f, bool negative_p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:596,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:597,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:599,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - view
    - digits
    argTypes:
    - BufferWriter
    - std::string_view
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 6
    functionsReached:
    - BufferWriter::write
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Format_As_Hex(BufferWriter &w, std::string_view view, const char
      *digits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:608,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:615,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:617,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:619,1
    - Dst: Spec::_name::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:623,1
    - Dst: emplace_back
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::Format
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - Spec::_name::size
    - emplace_back
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - ex
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void Format::Format(TextView fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::is_literal
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Format::is_literal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: NameBinding::~NameBinding()
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameBinding::~NameBinding()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:652,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::bwf::HexDump
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:655,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:657,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: swoc::SWOC_VERSION_NS::transform_view_of
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:659,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:661,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:662,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - sv
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 13
    functionsReached:
    - swoc::SWOC_VERSION_NS::transform_view_of
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - std::string_view::substr
    - swoc::bwf::HexDump
    - swoc::SWOC_VERSION_NS::bwformat
    - std::string_view::size
    - BufferWriter::write
    - std::string_view::data
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::string_view sv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:679,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - w
    - spec
    - ptr
    argTypes:
    - BufferWriter
    - bwf::Spec
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 691
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 14
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bwf::HexDump::_view::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:704,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:706,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:707,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Write_Aligned
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:710,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - hex
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::HexDump
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 14
    functionsReached:
    - bwf::HexDump::_view::size
    - swoc::SWOC_VERSION_NS::bwf::Write_Aligned
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::HexDump const &hex)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:719,1
    - Dst: MemSpan<void const>::rebind
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:720,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:724,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:728,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:730,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:731,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    - Dst: MemSpan<void const>::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<void const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 738
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 14
    functionsReached:
    - MemSpan<void const>::size
    - MemSpan<void const>::rebind
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwf::Format_As_Hex
    - TextView::remove_prefix
    - TextView::prefix
    - MemSpan<void const>::data
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<void const> const &span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        FixedBufferWriter::operator>>(std::view'
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: '&

      FixedBufferWriter::operator>>(std::ostream &s) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - '&

      FixedBufferWriter::operator>>(std::view'
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      FixedBufferWriter::operator>>(std::ostream &s) const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:829,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:830,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:834,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: errno_short_name
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:835,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:838,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:840,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: strerror
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:842,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:845,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Errno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 14
    functionsReached:
    - bwf::Spec::has_numeric_type
    - TextView::find
    - BufferWriter::print
    - errno_short_name
    - TextView::empty
    - BufferWriter::write
    - TextView
    - strerror
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Errno const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    - Dst: failover_now
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: bwf::Date::Date(std::string_view fmt)
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - failover_now
    linkageType: ''
    returnType: void
    signature: void bwf::Date::Date(std::string_view fmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:856,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:857,1
    - Dst: BufferWriter::remaining
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:860,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: bwf::Date::_fmt::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:863,1
    - Dst: localtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:868,1
    - Dst: gmtime_r
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:870,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:874,1
    - Dst: BufferWriter::commit
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:877,1
    - Dst: strftime
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: bwf::Date::_fmt::data
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:883,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - w
    - spec
    - date
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Date
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 888
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 15
    functionsReached:
    - bwf::Spec::has_numeric_type
    - bwf::Date::_fmt::data
    - BufferWriter::aux_data
    - bwf::Date::_fmt::size
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::remaining
    - BufferWriter::commit
    - localtime_r
    - gmtime_r
    - BufferWriter::write
    - strftime
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Date const &date)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Pattern::_text::empty
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:892,1
    - Dst: std::min<size_t>
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:893,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:896,1
    - Dst: bwf::Pattern::_text::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - pattern
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::Pattern
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 901
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 15
    functionsReached:
    - bwf::Pattern::_text::empty
    - std::min<size_t>
    - BufferWriter::write
    - bwf::Pattern::_text::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::Pattern const &pattern)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::generic_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:905,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:906,1
    - Dst: bwf::Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:910,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:911,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::category
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:913,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:914,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: std::error_code::message
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:916,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - w
    - spec
    - ec
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 16
    functionsReached:
    - bwf::Spec::has_numeric_type
    - std::generic_category
    - std::system_category
    - swoc::SWOC_VERSION_NS::bwformat
    - std::error_code::category
    - contains
    - std::error_code::value
    - BufferWriter::write
    - std::error_code::message
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::error_code const &ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:929,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: auto::clip_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:930,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - obj
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bwf::UnHex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 16
    functionsReached:
    - auto::clip_prefix
    - auto::size
    - BufferWriter::write
    - swoc::SWOC_VERSION_NS::svto_radix
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bwf::UnHex const &obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - w
    argTypes:
    - ostream
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: '&

      operator<<(ostream &s, swoc::FixedBufferWriter &w)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::view
    linkageType: ''
    returnType: ostream
    signature: 'ostream &

      operator<<(ostream &s, swoc::FixedBufferWriter &w)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::FixedBufferWriter::view
      Src: /src/trafficserver/lib/swoc/src/bw_format.cc:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - w
    argTypes:
    - ostream
    - swoc::FixedBufferWriter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: '&

      operator<<(ostream &s, swoc::FixedBufferWriter &w)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_format.cc
    functionUses: 0
    functionsReached:
    - swoc::FixedBufferWriter::view
    linkageType: ''
    returnType: ostream
    signature: 'ostream &

      operator<<(ostream &s, swoc::FixedBufferWriter &w)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:46,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:50,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:52,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:60,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:61,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: TextView::data_end
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: std::min<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:66,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:68,1
    - Dst: intmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:70,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: swoc::SWOC_VERSION_NS::svtoi
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 27
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::data
    - TextView*::assign
    - intmax_t
    - TextView::data_end
    - max
    - min
    - TextView::ltrim_if
    - std::min<uintmax_t>
    - TextView::empty
    - uintmax_t
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t svtoi(TextView src, TextView *out, int base)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TextView*::clear
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:85,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:88,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:89,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:122,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:128,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:131,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:136,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 151
    functionName: swoc::SWOC_VERSION_NS::svtou
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 9
    functionsReached:
    - static_cast<unsigned char>
    - TextView::data
    - TextView*::assign
    - TextView*::clear
    - max
    - TextView::ltrim_if
    - TextView::size
    - swoc::SWOC_VERSION_NS::svto_radix
    - uintmax_t
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t svtou(TextView src, TextView *out, int base)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:195,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:198,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:206,1
    - Dst: swoc::TextView::starts_with_nocase
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:224,1
    - Dst: pow10
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:225,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - text
    - parsed
    argTypes:
    - swoc::TextView
    - swoc::TextView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: swoc::SWOC_VERSION_NS::svtod
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::data
    - pow10
    - isdigit
    - swoc::TextView::empty
    - auto::data
    - swoc::SWOC_VERSION_NS::svto_radix
    - swoc::TextView*::assign
    - swoc::TextView::starts_with_nocase
    linkageType: ''
    returnType: double
    signature: double svtod(swoc::TextView text, swoc::TextView *parsed)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:46,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:50,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:52,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:60,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:61,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: TextView::data_end
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: std::min<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:66,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:68,1
    - Dst: intmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:70,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: swoc::SWOC_VERSION_NS::svtoi
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 27
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::data
    - TextView*::assign
    - intmax_t
    - TextView::data_end
    - max
    - min
    - TextView::ltrim_if
    - std::min<uintmax_t>
    - TextView::empty
    - uintmax_t
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t svtoi(TextView src, TextView *out, int base)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TextView*::clear
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:85,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:88,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:89,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:122,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:128,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:131,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:136,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 151
    functionName: swoc::SWOC_VERSION_NS::svtou
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 10
    functionsReached:
    - static_cast<unsigned char>
    - TextView::data
    - TextView*::assign
    - TextView*::clear
    - max
    - TextView::ltrim_if
    - TextView::size
    - swoc::SWOC_VERSION_NS::svto_radix
    - uintmax_t
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t svtou(TextView src, TextView *out, int base)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:195,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:198,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:206,1
    - Dst: swoc::TextView::starts_with_nocase
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:224,1
    - Dst: pow10
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:225,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - text
    - parsed
    argTypes:
    - swoc::TextView
    - swoc::TextView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: swoc::SWOC_VERSION_NS::svtod
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::data
    - pow10
    - isdigit
    - swoc::TextView::empty
    - auto::data
    - swoc::SWOC_VERSION_NS::svto_radix
    - swoc::TextView*::assign
    - swoc::TextView::starts_with_nocase
    linkageType: ''
    returnType: double
    signature: double svtod(swoc::TextView text, swoc::TextView *parsed)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:46,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:50,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:52,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:60,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:61,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: TextView::data_end
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: std::min<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:66,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:68,1
    - Dst: intmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:70,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: swoc::SWOC_VERSION_NS::svtoi
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 27
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::data
    - TextView*::assign
    - intmax_t
    - TextView::data_end
    - max
    - min
    - TextView::ltrim_if
    - std::min<uintmax_t>
    - TextView::empty
    - uintmax_t
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t svtoi(TextView src, TextView *out, int base)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TextView*::clear
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:85,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:88,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:89,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:122,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:128,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:131,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:136,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 151
    functionName: swoc::SWOC_VERSION_NS::svtou
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 11
    functionsReached:
    - static_cast<unsigned char>
    - TextView::data
    - TextView*::assign
    - TextView*::clear
    - max
    - TextView::ltrim_if
    - TextView::size
    - swoc::SWOC_VERSION_NS::svto_radix
    - uintmax_t
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t svtou(TextView src, TextView *out, int base)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:195,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:198,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:206,1
    - Dst: swoc::TextView::starts_with_nocase
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:224,1
    - Dst: pow10
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:225,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - text
    - parsed
    argTypes:
    - swoc::TextView
    - swoc::TextView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: swoc::SWOC_VERSION_NS::svtod
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::data
    - pow10
    - isdigit
    - swoc::TextView::empty
    - auto::data
    - swoc::SWOC_VERSION_NS::svto_radix
    - swoc::TextView*::assign
    - swoc::TextView::starts_with_nocase
    linkageType: ''
    returnType: double
    signature: double svtod(swoc::TextView text, swoc::TextView *parsed)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:46,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:47,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:50,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:52,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:60,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:61,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: TextView::data_end
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:63,1
    - Dst: std::min<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:66,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:68,1
    - Dst: intmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:70,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: swoc::SWOC_VERSION_NS::svtoi
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 27
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::data
    - TextView*::assign
    - intmax_t
    - TextView::data_end
    - max
    - min
    - TextView::ltrim_if
    - std::min<uintmax_t>
    - TextView::empty
    - uintmax_t
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t svtoi(TextView src, TextView *out, int base)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TextView*::clear
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:85,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:88,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:89,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:122,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:125,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:128,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:131,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: static_cast<unsigned char>
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:134,1
    - Dst: uintmax_t
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:136,1
    - Dst: TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:147,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - src
    - out
    - base
    argTypes:
    - TextView
    - TextView*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 151
    functionName: swoc::SWOC_VERSION_NS::svtou
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 12
    functionsReached:
    - static_cast<unsigned char>
    - TextView::data
    - TextView*::assign
    - TextView*::clear
    - max
    - TextView::ltrim_if
    - TextView::size
    - swoc::SWOC_VERSION_NS::svto_radix
    - uintmax_t
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t svtou(TextView src, TextView *out, int base)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:175,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:195,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:196,1
    - Dst: swoc::TextView::empty
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:198,1
    - Dst: isdigit
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:206,1
    - Dst: swoc::TextView::starts_with_nocase
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::svto_radix
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:224,1
    - Dst: pow10
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:225,1
    - Dst: swoc::TextView*::assign
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    - Dst: swoc::TextView::data
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - text
    - parsed
    argTypes:
    - swoc::TextView
    - swoc::TextView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: swoc::SWOC_VERSION_NS::svtod
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 2
    functionsReached:
    - swoc::TextView::data
    - pow10
    - isdigit
    - swoc::TextView::empty
    - auto::data
    - swoc::SWOC_VERSION_NS::svto_radix
    - swoc::TextView*::assign
    - swoc::TextView::starts_with_nocase
    linkageType: ''
    returnType: double
    signature: double svtod(swoc::TextView text, swoc::TextView *parsed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostream::good
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:240,1
    - Dst: swoc::TextView::stream_write
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:241,1
    - Dst: ostream::width
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - os
    - b
    argTypes:
    - ostream
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: '&

      operator<<(ostream &os, const swoc::TextView &b)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 0
    functionsReached:
    - ostream::width
    - ostream::good
    - swoc::TextView::stream_write
    linkageType: ''
    returnType: ostream
    signature: 'ostream &

      operator<<(ostream &os, const swoc::TextView &b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostream::good
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:240,1
    - Dst: swoc::TextView::stream_write
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:241,1
    - Dst: ostream::width
      Src: /src/trafficserver/lib/swoc/src/TextView.cc:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - os
    - b
    argTypes:
    - ostream
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: '&

      operator<<(ostream &os, const swoc::TextView &b)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/TextView.cc
    functionUses: 0
    functionsReached:
    - ostream::width
    - ostream::good
    - swoc::TextView::stream_write
    linkageType: ''
    returnType: ostream
    signature: 'ostream &

      operator<<(ostream &os, const swoc::TextView &b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:14,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: '&

      ArenaWriter::write(char c)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:23,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '&

      ArenaWriter::write(void const *data, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(void const *data, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:32,1
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::commit
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
    - swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    linkageType: ''
    returnType: bool
    signature: bool ArenaWriter::commit(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::view
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:40,1
    - Dst: require
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:41,1
    - Dst: const_cast<char *&>
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:43,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - require
    - auto::size
    - const_cast<char *&>
    - swoc::SWOC_VERSION_NS::ArenaWriter::view
    - auto::data
    linkageType: ''
    returnType: void
    signature: void ArenaWriter::realloc(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:14,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: '&

      ArenaWriter::write(char c)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:23,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '&

      ArenaWriter::write(void const *data, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(void const *data, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:32,1
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::commit
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
    - swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    linkageType: ''
    returnType: bool
    signature: bool ArenaWriter::commit(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::view
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:40,1
    - Dst: require
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:41,1
    - Dst: const_cast<char *&>
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:43,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - require
    - auto::size
    - const_cast<char *&>
    - swoc::SWOC_VERSION_NS::ArenaWriter::view
    - auto::data
    linkageType: ''
    returnType: void
    signature: void ArenaWriter::realloc(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:14,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: '&

      ArenaWriter::write(char c)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:23,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '&

      ArenaWriter::write(void const *data, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(void const *data, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:32,1
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::commit
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
    - swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    linkageType: ''
    returnType: bool
    signature: bool ArenaWriter::commit(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::view
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:40,1
    - Dst: require
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:41,1
    - Dst: const_cast<char *&>
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:43,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 3
    functionsReached:
    - memcpy
    - require
    - auto::size
    - const_cast<char *&>
    - swoc::SWOC_VERSION_NS::ArenaWriter::view
    - auto::data
    linkageType: ''
    returnType: void
    signature: void ArenaWriter::realloc(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:14,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: '&

      ArenaWriter::write(char c)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(char c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        ArenaWriter::realloc'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:23,1
    - Dst: '&

        ArenaWriter::super_type::write'
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '&

      ArenaWriter::write(void const *data, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - '&

      ArenaWriter::super_type::write'
    - '&

      ArenaWriter::realloc'
    linkageType: ''
    returnType: ArenaWriter
    signature: 'ArenaWriter &

      ArenaWriter::write(void const *data, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:32,1
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::commit
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::ArenaWriter::super_type::commit
    - swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    linkageType: ''
    returnType: bool
    signature: bool ArenaWriter::commit(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::ArenaWriter::view
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:40,1
    - Dst: require
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:41,1
    - Dst: const_cast<char *&>
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:42,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:43,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/ArenaWriter.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: swoc::SWOC_VERSION_NS::ArenaWriter::realloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/ArenaWriter.cc
    functionUses: 4
    functionsReached:
    - memcpy
    - require
    - auto::size
    - const_cast<char *&>
    - swoc::SWOC_VERSION_NS::ArenaWriter::view
    - auto::data
    linkageType: ''
    returnType: void
    signature: void ArenaWriter::realloc(size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:13,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:16,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:16,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:18,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:19,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:19,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:21,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:21,1
    - Dst: swoc::SWOC_VERSION_NS::memcmp
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:25,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:25,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 27
    functionName: memcmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/string_view_util.cc
    functionUses: 77
    functionsReached:
    - std::string_view::size
    - swoc::SWOC_VERSION_NS::memcmp
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int memcmp(std::string_view const &lhs, std::string_view const &rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:32,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:35,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:35,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:37,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:38,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:38,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:40,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:40,1
    - Dst: ::strncasecmp
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:44,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:44,1
    - Dst: std::string_view::data
      Src: /src/trafficserver/lib/swoc/src/string_view_util.cc:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: strcasecmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/string_view_util.cc
    functionUses: 95
    functionsReached:
    - ::strncasecmp
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int strcasecmp(const std::string_view &lhs, const std::string_view
      &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::meta::TypeFunc<void>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Set_Sockaddr_Len_Case
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::meta::TypeFunc<void>
    linkageType: ''
    returnType: auto
    signature: auto Set_Sockaddr_Len_Case(T *, swoc::meta::CaseTag<0>) -> decltype(swoc::meta::TypeFunc<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::meta::TypeFunc<void>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Set_Sockaddr_Len_Case
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::meta::TypeFunc<void>
    linkageType: ''
    returnType: auto
    signature: auto Set_Sockaddr_Len_Case(T *, swoc::meta::CaseTag<0>) -> decltype(swoc::meta::TypeFunc<void>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set_Sockaddr_Len_Case
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Set_Sockaddr_Len
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - Set_Sockaddr_Len_Case
    linkageType: ''
    returnType: void
    signature: void Set_Sockaddr_Len(T *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::parse
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
    - swoc::SWOC_VERSION_NS::IPEndpoint::parse
    linkageType: ''
    returnType: void
    signature: void IPEndpoint::IPEndpoint(string_view const &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:53,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - ats_ip_invalidate
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::assign(sockaddr *dst, sockaddr const *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:71,1
    - Dst: IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:73,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '&

      IPEndpoint::assign(IP4Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:80,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:82,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '&

      IPEndpoint::assign(IP6Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Addr const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:89,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:91,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:93,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:94,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:97,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:99,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: '&

      IPEndpoint::assign(IPAddr const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - IPAddr::ip4
    - IPAddr::ip6
    - Set_Sockaddr_Len
    - IPAddr::family
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:108,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:110,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: '&

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - IP6Srv
    - '&

      IPEndpoint::assign'
    - IP4Srv
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:118,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:120,1
    - Dst: IP4Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:121,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: '&

      IPEndpoint::assign(IP4Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Srv::addr
    - IP4Srv::network_order_port
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Srv const &src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:128,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:130,1
    - Dst: IP6Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:131,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '&

      IPEndpoint::assign(IP6Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Srv::network_order_port
    - IP6Srv::addr
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Srv const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:138,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:140,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    - Dst: IPSrv::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '&

      IPEndpoint::assign(IPSrv const &srv)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::ip4
    - IPSrv::ip6
    - IPSrv::is_ip6
    - '&

      IPEndpoint::assign'
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPSrv const &srv)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:169,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:173,1
    - Dst: TextView::rfind
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:179,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:180,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:182,1
    - Dst: TextView::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:186,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:191,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: std::string_view*::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - str
    - addr
    - port
    - rest
    argTypes:
    - std::string_view
    - std::string_view*
    - std::string_view*
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 11
    functionsReached:
    - TextView::assign
    - TextView::take_prefix_at
    - TextView::data
    - TextView::rfind
    - TextView::take_prefix
    - TextView::find
    - TextView::clear
    - TextView::ltrim_if
    - TextView::size
    - std::string_view*::empty
    - std::string_view
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::tokenize(std::string_view str, std::string_view *addr,
      std::string_view *port, std::string_view *rest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPSrv::load
    - swoc::SWOC_VERSION_NS::IPEndpoint::assign
    - TextView
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::parse(std::string_view const &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t IPEndpoint::size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view IPEndpoint::family_name(sa_family_t family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:246,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: '&

      IPEndpoint::set_to_any(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_any(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:258,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_any
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_any() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: htonl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:274,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:275,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: '&

      IPEndpoint::set_to_loopback(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    - htonl
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_loopback(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:287,1
    - Dst: ntohl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:289,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_loopback
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_LOOPBACK
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_loopback() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:306,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:311,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:314,1
    - Dst: svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:315,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:319,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:325,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - svtou
    - auto::size
    - TextView::back
    - max
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IP4Addr::load(std::string_view const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP4Addr::IP4Addr(sockaddr_in const *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reorder
    linkageType: ''
    returnType: auto
    signature: auto IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:353,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - Set_Sockaddr_Len
    - swoc::SWOC_VERSION_NS::IP4Addr::network_order
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      IP4Addr::copy_to(sockaddr_in *sin) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:363,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin6
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    - Set_Sockaddr_Len
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      IP6Addr::copy_to(sockaddr_in6 *sin6) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IP6Addr::cmp(const self_type &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: '&

      IP6Addr::operator<<=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator<<=(unsigned int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: '&

      IP6Addr::operator>>=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator>>=(unsigned int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: '&

      IP6Addr::operator&=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator&=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: '&

      IP6Addr::operator|=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator|=(self_type const &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _quad::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:422,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:424,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:430,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:433,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:441,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:442,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:444,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:460,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:461,1
    - Dst: svtoi
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:468,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:479,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:491,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 497
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TextView::take_prefix_at
    - TextView::remove_suffix
    - TextView::back
    - swoc::SWOC_VERSION_NS::IP6Addr::clear
    - TextView::remove_prefix
    - svtoi
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - _quad::data
    linkageType: ''
    returnType: bool
    signature: bool IP6Addr::load(std::string_view const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - in6_addr
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(in6_addr &dst, raw_type const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - raw_type
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(raw_type &dst, in6_addr const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 32
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::assign
    linkageType: ''
    returnType: void
    signature: void IPAddr::IPAddr(IPEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: '&

      IPAddr::operator=(IPEndpoint const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - '&

      IPAddr::assign'
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::operator=(IPEndpoint const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:524,1
    - Dst: _ip4::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:525,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:526,1
    - Dst: _ip6::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: swoc::SWOC_VERSION_NS::IPAddr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip6
    - _ip6::copy_to
    - _ip4::copy_to
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip4
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      IPAddr::copy_to(sockaddr *sa) const'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:535,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:537,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:539,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:548,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:553,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: swoc::SWOC_VERSION_NS::IPAddr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::load
    - swoc::SWOC_VERSION_NS::IPAddr::is_valid
    - TextView::ltrim_if
    - _ip6::load
    - TextView::prefix
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::load(const std::string_view &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: '&

      IPAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - '&

      IPAddr::assign'
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::assign(sockaddr const *addr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: IPAddr::operator<(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - self_type::is_valid
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::operator<(self_type const &that) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:606,1
    - Dst: _ip6::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:617,1
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: swoc::SWOC_VERSION_NS::IPAddr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::cmp
    - _ip4::cmp
    - self_type::is_valid
    linkageType: ''
    returnType: int
    signature: int IPAddr::cmp(self_type const &that) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: '&

      IPAddr::operator&=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator&=(IPMask const &mask)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: '&

      IPAddr::operator|=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator|=(IPMask const &mask)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    - Dst: _ip6::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: swoc::SWOC_VERSION_NS::IPAddr::is_multicast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::is_multicast
    - _ip4::is_multicast
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::is_multicast() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:654,1
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:657,1
    - Dst: is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: sa4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: sa6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - sa
    argTypes:
    - IPAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: operator == (IPAddr const& lhs, sockaddr const * sa)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - family
    - sa6
    - is_ip6
    - sa4
    - ip6
    - is_ip4
    - ip4
    linkageType: ''
    returnType: bool
    signature: bool operator == (IPAddr const& lhs, sockaddr const * sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:665,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: swoc::SWOC_VERSION_NS::IPMask::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::size
    - string_view::size
    linkageType: ''
    returnType: bool
    signature: bool IPMask::load(string_view const &text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:675,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:677,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IPAddr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - IP6Addr::quad_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPMask::mask_for_quad(IP6Addr::quad_type q) -> raw_type
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:699,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:704,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - self_type
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP4Addr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:716,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - self_type
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP6Addr const &addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::IPMask::as_ip6
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: IP6Addr IPMask::as_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::load
    linkageType: ''
    returnType: void
    signature: void IP4Srv::IP4Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:745,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:746,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:748,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:749,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:755,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - IP4Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - swoc::SWOC_VERSION_NS::IP4Srv::assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP4Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::load
    linkageType: ''
    returnType: void
    signature: void IP6Srv::IP6Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:771,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:772,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:774,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:775,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:781,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IP6Srv::assign
    - IP6Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP6Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPSrv::load
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:797,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:798,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:800,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:801,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: IPAddr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:807,1
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: swoc::SWOC_VERSION_NS::IPSrv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IPSrv::assign
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - IPAddr::load
    - size
    linkageType: ''
    returnType: bool
    signature: bool IPSrv::load(swoc::TextView text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:816,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:817,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:819,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - _ip4::assign
    - IPAddr::is_ip4
    - _ip6::assign
    - IPAddr::family
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPAddr addr, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPEndpoint::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:827,1
    - Dst: _ip4::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:828,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:829,1
    - Dst: IPEndpoint::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:830,1
    - Dst: _ip6::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:831,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ep
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPEndpoint::is_ip4
    - _ip4::assign
    - _ip6::family
    - _ip4::family
    - _ip6::assign
    - IPEndpoint::is_ip6
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPEndpoint const &ep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::IPSrv::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - _ip6::assign
    - _ip4::assign
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: auto
    signature: auto IPSrv::assign(const sockaddr *sa) -> self_type &
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:854,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:855,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:857,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:858,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:859,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:863,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: swoc::SWOC_VERSION_NS::IP4Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IP4Net::assign
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP4Net::clear
    - IP4Addr::load
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP4Net::load(TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:877,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:878,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:880,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:881,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:882,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:886,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 894
    functionName: swoc::SWOC_VERSION_NS::IP6Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IP6Net::assign
    - IP6Addr::load
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP6Net::clear
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP6Net::load(TextView text)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:900,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:902,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:904,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:905,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:906,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:910,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:913,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:915,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:916,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:917,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:921,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 928
    functionName: swoc::SWOC_VERSION_NS::IPNet::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IPNet::clear
    - IP6Addr::load
    - IP4Addr::load
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IPNet::assign
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IPNet::load(TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    linkageType: ''
    returnType: void
    signature: void IP4Range::IP4Range(swoc::IP4Addr const &addr, swoc::IPMask const
      &mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:939,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:944,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: '&

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::IPMask::width
    linkageType: ''
    returnType: IP4Range
    signature: 'IP4Range &

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:956,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:958,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:963,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:964,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:965,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:973,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 980
    functionName: swoc::SWOC_VERSION_NS::IP4Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::clear
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    - metric_type::load
    - string_view::substr
    - string_view::find_first_of
    - string_view::size
    - swoc::SWOC_VERSION_NS::IP4Range::load
    - string_view::remove_prefix
    - IPMask::load
    linkageType: ''
    returnType: bool
    signature: bool IP4Range::load(string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: swoc::SWOC_VERSION_NS::IP4Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP4Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:992,1
    - Dst: IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP4Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - empty
    - IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1000,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1001,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1003,1
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1005,1
    - Dst: IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1006,1
    - Dst: IP4Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: IP4Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP4Range::NetSource::is_valid
    - max
    - IP4Range::NetSource::search_wider
    - IP4Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: IP4Range::NetSource::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++(int) -> self_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: IP4Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: IP4Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_narrower()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1048,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - IP6Addr
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1072
    functionName: '&

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - max
    - IPMask::width
    linkageType: ''
    returnType: IP6Range
    signature: 'IP6Range &

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1077,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1079,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1084,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1085,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1086,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1094,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1100
    functionName: swoc::SWOC_VERSION_NS::IP6Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Range::assign
    - std::string_view::substr
    - swoc::SWOC_VERSION_NS::IP6Range::clear
    - metric_type::load
    - std::string_view::size
    - std::string_view::remove_prefix
    - IPMask::load
    - swoc::SWOC_VERSION_NS::IP6Range::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IP6Range::load(std::string_view text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - IPAddr
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: swoc::SWOC_VERSION_NS::IPRange::IPRange
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPRange::assign
    - IPAddr::is_ip4
    linkageType: ''
    returnType: void
    signature: void IPRange::IPRange(IPAddr const &min, IPAddr const &max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1112,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1113,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: swoc::SWOC_VERSION_NS::IPRange::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::load
    - _ip4::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IPRange::load(std::string_view const &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1129,1
    - Dst: _ip6::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: swoc::SWOC_VERSION_NS::IPRange::min
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::min
    - _ip4::min
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::min() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1142,1
    - Dst: _ip6::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: swoc::SWOC_VERSION_NS::IPRange::max
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::max
    - _ip6::max
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::max() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1155,1
    - Dst: _ip6::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: swoc::SWOC_VERSION_NS::IPRange::empty
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::empty
    - _ip4::empty
    linkageType: ''
    returnType: bool
    signature: bool IPRange::empty() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1168,1
    - Dst: _ip6::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: swoc::SWOC_VERSION_NS::IPRange::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::network_mask
    - _ip6::network_mask
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPRange::network_mask() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1182,1
    - Dst: IPRange::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1189
    functionName: IPRange::operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::is_ip4
    - IPRange::is_ip6
    linkageType: ''
    returnType: bool
    signature: bool IPRange::operator==(self_type const &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: swoc::SWOC_VERSION_NS::IP6Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP6Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1201,1
    - Dst: IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP6Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
    - empty
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1208,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1209,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1210,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1212,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1214,1
    - Dst: IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1215,1
    - Dst: IP6Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1221
    functionName: IP6Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP6Range::NetSource::search_wider
    - IP6Range::NetSource::is_valid
    - min
    - max
    - IP6Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP6Range::NetSource::operator++() -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1225,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: IP6Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - width
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: IP6Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_narrower()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1245,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1247,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: IPRangeView::operator==(IPRange const &r) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::family
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRange const &r) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPRangeView::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    functionName: IPRangeView::operator==(IPRangeView::self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRangeView::self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::parse
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
    - swoc::SWOC_VERSION_NS::IPEndpoint::parse
    linkageType: ''
    returnType: void
    signature: void IPEndpoint::IPEndpoint(string_view const &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:53,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - ats_ip_invalidate
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::assign(sockaddr *dst, sockaddr const *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:71,1
    - Dst: IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:73,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '&

      IPEndpoint::assign(IP4Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:80,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:82,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '&

      IPEndpoint::assign(IP6Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Addr const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:89,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:91,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:93,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:94,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:97,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:99,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: '&

      IPEndpoint::assign(IPAddr const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - IPAddr::ip4
    - IPAddr::ip6
    - Set_Sockaddr_Len
    - IPAddr::family
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:108,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:110,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: '&

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - IP6Srv
    - '&

      IPEndpoint::assign'
    - IP4Srv
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:118,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:120,1
    - Dst: IP4Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:121,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: '&

      IPEndpoint::assign(IP4Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Srv::addr
    - IP4Srv::network_order_port
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Srv const &src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:128,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:130,1
    - Dst: IP6Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:131,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '&

      IPEndpoint::assign(IP6Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Srv::network_order_port
    - IP6Srv::addr
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Srv const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:138,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:140,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    - Dst: IPSrv::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '&

      IPEndpoint::assign(IPSrv const &srv)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::ip4
    - IPSrv::ip6
    - IPSrv::is_ip6
    - '&

      IPEndpoint::assign'
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPSrv const &srv)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:169,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:173,1
    - Dst: TextView::rfind
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:179,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:180,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:182,1
    - Dst: TextView::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:186,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:191,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: std::string_view*::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - str
    - addr
    - port
    - rest
    argTypes:
    - std::string_view
    - std::string_view*
    - std::string_view*
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 14
    functionsReached:
    - TextView::assign
    - TextView::take_prefix_at
    - TextView::data
    - TextView::rfind
    - TextView::take_prefix
    - TextView::find
    - TextView::clear
    - TextView::ltrim_if
    - TextView::size
    - std::string_view*::empty
    - std::string_view
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::tokenize(std::string_view str, std::string_view *addr,
      std::string_view *port, std::string_view *rest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - IPSrv::load
    - swoc::SWOC_VERSION_NS::IPEndpoint::assign
    - TextView
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::parse(std::string_view const &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t IPEndpoint::size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view IPEndpoint::family_name(sa_family_t family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:246,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: '&

      IPEndpoint::set_to_any(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_any(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:258,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_any
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_any() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: htonl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:274,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:275,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: '&

      IPEndpoint::set_to_loopback(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    - htonl
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_loopback(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:287,1
    - Dst: ntohl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:289,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_loopback
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_LOOPBACK
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_loopback() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:306,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:311,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:314,1
    - Dst: svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:315,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:319,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:325,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - svtou
    - auto::size
    - TextView::back
    - max
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IP4Addr::load(std::string_view const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP4Addr::IP4Addr(sockaddr_in const *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reorder
    linkageType: ''
    returnType: auto
    signature: auto IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:353,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - Set_Sockaddr_Len
    - swoc::SWOC_VERSION_NS::IP4Addr::network_order
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      IP4Addr::copy_to(sockaddr_in *sin) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:363,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin6
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    - Set_Sockaddr_Len
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      IP6Addr::copy_to(sockaddr_in6 *sin6) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IP6Addr::cmp(const self_type &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: '&

      IP6Addr::operator<<=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator<<=(unsigned int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: '&

      IP6Addr::operator>>=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator>>=(unsigned int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: '&

      IP6Addr::operator&=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator&=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: '&

      IP6Addr::operator|=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator|=(self_type const &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _quad::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:422,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:424,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:430,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:433,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:441,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:442,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:444,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:460,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:461,1
    - Dst: svtoi
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:468,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:479,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:491,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 497
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TextView::take_prefix_at
    - TextView::remove_suffix
    - TextView::back
    - swoc::SWOC_VERSION_NS::IP6Addr::clear
    - TextView::remove_prefix
    - svtoi
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - _quad::data
    linkageType: ''
    returnType: bool
    signature: bool IP6Addr::load(std::string_view const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - in6_addr
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 5
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(in6_addr &dst, raw_type const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - raw_type
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(raw_type &dst, in6_addr const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 32
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::assign
    linkageType: ''
    returnType: void
    signature: void IPAddr::IPAddr(IPEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: '&

      IPAddr::operator=(IPEndpoint const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - '&

      IPAddr::assign'
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::operator=(IPEndpoint const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:524,1
    - Dst: _ip4::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:525,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:526,1
    - Dst: _ip6::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: swoc::SWOC_VERSION_NS::IPAddr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip6
    - _ip6::copy_to
    - _ip4::copy_to
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip4
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      IPAddr::copy_to(sockaddr *sa) const'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:535,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:537,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:539,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:548,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:553,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: swoc::SWOC_VERSION_NS::IPAddr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::load
    - swoc::SWOC_VERSION_NS::IPAddr::is_valid
    - TextView::ltrim_if
    - _ip6::load
    - TextView::prefix
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::load(const std::string_view &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: '&

      IPAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - '&

      IPAddr::assign'
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::assign(sockaddr const *addr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: IPAddr::operator<(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - self_type::is_valid
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::operator<(self_type const &that) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:606,1
    - Dst: _ip6::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:617,1
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: swoc::SWOC_VERSION_NS::IPAddr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::cmp
    - _ip4::cmp
    - self_type::is_valid
    linkageType: ''
    returnType: int
    signature: int IPAddr::cmp(self_type const &that) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: '&

      IPAddr::operator&=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator&=(IPMask const &mask)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: '&

      IPAddr::operator|=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator|=(IPMask const &mask)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    - Dst: _ip6::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: swoc::SWOC_VERSION_NS::IPAddr::is_multicast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::is_multicast
    - _ip4::is_multicast
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::is_multicast() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:654,1
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:657,1
    - Dst: is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: sa4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: sa6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - sa
    argTypes:
    - IPAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: operator == (IPAddr const& lhs, sockaddr const * sa)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - family
    - sa6
    - is_ip6
    - sa4
    - ip6
    - is_ip4
    - ip4
    linkageType: ''
    returnType: bool
    signature: bool operator == (IPAddr const& lhs, sockaddr const * sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:665,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: swoc::SWOC_VERSION_NS::IPMask::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::size
    - string_view::size
    linkageType: ''
    returnType: bool
    signature: bool IPMask::load(string_view const &text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:675,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:677,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 5
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IPAddr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - IP6Addr::quad_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPMask::mask_for_quad(IP6Addr::quad_type q) -> raw_type
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:699,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:704,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 5
    functionsReached:
    - self_type
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP4Addr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:716,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 5
    functionsReached:
    - self_type
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP6Addr const &addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::IPMask::as_ip6
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: IP6Addr IPMask::as_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::load
    linkageType: ''
    returnType: void
    signature: void IP4Srv::IP4Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:745,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:746,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:748,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:749,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:755,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - IP4Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - swoc::SWOC_VERSION_NS::IP4Srv::assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP4Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::load
    linkageType: ''
    returnType: void
    signature: void IP6Srv::IP6Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:771,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:772,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:774,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:775,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:781,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IP6Srv::assign
    - IP6Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP6Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPSrv::load
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:797,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:798,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:800,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:801,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: IPAddr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:807,1
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: swoc::SWOC_VERSION_NS::IPSrv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IPSrv::assign
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - IPAddr::load
    - size
    linkageType: ''
    returnType: bool
    signature: bool IPSrv::load(swoc::TextView text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:816,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:817,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:819,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - _ip4::assign
    - IPAddr::is_ip4
    - _ip6::assign
    - IPAddr::family
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPAddr addr, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPEndpoint::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:827,1
    - Dst: _ip4::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:828,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:829,1
    - Dst: IPEndpoint::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:830,1
    - Dst: _ip6::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:831,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ep
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPEndpoint::is_ip4
    - _ip4::assign
    - _ip6::family
    - _ip4::family
    - _ip6::assign
    - IPEndpoint::is_ip6
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPEndpoint const &ep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::IPSrv::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - _ip6::assign
    - _ip4::assign
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: auto
    signature: auto IPSrv::assign(const sockaddr *sa) -> self_type &
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:854,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:855,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:857,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:858,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:859,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:863,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: swoc::SWOC_VERSION_NS::IP4Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IP4Net::assign
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP4Net::clear
    - IP4Addr::load
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP4Net::load(TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:877,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:878,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:880,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:881,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:882,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:886,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 894
    functionName: swoc::SWOC_VERSION_NS::IP6Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IP6Net::assign
    - IP6Addr::load
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP6Net::clear
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP6Net::load(TextView text)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:900,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:902,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:904,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:905,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:906,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:910,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:913,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:915,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:916,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:917,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:921,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 928
    functionName: swoc::SWOC_VERSION_NS::IPNet::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IPNet::clear
    - IP6Addr::load
    - IP4Addr::load
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IPNet::assign
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IPNet::load(TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    linkageType: ''
    returnType: void
    signature: void IP4Range::IP4Range(swoc::IP4Addr const &addr, swoc::IPMask const
      &mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:939,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:944,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: '&

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::IPMask::width
    linkageType: ''
    returnType: IP4Range
    signature: 'IP4Range &

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:956,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:958,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:963,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:964,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:965,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:973,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 980
    functionName: swoc::SWOC_VERSION_NS::IP4Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::clear
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    - metric_type::load
    - string_view::substr
    - string_view::find_first_of
    - string_view::size
    - swoc::SWOC_VERSION_NS::IP4Range::load
    - string_view::remove_prefix
    - IPMask::load
    linkageType: ''
    returnType: bool
    signature: bool IP4Range::load(string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: swoc::SWOC_VERSION_NS::IP4Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP4Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:992,1
    - Dst: IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP4Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - empty
    - IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1000,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1001,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1003,1
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1005,1
    - Dst: IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1006,1
    - Dst: IP4Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: IP4Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP4Range::NetSource::is_valid
    - max
    - IP4Range::NetSource::search_wider
    - IP4Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: IP4Range::NetSource::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++(int) -> self_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: IP4Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: IP4Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_narrower()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1048,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - IP6Addr
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1072
    functionName: '&

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - max
    - IPMask::width
    linkageType: ''
    returnType: IP6Range
    signature: 'IP6Range &

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1077,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1079,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1084,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1085,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1086,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1094,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1100
    functionName: swoc::SWOC_VERSION_NS::IP6Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Range::assign
    - std::string_view::substr
    - swoc::SWOC_VERSION_NS::IP6Range::clear
    - metric_type::load
    - std::string_view::size
    - std::string_view::remove_prefix
    - IPMask::load
    - swoc::SWOC_VERSION_NS::IP6Range::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IP6Range::load(std::string_view text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - IPAddr
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: swoc::SWOC_VERSION_NS::IPRange::IPRange
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPRange::assign
    - IPAddr::is_ip4
    linkageType: ''
    returnType: void
    signature: void IPRange::IPRange(IPAddr const &min, IPAddr const &max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1112,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1113,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: swoc::SWOC_VERSION_NS::IPRange::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::load
    - _ip4::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IPRange::load(std::string_view const &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1129,1
    - Dst: _ip6::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: swoc::SWOC_VERSION_NS::IPRange::min
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::min
    - _ip4::min
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::min() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1142,1
    - Dst: _ip6::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: swoc::SWOC_VERSION_NS::IPRange::max
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::max
    - _ip6::max
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::max() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1155,1
    - Dst: _ip6::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: swoc::SWOC_VERSION_NS::IPRange::empty
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::empty
    - _ip4::empty
    linkageType: ''
    returnType: bool
    signature: bool IPRange::empty() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1168,1
    - Dst: _ip6::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: swoc::SWOC_VERSION_NS::IPRange::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::network_mask
    - _ip6::network_mask
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPRange::network_mask() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1182,1
    - Dst: IPRange::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1189
    functionName: IPRange::operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::is_ip4
    - IPRange::is_ip6
    linkageType: ''
    returnType: bool
    signature: bool IPRange::operator==(self_type const &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: swoc::SWOC_VERSION_NS::IP6Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP6Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1201,1
    - Dst: IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP6Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
    - empty
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1208,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1209,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1210,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1212,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1214,1
    - Dst: IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1215,1
    - Dst: IP6Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1221
    functionName: IP6Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP6Range::NetSource::search_wider
    - IP6Range::NetSource::is_valid
    - min
    - max
    - IP6Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP6Range::NetSource::operator++() -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1225,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: IP6Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - width
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: IP6Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_narrower()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1245,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1247,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: IPRangeView::operator==(IPRange const &r) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::family
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRange const &r) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPRangeView::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    functionName: IPRangeView::operator==(IPRangeView::self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRangeView::self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::parse
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
    - swoc::SWOC_VERSION_NS::IPEndpoint::parse
    linkageType: ''
    returnType: void
    signature: void IPEndpoint::IPEndpoint(string_view const &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:53,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 2
    functionsReached:
    - memcpy
    - ats_ip_invalidate
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::assign(sockaddr *dst, sockaddr const *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:71,1
    - Dst: IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:73,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '&

      IPEndpoint::assign(IP4Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:80,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:82,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '&

      IPEndpoint::assign(IP6Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Addr const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:89,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:91,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:93,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:94,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:97,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:99,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: '&

      IPEndpoint::assign(IPAddr const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - IPAddr::ip4
    - IPAddr::ip6
    - Set_Sockaddr_Len
    - IPAddr::family
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:108,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:110,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: '&

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - IP6Srv
    - '&

      IPEndpoint::assign'
    - IP4Srv
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:118,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:120,1
    - Dst: IP4Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:121,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: '&

      IPEndpoint::assign(IP4Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Srv::addr
    - IP4Srv::network_order_port
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Srv const &src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:128,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:130,1
    - Dst: IP6Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:131,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '&

      IPEndpoint::assign(IP6Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Srv::network_order_port
    - IP6Srv::addr
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Srv const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:138,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:140,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    - Dst: IPSrv::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '&

      IPEndpoint::assign(IPSrv const &srv)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::ip4
    - IPSrv::ip6
    - IPSrv::is_ip6
    - '&

      IPEndpoint::assign'
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPSrv const &srv)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:169,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:173,1
    - Dst: TextView::rfind
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:179,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:180,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:182,1
    - Dst: TextView::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:186,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:191,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: std::string_view*::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - str
    - addr
    - port
    - rest
    argTypes:
    - std::string_view
    - std::string_view*
    - std::string_view*
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 17
    functionsReached:
    - TextView::assign
    - TextView::take_prefix_at
    - TextView::data
    - TextView::rfind
    - TextView::take_prefix
    - TextView::find
    - TextView::clear
    - TextView::ltrim_if
    - TextView::size
    - std::string_view*::empty
    - std::string_view
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::tokenize(std::string_view str, std::string_view *addr,
      std::string_view *port, std::string_view *rest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - IPSrv::load
    - swoc::SWOC_VERSION_NS::IPEndpoint::assign
    - TextView
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::parse(std::string_view const &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t IPEndpoint::size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view IPEndpoint::family_name(sa_family_t family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:246,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: '&

      IPEndpoint::set_to_any(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_any(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:258,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_any
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_any() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: htonl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:274,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:275,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: '&

      IPEndpoint::set_to_loopback(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    - htonl
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_loopback(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:287,1
    - Dst: ntohl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:289,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_loopback
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_LOOPBACK
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_loopback() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:306,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:311,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:314,1
    - Dst: svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:315,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:319,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:325,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - svtou
    - auto::size
    - TextView::back
    - max
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IP4Addr::load(std::string_view const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP4Addr::IP4Addr(sockaddr_in const *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reorder
    linkageType: ''
    returnType: auto
    signature: auto IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:353,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - Set_Sockaddr_Len
    - swoc::SWOC_VERSION_NS::IP4Addr::network_order
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      IP4Addr::copy_to(sockaddr_in *sin) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:363,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin6
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    - Set_Sockaddr_Len
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      IP6Addr::copy_to(sockaddr_in6 *sin6) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IP6Addr::cmp(const self_type &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: '&

      IP6Addr::operator<<=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator<<=(unsigned int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: '&

      IP6Addr::operator>>=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator>>=(unsigned int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: '&

      IP6Addr::operator&=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator&=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: '&

      IP6Addr::operator|=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator|=(self_type const &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _quad::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:422,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:424,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:430,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:433,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:441,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:442,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:444,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:460,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:461,1
    - Dst: svtoi
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:468,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:479,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:491,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 497
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TextView::take_prefix_at
    - TextView::remove_suffix
    - TextView::back
    - swoc::SWOC_VERSION_NS::IP6Addr::clear
    - TextView::remove_prefix
    - svtoi
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - _quad::data
    linkageType: ''
    returnType: bool
    signature: bool IP6Addr::load(std::string_view const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - in6_addr
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 8
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(in6_addr &dst, raw_type const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - raw_type
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 9
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(raw_type &dst, in6_addr const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 32
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::assign
    linkageType: ''
    returnType: void
    signature: void IPAddr::IPAddr(IPEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: '&

      IPAddr::operator=(IPEndpoint const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - '&

      IPAddr::assign'
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::operator=(IPEndpoint const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:524,1
    - Dst: _ip4::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:525,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:526,1
    - Dst: _ip6::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: swoc::SWOC_VERSION_NS::IPAddr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip6
    - _ip6::copy_to
    - _ip4::copy_to
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip4
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      IPAddr::copy_to(sockaddr *sa) const'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:535,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:537,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:539,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:548,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:553,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: swoc::SWOC_VERSION_NS::IPAddr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::load
    - swoc::SWOC_VERSION_NS::IPAddr::is_valid
    - TextView::ltrim_if
    - _ip6::load
    - TextView::prefix
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::load(const std::string_view &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: '&

      IPAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - '&

      IPAddr::assign'
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::assign(sockaddr const *addr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: IPAddr::operator<(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - self_type::is_valid
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::operator<(self_type const &that) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:606,1
    - Dst: _ip6::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:617,1
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: swoc::SWOC_VERSION_NS::IPAddr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::cmp
    - _ip4::cmp
    - self_type::is_valid
    linkageType: ''
    returnType: int
    signature: int IPAddr::cmp(self_type const &that) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: '&

      IPAddr::operator&=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator&=(IPMask const &mask)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: '&

      IPAddr::operator|=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator|=(IPMask const &mask)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    - Dst: _ip6::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: swoc::SWOC_VERSION_NS::IPAddr::is_multicast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::is_multicast
    - _ip4::is_multicast
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::is_multicast() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:654,1
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:657,1
    - Dst: is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: sa4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: sa6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - sa
    argTypes:
    - IPAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: operator == (IPAddr const& lhs, sockaddr const * sa)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - family
    - sa6
    - is_ip6
    - sa4
    - ip6
    - is_ip4
    - ip4
    linkageType: ''
    returnType: bool
    signature: bool operator == (IPAddr const& lhs, sockaddr const * sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:665,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: swoc::SWOC_VERSION_NS::IPMask::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::size
    - string_view::size
    linkageType: ''
    returnType: bool
    signature: bool IPMask::load(string_view const &text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:675,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:677,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 9
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IPAddr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - IP6Addr::quad_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPMask::mask_for_quad(IP6Addr::quad_type q) -> raw_type
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:699,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:704,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 9
    functionsReached:
    - self_type
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP4Addr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:716,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 9
    functionsReached:
    - self_type
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP6Addr const &addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::IPMask::as_ip6
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: IP6Addr IPMask::as_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::load
    linkageType: ''
    returnType: void
    signature: void IP4Srv::IP4Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:745,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:746,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:748,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:749,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:755,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - IP4Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - swoc::SWOC_VERSION_NS::IP4Srv::assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP4Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::load
    linkageType: ''
    returnType: void
    signature: void IP6Srv::IP6Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:771,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:772,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:774,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:775,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:781,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IP6Srv::assign
    - IP6Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP6Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPSrv::load
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:797,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:798,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:800,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:801,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: IPAddr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:807,1
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: swoc::SWOC_VERSION_NS::IPSrv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IPSrv::assign
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - IPAddr::load
    - size
    linkageType: ''
    returnType: bool
    signature: bool IPSrv::load(swoc::TextView text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:816,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:817,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:819,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - _ip4::assign
    - IPAddr::is_ip4
    - _ip6::assign
    - IPAddr::family
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPAddr addr, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPEndpoint::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:827,1
    - Dst: _ip4::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:828,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:829,1
    - Dst: IPEndpoint::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:830,1
    - Dst: _ip6::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:831,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ep
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPEndpoint::is_ip4
    - _ip4::assign
    - _ip6::family
    - _ip4::family
    - _ip6::assign
    - IPEndpoint::is_ip6
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPEndpoint const &ep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::IPSrv::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - _ip6::assign
    - _ip4::assign
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: auto
    signature: auto IPSrv::assign(const sockaddr *sa) -> self_type &
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:854,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:855,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:857,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:858,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:859,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:863,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: swoc::SWOC_VERSION_NS::IP4Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IP4Net::assign
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP4Net::clear
    - IP4Addr::load
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP4Net::load(TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:877,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:878,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:880,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:881,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:882,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:886,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 894
    functionName: swoc::SWOC_VERSION_NS::IP6Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IP6Net::assign
    - IP6Addr::load
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP6Net::clear
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP6Net::load(TextView text)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:900,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:902,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:904,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:905,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:906,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:910,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:913,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:915,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:916,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:917,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:921,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 928
    functionName: swoc::SWOC_VERSION_NS::IPNet::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IPNet::clear
    - IP6Addr::load
    - IP4Addr::load
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IPNet::assign
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IPNet::load(TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    linkageType: ''
    returnType: void
    signature: void IP4Range::IP4Range(swoc::IP4Addr const &addr, swoc::IPMask const
      &mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:939,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:944,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: '&

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::IPMask::width
    linkageType: ''
    returnType: IP4Range
    signature: 'IP4Range &

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:956,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:958,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:963,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:964,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:965,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:973,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 980
    functionName: swoc::SWOC_VERSION_NS::IP4Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::clear
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    - metric_type::load
    - string_view::substr
    - string_view::find_first_of
    - string_view::size
    - swoc::SWOC_VERSION_NS::IP4Range::load
    - string_view::remove_prefix
    - IPMask::load
    linkageType: ''
    returnType: bool
    signature: bool IP4Range::load(string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: swoc::SWOC_VERSION_NS::IP4Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP4Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:992,1
    - Dst: IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP4Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - empty
    - IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1000,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1001,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1003,1
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1005,1
    - Dst: IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1006,1
    - Dst: IP4Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: IP4Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP4Range::NetSource::is_valid
    - max
    - IP4Range::NetSource::search_wider
    - IP4Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: IP4Range::NetSource::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++(int) -> self_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: IP4Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: IP4Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_narrower()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1048,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - IP6Addr
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1072
    functionName: '&

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - max
    - IPMask::width
    linkageType: ''
    returnType: IP6Range
    signature: 'IP6Range &

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1077,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1079,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1084,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1085,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1086,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1094,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1100
    functionName: swoc::SWOC_VERSION_NS::IP6Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Range::assign
    - std::string_view::substr
    - swoc::SWOC_VERSION_NS::IP6Range::clear
    - metric_type::load
    - std::string_view::size
    - std::string_view::remove_prefix
    - IPMask::load
    - swoc::SWOC_VERSION_NS::IP6Range::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IP6Range::load(std::string_view text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - IPAddr
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: swoc::SWOC_VERSION_NS::IPRange::IPRange
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPRange::assign
    - IPAddr::is_ip4
    linkageType: ''
    returnType: void
    signature: void IPRange::IPRange(IPAddr const &min, IPAddr const &max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1112,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1113,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: swoc::SWOC_VERSION_NS::IPRange::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::load
    - _ip4::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IPRange::load(std::string_view const &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1129,1
    - Dst: _ip6::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: swoc::SWOC_VERSION_NS::IPRange::min
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::min
    - _ip4::min
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::min() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1142,1
    - Dst: _ip6::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: swoc::SWOC_VERSION_NS::IPRange::max
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::max
    - _ip6::max
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::max() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1155,1
    - Dst: _ip6::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: swoc::SWOC_VERSION_NS::IPRange::empty
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::empty
    - _ip4::empty
    linkageType: ''
    returnType: bool
    signature: bool IPRange::empty() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1168,1
    - Dst: _ip6::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: swoc::SWOC_VERSION_NS::IPRange::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::network_mask
    - _ip6::network_mask
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPRange::network_mask() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1182,1
    - Dst: IPRange::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1189
    functionName: IPRange::operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::is_ip4
    - IPRange::is_ip6
    linkageType: ''
    returnType: bool
    signature: bool IPRange::operator==(self_type const &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: swoc::SWOC_VERSION_NS::IP6Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP6Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1201,1
    - Dst: IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP6Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
    - empty
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1208,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1209,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1210,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1212,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1214,1
    - Dst: IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1215,1
    - Dst: IP6Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1221
    functionName: IP6Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP6Range::NetSource::search_wider
    - IP6Range::NetSource::is_valid
    - min
    - max
    - IP6Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP6Range::NetSource::operator++() -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1225,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: IP6Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - width
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: IP6Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_narrower()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1245,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1247,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: IPRangeView::operator==(IPRange const &r) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::family
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRange const &r) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPRangeView::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    functionName: IPRangeView::operator==(IPRangeView::self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRangeView::self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::parse
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::IPEndpoint
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPEndpoint::invalidate
    - swoc::SWOC_VERSION_NS::IPEndpoint::parse
    linkageType: ''
    returnType: void
    signature: void IPEndpoint::IPEndpoint(string_view const &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ats_ip_invalidate
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:53,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - sockaddr*
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - memcpy
    - ats_ip_invalidate
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::assign(sockaddr *dst, sockaddr const *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:71,1
    - Dst: IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:73,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '&

      IPEndpoint::assign(IP4Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:80,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:82,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '&

      IPEndpoint::assign(IP6Addr const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Addr::network_order
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Addr const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:89,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:91,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:93,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:94,1
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:97,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:99,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: '&

      IPEndpoint::assign(IPAddr const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - IPAddr::ip4
    - IPAddr::ip6
    - Set_Sockaddr_Len
    - IPAddr::family
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:108,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:109,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:110,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: '&

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - IP6Srv
    - '&

      IPEndpoint::assign'
    - IP4Srv
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPAddr const &addr, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:118,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:120,1
    - Dst: IP4Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:121,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: '&

      IPEndpoint::assign(IP4Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP4Srv::addr
    - IP4Srv::network_order_port
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP4Srv const &src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:128,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:130,1
    - Dst: IP6Srv::network_order_port
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:131,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '&

      IPEndpoint::assign(IP6Srv const &src)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - IP6Srv::network_order_port
    - IP6Srv::addr
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IP6Srv const &src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:138,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:139,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:140,1
    - Dst: '&

        IPEndpoint::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    - Dst: IPSrv::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - srv
    argTypes:
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '&

      IPEndpoint::assign(IPSrv const &srv)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::ip4
    - IPSrv::ip6
    - IPSrv::is_ip6
    - '&

      IPEndpoint::assign'
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::assign(IPSrv const &srv)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:169,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:173,1
    - Dst: TextView::rfind
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:179,1
    - Dst: TextView::find
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:180,1
    - Dst: TextView::take_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:182,1
    - Dst: TextView::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:186,1
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:191,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:193,1
    - Dst: TextView::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:194,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: TextView::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:196,1
    - Dst: std::string_view*::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - str
    - addr
    - port
    - rest
    argTypes:
    - std::string_view
    - std::string_view*
    - std::string_view*
    - std::string_view*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 20
    functionsReached:
    - TextView::assign
    - TextView::take_prefix_at
    - TextView::data
    - TextView::rfind
    - TextView::take_prefix
    - TextView::find
    - TextView::clear
    - TextView::ltrim_if
    - TextView::size
    - std::string_view*::empty
    - std::string_view
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::tokenize(std::string_view str, std::string_view *addr,
      std::string_view *port, std::string_view *rest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::parse
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - IPSrv::load
    - swoc::SWOC_VERSION_NS::IPEndpoint::assign
    - TextView
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::parse(std::string_view const &str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t IPEndpoint::size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view IPEndpoint::family_name(sa_family_t family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:242,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:246,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: '&

      IPEndpoint::set_to_any(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_any(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:258,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_any
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_any() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:271,1
    - Dst: htonl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:274,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:275,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: '&

      IPEndpoint::set_to_loopback(int family)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - memset
    - Set_Sockaddr_Len
    - static_cast<void *>
    - htonl
    linkageType: ''
    returnType: IPEndpoint
    signature: 'IPEndpoint &

      IPEndpoint::set_to_loopback(int family)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:287,1
    - Dst: ntohl
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:289,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::IPEndpoint::is_loopback
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_LOOPBACK
    - swoc::SWOC_VERSION_NS::IPEndpoint::family
    linkageType: ''
    returnType: bool
    signature: bool IPEndpoint::is_loopback() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:306,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:307,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:311,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:314,1
    - Dst: svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:315,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:316,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:319,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:325,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:334,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - TextView::take_prefix_at
    - svtou
    - auto::size
    - TextView::back
    - max
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IP4Addr::load(std::string_view const &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::IP4Addr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP4Addr::IP4Addr(sockaddr_in const *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reorder
    linkageType: ''
    returnType: auto
    signature: auto IP4Addr::operator=(sockaddr_in const *sa) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:353,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin
    argTypes:
    - sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: swoc::SWOC_VERSION_NS::IP4Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - Set_Sockaddr_Len
    - swoc::SWOC_VERSION_NS::IP4Addr::network_order
    linkageType: ''
    returnType: sockaddr_in
    signature: 'sockaddr_in *

      IP4Addr::copy_to(sockaddr_in *sin) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:363,1
    - Dst: Set_Sockaddr_Len
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sin6
    argTypes:
    - sockaddr_in6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    - Set_Sockaddr_Len
    linkageType: ''
    returnType: sockaddr_in6
    signature: 'sockaddr_in6 *

      IP6Addr::copy_to(sockaddr_in6 *sin6) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IP6Addr::cmp(const self_type &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: '&

      IP6Addr::operator<<=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator<<=(unsigned int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: '&

      IP6Addr::operator>>=(unsigned int n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator>>=(unsigned int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: '&

      IP6Addr::operator&=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator&=(self_type const &that)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: '&

      IP6Addr::operator|=(self_type const &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: 'IP6Addr &

      IP6Addr::operator|=(self_type const &that)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _quad::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:422,1
    - Dst: TextView::trim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:424,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::back
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:427,1
    - Dst: TextView::remove_suffix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:430,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:433,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:441,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:442,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:444,1
    - Dst: TextView::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:450,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:459,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:460,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:461,1
    - Dst: svtoi
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:468,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:469,1
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:479,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:491,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 497
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - TextView::take_prefix_at
    - TextView::remove_suffix
    - TextView::back
    - swoc::SWOC_VERSION_NS::IP6Addr::clear
    - TextView::remove_prefix
    - svtoi
    - TextView::size
    - TextView::empty
    - TextView::trim_if
    - _quad::data
    linkageType: ''
    returnType: bool
    signature: bool IP6Addr::load(std::string_view const &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:503,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - in6_addr
    - raw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 11
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(in6_addr &dst, raw_type const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:509,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    - Dst: raw_type::data
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - raw_type
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: swoc::SWOC_VERSION_NS::IP6Addr::reorder
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 12
    functionsReached:
    - raw_type::data
    - swoc::SWOC_VERSION_NS::IP6Addr::reorder
    linkageType: ''
    returnType: void
    signature: void IP6Addr::reorder(raw_type &dst, in6_addr const &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: swoc::SWOC_VERSION_NS::IPAddr::IPAddr
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 32
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::assign
    linkageType: ''
    returnType: void
    signature: void IPAddr::IPAddr(IPEndpoint const &addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: '&

      IPAddr::operator=(IPEndpoint const &addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - '&

      IPAddr::assign'
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::operator=(IPEndpoint const &addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:524,1
    - Dst: _ip4::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:525,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:526,1
    - Dst: _ip6::copy_to
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: swoc::SWOC_VERSION_NS::IPAddr::copy_to
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip6
    - _ip6::copy_to
    - _ip4::copy_to
    - swoc::SWOC_VERSION_NS::IPAddr::is_ip4
    linkageType: ''
    returnType: sockaddr
    signature: 'sockaddr *

      IPAddr::copy_to(sockaddr *sa) const'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TextView::ltrim_if
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:535,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:537,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:539,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:548,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:553,1
    - Dst: swoc::SWOC_VERSION_NS::IPAddr::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: swoc::SWOC_VERSION_NS::IPAddr::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::load
    - swoc::SWOC_VERSION_NS::IPAddr::is_valid
    - TextView::ltrim_if
    - _ip6::load
    - TextView::prefix
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::load(const std::string_view &text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:566,1
    - Dst: '&

        IPAddr::assign'
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: '&

      IPAddr::assign(sockaddr const *addr)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - '&

      IPAddr::assign'
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: IPAddr
    signature: 'IPAddr &

      IPAddr::assign(sockaddr const *addr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: IPAddr::operator<(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - self_type::is_valid
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::operator<(self_type const &that) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:606,1
    - Dst: _ip6::cmp
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:617,1
    - Dst: self_type::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: swoc::SWOC_VERSION_NS::IPAddr::cmp
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::cmp
    - _ip4::cmp
    - self_type::is_valid
    linkageType: ''
    returnType: int
    signature: int IPAddr::cmp(self_type const &that) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: '&

      IPAddr::operator&=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator&=(IPMask const &mask)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mask
    argTypes:
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: '&

      IPAddr::operator|=(IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddr::self_type
    signature: 'IPAddr::self_type &

      IPAddr::operator|=(IPMask const &mask)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    - Dst: _ip6::is_multicast
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: swoc::SWOC_VERSION_NS::IPAddr::is_multicast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::is_multicast
    - _ip4::is_multicast
    linkageType: ''
    returnType: bool
    signature: bool IPAddr::is_multicast() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:654,1
    - Dst: family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:657,1
    - Dst: is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: sa4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:658,1
    - Dst: is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    - Dst: sa6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - sa
    argTypes:
    - IPAddr
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: operator == (IPAddr const& lhs, sockaddr const * sa)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - family
    - sa6
    - is_ip6
    - sa4
    - ip6
    - is_ip4
    - ip4
    linkageType: ''
    returnType: bool
    signature: bool operator == (IPAddr const& lhs, sockaddr const * sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:665,1
    - Dst: TextView::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: swoc::SWOC_VERSION_NS::IPMask::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - TextView::size
    - string_view::size
    linkageType: ''
    returnType: bool
    signature: bool IPMask::load(string_view const &text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:675,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:676,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:677,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 13
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - IPAddr::is_ip4
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IPAddr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - IP6Addr::quad_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IPMask::mask_for_quad(IP6Addr::quad_type q) -> raw_type
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:699,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:702,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:704,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 13
    functionsReached:
    - self_type
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP4Addr const &addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:716,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: swoc::SWOC_VERSION_NS::IPMask::mask_for
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 13
    functionsReached:
    - self_type
    - swoc::SWOC_VERSION_NS::IPMask::mask_for_quad
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPMask::mask_for(IP6Addr const &addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::IPMask::as_ip6
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IP6Addr
    signature: IP6Addr IPMask::as_ip6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::IP4Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Srv::load
    linkageType: ''
    returnType: void
    signature: void IP4Srv::IP4Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:745,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:746,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:748,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:749,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:750,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:755,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::IP4Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - IP4Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - swoc::SWOC_VERSION_NS::IP4Srv::assign
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP4Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::IP6Srv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Srv::load
    linkageType: ''
    returnType: void
    signature: void IP6Srv::IP6Srv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:771,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:772,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:774,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:775,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:776,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:781,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Srv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: swoc::SWOC_VERSION_NS::IP6Srv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IP6Srv::assign
    - IP6Addr::load
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - size
    linkageType: ''
    returnType: bool
    signature: bool IP6Srv::load(swoc::TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::IPSrv::load
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(swoc::TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:797,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:798,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:800,1
    - Dst: swoc::SWOC_VERSION_NS::svtou
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:801,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:802,1
    - Dst: IPAddr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:807,1
    - Dst: swoc::SWOC_VERSION_NS::IPSrv::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - text
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: swoc::SWOC_VERSION_NS::IPSrv::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::svtou
    - swoc::SWOC_VERSION_NS::IPSrv::assign
    - max
    - swoc::SWOC_VERSION_NS::IPEndpoint::tokenize
    - empty
    - IPAddr::load
    - size
    linkageType: ''
    returnType: bool
    signature: bool IPSrv::load(swoc::TextView text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:816,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:817,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:818,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:819,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - IPAddr
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - _ip4::assign
    - IPAddr::is_ip4
    - _ip6::assign
    - IPAddr::family
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPAddr addr, in_port_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPEndpoint::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:827,1
    - Dst: _ip4::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:828,1
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:829,1
    - Dst: IPEndpoint::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:830,1
    - Dst: _ip6::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:831,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ep
    argTypes:
    - IPEndpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: swoc::SWOC_VERSION_NS::IPSrv::IPSrv
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPEndpoint::is_ip4
    - _ip4::assign
    - _ip6::family
    - _ip4::family
    - _ip6::assign
    - IPEndpoint::is_ip6
    linkageType: ''
    returnType: void
    signature: void IPSrv::IPSrv(IPEndpoint const &ep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:840,1
    - Dst: _ip6::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::IPSrv::assign
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<sockaddr_in6 const *>
    - _ip6::assign
    - _ip4::assign
    - reinterpret_cast<sockaddr_in const *>
    linkageType: ''
    returnType: auto
    signature: auto IPSrv::assign(const sockaddr *sa) -> self_type &
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:852,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:854,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:855,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:857,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:858,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:859,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:863,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: swoc::SWOC_VERSION_NS::IP4Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - auto::empty
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IP4Net::assign
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP4Net::clear
    - IP4Addr::load
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP4Net::load(TextView text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:875,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:877,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:878,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:880,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:881,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:882,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:886,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Net::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 894
    functionName: swoc::SWOC_VERSION_NS::IP6Net::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IP6Net::assign
    - IP6Addr::load
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IP6Net::clear
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IP6Net::load(TextView text)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: auto::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:898,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:900,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:902,1
    - Dst: IP6Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:904,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:905,1
    - Dst: IPMask::as_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:906,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:910,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:913,1
    - Dst: IP4Addr::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:915,1
    - Dst: swoc::SWOC_VERSION_NS::IPMask::mask_for
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:916,1
    - Dst: IPMask::as_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:917,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:921,1
    - Dst: swoc::SWOC_VERSION_NS::IPNet::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - text
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 928
    functionName: swoc::SWOC_VERSION_NS::IPNet::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPMask::as_ip6
    - swoc::SWOC_VERSION_NS::IPNet::clear
    - IP6Addr::load
    - IP4Addr::load
    - IPMask::as_ip4
    - swoc::SWOC_VERSION_NS::IPMask::mask_for
    - swoc::SWOC_VERSION_NS::IPNet::assign
    - auto::empty
    - IPMask::load
    - TextView::split_suffix_at
    linkageType: ''
    returnType: bool
    signature: bool IPNet::load(TextView text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: swoc::SWOC_VERSION_NS::IP4Range::IP4Range
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    linkageType: ''
    returnType: void
    signature: void IP4Range::IP4Range(swoc::IP4Addr const &addr, swoc::IPMask const
      &mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:939,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:944,1
    - Dst: swoc::IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - swoc::IP4Addr
    - swoc::IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: '&

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - swoc::IPMask::width
    linkageType: ''
    returnType: IP4Range
    signature: 'IP4Range &

      IP4Range::assign(swoc::IP4Addr const &addr, swoc::IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:956,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:958,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:961,1
    - Dst: string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:963,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:964,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:965,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:969,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:973,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 980
    functionName: swoc::SWOC_VERSION_NS::IP4Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP4Range::clear
    - swoc::SWOC_VERSION_NS::IP4Range::assign
    - metric_type::load
    - string_view::substr
    - string_view::find_first_of
    - string_view::size
    - swoc::SWOC_VERSION_NS::IP4Range::load
    - string_view::remove_prefix
    - IPMask::load
    linkageType: ''
    returnType: bool
    signature: bool IP4Range::load(string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:985,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: swoc::SWOC_VERSION_NS::IP4Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP4Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:992,1
    - Dst: IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP4Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - empty
    - IP4Range::NetSource::NetSource(IP4Range::NetSource::search_wider
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::NetSource(IP4Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1000,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1001,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1003,1
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1005,1
    - Dst: IP4Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1006,1
    - Dst: IP4Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: IP4Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP4Range::NetSource::is_valid
    - max
    - IP4Range::NetSource::search_wider
    - IP4Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++() -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: IP4Range::NetSource::operator++(int) -> self_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto IP4Range::NetSource::operator++(int) -> self_type
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: IP4Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: IP4Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP4Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP4Range::NetSource::search_narrower()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1048,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - addr
    - mask
    argTypes:
    - IP6Addr
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1072
    functionName: '&

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - max
    - IPMask::width
    linkageType: ''
    returnType: IP6Range
    signature: 'IP6Range &

      IP6Range::assign(IP6Addr const &addr, IPMask const &mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1077,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1079,1
    - Dst: metric_type::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1082,1
    - Dst: std::string_view::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1084,1
    - Dst: IPMask::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1085,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1086,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: std::string_view::substr
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1090,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1094,1
    - Dst: swoc::SWOC_VERSION_NS::IP6Range::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1100
    functionName: swoc::SWOC_VERSION_NS::IP6Range::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::IP6Range::assign
    - std::string_view::substr
    - swoc::SWOC_VERSION_NS::IP6Range::clear
    - metric_type::load
    - std::string_view::size
    - std::string_view::remove_prefix
    - IPMask::load
    - swoc::SWOC_VERSION_NS::IP6Range::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IP6Range::load(std::string_view text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1103,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1104,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1105,1
    - Dst: swoc::SWOC_VERSION_NS::IPRange::assign
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - IPAddr
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: swoc::SWOC_VERSION_NS::IPRange::IPRange
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 1
    functionsReached:
    - IPAddr::ip4
    - IPAddr::is_ip6
    - IPAddr::ip6
    - swoc::SWOC_VERSION_NS::IPRange::assign
    - IPAddr::is_ip4
    linkageType: ''
    returnType: void
    signature: void IPRange::IPRange(IPAddr const &min, IPAddr const &max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_of
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1112,1
    - Dst: _ip6::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1113,1
    - Dst: _ip4::load
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: swoc::SWOC_VERSION_NS::IPRange::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::load
    - _ip4::load
    - std::string_view::find_first_of
    linkageType: ''
    returnType: bool
    signature: bool IPRange::load(std::string_view const &text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1129,1
    - Dst: _ip6::min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: swoc::SWOC_VERSION_NS::IPRange::min
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::min
    - _ip4::min
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::min() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1142,1
    - Dst: _ip6::max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: swoc::SWOC_VERSION_NS::IPRange::max
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::max
    - _ip6::max
    linkageType: ''
    returnType: IPAddr
    signature: IPAddr IPRange::max() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1155,1
    - Dst: _ip6::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: swoc::SWOC_VERSION_NS::IPRange::empty
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip6::empty
    - _ip4::empty
    linkageType: ''
    returnType: bool
    signature: bool IPRange::empty() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ip4::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1168,1
    - Dst: _ip6::network_mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: swoc::SWOC_VERSION_NS::IPRange::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - _ip4::network_mask
    - _ip6::network_mask
    linkageType: ''
    returnType: IPMask
    signature: IPMask IPRange::network_mask() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is_ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1182,1
    - Dst: IPRange::is_ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1189
    functionName: IPRange::operator==(self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::is_ip4
    - IPRange::is_ip6
    linkageType: ''
    returnType: bool
    signature: bool IPRange::operator==(self_type const &that) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetSource::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: as_range
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1194,1
    - Dst: NetSource::mask
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: swoc::SWOC_VERSION_NS::IP6Range::network_mask
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - NetSource::mask
    - as_range
    - NetSource::empty
    linkageType: ''
    returnType: IPMask
    signature: IPMask IP6Range::network_mask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1201,1
    - Dst: IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - range
    argTypes:
    - IP6Range::NetSource::range_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type const
      &range)
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::NetSource(IP6Range::NetSource::search_wider
    - empty
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::NetSource(IP6Range::NetSource::range_type
      const &range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1208,1
    - Dst: max
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1209,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1210,1
    - Dst: assign_min
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1212,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1214,1
    - Dst: IP6Range::NetSource::search_wider
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1215,1
    - Dst: IP6Range::NetSource::search_narrower
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1221
    functionName: IP6Range::NetSource::operator++() -> self_type &
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - clear
    - IP6Range::NetSource::search_wider
    - IP6Range::NetSource::is_valid
    - min
    - max
    - IP6Range::NetSource::search_narrower
    - assign_min
    linkageType: ''
    returnType: auto
    signature: auto IP6Range::NetSource::operator++() -> self_type &
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1225,1
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: IP6Range::NetSource::search_wider()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - width
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_wider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::NetSource::is_valid
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: IP6Range::NetSource::search_narrower()
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IP6Range::NetSource::is_valid
    linkageType: ''
    returnType: void
    signature: void IP6Range::NetSource::search_narrower()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::family
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1245,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1247,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/swoc_ip.cc:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: IPRangeView::operator==(IPRange const &r) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::family
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRange const &r) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - that
    argTypes:
    - IPRangeView::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    functionName: IPRangeView::operator==(IPRangeView::self_type const &that) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_ip.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPRangeView::operator==(IPRangeView::self_type const &that) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:17,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: MemArena::Block::satisfies(size_t n, size_t align) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - align_padding
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::satisfies(size_t n, size_t align) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:22,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:23,1
    - Dst: std::domain_error
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:24,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:28,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - static_block
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::size
    - std::domain_error
    - round_up
    - MemSpan<void>::data
    - prepend
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(MemSpan<void> static_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:43,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(swoc::MemArena::self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena *

      MemArena::construct_self_contained(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::operator=(swoc::MemArena::clear'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:61,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:62,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:63,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:64,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:65,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:66,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:67,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: '&

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::swap
    - '&

      MemArena::operator=(swoc::MemArena::clear'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:82,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:85,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:89,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:91,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: swoc::SWOC_VERSION_NS::MemArena::make_block
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    - round_up
    - Block::Block
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block *

      MemArena::make_block(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:103,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:104,1
    - Dst: auto::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:105,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:109,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - erase
    - swoc::SWOC_VERSION_NS::MemArena::require
    - auto::alloc
    - append
    - auto::is_full
    - head
    - tail
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:117,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: '&

      MemArena::freeze(size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - '&

      MemArena::destroy_frozen'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::freeze(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:132,1
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:135,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:136,1
    - Dst: remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: '&

      MemArena::thaw()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - remaining
    - prepend
    - '&

      MemArena::destroy_frozen'
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::thaw()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:144,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: swoc::SWOC_VERSION_NS::MemArena::contains
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    - std::any_of
    - swoc::SWOC_VERSION_NS::MemArena::contains
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: bool
    signature: bool MemArena::contains(const void *ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:151,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::satisfies
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:156,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:157,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:162,1
    - Dst: '&

        MemArena::make_block'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:163,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:164,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:165,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:168,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: '&

      MemArena::require(size_t n, size_t align)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - '&

      MemArena::make_block'
    - end
    - auto::satisfies
    - auto::is_full
    - prepend
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::require(size_t n, size_t align)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_active
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_frozen
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_frozen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:204,1
    - Dst: '&

        MemArena::destroy_active'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: '&

      MemArena::clear(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - '&

      MemArena::destroy_frozen'
    - '&

      MemArena::destroy_active'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::clear(size_t hint)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:216,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:217,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:225,1
    - Dst: auto::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: auto::allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:227,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:228,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:229,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:230,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<const void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: '&

      MemArena::discard(MemSpan<const void> span)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - auto::allocated_data_end
    - erase
    - allocated_data_end
    - prepend
    - MemSpan<const void>::data
    - contains
    - auto::is_full
    - auto::contains
    - tail
    - MemSpan<const void>::size
    - MemSpan<const void>::data_end
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(MemSpan<const void> span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: '&

      MemArena::discard(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(size_t hint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:257,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:258,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:261,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: MemArena::~MemArena()
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - clear
    - head
    linkageType: ''
    returnType: void
    signature: void MemArena::~MemArena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_allocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::do_allocate(std::size_t bytes, std::size_t align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_deallocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::do_deallocate(void *, size_t, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::pmr::memory_resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_is_equal
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MemArena::do_is_equal(std::pmr::memory_resource const &that) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:17,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: MemArena::Block::satisfies(size_t n, size_t align) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - align_padding
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::satisfies(size_t n, size_t align) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:22,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:23,1
    - Dst: std::domain_error
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:24,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:28,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - static_block
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::size
    - std::domain_error
    - round_up
    - MemSpan<void>::data
    - prepend
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(MemSpan<void> static_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:43,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(swoc::MemArena::self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena *

      MemArena::construct_self_contained(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::operator=(swoc::MemArena::clear'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:61,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:62,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:63,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:64,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:65,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:66,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:67,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: '&

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::swap
    - '&

      MemArena::operator=(swoc::MemArena::clear'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:82,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:85,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:89,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:91,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: swoc::SWOC_VERSION_NS::MemArena::make_block
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    - round_up
    - Block::Block
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block *

      MemArena::make_block(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:103,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:104,1
    - Dst: auto::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:105,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:109,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - erase
    - swoc::SWOC_VERSION_NS::MemArena::require
    - auto::alloc
    - append
    - auto::is_full
    - head
    - tail
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:117,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: '&

      MemArena::freeze(size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - '&

      MemArena::destroy_frozen'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::freeze(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:132,1
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:135,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:136,1
    - Dst: remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: '&

      MemArena::thaw()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - remaining
    - prepend
    - '&

      MemArena::destroy_frozen'
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::thaw()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:144,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: swoc::SWOC_VERSION_NS::MemArena::contains
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    - std::any_of
    - swoc::SWOC_VERSION_NS::MemArena::contains
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: bool
    signature: bool MemArena::contains(const void *ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:151,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::satisfies
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:156,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:157,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:162,1
    - Dst: '&

        MemArena::make_block'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:163,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:164,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:165,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:168,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: '&

      MemArena::require(size_t n, size_t align)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - '&

      MemArena::make_block'
    - end
    - auto::satisfies
    - auto::is_full
    - prepend
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::require(size_t n, size_t align)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_active
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_frozen
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_frozen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:204,1
    - Dst: '&

        MemArena::destroy_active'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: '&

      MemArena::clear(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - '&

      MemArena::destroy_frozen'
    - '&

      MemArena::destroy_active'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::clear(size_t hint)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:216,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:217,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:225,1
    - Dst: auto::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: auto::allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:227,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:228,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:229,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:230,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<const void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: '&

      MemArena::discard(MemSpan<const void> span)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - auto::allocated_data_end
    - erase
    - allocated_data_end
    - prepend
    - MemSpan<const void>::data
    - contains
    - auto::is_full
    - auto::contains
    - tail
    - MemSpan<const void>::size
    - MemSpan<const void>::data_end
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(MemSpan<const void> span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: '&

      MemArena::discard(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(size_t hint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:257,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:258,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:261,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: MemArena::~MemArena()
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - clear
    - head
    linkageType: ''
    returnType: void
    signature: void MemArena::~MemArena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_allocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::do_allocate(std::size_t bytes, std::size_t align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_deallocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::do_deallocate(void *, size_t, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::pmr::memory_resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_is_equal
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MemArena::do_is_equal(std::pmr::memory_resource const &that) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:17,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: MemArena::Block::satisfies(size_t n, size_t align) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - align_padding
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::satisfies(size_t n, size_t align) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:22,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:23,1
    - Dst: std::domain_error
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:24,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:28,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - static_block
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::size
    - std::domain_error
    - round_up
    - MemSpan<void>::data
    - prepend
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(MemSpan<void> static_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:43,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(swoc::MemArena::self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena *

      MemArena::construct_self_contained(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::operator=(swoc::MemArena::clear'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:61,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:62,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:63,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:64,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:65,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:66,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:67,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: '&

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::swap
    - '&

      MemArena::operator=(swoc::MemArena::clear'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:82,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:85,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:89,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:91,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: swoc::SWOC_VERSION_NS::MemArena::make_block
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    - round_up
    - Block::Block
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block *

      MemArena::make_block(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:103,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:104,1
    - Dst: auto::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:105,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:109,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 2
    functionsReached:
    - erase
    - swoc::SWOC_VERSION_NS::MemArena::require
    - auto::alloc
    - append
    - auto::is_full
    - head
    - tail
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:117,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: '&

      MemArena::freeze(size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - '&

      MemArena::destroy_frozen'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::freeze(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:132,1
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:135,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:136,1
    - Dst: remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: '&

      MemArena::thaw()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - remaining
    - prepend
    - '&

      MemArena::destroy_frozen'
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::thaw()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:144,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: swoc::SWOC_VERSION_NS::MemArena::contains
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    - std::any_of
    - swoc::SWOC_VERSION_NS::MemArena::contains
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: bool
    signature: bool MemArena::contains(const void *ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:151,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::satisfies
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:156,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:157,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:162,1
    - Dst: '&

        MemArena::make_block'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:163,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:164,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:165,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:168,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: '&

      MemArena::require(size_t n, size_t align)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - '&

      MemArena::make_block'
    - end
    - auto::satisfies
    - auto::is_full
    - prepend
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::require(size_t n, size_t align)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_active
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_frozen
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_frozen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:204,1
    - Dst: '&

        MemArena::destroy_active'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: '&

      MemArena::clear(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - '&

      MemArena::destroy_frozen'
    - '&

      MemArena::destroy_active'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::clear(size_t hint)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:216,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:217,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:225,1
    - Dst: auto::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: auto::allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:227,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:228,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:229,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:230,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<const void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: '&

      MemArena::discard(MemSpan<const void> span)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - auto::allocated_data_end
    - erase
    - allocated_data_end
    - prepend
    - MemSpan<const void>::data
    - contains
    - auto::is_full
    - auto::contains
    - tail
    - MemSpan<const void>::size
    - MemSpan<const void>::data_end
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(MemSpan<const void> span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: '&

      MemArena::discard(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(size_t hint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:257,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:258,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:261,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: MemArena::~MemArena()
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - clear
    - head
    linkageType: ''
    returnType: void
    signature: void MemArena::~MemArena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_allocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::do_allocate(std::size_t bytes, std::size_t align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_deallocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::do_deallocate(void *, size_t, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::pmr::memory_resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_is_equal
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MemArena::do_is_equal(std::pmr::memory_resource const &that) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:17,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: MemArena::Block::satisfies(size_t n, size_t align) const
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - align_padding
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::satisfies(size_t n, size_t align) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:22,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:23,1
    - Dst: std::domain_error
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:24,1
    - Dst: MemSpan<void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:28,1
    - Dst: MemSpan<void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:29,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - static_block
    argTypes:
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - MemSpan<void>::size
    - std::domain_error
    - round_up
    - MemSpan<void>::data
    - prepend
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(MemSpan<void> static_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:43,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(swoc::MemArena::self_type &&that) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: swoc::SWOC_VERSION_NS::MemArena::construct_self_contained
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena *

      MemArena::construct_self_contained(size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::operator=(swoc::MemArena::clear'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:61,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:62,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:63,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:64,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:65,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:66,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:67,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - that
    argTypes:
    - swoc::MemArena::self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: '&

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::swap
    - '&

      MemArena::operator=(swoc::MemArena::clear'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::operator=(swoc::MemArena::self_type &&that) noexcept'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:82,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:85,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:89,1
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:91,1
    - Dst: Block::Block
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: swoc::SWOC_VERSION_NS::MemArena::make_block
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    - round_up
    - Block::Block
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block *

      MemArena::make_block(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:103,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:104,1
    - Dst: auto::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:105,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:108,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:109,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 3
    functionsReached:
    - erase
    - swoc::SWOC_VERSION_NS::MemArena::require
    - auto::alloc
    - append
    - auto::is_full
    - head
    - tail
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:117,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: '&

      MemArena::freeze(size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - std::move
    - '&

      MemArena::destroy_frozen'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::freeze(size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:132,1
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:135,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:136,1
    - Dst: remaining
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: '&

      MemArena::thaw()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - remaining
    - prepend
    - '&

      MemArena::destroy_frozen'
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::thaw()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:144,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: std::any_of
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: swoc::SWOC_VERSION_NS::MemArena::contains
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    - std::any_of
    - swoc::SWOC_VERSION_NS::MemArena::contains
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: bool
    signature: bool MemArena::contains(const void *ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:151,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::satisfies
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:155,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:156,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:157,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:162,1
    - Dst: '&

        MemArena::make_block'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:163,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:164,1
    - Dst: begin
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:165,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:168,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: '&

      MemArena::require(size_t n, size_t align)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - '&

      MemArena::make_block'
    - end
    - auto::satisfies
    - auto::is_full
    - prepend
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::require(size_t n, size_t align)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_active
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_active()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apply
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::MemArena::destroy_frozen
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - apply
    linkageType: ''
    returnType: void
    signature: void MemArena::destroy_frozen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        MemArena::destroy_frozen'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:204,1
    - Dst: '&

        MemArena::destroy_active'
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: '&

      MemArena::clear(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - '&

      MemArena::destroy_frozen'
    - '&

      MemArena::destroy_active'
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::clear(size_t hint)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:214,1
    - Dst: allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:215,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:216,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:217,1
    - Dst: tail
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:225,1
    - Dst: auto::contains
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: auto::allocated_data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::data_end
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:226,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:227,1
    - Dst: MemSpan<const void>::size
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:228,1
    - Dst: auto::is_full
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:229,1
    - Dst: erase
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:230,1
    - Dst: prepend
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - span
    argTypes:
    - MemSpan<const void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: '&

      MemArena::discard(MemSpan<const void> span)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - auto::allocated_data_end
    - erase
    - allocated_data_end
    - prepend
    - MemSpan<const void>::data
    - contains
    - auto::is_full
    - auto::contains
    - tail
    - MemSpan<const void>::size
    - MemSpan<const void>::data_end
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(MemSpan<const void> span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hint
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: '&

      MemArena::discard(size_t hint)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - discard
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      MemArena::discard(size_t hint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:257,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:258,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:261,1
    - Dst: clear
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: MemArena::~MemArena()
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - clear
    - head
    linkageType: ''
    returnType: void
    signature: void MemArena::~MemArena()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/src/MemArena.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - align
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_allocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::do_allocate(std::size_t bytes, std::size_t align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_deallocate
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::do_deallocate(void *, size_t, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::pmr::memory_resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::MemArena::do_is_equal
    functionSourceFile: /src/trafficserver/lib/swoc/src/MemArena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MemArena::do_is_equal(std::pmr::memory_resource const &that) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 10
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 10
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 11
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 12
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 12
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 13
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 14
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::color
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - RBNode*
    - RBNode::Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: operator==(RBNode *n, RBNode::Color c)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - RBNode*::color
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode *n, RBNode::Color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - RBNode::Color
    - RBNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator==(RBNode::Color c, RBNode *n)
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(RBNode::Color c, RBNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::child_at(Direction d) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:39,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::flip
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:40,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:43,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:44,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:45,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:46,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:47,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:48,1
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:49,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:50,1
    - Dst: self_type*::clear_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:52,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - self_type*::clear_child
    - self_type*::set_child
    - self_type*::structure_fixup
    - swoc::SWOC_VERSION_NS::detail::RBNode::clear_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::flip
    - swoc::SWOC_VERSION_NS::detail::RBNode::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rotate(Direction dir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - child
    - dir
    argTypes:
    - self_type*
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::set_child(self_type *child, Direction dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 14
    functionsReached:
    - self_type*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::ripple_structure_fixup()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:90,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:91,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:93,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:100,1
    - Dst: self_type*::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - self_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    - self_type*::set_child
    linkageType: ''
    returnType: void
    signature: void RBNode::replace_with(self_type *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _parent::_parent::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:117,1
    - Dst: _parent::_parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:123,1
    - Dst: _parent::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:130,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:132,1
    - Dst: _parent::_parent::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:137,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_insert
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - _parent::_parent::rotate
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - _parent::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::rotate
    - _parent::_parent::child_at
    - _parent::_parent::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::rebalance_after_insert()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:180,1
    - Dst: splice_node
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:192,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:198,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:205,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::set_child
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:217,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 223
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    - remove_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::replace_with
    - splice_node
    - swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    - swoc::SWOC_VERSION_NS::detail::RBNode::set_child
    - swoc::SWOC_VERSION_NS::detail::RBNode::direction_of
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::remove()'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: self_type*::direction_of
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:257,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:262,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:267,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:268,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:271,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:272,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:279,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:281,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:282,1
    - Dst: self_type*::child_at
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:283,1
    - Dst: self_type*::rotate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:288,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - Color
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::rebalance_after_remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - self_type*::direction_of
    - self_type*::child_at
    - swoc::SWOC_VERSION_NS::detail::RBNode::ripple_structure_fixup
    - self_type*::rotate
    linkageType: ''
    returnType: RBNode
    signature: "RBNode *\nRBNode::rebalance_after_remove(Color c,    //!< The color
      of the removed node\n                               Direction d //!< Direction
      of removed node from its parent\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' head'
    - n
    argTypes:
    - RBNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 15
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:321,1
    - Dst: std::swap
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:349,1
    - Dst: RBNode*::structure_fixup
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' head'
    - n
    - isBlack
    argTypes:
    - RBNode*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 16
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::buildTree
    - std::swap
    - RBNode*::structure_fixup
    linkageType: ''
    returnType: RBNode
    signature: 'RBNode *

      RBNode::buildTree(RBNode*& head, int n, bool isBlack)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:389,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - root
    - indent
    - last
    argTypes:
    - RBNode*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::printTree
    linkageType: ''
    returnType: void
    signature: void RBNode::printTree(RBNode* root, std::string indent, bool last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:404,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:410,1
    - Dst: swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::validate
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::detail::RBNode::structure_validate
    - swoc::SWOC_VERSION_NS::detail::RBNode::validate
    linkageType: ''
    returnType: int
    signature: int RBNode::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<self_type *>
      Src: /src/trafficserver/lib/swoc/src/RBTree.cc:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: swoc::SWOC_VERSION_NS::detail::RBNode::left_most_descendant
    functionSourceFile: /src/trafficserver/lib/swoc/src/RBTree.cc
    functionUses: 8
    functionsReached:
    - const_cast<self_type *>
    linkageType: ''
    returnType: auto
    signature: auto RBNode::left_most_descendant() const -> self_type *
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Errata::Data::localize(string_view src)
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - string_view::data
    - auto::size
    - alloc
    - auto::data
    - string_view::size
    linkageType: ''
    returnType: string_view
    signature: string_view Errata::Data::localize(string_view src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::sink
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Errata::~Errata()
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::sink
    linkageType: ''
    returnType: void
    signature: void Errata::~Errata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::clear'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '&

      Errata::sink()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::clear'
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::sink()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: swoc::SWOC_VERSION_NS::Errata::data
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: Errata::Data
    signature: 'Errata::Data *

      Errata::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: swoc::SWOC_VERSION_NS::Errata::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::data
    - swoc::SWOC_VERSION_NS::Errata::alloc
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> Errata::alloc(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:80,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:81,1
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:83,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::alloc'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:85,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::note_localized'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - severity
    - text
    argTypes:
    - std::optional<Severity>
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: '&

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::note_s(std::optional<Severity> severity, std::alloc'
    - memcpy
    - '&

      Errata::note_s(std::optional<Severity> severity, std::note_localized'
    - '&

      Errata::note_s(std::optional<Severity> severity, std::update'
    - std::string_view::size
    - std::optional<Severity>::has_value
    - TextView
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::note_localized(std::string_view const &text, std::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:93,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:94,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - text
    - severity
    argTypes:
    - std::string_view
    - std::optional<Severity>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '&

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - auto::_notes::append
    - '&

      Errata::note_localized(std::string_view const &text, std::data'
    - auto::_arena::make
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:102,1
    - Dst: self_type::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:103,1
    - Dst: '&

        Errata::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: self_type::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::localize
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: '&

      Errata::note(const self_type &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::update'
    - '&

      Errata::data'
    - auto::_notes::append
    - auto::_arena::make
    - self_type::severity
    - auto::localize
    - self_type::has_severity
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note(const self_type &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _severity::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: _severity::value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::assign
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - severity
    argTypes:
    - Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: swoc::SWOC_VERSION_NS::Errata::update
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::assign
    - _severity::has_value
    - _severity::value
    linkageType: ''
    returnType: auto
    signature: auto Errata::update(Severity severity) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Sink::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: swoc::SWOC_VERSION_NS::Errata::register_sink
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Errata::register_sink(Sink::Handle const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:128,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:129,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bw
    - spec
    - level
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Errata::Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 17
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &spec, Errata::Severity level)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Errata::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:140,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:144,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::annotation_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:149,1
    - Dst: Errata::annotation_severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:150,1
    - Dst: Errata::indent_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:151,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:153,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: level
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bw
    - errata
    argTypes:
    - BufferWriter
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 17
    functionsReached:
    - text
    - has_severity
    - Errata::severity
    - Errata::code
    - Errata::has_severity
    - Errata::severity_glue_text
    - BufferWriter::print
    - Errata::annotation_glue_text
    - swoc::SWOC_VERSION_NS::bwf::If
    - Errata::indent_text
    - level
    - severity
    - Errata::annotation_severity_glue_text
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &, Errata const &errata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:168,1
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: '&

      Errata::write(std::ostream &out) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - bwprint
    - std::string::reserve
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      Errata::write(std::ostream &out) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::write
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '&

      operator<<(std::ostream &os, Errata const &err)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::write
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, Errata const &err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Errata::Data::localize(string_view src)
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - string_view::data
    - auto::size
    - alloc
    - auto::data
    - string_view::size
    linkageType: ''
    returnType: string_view
    signature: string_view Errata::Data::localize(string_view src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::sink
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Errata::~Errata()
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::sink
    linkageType: ''
    returnType: void
    signature: void Errata::~Errata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::clear'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '&

      Errata::sink()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::clear'
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::sink()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: swoc::SWOC_VERSION_NS::Errata::data
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: Errata::Data
    signature: 'Errata::Data *

      Errata::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: swoc::SWOC_VERSION_NS::Errata::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::data
    - swoc::SWOC_VERSION_NS::Errata::alloc
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> Errata::alloc(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:80,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:81,1
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:83,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::alloc'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:85,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::note_localized'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - severity
    - text
    argTypes:
    - std::optional<Severity>
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: '&

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::note_s(std::optional<Severity> severity, std::alloc'
    - memcpy
    - '&

      Errata::note_s(std::optional<Severity> severity, std::note_localized'
    - '&

      Errata::note_s(std::optional<Severity> severity, std::update'
    - std::string_view::size
    - std::optional<Severity>::has_value
    - TextView
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::note_localized(std::string_view const &text, std::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:93,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:94,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - text
    - severity
    argTypes:
    - std::string_view
    - std::optional<Severity>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '&

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - auto::_notes::append
    - '&

      Errata::note_localized(std::string_view const &text, std::data'
    - auto::_arena::make
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:102,1
    - Dst: self_type::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:103,1
    - Dst: '&

        Errata::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: self_type::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::localize
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: '&

      Errata::note(const self_type &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::update'
    - '&

      Errata::data'
    - auto::_notes::append
    - auto::_arena::make
    - self_type::severity
    - auto::localize
    - self_type::has_severity
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note(const self_type &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _severity::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: _severity::value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::assign
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - severity
    argTypes:
    - Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: swoc::SWOC_VERSION_NS::Errata::update
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::assign
    - _severity::has_value
    - _severity::value
    linkageType: ''
    returnType: auto
    signature: auto Errata::update(Severity severity) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Sink::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: swoc::SWOC_VERSION_NS::Errata::register_sink
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Errata::register_sink(Sink::Handle const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:128,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:129,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bw
    - spec
    - level
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Errata::Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 18
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &spec, Errata::Severity level)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Errata::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:140,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:144,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::annotation_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:149,1
    - Dst: Errata::annotation_severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:150,1
    - Dst: Errata::indent_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:151,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:153,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: level
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bw
    - errata
    argTypes:
    - BufferWriter
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 18
    functionsReached:
    - text
    - has_severity
    - Errata::severity
    - Errata::code
    - Errata::has_severity
    - Errata::severity_glue_text
    - BufferWriter::print
    - Errata::annotation_glue_text
    - swoc::SWOC_VERSION_NS::bwf::If
    - Errata::indent_text
    - level
    - severity
    - Errata::annotation_severity_glue_text
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &, Errata const &errata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:168,1
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: '&

      Errata::write(std::ostream &out) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - bwprint
    - std::string::reserve
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      Errata::write(std::ostream &out) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::write
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '&

      operator<<(std::ostream &os, Errata const &err)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::write
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, Errata const &err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Errata::Data::localize(string_view src)
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - string_view::data
    - auto::size
    - alloc
    - auto::data
    - string_view::size
    linkageType: ''
    returnType: string_view
    signature: string_view Errata::Data::localize(string_view src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::sink
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Errata::~Errata()
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::sink
    linkageType: ''
    returnType: void
    signature: void Errata::~Errata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::clear'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '&

      Errata::sink()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::clear'
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::sink()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: swoc::SWOC_VERSION_NS::Errata::data
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 2
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: Errata::Data
    signature: 'Errata::Data *

      Errata::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: swoc::SWOC_VERSION_NS::Errata::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::data
    - swoc::SWOC_VERSION_NS::Errata::alloc
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> Errata::alloc(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:80,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:81,1
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:83,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::alloc'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:85,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::note_localized'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - severity
    - text
    argTypes:
    - std::optional<Severity>
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: '&

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::note_s(std::optional<Severity> severity, std::alloc'
    - memcpy
    - '&

      Errata::note_s(std::optional<Severity> severity, std::note_localized'
    - '&

      Errata::note_s(std::optional<Severity> severity, std::update'
    - std::string_view::size
    - std::optional<Severity>::has_value
    - TextView
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::note_localized(std::string_view const &text, std::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:93,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:94,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - text
    - severity
    argTypes:
    - std::string_view
    - std::optional<Severity>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '&

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - auto::_notes::append
    - '&

      Errata::note_localized(std::string_view const &text, std::data'
    - auto::_arena::make
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:102,1
    - Dst: self_type::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:103,1
    - Dst: '&

        Errata::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: self_type::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::localize
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: '&

      Errata::note(const self_type &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::update'
    - '&

      Errata::data'
    - auto::_notes::append
    - auto::_arena::make
    - self_type::severity
    - auto::localize
    - self_type::has_severity
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note(const self_type &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _severity::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: _severity::value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::assign
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - severity
    argTypes:
    - Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: swoc::SWOC_VERSION_NS::Errata::update
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::assign
    - _severity::has_value
    - _severity::value
    linkageType: ''
    returnType: auto
    signature: auto Errata::update(Severity severity) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Sink::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: swoc::SWOC_VERSION_NS::Errata::register_sink
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Errata::register_sink(Sink::Handle const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:128,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:129,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bw
    - spec
    - level
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Errata::Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 19
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &spec, Errata::Severity level)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Errata::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:140,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:144,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::annotation_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:149,1
    - Dst: Errata::annotation_severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:150,1
    - Dst: Errata::indent_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:151,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:153,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: level
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bw
    - errata
    argTypes:
    - BufferWriter
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 19
    functionsReached:
    - text
    - has_severity
    - Errata::severity
    - Errata::code
    - Errata::has_severity
    - Errata::severity_glue_text
    - BufferWriter::print
    - Errata::annotation_glue_text
    - swoc::SWOC_VERSION_NS::bwf::If
    - Errata::indent_text
    - level
    - severity
    - Errata::annotation_severity_glue_text
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &, Errata const &errata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:168,1
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: '&

      Errata::write(std::ostream &out) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - bwprint
    - std::string::reserve
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      Errata::write(std::ostream &out) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::write
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '&

      operator<<(std::ostream &os, Errata const &err)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::write
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, Errata const &err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:30,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:31,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Errata::Data::localize(string_view src)
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - string_view::data
    - auto::size
    - alloc
    - auto::data
    - string_view::size
    linkageType: ''
    returnType: string_view
    signature: string_view Errata::Data::localize(string_view src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::sink
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Errata::~Errata()
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::sink
    linkageType: ''
    returnType: void
    signature: void Errata::~Errata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::clear'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '&

      Errata::sink()'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::clear'
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::sink()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    - Dst: std::move
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: swoc::SWOC_VERSION_NS::Errata::data
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 3
    functionsReached:
    - std::move
    - MemArena::make
    linkageType: ''
    returnType: Errata::Data
    signature: 'Errata::Data *

      Errata::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::Errata::data
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::alloc
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: swoc::SWOC_VERSION_NS::Errata::alloc
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::data
    - swoc::SWOC_VERSION_NS::Errata::alloc
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> Errata::alloc(size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:80,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:81,1
    - Dst: std::optional<Severity>::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:83,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::alloc'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:84,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:85,1
    - Dst: '&

        Errata::note_s(std::optional<Severity> severity, std::note_localized'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    - Dst: TextView
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - severity
    - text
    argTypes:
    - std::optional<Severity>
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: '&

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::note_s(std::optional<Severity> severity, std::alloc'
    - memcpy
    - '&

      Errata::note_s(std::optional<Severity> severity, std::note_localized'
    - '&

      Errata::note_s(std::optional<Severity> severity, std::update'
    - std::string_view::size
    - std::optional<Severity>::has_value
    - TextView
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_s(std::optional<Severity> severity, std::string_view text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::note_localized(std::string_view const &text, std::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:93,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:94,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - text
    - severity
    argTypes:
    - std::string_view
    - std::optional<Severity>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '&

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - auto::_notes::append
    - '&

      Errata::note_localized(std::string_view const &text, std::data'
    - auto::_arena::make
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note_localized(std::string_view const &text, std::optional<Severity>
      severity)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '&

        Errata::data'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:102,1
    - Dst: self_type::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:103,1
    - Dst: '&

        Errata::update'
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: self_type::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:104,1
    - Dst: auto::_notes::append
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::_arena::make
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    - Dst: auto::localize
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: '&

      Errata::note(const self_type &that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - '&

      Errata::update'
    - '&

      Errata::data'
    - auto::_notes::append
    - auto::_arena::make
    - self_type::severity
    - auto::localize
    - self_type::has_severity
    linkageType: ''
    returnType: Errata
    signature: 'Errata &

      Errata::note(const self_type &that)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _severity::has_value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: _severity::value
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:115,1
    - Dst: swoc::SWOC_VERSION_NS::Errata::assign
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - severity
    argTypes:
    - Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: swoc::SWOC_VERSION_NS::Errata::update
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::Errata::assign
    - _severity::has_value
    - _severity::value
    linkageType: ''
    returnType: auto
    signature: auto Errata::update(Severity severity) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Sink::Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: swoc::SWOC_VERSION_NS::Errata::register_sink
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Errata::register_sink(Sink::Handle const &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:128,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:129,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bw
    - spec
    - level
    argTypes:
    - BufferWriter
    - bwf::Spec
    - Errata::Severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 20
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &spec, Errata::Severity level)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Errata::has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:140,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:141,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:144,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::code
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:145,1
    - Dst: Errata::annotation_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:149,1
    - Dst: Errata::annotation_severity_glue_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:150,1
    - Dst: Errata::indent_text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:151,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:153,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: level
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:154,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::If
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: has_severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: severity
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: text
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:155,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bw
    - errata
    argTypes:
    - BufferWriter
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 20
    functionsReached:
    - text
    - has_severity
    - Errata::severity
    - Errata::code
    - Errata::has_severity
    - Errata::severity_glue_text
    - BufferWriter::print
    - Errata::annotation_glue_text
    - swoc::SWOC_VERSION_NS::bwf::If
    - Errata::indent_text
    - level
    - severity
    - Errata::annotation_severity_glue_text
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &bw, bwf::Spec const &, Errata const &errata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:168,1
    - Dst: bwprint
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: '&

      Errata::write(std::ostream &out) const'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - bwprint
    - std::string::reserve
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      Errata::write(std::ostream &out) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Errata::write
      Src: /src/trafficserver/lib/swoc/src/Errata.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - err
    argTypes:
    - std::ostream
    - Errata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '&

      operator<<(std::ostream &os, Errata const &err)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/Errata.cc
    functionUses: 0
    functionsReached:
    - Errata::write
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream &os, Errata const &err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 13
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 17
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 10
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    - Dst: file::path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - p
    argTypes:
    - BufferWriter
    - bwf::Spec
    - file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 21
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - file::path::string
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, file::path const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 21
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 10
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 11
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 8
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 25
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 11
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 12
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 3
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    - Dst: file::path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - p
    argTypes:
    - BufferWriter
    - bwf::Spec
    - file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 22
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - file::path::string
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, file::path const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 29
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 12
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 12
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 12
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 13
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 4
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 10
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 33
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 15
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 15
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 13
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 14
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 11
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    - Dst: file::path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - p
    argTypes:
    - BufferWriter
    - bwf::Spec
    - file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 23
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - file::path::string
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, file::path const &p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 37
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 18
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 18
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 14
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 15
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 6
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 12
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextView::split_suffix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: swoc::SWOC_VERSION_NS::file::path::parent_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - TextView::split_suffix_at
    linkageType: ''
    returnType: path
    signature: path path::parent_path() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:31,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: swoc::SWOC_VERSION_NS::file::path::relative_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::path::empty
    - front
    - substr
    linkageType: ''
    returnType: path
    signature: path path::relative_path() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:39,1
    - Dst: self_type
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    - Dst: substr
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: swoc::SWOC_VERSION_NS::file::path::filename
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - self_type
    - find_last_of
    - substr
    linkageType: ''
    returnType: auto
    signature: auto path::filename() const -> self_type
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:45,1
    - Dst: std::string_view::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:46,1
    - Dst: assign
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:47,1
    - Dst: back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:49,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:50,1
    - Dst: reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:52,1
    - Dst: push_back
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:53,1
    - Dst: append
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - that
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '&

      path::operator/=(std::string_view that)'
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::string_view::front
    - back
    - std::string_view::empty
    - push_back
    - std::string_view::size
    - append
    - reserve
    - empty
    - assign
    - size
    linkageType: ''
    returnType: path
    signature: 'path &

      path::operator/=(std::string_view that)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: swoc::SWOC_VERSION_NS::file::file_status::init
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_status::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:94,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:95,1
    - Dst: file_status::init
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:96,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: swoc::SWOC_VERSION_NS::file::status
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 41
    functionsReached:
    - std::system_category
    - path::c_str
    - elevating_stat
    - std::error_code::clear
    - file_status::init
    - std::error_code
    linkageType: ''
    returnType: file_status
    signature: file_status status(path const &file, std::error_code &ec) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: swoc::SWOC_VERSION_NS::file::file_type
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_type(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: swoc::SWOC_VERSION_NS::file::file_size
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t file_size(const file_status &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:119,1
    - Dst: swoc::SWOC_VERSION_NS::file::exists
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: swoc::SWOC_VERSION_NS::file::exists
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - swoc::SWOC_VERSION_NS::file::exists
    linkageType: ''
    returnType: bool
    signature: bool exists(const path &p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:126,1
    - Dst: path::is_absolute
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:127,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:130,1
    - Dst: realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:133,1
    - Dst: free
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:136,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::file::absolute
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - free
    - path::c_str
    - realpath
    - std::error_code::clear
    - path::is_absolute
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path absolute(path const &src, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 21
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<system_clock::duration>
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::file::chrono_cast
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 21
    functionsReached:
    - duration_cast<system_clock::duration>
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type chrono_cast(timespec const &ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_atim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: swoc::SWOC_VERSION_NS::file::a_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto a_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_atimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_mtim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: swoc::SWOC_VERSION_NS::file::m_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto m_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_mtimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<0>) -> decltype(S::st_ctim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: swoc::SWOC_VERSION_NS::file::c_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto c_time(S const &s, meta::CaseTag<1>) -> decltype(S::st_ctimespec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    - Dst: swoc::SWOC_VERSION_NS::file::m_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 15
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::m_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::file::a_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: swoc::SWOC_VERSION_NS::file::access_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    - swoc::SWOC_VERSION_NS::file::a_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type access_time(file_status const &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::chrono_cast
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    - Dst: swoc::SWOC_VERSION_NS::file::c_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - file_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: swoc::SWOC_VERSION_NS::file::status_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::c_time
    - swoc::SWOC_VERSION_NS::file::chrono_cast
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type status_time(file_status const &fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:211,1
    - Dst: min
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:213,1
    - Dst: swoc::SWOC_VERSION_NS::file::last_write_time
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: swoc::SWOC_VERSION_NS::file::last_write_time
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 16
    functionsReached:
    - swoc::SWOC_VERSION_NS::file::status
    - min
    - swoc::SWOC_VERSION_NS::file::last_write_time
    linkageType: ''
    returnType: file_time_type
    signature: file_time_type last_write_time(path const &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::file::is_readable
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - access
    - path::c_str
    linkageType: ''
    returnType: bool
    signature: bool is_readable(const path &p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:229,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:230,1
    - Dst: path
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: swoc::SWOC_VERSION_NS::file::temp_directory_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 5
    functionsReached:
    - ::getenv
    - path
    linkageType: ''
    returnType: path
    signature: path temp_directory_path()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::getcwd
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:239,1
    - Dst: ::get_current_dir_name
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:243,1
    - Dst: swoc::unique_malloc::get
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: swoc::SWOC_VERSION_NS::file::current_path
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 2
    functionsReached:
    - swoc::unique_malloc::get
    - ::getcwd
    - ::get_current_dir_name
    linkageType: ''
    returnType: path
    signature: path current_path()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:252,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:253,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:259,1
    - Dst: ::realpath
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:263,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: swoc::SWOC_VERSION_NS::file::canonical
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - std::system_category
    - path::c_str
    - path::empty
    - ::realpath
    - std::error_code
    linkageType: ''
    returnType: path
    signature: path canonical(const path &p, std::error_code &ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:273,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:274,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:278,1
    - Dst: ::mkdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:279,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:282,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:283,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - path
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: swoc::SWOC_VERSION_NS::file::create_directory
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 7
    functionsReached:
    - ::mkdir
    - std::system_category
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - path::empty
    - std::error_code::clear
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool create_directory(const path &path, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:295,1
    - Dst: TextView::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:297,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:298,1
    - Dst: TextView::front
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:304,1
    - Dst: TextView::prefix
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:305,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:308,1
    - Dst: path::reserve
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:313,1
    - Dst: TextView::take_prefix_at
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:316,1
    - Dst: swoc::SWOC_VERSION_NS::file::create_directory
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ec
    - mode
    argTypes:
    - path
    - std::error_code
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: swoc::SWOC_VERSION_NS::file::create_directories
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 9
    functionsReached:
    - TextView::take_prefix_at
    - std::system_category
    - path::reserve
    - TextView::front
    - std::error_code::clear
    - path::string
    - TextView::prefix
    - TextView::empty
    - std::error_code
    - swoc::SWOC_VERSION_NS::file::create_directory
    linkageType: ''
    returnType: bool
    signature: bool create_directories(const path &p, std::error_code &ec, mode_t
      mode) noexcept
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:333,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:334,1
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:338,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:340,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:345,1
    - Dst: swoc::SWOC_VERSION_NS::file::status
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: std::error_code::value
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: swoc::SWOC_VERSION_NS::file::is_dir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:348,1
    - Dst: path::filename
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:349,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: auto::mode
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:354,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:356,1
    - Dst: read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: swoc::MemSpan::size
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:361,1
    - Dst: MIOBuffer::write
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: swoc::MemSpan::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:362,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - from
    - to
    - ec
    argTypes:
    - path
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 372
    functionName: swoc::SWOC_VERSION_NS::file::copy
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 1
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - swoc::MemSpan::size
    - swoc::SWOC_VERSION_NS::file::is_dir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::status
    - auto::mode
    - read
    - MIOBuffer::write
    - path::empty
    - std::error_code::clear
    - swoc::MemSpan::data
    - path::filename
    - std::error_code::value
    - std::error_code
    linkageType: ''
    returnType: bool
    signature: bool copy(const path &from, const path &to, std::error_code &ec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:383,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:384,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:386,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:387,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:389,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:391,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:392,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:397,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:398,1
    - Dst: opendir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:405,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:406,1
    - Dst: readdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:411,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: strcmp
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:412,1
    - Dst: swoc::SWOC_VERSION_NS::file::remove_all
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:417,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:420,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:421,1
    - Dst: closedir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 427
    functionName: swoc::SWOC_VERSION_NS::file::remove_all
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 13
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - strcmp
    - unlink
    - std::system_category
    - rmdir
    - path::c_str
    - swoc::SWOC_VERSION_NS::file::remove_all
    - closedir
    - elevating_stat
    - path::empty
    - opendir
    - std::error_code
    - readdir
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t remove_all(const path &p, std::error_code &ec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: path::empty
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:433,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:434,1
    - Dst: elevating_stat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:435,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:436,1
    - Dst: S_ISREG
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:437,1
    - Dst: unlink
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:439,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:440,1
    - Dst: S_ISDIR
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:442,1
    - Dst: rmdir
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:444,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:445,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: swoc::SWOC_VERSION_NS::file::remove
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - S_ISREG
    - unlink
    - std::system_category
    - path::c_str
    - elevating_stat
    - path::empty
    - std::error_code
    - rmdir
    linkageType: ''
    returnType: bool
    signature: bool remove(path const &p, std::error_code &ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::error_code::clear
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:456,1
    - Dst: AIOFaultInjection::open
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: path::c_str
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:457,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:458,1
    - Dst: ::fstat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:461,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:462,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:465,1
    - Dst: IOBufferReader::read
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:466,1
    - Dst: std::error_code
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    - Dst: std::system_category
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p
    - ec
    argTypes:
    - path
    - std::error_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: swoc::SWOC_VERSION_NS::file::load
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 27
    functionsReached:
    - AIOFaultInjection::open
    - std::system_category
    - IOBufferReader::read
    - path::c_str
    - std::string::data
    - std::string::resize
    - std::error_code::clear
    - ::fstat
    - std::error_code
    linkageType: ''
    returnType: std::string
    signature: std::string load(const path &p, std::error_code &ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    - Dst: file::path::string
      Src: /src/trafficserver/lib/swoc/src/swoc_file.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - p
    argTypes:
    - BufferWriter
    - bwf::Spec
    - file::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/swoc_file.cc
    functionUses: 24
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - file::path::string
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, file::path const &p)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:26,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:27,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:30,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:60,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:67,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:69,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:70,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:74,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 81
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 25
    functionsReached:
    - Spec::has_numeric_type
    - reinterpret_cast<uint8_t const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - reinterpret_cast<QUAD *>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, in6_addr const &addr)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:97,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:98,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:100,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:101,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:103,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:104,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:107,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:135,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:141,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:145,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:148,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:164,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:166,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 173
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 26
    functionsReached:
    - swoc::bwformat
    - Spec::has_numeric_type
    - reinterpret_cast<sockaddr_in6 const *>
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    - reinterpret_cast<sockaddr_in const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<void const *>
    - swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, sockaddr const *addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:177,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:181,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:182,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:185,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:203,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 206
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 27
    functionsReached:
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<uint8_t>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 28
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Addr::network_order
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Addr const &addr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:216,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 29
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::print
    - IP4Srv::addr
    - IP4Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Srv const &srv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP6Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:224,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:226,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 30
    functionsReached:
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Srv::addr
    - BufferWriter::write
    - IP6Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Srv const &srv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:237,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:239,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 31
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::is_ip6
    - IP6Srv
    - swoc::SWOC_VERSION_NS::bwformat
    - IP4Srv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPSrv const &srv)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:251,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:252,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:253,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:254,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:255,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:258,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:275,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:277,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:287,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:289,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 32
    functionsReached:
    - swoc::bwformat
    - IPAddr::ip4
    - IPAddr::family
    - Spec::has_numeric_type
    - IPAddr::is_ip6
    - IPAddr::ip6
    - BufferWriter::print
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - IPAddr::is_ip4
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPAddr const &addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:300,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:301,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:304,1
    - Dst: IP4Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:305,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:308,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:311,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:312,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:317,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    - Dst: IP4Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP4Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 33
    functionsReached:
    - IP4Range::is_singleton
    - IP4Range::empty
    - IP4Range::network_mask
    - swoc::SWOC_VERSION_NS::bwformat
    - auto::is_valid
    - IP4Range::max
    - IP4Range::min
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Range const &range)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:325,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:326,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:329,1
    - Dst: IP6Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:333,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:336,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:337,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    - Dst: IP6Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP6Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 34
    functionsReached:
    - IP6Range::empty
    - IP6Range::max
    - IP6Range::is_singleton
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Range::min
    - IP6Range::network_mask
    - auto::is_valid
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Range const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 35
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::is
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRange const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - rv
    argTypes:
    - BufferWriter
    - Spec
    - IPRangeView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 36
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPRangeView::is
    - IPRangeView::ip4
    - IPRangeView::ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRangeView const &rv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: IP4Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:363,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    - Dst: IP4Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP4Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 37
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP4Net::mask
    - IP4Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Net const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: IP6Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:371,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    - Dst: IP6Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP6Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 38
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP6Net::mask
    - IP6Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Net const &net)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPNet::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:378,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:380,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: IPNet::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IPNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 39
    functionsReached:
    - IPNet::is_ip4
    - swoc::SWOC_VERSION_NS::bwformat
    - IPNet::ip6
    - IPNet::ip4
    - IPNet::is_ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPNet const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - Spec
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 40
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPMask::width
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPMask const &mask)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:26,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:27,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:30,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:60,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:67,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:69,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:70,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:74,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 81
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 41
    functionsReached:
    - Spec::has_numeric_type
    - reinterpret_cast<uint8_t const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - reinterpret_cast<QUAD *>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, in6_addr const &addr)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:97,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:98,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:100,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:101,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:103,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:104,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:107,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:135,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:141,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:145,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:148,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:164,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:166,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 173
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 42
    functionsReached:
    - swoc::bwformat
    - Spec::has_numeric_type
    - reinterpret_cast<sockaddr_in6 const *>
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    - reinterpret_cast<sockaddr_in const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<void const *>
    - swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, sockaddr const *addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:177,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:181,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:182,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:185,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:203,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 206
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 43
    functionsReached:
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<uint8_t>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 44
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Addr::network_order
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Addr const &addr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:216,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 45
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::print
    - IP4Srv::addr
    - IP4Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Srv const &srv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP6Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:224,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:226,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 46
    functionsReached:
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Srv::addr
    - BufferWriter::write
    - IP6Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Srv const &srv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:237,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:239,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 47
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::is_ip6
    - IP6Srv
    - swoc::SWOC_VERSION_NS::bwformat
    - IP4Srv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPSrv const &srv)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:251,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:252,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:253,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:254,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:255,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:258,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:275,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:277,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:287,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:289,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 48
    functionsReached:
    - swoc::bwformat
    - IPAddr::ip4
    - IPAddr::family
    - Spec::has_numeric_type
    - IPAddr::is_ip6
    - IPAddr::ip6
    - BufferWriter::print
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - IPAddr::is_ip4
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPAddr const &addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:300,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:301,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:304,1
    - Dst: IP4Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:305,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:308,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:311,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:312,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:317,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    - Dst: IP4Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP4Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 49
    functionsReached:
    - IP4Range::is_singleton
    - IP4Range::empty
    - IP4Range::network_mask
    - swoc::SWOC_VERSION_NS::bwformat
    - auto::is_valid
    - IP4Range::max
    - IP4Range::min
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Range const &range)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:325,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:326,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:329,1
    - Dst: IP6Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:333,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:336,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:337,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    - Dst: IP6Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP6Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 50
    functionsReached:
    - IP6Range::empty
    - IP6Range::max
    - IP6Range::is_singleton
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Range::min
    - IP6Range::network_mask
    - auto::is_valid
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Range const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 51
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::is
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRange const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - rv
    argTypes:
    - BufferWriter
    - Spec
    - IPRangeView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 52
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPRangeView::is
    - IPRangeView::ip4
    - IPRangeView::ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRangeView const &rv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: IP4Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:363,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    - Dst: IP4Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP4Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 53
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP4Net::mask
    - IP4Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Net const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: IP6Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:371,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    - Dst: IP6Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP6Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 54
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP6Net::mask
    - IP6Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Net const &net)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPNet::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:378,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:380,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: IPNet::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IPNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 55
    functionsReached:
    - IPNet::is_ip4
    - swoc::SWOC_VERSION_NS::bwformat
    - IPNet::ip6
    - IPNet::ip4
    - IPNet::is_ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPNet const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - Spec
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 56
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPMask::width
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPMask const &mask)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:26,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:27,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:30,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:60,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:67,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:69,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:70,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:74,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 81
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 57
    functionsReached:
    - Spec::has_numeric_type
    - reinterpret_cast<uint8_t const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - reinterpret_cast<QUAD *>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, in6_addr const &addr)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:97,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:98,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:100,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:101,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:103,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:104,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:107,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:135,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:141,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:145,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:148,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:164,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:166,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 173
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 58
    functionsReached:
    - swoc::bwformat
    - Spec::has_numeric_type
    - reinterpret_cast<sockaddr_in6 const *>
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    - reinterpret_cast<sockaddr_in const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<void const *>
    - swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, sockaddr const *addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:177,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:181,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:182,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:185,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:203,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 206
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 59
    functionsReached:
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<uint8_t>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 60
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Addr::network_order
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Addr const &addr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:216,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 61
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::print
    - IP4Srv::addr
    - IP4Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Srv const &srv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP6Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:224,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:226,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 62
    functionsReached:
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Srv::addr
    - BufferWriter::write
    - IP6Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Srv const &srv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:237,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:239,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 63
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::is_ip6
    - IP6Srv
    - swoc::SWOC_VERSION_NS::bwformat
    - IP4Srv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPSrv const &srv)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:251,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:252,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:253,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:254,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:255,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:258,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:275,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:277,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:287,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:289,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 64
    functionsReached:
    - swoc::bwformat
    - IPAddr::ip4
    - IPAddr::family
    - Spec::has_numeric_type
    - IPAddr::is_ip6
    - IPAddr::ip6
    - BufferWriter::print
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - IPAddr::is_ip4
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPAddr const &addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:300,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:301,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:304,1
    - Dst: IP4Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:305,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:308,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:311,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:312,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:317,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    - Dst: IP4Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP4Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 65
    functionsReached:
    - IP4Range::is_singleton
    - IP4Range::empty
    - IP4Range::network_mask
    - swoc::SWOC_VERSION_NS::bwformat
    - auto::is_valid
    - IP4Range::max
    - IP4Range::min
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Range const &range)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:325,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:326,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:329,1
    - Dst: IP6Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:333,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:336,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:337,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    - Dst: IP6Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP6Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 66
    functionsReached:
    - IP6Range::empty
    - IP6Range::max
    - IP6Range::is_singleton
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Range::min
    - IP6Range::network_mask
    - auto::is_valid
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Range const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 67
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::is
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRange const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - rv
    argTypes:
    - BufferWriter
    - Spec
    - IPRangeView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 68
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPRangeView::is
    - IPRangeView::ip4
    - IPRangeView::ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRangeView const &rv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: IP4Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:363,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    - Dst: IP4Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP4Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 69
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP4Net::mask
    - IP4Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Net const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: IP6Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:371,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    - Dst: IP6Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP6Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 70
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP6Net::mask
    - IP6Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Net const &net)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPNet::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:378,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:380,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: IPNet::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IPNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 71
    functionsReached:
    - IPNet::is_ip4
    - swoc::SWOC_VERSION_NS::bwformat
    - IPNet::ip6
    - IPNet::ip4
    - IPNet::is_ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPNet const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - Spec
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 72
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPMask::width
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPMask const &mask)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:26,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:27,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:30,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: reinterpret_cast<QUAD *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:42,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:60,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:65,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:67,1
    - Dst: reinterpret_cast<uint8_t const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:69,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:70,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:74,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 81
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 73
    functionsReached:
    - Spec::has_numeric_type
    - reinterpret_cast<uint8_t const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - reinterpret_cast<QUAD *>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, in6_addr const &addr)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: static_cast<void const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:93,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:97,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:98,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:100,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:101,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:103,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:104,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:107,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: swoc::SWOC_VERSION_NS::IP4Addr::reorder
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: reinterpret_cast<sockaddr_in const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:131,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:135,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: reinterpret_cast<sockaddr_in6 const *>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:138,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:141,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:145,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:148,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:159,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:164,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:166,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:167,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    - Dst: swoc::SWOC_VERSION_NS::IPEndpoint::family_name
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:169,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 173
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 74
    functionsReached:
    - swoc::bwformat
    - Spec::has_numeric_type
    - reinterpret_cast<sockaddr_in6 const *>
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::IP4Addr::reorder
    - reinterpret_cast<sockaddr_in const *>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<void const *>
    - swoc::SWOC_VERSION_NS::IPEndpoint::host_order_port
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::IPEndpoint::family_name
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, sockaddr const *addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Addr::host_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:177,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:181,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:182,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:185,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:198,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:199,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:200,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:201,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:202,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:203,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP4Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 206
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 75
    functionsReached:
    - IP4Addr::host_order
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - static_cast<uint8_t>
    - BufferWriter::write
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Addr const &addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    - Dst: IP6Addr::network_order
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IP6Addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 76
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Addr::network_order
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Addr const &addr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:215,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:216,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    - Dst: IP4Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP4Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 77
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::print
    - IP4Srv::addr
    - IP4Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Srv const &srv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP6Srv::host_order_port
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:224,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:226,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:227,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:228,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    - Dst: IP6Srv::addr
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IP6Srv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 78
    functionsReached:
    - BufferWriter::print
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Srv::addr
    - BufferWriter::write
    - IP6Srv::host_order_port
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Srv const &srv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPSrv::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:237,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IP4Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:238,1
    - Dst: IPSrv::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:239,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    - Dst: IP6Srv
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - srv
    argTypes:
    - BufferWriter
    - Spec
    - IPSrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 79
    functionsReached:
    - IPSrv::is_ip4
    - IPSrv::is_ip6
    - IP6Srv
    - swoc::SWOC_VERSION_NS::bwformat
    - IP4Srv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPSrv const &srv)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:251,1
    - Dst: Spec::_ext::front
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:252,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:253,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:254,1
    - Dst: Spec::_ext::remove_prefix
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:255,1
    - Dst: Spec::_ext::size
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:258,1
    - Dst: IPAddr::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:275,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:276,1
    - Dst: IPAddr::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:277,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: IPAddr::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:278,1
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:280,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:287,1
    - Dst: Spec::has_numeric_type
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:289,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:290,1
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    - Dst: IPAddr::family
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - w
    - spec
    - addr
    argTypes:
    - BufferWriter
    - Spec
    - IPAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 80
    functionsReached:
    - swoc::bwformat
    - IPAddr::ip4
    - IPAddr::family
    - Spec::has_numeric_type
    - IPAddr::is_ip6
    - IPAddr::ip6
    - BufferWriter::print
    - static_cast<uintmax_t>
    - swoc::SWOC_VERSION_NS::bwformat
    - Spec::_ext::front
    - IPAddr::is_ip4
    - BufferWriter::write
    - Spec::_ext::remove_prefix
    - Spec::_ext::size
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPAddr const &addr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP4Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:300,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:301,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:304,1
    - Dst: IP4Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:305,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:306,1
    - Dst: IP4Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:308,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:309,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:310,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:311,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:312,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: IP4Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:316,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:317,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    - Dst: IP4Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP4Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 81
    functionsReached:
    - IP4Range::is_singleton
    - IP4Range::empty
    - IP4Range::network_mask
    - swoc::SWOC_VERSION_NS::bwformat
    - auto::is_valid
    - IP4Range::max
    - IP4Range::min
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Range const &range)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP6Range::empty
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:325,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:326,1
    - Dst: Spec::_ext::find
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:329,1
    - Dst: IP6Range::is_singleton
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:330,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:331,1
    - Dst: IP6Range::network_mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:333,1
    - Dst: auto::is_valid
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:334,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:335,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:336,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:337,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: IP6Range::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:341,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:342,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    - Dst: IP6Range::max
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IP6Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 82
    functionsReached:
    - IP6Range::empty
    - IP6Range::max
    - IP6Range::is_singleton
    - swoc::SWOC_VERSION_NS::bwformat
    - IP6Range::min
    - IP6Range::network_mask
    - auto::is_valid
    - BufferWriter::write
    - Spec::_ext::find
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Range const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:350,1
    - Dst: IPRange::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: IPRange::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:351,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - range
    argTypes:
    - BufferWriter
    - Spec
    - IPRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 83
    functionsReached:
    - IPRange::ip4
    - IPRange::ip6
    - IPRange::is
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRange const &range)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::is
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: IPRangeView::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - rv
    argTypes:
    - BufferWriter
    - Spec
    - IPRangeView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 84
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPRangeView::is
    - IPRangeView::ip4
    - IPRangeView::ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPRangeView const &rv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: IP4Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:362,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:363,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    - Dst: IP4Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP4Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 85
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP4Net::mask
    - IP4Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP4Net const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: IP6Net::min
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:370,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:371,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    - Dst: IP6Net::mask
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IP6Net
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 86
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - IP6Net::mask
    - IP6Net::min
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IP6Net const &net)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPNet::is_ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:378,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::ip6
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:379,1
    - Dst: IPNet::is_ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:380,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: IPNet::ip4
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:381,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - spec
    - net
    argTypes:
    - BufferWriter
    - Spec
    - IPNet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 87
    functionsReached:
    - IPNet::is_ip4
    - swoc::SWOC_VERSION_NS::bwformat
    - IPNet::ip6
    - IPNet::ip4
    - IPNet::is_ip6
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPNet const &net)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    - Dst: IPMask::width
      Src: /src/trafficserver/lib/swoc/src/bw_ip_format.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - mask
    argTypes:
    - BufferWriter
    - Spec
    - IPMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/src/bw_ip_format.cc
    functionUses: 88
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - IPMask::width
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, Spec const &spec, IPMask const &mask)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    - Dst: std::atomic<T>::load
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - v
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::atomic<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 88
    functionsReached:
    - swoc::bwformat
    - std::atomic<T>::load
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::atomic<T> const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - bits
    argTypes:
    - BufferWriter
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 88
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec */, std::bitset<N> const
      &bits)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    - Dst: std::chrono::duration<Rep, Period>::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::duration<Rep, Period>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 89
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::duration<Rep, Period>::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::duration<Rep,
      Period> const &d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    - Dst: std::chrono::time_point<Clock, Duration>::time_since_epoch
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::time_point<Clock, Duration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 90
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::time_point<Clock, Duration>::time_since_epoch
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::time_point<Clock,
      Duration> const &t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:52,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    - Dst: std::exception::what
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 91
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - std::exception::what
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::exception const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    - Dst: std::atomic<T>::load
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - v
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::atomic<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 91
    functionsReached:
    - swoc::bwformat
    - std::atomic<T>::load
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::atomic<T> const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - bits
    argTypes:
    - BufferWriter
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 91
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec */, std::bitset<N> const
      &bits)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    - Dst: std::chrono::duration<Rep, Period>::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::duration<Rep, Period>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 92
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::duration<Rep, Period>::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::duration<Rep,
      Period> const &d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    - Dst: std::chrono::time_point<Clock, Duration>::time_since_epoch
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::time_point<Clock, Duration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 93
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::time_point<Clock, Duration>::time_since_epoch
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::time_point<Clock,
      Duration> const &t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:52,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    - Dst: std::exception::what
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 94
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - std::exception::what
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::exception const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    - Dst: std::atomic<T>::load
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - v
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::atomic<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 94
    functionsReached:
    - swoc::bwformat
    - std::atomic<T>::load
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::atomic<T> const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - bits
    argTypes:
    - BufferWriter
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 94
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec */, std::bitset<N> const
      &bits)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    - Dst: std::chrono::duration<Rep, Period>::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::duration<Rep, Period>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 95
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::duration<Rep, Period>::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::duration<Rep,
      Period> const &d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    - Dst: std::chrono::time_point<Clock, Duration>::time_since_epoch
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::time_point<Clock, Duration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 96
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::time_point<Clock, Duration>::time_since_epoch
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::time_point<Clock,
      Duration> const &t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:52,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    - Dst: std::exception::what
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 97
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - std::exception::what
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::exception const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    - Dst: std::atomic<T>::load
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - v
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::atomic<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 97
    functionsReached:
    - swoc::bwformat
    - std::atomic<T>::load
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::atomic<T> const &v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - bits
    argTypes:
    - BufferWriter
    - std::bitset<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 97
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const & /* spec */, std::bitset<N> const
      &bits)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    - Dst: std::chrono::duration<Rep, Period>::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - d
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::duration<Rep, Period>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 98
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::duration<Rep, Period>::count
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::duration<Rep,
      Period> const &d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    - Dst: std::chrono::time_point<Clock, Duration>::time_since_epoch
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - t
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::chrono::time_point<Clock, Duration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 99
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - std::chrono::time_point<Clock, Duration>::time_since_epoch
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::chrono::time_point<Clock,
      Duration> const &t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:52,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    - Dst: std::exception::what
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - spec
    - e
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_std.h
    functionUses: 100
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - BufferWriter::write
    - std::exception::what
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::exception const &e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:502,1
    - Dst: __has_include
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 539
    functionName: std::pmr::memory_resource
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - round_up
    - __has_include
    linkageType: ''
    returnType: class MemArena
    signature: class MemArena std::pmr::memory_resource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: MemArena::Block::Block(size_t n) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::Block(size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: '*

      MemArena::Block::data()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: '*

      MemArena::Block::data() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: '*

      MemArena::Block::allocated_data_end()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: '*

      MemArena::Block::allocated_data_end() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: MemArena::Block::contains(const void *ptr) const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::contains(const void *ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: MemArena::Block::remaining() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: MemArena::Block::is_full() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::is_full() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:642,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:643,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:644,1
    - Dst: MemArena::Block::remnant
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:647,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: MemArena::Block::alloc(size_t n, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - align_padding
    - MemSpan::remove_prefix
    - MemArena::Block::data
    - MemArena::Block::remnant
    - MemArena::Block::remaining
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: MemArena::Block::remnant()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: '&

      MemArena::Block::discard()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block &

      MemArena::Block::discard()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:668,1
    - Dst: static_cast<Block *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: std::bad_alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: '*

      MemArena::Block::operator new(size_t block_size, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::bad_alloc
    - static_cast<Block *>
    - RegexMatches::malloc
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new(size_t block_size, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block_size
    - place
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: '*

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: MemArena::Block::operator delete(void *ptr) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete(void *ptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - place
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: MemArena::Block::align_padding(void const *ptr, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::align_padding(void const *ptr, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::alloc_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::MemArena::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: T
    signature: 'T *

      MemArena::make(Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::localize
    - strlen
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:728,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize_c
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 1
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::MemArena::localize_c
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:739,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: Block::align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - auto::data
    - swoc::SWOC_VERSION_NS::MemArena::require
    - Block::align_padding
    - auto::remove_prefix
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::remnant_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: MemArena::remnant_span<void>(size_t n)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant_span<void>(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: swoc::SWOC_VERSION_NS::MemArena::size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::MemArena::allocated_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::allocated_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: swoc::SWOC_VERSION_NS::MemArena::remaining
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: MemSpan<void>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    - MemSpan<void>
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: swoc::SWOC_VERSION_NS::MemArena::reserved_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::reserved_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: swoc::SWOC_VERSION_NS::MemArena::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: swoc::SWOC_VERSION_NS::MemArena::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - MemArena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::FixedArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::FixedArena(MemArena &arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: template make<T>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - template make<T>
    - T::T
    linkageType: ''
    returnType: T
    signature: 'T *

      FixedArena<T>::make(Args... args)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:819,1
    - Dst: reinterpret_cast<Item *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::destroy
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Item *>
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::clear
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: '&

      FixedArena<T>::arena()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      FixedArena<T>::arena()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:502,1
    - Dst: __has_include
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 539
    functionName: std::pmr::memory_resource
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - round_up
    - __has_include
    linkageType: ''
    returnType: class MemArena
    signature: class MemArena std::pmr::memory_resource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: MemArena::Block::Block(size_t n) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::Block(size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: '*

      MemArena::Block::data()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: '*

      MemArena::Block::data() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: '*

      MemArena::Block::allocated_data_end()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: '*

      MemArena::Block::allocated_data_end() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: MemArena::Block::contains(const void *ptr) const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::contains(const void *ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: MemArena::Block::remaining() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: MemArena::Block::is_full() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::is_full() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:642,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:643,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:644,1
    - Dst: MemArena::Block::remnant
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:647,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: MemArena::Block::alloc(size_t n, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - align_padding
    - MemSpan::remove_prefix
    - MemArena::Block::data
    - MemArena::Block::remnant
    - MemArena::Block::remaining
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: MemArena::Block::remnant()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: '&

      MemArena::Block::discard()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block &

      MemArena::Block::discard()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:668,1
    - Dst: static_cast<Block *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: std::bad_alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: '*

      MemArena::Block::operator new(size_t block_size, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::bad_alloc
    - static_cast<Block *>
    - RegexMatches::malloc
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new(size_t block_size, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block_size
    - place
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: '*

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: MemArena::Block::operator delete(void *ptr) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete(void *ptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - place
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: MemArena::Block::align_padding(void const *ptr, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::align_padding(void const *ptr, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::alloc_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::MemArena::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: T
    signature: 'T *

      MemArena::make(Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 1
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::localize
    - strlen
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:728,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 1
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize_c
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 2
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::MemArena::localize_c
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:739,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: Block::align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - auto::data
    - swoc::SWOC_VERSION_NS::MemArena::require
    - Block::align_padding
    - auto::remove_prefix
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::remnant_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: MemArena::remnant_span<void>(size_t n)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant_span<void>(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: swoc::SWOC_VERSION_NS::MemArena::size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::MemArena::allocated_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::allocated_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: swoc::SWOC_VERSION_NS::MemArena::remaining
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: MemSpan<void>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    - MemSpan<void>
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: swoc::SWOC_VERSION_NS::MemArena::reserved_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::reserved_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: swoc::SWOC_VERSION_NS::MemArena::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: swoc::SWOC_VERSION_NS::MemArena::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - MemArena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::FixedArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::FixedArena(MemArena &arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: template make<T>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - template make<T>
    - T::T
    linkageType: ''
    returnType: T
    signature: 'T *

      FixedArena<T>::make(Args... args)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:819,1
    - Dst: reinterpret_cast<Item *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::destroy
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Item *>
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::clear
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: '&

      FixedArena<T>::arena()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      FixedArena<T>::arena()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:502,1
    - Dst: __has_include
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 539
    functionName: std::pmr::memory_resource
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - round_up
    - __has_include
    linkageType: ''
    returnType: class MemArena
    signature: class MemArena std::pmr::memory_resource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: MemArena::Block::Block(size_t n) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::Block(size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: '*

      MemArena::Block::data()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: '*

      MemArena::Block::data() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: '*

      MemArena::Block::allocated_data_end()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: '*

      MemArena::Block::allocated_data_end() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: MemArena::Block::contains(const void *ptr) const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::contains(const void *ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: MemArena::Block::remaining() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: MemArena::Block::is_full() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::is_full() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:642,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:643,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:644,1
    - Dst: MemArena::Block::remnant
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:647,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: MemArena::Block::alloc(size_t n, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - align_padding
    - MemSpan::remove_prefix
    - MemArena::Block::data
    - MemArena::Block::remnant
    - MemArena::Block::remaining
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: MemArena::Block::remnant()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: '&

      MemArena::Block::discard()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block &

      MemArena::Block::discard()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:668,1
    - Dst: static_cast<Block *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: std::bad_alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: '*

      MemArena::Block::operator new(size_t block_size, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::bad_alloc
    - static_cast<Block *>
    - RegexMatches::malloc
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new(size_t block_size, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block_size
    - place
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: '*

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: MemArena::Block::operator delete(void *ptr) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete(void *ptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - place
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: MemArena::Block::align_padding(void const *ptr, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::align_padding(void const *ptr, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::alloc_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::MemArena::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: T
    signature: 'T *

      MemArena::make(Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 2
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::localize
    - strlen
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:728,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 2
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize_c
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 3
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::MemArena::localize_c
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:739,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: Block::align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - auto::data
    - swoc::SWOC_VERSION_NS::MemArena::require
    - Block::align_padding
    - auto::remove_prefix
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::remnant_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: MemArena::remnant_span<void>(size_t n)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant_span<void>(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: swoc::SWOC_VERSION_NS::MemArena::size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::MemArena::allocated_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::allocated_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: swoc::SWOC_VERSION_NS::MemArena::remaining
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: MemSpan<void>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    - MemSpan<void>
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: swoc::SWOC_VERSION_NS::MemArena::reserved_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::reserved_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: swoc::SWOC_VERSION_NS::MemArena::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: swoc::SWOC_VERSION_NS::MemArena::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 9
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - MemArena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::FixedArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::FixedArena(MemArena &arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: template make<T>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - template make<T>
    - T::T
    linkageType: ''
    returnType: T
    signature: 'T *

      FixedArena<T>::make(Args... args)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:819,1
    - Dst: reinterpret_cast<Item *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::destroy
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Item *>
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::clear
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: '&

      FixedArena<T>::arena()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      FixedArena<T>::arena()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:502,1
    - Dst: __has_include
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 539
    functionName: std::pmr::memory_resource
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - round_up
    - __has_include
    linkageType: ''
    returnType: class MemArena
    signature: class MemArena std::pmr::memory_resource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena(self_type const &that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::next_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto MemArena::Block::Linkage::prev_ptr(Block *b) -> Block *&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: MemArena::Block::Block(size_t n) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::Block(size_t n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: '*

      MemArena::Block::data()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: '*

      MemArena::Block::data() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::data() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: '*

      MemArena::Block::allocated_data_end()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '*

        MemArena::Block::data'
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: '*

      MemArena::Block::allocated_data_end() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - '*

      MemArena::Block::data'
    linkageType: ''
    returnType: char
    signature: 'char *

      MemArena::Block::allocated_data_end() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: MemArena::Block::contains(const void *ptr) const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::data
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::contains(const void *ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: MemArena::Block::remaining() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: MemArena::Block::is_full() const
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    linkageType: ''
    returnType: bool
    signature: bool MemArena::Block::is_full() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:642,1
    - Dst: align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:643,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:644,1
    - Dst: MemArena::Block::remnant
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:647,1
    - Dst: MemSpan::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: MemArena::Block::alloc(size_t n, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - align_padding
    - MemSpan::remove_prefix
    - MemArena::Block::data
    - MemArena::Block::remnant
    - MemArena::Block::remaining
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::alloc(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::Block::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    - Dst: MemArena::Block::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: MemArena::Block::remnant()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::Block::remaining
    - MemArena::Block::data
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::Block::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: '&

      MemArena::Block::discard()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena::Block
    signature: 'MemArena::Block &

      MemArena::Block::discard()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:668,1
    - Dst: static_cast<Block *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: RegexMatches::malloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:672,1
    - Dst: std::bad_alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - block_size
    - n
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: '*

      MemArena::Block::operator new(size_t block_size, size_t n)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::bad_alloc
    - static_cast<Block *>
    - RegexMatches::malloc
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new(size_t block_size, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block_size
    - place
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: '*

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      MemArena::Block::operator new([[maybe_unused]] size_t block_size, void* place)
      noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: MemArena::Block::operator delete(void *ptr) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete(void *ptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::free
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - place
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - Arena::free
    linkageType: ''
    returnType: void
    signature: void MemArena::Block::operator delete([[maybe_unused]] void *ptr, void
      *place) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: MemArena::Block::align_padding(void const *ptr, size_t align)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::Block::align_padding(void const *ptr, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: swoc::SWOC_VERSION_NS::MemArena::MemArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemArena::MemArena(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: swoc::SWOC_VERSION_NS::MemArena::alloc_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::alloc_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: swoc::SWOC_VERSION_NS::MemArena::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T::T
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    linkageType: ''
    returnType: T
    signature: 'T *

      MemArena::make(Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:716,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:717,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 3
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::localize
    - strlen
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::alloc
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:726,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:727,1
    - Dst: MemSpan<char const>::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:728,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - MemSpan<char const>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 3
    functionsReached:
    - memcpy
    - MemSpan<char const>::size
    - auto::size
    - swoc::SWOC_VERSION_NS::MemArena::alloc
    - MemSpan<char const>::data
    - auto::data
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(MemSpan<char const> s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::localize_c
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: MemSpan<char const>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    - Dst: strlen
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: swoc::SWOC_VERSION_NS::MemArena::localize_c
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 4
    functionsReached:
    - strlen
    - swoc::SWOC_VERSION_NS::MemArena::localize_c
    - MemSpan<char const>
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> MemArena::localize_c(char const * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:739,1
    - Dst: auto::remove_prefix
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: Block::align_padding
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - auto::data
    - swoc::SWOC_VERSION_NS::MemArena::require
    - Block::align_padding
    - auto::remove_prefix
    linkageType: ''
    returnType: MemSpan<T>
    signature: MemSpan<T> MemArena::remnant_span(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: MemArena::remnant_span<void>(size_t n)
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant_span<void>(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::require
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::require
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant(size_t n, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: swoc::SWOC_VERSION_NS::MemArena::size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: swoc::SWOC_VERSION_NS::MemArena::allocated_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::allocated_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: swoc::SWOC_VERSION_NS::MemArena::remaining
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::remaining() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: MemSpan<void>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    - Dst: head
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: swoc::SWOC_VERSION_NS::MemArena::remnant
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - empty
    - head
    - MemSpan<void>
    linkageType: ''
    returnType: MemSpan<void>
    signature: MemSpan<void> MemArena::remnant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: swoc::SWOC_VERSION_NS::MemArena::reserved_size
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemArena::reserved_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: swoc::SWOC_VERSION_NS::MemArena::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 11
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: swoc::SWOC_VERSION_NS::MemArena::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 11
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::begin
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_begin() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::MemArena::end
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: swoc::SWOC_VERSION_NS::MemArena::frozen_end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::MemArena::end
    linkageType: ''
    returnType: auto
    signature: auto MemArena::frozen_end() const -> const_iterator
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - MemArena
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::FixedArena
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::FixedArena(MemArena &arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: T::T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:810,1
    - Dst: template make<T>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    - Dst: std::forward<Args>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::make
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - template make<T>
    - T::T
    linkageType: ''
    returnType: T
    signature: 'T *

      FixedArena<T>::make(Args... args)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:819,1
    - Dst: reinterpret_cast<Item *>
      Src: /src/trafficserver/lib/swoc/include/swoc/MemArena.h:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::destroy
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Item *>
    - T*::~T
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::destroy(T *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: swoc::SWOC_VERSION_NS::FixedArena<T>::clear
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArena<T>::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: '&

      FixedArena<T>::arena()'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/MemArena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MemArena
    signature: 'MemArena &

      FixedArena<T>::arena()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: "&\n  Get_Prop()"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Property
    signature: "Property &\n  Get_Prop()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: "&\n    operator()(BufferWriter &w, const Spec &spec) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - _names
    linkageType: ''
    returnType: BufferWriter
    signature: "BufferWriter &\n    operator()(BufferWriter &w, const Spec &spec)
      const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - ctx
    argTypes:
    - ContextNames
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames::Binding::Binding
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Binding(ContextNames const &names, context_type &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Align>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    - static_cast<Align>
    linkageType: ''
    returnType: Spec::Align
    signature: Spec::Align Spec::align_of(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_sign(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_upper_case_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_numeric_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_numeric_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_upper_case_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_pointer_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_pointer_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_valid_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_valid_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind(swoc::TextView fmt) -> TextViewExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind() const -> FormatExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: Format::TextViewExtractor::operator
    signature: Format::TextViewExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: Format::FormatExtractor::operator
    signature: Format::FormatExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: '&

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: '&

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::bind(context_type &ctx) -> Binding
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:565,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:567,1
    - Dst: Binding::err_invalid_name
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: '&

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - Binding::err_invalid_name
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<std::tuple<std::string_view, const Generator &>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap(std::initializer_list<std::tuple<std::string_view,
      const Generator &>> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::contains
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool NameMap<F>::contains(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_span
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:593,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - memcpy
    - auto::size
    - std::string_view::size
    - auto::data
    - std::string_view
    - alloc_span
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NameMap<F>::localize(std::string_view const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - generator
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    linkageType: ''
    returnType: auto
    signature: auto NameMap<F>::assign(std::string_view const &name, Generator const
      &generator) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:606,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:608,1
    - Dst: '&

        ExternalNames::err_invalid_name'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: '&

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - '&

      ExternalNames::err_invalid_name'
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: '&

      ExternalNames::bind() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NameBinding
    signature: 'NameBinding &

      ExternalNames::bind() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    - Dst: bg
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - bg
    argTypes:
    - std::string_view
    - ExternalGenerator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    - bg
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, ExternalGenerator
      const &bg) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - g
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, Generator
      const &g) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    - Dst: std::get<I>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - args
    argTypes:
    - BufferWriter
    - Spec
    - TUPLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: swoc::SWOC_VERSION_NS::bwf::Arg_Formatter
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwformat
    - std::get<I>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Arg_Formatter(BufferWriter &w, Spec const &spec, TUPLE const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwf::Get_Arg_Formatter_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgFormatterSignature<TUPLE>
    signature: 'ArgFormatterSignature<TUPLE> *

      Get_Arg_Formatter_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    - Dst: std::get<IDX>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: swoc::SWOC_VERSION_NS::bwf::TupleAccessor
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::get<IDX>
    - std::any
    linkageType: ''
    returnType: std::any
    signature: std::any TupleAccessor(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<TupleAccessorSignature<T>, sizeof...(N)>
    signature: 'std::array<TupleAccessorSignature<T>, sizeof...(N)> &

      Tuple_Accessor_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - idx
    argTypes:
    - T
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Nth
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: std::any
    signature: std::any Tuple_Nth(T const &t, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: auto
    signature: auto arg_capture(F &&, BufferWriter &, Spec const &, std::any &&, swoc::meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:756,1
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - f
    - w
    - spec
    - value
    argTypes:
    - F
    - BufferWriter
    - Spec
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - F::capture
    linkageType: ''
    returnType: auto
    signature: "auto arg_capture(F &&f, BufferWriter &w, Spec const &spec, std::any
      &&value, swoc::meta::CaseTag<1>)\n  -> decltype(f.capture(w, spec, value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: swoc::SWOC_VERSION_NS::bwf::SPEC
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto SPEC
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: ~ArgPack()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArgPack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple::ArgTuple
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgTuple(std::tuple<Args...> const &tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::count
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ArgTuple<Args...>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - idx
    argTypes:
    - BufferWriter
    - Spec
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: '&

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tuple_Nth
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Tuple_Nth
    linkageType: ''
    returnType: std::any
    signature: std::any ArgTuple<Args...>::capture(unsigned idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: "&\n  Get_Prop()"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Property
    signature: "Property &\n  Get_Prop()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: "&\n    operator()(BufferWriter &w, const Spec &spec) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - _names
    linkageType: ''
    returnType: BufferWriter
    signature: "BufferWriter &\n    operator()(BufferWriter &w, const Spec &spec)
      const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - ctx
    argTypes:
    - ContextNames
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames::Binding::Binding
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Binding(ContextNames const &names, context_type &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Align>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    - static_cast<Align>
    linkageType: ''
    returnType: Spec::Align
    signature: Spec::Align Spec::align_of(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_sign(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_upper_case_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_numeric_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_numeric_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_upper_case_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_pointer_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_pointer_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_valid_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_valid_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind(swoc::TextView fmt) -> TextViewExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind() const -> FormatExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: Format::TextViewExtractor::operator
    signature: Format::TextViewExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: Format::FormatExtractor::operator
    signature: Format::FormatExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: '&

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: '&

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::bind(context_type &ctx) -> Binding
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:565,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:567,1
    - Dst: Binding::err_invalid_name
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: '&

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - Binding::err_invalid_name
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<std::tuple<std::string_view, const Generator &>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap(std::initializer_list<std::tuple<std::string_view,
      const Generator &>> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::contains
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool NameMap<F>::contains(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_span
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:593,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - memcpy
    - auto::size
    - std::string_view::size
    - auto::data
    - std::string_view
    - alloc_span
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NameMap<F>::localize(std::string_view const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - generator
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 2
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    linkageType: ''
    returnType: auto
    signature: auto NameMap<F>::assign(std::string_view const &name, Generator const
      &generator) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:606,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:608,1
    - Dst: '&

        ExternalNames::err_invalid_name'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: '&

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - '&

      ExternalNames::err_invalid_name'
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: '&

      ExternalNames::bind() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NameBinding
    signature: 'NameBinding &

      ExternalNames::bind() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    - Dst: bg
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - bg
    argTypes:
    - std::string_view
    - ExternalGenerator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    - bg
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, ExternalGenerator
      const &bg) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - g
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, Generator
      const &g) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    - Dst: std::get<I>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - args
    argTypes:
    - BufferWriter
    - Spec
    - TUPLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: swoc::SWOC_VERSION_NS::bwf::Arg_Formatter
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwformat
    - std::get<I>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Arg_Formatter(BufferWriter &w, Spec const &spec, TUPLE const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwf::Get_Arg_Formatter_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgFormatterSignature<TUPLE>
    signature: 'ArgFormatterSignature<TUPLE> *

      Get_Arg_Formatter_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    - Dst: std::get<IDX>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: swoc::SWOC_VERSION_NS::bwf::TupleAccessor
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::get<IDX>
    - std::any
    linkageType: ''
    returnType: std::any
    signature: std::any TupleAccessor(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<TupleAccessorSignature<T>, sizeof...(N)>
    signature: 'std::array<TupleAccessorSignature<T>, sizeof...(N)> &

      Tuple_Accessor_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - idx
    argTypes:
    - T
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Nth
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: std::any
    signature: std::any Tuple_Nth(T const &t, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: auto
    signature: auto arg_capture(F &&, BufferWriter &, Spec const &, std::any &&, swoc::meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:756,1
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - f
    - w
    - spec
    - value
    argTypes:
    - F
    - BufferWriter
    - Spec
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - F::capture
    linkageType: ''
    returnType: auto
    signature: "auto arg_capture(F &&f, BufferWriter &w, Spec const &spec, std::any
      &&value, swoc::meta::CaseTag<1>)\n  -> decltype(f.capture(w, spec, value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: swoc::SWOC_VERSION_NS::bwf::SPEC
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto SPEC
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: ~ArgPack()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArgPack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple::ArgTuple
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgTuple(std::tuple<Args...> const &tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::count
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ArgTuple<Args...>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - idx
    argTypes:
    - BufferWriter
    - Spec
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: '&

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tuple_Nth
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Tuple_Nth
    linkageType: ''
    returnType: std::any
    signature: std::any ArgTuple<Args...>::capture(unsigned idx) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bwf::extractor_spec_type
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:871,1
    - Dst: bwf::ArgPack::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:872,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:879,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:882,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::write'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:883,1
    - Dst: spec_type::_name::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:887,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::remaining'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:892,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::aux_data'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:897,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::arg_capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:902,1
    - Dst: bwf::ArgPack::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:902,1
    - Dst: bwf::ArgPack::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:904,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:907,1
    - Dst: spec_type::_name::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:909,1
    - Dst: names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:910,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:912,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:913,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::commit'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:914,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:914,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - names
    - ex
    - args
    argTypes:
    - Binding
    - Extractor
    - bwf::ArgPack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 923
    functionName: '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::ArgPack const
      &args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    - bwf::ArgPack::capture
    - '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::commit'
    - spec_type::_name::size
    - swoc::SWOC_VERSION_NS::bwf::arg_capture
    - FixedBufferWriter::extent
    - '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::aux_data'
    - names
    - swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
    - bwf::extractor_spec_type
    - ex
    - std::string_view::size
    - bwf::ArgPack::count
    - '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::remaining'
    - '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::write'
    - bwf::ArgPack::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::ArgPack const
      &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        BufferWriter::print_nfv'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:928,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:928,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:928,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: '&

      BufferWriter::print(const TextView &fmt, Args &&...args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - std::forward_as_tuple
    - '&

      BufferWriter::print_nfv'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print(const TextView &fmt, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        BufferWriter::print(bwf::print_nfv'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:934,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:934,1
    - Dst: bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:934,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - bwf::Format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 935
    functionName: '&

      BufferWriter::print(bwf::Format const &fmt, Args &&...args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    - std::forward_as_tuple
    - bwf::Format::bind
    - '&

      BufferWriter::print(bwf::print_nfv'
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print(bwf::Format const &fmt, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        BufferWriter::print_v(TextView const &fmt, std::print_nfv'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:940,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:940,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - args
    argTypes:
    - TextView
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: '&

      BufferWriter::print_v(TextView const &fmt, std::tuple<Args...> const &args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    - '&

      BufferWriter::print_v(TextView const &fmt, std::print_nfv'
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print_v(TextView const &fmt, std::tuple<Args...> const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: '&

        BufferWriter::print_v(const bwf::Format &fmt, const std::print_nfv'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:946,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Global_Names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:946,1
    - Dst: bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - args
    argTypes:
    - bwf::Format
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 947
    functionName: '&

      BufferWriter::print_v(const bwf::Format &fmt, const std::tuple<Args...> &args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Global_Names
    - '&

      BufferWriter::print_v(const bwf::Format &fmt, const std::print_nfv'
    - bwf::Format::bind
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print_v(const bwf::Format &fmt, const std::tuple<Args...> &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_nfv
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:952,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - names
    - f
    argTypes:
    - Binding
    - Extractor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: '&

      BufferWriter::print_nfv(Binding const &names, Extractor &&f)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - print_nfv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print_nfv(Binding const &names, Extractor &&f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_nfv
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:958,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format::bind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:958,1
    - Dst: std::make_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - names
    - fmt
    argTypes:
    - Binding
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: '&

      BufferWriter::print_n(Binding const &names, TextView const &fmt)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format::bind
    - std::make_tuple
    - print_nfv
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      BufferWriter::print_n(Binding const &names, TextView const &fmt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::BufferWriter::aux_data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:963,1
    - Dst: swoc::SWOC_VERSION_NS::BufferWriter::remaining
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: swoc::SWOC_VERSION_NS::BufferWriter::aux_span
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::BufferWriter::aux_data
    - swoc::SWOC_VERSION_NS::BufferWriter::remaining
    linkageType: ''
    returnType: MemSpan<char>
    signature: MemSpan<char> BufferWriter::aux_span()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1017,1
    - Dst: MemSpan<void>::rebind
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<void>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 101
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - MemSpan<void>::rebind
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<void> const &span)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1029,1
    - Dst: MemSpan<T>::template rebind<void const>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - w
    - spec
    - span
    argTypes:
    - BufferWriter
    - bwf::Spec
    - MemSpan<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1030
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 102
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - MemSpan<T>::template rebind<void const>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, MemSpan<T> const &span)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1035,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - (a)
    argTypes:
    - BufferWriter
    - bwf::Spec
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 103
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const char (&a)[N])'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1041,1
    - Dst: static_cast<void *>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - bwf::Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 104
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - static_cast<void *>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::nullptr_t)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1048,1
    - Dst: static_cast<const void *>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1048,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1050,1
    - Dst: swoc::SWOC_VERSION_NS::std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1050,1
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - v
    argTypes:
    - BufferWriter
    - bwf::Spec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1055
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 105
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - static_cast<const void *>
    - swoc::SWOC_VERSION_NS::std::string_view
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, const char *v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - s
    argTypes:
    - BufferWriter
    - bwf::Spec
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 106
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, std::string const &s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1065,1
    - Dst: static_cast<std::string_view>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - tv
    argTypes:
    - BufferWriter
    - bwf::Spec
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwformat
    - static_cast<std::string_view>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, TextView tv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - w
    - view
    argTypes:
    - BufferWriter
    - TransformView<X, V>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1074
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, TransformView<X, V> &&view)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Float
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1080,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Float
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - f
    argTypes:
    - BufferWriter
    - bwf::Spec
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Float
    linkageType: ''
    returnType: auto
    signature: "auto bwformat(BufferWriter &w, bwf::Spec const &spec, F &&f) ->\n
      \ typename std::enable_if<std::is_floating_point_v<typename std::remove_reference_t<F>>,
      BufferWriter &>::type"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - i
    argTypes:
    - BufferWriter
    - bwf::Spec
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1102
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    linkageType: ''
    returnType: auto
    signature: "auto bwformat(BufferWriter &w, bwf::Spec const &spec, I &&i) ->\n
      \ typename std::enable_if<std::is_unsigned<typename std::remove_reference<I>::type>::value
      &&\n                            std::is_integral<typename std::remove_reference<I>::type>::value,\n
      \                         BufferWriter &>::type"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1111,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1113,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - w
    - spec
    - i
    argTypes:
    - BufferWriter
    - bwf::Spec
    - I
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1117
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - static_cast<uintmax_t>
    linkageType: ''
    returnType: auto
    signature: "auto bwformat(BufferWriter &w, bwf::Spec const &spec, I &&i) ->\n
      \ typename std::enable_if<std::is_signed<typename std::remove_reference<I>::type>::value
      &&\n                            std::is_integral<typename std::remove_reference<I>::type>::value,\n
      \                         BufferWriter &>::type"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - BufferWriter
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - BufferWriter::write
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &, char c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1128,1
    - Dst: BufferWriter::write
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1130,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Format_Integer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1132,1
    - Dst: static_cast<uintmax_t>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - f
    argTypes:
    - BufferWriter
    - bwf::Spec
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1135
    functionName: swoc::SWOC_VERSION_NS::bwformat
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 107
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Format_Integer
    - BufferWriter::write
    - static_cast<uintmax_t>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      bwformat(BufferWriter &w, bwf::Spec const &spec, bool f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1157,1
    - Dst: FixedBufferWriter
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1158,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1158,1
    - Dst: std::string::capacity
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1158,1
    - Dst: printer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1159,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1160,1
    - Dst: printer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - fmt
    - args
    argTypes:
    - std::string
    - TextView
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: swoc::SWOC_VERSION_NS::bwprint_v
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached:
    - std::string::size
    - std::string::data
    - std::string::resize
    - printer
    - FixedBufferWriter
    - std::string::capacity
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      bwprint_v(std::string &s, TextView fmt, std::tuple<Args...> const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwprint_v
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1186,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - std::string
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1187
    functionName: swoc::SWOC_VERSION_NS::bwprint
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 72
    functionsReached:
    - std::forward_as_tuple
    - swoc::SWOC_VERSION_NS::bwprint_v
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      bwprint(std::string &s, TextView fmt, Args &&...args)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1204,1
    - Dst: std::string::capacity
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1205,1
    - Dst: FixedBufferWriter
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1206,1
    - Dst: std::string::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1206,1
    - Dst: std::string::capacity
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1206,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1208,1
    - Dst: printer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1209,1
    - Dst: std::string::resize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1210,1
    - Dst: printer
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - std::string
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1215
    functionName: swoc::SWOC_VERSION_NS::bwappend
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::string::data
    - std::string::resize
    - printer
    - FixedBufferWriter
    - std::string::capacity
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      bwappend(std::string &s, TextView fmt, Args &&...args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<self_type &>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1221,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1221,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1222
    functionName: swoc::SWOC_VERSION_NS::FixedBufferWriter::print
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
    - static_cast<self_type &>
    - std::forward_as_tuple
    linkageType: ''
    returnType: auto
    signature: auto FixedBufferWriter::print(TextView fmt, Args &&...args) -> self_type
      &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<self_type &>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1227,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - args
    argTypes:
    - TextView
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: swoc::SWOC_VERSION_NS::FixedBufferWriter::print_v
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
    - static_cast<self_type &>
    linkageType: ''
    returnType: auto
    signature: auto FixedBufferWriter::print_v(TextView fmt, std::tuple<Args...> const
      &args) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<self_type &>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1233,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1233,1
    - Dst: std::forward_as_tuple
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - bwf::Format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: swoc::SWOC_VERSION_NS::FixedBufferWriter::print
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
    - static_cast<self_type &>
    - std::forward_as_tuple
    linkageType: ''
    returnType: auto
    signature: auto FixedBufferWriter::print(bwf::Format const &fmt, Args &&...args)
      -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<self_type &>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1239,1
    - Dst: swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - args
    argTypes:
    - bwf::Format
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1240
    functionName: swoc::SWOC_VERSION_NS::FixedBufferWriter::print_v
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::FixedBufferWriter::super_type::print_v
    - static_cast<self_type &>
    linkageType: ''
    returnType: auto
    signature: auto FixedBufferWriter::print_v(bwf::Format const &fmt, std::tuple<Args...>
      const &args) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1250
    functionName: swoc::SWOC_VERSION_NS::detail::tag_label
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto tag_label(BufferWriter &, const bwf::Spec &, meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1250
    functionName: swoc::SWOC_VERSION_NS::detail::tag_label
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto tag_label(BufferWriter &, const bwf::Spec &, meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: "&\n  Get_Prop()"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Property
    signature: "Property &\n  Get_Prop()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 5
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 6
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: "&\n    operator()(BufferWriter &w, const Spec &spec) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - _names
    linkageType: ''
    returnType: BufferWriter
    signature: "BufferWriter &\n    operator()(BufferWriter &w, const Spec &spec)
      const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - ctx
    argTypes:
    - ContextNames
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames::Binding::Binding
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Binding(ContextNames const &names, context_type &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Align>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    - static_cast<Align>
    linkageType: ''
    returnType: Spec::Align
    signature: Spec::Align Spec::align_of(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_sign(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_upper_case_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_numeric_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_numeric_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_upper_case_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_pointer_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_pointer_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_valid_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_valid_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind(swoc::TextView fmt) -> TextViewExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind() const -> FormatExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: Format::TextViewExtractor::operator
    signature: Format::TextViewExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: Format::FormatExtractor::operator
    signature: Format::FormatExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: '&

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: '&

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::bind(context_type &ctx) -> Binding
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:565,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:567,1
    - Dst: Binding::err_invalid_name
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: '&

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - Binding::err_invalid_name
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<std::tuple<std::string_view, const Generator &>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap(std::initializer_list<std::tuple<std::string_view,
      const Generator &>> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::contains
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool NameMap<F>::contains(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_span
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:593,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 2
    functionsReached:
    - memcpy
    - auto::size
    - std::string_view::size
    - auto::data
    - std::string_view
    - alloc_span
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NameMap<F>::localize(std::string_view const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - generator
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    linkageType: ''
    returnType: auto
    signature: auto NameMap<F>::assign(std::string_view const &name, Generator const
      &generator) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:606,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:608,1
    - Dst: '&

        ExternalNames::err_invalid_name'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: '&

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - '&

      ExternalNames::err_invalid_name'
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: '&

      ExternalNames::bind() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NameBinding
    signature: 'NameBinding &

      ExternalNames::bind() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    - Dst: bg
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - bg
    argTypes:
    - std::string_view
    - ExternalGenerator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    - bg
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, ExternalGenerator
      const &bg) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - g
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, Generator
      const &g) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    - Dst: std::get<I>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - args
    argTypes:
    - BufferWriter
    - Spec
    - TUPLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: swoc::SWOC_VERSION_NS::bwf::Arg_Formatter
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwformat
    - std::get<I>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Arg_Formatter(BufferWriter &w, Spec const &spec, TUPLE const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwf::Get_Arg_Formatter_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgFormatterSignature<TUPLE>
    signature: 'ArgFormatterSignature<TUPLE> *

      Get_Arg_Formatter_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    - Dst: std::get<IDX>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: swoc::SWOC_VERSION_NS::bwf::TupleAccessor
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::get<IDX>
    - std::any
    linkageType: ''
    returnType: std::any
    signature: std::any TupleAccessor(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::array<TupleAccessorSignature<T>, sizeof...(N)>
    signature: 'std::array<TupleAccessorSignature<T>, sizeof...(N)> &

      Tuple_Accessor_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - idx
    argTypes:
    - T
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Nth
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: std::any
    signature: std::any Tuple_Nth(T const &t, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: auto
    signature: auto arg_capture(F &&, BufferWriter &, Spec const &, std::any &&, swoc::meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:756,1
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - f
    - w
    - spec
    - value
    argTypes:
    - F
    - BufferWriter
    - Spec
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - F::capture
    linkageType: ''
    returnType: auto
    signature: "auto arg_capture(F &&f, BufferWriter &w, Spec const &spec, std::any
      &&value, swoc::meta::CaseTag<1>)\n  -> decltype(f.capture(w, spec, value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: swoc::SWOC_VERSION_NS::bwf::SPEC
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto SPEC
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: ~ArgPack()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArgPack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple::ArgTuple
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgTuple(std::tuple<Args...> const &tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::count
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ArgTuple<Args...>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - idx
    argTypes:
    - BufferWriter
    - Spec
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: '&

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tuple_Nth
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Tuple_Nth
    linkageType: ''
    returnType: std::any
    signature: std::any ArgTuple<Args...>::capture(unsigned idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: "&\n  Get_Prop()"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Property
    signature: "Property &\n  Get_Prop()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - that
    argTypes:
    - self_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type &&that)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: swoc::SWOC_VERSION_NS::bwf::Format
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Format(self_type const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 7
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::begin
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: swoc::SWOC_VERSION_NS::bwf::begin
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: swoc::SWOC_VERSION_NS::bwf::end
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: "&\n    operator()(BufferWriter &w, const Spec &spec) const override"
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - _names
    linkageType: ''
    returnType: BufferWriter
    signature: "BufferWriter &\n    operator()(BufferWriter &w, const Spec &spec)
      const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - ctx
    argTypes:
    - ContextNames
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames::Binding::Binding
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Binding(ContextNames const &names, context_type &ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Align>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::align_of
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    - static_cast<Align>
    linkageType: ''
    returnType: Spec::Align
    signature: Spec::Align Spec::align_of(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_sign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_sign(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 8
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_upper_case_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::is_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::is_numeric_type(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_numeric_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_numeric_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get_Prop
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    - Dst: static_cast<unsigned>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_upper_case_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Get_Prop
    - static_cast<unsigned>
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_upper_case_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_pointer_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_pointer_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: swoc::SWOC_VERSION_NS::bwf::Spec::has_valid_type
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Spec::has_valid_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - swoc::TextView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind(swoc::TextView fmt) -> TextViewExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: swoc::SWOC_VERSION_NS::bwf::Format::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto Format::bind() const -> FormatExtractor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: Format::TextViewExtractor::operator
    signature: Format::TextViewExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    - Dst: size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: swoc::SWOC_VERSION_NS::bwf::bool
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: Format::FormatExtractor::operator
    signature: Format::FormatExtractor::operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferWriter::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: '&

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - BufferWriter::print
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NameBinding::err_invalid_name(BufferWriter &w, const Spec &spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: '&

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      NilBinding::operator()(BufferWriter &, bwf::Spec const &) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::bind
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::bind(context_type &ctx) -> Binding
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:565,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:566,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:567,1
    - Dst: Binding::err_invalid_name
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - w
    - spec
    - ctx
    argTypes:
    - BufferWriter
    - Spec
    - context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: '&

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - Binding::err_invalid_name
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ContextNames<T>::operator()(BufferWriter &w, const Spec &spec, context_type
      &ctx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::initializer_list<std::tuple<std::string_view, const Generator &>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::NameMap
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    linkageType: ''
    returnType: void
    signature: void NameMap<F>::NameMap(std::initializer_list<std::tuple<std::string_view,
      const Generator &>> list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::contains
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool NameMap<F>::contains(std::string_view name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_span
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:592,1
    - Dst: memcpy
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:593,1
    - Dst: std::string_view
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::data
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    - Dst: auto::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached:
    - memcpy
    - auto::size
    - std::string_view::size
    - auto::data
    - std::string_view
    - alloc_span
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view NameMap<F>::localize(std::string_view const &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - generator
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: swoc::SWOC_VERSION_NS::bwf::NameMap<F>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 4
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::NameMap<F>::localize
    linkageType: ''
    returnType: auto
    signature: auto NameMap<F>::assign(std::string_view const &name, Generator const
      &generator) -> self_type &
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Spec::_name::empty
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:606,1
    - Dst: find
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: end
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:607,1
    - Dst: auto::second
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:608,1
    - Dst: '&

        ExternalNames::err_invalid_name'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - spec
    argTypes:
    - BufferWriter
    - Spec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: '&

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - find
    - auto::second
    - end
    - '&

      ExternalNames::err_invalid_name'
    - Spec::_name::empty
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ExternalNames::operator()(BufferWriter &w, const Spec &spec) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: '&

      ExternalNames::bind() const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NameBinding
    signature: 'NameBinding &

      ExternalNames::bind() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    - Dst: bg
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - bg
    argTypes:
    - std::string_view
    - ExternalGenerator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    - bg
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, ExternalGenerator
      const &bg) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HostDBInfo::assign
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - g
    argTypes:
    - std::string_view
    - Generator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: swoc::SWOC_VERSION_NS::bwf::ContextNames<T>::assign
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - HostDBInfo::assign
    linkageType: ''
    returnType: auto
    signature: auto ContextNames<T>::assign(std::string_view const &name, Generator
      const &g) -> self_type &
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwformat
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    - Dst: std::get<I>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - args
    argTypes:
    - BufferWriter
    - Spec
    - TUPLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: swoc::SWOC_VERSION_NS::bwf::Arg_Formatter
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwformat
    - std::get<I>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      Arg_Formatter(BufferWriter &w, Spec const &spec, TUPLE const &args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: swoc::SWOC_VERSION_NS::bwf::Get_Arg_Formatter_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ArgFormatterSignature<TUPLE>
    signature: 'ArgFormatterSignature<TUPLE> *

      Get_Arg_Formatter_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    - Dst: std::get<IDX>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: swoc::SWOC_VERSION_NS::bwf::TupleAccessor
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - std::get<IDX>
    - std::any
    linkageType: ''
    returnType: std::any
    signature: std::any TupleAccessor(T const &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::array<TupleAccessorSignature<T>, sizeof...(N)>
    signature: 'std::array<TupleAccessorSignature<T>, sizeof...(N)> &

      Tuple_Accessor_Array(std::index_sequence<N...>)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    - Dst: std::make_index_sequence<std::tuple_size<T>::value>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - idx
    argTypes:
    - T
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: swoc::SWOC_VERSION_NS::bwf::Tuple_Nth
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Tuple_Accessor_Array
    - std::make_index_sequence<std::tuple_size<T>::value>
    linkageType: ''
    returnType: std::any
    signature: std::any Tuple_Nth(T const &t, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: auto
    signature: auto arg_capture(F &&, BufferWriter &, Spec const &, std::any &&, swoc::meta::CaseTag<0>)
      -> void
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:756,1
    - Dst: F::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - f
    - w
    - spec
    - value
    argTypes:
    - F
    - BufferWriter
    - Spec
    - std::any
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: swoc::SWOC_VERSION_NS::bwf::arg_capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 1
    functionsReached:
    - F::capture
    linkageType: ''
    returnType: auto
    signature: "auto arg_capture(F &&f, BufferWriter &w, Spec const &spec, std::any
      &&value, swoc::meta::CaseTag<1>)\n  -> decltype(f.capture(w, spec, value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: swoc::SWOC_VERSION_NS::bwf::SPEC
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto SPEC
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: ~ArgPack()
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArgPack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple::ArgTuple
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArgTuple(std::tuple<Args...> const &tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::count
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ArgTuple<Args...>::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - spec
    - idx
    argTypes:
    - BufferWriter
    - Spec
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: '&

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - bwf::Get_Arg_Formatter_Array<std::tuple<Args...>>
    linkageType: ''
    returnType: BufferWriter
    signature: 'BufferWriter &

      ArgTuple<Args...>::print(BufferWriter &w, Spec const &spec, unsigned idx) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tuple_Nth
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: swoc::SWOC_VERSION_NS::bwf::ArgTuple<Args...>::capture
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - Tuple_Nth
    linkageType: ''
    returnType: std::any
    signature: std::any ArgTuple<Args...>::capture(unsigned idx) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bwf::extractor_spec_type
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:871,1
    - Dst: bwf::ArgPack::count
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:872,1
    - Dst: ex
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:879,1
    - Dst: std::string_view::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:882,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::write'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:883,1
    - Dst: spec_type::_name::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:887,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::remaining'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:892,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::aux_data'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:897,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::arg_capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:902,1
    - Dst: bwf::ArgPack::capture
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:902,1
    - Dst: bwf::ArgPack::print
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:904,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:907,1
    - Dst: spec_type::_name::size
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:909,1
    - Dst: names
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:910,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:912,1
    - Dst: swoc::SWOC_VERSION_NS::bwf::Adjust_Alignment
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:913,1
    - Dst: '&

        BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::commit'
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:914,1
    - Dst: FixedBufferWriter::extent
      Src: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h:914,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - names
    - ex
    - args
    argTypes:
    - Binding
    - Extractor
    - bwf::ArgPack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 923
    functionName: '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::ArgPack const
      &args)'
    functionSourceFile: /src/trafficserver/lib/swoc/include/swoc/bwf_base.h
    functionUses: 0
    functionsReached:
    - swoc::SWOC_VERSION_NS::bwf::Err_Bad_Arg_Index
    - bwf::ArgPack::capture
    - '&

      BufferWriter::print_nfv(Binding &&names, Extractor &&ex, bwf::commit'
    - spec_type::_name::size
    - swoc::SWOC_VERSION_NS::bwf::arg_capture
    - FixedBufferWriter::extent
    - '&

      BufferWriter::print_nfv(Binding &&names, E